mirror of https://github.com/rancher/ui.git
65 lines
2.0 KiB
JavaScript
65 lines
2.0 KiB
JavaScript
import Component from '@ember/component';
|
|
import layout from './template';
|
|
import { computed, get } from '@ember/object';
|
|
|
|
const HEADERS = [
|
|
{
|
|
name: 'state',
|
|
sort: ['sortState', 'name', 'id'],
|
|
type: 'string',
|
|
searchField: 'displayState',
|
|
translationKey: 'generic.state',
|
|
width: 125,
|
|
},
|
|
{
|
|
name: 'displayName',
|
|
translationKey: 'clusterTemplatesPage.table.name',
|
|
searchField: 'displayName',
|
|
sort: ['displayName', 'name', 'id'],
|
|
},
|
|
{
|
|
name: 'defaultRevisionId',
|
|
translationKey: 'clusterTemplatesPage.headers.defaultRevisionId',
|
|
searchField: ['defaultRevisionId'],
|
|
sort: ['defaultRevisionId', 'name', 'id'],
|
|
width: 175,
|
|
classNames: 'text-center',
|
|
},
|
|
{
|
|
classNames: 'text-right pr-20',
|
|
name: 'created',
|
|
sort: ['created', 'name', 'id'],
|
|
searchField: false,
|
|
translationKey: 'clusterTemplatesPage.headers.created',
|
|
width: 175,
|
|
},
|
|
];
|
|
|
|
export default Component.extend({
|
|
layout,
|
|
|
|
clusterTemplates: null,
|
|
clusterTemplateRevisions: null,
|
|
searchText: null,
|
|
descending: false,
|
|
suffix: true,
|
|
sortBy: 'displayName',
|
|
headers: HEADERS,
|
|
extraSearchFields: ['clusterTemplate.displayName'],
|
|
selectionChanged: null,
|
|
|
|
rows: computed('clusterTemplateRevisions.@each.{id,state,enabled}', function() {
|
|
const { clusterTemplateRevisions = [] } = this;
|
|
|
|
return clusterTemplateRevisions.sortBy('displayName');
|
|
}),
|
|
|
|
clusterTemplatesWithoutRevisionsRows: computed('clusterTemplateRevisions.each.{clusterTemplate,enabled}', 'clusterTemplates.@each.{defaultRevisionId,revisionsCount,revisions,enabled}', function() {
|
|
const { clusterTemplates = [] } = this;
|
|
|
|
return clusterTemplates.filter((ct) => {
|
|
return get(ct, 'enabled') && get(ct, 'revisionsCount') === 0;
|
|
}).sortBy('displayName');
|
|
}),
|
|
});
|