3 * Copyright 2016 RIFT.IO Inc
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
20 import React
from 'react'
21 import PureRenderMixin
from 'react-addons-pure-render-mixin'
22 import EditDescriptorModelProperties
from './EditDescriptorModelProperties'
23 import {SkyquakeRBAC
, isRBACValid
} from 'widgets/skyquake_rbac/skyquakeRBAC.jsx';
24 import ROLES
from 'utils/roleConstants.js';
25 const PROJECT_ROLES
= ROLES
.PROJECT
;
26 const PLATFORM
= ROLES
.PLATFORM
;
28 const CatalogItemDetailsEditor
= React
.createClass({
29 mixins
: [PureRenderMixin
],
40 router
: React
.PropTypes
.object
,
41 userProfile
: React
.PropTypes
.object
43 componentWillMount() {
47 componentDidUpdate() {
49 componentWillUnmount() {
52 const User
= this.context
.userProfile
;
54 const container
= this.props
.container
|| {model
: {}, uiState
: {}};
55 if (!(container
&& container
.model
&& container
.uiState
)) {
60 <div className
="CatalogItemDetailsEditor">
61 <form name
="details-descriptor-editor-form">
62 <div className
="properties-group">
64 isRBACValid(User
, [PROJECT_ROLES
.CAT_ADMIN
]) ?
65 <EditDescriptorModelProperties container
={this.props
.container
} width
={this.props
.width
} />
66 : <EditDescriptorModelProperties container
={this.props
.container
} width
={this.props
.width
} readonly
={true} />
75 export default CatalogItemDetailsEditor
;