UNPKG

igniteui-angular

Version:

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

142 lines 10.3 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Subject } from 'rxjs'; export class IgxRowIslandAPIService { constructor() { this.change = new Subject(); this.state = new Map(); this.destroyMap = new Map(); this.childRowIslands = new Map(); this.childGrids = new Map(); } /** * @param {?} rowIsland * @return {?} */ register(rowIsland) { this.state.set(rowIsland.id, rowIsland); this.destroyMap.set(rowIsland.id, new Subject()); } /** * @param {?} rowIsland * @return {?} */ unsubscribe(rowIsland) { this.state.delete(rowIsland.id); } /** * @param {?} id * @return {?} */ get(id) { return this.state.get(id); } /** * @param {?} id * @return {?} */ unset(id) { this.state.delete(id); this.destroyMap.delete(id); } /** * @param {?} oldId * @param {?} newId * @return {?} */ reset(oldId, newId) { /** @type {?} */ const destroy = this.destroyMap.get(oldId); /** @type {?} */ const rowIsland = this.get(oldId); this.unset(oldId); if (rowIsland) { this.state.set(newId, rowIsland); } if (destroy) { this.destroyMap.set(newId, destroy); } } /** * @param {?} rowIsland * @return {?} */ registerChildRowIsland(rowIsland) { this.childRowIslands.set(rowIsland.key, rowIsland); this.destroyMap.set(rowIsland.key, new Subject()); } /** * @param {?} rowIsland * @return {?} */ unsetChildRowIsland(rowIsland) { this.childRowIslands.delete(rowIsland.key); this.destroyMap.delete(rowIsland.key); } /** * @param {?} rowIslandKey * @return {?} */ getChildRowIsland(rowIslandKey) { return this.childRowIslands.get(rowIslandKey); } /** * @param {?} parentRowID * @param {?} grid * @return {?} */ registerChildGrid(parentRowID, grid) { this.childGrids.set(parentRowID, grid); } /** * @param {?=} inDepth * @return {?} */ getChildGrids(inDepth) { /** @type {?} */ let allChildren = []; this.childGrids.forEach((grid) => { allChildren.push(grid); }); if (inDepth) { this.childRowIslands.forEach((layout) => { allChildren = allChildren.concat(layout.rowIslandAPI.getChildGrids(inDepth)); }); } return allChildren; } /** * @param {?} rowID * @return {?} */ getChildGridByID(rowID) { return this.childGrids.get(rowID); } } if (false) { /** @type {?} */ IgxRowIslandAPIService.prototype.change; /** * @type {?} * @protected */ IgxRowIslandAPIService.prototype.state; /** * @type {?} * @protected */ IgxRowIslandAPIService.prototype.destroyMap; /** * @type {?} * @protected */ IgxRowIslandAPIService.prototype.childRowIslands; /** * @type {?} * @protected */ IgxRowIslandAPIService.prototype.childGrids; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWlzbGFuZC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2lnbml0ZXVpLWFuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZ3JpZHMvaGllcmFyY2hpY2FsLWdyaWQvcm93LWlzbGFuZC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixNQUFNLE9BQU8sc0JBQXNCO0lBQW5DO1FBQ1csV0FBTSxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQ3ZDLFVBQUssR0FBdUMsSUFBSSxHQUFHLEVBQWlDLENBQUM7UUFDckYsZUFBVSxHQUFrQyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztRQUVoRixvQkFBZSxHQUF1QyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztRQUMvRixlQUFVLEdBQTRDLElBQUksR0FBRyxFQUFxQyxDQUFDO0lBc0VqSCxDQUFDOzs7OztJQXBFVSxRQUFRLENBQUMsU0FBZ0M7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksT0FBTyxFQUFXLENBQUMsQ0FBQztJQUM5RCxDQUFDOzs7OztJQUVNLFdBQVcsQ0FBQyxTQUFnQztRQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7Ozs7SUFFTSxHQUFHLENBQUMsRUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7Ozs7O0lBRU0sS0FBSyxDQUFDLEVBQVU7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7Ozs7O0lBRU0sS0FBSyxDQUFDLEtBQWEsRUFBRSxLQUFhOztjQUMvQixPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDOztjQUNwQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFFakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsQixJQUFJLFNBQVMsRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNwQztRQUVELElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQzs7Ozs7SUFFRCxzQkFBc0IsQ0FBQyxTQUFnQztRQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxPQUFPLEVBQVcsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Ozs7O0lBRUQsbUJBQW1CLENBQUMsU0FBZ0M7UUFDaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs7OztJQUVELGlCQUFpQixDQUFDLFlBQW9CO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7Ozs7O0lBRUQsaUJBQWlCLENBQUMsV0FBMEIsRUFBRSxJQUFrQztRQUM1RSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7Ozs7SUFFRCxhQUFhLENBQUMsT0FBaUI7O1lBQ3ZCLFdBQVcsR0FBRyxFQUFFO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDN0IsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDcEMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNqRixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFLO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUNKOzs7SUEzRUcsd0NBQWlEOzs7OztJQUNqRCx1Q0FBK0Y7Ozs7O0lBQy9GLDRDQUEwRjs7Ozs7SUFFMUYsaURBQXlHOzs7OztJQUN6Ryw0Q0FBNkciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZ3hIaWVyYXJjaGljYWxHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi9oaWVyYXJjaGljYWwtZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4Um93SXNsYW5kQ29tcG9uZW50IH0gZnJvbSAnLi9yb3ctaXNsYW5kLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBJZ3hSb3dJc2xhbmRBUElTZXJ2aWNlIHtcbiAgICBwdWJsaWMgY2hhbmdlOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgcHJvdGVjdGVkIHN0YXRlOiBNYXA8c3RyaW5nLCBJZ3hSb3dJc2xhbmRDb21wb25lbnQ+ID0gbmV3IE1hcDxzdHJpbmcsIElneFJvd0lzbGFuZENvbXBvbmVudD4oKTtcbiAgICBwcm90ZWN0ZWQgZGVzdHJveU1hcDogTWFwPHN0cmluZywgU3ViamVjdDxib29sZWFuPj4gPSBuZXcgTWFwPHN0cmluZywgU3ViamVjdDxib29sZWFuPj4oKTtcblxuICAgIHByb3RlY3RlZCBjaGlsZFJvd0lzbGFuZHM6IE1hcDxzdHJpbmcsIElneFJvd0lzbGFuZENvbXBvbmVudD4gPSBuZXcgTWFwPHN0cmluZywgSWd4Um93SXNsYW5kQ29tcG9uZW50PigpO1xuICAgIHByb3RlY3RlZCBjaGlsZEdyaWRzOiAgTWFwPGFueSwgSWd4SGllcmFyY2hpY2FsR3JpZENvbXBvbmVudD4gPSBuZXcgTWFwPGFueSwgSWd4SGllcmFyY2hpY2FsR3JpZENvbXBvbmVudD4oKTtcblxuICAgIHB1YmxpYyByZWdpc3Rlcihyb3dJc2xhbmQ6IElneFJvd0lzbGFuZENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLnN0YXRlLnNldChyb3dJc2xhbmQuaWQsIHJvd0lzbGFuZCk7XG4gICAgICAgIHRoaXMuZGVzdHJveU1hcC5zZXQocm93SXNsYW5kLmlkLCBuZXcgU3ViamVjdDxib29sZWFuPigpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdW5zdWJzY3JpYmUocm93SXNsYW5kOiBJZ3hSb3dJc2xhbmRDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5zdGF0ZS5kZWxldGUocm93SXNsYW5kLmlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KGlkOiBzdHJpbmcpOiBJZ3hSb3dJc2xhbmRDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5nZXQoaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1bnNldChpZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdGUuZGVsZXRlKGlkKTtcbiAgICAgICAgdGhpcy5kZXN0cm95TWFwLmRlbGV0ZShpZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0KG9sZElkOiBzdHJpbmcsIG5ld0lkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZGVzdHJveSA9IHRoaXMuZGVzdHJveU1hcC5nZXQob2xkSWQpO1xuICAgICAgICBjb25zdCByb3dJc2xhbmQgPSB0aGlzLmdldChvbGRJZCk7XG5cbiAgICAgICAgdGhpcy51bnNldChvbGRJZCk7XG5cbiAgICAgICAgaWYgKHJvd0lzbGFuZCkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZS5zZXQobmV3SWQsIHJvd0lzbGFuZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGVzdHJveSkge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95TWFwLnNldChuZXdJZCwgZGVzdHJveSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3RlckNoaWxkUm93SXNsYW5kKHJvd0lzbGFuZDogSWd4Um93SXNsYW5kQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuY2hpbGRSb3dJc2xhbmRzLnNldChyb3dJc2xhbmQua2V5LCByb3dJc2xhbmQpO1xuICAgICAgICB0aGlzLmRlc3Ryb3lNYXAuc2V0KHJvd0lzbGFuZC5rZXksIG5ldyBTdWJqZWN0PGJvb2xlYW4+KCkpO1xuICAgIH1cblxuICAgIHVuc2V0Q2hpbGRSb3dJc2xhbmQocm93SXNsYW5kOiBJZ3hSb3dJc2xhbmRDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5jaGlsZFJvd0lzbGFuZHMuZGVsZXRlKHJvd0lzbGFuZC5rZXkpO1xuICAgICAgICB0aGlzLmRlc3Ryb3lNYXAuZGVsZXRlKHJvd0lzbGFuZC5rZXkpO1xuICAgIH1cblxuICAgIGdldENoaWxkUm93SXNsYW5kKHJvd0lzbGFuZEtleTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkUm93SXNsYW5kcy5nZXQocm93SXNsYW5kS2V5KTtcbiAgICB9XG5cbiAgICByZWdpc3RlckNoaWxkR3JpZChwYXJlbnRSb3dJRDogc3RyaW5nfG9iamVjdCwgZ3JpZDogSWd4SGllcmFyY2hpY2FsR3JpZENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLmNoaWxkR3JpZHMuc2V0KHBhcmVudFJvd0lELCBncmlkKTtcbiAgICB9XG5cbiAgICBnZXRDaGlsZEdyaWRzKGluRGVwdGg/OiBib29sZWFuKSB7XG4gICAgICAgIGxldCBhbGxDaGlsZHJlbiA9IFtdO1xuICAgICAgICB0aGlzLmNoaWxkR3JpZHMuZm9yRWFjaCgoZ3JpZCkgPT4ge1xuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ucHVzaChncmlkKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpbkRlcHRoKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkUm93SXNsYW5kcy5mb3JFYWNoKChsYXlvdXQpID0+IHtcbiAgICAgICAgICAgICAgICBhbGxDaGlsZHJlbiA9IGFsbENoaWxkcmVuLmNvbmNhdChsYXlvdXQucm93SXNsYW5kQVBJLmdldENoaWxkR3JpZHMoaW5EZXB0aCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWxsQ2hpbGRyZW47XG4gICAgfVxuXG4gICAgZ2V0Q2hpbGRHcmlkQnlJRChyb3dJRCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZEdyaWRzLmdldChyb3dJRCk7XG4gICAgfVxufVxuIl19