mirror of https://github.com/rancher/ui.git
112 lines
2.9 KiB
JavaScript
112 lines
2.9 KiB
JavaScript
import { or } from '@ember/object/computed';
|
|
import { computed } from '@ember/object';
|
|
import Component from '@ember/component';
|
|
import layout from './template';
|
|
import { inject as service } from '@ember/service'
|
|
|
|
export const headersAll = [
|
|
{
|
|
name: 'state',
|
|
sort: ['sortState', 'displayName'],
|
|
searchField: 'displayState',
|
|
translationKey: 'generic.state',
|
|
width: 120
|
|
},
|
|
{
|
|
name: 'name',
|
|
sort: ['sortName', 'id'],
|
|
searchField: 'displayName',
|
|
translationKey: 'generic.name',
|
|
},
|
|
{
|
|
name: 'cluster',
|
|
sort: ['cluster.displayName', 'name', 'id'],
|
|
searchField: 'cluster.displayName',
|
|
translationKey: 'nodesPage.table.clusterName',
|
|
views: ['global'],
|
|
},
|
|
{
|
|
name: 'roles',
|
|
sort: ['sortRole', 'name', 'id'],
|
|
searchField: 'displayRoles',
|
|
translationKey: 'nodesPage.table.role',
|
|
views: ['cluster'],
|
|
width: 120,
|
|
},
|
|
{
|
|
name: 'version',
|
|
sort: ['name', 'id'],
|
|
searchField: null,
|
|
translationKey: 'nodesPage.table.version',
|
|
views: ['cluster'],
|
|
width: 120,
|
|
},
|
|
{
|
|
name: 'cpu',
|
|
sort: ['cpuUsageCount', 'displayName'],
|
|
searchField: null,
|
|
width: 100,
|
|
translationKey: 'nodesPage.table.cpu',
|
|
classNames: ['text-right'],
|
|
},
|
|
{
|
|
name: 'memory',
|
|
sort: ['memoryUsageCount', 'displayName'],
|
|
searchField: null,
|
|
width: 150,
|
|
translationKey: 'nodesPage.table.memory',
|
|
classNames: ['text-right'],
|
|
},
|
|
{
|
|
name: 'pod',
|
|
sort: ['podUsageCount', 'displayName'],
|
|
searchField: null,
|
|
width: 100,
|
|
translationKey: 'nodesPage.table.pod',
|
|
classNames: ['text-right'],
|
|
},
|
|
];
|
|
|
|
const headersMap = {
|
|
all: headersAll,
|
|
global: headersAll.filter((x) => !x.views || x.views.includes('global' )),
|
|
cluster: headersAll.filter((x) => !x.views || x.views.includes('cluster')),
|
|
};
|
|
|
|
export const headersCluster = headersMap.cluster;
|
|
export const headersGlobal = headersMap.global;
|
|
|
|
export default Component.extend({
|
|
scope: service(),
|
|
session: service(),
|
|
|
|
layout,
|
|
view: 'project',
|
|
model: null,
|
|
tagName: '',
|
|
subMatches: null,
|
|
expanded: null,
|
|
|
|
showLabelRow: or('model.displayUserLabelStrings.length', 'model.requireAnyLabelStrings.length'),
|
|
|
|
actions: {
|
|
toggle() {
|
|
if (this.toggle) {
|
|
this.toggle();
|
|
}
|
|
},
|
|
},
|
|
|
|
showCluster: computed('view', function() {
|
|
return !!headersMap[this.view].findBy('name', 'cluster');
|
|
}),
|
|
|
|
showRoles: computed('view', function() {
|
|
return !!headersMap[this.view].findBy('name', 'roles');
|
|
}),
|
|
|
|
labelColspan: computed('fullColspan', function() {
|
|
return this.fullColspan + 1;
|
|
}),
|
|
});
|