open-nomad/ui/app/routes/exec/task-group/task.js

40 lines
1 KiB
JavaScript
Raw Normal View History

import { inject as service } from '@ember/service';
import Route from '@ember/routing/route';
export default Route.extend({
store: service(),
model({ task_name }) {
const allocationQueryParam = this.paramsFor('exec').allocation;
return this.modelFor('exec').allocations.then(allocations => {
let allocation;
if (allocationQueryParam) {
allocation = allocations.findBy('shortId', allocationQueryParam);
} else {
allocation = allocations.find(allocation =>
allocation.states
.filterBy('isActive')
.mapBy('name')
.includes(task_name)
);
}
return {
allocation,
allocationSpecified: allocationQueryParam ? true : false,
taskState: allocation.states.find(state => state.name === task_name),
};
});
},
afterModel(model) {
this.controllerFor('exec').send('setTaskState', model);
},
setupController(controller, { allocation, taskState }) {
controller.setProperties({ allocation, taskState });
},
});