X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Flaunchpad%2Fsrc%2FrecordViewer%2FrecordCard.jsx;h=31b1ed631699eedb3e529395e4369bda4cae1117;hp=c928ffd0c2224605b6326117116678f6186d73d3;hb=f1415f5a842a1243160ba1f7c549a47cabf0d11d;hpb=e5cb4d01688c97ccca8deea0a56489e213026314 diff --git a/skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx b/skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx index c928ffd0c..31b1ed631 100644 --- a/skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx +++ b/skyquake/plugins/launchpad/src/recordViewer/recordCard.jsx @@ -33,6 +33,10 @@ import JobListCard from '../launchpad_card/jobListCard.jsx'; import NSVirtualLinks from '../virtual_links/nsVirtualLinks.jsx'; import LaunchpadFleetStore from '../launchpadFleetStore.js'; +import Prism from 'prismjs'; +import 'prismjs/themes/prism.css'; + + export default class RecordCard extends React.Component { constructor(props) { super(props) @@ -66,7 +70,8 @@ export default class RecordCard extends React.Component { let displayNSVirtualLinks = false; let nsVirtualLinksProps = {}; let nsVirtualLinksComponent = null; - + let displayVolumesTab = false; + let volumesHTML = []; let tabList = []; let tabPanels = []; @@ -101,7 +106,7 @@ export default class RecordCard extends React.Component { //That match the currently selected job id if(v.id == cardData.id) { return v.primitive.map(function(p, i) { - return + return }) } }) @@ -127,6 +132,41 @@ export default class RecordCard extends React.Component { ) notice =
  • * If a separate browser window does not open, please check if the popup was blocked and allow it.
  • + if(vdur.hasOwnProperty('volumes') && (vdur.volumes.length > 0)) { + displayVolumesTab = true; + vdur.volumes.map((volume, vi) => { + // let html = Prism.highlight(JSON.stringify(volume), Prism.languages.javascript, 'javascript'); + // volumesHTML.push( + //
    +                //       
    +                //     
    + function buildProperties(obj) { + let p = []; + _.forEach(obj, function(v, k) { + p.push( +
    +
    {k}
    +
    {v.constructor.name == 'String' ? v : buildProperties(v)}
    +
    + ) + }); + return p; + } + volumesHTML.push( +
    +
    + VOLUME +
    +
    + { + buildProperties(volume) + } +
    +
    + ) + }) + } }); consoleUrlsComponent = (
    @@ -168,7 +208,7 @@ export default class RecordCard extends React.Component { //That match the currently selected job id if(v.id == cardData.id) { return v.primitive.map(function(p, i) { - return + return }) } }) @@ -226,7 +266,7 @@ export default class RecordCard extends React.Component { if(this.props.isLoading) { html = } else { - let glyphValue = (this.props.mmmrecordDetailsToggleValue) ? "chevron-left" : "chevron-right"; + let glyphValue = (!this.props.recordDetailsToggleValue) ? "chevron-left" : "chevron-right"; if (this.props.type == 'nsr') { tabList.push( @@ -289,7 +329,7 @@ export default class RecordCard extends React.Component { if (this.props.type == 'nsr') { primitivesTabTitle = 'Service Primitive'; } else if (this.props.type == 'vnfr') { - primitivesTabTitle = 'Service Primitive' + primitivesTabTitle = 'Config Primitive' } tabList.push( @@ -343,6 +383,21 @@ export default class RecordCard extends React.Component { ) } + if (displayVolumesTab) { + + tabList.push( + Volumes + ); + + tabPanels.push( + + {volumesHTML} +
    +
    +
    + ) + } + html = (