mirror of https://github.com/rancher/ui.git
36 lines
995 B
JavaScript
36 lines
995 B
JavaScript
import { alias } from '@ember/object/computed';
|
|
import Component from '@ember/component';
|
|
import layout from './template';
|
|
import { computed } from '@ember/object';
|
|
|
|
export default Component.extend({
|
|
layout,
|
|
tagName: 'TH',
|
|
classNames: ['sortable'],
|
|
classNameBindings: ['header.classNames'],
|
|
ariaRole: ['columnheader'],
|
|
attributeBindings: ['width'],
|
|
|
|
sortable: null,
|
|
header: null,
|
|
|
|
current: alias('sortable.sortBy'),
|
|
descending: alias('sortable.descending'),
|
|
|
|
activeAscending: computed('header.name', 'current', 'descending', function() {
|
|
return !this.get('descending') && this.get('current') === this.get('header.name');
|
|
}),
|
|
|
|
activeDescending: computed('header.name', 'current', 'descending', function() {
|
|
return this.get('descending') && this.get('current') === this.get('header.name');
|
|
}),
|
|
|
|
click() {
|
|
if ( this.get('header.sort') ) {
|
|
if (this.action) {
|
|
this.action(this.header.name);
|
|
}
|
|
}
|
|
}
|
|
});
|