mirror of https://github.com/rancher/ui.git
60 lines
1.7 KiB
JavaScript
60 lines
1.7 KiB
JavaScript
import { alias } from '@ember/object/computed';
|
|
import { get, computed } from '@ember/object';
|
|
import { inject as service } from '@ember/service';
|
|
import Controller, { inject as controller } from '@ember/controller';
|
|
|
|
export default Controller.extend({
|
|
scope: service(),
|
|
|
|
projectController: controller('authenticated.project'),
|
|
queryParams: ['sortBy'],
|
|
sortBy: 'name',
|
|
|
|
headers: [
|
|
{
|
|
name: 'state',
|
|
sort: ['sortState', 'displayName'],
|
|
searchField: 'displayState',
|
|
translationKey: 'generic.state',
|
|
width: 120,
|
|
},
|
|
{
|
|
name: 'name',
|
|
sort: ['sortName', 'id'],
|
|
searchField: 'displayName',
|
|
translationKey: 'generic.name',
|
|
width: 200,
|
|
},
|
|
{
|
|
name: 'targets',
|
|
sort: false,
|
|
search: false,
|
|
translationKey: 'ingressPage.table.targets.label',
|
|
},
|
|
{
|
|
classNames: 'text-right pr-20',
|
|
name: 'created',
|
|
sort: ['created', 'id'],
|
|
searchField: 'created',
|
|
translationKey: 'generic.created',
|
|
width: 200,
|
|
},
|
|
],
|
|
|
|
group: alias('projectController.group'),
|
|
groupTableBy: alias('projectController.groupTableBy'),
|
|
|
|
balancerServices: computed('model.services.@each.kind', function() {
|
|
return get(this, 'model.services').filterBy('kind', 'LoadBalancer');
|
|
}),
|
|
|
|
rows: computed('model.ingresses.[]', 'balancerServices.[]', function() {
|
|
const out = (get(this, 'balancerServices') || []).slice();
|
|
|
|
out.addObjects(get(this, 'model.ingresses') || []);
|
|
|
|
return out;
|
|
}),
|
|
|
|
});
|