diff --git a/app/environments/index/controller.js b/app/environments/index/controller.js index 70a720f60..cd045b340 100644 --- a/app/environments/index/controller.js +++ b/app/environments/index/controller.js @@ -2,10 +2,12 @@ import Ember from 'ember'; import Sortable from 'ui/mixins/sortable'; import C from 'ui/utils/constants'; +const notUser = [C.EXTERNALID.KIND_KUBERNETES, C.EXTERNALID.KIND_SYSTEM]; + export default Ember.Controller.extend(Sortable, { environments: Ember.inject.controller(), projects: Ember.inject.service(), - sortableContent: Ember.computed.alias('model.current'), + sortableContent: Ember.computed.alias('filteredStacks'), prefs: Ember.inject.service(), which: 'user', @@ -28,10 +30,6 @@ export default Ember.Controller.extend(Sortable, { } }, - showTabs: function() { - return this.get('which') !== 'kubernetes' && (this.get('which') !== 'user' || this.get('model.hasKubernetes') || this.get('model.hasSystem')); - }.property('which','model.{hasKubernetes,hasSystem}'), - setup: function() { var sort = this.get(`prefs.${C.PREFS.SORT_STACKS_BY}`); if (sort && sort !== this.get('sortBy')) { @@ -39,6 +37,38 @@ export default Ember.Controller.extend(Sortable, { } }.on('init'), + filteredStacks: function() { + var which = this.get('which'); + var all = this.get('model'); + var out; + + var kubernetes = all.filterBy('externalIdInfo.kind', C.EXTERNALID.KIND_KUBERNETES); + var system = all.filterBy('externalIdInfo.kind', C.EXTERNALID.KIND_SYSTEM); + var user = all.filter((obj) => { + return notUser.indexOf(obj.get('externalIdInfo.kind')) === -1; + }); + + if ( which === C.EXTERNALID.KIND_ALL ) + { + out = all; + } + else if ( which === C.EXTERNALID.KIND_KUBERNETES ) + { + out = kubernetes; + } + else if ( which === C.EXTERNALID.KIND_SYSTEM ) + { + out = system; + } + else + { + out = user; + } + + return out; + }.property('model.[]'), + + sortBy: 'state', sorts: { state: ['stateSort','name','id'], diff --git a/app/environments/index/route.js b/app/environments/index/route.js index 86e039f70..399baa0f8 100644 --- a/app/environments/index/route.js +++ b/app/environments/index/route.js @@ -1,55 +1,12 @@ import Ember from 'ember'; -import C from 'ui/utils/constants'; - -const notUser = [C.EXTERNALID.KIND_KUBERNETES, C.EXTERNALID.KIND_SYSTEM]; export default Ember.Route.extend({ - queryParams: { - which: { - refreshModel: true - }, - }, - actions: { willTransition: function() { this.controller.set('showAddtlInfo', null); }, }, - model: function(params) { - var all = this.modelFor('environments'); - var out; - - var kubernetes = all.filterBy('externalIdInfo.kind', C.EXTERNALID.KIND_KUBERNETES); - var system = all.filterBy('externalIdInfo.kind', C.EXTERNALID.KIND_SYSTEM); - var user = all.filter((obj) => { - return notUser.indexOf(obj.get('externalIdInfo.kind')) === -1; - }); - - if ( params.which === C.EXTERNALID.KIND_ALL ) - { - out = all; - } - else if ( params.which === C.EXTERNALID.KIND_KUBERNETES ) - { - out = kubernetes; - } - else if ( params.which === C.EXTERNALID.KIND_SYSTEM ) - { - out = system; - } - else - { - out = user; - } - - return { - current: out, - hasKubernetes: kubernetes.get('length') > 0, - hasSystem: system.get('length') > 0, - }; - }, - resetController: function (controller, isExisting/*, transition*/) { if (isExisting) { diff --git a/app/environments/index/template.hbs b/app/environments/index/template.hbs index 32b9cee0f..fc8ed7fd0 100644 --- a/app/environments/index/template.hbs +++ b/app/environments/index/template.hbs @@ -17,7 +17,7 @@
-
+
{{#each arranged as |stack|}} {{stack-section model=stack showAddtlInfo='showAddtlInfo'}} {{else}} diff --git a/app/mixins/filter-state.js b/app/mixins/filter-state.js index 0f6f54972..312353137 100644 --- a/app/mixins/filter-state.js +++ b/app/mixins/filter-state.js @@ -16,7 +16,7 @@ export default Ember.Mixin.create({ filtered: function() { var filterStates = this.get('filterStates'); - return this.get('filterableContent').filter((row) => { + return (this.get('filterableContent')||[]).filter((row) => { var state = (row.get('state')||'').toLowerCase(); return filterStates.indexOf(state) === -1; }); diff --git a/app/models/environment.js b/app/models/environment.js index fb9fe8ce9..d9bcb767d 100644 --- a/app/models/environment.js +++ b/app/models/environment.js @@ -82,7 +82,6 @@ var Environment = Resource.extend({ availableActions: function() { var a = this.get('actionLinks'); - var isK8s = this.get('externalIdInfo.kind') === C.EXTERNALID.KIND_KUBERNETES; if ( this.get('externalIdInfo.kind') === C.EXTERNALID.KIND_KUBERNETES ) { diff --git a/package.json b/package.json index ba8f060a1..e59b9977d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ui", - "version": "0.67.0", + "version": "0.68.0", "private": true, "directories": { "doc": "doc",