angular-9-datatable
Version:
DataTable component for Angular 9 framework
45 lines • 5.12 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, Input } from "@angular/core";
import { DataTable, SortEvent } from "./data-table.directive";
let DefaultSorter = class DefaultSorter {
constructor(mfTable) {
this.mfTable = mfTable;
this.isSortedByMeAsc = false;
this.isSortedByMeDesc = false;
}
ngOnInit() {
this.mfTable.onSortChange.subscribe((event) => {
this.isSortedByMeAsc = (event.sortBy == this.sortBy && event.sortOrder == "asc");
this.isSortedByMeDesc = (event.sortBy == this.sortBy && event.sortOrder == "desc");
});
}
sort() {
if (this.isSortedByMeAsc) {
this.mfTable.setSort(this.sortBy, "desc");
}
else {
this.mfTable.setSort(this.sortBy, "asc");
}
}
};
DefaultSorter.ctorParameters = () => [
{ type: DataTable }
];
__decorate([
Input("by"),
__metadata("design:type", String)
], DefaultSorter.prototype, "sortBy", void 0);
DefaultSorter = __decorate([
Component({
selector: "mfDefaultSorter",
template: `
<a style="cursor: pointer" (click)="sort()" class="text-nowrap">
<ng-content></ng-content>
<span *ngIf="isSortedByMeAsc" class="glyphicon glyphicon-triangle-top fa fa-sort-up" aria-hidden="true"></span>
<span *ngIf="isSortedByMeDesc" class="glyphicon glyphicon-triangle-bottom fa fa-sort-down" aria-hidden="true"></span>
</a>`
}),
__metadata("design:paramtypes", [DataTable])
], DefaultSorter);
export { DefaultSorter };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zb3J0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci05LWRhdGF0YWJsZS8iLCJzb3VyY2VzIjpbImxpYi9kZWZhdWx0LXNvcnRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFXOUQsSUFBYSxhQUFhLEdBQTFCLE1BQWEsYUFBYTtJQU10QixZQUEyQixPQUFrQjtRQUFsQixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBSDdDLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFZLEtBQUssQ0FBQztJQUdsQyxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLENBQUM7UUFDdkYsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztDQUNKLENBQUE7O1lBakJ1QyxTQUFTOztBQUxoQztJQUFaLEtBQUssQ0FBQyxJQUFJLENBQUM7OzZDQUFnQjtBQURuQixhQUFhO0lBVHpCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsUUFBUSxFQUFFOzs7OzthQUtEO0tBQ1osQ0FBQztxQ0FPc0MsU0FBUztHQU5wQyxhQUFhLENBdUJ6QjtTQXZCWSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRGF0YVRhYmxlLCBTb3J0RXZlbnQgfSBmcm9tIFwiLi9kYXRhLXRhYmxlLmRpcmVjdGl2ZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJtZkRlZmF1bHRTb3J0ZXJcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGEgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIiAoY2xpY2spPVwic29ydCgpXCIgY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNTb3J0ZWRCeU1lQXNjXCIgY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLXRyaWFuZ2xlLXRvcCBmYSBmYS1zb3J0LXVwXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzU29ydGVkQnlNZURlc2NcIiBjbGFzcz1cImdseXBoaWNvbiBnbHlwaGljb24tdHJpYW5nbGUtYm90dG9tIGZhIGZhLXNvcnQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2E+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVmYXVsdFNvcnRlciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoXCJieVwiKSBzb3J0Qnk6IHN0cmluZztcclxuXHJcbiAgICBpc1NvcnRlZEJ5TWVBc2M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGlzU29ydGVkQnlNZURlc2M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBtZlRhYmxlOiBEYXRhVGFibGUpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tZlRhYmxlLm9uU29ydENoYW5nZS5zdWJzY3JpYmUoKGV2ZW50OiBTb3J0RXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1NvcnRlZEJ5TWVBc2MgPSAoZXZlbnQuc29ydEJ5ID09IHRoaXMuc29ydEJ5ICYmIGV2ZW50LnNvcnRPcmRlciA9PSBcImFzY1wiKTtcclxuICAgICAgICAgICAgdGhpcy5pc1NvcnRlZEJ5TWVEZXNjID0gKGV2ZW50LnNvcnRCeSA9PSB0aGlzLnNvcnRCeSAmJiBldmVudC5zb3J0T3JkZXIgPT0gXCJkZXNjXCIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNvcnQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNTb3J0ZWRCeU1lQXNjKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWZUYWJsZS5zZXRTb3J0KHRoaXMuc29ydEJ5LCBcImRlc2NcIik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5tZlRhYmxlLnNldFNvcnQodGhpcy5zb3J0QnksIFwiYXNjXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=