33 lines
1 KiB
JavaScript
33 lines
1 KiB
JavaScript
import Route from '@ember/routing/route';
|
|
import { inject as service } from '@ember/service';
|
|
import { collect } from '@ember/object/computed';
|
|
import { watchRecord } from 'nomad-ui/utils/properties/watch';
|
|
import WithWatchers from 'nomad-ui/mixins/with-watchers';
|
|
import notifyError from 'nomad-ui/utils/notify-error';
|
|
export default class AllocationRoute extends Route.extend(WithWatchers) {
|
|
@service store;
|
|
|
|
startWatchers(controller, model) {
|
|
if (model) {
|
|
controller.set('watcher', this.watch.perform(model));
|
|
}
|
|
}
|
|
|
|
model() {
|
|
// Preload the job for the allocation since it's required for the breadcrumb trail
|
|
return super
|
|
.model(...arguments)
|
|
.then(allocation =>
|
|
allocation
|
|
.get('job')
|
|
.then(() => this.store.findAll('namespace')) // namespaces belong to a job and are an asynchronous relationship so we can peak them later on
|
|
.then(() => allocation)
|
|
)
|
|
.catch(notifyError(this));
|
|
}
|
|
|
|
@watchRecord('allocation') watch;
|
|
|
|
@collect('watch') watchers;
|
|
}
|