@taiga-ui/addon-table
Version:
A library to display tabled data with filters, search, group actions, etc.
31 lines • 3.91 kB
JavaScript
import { __decorate } from "tslib";
import { inject, Pipe } from '@angular/core';
import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
import { TuiTableDirective } from '../directives/table.directive';
import * as i0 from "@angular/core";
class TuiTableSortPipe {
constructor() {
this.table = inject((TuiTableDirective));
}
transform(data) {
return this.sort(data ?? [], this.table.sorter, this.table.direction);
}
sort(data, sorter, direction) {
return [...data].sort((a, b) => direction * sorter(a, b));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTableSortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiTableSortPipe, isStandalone: true, name: "tuiTableSort", pure: false }); }
}
__decorate([
tuiPure
], TuiTableSortPipe.prototype, "sort", null);
export { TuiTableSortPipe };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTableSortPipe, decorators: [{
type: Pipe,
args: [{
standalone: true,
name: 'tuiTableSort',
pure: false,
}]
}], propDecorators: { sort: [] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc29ydC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvY29tcG9uZW50cy90YWJsZS9waXBlcy90YWJsZS1zb3J0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7O0FBR2hFLE1BS2EsZ0JBQWdCO0lBTDdCO1FBTXFCLFVBQUssR0FBRyxNQUFNLENBQUMsQ0FBQSxpQkFBc0IsQ0FBQSxDQUFDLENBQUM7S0FjM0Q7SUFaVSxTQUFTLENBQUksSUFBMEI7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFJLElBQUksSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBR08sSUFBSSxDQUNSLElBQWtCLEVBQ2xCLE1BQXdCLEVBQ3hCLFNBQTJCO1FBRTNCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQzsrR0FkUSxnQkFBZ0I7NkdBQWhCLGdCQUFnQjs7QUFRakI7SUFEUCxPQUFPOzRDQU9QO1NBZFEsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBTDVCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsS0FBSztpQkFDZDs4QkFTVyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIFBpcGUsIHR5cGUgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R5cGUgVHVpQ29tcGFyYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLXRhYmxlL3R5cGVzJztcbmltcG9ydCB7dHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcblxuaW1wb3J0IHtUdWlUYWJsZURpcmVjdGl2ZX0gZnJvbSAnLi4vZGlyZWN0aXZlcy90YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHt0eXBlIFR1aVNvcnREaXJlY3Rpb259IGZyb20gJy4uL3RhYmxlLm9wdGlvbnMnO1xuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAndHVpVGFibGVTb3J0JyxcbiAgICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGFibGVTb3J0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFibGUgPSBpbmplY3QoVHVpVGFibGVEaXJlY3RpdmU8YW55Pik7XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtPFQ+KGRhdGE/OiByZWFkb25seSBUW10gfCBudWxsKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc29ydDxUPihkYXRhID8/IFtdLCB0aGlzLnRhYmxlLnNvcnRlciwgdGhpcy50YWJsZS5kaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBzb3J0PFQ+KFxuICAgICAgICBkYXRhOiByZWFkb25seSBUW10sXG4gICAgICAgIHNvcnRlcjogVHVpQ29tcGFyYXRvcjxUPixcbiAgICAgICAgZGlyZWN0aW9uOiBUdWlTb3J0RGlyZWN0aW9uLFxuICAgICk6IHJlYWRvbmx5IFRbXSB7XG4gICAgICAgIHJldHVybiBbLi4uZGF0YV0uc29ydCgoYSwgYikgPT4gZGlyZWN0aW9uICogc29ydGVyKGEsIGIpKTtcbiAgICB9XG59XG4iXX0=