air-lib
Version:
This is Air's angular component library
417 lines • 56.6 kB
JavaScript
/**
* @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