@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
84 lines • 9.28 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Pipe } from '@angular/core';
import { cloneArray } from '../../core/utils';
import { GridBaseAPIService } from '../api.service';
import { DataUtil } from '../../data-operations/data-util';
/**
*@hidden
*/
var IgxGridHierarchicalPipe = /** @class */ (function () {
function IgxGridHierarchicalPipe(gridAPI) {
this.gridAPI = gridAPI;
}
IgxGridHierarchicalPipe.prototype.transform = function (collection, state, id, primaryKey, childKeys, pipeTrigger) {
if (state === void 0) { state = []; }
if (childKeys.length === 0) {
return collection;
}
var grid = this.gridAPI.grid;
var result = this.addHierarchy(grid, cloneArray(collection), state, primaryKey, childKeys);
return result;
};
IgxGridHierarchicalPipe.prototype.addHierarchy = function (grid, data, state, primaryKey, childKeys) {
var result = [];
data.forEach(function (v) {
result.push(v);
var childGridsData = {};
childKeys.forEach(function (childKey) {
var childData = v[childKey] ? v[childKey] : null;
childGridsData[childKey] = childData;
});
if (grid.isExpanded(v)) {
result.push({ rowID: primaryKey ? v[primaryKey] : v, childGridsData: childGridsData });
}
});
return result;
};
IgxGridHierarchicalPipe.ctorParameters = function () { return [
{ type: GridBaseAPIService }
]; };
IgxGridHierarchicalPipe = __decorate([
Pipe({
name: 'gridHierarchical',
pure: true
}),
__metadata("design:paramtypes", [GridBaseAPIService])
], IgxGridHierarchicalPipe);
return IgxGridHierarchicalPipe;
}());
export { IgxGridHierarchicalPipe };
/**
*@hidden
*/
var IgxGridHierarchicalPagingPipe = /** @class */ (function () {
function IgxGridHierarchicalPagingPipe(gridAPI) {
this.gridAPI = gridAPI;
}
IgxGridHierarchicalPagingPipe.prototype.transform = function (collection, page, perPage, id, pipeTrigger) {
if (page === void 0) { page = 0; }
if (perPage === void 0) { perPage = 15; }
if (!this.gridAPI.grid.paging) {
return collection;
}
var state = {
index: page,
recordsPerPage: perPage
};
var result = DataUtil.page(cloneArray(collection), state);
this.gridAPI.grid.pagingState = state;
return result;
};
IgxGridHierarchicalPagingPipe.ctorParameters = function () { return [
{ type: GridBaseAPIService }
]; };
IgxGridHierarchicalPagingPipe = __decorate([
Pipe({
name: 'gridHierarchicalPaging',
pure: true
}),
__metadata("design:paramtypes", [GridBaseAPIService])
], IgxGridHierarchicalPagingPipe);
return IgxGridHierarchicalPagingPipe;
}());
export { IgxGridHierarchicalPagingPipe };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2hpY2FsLWdyaWQucGlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL2dyaWRzL2hpZXJhcmNoaWNhbC1ncmlkL2hpZXJhcmNoaWNhbC1ncmlkLnBpcGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNEOztHQUVHO0FBS0g7SUFFSSxpQ0FBb0IsT0FBeUQ7UUFBekQsWUFBTyxHQUFQLE9BQU8sQ0FBa0Q7SUFBSSxDQUFDO0lBRTNFLDJDQUFTLEdBQWhCLFVBQ0ksVUFBZSxFQUNmLEtBQVUsRUFDVixFQUFVLEVBQ1YsVUFBZSxFQUNmLFNBQW1CLEVBQ25CLFdBQW1CO1FBSm5CLHNCQUFBLEVBQUEsVUFBVTtRQU1WLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxVQUFVLENBQUM7U0FDckI7UUFDRCxJQUFNLElBQUksR0FBaUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDN0QsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFN0YsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVNLDhDQUFZLEdBQW5CLFVBQXVCLElBQUksRUFBRSxJQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFtQjtRQUMxRSxJQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFDLENBQUM7WUFDWCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2YsSUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO1lBQzFCLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBQyxRQUFRO2dCQUN2QixJQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNuRCxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBQyxDQUFDLENBQUM7YUFDekY7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7O2dCQWxDNEIsa0JBQWtCOztJQUZ0Qyx1QkFBdUI7UUFKbkMsSUFBSSxDQUFDO1lBQ0YsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUM7eUNBRytCLGtCQUFrQjtPQUZ0Qyx1QkFBdUIsQ0FxQ25DO0lBQUQsOEJBQUM7Q0FBQSxBQXJDRCxJQXFDQztTQXJDWSx1QkFBdUI7QUF1Q3BDOztHQUVHO0FBS0g7SUFFSSx1Q0FBb0IsT0FBeUQ7UUFBekQsWUFBTyxHQUFQLE9BQU8sQ0FBa0Q7SUFBSSxDQUFDO0lBRTNFLGlEQUFTLEdBQWhCLFVBQWlCLFVBQWlCLEVBQUUsSUFBUSxFQUFFLE9BQVksRUFBRSxFQUFVLEVBQUUsV0FBbUI7UUFBdkQscUJBQUEsRUFBQSxRQUFRO1FBQUUsd0JBQUEsRUFBQSxZQUFZO1FBRXRELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0IsT0FBTyxVQUFVLENBQUM7U0FDckI7UUFFRCxJQUFNLEtBQUssR0FBRztZQUNWLEtBQUssRUFBRSxJQUFJO1lBQ1gsY0FBYyxFQUFFLE9BQU87U0FDMUIsQ0FBQztRQUVGLElBQU0sTUFBTSxHQUFVLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDdEMsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7Z0JBaEI0QixrQkFBa0I7O0lBRnRDLDZCQUE2QjtRQUp6QyxJQUFJLENBQUM7WUFDRixJQUFJLEVBQUUsd0JBQXdCO1lBQzlCLElBQUksRUFBRSxJQUFJO1NBQ2IsQ0FBQzt5Q0FHK0Isa0JBQWtCO09BRnRDLDZCQUE2QixDQW1CekM7SUFBRCxvQ0FBQztDQUFBLEFBbkJELElBbUJDO1NBbkJZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lQXJyYXkgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEdyaWRCYXNlQVBJU2VydmljZSB9IGZyb20gJy4uL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IElneEhpZXJhcmNoaWNhbEdyaWRDb21wb25lbnQgfSBmcm9tICcuL2hpZXJhcmNoaWNhbC1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhVXRpbCB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwnO1xuXG4vKipcbiAqQGhpZGRlblxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2dyaWRIaWVyYXJjaGljYWwnLFxuICAgIHB1cmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZEhpZXJhcmNoaWNhbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZ3JpZEFQSTogR3JpZEJhc2VBUElTZXJ2aWNlPElneEhpZXJhcmNoaWNhbEdyaWRDb21wb25lbnQ+KSB7IH1cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgICAgIGNvbGxlY3Rpb246IGFueSxcbiAgICAgICAgc3RhdGUgPSBbXSxcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgcHJpbWFyeUtleTogYW55LFxuICAgICAgICBjaGlsZEtleXM6IHN0cmluZ1tdLFxuICAgICAgICBwaXBlVHJpZ2dlcjogbnVtYmVyXG4gICAgICAgICk6IGFueVtdIHtcbiAgICAgICAgaWYgKGNoaWxkS2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGdyaWQ6IElneEhpZXJhcmNoaWNhbEdyaWRDb21wb25lbnQgPSB0aGlzLmdyaWRBUEkuZ3JpZDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5hZGRIaWVyYXJjaHkoZ3JpZCwgY2xvbmVBcnJheShjb2xsZWN0aW9uKSwgc3RhdGUsIHByaW1hcnlLZXksIGNoaWxkS2V5cyk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkSGllcmFyY2h5PFQ+KGdyaWQsIGRhdGE6IFRbXSwgc3RhdGUsIHByaW1hcnlLZXksIGNoaWxkS2V5czogc3RyaW5nW10pOiBUW10ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcblxuICAgICAgICBkYXRhLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHYpO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRHcmlkc0RhdGEgPSB7fTtcbiAgICAgICAgICAgIGNoaWxkS2V5cy5mb3JFYWNoKChjaGlsZEtleSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkRGF0YSA9IHZbY2hpbGRLZXldID8gdltjaGlsZEtleV0gOiBudWxsO1xuICAgICAgICAgICAgICAgIGNoaWxkR3JpZHNEYXRhW2NoaWxkS2V5XSA9IGNoaWxkRGF0YTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGdyaWQuaXNFeHBhbmRlZCh2KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHsgcm93SUQ6IHByaW1hcnlLZXkgPyB2W3ByaW1hcnlLZXldIDogdiwgY2hpbGRHcmlkc0RhdGE6IGNoaWxkR3JpZHNEYXRhfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cblxuLyoqXG4gKkBoaWRkZW5cbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdncmlkSGllcmFyY2hpY2FsUGFnaW5nJyxcbiAgICBwdXJlOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneEdyaWRIaWVyYXJjaGljYWxQYWdpbmdQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGdyaWRBUEk6IEdyaWRCYXNlQVBJU2VydmljZTxJZ3hIaWVyYXJjaGljYWxHcmlkQ29tcG9uZW50PikgeyB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGNvbGxlY3Rpb246IGFueVtdLCBwYWdlID0gMCwgcGVyUGFnZSA9IDE1LCBpZDogc3RyaW5nLCBwaXBlVHJpZ2dlcjogbnVtYmVyKTogYW55W10ge1xuXG4gICAgICAgIGlmICghdGhpcy5ncmlkQVBJLmdyaWQucGFnaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgICAgICAgaW5kZXg6IHBhZ2UsXG4gICAgICAgICAgICByZWNvcmRzUGVyUGFnZTogcGVyUGFnZVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55W10gPSBEYXRhVXRpbC5wYWdlKGNsb25lQXJyYXkoY29sbGVjdGlvbiksIHN0YXRlKTtcbiAgICAgICAgdGhpcy5ncmlkQVBJLmdyaWQucGFnaW5nU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=