RIFT-14831: duplicate job status times on create fix
[osm/UI.git] / skyquake / plugins / launchpad / src / recordViewer / recordCard.jsx
index dc092bc..c928ffd 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * 
+ *
  *   Copyright 2016 RIFT.IO Inc
  *
  *   Licensed under the Apache License, Version 2.0 (the "License");
@@ -90,16 +90,18 @@ export default class RecordCard extends React.Component {
                 <div className="scrollContainer">
                 {
                   //Sort for recent on top
-                    this.props.jobData.sort(function(a,b){
+                  this.props.jobData
+                  .sort(function(a,b){
                     return parseInt(b['job-id']) - parseInt(a['job-id']);
-                  }).map(function(job){
+                  })
+                  .map(function(job){
                     //Return only vnfr configs
                     if(job["triggered-by"] == 'vnf-primitive') {
                       return job.vnfr.map(function(v){
                         //That match the currently selected job id
                         if(v.id == cardData.id) {
                           return v.primitive.map(function(p, i) {
-                            return <JobListCard type="vnfr" job-id={job['job-id']} cardData={cardData} key={i} {...p} />
+                            return <JobListCard type="vnfr" job-id={job['job-id']} cardData={cardData} key={ob['job-id'] + '-' + i} {...p} />
                           })
                         }
                       })
@@ -157,16 +159,16 @@ export default class RecordCard extends React.Component {
                 <div className="scrollContainer">
                   {sortedJobs.map(function(job, i){
                     if(job["triggered-by"] == 'ns-primitive') {
-                      return <JobListCard type="nsr" job-id={job['job-id']} cardData={cardData} key={i} {...job} />
+                      return <JobListCard type="nsr" job-id={job['job-id']} cardData={cardData} key={job['job-id'] + '-' + 'nsr'} {...job} />
                     }
                   })
                   .concat(sortedJobs.map(function(job) {
                     if(!job.hasOwnProperty('job-name') && (job["triggered-by"] == 'ns-primitive')) {
-                      return job.vnfr.map(function(v){
+                      return job.vnfr.map(function(v, h){
                         //That match the currently selected job id
                         if(v.id == cardData.id) {
                           return v.primitive.map(function(p, i) {
-                            return <JobListCard type="vnfr" job-id={job['job-id']} cardData={cardData} key={i} {...p} />
+                            return <JobListCard type="vnfr" job-id={job['job-id']} cardData={cardData} key={ob['job-id'] + '-' + 'vnfr' + '-' + h} {...p} />
                           })
                         }
                       })
@@ -207,7 +209,7 @@ export default class RecordCard extends React.Component {
 
     let nfviMetrics = <LpCardNfviMetrics data={cardData["nfvi-metrics"]} />;
     metricsAndParams.push(<div className="monitoringParams" key="mp">
-                          {components.sort().map(function(c, k) {
+                          {components.map(function(c, k) {
                             return <div key={k} className="mpSlide">{c.title}{c.component}</div>
                           })}
                           </div>)
@@ -325,7 +327,7 @@ export default class RecordCard extends React.Component {
         if (consoleUrlsComponent) {
           let consoleUrlsTabTitle = '';
           consoleUrlsTabTitle = 'VDU Console Links';
-          
+
           tabList.push(
             <Tab key={cardData.id + '-cp'}>{consoleUrlsTabTitle}</Tab>
           );