ato-water-lib 0.0.17 → 0.0.19

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,7 +7,9 @@ export * from './lib/ato-water-lib.module';
7
7
  // Component
8
8
  export * from './lib/components/flow-diagram-lib/flow-diagram-lib.component';
9
9
  export * from './lib/components/asset-flow/asset-flow.component';
10
+ export * from './lib/components/asset-params-view/asset-params-view.component';
10
11
  // Directive
11
12
  export * from './lib/directive/ato-loading.directive';
13
+ export * from './lib/directive/ng-var.directive';
12
14
  // Css
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2F0by13YXRlci1saWIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxZQUFZO0FBQ1osY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLFlBQVk7QUFDWixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGF0by13YXRlci1saWJcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdG8td2F0ZXItbGliLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXRvLXdhdGVyLWxpYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXRvLXdhdGVyLWxpYi5tb2R1bGUnO1xuLy8gQ29tcG9uZW50XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zsb3ctZGlhZ3JhbS1saWIvZmxvdy1kaWFncmFtLWxpYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hc3NldC1mbG93L2Fzc2V0LWZsb3cuY29tcG9uZW50Jztcbi8vIERpcmVjdGl2ZVxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlL2F0by1sb2FkaW5nLmRpcmVjdGl2ZSc7XG4vLyBDc3NcblxuXG5cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2F0by13YXRlci1saWIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxZQUFZO0FBQ1osY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsWUFBWTtBQUNaLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhdG8td2F0ZXItbGliXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXRvLXdhdGVyLWxpYi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F0by13YXRlci1saWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F0by13YXRlci1saWIubW9kdWxlJztcbi8vIENvbXBvbmVudFxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mbG93LWRpYWdyYW0tbGliL2Zsb3ctZGlhZ3JhbS1saWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXNzZXQtZmxvdy9hc3NldC1mbG93LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Fzc2V0LXBhcmFtcy12aWV3L2Fzc2V0LXBhcmFtcy12aWV3LmNvbXBvbmVudCc7XG4vLyBEaXJlY3RpdmVcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZS9hdG8tbG9hZGluZy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlL25nLXZhci5kaXJlY3RpdmUnO1xuLy8gQ3NzXG5cblxuXG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, EventEmitter, Directive, ViewChild, Input, Output, NgModule } from '@angular/core';
2
+ import { Injectable, Component, EventEmitter, Directive, ViewChild, Input, Output, HostListener, NgModule } from '@angular/core';
3
3
  import { __awaiter } from 'tslib';
4
4
  import * as go from 'gojs';
5
5
  import go__default from 'gojs';
@@ -9,6 +9,8 @@ import { Subject, Subscription } from 'rxjs';
9
9
  import * as i1 from '@angular/common';
10
10
  import { DecimalPipe, CommonModule } from '@angular/common';
11
11
  import { v4 } from 'uuid';
12
+ import { ReactiveFormsModule, FormsModule } from '@angular/forms';
13
+ import { BrowserModule } from '@angular/platform-browser';
12
14
 
13
15
  class AtoWaterLibService {
14
16
  constructor() { }
@@ -1031,6 +1033,7 @@ class AtoGojsEditorModel {
1031
1033
  ENUM_TEMPLATES["TURBINES"] = "Turbines";
1032
1034
  // Plant Basic
1033
1035
  ENUM_TEMPLATES["GROUP_BASIC_COMPONENT"] = "Group Basic Component";
1036
+ ENUM_TEMPLATES["TEXT_LABEL"] = "label";
1034
1037
  })(ENUM_TEMPLATES = AtoGojsEditorModel.ENUM_TEMPLATES || (AtoGojsEditorModel.ENUM_TEMPLATES = {}));
1035
1038
  // System Types
1036
1039
  let ENUM_TYPES;
@@ -1740,6 +1743,9 @@ class AtoGojsEditorModel {
1740
1743
  [ENUM_TEMPLATES.VALUE_LABEL]: {
1741
1744
  name: ENUM_TEMPLATES.VALUE_LABEL,
1742
1745
  },
1746
+ [ENUM_TEMPLATES.TEXT_LABEL]: {
1747
+ name: ENUM_TEMPLATES.TEXT_LABEL,
1748
+ },
1743
1749
  [ENUM_TEMPLATES.DATA_BOX]: {
1744
1750
  name: ENUM_TEMPLATES.DATA_BOX,
1745
1751
  },
@@ -3196,6 +3202,10 @@ var ATO_EPlantType;
3196
3202
  // [PlantComponentModel.PLANT_STATUS.active]: PLANT_TYPE_ACTIVE,
3197
3203
  // };
3198
3204
 
3205
+ const ICONS_BASE64 = {
3206
+ "uf044": "data:image/png;base64,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"
3207
+ };
3208
+
3199
3209
  const ICON_ALERT = '/assets/images/icons/Station.svg';
3200
3210
  const ARROW = '/assets/images/icons/arrow.svg';
3201
3211
  const ARROW_GRAY = '/assets/images/icons/arrow-gray.svg';
@@ -3447,6 +3457,10 @@ class AtoDefaultGojsEditor {
3447
3457
  if ((node === null || node === void 0 ? void 0 : node.type) === AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_LABEL) {
3448
3458
  this.makeValueLabelTemplate();
3449
3459
  }
3460
+ // Label
3461
+ if ((node === null || node === void 0 ? void 0 : node.type) === AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL) {
3462
+ this.makeTextLabelTemplate();
3463
+ }
3450
3464
  // Zone item
3451
3465
  if ((node === null || node === void 0 ? void 0 : node.type) === AtoGojsEditorModel.ENUM_TEMPLATES.ZONE_ENERGY_ITEM) {
3452
3466
  this.makeZoneItemTemplate();
@@ -3926,6 +3940,19 @@ class AtoDefaultGojsEditor {
3926
3940
  }), new go.Binding('visible', 'data', (x) => typeof (x === null || x === void 0 ? void 0 : x.quantity) === 'number')))));
