mirror of https://github.com/rancher/ui.git
73 lines
1.8 KiB
JavaScript
73 lines
1.8 KiB
JavaScript
import { inject as service } from '@ember/service';
|
|
import { get, set } from '@ember/object';
|
|
import { alias } from '@ember/object/computed';
|
|
import Controller from '@ember/controller';
|
|
|
|
export default Controller.extend({
|
|
growl: service(),
|
|
scope: service(),
|
|
modalService: service('modal'),
|
|
|
|
queryParams: ['namespaceId', 'workloadId', 'podId', 'addSidekick', 'upgrade', 'launchConfigIndex'],
|
|
namespaceId: null,
|
|
serviceId: null,
|
|
containerId: null,
|
|
addSidekick: null,
|
|
upgrade: false,
|
|
deleting: false,
|
|
dataMap: alias('model.dataMap'),
|
|
|
|
actions: {
|
|
transitionOut() {
|
|
this.transitionToRoute('containers.index', get(this, 'scope.currentProject.id'));
|
|
},
|
|
|
|
done() {
|
|
this.send('transitionOut');
|
|
},
|
|
|
|
cancel() {
|
|
this.send('transitionOut');
|
|
},
|
|
|
|
promptRemove(idx) {
|
|
let slc = get(this, 'dataMap.workload.secondaryLaunchConfigs').objectAt(idx);
|
|
let resources = [{
|
|
cb: () => {
|
|
this.removeSidekick(idx)
|
|
},
|
|
displayName: get(slc, 'name'),
|
|
}];
|
|
|
|
get(this, 'modalService').toggleModal('confirm-delete', {
|
|
resources,
|
|
showProtip: false
|
|
});
|
|
},
|
|
},
|
|
|
|
removeSidekick(idx) {
|
|
let workload = get(this, 'dataMap.workload').clone();
|
|
|
|
set(workload, 'completeLaunchConfigs', true);
|
|
set(workload, 'completeUpdate', true);
|
|
|
|
let slcs = get(workload, 'secondaryLaunchConfigs');
|
|
|
|
slcs.removeAt(idx);
|
|
const containers = [get(workload, 'containers.firstObject')];
|
|
|
|
containers.pushObjects(slcs);
|
|
set(workload, 'containers', containers)
|
|
set(this, 'deleting', true);
|
|
workload.save().then(() => {
|
|
this.send('done');
|
|
set(this, 'deleting', false);
|
|
})
|
|
.catch((err) => {
|
|
get(this, 'growl').fromError(err);
|
|
set(this, 'deleting', false);
|
|
});
|
|
},
|
|
});
|