UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

93 lines 12.3 kB
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