open-nomad/ui/app/controllers/csi/volumes/volume.js
2021-12-23 12:41:52 -05:00

57 lines
1.3 KiB
JavaScript

import Controller from '@ember/controller';
import { inject as service } from '@ember/service';
import { action, computed } from '@ember/object';
import { qpBuilder } from 'nomad-ui/utils/classes/query-params';
export default class VolumeController extends Controller {
// Used in the template
@service system;
queryParams = [
{
volumeNamespace: 'namespace',
},
];
volumeNamespace = 'default';
get volume() {
return this.model;
}
get breadcrumbs() {
const volume = this.volume;
return [
{
label: 'Volumes',
args: [
'csi.volumes',
qpBuilder({ volumeNamespace: volume.get('namespace.name') || 'default' }),
],
},
{
label: volume.name,
args: [
'csi.volumes.volume',
volume.plainId,
qpBuilder({ volumeNamespace: volume.get('namespace.name') || 'default' }),
],
},
];
}
@computed('model.readAllocations.@each.modifyIndex')
get sortedReadAllocations() {
return this.model.readAllocations.sortBy('modifyIndex').reverse();
}
@computed('model.writeAllocations.@each.modifyIndex')
get sortedWriteAllocations() {
return this.model.writeAllocations.sortBy('modifyIndex').reverse();
}
@action
gotoAllocation(allocation) {
this.transitionToRoute('allocations.allocation', allocation);
}
}