mirror of https://github.com/rancher/ui.git
45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
import { inject as service } from '@ember/service';
|
|
import { get, set } from '@ember/object';
|
|
import Route from '@ember/routing/route';
|
|
import { hash } from 'rsvp';
|
|
import { next } from '@ember/runloop';
|
|
import { on } from '@ember/object/evented';
|
|
import C from 'ui/utils/constants';
|
|
|
|
export default Route.extend({
|
|
globalStore: service(),
|
|
clusterStore: service(),
|
|
scope: service(),
|
|
|
|
shortcuts: { 'g': 'toggleGrouping', },
|
|
model() {
|
|
let cluster = this.modelFor('authenticated.cluster');
|
|
|
|
if ( !get(cluster, 'isReady') ) {
|
|
this.transitionTo('authenticated.cluster.index');
|
|
}
|
|
|
|
return hash({
|
|
projects: get(this, 'globalStore').findAll('project'),
|
|
namespaces: get(this, 'clusterStore').findAll('namespace')
|
|
});
|
|
},
|
|
|
|
actions: {
|
|
toggleGrouping() {
|
|
let choices = ['none', 'project'];
|
|
let cur = this.get('controller.group');
|
|
let neu = choices[((choices.indexOf(cur) + 1) % choices.length)];
|
|
|
|
next(() => {
|
|
this.set('controller.group', neu);
|
|
});
|
|
},
|
|
},
|
|
|
|
setDefaultRoute: on('activate', function() {
|
|
set(this, `session.${ C.SESSION.CLUSTER_ROUTE }`, 'authenticated.cluster.projects');
|
|
}),
|
|
|
|
});
|