3927
3941
  this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_LABEL, node);
3928
3942
  }
3943
+ makeTextLabelTemplate(size = { w: NaN, h: 20 }) {
3944
+ const node = this.$(go.Node, 'Auto', {
3945
+ movable: false,
3946
+ isSelected: false,
3947
+ }, new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify), this.$(go.Panel, 'Auto', this.$(go.Panel, 'Horizontal', this.$(go.TextBlock, {
3948
+ margin: new go.Margin(0, 5, 10, 0),
3949
+ textAlign: 'center',
3950
+ font: 'bold 16px Arial',
3951
+ wrap: go.TextBlock.WrapFit,
3952
+ stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,
3953
+ }, new go.Binding('stroke', 'color'), new go.Binding('text', 'name'), new go.Binding('visible', 'visible')))));
3954
+ this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL, node);
3955
+ }
3929
3956
  makeTextTemplate(size = { w: AtoGojsEditorModel.GRID_SIZE * 5, h: AtoGojsEditorModel.GRID_SIZE * 2 }) {
3930
3957
  const self = this;
3931
3958
  const contextMenu = this.$(go.Adornment, 'Vertical', this.$('ContextMenuButton', this.$(go.TextBlock, 'Option 1'), {
@@ -5258,7 +5285,9 @@ class AtoDefaultGojsEditor {
5258
5285
  {
5259
5286
  zOrder: 2,
5260
5287
  // padding: new go.Margin(0, 0, 0, 200),
5261
- }, new go.Binding('padding', 'padding'), new go.Binding('selectable', 'selectable'), new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),
5288
+ }, new go.Binding('padding', 'padding'), new go.Binding('selectable', 'selectable'), new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify), new go.Binding('visible', '', (data) => {
5289
+ return typeof (data === null || data === void 0 ? void 0 : data.visible) === 'boolean' ? data === null || data === void 0 ? void 0 : data.visible : true;
5290
+ }),
5262
5291
  // Header
5263
5292
  this.$(go.Panel, 'Auto', {
5264
5293
  stretch: go.GraphObject.Fill,
@@ -5370,12 +5399,11 @@ class AtoDefaultGojsEditor {
5370
5399
  return data.color;
5371
5400
  }), new go.Binding('maxSize', '', (data) => {
5372
5401
  return new go.Size((data === null || data === void 0 ? void 0 : data.maxSizeValue) || 190, 14);
5373
- })), this.$(go.TextBlock, {
5402
+ })), this.$(go.Picture, {
5374
5403
  alignment: go.Spot.Right,
5375
5404
  column: 1,
5376
5405
  margin: new go.Margin(0, 0, 0, 5),
5377
- text: '\uf044',
5378
- font: '13px "Font Awesome 6 Pro"',
5406
+ source: ICONS_BASE64["uf044"],
5379
5407
  cursor: 'pointer',
5380
5408
  visible: false,
5381
5409
  toolTip: this.$('ToolTip', this.$(go.TextBlock, {
@@ -5383,6 +5411,8 @@ class AtoDefaultGojsEditor {
5383
5411
  }, new go.Binding('text', '', (data, panel) => {
5384
5412
  return data === null || data === void 0 ? void 0 : data.toolTipAction;
5385
5413
  })), new go.Binding('visible', '', (data) => !!(data === null || data === void 0 ? void 0 : data.toolTipAction))),
5414
+ height: 14,
5415
+ width: 14,
5386
5416
  }, {
5387
5417
  click: (e, obj) => {
5388
5418
  var _a, _b, _c;
@@ -6414,8 +6444,8 @@ class AtoLoadingDirective {
6414
6444
  this.renderer.setStyle(this.spinnerWrapper, 'z-index', '10');
6415
6445
  const spinner = this.renderer.createElement('img');
6416
6446
  this.renderer.setAttribute(spinner, 'src', 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7IGRpc3BsYXk6IGJsb2NrOyBzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyIgd2lkdGg9Ijg4cHgiIGhlaWdodD0iODhweCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KPGRlZnMgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgPG1hc2sgaWQ9ImxkaW8tdmN5YjQ1YmFvdWstbWFzayIgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0id2hpdGUiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvcmVjdD4KICA8L21hc2s+CjwvZGVmcz4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9IiM1Y2FhZWEiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvcmVjdD4KPGcgbWFzaz0idXJsKCNsZGlvLXZjeWI0NWJhb3VrLW1hc2spIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICA8cmVjdCB4PSItMTAwIiB5PSItMjUwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgcng9IjkwIiByeT0iOTAiIGZpbGw9IiM4MmNlZmYiIG9wYWNpdHk9IjAuNCIgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHZhbHVlcz0iMCA1MCAtMTAwOzkwIDUwIC0xMDAiIGtleVRpbWVzPSIwOzEiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3JlY3Q+CgogIDxyZWN0IHg9Ii0xMDAiIHk9Ii0yNjAiIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiByeD0iOTUiIHJ5PSI5NSIgZmlsbD0iI2E1ZGNmZiIgb3BhY2l0eT0iMC40IiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBkdXI9IjEuNTE1MTUxNTE1MTUxNTE1MXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjAgNTAgLTExMDs5MCA1MCAtMTEwIiBrZXlUaW1lcz0iMDsxIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgoKICA8cmVjdCB4PSItMTAwIiB5PSItMjcwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgcng9IjEwMCIgcnk9IjEwMCIgZmlsbD0iI2ZmZmZmZiIgb3BhY2l0eT0iMC40IiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBkdXI9IjMuMDMwMzAzMDMwMzAzMDMwM3MiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjAgNTAgLTEyMDs5MCA1MCAtMTIwIiBrZXlUaW1lcz0iMDsxIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgoKPC9nPgo8IS0tIFtsZGlvXSBnZW5lcmF0ZWQgYnkgaHR0cHM6Ly9sb2FkaW5nLmlvLyAtLT48L3N2Zz4=');
6417
- this.renderer.setStyle(spinner, 'width', '40px');
6418
- this.renderer.setStyle(spinner, 'height', '40px');
6447
+ this.renderer.setStyle(spinner, 'width', '30px');
6448
+ this.renderer.setStyle(spinner, 'height', '30px');
6419
6449
  this.renderer.setStyle(spinner, 'border-radius', '50%');
6420
6450
  this.renderer.appendChild(this.spinnerWrapper, spinner);
6421
6451
  }
@@ -6482,10 +6512,10 @@ class AtoFlowDiagramLibComponent extends AtoDefaultGojsEditor {
6482
6512
  }
6483
6513
  }
6484
6514
  AtoFlowDiagramLibComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoFlowDiagramLibComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
6485
- AtoFlowDiagramLibComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AtoFlowDiagramLibComponent, selector: "ato-flow-diagram-lib", inputs: { data: "data", isLoading: "isLoading" }, viewQueries: [{ propertyName: "myDiagramDivTemp", first: true, predicate: ["myDiagramDivTemp"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"w-100 h-100 gj-flow-diagram-wrapper\" atoLoading [appLoading]=\"data === null || !!isLoading\" style=\"height: 100%\">\n <div class=\"w-100 h-100 d-flex\" style=\"height: 100%\">\n <!-- <button\n id=\"actionMenuId\"\n class=\"invisible-btn\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n #menuTrigger=\"matMenuTrigger\"\n ></button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let item of actions\" (click)=\"item?.onClick($event)\">\n <div class=\"d-flex flex-gap-2\">\n <div><i class=\"{{ item?.iconClassName }}\"></i></div>\n <div>{{ item?.name }}</div>\n </div>\n </button>\n </mat-menu> -->\n\n <div #myDiagramDivTemp [id]=\"myDiagramDiv\" class=\"flex-grow-1\" style=\"height: 100%\"></div>\n <!-- <div *ngIf=\"initialOptions?.isReadOnly && !data?.nodeDataArray?.length\" class=\"empty-data\">\n <nz-empty nzNotFoundImage=\"simple\"></nz-empty>\n </div> -->\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: AtoLoadingDirective, selector: "[atoLoading]", inputs: ["appLoading"] }] });
6515
+ AtoFlowDiagramLibComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AtoFlowDiagramLibComponent, selector: "ato-flow-diagram-lib", inputs: { data: "data", isLoading: "isLoading" }, viewQueries: [{ propertyName: "myDiagramDivTemp", first: true, predicate: ["myDiagramDivTemp"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"w-100 h-100 gj-flow-diagram-wrapper\" atoLoading [appLoading]=\"data === null || !!isLoading\">\n <div class=\"w-100 h-100 d-flex\">\n <!-- <button\n id=\"actionMenuId\"\n class=\"invisible-btn\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n #menuTrigger=\"matMenuTrigger\"\n ></button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let item of actions\" (click)=\"item?.onClick($event)\">\n <div class=\"d-flex flex-gap-2\">\n <div><i class=\"{{ item?.iconClassName }}\"></i></div>\n <div>{{ item?.name }}</div>\n </div>\n </button>\n </mat-menu> -->\n\n <div #myDiagramDivTemp [id]=\"myDiagramDiv\" class=\"flex-grow-1\"></div>\n <div *ngIf=\"initialOptions?.isReadOnly && !data?.nodeDataArray?.length\" class=\"empty-data\">\n <!-- <nz-empty nzNotFoundImage=\"simple\"></nz-empty> -->\n No Data\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: AtoLoadingDirective, selector: "[atoLoading]", inputs: ["appLoading"] }] });
6486
6516
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoFlowDiagramLibComponent, decorators: [{
6487
6517
  type: Component,
6488
- args: [{ selector: 'ato-flow-diagram-lib', template: "<div class=\"w-100 h-100 gj-flow-diagram-wrapper\" atoLoading [appLoading]=\"data === null || !!isLoading\" style=\"height: 100%\">\n <div class=\"w-100 h-100 d-flex\" style=\"height: 100%\">\n <!-- <button\n id=\"actionMenuId\"\n class=\"invisible-btn\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n #menuTrigger=\"matMenuTrigger\"\n ></button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let item of actions\" (click)=\"item?.onClick($event)\">\n <div class=\"d-flex flex-gap-2\">\n <div><i class=\"{{ item?.iconClassName }}\"></i></div>\n <div>{{ item?.name }}</div>\n </div>\n </button>\n </mat-menu> -->\n\n <div #myDiagramDivTemp [id]=\"myDiagramDiv\" class=\"flex-grow-1\" style=\"height: 100%\"></div>\n <!-- <div *ngIf=\"initialOptions?.isReadOnly && !data?.nodeDataArray?.length\" class=\"empty-data\">\n <nz-empty nzNotFoundImage=\"simple\"></nz-empty>\n </div> -->\n </div>\n</div>\n" }]
6518
+ args: [{ selector: 'ato-flow-diagram-lib', template: "<div class=\"w-100 h-100 gj-flow-diagram-wrapper\" atoLoading [appLoading]=\"data === null || !!isLoading\">\n <div class=\"w-100 h-100 d-flex\">\n <!-- <button\n id=\"actionMenuId\"\n class=\"invisible-btn\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n #menuTrigger=\"matMenuTrigger\"\n ></button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let item of actions\" (click)=\"item?.onClick($event)\">\n <div class=\"d-flex flex-gap-2\">\n <div><i class=\"{{ item?.iconClassName }}\"></i></div>\n <div>{{ item?.name }}</div>\n </div>\n </button>\n </mat-menu> -->\n\n <div #myDiagramDivTemp [id]=\"myDiagramDiv\" class=\"flex-grow-1\"></div>\n <div *ngIf=\"initialOptions?.isReadOnly && !data?.nodeDataArray?.length\" class=\"empty-data\">\n <!-- <nz-empty nzNotFoundImage=\"simple\"></nz-empty> -->\n No Data\n </div>\n </div>\n</div>\n" }]
6489
6519
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { myDiagramDivTemp: [{
6490
6520
  type: ViewChild,
6491
6521
  args: ['myDiagramDivTemp']
@@ -7465,7 +7495,7 @@ const ATO_COMPONENTS_GROUP_DATA = {
7465
7495
  [AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER]: {
7466
7496
  nodeDataArray: [
7467
7497
  {
7468
- key: 92,
7498
+ key: 88,
7469
7499
  type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,
7470
7500
  group: 100,
7471
7501
  loc: '0 0',
@@ -7477,7 +7507,7 @@ const ATO_COMPONENTS_GROUP_DATA = {
7477
7507
  color: '#a8438d',
7478
7508
  },
7479
7509
  {
7480
- key: 93,
7510
+ key: 89,
7481
7511
  type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,
7482
7512
  group: 100,
7483
7513
  loc: '1000 700',
@@ -7488,14 +7518,14 @@ const ATO_COMPONENTS_GROUP_DATA = {
7488
7518
  name: 'bottom-right-marker',
7489
7519
  color: '#a8438d',
7490
7520
  },
7491
- Object.assign(Object.assign({ key: 94, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, loc: '30 160', padding: new go__default.Margin(0, 0, 0, 0) }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 140 }))) }),
7492
- Object.assign(Object.assign({ key: 95, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0), loc: '30 270' }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.MAKEUP_WATER].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 120 }))) }),
7493
- Object.assign(Object.assign({ key: 96, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0), loc: '580 250' }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.WARMER_WATER]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.WARMER_WATER].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 120 }))) }),
7494
- Object.assign(Object.assign({ key: 97, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0), loc: '580 560' }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 120 }))) }),
7495
- Object.assign(Object.assign({ key: 98, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0), loc: '450 20' }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 130 }))) }),
7496
- Object.assign(Object.assign({ key: 99, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0), loc: '730 20' }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 130 }))) }),
7521
+ Object.assign(Object.assign({ key: 90, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, loc: '30 160', padding: new go__default.Margin(0, 0, 0, 0) }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 140 }))), visible: true }),
7522
+ Object.assign(Object.assign({ key: 91, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0), loc: '30 270' }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.MAKEUP_WATER].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 120 }))) }),
7523
+ Object.assign(Object.assign({ key: 92, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0), loc: '580 250' }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.WARMER_WATER]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.WARMER_WATER].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 120 }))) }),
7524
+ Object.assign(Object.assign({ key: 93, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0), loc: '580 560' }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 120 }))) }),
7525
+ Object.assign(Object.assign({ key: 94, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0), loc: '450 20' }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 130 }))) }),
7526
+ Object.assign(Object.assign({ key: 95, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0), loc: '730 20' }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 130 }))) }),
7497
7527
  {
7498
- key: 91,
7528
+ key: 96,
7499
7529
  type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,
7500
7530
  source: AtoGojsEditorModel.IMAGE_COOLING_TOWER_PATH,
7501
7531
  group: 100,
@@ -7503,6 +7533,102 @@ const ATO_COMPONENTS_GROUP_DATA = {
7503
7533
  margin: new go__default.Margin(195, 20, 0, 0),
7504
7534
  selectable: false,
7505
7535
  },
7536
+ // {
7537
+ // key: 97,
7538
+ // type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,
7539
+ // group: 100,
7540
+ // loc: '250 25',
7541
+ // name: 'Evaporation Loss',
7542
+ // color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,
7543
+ // visible: false,
7544
+ // },
7545
+ // {
7546
+ // key: 98,
7547
+ // type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,
7548
+ // group: 100,
7549
+ // loc: '110 290',
7550
+ // name: 'Makeup Water',
7551
+ // color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,
7552
+ // visible: false,
7553
+ // },
7554
+ // {
7555
+ // key: 99,
7556
+ // type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,
7557
+ // group: 100,
7558
+ // loc: '580 435',
7559
+ // name: 'Blowdown Water',
7560
+ // color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,
7561
+ // visible: false,
7562
+ // },
7563
+ { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER, isGroup: true, name: 'Group' },
7564
+ ],
7565
+ linkDataArray: [],
7566
+ },
7567
+ [AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER + '_RESPONSIVE']: {
7568
+ nodeDataArray: [
7569
+ {
7570
+ key: 88,
7571
+ type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,
7572
+ group: 100,
7573
+ loc: '0 0',
7574
+ data: {
7575
+ quantity: 2222,
7576
+ unit: 'm³',
7577
+ },
7578
+ name: 'top-left-marker',
7579
+ color: '#a8438d',
7580
+ },
7581
+ {
7582
+ key: 89,
7583
+ type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,
7584
+ group: 100,
7585
+ loc: '700 300',
7586
+ data: {
7587
+ quantity: 3333,
7588
+ unit: 'm³',
7589
+ },
7590
+ name: 'bottom-right-marker',
7591
+ color: '#a8438d',
7592
+ },
7593
+ Object.assign(Object.assign({ key: 90, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0) }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 130 }))), visible: false }),
7594
+ Object.assign(Object.assign({ key: 91, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0) }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 130 }))), visible: false }),
7595
+ Object.assign(Object.assign({ key: 92, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0) }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 140 }))), visible: false }),
7596
+ Object.assign(Object.assign({ key: 93, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0) }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.MAKEUP_WATER].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 120 }))), visible: false }),
7597
+ Object.assign(Object.assign({ key: 94, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0) }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.WARMER_WATER]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.WARMER_WATER].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 120 }))), visible: false }),
7598
+ Object.assign(Object.assign({ key: 95, type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, group: 100, padding: new go__default.Margin(0, 0, 0, 0) }, DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER]), { minSizeValue: new go__default.Size(100, NaN), selectable: false, dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER].map((e) => (Object.assign(Object.assign({}, e), { value: '', isEditable: true, maxSizeValue: 120 }))), visible: false }),
7599
+ {
7600
+ key: 96,
7601
+ type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,
7602
+ source: AtoGojsEditorModel.IMAGE_COOLING_TOWER_PATH,
7603
+ group: 100,
7604
+ loc: '0 0',
7605
+ margin: new go__default.Margin(20, 20, 0, 0),
7606
+ selectable: false,
7607
+ },
7608
+ {
7609
+ key: 97,
7610
+ type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,
7611
+ group: 100,
7612
+ loc: '250 25',
7613
+ name: 'Evaporation Loss',
7614
+ color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,
7615
+ },
7616
+ {
7617
+ key: 98,
7618
+ type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,
7619
+ group: 100,
7620
+ loc: '110 290',
7621
+ name: 'Makeup Water',
7622
+ color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,
7623
+ },
7624
+ {
7625
+ key: 99,
7626
+ type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,
7627
+ group: 100,
7628
+ loc: '580 435',
7629
+ name: 'Blowdown Water',
7630
+ color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,
7631
+ },
7506
7632
  { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER, isGroup: true, name: 'Group' },
