github.com/emate/nomad@v0.8.2-wo-binpacking/ui/app/controllers/jobs/job/task-group.js (about) 1 import { alias } from '@ember/object/computed'; 2 import Controller, { inject as controller } from '@ember/controller'; 3 import { computed } from '@ember/object'; 4 import Sortable from 'nomad-ui/mixins/sortable'; 5 import Searchable from 'nomad-ui/mixins/searchable'; 6 import WithNamespaceResetting from 'nomad-ui/mixins/with-namespace-resetting'; 7 import { qpBuilder } from 'nomad-ui/utils/classes/query-params'; 8 9 export default Controller.extend(Sortable, Searchable, WithNamespaceResetting, { 10 jobController: controller('jobs.job'), 11 12 queryParams: { 13 currentPage: 'page', 14 searchTerm: 'search', 15 sortProperty: 'sort', 16 sortDescending: 'desc', 17 }, 18 19 currentPage: 1, 20 pageSize: 10, 21 22 sortProperty: 'modifyIndex', 23 sortDescending: true, 24 25 searchProps: computed(() => ['shortId', 'name']), 26 27 allocations: computed('model.allocations.[]', function() { 28 return this.get('model.allocations') || []; 29 }), 30 31 listToSort: alias('allocations'), 32 listToSearch: alias('listSorted'), 33 sortedAllocations: alias('listSearched'), 34 35 breadcrumbs: computed('jobController.breadcrumbs.[]', 'model.{name}', function() { 36 return this.get('jobController.breadcrumbs').concat([ 37 { 38 label: this.get('model.name'), 39 args: [ 40 'jobs.job.task-group', 41 this.get('model.name'), 42 qpBuilder({ jobNamespace: this.get('model.job.namespace.name') || 'default' }), 43 ], 44 }, 45 ]); 46 }), 47 48 actions: { 49 gotoAllocation(allocation) { 50 this.transitionToRoute('allocations.allocation', allocation); 51 }, 52 }, 53 });