projects
/
osm
/
UI.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update from RIFT as of 696b75d2fe9fb046261b08c616f1bcf6c0b54a9b third try
[osm/UI.git]
/
skyquake
/
plugins
/
launchpad
/
src
/
recordViewer
/
recordCard.jsx
diff --git
a/skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx
b/skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx
index
7051aeb
..
06110f7
100644
(file)
--- a/
skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx
+++ b/
skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx
@@
-32,12
+32,17
@@
import PlacementGroupsInfo from './placementGroupsInfo.jsx';
import JobListCard from '../launchpad_card/jobListCard.jsx';
import NSVirtualLinks from '../virtual_links/nsVirtualLinks.jsx';
import LaunchpadFleetStore from '../launchpadFleetStore.js';
import JobListCard from '../launchpad_card/jobListCard.jsx';
import NSVirtualLinks from '../virtual_links/nsVirtualLinks.jsx';
import LaunchpadFleetStore from '../launchpadFleetStore.js';
-
+import _forEach from 'lodash/forEach';
import Prism from 'prismjs';
import 'prismjs/themes/prism.css';
import Prism from 'prismjs';
import 'prismjs/themes/prism.css';
+import SkyquakeComponent from 'widgets/skyquake_container/skyquakeComponent.jsx';
+
+import {SkyquakeRBAC, isRBACValid} from 'widgets/skyquake_rbac/skyquakeRBAC.jsx';
+import ROLES from 'utils/roleConstants.js';
+const PROJECT_ROLES = ROLES.PROJECT;
-
export default
class RecordCard extends React.Component {
+class RecordCard extends React.Component {
constructor(props) {
super(props)
}
constructor(props) {
super(props)
}
@@
-77,6
+82,8
@@
export default class RecordCard extends React.Component {
let notice = null;
let notice = null;
+ let hasAccess = isRBACValid(this.context.userProfile, [PROJECT_ROLES.LCM_ADMIN, PROJECT_ROLES.PROJECT_ADMIN]);
+
switch(this.props.type) {
case 'vnfr' :
cardData = this.props.data[0];
switch(this.props.type) {
case 'vnfr' :
cardData = this.props.data[0];
@@
-86,7
+93,7
@@
export default class RecordCard extends React.Component {
if (displayConfigPrimitives) {
configPrimitiveComponent = (
<div className="flex vnfrConfigPrimitiveContainer">
if (displayConfigPrimitives) {
configPrimitiveComponent = (
<div className="flex vnfrConfigPrimitiveContainer">
- <VnfrConfigPrimitives data={configPrimitivesProps} />
+ <VnfrConfigPrimitives data={configPrimitivesProps}
hasAccess={hasAccess}
/>
{/* <NsrPrimitiveJobList jobs={cardData['config-agent-job']}/> */}
<div style={{display:'flex', flexDirection: 'column', flex: '1 1 40%'}}>
<div className="launchpadCard_title">
{/* <NsrPrimitiveJobList jobs={cardData['config-agent-job']}/> */}
<div style={{display:'flex', flexDirection: 'column', flex: '1 1 40%'}}>
<div className="launchpadCard_title">
@@
-142,11
+149,13
@@
export default class RecordCard extends React.Component {
// </pre>
function buildProperties(obj) {
let p = [];
// </pre>
function buildProperties(obj) {
let p = [];
- _.forEach(obj, function(v, k) {
+ _forEach(obj, function(v, k) {
+ if (!v) {
+ return null;
+ }
p.push(
<div style={{margin: '0.5rem 0.5rem'}} key={k + '-' + vi}>
p.push(
<div style={{margin: '0.5rem 0.5rem'}} key={k + '-' + vi}>
- <div style={{margin: '0 0.5rem',
- fontWeight: 'bold', textTransform: 'uppercase', color: '#5b5b5b'}}>{k}</div>
+ <div style={{margin: '0 0.5rem', fontWeight: 'bold', textTransform: 'uppercase', color: '#5b5b5b'}}>{k}</div>
<div style={{margin: '0 0.5rem'}}>{(v.constructor.name == 'String' || v.constructor.name == 'Number') ? v : buildProperties(v)}</div>
</div>
)
<div style={{margin: '0 0.5rem'}}>{(v.constructor.name == 'String' || v.constructor.name == 'Number') ? v : buildProperties(v)}</div>
</div>
)
@@
-154,9
+163,9
@@
export default class RecordCard extends React.Component {
return p;
}
volumesHTML.push(
return p;
}
volumesHTML.push(
- <div key={vi}>
+ <div key={
index +
vi}>
<div className="launchpadCard_title">
<div className="launchpadCard_title">
- VOLUME
+ VOLUME
({vdur['name']})
</div>
<div style={{display: 'flex', flexDirection: 'column'}}>
{
</div>
<div style={{display: 'flex', flexDirection: 'column'}}>
{
@@
-191,7
+200,7
@@
export default class RecordCard extends React.Component {
if (displayConfigPrimitives) {
configPrimitiveComponent = (
<div className="flex nsConfigPrimitiveContainer">
if (displayConfigPrimitives) {
configPrimitiveComponent = (
<div className="flex nsConfigPrimitiveContainer">
- <NsrConfigPrimitives data={configPrimitivesProps} />
+ <NsrConfigPrimitives data={configPrimitivesProps}
hasAccess={hasAccess}
/>
<div style={{display:'flex', flexDirection: 'column', flex: '1 1 40%'}}>
<div className="launchpadCard_title">
JOB LIST
<div style={{display:'flex', flexDirection: 'column', flex: '1 1 40%'}}>
<div className="launchpadCard_title">
JOB LIST
@@
-247,7
+256,7
@@
export default class RecordCard extends React.Component {
let metricsAndParams = [];
let metricsAndParams = [];
- let nfviMetrics = <LpCardNfviMetrics data={cardData["nfvi-metrics"]} />;
+ let nfviMetrics =
null //
<LpCardNfviMetrics data={cardData["nfvi-metrics"]} />;
metricsAndParams.push(<div className="monitoringParams" key="mp">
{components.map(function(c, k) {
return <div key={k} className="mpSlide">{c.title}{c.component}</div>
metricsAndParams.push(<div className="monitoringParams" key="mp">
{components.map(function(c, k) {
return <div key={k} className="mpSlide">{c.title}{c.component}</div>
@@
-329,7
+338,7
@@
export default class RecordCard extends React.Component {
if (this.props.type == 'nsr') {
primitivesTabTitle = 'Service Primitive';
} else if (this.props.type == 'vnfr') {
if (this.props.type == 'nsr') {
primitivesTabTitle = 'Service Primitive';
} else if (this.props.type == 'vnfr') {
- primitivesTabTitle = '
Service
Primitive'
+ primitivesTabTitle = '
Config
Primitive'
}
tabList.push(
}
tabList.push(
@@
-369,11
+378,11
@@
export default class RecordCard extends React.Component {
consoleUrlsTabTitle = 'VDU Console Links';
tabList.push(
consoleUrlsTabTitle = 'VDU Console Links';
tabList.push(
- <Tab key={cardData.id + '-
cp
'}>{consoleUrlsTabTitle}</Tab>
+ <Tab key={cardData.id + '-
vducl
'}>{consoleUrlsTabTitle}</Tab>
);
tabPanels.push(
);
tabPanels.push(
- <TabPanel key={cardData.id + '-
cp
-panel'}>
+ <TabPanel key={cardData.id + '-
vducl
-panel'}>
<div className="consoleUrls">
{consoleUrlsComponent}
</div>
<div className="consoleUrls">
{consoleUrlsComponent}
</div>
@@
-419,3
+428,9
@@
RecordCard.defaultProps = {
isLoading: true,
jobData: []
}
isLoading: true,
jobData: []
}
+RecordCard.contextTypes = {
+ router: React.PropTypes.object,
+ userProfile: React.PropTypes.object
+};
+
+export default SkyquakeComponent(RecordCard);