github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/ui/app/components/job-versions-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 import { classNames, tagName } from '@ember-decorators/component'; 6 import classic from 'ember-classic-decorator'; 7 8 @classic 9 @tagName('ol') 10 @classNames('timeline') 11 export default class JobVersionsStream extends Component { 12 @overridable(() => []) versions; 13 14 // Passes through to the job-diff component 15 verbose = true; 16 17 @computed('versions.[]') 18 get annotatedVersions() { 19 const versions = this.versions.sortBy('submitTime').reverse(); 20 return versions.map((version, index) => { 21 const meta = {}; 22 23 if (index === 0) { 24 meta.showDate = true; 25 } else { 26 const previousVersion = versions.objectAt(index - 1); 27 const previousStart = moment(previousVersion.get('submitTime')).startOf('day'); 28 const currentStart = moment(version.get('submitTime')).startOf('day'); 29 if (previousStart.diff(currentStart, 'days') > 0) { 30 meta.showDate = true; 31 } 32 } 33 34 return { version, meta }; 35 }); 36 } 37 }