7507
7633
  ],
7508
7634
  linkDataArray: [],
@@ -7659,6 +7785,58 @@ const ATO_COMPONENTS_GROUP_DATA = {
7659
7785
  },
7660
7786
  };
7661
7787
 
7788
+ class AtoNgVarDirective {
7789
+ set ngVar(context) {
7790
+ this.context.$implicit = this.context.ngVar = context;
7791
+ if (!this.hasView) {
7792
+ this.vcRef.createEmbeddedView(this.templateRef, this.context);
7793
+ this.hasView = true;
7794
+ }
7795
+ }
7796
+ constructor(templateRef, vcRef) {
7797
+ this.templateRef = templateRef;
7798
+ this.vcRef = vcRef;
7799
+ this.context = {
7800
+ $implicit: null,
7801
+ ngVar: null,
7802
+ };
7803
+ this.hasView = false;
7804
+ }
7805
+ }
7806
+ AtoNgVarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoNgVarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
7807
+ AtoNgVarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AtoNgVarDirective, selector: "[ngVar]", inputs: { ngVar: "ngVar" }, ngImport: i0 });
7808
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoNgVarDirective, decorators: [{
7809
+ type: Directive,
7810
+ args: [{
7811
+ selector: '[ngVar]',
7812
+ }]
7813
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { ngVar: [{
7814
+ type: Input
7815
+ }] } });
7816
+
7817
+ class AtoAssetParamsViewComponent {
7818
+ constructor() {
7819
+ this.isEditView = false;
7820
+ this.data = [];
7821
+ this.clickParamTableRow = new EventEmitter();
7822
+ }
7823
+ onClickRowParam(itemTable) {
7824
+ this.clickParamTableRow.emit(itemTable);
7825
+ }
7826
+ }
7827
+ AtoAssetParamsViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoAssetParamsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7828
+ AtoAssetParamsViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AtoAssetParamsViewComponent, selector: "ato-asset-params-view", inputs: { isEditView: "isEditView", data: "data" }, outputs: { clickParamTableRow: "clickParamTableRow" }, ngImport: i0, template: "<div class=\"d-flex flex-column flex-gap-2\">\n <div class=\"\" *ngFor=\"let tableParam of data\">\n <ng-template\n [ngTemplateOutlet]=\"tableParamTemplate\"\n [ngTemplateOutletContext]=\"{\n data: tableParam\n }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #tableParamTemplate let-data=\"data\">\n <div\n class=\"d-flex flex-column asset-param-item w-100\"\n *ngVar=\"{ isCollapsed: true } as vars\"\n [style.backgroundColor]=\"data?.color\"\n >\n <div\n class=\"d-flex align-items-center justify-content-between py-1 pl-1 pr-2 cursor-pointer\"\n (click)=\"vars.isCollapsed = !vars.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">{{ data?.title }}</div>\n <i\n class=\"fa-solid font-size-14px color-white {{ vars.isCollapsed ? 'fa-angle-right' : 'fa-angle-down' }}\"\n ></i>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!vars.isCollapsed\">\n <div class=\"table-asset-param-wrapper\" [style.backgroundColor]=\"data?.bgColor\">\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td class=\"font-size-13px\" [style.borderColor]=\"data?.borderTable\">\n {{ itemTable?.name }}\n </td>\n <td class=\"font-size-13px\" [style.borderColor]=\"data?.borderTable\">\n <div class=\"d-flex align-items-center\">\n <div\n class=\"mr-auto font-size-13px text-truncate flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <i *ngIf=\"isEditView\" class=\"fal fa-edit font-size-14px color-night-rider\"></i>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".asset-param-item{border-radius:5px}.asset-param-item .table-asset-param-wrapper{border-radius:5px;background-color:#f0f8ff}.asset-param-item .table-asset-param-wrapper table{border-collapse:collapse;width:100%}.asset-param-item .table-asset-param-wrapper table tbody tr td{border:1px solid red;height:30px;padding:4px}.color-white{color:#fff}.flex-gap-2{gap:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AtoNgVarDirective, selector: "[ngVar]", inputs: ["ngVar"] }] });
7829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoAssetParamsViewComponent, decorators: [{
7830
+ type: Component,
7831
+ args: [{ selector: 'ato-asset-params-view', template: "<div class=\"d-flex flex-column flex-gap-2\">\n <div class=\"\" *ngFor=\"let tableParam of data\">\n <ng-template\n [ngTemplateOutlet]=\"tableParamTemplate\"\n [ngTemplateOutletContext]=\"{\n data: tableParam\n }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #tableParamTemplate let-data=\"data\">\n <div\n class=\"d-flex flex-column asset-param-item w-100\"\n *ngVar=\"{ isCollapsed: true } as vars\"\n [style.backgroundColor]=\"data?.color\"\n >\n <div\n class=\"d-flex align-items-center justify-content-between py-1 pl-1 pr-2 cursor-pointer\"\n (click)=\"vars.isCollapsed = !vars.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">{{ data?.title }}</div>\n <i\n class=\"fa-solid font-size-14px color-white {{ vars.isCollapsed ? 'fa-angle-right' : 'fa-angle-down' }}\"\n ></i>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!vars.isCollapsed\">\n <div class=\"table-asset-param-wrapper\" [style.backgroundColor]=\"data?.bgColor\">\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td class=\"font-size-13px\" [style.borderColor]=\"data?.borderTable\">\n {{ itemTable?.name }}\n </td>\n <td class=\"font-size-13px\" [style.borderColor]=\"data?.borderTable\">\n <div class=\"d-flex align-items-center\">\n <div\n class=\"mr-auto font-size-13px text-truncate flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <i *ngIf=\"isEditView\" class=\"fal fa-edit font-size-14px color-night-rider\"></i>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".asset-param-item{border-radius:5px}.asset-param-item .table-asset-param-wrapper{border-radius:5px;background-color:#f0f8ff}.asset-param-item .table-asset-param-wrapper table{border-collapse:collapse;width:100%}.asset-param-item .table-asset-param-wrapper table tbody tr td{border:1px solid red;height:30px;padding:4px}.color-white{color:#fff}.flex-gap-2{gap:.5rem}\n"] }]
7832
+ }], propDecorators: { isEditView: [{
7833
+ type: Input
7834
+ }], data: [{
7835
+ type: Input
7836
+ }], clickParamTableRow: [{
7837
+ type: Output
7838
+ }] } });
7839
+
7662
7840
  class AssetFlowComponent {
7663
7841
  constructor() {
7664
7842
  this.onClickParamOfTableEvent = new EventEmitter();
@@ -7671,16 +7849,57 @@ class AssetFlowComponent {
7671
7849
  // isReadOnly: true,
7672
7850
  };
7673
7851
  this.flowData = {};
7852
+ this.isResponsiveView = false;
7853
+ }
7854
+ onResize(event) {
7855
+ // Now only Support Cooling Tower Responsive
7856
+ if (this.timeoutResizeWindow) {
7857
+ clearTimeout(this.timeoutResizeWindow);
7858
+ }
7859
+ this.timeoutResizeWindow = setTimeout(() => {
7860
+ this.checkResponsiveView();
7861
+ this.updateLocationReponsive();
7862
+ }, 1000);
7863
+ }
7864
+ checkResponsiveView() {
7865
+ if ((this === null || this === void 0 ? void 0 : this.systemType) ===
7866
+ AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER) {
7867
+ this.isResponsiveView = window.innerWidth < 1024;
7868
+ }
7869
+ else {
7870
+ this.isResponsiveView = false;
7871
+ }
7872
+ }
7873
+ updateLocationReponsive() {
7874
+ var _a, _b, _c, _d, _e, _f;
7875
+ if (!((_a = this.flowData) === null || _a === void 0 ? void 0 : _a.nodeDataArray)) {
7876
+ this.setFlowData(_.cloneDeep(ATO_COMPONENTS_GROUP_DATA)[this.systemType + (this.isResponsiveView ? '_RESPONSIVE' : '')]);
7877
+ this.dataTableAssetParams = (_c = (_b = this.flowData) === null || _b === void 0 ? void 0 : _b.nodeDataArray) === null || _c === void 0 ? void 0 : _c.filter((e) => (e === null || e === void 0 ? void 0 : e.type) === AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE);
7878
+ return;
7879
+ }
7880
+ _.forEach((_d = _.cloneDeep(ATO_COMPONENTS_GROUP_DATA)[this.systemType + (this.isResponsiveView ? '_RESPONSIVE' : '')]) === null || _d === void 0 ? void 0 : _d.nodeDataArray, (node) => {
7881
+ var _a, _b;
7882
+ const itemFind = (_b = (_a = this.flowData) === null || _a === void 0 ? void 0 : _a.nodeDataArray) === null || _b === void 0 ? void 0 : _b.find((x) => (node === null || node === void 0 ? void 0 : node.key) === (x === null || x === void 0 ? void 0 : x.key));
7883
+ if (itemFind) {
7884
+ itemFind.visible = (node === null || node === void 0 ? void 0 : node.visible) === false ? false : true;
7885
+ itemFind.loc = node === null || node === void 0 ? void 0 : node.loc;
7886
+ itemFind.margin = node === null || node === void 0 ? void 0 : node.margin;
7887
+ itemFind.padding = node === null || node === void 0 ? void 0 : node.padding;
7888
+ }
7889
+ });
7890
+ this.dataTableAssetParams = (_f = (_e = this.flowData) === null || _e === void 0 ? void 0 : _e.nodeDataArray) === null || _f === void 0 ? void 0 : _f.filter((e) => (e === null || e === void 0 ? void 0 : e.type) === AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE);
7891
+ this.setFlowData(_.cloneDeep(this.flowData));
7674
7892
  }
7675
7893
  ngOnInit() {
7676
- this.flowData = this.getDefaultFlowData();
7894
+ this.checkResponsiveView();
7895
+ this.updateLocationReponsive();
7677
7896
  }
7678
7897
  onClickParamOfTable($event) {
7679
7898
  this.onClickParamOfTableEvent.emit($event);
7680
7899
  }
7681
7900
  getDefaultFlowData() {
7682
7901
  var _a;
7683
- const flowData = Object.assign(Object.assign({}, ATO_COMPONENTS_GROUP_DATA[this.systemType]), { linkFromPortIdProperty: 'fromPort', linkToPortIdProperty: 'toPort' });
7902
+ const flowData = Object.assign(Object.assign({}, _.cloneDeep(ATO_COMPONENTS_GROUP_DATA)[this.systemType]), { linkFromPortIdProperty: 'fromPort', linkToPortIdProperty: 'toPort' });
7684
7903
  if (this.isUseBase64) {
7685
7904
  const itemImageTemp = (_a = flowData === null || flowData === void 0 ? void 0 : flowData.nodeDataArray) === null || _a === void 0 ? void 0 : _a.find((x) => (x === null || x === void 0 ? void 0 : x.type) === 'Image Template');
7686
7905
  if (itemImageTemp) {
@@ -7694,10 +7913,10 @@ class AssetFlowComponent {
7694
7913
  }
7695
7914
  }
7696
7915
  AssetFlowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AssetFlowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7697
- AssetFlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AssetFlowComponent, selector: "ato-asset-flow", inputs: { selectedComponent: "selectedComponent", systemType: "systemType", isUseBase64: "isUseBase64", flowData: "flowData" }, outputs: { onClickParamOfTableEvent: "onClickParamOfTableEvent" }, viewQueries: [{ propertyName: "gjFlowDiagramTemp", first: true, predicate: AtoFlowDiagramLibComponent, descendants: true }], ngImport: i0, template: "<div class=\"h-100\" style=\"height: 100%\" atoLoading [appLoading]=\"flowData === null\">\n <ato-flow-diagram-lib\n *ngIf=\"flowData !== null\"\n #gjFlowDiagramTemp\n [data]=\"flowData\"\n [initialOptions]=\"options\"\n (onClikParamOfTable)=\"onClickParamOfTable($event)\"\n ></ato-flow-diagram-lib>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AtoFlowDiagramLibComponent, selector: "ato-flow-diagram-lib", inputs: ["data", "isLoading"] }, { kind: "directive", type: AtoLoadingDirective, selector: "[atoLoading]", inputs: ["appLoading"] }] });
7916
+ AssetFlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AssetFlowComponent, selector: "ato-asset-flow", inputs: { selectedComponent: "selectedComponent", systemType: "systemType", isUseBase64: "isUseBase64", flowData: "flowData", isResponsiveView: "isResponsiveView", getFlowDataCallBack: "getFlowDataCallBack" }, outputs: { onClickParamOfTableEvent: "onClickParamOfTableEvent" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "gjFlowDiagramTemp", first: true, predicate: AtoFlowDiagramLibComponent, descendants: true }], ngImport: i0, template: "<div class=\"h-100 d-flex flex-column flex-gap-3 flex-grow-1 overflow-auto px-3 pb-3\">\n <div class=\"h-100 d-flex flex-column\" atoLoading [appLoading]=\"flowData === null\">\n <ato-flow-diagram-lib\n *ngIf=\"flowData !== null\"\n #gjFlowDiagramTemp\n [data]=\"flowData\"\n [initialOptions]=\"options\"\n (onClikParamOfTable)=\"onClickParamOfTable($event)\"\n [class]=\"!!isResponsiveView ? 'diagram-responsive-view' : 'flex-grow-1'\"\n ></ato-flow-diagram-lib>\n <div class=\"mt-2\" *ngIf=\"isResponsiveView\">\n <ato-asset-params-view\n [data]=\"dataTableAssetParams\"\n [isEditView]=\"true\"\n (clickParamTableRow)=\"onClickParamOfTable($event)\"\n ></ato-asset-params-view>\n </div>\n </div>\n</div>\n\n", styles: [".diagram-responsive-view{height:30vh}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AtoFlowDiagramLibComponent, selector: "ato-flow-diagram-lib", inputs: ["data", "isLoading"] }, { kind: "directive", type: AtoLoadingDirective, selector: "[atoLoading]", inputs: ["appLoading"] }, { kind: "component", type: AtoAssetParamsViewComponent, selector: "ato-asset-params-view", inputs: ["isEditView", "data"], outputs: ["clickParamTableRow"] }] });
7698
7917
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AssetFlowComponent, decorators: [{
7699
7918
  type: Component,
7700
- args: [{ selector: 'ato-asset-flow', template: "<div class=\"h-100\" style=\"height: 100%\" atoLoading [appLoading]=\"flowData === null\">\n <ato-flow-diagram-lib\n *ngIf=\"flowData !== null\"\n #gjFlowDiagramTemp\n [data]=\"flowData\"\n [initialOptions]=\"options\"\n (onClikParamOfTable)=\"onClickParamOfTable($event)\"\n ></ato-flow-diagram-lib>\n</div>\n" }]
7919
+ args: [{ selector: 'ato-asset-flow', template: "<div class=\"h-100 d-flex flex-column flex-gap-3 flex-grow-1 overflow-auto px-3 pb-3\">\n <div class=\"h-100 d-flex flex-column\" atoLoading [appLoading]=\"flowData === null\">\n <ato-flow-diagram-lib\n *ngIf=\"flowData !== null\"\n #gjFlowDiagramTemp\n [data]=\"flowData\"\n [initialOptions]=\"options\"\n (onClikParamOfTable)=\"onClickParamOfTable($event)\"\n [class]=\"!!isResponsiveView ? 'diagram-responsive-view' : 'flex-grow-1'\"\n ></ato-flow-diagram-lib>\n <div class=\"mt-2\" *ngIf=\"isResponsiveView\">\n <ato-asset-params-view\n [data]=\"dataTableAssetParams\"\n [isEditView]=\"true\"\n (clickParamTableRow)=\"onClickParamOfTable($event)\"\n ></ato-asset-params-view>\n </div>\n </div>\n</div>\n\n", styles: [".diagram-responsive-view{height:30vh}\n"] }]
7701
7920
  }], propDecorators: { gjFlowDiagramTemp: [{
7702
7921
  type: ViewChild,
7703
7922
  args: [AtoFlowDiagramLibComponent]
@@ -7711,6 +7930,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
7711
7930
  type: Input
7712
7931
  }], flowData: [{
7713
7932
  type: Input
7933
+ }], isResponsiveView: [{
7934
+ type: Input
7935
+ }], getFlowDataCallBack: [{
7936
+ type: Input
7937
+ }], onResize: [{
7938
+ type: HostListener,
7939
+ args: ['window:resize', ['$event']]
7714
7940
  }] } });
7715
7941
 
7716
7942
  class AtoWaterLibModule {
@@ -7719,11 +7945,21 @@ AtoWaterLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", versio
7719
7945
  AtoWaterLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, declarations: [AtoWaterLibComponent,
7720
7946
  AtoFlowDiagramLibComponent,
7721
7947
  AssetFlowComponent,
7722
- AtoLoadingDirective], imports: [CommonModule], exports: [AtoWaterLibComponent,
7948
+ AtoLoadingDirective,
7949
+ AtoAssetParamsViewComponent,
7950
+ AtoNgVarDirective], imports: [CommonModule,
7951
+ BrowserModule,
7952
+ ReactiveFormsModule,
7953
+ FormsModule], exports: [AtoWaterLibComponent,
7723
7954
  AtoFlowDiagramLibComponent,
7724
7955
  AssetFlowComponent,
7725
- AtoLoadingDirective] });
7726
- AtoWaterLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, imports: [CommonModule] });
7956
+ AtoLoadingDirective,
7957
+ AtoAssetParamsViewComponent,
7958
+ AtoNgVarDirective] });
7959
+ AtoWaterLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, imports: [CommonModule,
7960
+ BrowserModule,
7961
+ ReactiveFormsModule,
7962
+ FormsModule] });
7727
7963
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, decorators: [{
7728
7964
  type: NgModule,
7729
7965
  args: [{
@@ -7732,15 +7968,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
7732
7968
  AtoFlowDiagramLibComponent,
7733
7969
  AssetFlowComponent,
7734
7970
  AtoLoadingDirective,
7971
+ AtoAssetParamsViewComponent,
7972
+ AtoNgVarDirective,
7735
7973
  ],
7736
7974
  imports: [
7737
- CommonModule
7975
+ CommonModule,
7976
+ BrowserModule,
7977
+ ReactiveFormsModule,
7978
+ FormsModule,
7738
7979
  ],
7739
7980
  exports: [
7740
7981
  AtoWaterLibComponent,
7741
7982
  AtoFlowDiagramLibComponent,
7742
7983
  AssetFlowComponent,
7743
- AtoLoadingDirective
7984
+ AtoLoadingDirective,
7985
+ AtoAssetParamsViewComponent,
7986
+ AtoNgVarDirective
7744
7987
  ]
7745
7988
  }]
7746
7989
  }] });
@@ -7754,5 +7997,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
7754
7997
  * Generated bundle index. Do not edit.
7755
7998
  */
7756
7999
 
7757
- export { AssetFlowComponent, AtoFlowDiagramLibComponent, AtoLoadingDirective, AtoWaterLibComponent, AtoWaterLibModule, AtoWaterLibService };
8000
+ export { AssetFlowComponent, AtoAssetParamsViewComponent, AtoFlowDiagramLibComponent, AtoLoadingDirective, AtoNgVarDirective, AtoWaterLibComponent, AtoWaterLibModule, AtoWaterLibService };
7758
8001
  //# sourceMappingURL=ato-water-lib.mjs.map