mirror of https://github.com/rancher/ui.git
47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
import { inject as service } from '@ember/service';
|
|
import Controller from '@ember/controller';
|
|
import { get, set, observer, computed } from '@ember/object';
|
|
import { once } from '@ember/runloop';
|
|
|
|
export default Controller.extend({
|
|
router: service(),
|
|
|
|
selectedContainer: null,
|
|
|
|
actions: {
|
|
select(container) {
|
|
set(this, 'selectedContainer', container);
|
|
}
|
|
},
|
|
|
|
containerDidChange: observer('model.containers.[]', function() {
|
|
once(() => set(this, 'selectedContainer', get(this, 'model.containers.firstObject')));
|
|
}),
|
|
|
|
podStateDidChange: observer('model.state', function() {
|
|
if ( get(this, 'model.state') === 'removed' && get(this, 'router.currentRouteName') === 'container' ) {
|
|
const workloadId = get(this, 'model.workloadId');
|
|
|
|
if ( workloadId ) {
|
|
this.transitionToRoute('workload', workloadId);
|
|
} else {
|
|
this.transitionToRoute('authenticated.project.index');
|
|
}
|
|
}
|
|
}),
|
|
displayEnvironmentVars: computed('selectedContainer', function() {
|
|
var envs = [];
|
|
var environment = this.get('selectedContainer.environment') || {};
|
|
|
|
Object.keys(environment).forEach((key) => {
|
|
envs.pushObject({
|
|
key,
|
|
value: environment[key]
|
|
})
|
|
});
|
|
|
|
return envs;
|
|
}),
|
|
|
|
});
|