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 '../styles/CatalogItemDetailsEditor.scss'
24 import {SkyquakeRBAC
, isRBACValid
} from 'widgets/skyquake_rbac/skyquakeRBAC.jsx';
25 import ROLES
from 'utils/roleConstants.js';
26 const PROJECT_ROLES
= ROLES
.PROJECT
;
27 const PLATFORM
= ROLES
.PLATFORM
;
29 const CatalogItemDetailsEditor
= React
.createClass({
30 mixins
: [PureRenderMixin
],
41 router
: React
.PropTypes
.object
,
42 userProfile
: React
.PropTypes
.object
44 componentWillMount() {
48 componentDidUpdate() {
50 componentWillUnmount() {
53 const User
= this.context
.userProfile
;
55 const container
= this.props
.container
|| { model
: {}, uiState
: {} };
56 if (!(container
&& container
.model
&& container
.uiState
)) {
59 const height
= this.props
.height
;
60 const style
= height
> 0 ? { height
: height
+ 'px' } : {};
62 <div className
="CatalogItemDetailsEditor" style
={style
}>
63 <form name
="details-descriptor-editor-form">
64 <div className
="properties-group">
66 isRBACValid(User
, [PROJECT_ROLES
.PROJECT_ADMIN
, PROJECT_ROLES
.CATALOG_ADMIN
]) ?
67 <EditDescriptorModelProperties
68 container
={this.props
.container
}
69 idMaker
={this.props
.idMaker
}
70 showHelp
={this.props
.showHelp
}
71 collapsePanelsByDefault
={this.props
.collapsePanelsByDefault
}
72 openPanelsWithData
={this.props
.openPanelsWithData
}
73 width
={this.props
.width
} />
74 :<EditDescriptorModelProperties
75 container
={this.props
.container
}
76 idMaker
={this.props
.idMaker
}
77 showHelp
={this.props
.showHelp
}
78 collapsePanelsByDefault
={this.props
.collapsePanelsByDefault
}
79 openPanelsWithData
={this.props
.openPanelsWithData
}
80 width
={this.props
.width
}
90 export default CatalogItemDetailsEditor
;