mirror of https://github.com/rancher/ui.git
52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
import Component from '@ember/component';
|
|
import { once } from '@ember/runloop';
|
|
import { set, get, computed } from '@ember/object';
|
|
import C from 'shared/utils/pipeline-constants';
|
|
|
|
export default Component.extend({
|
|
dateNow: null,
|
|
dateInterval: null,
|
|
|
|
didInsertElement() {
|
|
this._super(...arguments);
|
|
once(this, this.setupInterval);
|
|
},
|
|
|
|
willDestroyElement() {
|
|
this._super(...arguments);
|
|
var interval = get(this, 'dateInterval');
|
|
|
|
interval && window.clearInterval(interval);
|
|
},
|
|
|
|
actions: {
|
|
showLogs(stageIndex, stepIndex) {
|
|
if ( !get(this, 'notRun') ) {
|
|
if (this.logKeyChanged) {
|
|
this.logKeyChanged(stageIndex, stepIndex);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
waiting: computed('step.state', function() {
|
|
return get(this, 'step.state') === C.STATES.WAITING || get(this, 'step.state') === C.STATES.SKIPPED || !get(this, 'step.state');
|
|
}),
|
|
|
|
building: computed('step.state', function() {
|
|
return get(this, 'step.state') === C.STATES.BUILDING;
|
|
}),
|
|
|
|
notRun: computed('activity.executionState', 'step.state', function() {
|
|
return get(this, 'activity.executionState') === C.STATES.FAILED && !get(this, 'step.state');
|
|
}),
|
|
|
|
setupInterval() {
|
|
var interval = window.setInterval(() => {
|
|
set(this, 'dateNow', Date.now())
|
|
}, 1000);
|
|
|
|
set(this, 'dateInterval', interval);
|
|
},
|
|
});
|