| /*! |
| * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express |
| * or implied. See the License for the specific language governing |
| * permissions and limitations under the License. |
| */ |
| |
| import React from 'react'; |
| import i18n from 'nfvo-utils/i18n/i18n.js'; |
| import SVGIcon from 'sdc-ui/lib/react/SVGIcon.js'; |
| |
| const Contributor = ({name, role, id, userInfo}) => { |
| |
| const selected = id === userInfo.userId ? 'selected' : ''; |
| |
| return( |
| <div className='contributor'> |
| <div className='contributor-content'> |
| <div className={`contributor-icon-circle ${selected}`}> |
| <div className={`contributer-icon ${selected}`}> |
| <SVGIcon name='user'/> |
| </div> |
| </div> |
| <div className='contributer-info'> |
| <div className='contributer-name'>{name}</div> |
| <div className='contributer-role'><p>{role}</p></div> |
| </div> |
| </div> |
| </div> |
| ); |
| }; |
| |
| const Permissions = ({permissions: {owner, contributors}, onManagePermissions, userInfo, onClosePermissions}) => { |
| |
| return ( |
| <div className='permissions-overlay'> |
| <div className='permissions-overlay-header'> |
| <h4 className='permissions-overlay-header-title'>{i18n('PERMISSIONS')}</h4> |
| </div> |
| <div className='permissions-overlay-content'> |
| <Contributor userInfo={userInfo} id={owner.userId} key={owner.fullName} name={owner.fullName} role={owner.role}/> |
| {contributors.map(item => item.userId !== owner.userId && <Contributor userInfo={userInfo} id={item.userId} key={item.fullName} name={item.fullName} role={item.role}/>)} |
| </div> |
| <div className='permissions-overlay-footer'> |
| { |
| owner.userId === userInfo.userId && |
| <div onClick={() => { onClosePermissions(); onManagePermissions(); }} className='manage-permissions-btn'> |
| {i18n('Manage Permissions')} |
| </div> |
| } |
| </div> |
| </div> |
| ); |
| }; |
| |
| export default Permissions; |