github.com/emate/nomad@v0.8.2-wo-binpacking/ui/app/components/job-versions-stream.js (about)

     1  import Component from '@ember/component';
     2  import { computed } from '@ember/object';
     3  import moment from 'moment';
     4  
     5  export default Component.extend({
     6    tagName: 'ol',
     7    classNames: ['timeline'],
     8  
     9    versions: computed(() => []),
    10  
    11    // Passes through to the job-diff component
    12    verbose: true,
    13  
    14    annotatedVersions: computed('versions.[]', function() {
    15      const versions = this.get('versions')
    16        .sortBy('submitTime')
    17        .reverse();
    18      return versions.map((version, index) => {
    19        const meta = {};
    20  
    21        if (index === 0) {
    22          meta.showDate = true;
    23        } else {
    24          const previousVersion = versions.objectAt(index - 1);
    25          const previousStart = moment(previousVersion.get('submitTime')).startOf('day');
    26          const currentStart = moment(version.get('submitTime')).startOf('day');
    27          if (previousStart.diff(currentStart, 'days') > 0) {
    28            meta.showDate = true;
    29          }
    30        }
    31  
    32        return { version, meta };
    33      });
    34    }),
    35  });