mirror of https://github.com/rancher/ui.git
Show/hide new/deleted stacks (rancher/rancher#2756 rancher/rancher#2784)
This commit is contained in:
parent
c3a12e380d
commit
c2ba4a94c4
|
|
@ -2,10 +2,12 @@ import Ember from 'ember';
|
||||||
import Sortable from 'ui/mixins/sortable';
|
import Sortable from 'ui/mixins/sortable';
|
||||||
import C from 'ui/utils/constants';
|
import C from 'ui/utils/constants';
|
||||||
|
|
||||||
|
const notUser = [C.EXTERNALID.KIND_KUBERNETES, C.EXTERNALID.KIND_SYSTEM];
|
||||||
|
|
||||||
export default Ember.Controller.extend(Sortable, {
|
export default Ember.Controller.extend(Sortable, {
|
||||||
environments: Ember.inject.controller(),
|
environments: Ember.inject.controller(),
|
||||||
projects: Ember.inject.service(),
|
projects: Ember.inject.service(),
|
||||||
sortableContent: Ember.computed.alias('model.current'),
|
sortableContent: Ember.computed.alias('filteredStacks'),
|
||||||
prefs: Ember.inject.service(),
|
prefs: Ember.inject.service(),
|
||||||
|
|
||||||
which: 'user',
|
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() {
|
setup: function() {
|
||||||
var sort = this.get(`prefs.${C.PREFS.SORT_STACKS_BY}`);
|
var sort = this.get(`prefs.${C.PREFS.SORT_STACKS_BY}`);
|
||||||
if (sort && sort !== this.get('sortBy')) {
|
if (sort && sort !== this.get('sortBy')) {
|
||||||
|
|
@ -39,6 +37,38 @@ export default Ember.Controller.extend(Sortable, {
|
||||||
}
|
}
|
||||||
}.on('init'),
|
}.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',
|
sortBy: 'state',
|
||||||
sorts: {
|
sorts: {
|
||||||
state: ['stateSort','name','id'],
|
state: ['stateSort','name','id'],
|
||||||
|
|
|
||||||
|
|
@ -1,55 +1,12 @@
|
||||||
import Ember from 'ember';
|
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({
|
export default Ember.Route.extend({
|
||||||
queryParams: {
|
|
||||||
which: {
|
|
||||||
refreshModel: true
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
willTransition: function() {
|
willTransition: function() {
|
||||||
this.controller.set('showAddtlInfo', null);
|
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*/) {
|
resetController: function (controller, isExisting/*, transition*/) {
|
||||||
if (isExisting)
|
if (isExisting)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<div class="well {{if showTabs 'nav-well'}} r-pl0 r-pr0">
|
<div class="well r-pl0 r-pr0">
|
||||||
{{#each arranged as |stack|}}
|
{{#each arranged as |stack|}}
|
||||||
{{stack-section model=stack showAddtlInfo='showAddtlInfo'}}
|
{{stack-section model=stack showAddtlInfo='showAddtlInfo'}}
|
||||||
{{else}}
|
{{else}}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ export default Ember.Mixin.create({
|
||||||
|
|
||||||
filtered: function() {
|
filtered: function() {
|
||||||
var filterStates = this.get('filterStates');
|
var filterStates = this.get('filterStates');
|
||||||
return this.get('filterableContent').filter((row) => {
|
return (this.get('filterableContent')||[]).filter((row) => {
|
||||||
var state = (row.get('state')||'').toLowerCase();
|
var state = (row.get('state')||'').toLowerCase();
|
||||||
return filterStates.indexOf(state) === -1;
|
return filterStates.indexOf(state) === -1;
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,6 @@ var Environment = Resource.extend({
|
||||||
|
|
||||||
availableActions: function() {
|
availableActions: function() {
|
||||||
var a = this.get('actionLinks');
|
var a = this.get('actionLinks');
|
||||||
var isK8s = this.get('externalIdInfo.kind') === C.EXTERNALID.KIND_KUBERNETES;
|
|
||||||
|
|
||||||
if ( this.get('externalIdInfo.kind') === C.EXTERNALID.KIND_KUBERNETES )
|
if ( this.get('externalIdInfo.kind') === C.EXTERNALID.KIND_KUBERNETES )
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "ui",
|
"name": "ui",
|
||||||
"version": "0.67.0",
|
"version": "0.68.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"directories": {
|
"directories": {
|
||||||
"doc": "doc",
|
"doc": "doc",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue