ftable
Version:
Angular 6/7 Tables
46 lines • 3.94 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component } from '@angular/core';
import { Output } from '@angular/core';
import { EventEmitter } from '@angular/core';
export class FSorterComponent {
constructor() {
this.order = new EventEmitter();
this.nextState = 0;
this.currentIcon = 0;
this.states = ['', 'Asc', 'Desc'];
}
/**
* @return {?}
*/
next() {
this.nextState = (this.nextState + 1) % 3;
this.currentIcon = this.nextState;
this.order.emit({ state: this.states[this.nextState] });
}
}
FSorterComponent.decorators = [
{ type: Component, args: [{
selector: 'ft-fsorter',
template: "<button class=\"ft-b ft-b-fsorter\" (click)=\"next()\" title=\"{{states[nextState]}}\"><span [ngClass]=\"{'ft-sort-neutral': currentIcon == 0, 'ft-sort-asc': currentIcon == 1, 'ft-sort-desc': currentIcon == 2}\"></span></button>",
styles: [""]
}] }
];
/** @nocollapse */
FSorterComponent.ctorParameters = () => [];
FSorterComponent.propDecorators = {
order: [{ type: Output }]
};
if (false) {
/** @type {?} */
FSorterComponent.prototype.order;
/** @type {?} */
FSorterComponent.prototype.states;
/** @type {?} */
FSorterComponent.prototype.nextState;
/** @type {?} */
FSorterComponent.prototype.currentIcon;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnNvcnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mdGFibGUvIiwic291cmNlcyI6WyJsaWIvZnNvcnRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzdDLE1BQU0sT0FBTyxnQkFBZ0I7SUFPekI7UUFOVSxVQUFLLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFPekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7OztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDOzs7WUF4QkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixnUEFBdUM7O2FBRzFDOzs7OztvQkFHSSxNQUFNOzs7O0lBQVAsaUNBQTZEOztJQUU3RCxrQ0FBd0I7O0lBQ3hCLHFDQUF5Qjs7SUFDekIsdUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Z0LWZzb3J0ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mc29ydGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mc29ydGVyLmNvbXBvbmVudC5zY3NzJ10sXG5cbn0pXG5cbmV4cG9ydCBjbGFzcyBGU29ydGVyQ29tcG9uZW50IHtcbiAgICBAT3V0cHV0KCkgb3JkZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBwdWJsaWMgc3RhdGVzOiBzdHJpbmdbXTtcbiAgICBwdWJsaWMgbmV4dFN0YXRlOiBudW1iZXI7XG4gICAgcHVibGljIGN1cnJlbnRJY29uOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5uZXh0U3RhdGUgPSAwO1xuICAgICAgICB0aGlzLmN1cnJlbnRJY29uID0gMDtcbiAgICAgICAgdGhpcy5zdGF0ZXMgPSBbJycsICdBc2MnLCAnRGVzYyddO1xuICAgIH1cblxuICAgIG5leHQoKSB7XG4gICAgICAgIHRoaXMubmV4dFN0YXRlID0gKHRoaXMubmV4dFN0YXRlICsgMSkgJSAzO1xuICAgICAgICB0aGlzLmN1cnJlbnRJY29uID0gdGhpcy5uZXh0U3RhdGU7XG4gICAgICAgIHRoaXMub3JkZXIuZW1pdCh7IHN0YXRlOiB0aGlzLnN0YXRlc1t0aGlzLm5leHRTdGF0ZV0gfSk7XG4gICAgfVxuXG59XG4iXX0=