github.com/hernad/nomad@v1.6.112/ui/app/components/job-versions-stream.js (about) 1 /** 2 * Copyright (c) HashiCorp, Inc. 3 * SPDX-License-Identifier: MPL-2.0 4 */ 5 6 import Component from '@ember/component'; 7 import { computed } from '@ember/object'; 8 import { computed as overridable } from 'ember-overridable-computed'; 9 import moment from 'moment'; 10 import { classNames, tagName } from '@ember-decorators/component'; 11 import classic from 'ember-classic-decorator'; 12 13 @classic 14 @tagName('ol') 15 @classNames('timeline') 16 export default class JobVersionsStream extends Component { 17 @overridable(() => []) versions; 18 19 // Passes through to the job-diff component 20 verbose = true; 21 22 @computed('versions.[]') 23 get annotatedVersions() { 24 const versions = this.versions.sortBy('submitTime').reverse(); 25 return versions.map((version, index) => { 26 const meta = {}; 27 28 if (index === 0) { 29 meta.showDate = true; 30 } else { 31 const previousVersion = versions.objectAt(index - 1); 32 const previousStart = moment(previousVersion.get('submitTime')).startOf( 33 'day' 34 ); 35 const currentStart = moment(version.get('submitTime')).startOf('day'); 36 if (previousStart.diff(currentStart, 'days') > 0) { 37 meta.showDate = true; 38 } 39 } 40 41 return { version, meta }; 42 }); 43 } 44 }