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