github.com/manicqin/nomad@v0.9.5/ui/app/components/job-deployments-stream.js (about) 1 import Component from '@ember/component'; 2 import { computed } from '@ember/object'; 3 import { computed as overridable } from 'ember-overridable-computed'; 4 import moment from 'moment'; 5 6 export default Component.extend({ 7 tagName: 'ol', 8 classNames: ['timeline'], 9 10 deployments: overridable(() => []), 11 12 sortedDeployments: computed('deployments.@each.versionSubmitTime', function() { 13 return this.deployments 14 .sortBy('versionSubmitTime') 15 .reverse(); 16 }), 17 18 annotatedDeployments: computed('sortedDeployments.@each.version', function() { 19 const deployments = this.sortedDeployments; 20 return deployments.map((deployment, index) => { 21 const meta = {}; 22 23 if (index === 0) { 24 meta.showDate = true; 25 } else { 26 const previousDeployment = deployments.objectAt(index - 1); 27 const previousSubmitTime = previousDeployment.get('version.submitTime'); 28 const submitTime = deployment.get('submitTime'); 29 if ( 30 submitTime && 31 previousSubmitTime && 32 moment(previousSubmitTime) 33 .startOf('day') 34 .diff(moment(submitTime).startOf('day'), 'days') > 0 35 ) { 36 meta.showDate = true; 37 } 38 } 39 40 return { deployment, meta }; 41 }); 42 }), 43 });