UNPKG

air-lib

Version:

This is Air's angular component library

417 lines 56.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ // tslint:disable-next-line:max-line-length import { Component, Input, ViewChild, ViewContainerRef, ComponentFactoryResolver, ViewEncapsulation } from '@angular/core'; import { Router } from '@angular/router'; import { HttpService } from '../../services/http.service'; import { CreateTileCommand } from '../../entities/create-tile-command'; export class TileCollectionComponent { /** * @param {?} compiler * @param {?} httpService * @param {?} router */ constructor(compiler, httpService, router) { this.compiler = compiler; this.httpService = httpService; this.router = router; this.loadOnInit = true; this.recursionLimit = 0; this.supportedTypes = {}; this.defaultMinimumCount = 2; this.defaultMaximumCount = 6; this.dtoState = new Array(); this.components = new Array(); this.displayedTiles = new Array(); if (!this.minimumCount) { this.minimumCount = this.defaultMinimumCount; } if (!this.maximumCount) { this.maximumCount = this.defaultMaximumCount; } } /** * @param {?} language * @return {?} */ set language(language) { this.locale = language || 'ru'; } /** * @param {?} tilesList * @return {?} */ set initTiles(tilesList) { this.tilesList = tilesList; if (tilesList && tilesList.length > 0) { tilesList.forEach((tileNode) => { if (tileNode.component) { this.includeSupportedType(tileNode.component); if (tileNode.childrens) { tileNode.childrens.forEach((childTileNode) => { this.includeSupportedType(childTileNode.component); }); } } }); this.tryRestoreStates(tilesList); } } /** * @private * @param {?} component * @return {?} */ includeSupportedType(component) { if (!component) { return; } /** @type {?} */ const componentName = component['componentName']; if (!componentName) { throw new Error('TileComponent static field \'componentName\' is not declared'); } if (!this.supportedTypes[componentName]) { this.supportedTypes[componentName] = component; } } /** * @private * @param {?} tilesList * @return {?} */ tryRestoreStates(tilesList) { /** @type {?} */ const self = this; this.getStateByName(this.nameState).then((data) => { if (data) { /** @type {?} */ const stateList = JSON.parse(data); stateList.forEach((tileNode) => { tileNode.arguments.forEach((arg) => arg.loadOnInit = self.loadOnInit); /** @type {?} */ const tile = { ownData: tileNode.ownData, component: self.supportedTypes[tileNode.typeInfo], arguments: tileNode.arguments, canRemove: true, /** * @return {?} */ getDataForState() { } }; self.add(tile); }); } else { self.initDefaultTiles(tilesList); } }); } /** * @private * @param {?} list * @return {?} */ initDefaultTiles(list) { /** @type {?} */ const action = (node) => { if (node.isDefault) { this.onAdding(node, false); } }; this.traverseAndLimitedDo(list, new CreateTileCommand(action), this.defaultMaximumCount); this.saveToStorage(); } /** * @private * @param {?} tile * @return {?} */ add(tile) { /** @type {?} */ const instance = this.createInstance(tile); this.displayedTiles.push(instance); /** @type {?} */ const showRemove = this.canRemove(); this.displayedTiles.forEach((t) => { t.canRemove = showRemove; }); } /** * @param {?} value * @param {?=} saveToStorage * @return {?} */ onAdding(value, saveToStorage = true) { /** @type {?} */ const item = { component: value.parent ? value.parent.component : value.component, arguments: new Array(), tileId: value.tileId, ownData: {}, canRemove: true, /** * @return {?} */ getDataForState() { } }; item.arguments.push({ parentId: value.parent ? value.parent.tileId : value.tileId, childrenId: value.tileId, childrenKey: value.nameKey, tileId: value.tileId, filterState: value.parent ? value.parent.filterState : value.filterState, loadOnInit: value.loadOnInit || this.loadOnInit }); this.add(item); if (saveToStorage === true) { this.saveToStorage(); } } /** * @param {?} item * @return {?} */ createInstance(item) { if (!item.component) { throw new Error('Argument of component is null, so cannot create tile'); } this.componentFactory = this.compiler.resolveComponentFactory(item.component); this.componentRef = this.target.createComponent(this.componentFactory); this.components.push(this.componentRef); this.componentRef.instance.arguments = typeof this.componentRef.instance.arguments !== 'undefined' && this.componentRef.instance.arguments.length > 0 ? this.componentRef.instance.arguments.concat(item.arguments) : item.arguments; this.dtoState = this.dtoState.concat(item.arguments); this.componentRef.instance.remove.subscribe((removedComponent) => { /** @type {?} */ const targetCopy = this.target; /** @type {?} */ const componentIndex = this.displayedTiles.indexOf(removedComponent); if (componentIndex !== -1) { this.displayedTiles.splice(componentIndex, 1); if (targetCopy !== null) { /** @type {?} */ const result = targetCopy.get(componentIndex); if (result !== null) { result.destroy(); } } } this.dtoState.forEach((dtoRow, index) => { if (dtoRow.childrenId === this.componentRef.instance.arguments[0].childrenId) { this.dtoState.splice(index, 1); } }); /** @type {?} */ const showRemove = this.canRemove(); this.displayedTiles.forEach((t) => { t.canRemove = showRemove; }); this.saveToStorage(); }); return this.componentRef.instance; } /** * @return {?} */ canRemove() { return typeof this.displayedTiles !== 'undefined' && this.displayedTiles.length > 0 && this.minimumCount < this.displayedTiles.length; } /** * @private * @param {?} name * @param {?} state * @return {?} */ setStateByName(name, state) { this.httpService.httpPut(Const.urlSetState + name, state).subscribe(() => { }, err => console.log(err)); } /** * @private * @param {?} component * @return {?} */ prepareForSaveState(component) { /** @type {?} */ const resultArray = new Array(); component.forEach((item) => { /** @type {?} */ const tile = { 'ownData': item.getDataForState(), 'component': item.component, 'arguments': item.arguments, 'typeInfo': item.component['componentName'], 'canRemove': true, /** * @return {?} */ getDataForState() { } }; resultArray.push(tile); }); return resultArray; } /** * @private * @return {?} */ saveToStorage() { /** @type {?} */ const tiles = this.prepareForSaveState(this.displayedTiles); /** @type {?} */ const state = JSON.stringify(tiles); this.setStateByName(this.nameState, state); } /** * @private * @param {?} name * @return {?} */ getStateByName(name) { return this.httpService.httpGet(Const.urlGetStateByName + name).toPromise().then((res) => res); } /** * @private * @param {?} tree * @param {?} action * @return {?} */ traverseAndDo(tree, action) { tree.forEach(node => { if (node.childrens != null && node.childrens.length > 0) { this.traverseAndDo(node.childrens, action); } else { action.execute(node); } }); } /** * @private * @param {?} tree * @param {?} action * @param {?} maxCount * @return {?} */ traverseAndLimitedDo(tree, action, maxCount) { tree.forEach(node => { if (node.childrens != null && node.childrens.length > 0 && this.recursionLimit < maxCount) { this.traverseAndLimitedDo(node.childrens, action, maxCount); } else { this.recursionLimit++; action.execute(node); } }); } } TileCollectionComponent.decorators = [ { type: Component, args: [{ selector: 'air-tile-collection', template: "<div class=\"container-parameter col-lg-2 p-l-0 p-r-15 col-md-12\">\r\n <div class=\"row-7 clear_after inline-el\">\r\n <div #target></div>\r\n <air-add-tile *ngIf=\"maximumCount >= (displayedTiles?.length + 1)\" \r\n [tilesList]=\"tilesList\" \r\n [displayedTiles]=\"displayedTiles\" \r\n [language]=\"locale\"\r\n (create)=\"onAdding($event)\">\r\n </air-add-tile>\r\n </div>\r\n</div>", encapsulation: ViewEncapsulation.None, styles: [".position-relative{position:relative}.full-width{width:100%}.btn .but-text{line-height:16px;text-align:left}.btn .block-add{position:relative;display:table;margin:0 auto}.btn .circle-add{display:inline-block;width:30px;height:30px;line-height:28px;box-shadow:inset 0 0 0 1px #2c2c2c;position:absolute;font-size:28px;left:0;top:50%;margin-top:-15px;border-radius:50%;font-weight:100}.row{margin-right:-7.5px;margin-left:-7.5px}.row-5{margin-right:-5px;margin-left:-5px}.row-7{margin-left:-7px;margin-right:-7px}.p-t-0{padding-top:0!important}.p-b-0{padding-bottom:0!important}.p-t-8{padding-top:8px}.p-r-0{padding-right:0}.p-l-0{padding-left:0}.p-l-5{padding-left:5px}.p-r-7-5{padding-right:7.5px}.p-l-7-5{padding-left:7.5px}.m-r-7-5{margin-right:-7.5px}.m-l-7-5{margin-left:-7.5px}.m-t-7{margin-top:7px}.row-away-5{margin-left:-5px}.m-r-2-5{margin-right:2.5px}.mainmenu{position:relative}.mainmenu ul,.mainmenu ul *{list-style:none;padding:0;margin:0}.mainmenu ul{background:#fff;border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-webkit-border-radius:3px;transition:.2s ease-in-out;-webkit-transition:.2s ease-in-out;-moz-transition:.2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:.2s ease-in-out;text-transform:none;opacity:0;visibility:hidden;position:absolute;left:0;line-height:18px;top:100%;font-size:12px;margin-top:20px;height:auto;min-width:150px;width:100%;box-shadow:0 0 1px rgba(98,98,98,.2)}.mainmenu.mainClick .mainmenu-ul{opacity:0;visibility:hidden;position:absolute}.mainmenu.right .mainmenu-ul{right:0;left:auto}.mainmenu.mainClick.active .mainmenu-ul{opacity:1;visibility:visible;transition:margin .3s;margin:0;z-index:11;outline:0}.mainmenu.mainClick .mainmenu-ul ul{opacity:1;visibility:visible;transition:margin .3s;margin:0;z-index:11;position:relative;border-radius:0}.mainmenu.mainClick.active>ul,.mainmenu.mainHover:hover>ul{opacity:1;visibility:visible;transition:margin .3s;margin:0;z-index:11}.mainmenu ul li{position:relative;left:0;float:none;height:auto;text-align:left!important}.mainmenu ul li,.mainmenu ul li.disabled a{color:#ccc;cursor:no-drop}.mainmenu ul li:hover{background:#f0f0f0}.mainmenu ul li:last-child{box-shadow:none}.mainmenu ul li button{background:0 0;border:none;display:block;width:100%;text-align:left;padding:6px 20px;font-size:12px;line-height:17px;color:#000;font-weight:400}.mainmenu ul li button[disabled]{color:#ccc}.mainmenu ul li a{padding:6px 20px;border:none;display:block;white-space:normal;font-size:12px;line-height:17px;color:#000;cursor:pointer;font-weight:400}.mainmenu ul li.disabled a{pointer-events:none}.filters-block-inline{text-align:left;display:table;width:100%;margin-bottom:-10px}.filters-block-inline>span{font-size:0}.filters-block-inline .inline-el{display:inline-block;float:none;vertical-align:top}.filters-block .mainmenu-ul{top:100%;min-width:265px;outline:0}.filters-block .mainmenu ul li.not-hover:hover{background:0 0}.filters-block-inline .inline-el dropdown-menu .mainClick{margin-top:-4px}.diagram-error{position:absolute;z-index:99;top:0;padding-top:13px;padding-bottom:13px;background-color:#fef6dd;color:#957d32;border-color:#957d32;width:100%;left:0;text-align:center;opacity:0}.container-graph{min-height:455px;margin-bottom:15px;position:relative}.container-graph .container-parameter{position:relative;width:20%}.container-graph .container-parameter .panel-element{padding:25px 20px 49px;margin-bottom:15px;position:relative}.container-graph .container-parameter .panel-element.bg-active-first{background:#6d59b0;cursor:pointer;color:#fff}.container-graph .container-parameter .panel-element.bg-active-first .container-fluctuation .icons-increase.fa-angle-down,.container-graph .container-parameter .panel-element.bg-active-first .container-fluctuation .icons-increase.fa-angle-up{color:#fff}.container-graph .container-parameter .panel-element.bg-active-second{background:#41aef9;cursor:pointer;color:#fff}.container-graph .container-parameter .panel-element.bg-active-second .container-fluctuation .icons-increase.fa-angle-down,.container-graph .container-parameter .panel-element.bg-active-second .container-fluctuation .icons-increase.fa-angle-up{color:#fff}.container-graph .container-parameter .panel-element .container-fluctuation .icons-increase.fa-angle-up{font-weight:600;color:#0cada2}.container-graph .container-parameter .panel-element .container-fluctuation .icons-increase.fa-angle-down{font-weight:600;color:#c00}.container-graph .container-parameter .panel-element:hover{box-shadow:0 1px 4px 0 #908d8d}.container-graph.version-1 .container-parameter .panel-element{height:195px}.container-graph.version-2 .container-parameter .panel-element{min-height:125.5px;padding:10px 20px}.container-graph.version-3 .container-parameter .panel-element{min-height:196px;padding:25px 20px}.container-graph .container-parameter .tile-diagram-block{position:relative;z-index:2}.container-graph .container-parameter .tile-diagram-block:hover{z-index:9}.iner-fluctuation{max-height:15px}.container-parameter .btn-default{transition:.3s!important;-webkit-transition:.3s!important;padding:8px 12px}.container-parameter .btn-default:hover{box-shadow:0 1px 4px 0 #908d8d}.container-graph.version-2 .panel-element .panel-title{height:36px}.container-graph.version-2 .panel-element .prise{margin-bottom:8.5px;height:27px}.container-graph.version-3 .container-parameter{width:40%}.container-graph .container-diagram{width:80%}.container-graph.version-3 .container-diagram{width:60%}.container-graph.version-3 .container-parameter .tile-diagram-block{float:left}.container-graph.version-4 .row-5{position:relative}.container-graph.version-4 .panel-element{height:196px}.container-graph.version-4 air-tile-collection-item:nth-child(2) .panel-element,.container-graph.version-4 air-tile-collection-item:nth-child(3) .panel-element,.container-graph.version-4 tile-diagram-block:nth-child(2) .panel-element,.container-graph.version-4 tile-diagram-block:nth-child(3) .panel-element{position:relative;height:196px}.container-graph.version-4 .container-parameter .panel-element{padding:10px 20px}.container-graph.version-4 .container-parameter{width:40%}.container-graph.version-4 .container-diagram{width:60%}.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(4) .tile-diagram-block,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(5) .tile-diagram-block,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(6) .tile-diagram-block,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(4) .tile-diagram-block,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(5) .tile-diagram-block,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(6) .tile-diagram-block{right:7.5px}.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(4) .tile-diagram-block .panel-title,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(5) .tile-diagram-block .panel-title,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(6) .tile-diagram-block .panel-title,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(4) .tile-diagram-block .panel-title,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(5) .tile-diagram-block .panel-title,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(6) .tile-diagram-block .panel-title{height:34px}.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(4) .tile-diagram-block .prise,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(5) .tile-diagram-block .prise,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(6) .tile-diagram-block .prise,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(4) .tile-diagram-block .prise,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(5) .tile-diagram-block .prise,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(6) .tile-diagram-block .prise{height:27px}.container-graph.version-4 .container-parameter .tile-diagram-block .panel-element .panel-title{height:38px}.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(4) .tile-diagram-block,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(4) .tile-diagram-block{top:0}.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(5) .tile-diagram-block,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(5) .tile-diagram-block{top:139.33px}.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(6) .tile-diagram-block,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(6) .tile-diagram-block{top:278.66px}.container-graph.version-5 .panel-element{height:145.5px}.container-graph.version-5{margin:0}.container-graph.version-5 .container-parameter .panel-element{padding:18px 20px 20px}.container-graph.version-5 .container-parameter{width:40%}.container-graph.version-5 .container-parameter .inline-el{font-size:0}.container-graph.version-5 .container-diagram{width:60%}.container-graph.version-5 .container-parameter .tile-diagram-block{float:left;font-size:14px;display:inline-block;vertical-align:top}.container-graph.version-5 #addMetricPanel{display:none!important}.container-graph.version-5 .panel-element .panel-title{height:35px}.container-graph.version-5 .panel-element .prise{margin-bottom:8.5px;height:35px}.container-graph.version-1 .ui-select-bootstrap>.ui-select-choices,.container-graph.version-2 .ui-select-bootstrap>.ui-select-choices{width:auto;max-width:480px;top:0;padding-top:0}.bg-error .container-fluctuation{display:none}.container-parameter .panel .panel-heading{padding:0;margin-bottom:10px}.panel-element .panel-title{height:48px;font-size:12px;text-transform:uppercase;display:block;font-weight:700;margin-bottom:10px;overflow:hidden}.portlet-close{position:absolute;right:5px;top:5px;line-height:10px;color:#2d2b2b!important;opacity:.4;transition:.3s;-moz-transition:.3s;display:block;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.container-graph .panel-element .portlet-close{right:10px;top:15px;font-size:24px;cursor:pointer;opacity:.2}.container-graph .panel-element .portlet-close:hover{opacity:1}.container-graph.version-1 .panel-element .portlet-close{display:none}.panel-element .interest{background:#ddeffd;padding:0 8px;color:#000;font-size:11px}.panel-element .pg-arrow_minimize{color:#f45b56}.bg-error .pg-arrow_maximize,.bg-no-click .pg-arrow_maximize,.bg-public .pg-arrow_maximize{color:#00aa9c}.tile-diagram-block.bg-error .prise{position:absolute;top:50%;color:#c62828}.panel-element .prise{font-size:28px;margin-bottom:10px;height:43px;line-height:25px;overflow:hidden;word-break:break-all;font-weight:100}.panel-element .prise span{color:#999}.panel-element .container-fluctuation{font-size:11px;text-align:left}.panel-element .container-fluctuation span{display:inline-block;text-align:left}.channel-tiles .panel-element .container-fluctuation{text-align:left}.channel-tiles .panel-element .container-fluctuation span{display:inline-block}.container-parameter .tile-diagram-block.bg-active-one .prise span,.container-parameter .tile-diagram-block.bg-active-two .prise span{color:#ccc}.panel-element .prise em{font-style:normal;font-size:21px;font-weight:100}.panel-element .error-text{font-size:30px;color:#c62828}.panel-element .error-text~.interest{display:none}tbody.edit-table-hover{content:'';position:absolute;width:100%;height:calc(100% - 170px);left:0;top:0}.bg-active-one .panel-element{background:#6d59b0;cursor:pointer}.bg-active-two .panel-element{background:#41aef9;cursor:pointer}.bg-public .panel-element{background:#bbdefb;cursor:pointer;color:#000}.bg-no-click .panel-element{background:#bbdefb;color:#000}.bg-error .panel-element{background:#cfd8dc;color:#000}.container-preloader-transparent .container-preloader{position:absolute;left:0;right:0;bottom:0;top:0;margin:auto;width:45px;height:45px}@media (min-width:1401px) and (max-width:1700px){.container-graph .container-parameter{width:20%}.container-graph .container-diagram{width:80%}.container-graph.version-3 .container-parameter,.container-graph.version-4 .container-parameter,.container-graph.version-5 .container-parameter{width:40%}.container-graph.version-3 .container-diagram,.container-graph.version-4 .container-diagram,.container-graph.version-5 .container-diagram{width:60%}}@media (min-width:1025px) and (max-width:1400px){.container-graph .container-parameter{width:25%}.container-graph .container-diagram{width:75%}.container-graph.version-3 .container-diagram,.container-graph.version-3 .container-parameter,.container-graph.version-4 .container-diagram,.container-graph.version-4 .container-parameter,.container-graph.version-5 .container-diagram,.container-graph.version-5 .container-parameter{width:50%}}@media (max-width:1300px){.container-graph.version-2 .panel-element .panel-title{height:38px}.container-graph.version-2 .panel-element .prise{font-size:25px}}@media (min-width:1025px){.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(4) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(5) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(6) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(4) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(5) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(6) .tile-diagram-block .panel-element{min-height:0;height:127.33px;padding:10px 20px}.container-graph.version-4 air-tile-collection-item:nth-child(2) .panel-element,.container-graph.version-4 air-tile-collection-item:nth-child(3) .panel-element,.container-graph.version-4 tile-diagram-block:nth-child(2) .panel-element,.container-graph.version-4 tile-diagram-block:nth-child(3) .panel-element{position:relative;height:196px}.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(4) .tile-diagram-block,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(5) .tile-diagram-block,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(6) .tile-diagram-block{position:absolute;right:7.5px}}@media (max-width:1024px){.container-graph.version-1 .container-diagram,.container-graph.version-1 .container-parameter,.container-graph.version-2 .container-diagram,.container-graph.version-2 .container-parameter,.container-graph.version-3 .container-diagram,.container-graph.version-3 .container-parameter,.container-graph.version-4 .container-diagram,.container-graph.version-4 .container-parameter,.container-graph.version-5 .container-diagram,.container-graph.version-5 .container-parameter{width:100%;padding:0!important}.container-graph .panel-element{height:150px;min-height:0;padding:20px}.panel-element .prise{height:25px}.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(5) .tile-diagram-block,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(5) .tile-diagram-block{top:109.66px}.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(6) .tile-diagram-block,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(6) .tile-diagram-block{top:218.326px}.container-graph.version-4 .container-parameter .tile-diagram-block .panel-element .panel-title,.container-graph.version-4 .container-parameter air-tile-collection-item .tile-diagram-block .panel-element .panel-title{height:20px;margin-bottom:5px}.container-graph.version-4 .container-parameter .tile-diagram-block .panel-element .prise,.container-graph.version-4 .container-parameter air-tile-collection-item .tile-diagram-block .panel-element .prise{margin-bottom:10px}.container-graph.version-5 .container-parameter{margin-bottom:0}.container-graph,.container-graph.version-5{margin:0}.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(2) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(3) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(2) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(3) .tile-diagram-block .panel-element{height:150px;min-height:0;padding:20px}.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(4) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(5) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(6) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(4) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(5) .tile-diagram-block .panel-element,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(6) .tile-diagram-block .panel-element{height:96.66px;padding:6px 20px}}@media (max-width:1024px) and (min-width:501px){.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(4) .tile-diagram-block,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(5) .tile-diagram-block,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(6) .tile-diagram-block{position:absolute;right:0;padding-right:0}}@media (min-width:501px){.container-graph.version-3 .container-parameter .tile-diagram-block,.container-graph.version-4 .container-parameter .tile-diagram-block,.container-graph.version-5 .container-parameter .tile-diagram-block{width:50%}}@media (max-width:500px){.container-graph .container-parameter .tile-diagram-block{width:100%;float:none!important}.container-graph .container-parameter{margin-bottom:0}.container-graph.version-4 .container-parameter .tile-diagram-block{position:static}.container-graph .container-parameter .tile-diagram-block .panel-element .panel-title,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(2) .tile-diagram-block .panel-element .panel-title,.container-graph.version-4 .container-parameter air-tile-collection-item:nth-child(3) .tile-diagram-block .panel-element .panel-title,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(2) .tile-diagram-block .panel-element .panel-title,.container-graph.version-4 .container-parameter tile-diagram-block:nth-child(3) .tile-diagram-block .panel-element .panel-title,.container-graph.version-4 .tile-diagram-block:nth-child(1) .panel-element .panel-title,.container-graph.version-4 .tile-diagram-block:nth-child(2) .panel-element .panel-title{height:40px!important;margin-bottom:5px!important}.container-graph .tile-diagram-block .panel-element{height:125px!important;padding:10px 20px!important;min-height:0}}"] }] } ]; TileCollectionComponent.ctorParameters = () => [ { type: ComponentFactoryResolver }, { type: HttpService }, { type: Router } ]; TileCollectionComponent.propDecorators = { nameState: [{ type: Input }], loadOnInit: [{ type: Input }], minimumCount: [{ type: Input }], maximumCount: [{ type: Input }], hasRefreshTile: [{ type: Input }], language: [{ type: Input }], initTiles: [{ type: Input }], target: [{ type: ViewChild, args: ['target', { read: ViewContainerRef },] }] }; if (false) { /** @type {?} */ TileCollectionComponent.prototype.nameState; /** @type {?} */ TileCollectionComponent.prototype.loadOnInit; /** @type {?} */ TileCollectionComponent.prototype.minimumCount; /** @type {?} */ TileCollectionComponent.prototype.maximumCount; /** @type {?} */ TileCollectionComponent.prototype.hasRefreshTile; /** @type {?} */ TileCollectionComponent.prototype.target; /** * @type {?} * @private */ TileCollectionComponent.prototype.recursionLimit; /** @type {?} */ TileCollectionComponent.prototype.locale; /** * @type {?} * @private */ TileCollectionComponent.prototype.supportedTypes; /** @type {?} */ TileCollectionComponent.prototype.tilesList; /** @type {?} */ TileCollectionComponent.prototype.displayedTiles; /** * @type {?} * @private */ TileCollectionComponent.prototype.componentRef; /** * @type {?} * @private */ TileCollectionComponent.prototype.componentFactory; /** * @type {?} * @private */ TileCollectionComponent.prototype.defaultMinimumCount; /** * @type {?} * @private */ TileCollectionComponent.prototype.defaultMaximumCount; /** * @type {?} * @private */ TileCollectionComponent.prototype.dtoState; /** * @type {?} * @private */ TileCollectionComponent.prototype.components; /** * @type {?} * @private */ TileCollectionComponent.prototype.compiler; /** * @type {?} * @private */ TileCollectionComponent.prototype.httpService; /** * @type {?} * @protected */ TileCollectionComponent.prototype.router; } class Const { } Const.urlSetState = 'api/State/SetState/'; Const.urlGetStateByName = 'api/State/GetStateByName?name='; if (false) { /** @type {?} */ Const.urlSetState; /** @type {?} */ Const.urlGetStateByName; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1jb2xsZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Fpci1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90aWxlLWNvbGxlY3Rpb24vdGlsZS1jb2xsZWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBZ0IsaUJBQWlCLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFDOUksT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVN2RSxNQUFNOzs7Ozs7SUFrREosWUFBb0IsUUFBa0MsRUFDNUMsV0FBd0IsRUFDdEIsTUFBYztRQUZOLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQzVDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqRGpCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFpQ25CLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBR25CLG1CQUFjLEdBQTRCLEVBQUUsQ0FBQztRQU03Qyx3QkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBZSxJQUFJLEtBQUssRUFBTyxDQUFDO1FBQ3hDLGVBQVUsR0FBZSxJQUFJLEtBQUssRUFBTyxDQUFDO1FBTWhELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxLQUFLLEVBQWMsQ0FBQztRQUU5QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztTQUM5QztRQUNELElB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LENBQUM7QUFDcEMsdUJBQWlCLEdBQUcsZ0NBQWdDLENBQUM7OztJQURuRSxrQkFBa0Q7O0lBQ2xELHdCQUFtRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJVGlsZUluZm9Ob2RlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGlsZS1pbmZvLW5vZGUnO1xyXG5pbXBvcnQgeyBJVGlsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRpbGUnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IElDb21tYW5kIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pY29tbWFuZCc7XHJcbmltcG9ydCB7IENyZWF0ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvY3JlYXRlLXRpbGUtY29tbWFuZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Fpci10aWxlLWNvbGxlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAndGlsZS1jb2xsZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsndGlsZS1jb2xsZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbGVDb2xsZWN0aW9uQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgbmFtZVN0YXRlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbG9hZE9uSW5pdCA9IHRydWU7XHJcbiAgQElucHV0KCkgbWluaW11bUNvdW50OiBudW1iZXI7XHJcbiAgQElucHV0KCkgbWF4aW11bUNvdW50OiBudW1iZXI7XHJcbiAgQElucHV0KCkgaGFzUmVmcmVzaFRpbGU6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGxhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubG9jYWxlID0gbGFuZ3VhZ2UgfHwgJ3J1JztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGluaXRUaWxlcyh0aWxlc0xpc3Q6IEFycmF5PElUaWxlSW5mb05vZGU+KSB7XHJcbiAgICAgIHRoaXMudGlsZXNMaXN0ID0gdGlsZXNMaXN0O1xyXG5cclxuICAgICAgaWYgKHRpbGVzTGlzdCAmJiB0aWxlc0xpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRpbGVzTGlzdC5mb3JFYWNoKCh0aWxlTm9kZTogSVRpbGVJbmZvTm9kZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRpbGVOb2RlLmNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmluY2x1ZGVTdXBwb3J0ZWRUeXBlKHRpbGVOb2RlLmNvbXBvbmVudCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGlsZU5vZGUuY2hpbGRyZW5zKSB7XHJcbiAgICAgICAgICAgICAgdGlsZU5vZGUuY2hpbGRyZW5zLmZvckVhY2goKGNoaWxkVGlsZU5vZGU6IElUaWxlSW5mb05vZGUpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5jbHVkZVN1cHBvcnRlZFR5cGUoY2hpbGRUaWxlTm9kZS5jb21wb25lbnQpO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMudHJ5UmVzdG9yZVN0YXRlcyh0aWxlc0xpc3QpO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBwcml2YXRlIHJlY3Vyc2lvbkxpbWl0ID0gMDtcclxuICBwdWJsaWMgbG9jYWxlOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgc3VwcG9ydGVkVHlwZXM6IHsgW2tleTogc3RyaW5nXTogYW55OyB9ID0ge307XHJcbiAgcHVibGljIHRpbGVzTGlzdDogQXJyYXk8SVRpbGVJbmZvTm9kZT47XHJcbiAgcHVibGljIGRpc3BsYXllZFRpbGVzOiBBcnJheTxJVGlsZTxhbnk+PjtcclxuXHJcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeTogYW55O1xyXG4gIHByaXZhdGUgZGVmYXVsdE1pbmltdW1Db3VudCA9IDI7XHJcbiAgcHJpdmF0ZSBkZWZhdWx0TWF4aW11bUNvdW50ID0gNjtcclxuICBwcml2YXRlIGR0b1N0YXRlOiBBcnJheTxhbnk+ID0gbmV3IEFycmF5PGFueT4oKTtcclxuICBwcml2YXRlIGNvbXBvbmVudHM6IEFycmF5PGFueT4gPSBuZXcgQXJyYXk8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBpbGVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSxcclxuICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcikge1xyXG5cclxuICAgIHRoaXMuZGlzcGxheWVkVGlsZXMgPSBuZXcgQXJyYXk8SVRpbGU8YW55Pj4oKTtcclxuXHJcbiAgICBpZiAoIXRoaXMubWluaW11bUNvdW50KSB7XHJcbiAgICAgIHRoaXMubWluaW11bUNvdW50ID0gdGhpcy5kZWZhdWx0TWluaW11bUNvdW50O1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLm1heGltdW1Db3VudCkge1xyXG4gICAgICB0aGlzLm1heGltdW1Db3VudCA9IHRoaXMuZGVmYXVsdE1heGltdW1Db3VudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5jbHVkZVN1cHBvcnRlZFR5cGUoY29tcG9uZW50OiBUeXBlPGFueT4pIHtcclxuICAgIGlmICghY29tcG9uZW50KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjb21wb25lbnROYW1lID0gY29tcG9uZW50Wydjb21wb25lbnROYW1lJ107XHJcbiAgICBpZiAoIWNvbXBvbmVudE5hbWUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaWxlQ29tcG9uZW50IHN0YXRpYyBmaWVsZCBcXCdjb21wb25lbnROYW1lXFwnIGlzIG5vdCBkZWNsYXJlZCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5zdXBwb3J0ZWRUeXBlc1tjb21wb25lbnROYW1lXSkge1xyXG4gICAgICAgIHRoaXMuc3VwcG9ydGVkVHlwZXNbY29tcG9uZW50TmFtZV0gPSBjb21wb25lbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyeVJlc3RvcmVTdGF0ZXModGlsZXNMaXN0OiBBcnJheTxJVGlsZUluZm9Ob2RlPikge1xyXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XHJcbiAgICB0aGlzLmdldFN0YXRlQnlOYW1lKHRoaXMubmFtZVN0YXRlKS50aGVuKFxyXG4gICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIGNvbnN0IHN0YXRlTGlzdCA9IEpTT04ucGFyc2UoZGF0YSk7XHJcbiAgICAgICAgICBzdGF0ZUxpc3QuZm9yRWFjaCgodGlsZU5vZGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aWxlTm9kZS5hcmd1bWVudHMuZm9yRWFjaCgoYXJnOiBhbnkpID0+IGFyZy5sb2FkT25Jbml0ID0gc2VsZi5sb2FkT25Jbml0KTtcclxuICAgICAgICAgICAgY29uc3QgdGlsZSA9IHtcclxuICAgICAgICAgICAgICBvd25EYXRhOiB0aWxlTm9kZS5vd25EYXRhLFxyXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogc2VsZi5zdXBwb3J0ZWRUeXBlc1t0aWxlTm9kZS50eXBlSW5mb10sXHJcbiAgICAgICAgICAgICAgYXJndW1lbnRzOiB0aWxlTm9kZS5hcmd1bWVudHMsXHJcbiAgICAgICAgICAgICAgY2FuUmVtb3ZlOiB0cnVlLFxyXG4gICAgICAgICAgICAgIGdldERhdGFGb3JTdGF0ZSgpOiBhbnkge31cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgc2VsZi5hZGQodGlsZSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgc2VsZi5pbml0RGVmYXVsdFRpbGVzKHRpbGVzTGlzdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0RGVmYXVsdFRpbGVzKGxpc3Q6IEFycmF5PElUaWxlSW5mb05vZGU+KSB7XHJcbiAgICBjb25zdCBhY3Rpb24gPSAobm9kZTogSVRpbGVJbmZvTm9kZSkgPT4ge1xyXG4gICAgICBpZiAobm9kZS5pc0RlZmF1bHQpIHtcclxuICAgICAgICB0aGlzLm9uQWRkaW5nKG5vZGUsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnRyYXZlcnNlQW5kTGltaXRlZERvKGxpc3QsIG5ldyBDcmVhdGVUaWxlQ29tbWFuZChhY3Rpb24pLCB0aGlzLmRlZmF1bHRNYXhpbXVtQ291bnQpO1xyXG4gICAgdGhpcy5zYXZlVG9TdG9yYWdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZCh0aWxlOiBJVGlsZTxhbnk+KSB7XHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY3JlYXRlSW5zdGFuY2UodGlsZSk7X