This commit is contained in:
Vincent Fiduccia 2015-11-24 19:10:28 -07:00
parent c3a12e380d
commit c2ba4a94c4
6 changed files with 38 additions and 52 deletions

View File

@ -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'],

View File

@ -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)
{

View File

@ -17,7 +17,7 @@
</section>
<section>
<div class="well {{if showTabs 'nav-well'}} r-pl0 r-pr0">
<div class="well r-pl0 r-pr0">
{{#each arranged as |stack|}}
{{stack-section model=stack showAddtlInfo='showAddtlInfo'}}
{{else}}

View File

@ -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;
});

View File

@ -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 )
{

View File

@ -1,6 +1,6 @@
{
"name": "ui",
"version": "0.67.0",
"version": "0.68.0",
"private": true,
"directories": {
"doc": "doc",