github.com/iqoqo/nomad@v0.11.3-0.20200911112621-d7021c74d101/ui/app/controllers/allocations/allocation/task/index.js (about) 1 import Controller from '@ember/controller'; 2 import { computed } from '@ember/object'; 3 import { computed as overridable } from 'ember-overridable-computed'; 4 import { alias } from '@ember/object/computed'; 5 import { task } from 'ember-concurrency'; 6 7 export default Controller.extend({ 8 otherTaskStates: computed('model.task.taskGroup.tasks.@each.name', function() { 9 const taskName = this.model.task.name; 10 return this.model.allocation.states.rejectBy('name', taskName); 11 }), 12 13 prestartTaskStates: computed('otherTaskStates.@each.lifecycle', function() { 14 return this.otherTaskStates.filterBy('task.lifecycle'); 15 }), 16 17 network: alias('model.resources.networks.firstObject'), 18 ports: computed('network.reservedPorts.[]', 'network.dynamicPorts.[]', function() { 19 return (this.get('network.reservedPorts') || []) 20 .map(port => ({ 21 name: port.Label, 22 port: port.Value, 23 isDynamic: false, 24 })) 25 .concat( 26 (this.get('network.dynamicPorts') || []).map(port => ({ 27 name: port.Label, 28 port: port.Value, 29 isDynamic: true, 30 })) 31 ) 32 .sortBy('name'); 33 }), 34 35 error: overridable(() => { 36 // { title, description } 37 return null; 38 }), 39 40 onDismiss() { 41 this.set('error', null); 42 }, 43 44 restartTask: task(function*() { 45 try { 46 yield this.model.restart(); 47 } catch (err) { 48 this.set('error', { 49 title: 'Could Not Restart Task', 50 description: 'Your ACL token does not grant allocation lifecycle permissions.', 51 }); 52 } 53 }), 54 });