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  });