open-nomad/ui/app/components/job-versions-stream.js

37 lines
1 KiB
JavaScript
Raw Normal View History

import Component from '@ember/component';
import { computed } from '@ember/object';
import { computed as overridable } from 'ember-overridable-computed';
2017-09-19 14:47:10 +00:00
import moment from 'moment';
export default Component.extend({
tagName: 'ol',
classNames: ['timeline'],
versions: overridable(() => []),
2017-09-19 14:47:10 +00:00
// Passes through to the job-diff component
verbose: true,
annotatedVersions: computed('versions.[]', function() {
2019-03-26 07:46:44 +00:00
const versions = this.versions
.sortBy('submitTime')
.reverse();
2017-09-19 14:47:10 +00:00
return versions.map((version, index) => {
const meta = {};
if (index === 0) {
meta.showDate = true;
} else {
const previousVersion = versions.objectAt(index - 1);
2017-11-15 21:56:04 +00:00
const previousStart = moment(previousVersion.get('submitTime')).startOf('day');
const currentStart = moment(version.get('submitTime')).startOf('day');
if (previousStart.diff(currentStart, 'days') > 0) {
2017-09-19 14:47:10 +00:00
meta.showDate = true;
}
}
return { version, meta };
});
}),
});