@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
93 lines • 12.3 kB
JavaScript
import { __decorate } from "tslib";
import { Subject } from 'rxjs';
import { GridBaseAPIService } from '../grid';
import { Injectable } from '@angular/core';
let IgxHierarchicalGridAPIService = class IgxHierarchicalGridAPIService extends GridBaseAPIService {
constructor() {
super(...arguments);
this.childRowIslands = new Map();
this.childGrids = new Map();
}
registerChildRowIsland(rowIsland) {
this.childRowIslands.set(rowIsland.key, rowIsland);
this.destroyMap.set(rowIsland.key, new Subject());
}
unsetChildRowIsland(rowIsland) {
this.childGrids.delete(rowIsland.key);
this.childRowIslands.delete(rowIsland.key);
this.destroyMap.delete(rowIsland.key);
}
getChildRowIsland(key) {
return this.childRowIslands.get(key);
}
getChildGrid(path) {
const currPath = path;
let grid;
const pathElem = currPath.shift();
const childrenForLayout = this.childGrids.get(pathElem.rowIslandKey);
if (childrenForLayout) {
const childGrid = childrenForLayout.get(pathElem.rowID);
if (currPath.length === 0) {
grid = childGrid;
}
else {
grid = childGrid.hgridAPI.getChildGrid(currPath);
}
}
return grid;
}
getChildGrids(inDepth) {
const allChildren = [];
this.childGrids.forEach((layoutMap) => {
layoutMap.forEach((grid) => {
allChildren.push(grid);
if (inDepth) {
const children = grid.hgridAPI.getChildGrids(inDepth);
children.forEach((item) => {
allChildren.push(item);
});
}
});
});
return allChildren;
}
getParentRowId(childGrid) {
let rowID;
this.childGrids.forEach((layoutMap) => {
layoutMap.forEach((grid, key) => {
if (grid === childGrid) {
rowID = key;
return;
}
});
});
return rowID;
}
registerChildGrid(parentRowID, rowIslandKey, grid) {
let childrenForLayout = this.childGrids.get(rowIslandKey);
if (!childrenForLayout) {
this.childGrids.set(rowIslandKey, new Map());
childrenForLayout = this.childGrids.get(rowIslandKey);
}
childrenForLayout.set(parentRowID, grid);
}
getChildGridsForRowIsland(rowIslandKey) {
const childrenForLayout = this.childGrids.get(rowIslandKey);
const children = [];
if (childrenForLayout) {
childrenForLayout.forEach((child) => {
children.push(child);
});
}
return children;
}
getChildGridByID(rowIslandKey, rowID) {
const childrenForLayout = this.childGrids.get(rowIslandKey);
return childrenForLayout.get(rowID);
}
};
IgxHierarchicalGridAPIService = __decorate([
Injectable()
], IgxHierarchicalGridAPIService);
export { IgxHierarchicalGridAPIService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2hpY2FsLWdyaWQtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL2dyaWRzL2hpZXJhcmNoaWNhbC1ncmlkL2hpZXJhcmNoaWNhbC1ncmlkLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBd0Isa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxJQUFhLDZCQUE2QixHQUExQyxNQUFhLDZCQUE4QixTQUFRLGtCQUFtRDtJQUF0Rzs7UUFDYyxvQkFBZSxHQUF1QyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztRQUMvRixlQUFVLEdBQ2hCLElBQUksR0FBRyxFQUFrRCxDQUFDO0lBdUZsRSxDQUFDO0lBckZHLHNCQUFzQixDQUFDLFNBQWdDO1FBQ25ELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLE9BQU8sRUFBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELG1CQUFtQixDQUFDLFNBQWdDO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFXO1FBQ3pCLE9BQU8sSUFB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QyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDaEMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFlBQVksRUFBRSxLQUFLO1FBQ2hDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUQsT0FBTyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNKLENBQUE7QUExRlksNkJBQTZCO0lBRHpDLFVBQVUsRUFBRTtHQUNBLDZCQUE2QixDQTBGekM7U0ExRlksNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWd4SGllcmFyY2hpY2FsR3JpZENvbXBvbmVudCB9IGZyb20gJy4vaGllcmFyY2hpY2FsLWdyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IElneFJvd0lzbGFuZENvbXBvbmVudCB9IGZyb20gJy4vcm93LWlzbGFuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVBhdGhTZWdtZW50IH0gZnJvbSAnLi9oaWVyYXJjaGljYWwtZ3JpZC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hHcmlkQmFzZURpcmVjdGl2ZSwgR3JpZEJhc2VBUElTZXJ2aWNlIH0gZnJvbSAnLi4vZ3JpZCc7XG5pbXBvcnQgeyBHcmlkVHlwZSB9IGZyb20gJy4uL2NvbW1vbi9ncmlkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJZ3hIaWVyYXJjaGljYWxHcmlkQVBJU2VydmljZSBleHRlbmRzIEdyaWRCYXNlQVBJU2VydmljZTxJZ3hHcmlkQmFzZURpcmVjdGl2ZSAmIEdyaWRUeXBlPiB7XG4gICAgcHJvdGVjdGVkIGNoaWxkUm93SXNsYW5kczogTWFwPHN0cmluZywgSWd4Um93SXNsYW5kQ29tcG9uZW50PiA9IG5ldyBNYXA8c3RyaW5nLCBJZ3hSb3dJc2xhbmRDb21wb25lbnQ+KCk7XG4gICAgcHJvdGVjdGVkIGNoaWxkR3JpZHM6ICBNYXA8c3RyaW5nLCBNYXA8YW55LCBJZ3hIaWVyYXJjaGljYWxHcmlkQ29tcG9uZW50Pj4gPVxuICAgICAgICBuZXcgTWFwPHN0cmluZywgTWFwPGFueSwgSWd4SGllcmFyY2hpY2FsR3JpZENvbXBvbmVudD4+KCk7XG5cbiAgICByZWdpc3RlckNoaWxkUm93SXNsYW5kKHJvd0lzbGFuZDogSWd4Um93SXNsYW5kQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuY2hpbGRSb3dJc2xhbmRzLnNldChyb3dJc2xhbmQua2V5LCByb3dJc2xhbmQpO1xuICAgICAgICB0aGlzLmRlc3Ryb3lNYXAuc2V0KHJvd0lzbGFuZC5rZXksIG5ldyBTdWJqZWN0PGJvb2xlYW4+KCkpO1xuICAgIH1cblxuICAgIHVuc2V0Q2hpbGRSb3dJc2xhbmQocm93SXNsYW5kOiBJZ3hSb3dJc2xhbmRDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5jaGlsZEdyaWRzLmRlbGV0ZShyb3dJc2xhbmQua2V5KTtcbiAgICAgICAgdGhpcy5jaGlsZFJvd0lzbGFuZHMuZGVsZXRlKHJvd0lzbGFuZC5rZXkpO1xuICAgICAgICB0aGlzLmRlc3Ryb3lNYXAuZGVsZXRlKHJvd0lzbGFuZC5rZXkpO1xuICAgIH1cblxuICAgIGdldENoaWxkUm93SXNsYW5kKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkUm93SXNsYW5kcy5nZXQoa2V5KTtcbiAgICB9XG5cbiAgICBnZXRDaGlsZEdyaWQocGF0aDogQXJyYXk8SVBhdGhTZWdtZW50Pikge1xuICAgICAgICBjb25zdCBjdXJyUGF0aCA9IHBhdGg7XG4gICAgICAgIGxldCBncmlkO1xuICAgICAgICBjb25zdCBwYXRoRWxlbSA9IGN1cnJQYXRoLnNoaWZ0KCk7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuRm9yTGF5b3V0ID0gdGhpcy5jaGlsZEdyaWRzLmdldChwYXRoRWxlbS5yb3dJc2xhbmRLZXkpO1xuICAgICAgICBpZiAoY2hpbGRyZW5Gb3JMYXlvdXQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkR3JpZCA9IGNoaWxkcmVuRm9yTGF5b3V0LmdldChwYXRoRWxlbS5yb3dJRCk7XG4gICAgICAgICAgICBpZiAoY3VyclBhdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgZ3JpZCA9IGNoaWxkR3JpZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZ3JpZCA9IGNoaWxkR3JpZC5oZ3JpZEFQSS5nZXRDaGlsZEdyaWQoY3VyclBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBncmlkO1xuICAgIH1cblxuICAgIGdldENoaWxkR3JpZHMoaW5EZXB0aD86IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgYWxsQ2hpbGRyZW4gPSBbXTtcbiAgICAgICAgdGhpcy5jaGlsZEdyaWRzLmZvckVhY2goKGxheW91dE1hcCkgPT4ge1xuICAgICAgICAgICAgbGF5b3V0TWFwLmZvckVhY2goKGdyaWQpID0+IHtcbiAgICAgICAgICAgICAgICBhbGxDaGlsZHJlbi5wdXNoKGdyaWQpO1xuICAgICAgICAgICAgICAgIGlmIChpbkRlcHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZ3JpZC5oZ3JpZEFQSS5nZXRDaGlsZEdyaWRzKGluRGVwdGgpO1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGxDaGlsZHJlbi5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGFsbENoaWxkcmVuO1xuICAgIH1cblxuICAgIGdldFBhcmVudFJvd0lkKGNoaWxkR3JpZDogSWd4SGllcmFyY2hpY2FsR3JpZENvbXBvbmVudCkge1xuICAgICAgICBsZXQgcm93SUQ7XG4gICAgICAgIHRoaXMuY2hpbGRHcmlkcy5mb3JFYWNoKChsYXlvdXRNYXApID0+IHtcbiAgICAgICAgICAgIGxheW91dE1hcC5mb3JFYWNoKChncmlkLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZ3JpZCA9PT0gY2hpbGRHcmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvd0lEID0ga2V5O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcm93SUQ7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJDaGlsZEdyaWQocGFyZW50Um93SUQ6IHN0cmluZ3xvYmplY3QsIHJvd0lzbGFuZEtleTogc3RyaW5nLCBncmlkOiBJZ3hIaWVyYXJjaGljYWxHcmlkQ29tcG9uZW50KSB7XG4gICAgICAgIGxldCBjaGlsZHJlbkZvckxheW91dCA9IHRoaXMuY2hpbGRHcmlkcy5nZXQocm93SXNsYW5kS2V5KTtcbiAgICAgICAgaWYgKCFjaGlsZHJlbkZvckxheW91dCkge1xuICAgICAgICAgICAgdGhpcy5jaGlsZEdyaWRzLnNldChyb3dJc2xhbmRLZXksIG5ldyBNYXA8YW55LCBJZ3hIaWVyYXJjaGljYWxHcmlkQ29tcG9uZW50PigpKTtcbiAgICAgICAgICAgIGNoaWxkcmVuRm9yTGF5b3V0ID0gdGhpcy5jaGlsZEdyaWRzLmdldChyb3dJc2xhbmRLZXkpO1xuICAgICAgICB9XG4gICAgICAgIGNoaWxkcmVuRm9yTGF5b3V0LnNldChwYXJlbnRSb3dJRCwgZ3JpZCk7XG4gICAgfVxuXG4gICAgZ2V0Q2hpbGRHcmlkc0ZvclJvd0lzbGFuZChyb3dJc2xhbmRLZXkpOiBJZ3hIaWVyYXJjaGljYWxHcmlkQ29tcG9uZW50W10ge1xuICAgICAgICBjb25zdCBjaGlsZHJlbkZvckxheW91dCA9IHRoaXMuY2hpbGRHcmlkcy5nZXQocm93SXNsYW5kS2V5KTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgaWYgKGNoaWxkcmVuRm9yTGF5b3V0KSB7XG4gICAgICAgICAgICBjaGlsZHJlbkZvckxheW91dC5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xuICAgIH1cblxuICAgIGdldENoaWxkR3JpZEJ5SUQocm93SXNsYW5kS2V5LCByb3dJRCkge1xuICAgICAgICBjb25zdCBjaGlsZHJlbkZvckxheW91dCA9IHRoaXMuY2hpbGRHcmlkcy5nZXQocm93SXNsYW5kS2V5KTtcbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuRm9yTGF5b3V0LmdldChyb3dJRCk7XG4gICAgfVxufVxuIl19