ato-water-lib 0.0.87 → 0.0.90

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. package/{esm2020 → esm2022}/lib/ato-water-lib.component.mjs +5 -5
  2. package/{esm2020 → esm2022}/lib/ato-water-lib.module.mjs +15 -15
  3. package/{esm2020 → esm2022}/lib/ato-water-lib.service.mjs +5 -5
  4. package/esm2022/lib/components/asset-flow/asset-flow.component.mjs +174 -0
  5. package/{esm2020 → esm2022}/lib/components/asset-params-view/asset-params-view.component.mjs +7 -9
  6. package/esm2022/lib/components/flow-diagram-lib/flow-diagram-lib.component.mjs +55 -0
  7. package/esm2022/lib/directive/ato-loading.directive.mjs +59 -0
  8. package/esm2022/lib/directive/ng-var.directive.mjs +33 -0
  9. package/esm2022/lib/models/default-gojs-editor.model.mjs +3582 -0
  10. package/esm2022/lib/models/gojs-data.model.mjs +10 -0
  11. package/esm2022/lib/models/gojs-editor.model.mjs +1799 -0
  12. package/esm2022/lib/services/utils/utils.service.mjs +133 -0
  13. package/{fesm2020 → fesm2022}/ato-water-lib.mjs +199 -168
  14. package/fesm2022/ato-water-lib.mjs.map +1 -0
  15. package/lib/components/asset-flow/asset-flow.component.d.ts +1 -1
  16. package/lib/components/asset-params-view/asset-params-view.component.d.ts +1 -1
  17. package/lib/components/flow-diagram-lib/flow-diagram-lib.component.d.ts +1 -1
  18. package/lib/constants/components-group-const.d.ts +1 -1
  19. package/lib/directive/ato-loading.directive.d.ts +1 -1
  20. package/lib/directive/ng-var.directive.d.ts +1 -1
  21. package/lib/models/default-gojs-editor.model.d.ts +2 -2
  22. package/lib/models/gojs-editor.model.d.ts +4 -4
  23. package/package.json +7 -13
  24. package/esm2020/lib/components/asset-flow/asset-flow.component.mjs +0 -165
  25. package/esm2020/lib/components/flow-diagram-lib/flow-diagram-lib.component.mjs +0 -54
  26. package/esm2020/lib/directive/ato-loading.directive.mjs +0 -55
  27. package/esm2020/lib/directive/ng-var.directive.mjs +0 -31
  28. package/esm2020/lib/models/default-gojs-editor.model.mjs +0 -3567
  29. package/esm2020/lib/models/gojs-data.model.mjs +0 -6
  30. package/esm2020/lib/models/gojs-editor.model.mjs +0 -1797
  31. package/esm2020/lib/services/utils/utils.service.mjs +0 -133
  32. package/fesm2015/ato-water-lib.mjs +0 -9049
  33. package/fesm2015/ato-water-lib.mjs.map +0 -1
  34. package/fesm2020/ato-water-lib.mjs.map +0 -1
  35. /package/{esm2020 → esm2022}/ato-water-lib.mjs +0 -0
  36. /package/{esm2020 → esm2022}/lib/constants/applicable-prefixes-const.mjs +0 -0
  37. /package/{esm2020 → esm2022}/lib/constants/base64.const.mjs +0 -0
  38. /package/{esm2020 → esm2022}/lib/constants/components-group-const.mjs +0 -0
  39. /package/{esm2020 → esm2022}/lib/constants/icon-base64.const.mjs +0 -0
  40. /package/{esm2020 → esm2022}/lib/constants/key.const.mjs +0 -0
  41. /package/{esm2020 → esm2022}/lib/constants/plant.constant.mjs +0 -0
  42. /package/{esm2020 → esm2022}/lib/constants/value.const.mjs +0 -0
  43. /package/{esm2020 → esm2022}/lib/models/ato-asset-flow.model.mjs +0 -0
  44. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -10,25 +10,25 @@ import { v4 } from 'uuid';
10
10
 
11
11
  class AtoWaterLibService {
12
12
  constructor() { }
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibService, providedIn: 'root' });
13
15
  }
14
- AtoWaterLibService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
- AtoWaterLibService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibService, providedIn: 'root' });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibService, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibService, decorators: [{
17
17
  type: Injectable,
18
18
  args: [{
19
19
  providedIn: 'root'
20
20
  }]
21
- }], ctorParameters: function () { return []; } });
21
+ }], ctorParameters: () => [] });
22
22
 
23
23
  class AtoWaterLibComponent {
24
- }
25
- AtoWaterLibComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
- AtoWaterLibComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AtoWaterLibComponent, selector: "lib-ato-water-lib", ngImport: i0, template: `
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: AtoWaterLibComponent, selector: "lib-ato-water-lib", ngImport: i0, template: `
27
26
  <p>
28
27
  ato-water-lib works!
29
28
  </p>
30
29
  `, isInline: true });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibComponent, decorators: [{
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'lib-ato-water-lib', template: `
34
34
  <p>
@@ -820,6 +820,8 @@ var ATO_ENUM_FLOW_DIRECTION;
820
820
  })(ATO_ENUM_FLOW_DIRECTION || (ATO_ENUM_FLOW_DIRECTION = {}));
821
821
 
822
822
  class AtoGojsEditorModel {
823
+ initialOptions;
824
+ data; // FlowGoJsComponentModel
823
825
  constructor(data) {
824
826
  this.data = data;
825
827
  }
@@ -3177,10 +3179,10 @@ class UtilsService {
3177
3179
  }
3178
3180
  return text.replace(new RegExp(escapeRegExp(find), 'g'), replace);
3179
3181
  }
3182
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3183
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: UtilsService, providedIn: 'root' });
3180
3184
  }
3181
- UtilsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3182
- UtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UtilsService, providedIn: 'root' });
3183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UtilsService, decorators: [{
3185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: UtilsService, decorators: [{
3184
3186
  type: Injectable,
3185
3187
  args: [{
3186
3188
  providedIn: 'root',
@@ -3248,6 +3250,70 @@ const ARROW_GRAY = '/assets/images/icons/arrow-gray.svg';
3248
3250
  const RO_LINE_DIRTY = '/assets/images/icons/ro_line_dirty.svg';
3249
3251
  const OUTFLOW_LINE_DIRTY = '/assets/images/icons/outflow_line_dirty.png';
3250
3252
  class AtoDefaultGojsEditor {
3253
+ _elRef;
3254
+ menuTrigger;
3255
+ linkValidation;
3256
+ actions = [];
3257
+ actionMenuId = 'actionMenuId';
3258
+ myDiagramDiv = this.constructor.name + '-' + moment().valueOf();
3259
+ myDiagram;
3260
+ $ = go.GraphObject.make;
3261
+ animationInterval;
3262
+ defaultScaleZoomToFit;
3263
+ _initialOptions = {
3264
+ 'toolManager.hoverDelay': 200,
3265
+ // 'draggingTool.isEnabled': false,
3266
+ // initialAutoScale: go.Diagram.UniformToFill,
3267
+ // autoScrollRegion: AtoGojsEditorModel.GRID_SIZE * 5,
3268
+ layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),
3269
+ initialContentAlignment: go.Spot.Center,
3270
+ initialAutoScale: go.Diagram.Uniform,
3271
+ // contentAlignment: go.Spot.Center,
3272
+ // this.$(go.ForceDirectedLayout),
3273
+ 'undoManager.isEnabled': true, // enable undo & redo
3274
+ // "animationManager.isInitial": false,
3275
+ // "animationManager.isEnabled": false,
3276
+ // "draggingTool.isGridSnapEnabled": true
3277
+ dragSelectingTool: this.$(go.DragSelectingTool, { isPartialInclusion: true, delay: 50 }, {
3278
+ box: this.$(go.Part, // replace the magenta box with a red one
3279
+ { layerName: 'Tool', selectable: false }, this.$(go.Shape, {
3280
+ name: 'SHAPE',
3281
+ fill: 'rgba(255,0,0,0)',
3282
+ stroke: '#E95F47',
3283
+ strokeWidth: 2,
3284
+ })),
3285
+ }),
3286
+ 'linkingTool.linkValidation': this.checkLinkCondition.bind(this),
3287
+ 'draggingTool.doMouseMove': function () {
3288
+ // do the standard behavior by calling the super method
3289
+ go.DraggingTool.prototype.doMouseMove.call(this);
3290
+ // if dragging-out from the diagram is not allowed, and
3291
+ // if mouse is outside of viewport
3292
+ if (!this.diagram.allowDragOut &&
3293
+ !this.diagram.viewportBounds.containsPoint(this.diagram.lastInput.documentPoint)) {
3294
+ this.diagram.ensureBounds();
3295
+ const vp = this.diagram.lastInput.viewPoint;
3296
+ const dp = this.diagram.position.copy();
3297
+ if (vp.x < 0)
3298
+ dp.x -= 10;
3299
+ else if (vp.x > 0)
3300
+ dp.x += 10;
3301
+ if (vp.y < 0)
3302
+ dp.y -= 10;
3303
+ else if (vp.y > 0)
3304
+ dp.y += 10;
3305
+ this.diagram.position = dp; // scroll in the direction of the mouse
3306
+ }
3307
+ },
3308
+ // LayoutCompleted: () => {
3309
+ // this.myDiagram.zoomToFit();
3310
+ // this.defaultScaleZoomToFit = this.myDiagram.scale;
3311
+ // if (!this.initialOptions.isReadOnly) {
3312
+ // const sizeMargin = AtoGojsEditorModel.GRID_SIZE * 15;
3313
+ // this.myDiagram.padding = new go.Margin(sizeMargin);
3314
+ // }
3315
+ // },
3316
+ };
3251
3317
  checkLinkCondition(fromNode, fromPort, toNode, toPort, link) {
3252
3318
  if (this.linkValidation) {
3253
3319
  return this.linkValidation(fromNode, fromPort, toNode, toPort, link);
@@ -3261,6 +3327,7 @@ class AtoDefaultGojsEditor {
3261
3327
  get initialOptions() {
3262
3328
  return this._initialOptions;
3263
3329
  }
3330
+ _editor;
3264
3331
  set editor(v) {
3265
3332
  this._editor = v;
3266
3333
  if (v) {
@@ -3272,92 +3339,36 @@ class AtoDefaultGojsEditor {
3272
3339
  get editor() {
3273
3340
  return this._editor;
3274
3341
  }
3342
+ isShowNodeInfo = false;
3343
+ plantSatus;
3275
3344
  constructor(_elRef) {
3276
3345
  this._elRef = _elRef;
3277
- this.actions = [];
3278
- this.actionMenuId = 'actionMenuId';
3279
- this.myDiagramDiv = this.constructor.name + '-' + moment().valueOf();
3280
- this.$ = go.GraphObject.make;
3281
- this._initialOptions = {
3282
- 'toolManager.hoverDelay': 200,
3283
- // 'draggingTool.isEnabled': false,
3284
- // initialAutoScale: go.Diagram.UniformToFill,
3285
- // autoScrollRegion: AtoGojsEditorModel.GRID_SIZE * 5,
3286
- layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),
3287
- initialContentAlignment: go.Spot.Center,
3288
- initialAutoScale: go.Diagram.Uniform,
3289
- // contentAlignment: go.Spot.Center,
3290
- // this.$(go.ForceDirectedLayout),
3291
- 'undoManager.isEnabled': true,
3292
- // "animationManager.isInitial": false,
3293
- // "animationManager.isEnabled": false,
3294
- // "draggingTool.isGridSnapEnabled": true
3295
- dragSelectingTool: this.$(go.DragSelectingTool, { isPartialInclusion: true, delay: 50 }, {
3296
- box: this.$(go.Part, // replace the magenta box with a red one
3297
- { layerName: 'Tool', selectable: false }, this.$(go.Shape, {
3298
- name: 'SHAPE',
3299
- fill: 'rgba(255,0,0,0)',
3300
- stroke: '#E95F47',
3301
- strokeWidth: 2,
3302
- })),
3303
- }),
3304
- 'linkingTool.linkValidation': this.checkLinkCondition.bind(this),
3305
- 'draggingTool.doMouseMove': function () {
3306
- // do the standard behavior by calling the super method
3307
- go.DraggingTool.prototype.doMouseMove.call(this);
3308
- // if dragging-out from the diagram is not allowed, and
3309
- // if mouse is outside of viewport
3310
- if (!this.diagram.allowDragOut &&
3311
- !this.diagram.viewportBounds.containsPoint(this.diagram.lastInput.documentPoint)) {
3312
- this.diagram.ensureBounds();
3313
- const vp = this.diagram.lastInput.viewPoint;
3314
- const dp = this.diagram.position.copy();
3315
- if (vp.x < 0)
3316
- dp.x -= 10;
3317
- else if (vp.x > 0)
3318
- dp.x += 10;
3319
- if (vp.y < 0)
3320
- dp.y -= 10;
3321
- else if (vp.y > 0)
3322
- dp.y += 10;
3323
- this.diagram.position = dp; // scroll in the direction of the mouse
3324
- }
3325
- },
3326
- // LayoutCompleted: () => {
3327
- // this.myDiagram.zoomToFit();
3328
- // this.defaultScaleZoomToFit = this.myDiagram.scale;
3329
- // if (!this.initialOptions.isReadOnly) {
3330
- // const sizeMargin = AtoGojsEditorModel.GRID_SIZE * 15;
3331
- // this.myDiagram.padding = new go.Margin(sizeMargin);
3332
- // }
3333
- // },
3334
- };
3335
- this.isShowNodeInfo = false;
3336
- this.onModelChangeListenerEvent = new EventEmitter();
3337
- this.onClickInfoButton = new EventEmitter();
3338
- this.onOpenWizard = new EventEmitter();
3339
- this.onOpenDetail = new EventEmitter();
3340
- this.onOpenAssetParameter = new EventEmitter();
3341
- this.onOpenInsightMapping = new EventEmitter();
3342
- this.onHoverInfoButton = new EventEmitter();
3343
- this.onHoverAlert = new EventEmitter();
3344
- this.onDoubleClickNode = new EventEmitter();
3345
- this.onOpenChangeIcon = new EventEmitter();
3346
- // Click component
3347
- this.onClickCompoent = new EventEmitter();
3348
- this.callbackImageTopology = new EventEmitter();
3349
- // Click param on ParamTable
3350
- this.onClikParamOfTable = new EventEmitter();
3351
- // Delete Node
3352
- this.onDeleteNode = new EventEmitter();
3353
- this.onUndo = new EventEmitter();
3354
- // Rename
3355
- this.onRename = new EventEmitter();
3356
- this.committedTransactionSubject = new Subject();
3357
- // AddSub and UnSub
3358
- this._subscriptionList = new Subscription();
3359
3346
  go.Diagram.licenseKey = GO_LICENSE_KEY;
3360
3347
  }
3348
+ onModelChangeListenerEvent = new EventEmitter();
3349
+ onClickInfoButton = new EventEmitter();
3350
+ onOpenWizard = new EventEmitter();
3351
+ onOpenDetail = new EventEmitter();
3352
+ onOpenAssetParameter = new EventEmitter();
3353
+ onOpenInsightMapping = new EventEmitter();
3354
+ onHoverInfoButton = new EventEmitter();
3355
+ onHoverAlert = new EventEmitter();
3356
+ onDoubleClickNode = new EventEmitter();
3357
+ onOpenChangeIcon = new EventEmitter();
3358
+ // Click component
3359
+ onClickCompoent = new EventEmitter();
3360
+ callbackImageTopology = new EventEmitter();
3361
+ // Click param on ParamTable
3362
+ onClikParamOfTable = new EventEmitter();
3363
+ // Delete Node
3364
+ onDeleteNode = new EventEmitter();
3365
+ onUndo = new EventEmitter();
3366
+ // Rename
3367
+ onRename = new EventEmitter();
3368
+ isAddedModelChangedListeners;
3369
+ committedTransactionSubject = new Subject();
3370
+ // AddSub and UnSub
3371
+ _subscriptionList = new Subscription();
3361
3372
  ngOnDestroy() {
3362
3373
  this.unsubscribeAll();
3363
3374
  this.stopAnimation();
@@ -3445,7 +3456,7 @@ class AtoDefaultGojsEditor {
3445
3456
  this.makeGroupTemplate(AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon, AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name);
3446
3457
  }
3447
3458
  addNodeTemplate(node) {
3448
- if (this.myDiagram.nodeTemplateMap?.Hb[node?.type] || node?.isGroup) {
3459
+ if (this.myDiagram.nodeTemplateMap?.Hb?.[node?.type] || node?.isGroup) {
3449
3460
  return;
3450
3461
  }
3451
3462
  // Not Group
@@ -3861,7 +3872,7 @@ class AtoDefaultGojsEditor {
3861
3872
  visible: true,
3862
3873
  fill: 'transparent',
3863
3874
  }));
3864
- elements.push(this.$(go.Panel, 'Top', {
3875
+ elements.push(this.$(go.Panel, 'Vertical', {
3865
3876
  height: 38,
3866
3877
  // maxSize: new go.Size(NaN, 36),
3867
3878
  // width: 100,
@@ -3890,7 +3901,7 @@ class AtoDefaultGojsEditor {
3890
3901
  // editable: false,
3891
3902
  // alignment: go.Spot.Center, // Đảm bảo văn bản nằm ở trung tâm của nút
3892
3903
  // alignmentFocus: go.Spot.Center, // Đảm bảo văn bản không bị dịch chuyển ra khỏi trung tâm
3893
- wrap: go.TextBlock.WrapFit,
3904
+ wrap: go.TextBlock.WrapFit, // Chuyển dòng để văn bản không vượt ra ngoài
3894
3905
  // selectable: true,
3895
3906
  overflow: go.TextBlock.OverflowEllipsis,
3896
3907
  toolTip: this.$('ToolTip', this.$(go.TextBlock, {
@@ -3944,7 +3955,7 @@ class AtoDefaultGojsEditor {
3944
3955
  // Icon Err when lack of value
3945
3956
  this.$(go.TextBlock, {
3946
3957
  margin: new go.Margin(10, 10, 10, 10),
3947
- text: VALUE_NA,
3958
+ text: VALUE_NA, // Old version: TEXT_ERROR
3948
3959
  textAlign: 'center',
3949
3960
  font: 'bold 10pt sans-serif',
3950
3961
  stroke: AtoGojsEditorModel.ENUM_COLORS.SALMON,
@@ -4190,7 +4201,7 @@ class AtoDefaultGojsEditor {
4190
4201
  maxSize: new go.Size(30, 30),
4191
4202
  imageStretch: go.GraphObject.Uniform,
4192
4203
  }))
4193
- : ''), this.$(go.Panel, 'Auto', this.$(go.TextBlock, {
4204
+ : {}), this.$(go.Panel, 'Auto', this.$(go.TextBlock, {
4194
4205
  name: 'textBlockValue',
4195
4206
  row: 2,
4196
4207
  editable: false,
@@ -4309,7 +4320,7 @@ class AtoDefaultGojsEditor {
4309
4320
  // Icon Err when lack of value
4310
4321
  this.$(go.TextBlock, {
4311
4322
  margin: new go.Margin(10, 10, 10, 10),
4312
- text: VALUE_NA,
4323
+ text: VALUE_NA, // Old version: TEXT_ERROR
4313
4324
  textAlign: 'center',
4314
4325
  font: 'bold 10pt sans-serif',
4315
4326
  stroke: AtoGojsEditorModel.ENUM_COLORS.SALMON,
@@ -4689,6 +4700,12 @@ class AtoDefaultGojsEditor {
4689
4700
  click: (e, obj) => {
4690
4701
  if (obj?.data?.onSelected) {
4691
4702
  obj?.data?.onSelected(obj?.data);
4703
+ self.onClickCompoent.emit({
4704
+ left: e?.['Wr']?.x,
4705
+ top: e?.['Wr']?.y,
4706
+ node: node,
4707
+ component: obj?.data,
4708
+ });
4692
4709
  }
4693
4710
  },
4694
4711
  selectionChanged: (e) => {
@@ -4924,7 +4941,7 @@ class AtoDefaultGojsEditor {
4924
4941
  case AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW:
4925
4942
  onClickFn = () => {
4926
4943
  self.clickNewNode(e, _.merge(obj, {
4927
- actionMove: self.dragNewNode,
4944
+ actionMove: self.dragNewNode, // defined below, to support dragging from the button
4928
4945
  _dragData: {
4929
4946
  ...{
4930
4947
  type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,
@@ -5125,10 +5142,10 @@ class AtoDefaultGojsEditor {
5125
5142
  // panel.background = 'transparent';
5126
5143
  // },
5127
5144
  }, this.$(go.Shape, 'Ellipse', {
5128
- fill: 'white',
5145
+ fill: 'white', // Background color of the circle
5129
5146
  strokeWidth: 2,
5130
- stroke: '#919CA5',
5131
- width: 40,
5147
+ stroke: '#919CA5', // Border color of the circle
5148
+ width: 40, // Match the panel's width
5132
5149
  height: 40, // Match the panel's height
5133
5150
  })
5134
5151
  // this.$(
@@ -5182,7 +5199,7 @@ class AtoDefaultGojsEditor {
5182
5199
  toSpot: spot,
5183
5200
  toLinkable: input,
5184
5201
  cursor: this._initialOptions.isReadOnly ? '' : 'pointer',
5185
- alignmentFocus: go.Spot.Center,
5202
+ alignmentFocus: go.Spot.Center, // tập trung vào trung tâm của Panel
5186
5203
  mouseEnter: this._initialOptions.isReadOnly
5187
5204
  ? null
5188
5205
  : (e, panel) => {
@@ -5250,9 +5267,9 @@ class AtoDefaultGojsEditor {
5250
5267
  }), this.$(go.TextBlock, {
5251
5268
  name: 'textBlock',
5252
5269
  margin: 4,
5253
- text: '\uf0da',
5270
+ text: '\uf0da', // Mã Unicode tương ứng với fa-caret-left
5254
5271
  font: '900 12px "Font Awesome 6 Pro"',
5255
- stroke: 'white',
5272
+ stroke: 'white', // Đặt màu chữ thành màu trắng
5256
5273
  cursor: 'pointer',
5257
5274
  visible: false,
5258
5275
  }, new go.Binding('text', 'name', (_) => {
@@ -5647,7 +5664,7 @@ class AtoDefaultGojsEditor {
5647
5664
  }, new go.Binding('text', '', (data, panel) => {
5648
5665
  return data?.name;
5649
5666
  }), new go.Binding('maxSize', '', (data, panel) => {
5650
- return data?.maxSizeNameParam;
5667
+ return data?.maxSizeNameParam ?? Infinity;
5651
5668
  })), this.$(go.Panel, 'Table', {
5652
5669
  column: 1,
5653
5670
  margin: 2,
@@ -5680,7 +5697,7 @@ class AtoDefaultGojsEditor {
5680
5697
  return data?.value;
5681
5698
  }), new go.Binding('stroke', '', (data) => {
5682
5699
  if (!this._initialOptions.isReadOnly) {
5683
- return;
5700
+ return 'transparent';
5684
5701
  }
5685
5702
  return data.color;
5686
5703
  }), new go.Binding('maxSize', '', (data) => {
@@ -6118,7 +6135,7 @@ class AtoDefaultGojsEditor {
6118
6135
  name: 0,
6119
6136
  color: AtoGojsEditorModel.ENUM_COLORS.BLUE,
6120
6137
  },
6121
- click: self.addItemOnGroupZone,
6138
+ click: self.addItemOnGroupZone, // defined below, to support a click on the button
6122
6139
  'ButtonBorder.strokeWidth': 0,
6123
6140
  'ButtonBorder.fill': 'white',
6124
6141
  }, this.$(go.TextBlock, {
@@ -6664,12 +6681,12 @@ class AtoDefaultGojsEditor {
6664
6681
  this._subscriptionList.add(el);
6665
6682
  });
6666
6683
  }
6684
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoDefaultGojsEditor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
6685
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: AtoDefaultGojsEditor, inputs: { linkValidation: "linkValidation", initialOptions: "initialOptions", editor: "editor", isShowNodeInfo: "isShowNodeInfo", plantSatus: "plantSatus" }, outputs: { onModelChangeListenerEvent: "onModelChangeListenerEvent", onClickInfoButton: "onClickInfoButton", onOpenWizard: "onOpenWizard", onOpenDetail: "onOpenDetail", onOpenAssetParameter: "onOpenAssetParameter", onOpenInsightMapping: "onOpenInsightMapping", onHoverInfoButton: "onHoverInfoButton", onHoverAlert: "onHoverAlert", onDoubleClickNode: "onDoubleClickNode", onOpenChangeIcon: "onOpenChangeIcon", onClickCompoent: "onClickCompoent", callbackImageTopology: "callbackImageTopology", onClikParamOfTable: "onClikParamOfTable", onDeleteNode: "onDeleteNode", onUndo: "onUndo", onRename: "onRename" }, viewQueries: [{ propertyName: "menuTrigger", first: true, predicate: ["menuTrigger"], descendants: true }], ngImport: i0 });
6667
6686
  }
6668
- AtoDefaultGojsEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoDefaultGojsEditor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
6669
- AtoDefaultGojsEditor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AtoDefaultGojsEditor, inputs: { linkValidation: "linkValidation", initialOptions: "initialOptions", editor: "editor", isShowNodeInfo: "isShowNodeInfo", plantSatus: "plantSatus" }, outputs: { onModelChangeListenerEvent: "onModelChangeListenerEvent", onClickInfoButton: "onClickInfoButton", onOpenWizard: "onOpenWizard", onOpenDetail: "onOpenDetail", onOpenAssetParameter: "onOpenAssetParameter", onOpenInsightMapping: "onOpenInsightMapping", onHoverInfoButton: "onHoverInfoButton", onHoverAlert: "onHoverAlert", onDoubleClickNode: "onDoubleClickNode", onOpenChangeIcon: "onOpenChangeIcon", onClickCompoent: "onClickCompoent", callbackImageTopology: "callbackImageTopology", onClikParamOfTable: "onClikParamOfTable", onDeleteNode: "onDeleteNode", onUndo: "onUndo", onRename: "onRename" }, viewQueries: [{ propertyName: "menuTrigger", first: true, predicate: ["menuTrigger"], descendants: true }], ngImport: i0 });
6670
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoDefaultGojsEditor, decorators: [{
6687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoDefaultGojsEditor, decorators: [{
6671
6688
  type: Directive
6672
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { menuTrigger: [{
6689
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { menuTrigger: [{
6673
6690
  type: ViewChild,
6674
6691
  args: ['menuTrigger']
6675
6692
  }], linkValidation: [{
@@ -6797,6 +6814,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
6797
6814
  })(AtoDefaultGojsEditor || (AtoDefaultGojsEditor = {}));
6798
6815
 
6799
6816
  class AtoLoadingDirective {
6817
+ el;
6818
+ renderer;
6819
+ appLoading;
6820
+ spinnerWrapper;
6800
6821
  constructor(el, renderer) {
6801
6822
  this.el = el;
6802
6823
  this.renderer = renderer;
@@ -6837,30 +6858,31 @@ class AtoLoadingDirective {
6837
6858
  this.renderer.removeChild(this.el.nativeElement, this.spinnerWrapper);
6838
6859
  }
6839
6860
  }
6861
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoLoadingDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
6862
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: AtoLoadingDirective, selector: "[atoLoading]", inputs: { appLoading: "appLoading" }, usesOnChanges: true, ngImport: i0 });
6840
6863
  }
6841
- AtoLoadingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoLoadingDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
6842
- AtoLoadingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AtoLoadingDirective, selector: "[atoLoading]", inputs: { appLoading: "appLoading" }, usesOnChanges: true, ngImport: i0 });
6843
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoLoadingDirective, decorators: [{
6864
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoLoadingDirective, decorators: [{
6844
6865
  type: Directive,
6845
6866
  args: [{
6846
6867
  selector: '[atoLoading]'
6847
6868
  }]
6848
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { appLoading: [{
6869
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { appLoading: [{
6849
6870
  type: Input
6850
6871
  }] } });
6851
6872
 
6852
6873
  class AtoFlowDiagramLibComponent extends AtoDefaultGojsEditor {
6874
+ myDiagramDivTemp;
6875
+ _data = null;
6853
6876
  set data(v) {
6854
6877
  this._data = v;
6855
6878
  this.loadDiagram();
6856
6879
  }
6880
+ isLoading = false;
6857
6881
  get data() {
6858
6882
  return this._data;
6859
6883
  }
6860
6884
  constructor(_elRef) {
6861
6885
  super(_elRef);
6862
- this._data = null;
6863
- this.isLoading = false;
6864
6886
  this.actions = [
6865
6887
  AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS],
6866
6888
  AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE],
@@ -6882,13 +6904,13 @@ class AtoFlowDiagramLibComponent extends AtoDefaultGojsEditor {
6882
6904
  findNodeForKey(key) {
6883
6905
  this.myDiagram.select(this.myDiagram.findNodeForKey(key));
6884
6906
  }
6907
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoFlowDiagramLibComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
6908
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", 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 class=\"flex-grow-1 {{myDiagramDiv}}\"></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"] }] });
6885
6909
  }
6886
- AtoFlowDiagramLibComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoFlowDiagramLibComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
6887
- 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 class=\"flex-grow-1 {{myDiagramDiv}}\"></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"] }] });
6888
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoFlowDiagramLibComponent, decorators: [{
6910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoFlowDiagramLibComponent, decorators: [{
6889
6911
  type: Component,
6890
6912
  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 class=\"flex-grow-1 {{myDiagramDiv}}\"></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" }]
6891
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { myDiagramDivTemp: [{
6913
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { myDiagramDivTemp: [{
6892
6914
  type: ViewChild,
6893
6915
  args: ['myDiagramDivTemp']
6894
6916
  }], data: [{
@@ -9192,20 +9214,18 @@ const ATO_COMPONENTS_GROUP_DATA = {
9192
9214
  };
9193
9215
 
9194
9216
  class AtoAssetParamsViewComponent {
9195
- constructor() {
9196
- this.isEditView = false;
9197
- this.data = [];
9198
- this.clickParamTableRow = new EventEmitter();
9199
- }
9217
+ isEditView = false;
9218
+ data = [];
9219
+ clickParamTableRow = new EventEmitter();
9200
9220
  onClickRowParam(itemTable) {
9201
9221
  if (this.isEditView && itemTable?.isEditable) {
9202
9222
  this.clickParamTableRow.emit(itemTable);
9203
9223
  }
9204
9224
  }
9225
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoAssetParamsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9226
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", 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 [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)=\"data.isCollapsed = !data.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">\n {{ data?.title }}\n </div>\n <svg\n *ngIf=\"data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"\n />\n </svg>\n <svg\n *ngIf=\"!data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!data.isCollapsed\">\n <div\n class=\"table-asset-param-wrapper\"\n [style.backgroundColor]=\"data?.bgColor\"\n >\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n {{ itemTable?.name }}\n </td>\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n <div class=\"d-flex align-items-center flex-gap-2\">\n <div\n class=\"mr-auto font-size-13px flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView && itemTable?.isEditable\" class=\"svg-15px\" fill=\"#333333\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>\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}.asset-param-item .table-asset-param-wrapper table tbody tr td:first-child{width:30%}.asset-param-item .table-asset-param-wrapper table tbody tr td:last-child{width:70%}.color-white{color:#fff}.flex-gap-2{gap:.5rem}.svg-15px{width:15px;height:15px;flex:0 0 15px}\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"] }] });
9205
9227
  }
9206
- AtoAssetParamsViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoAssetParamsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9207
- 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 [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)=\"data.isCollapsed = !data.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">\n {{ data?.title }}\n </div>\n <svg\n *ngIf=\"data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"\n />\n </svg>\n <svg\n *ngIf=\"!data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!data.isCollapsed\">\n <div\n class=\"table-asset-param-wrapper\"\n [style.backgroundColor]=\"data?.bgColor\"\n >\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n {{ itemTable?.name }}\n </td>\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n <div class=\"d-flex align-items-center flex-gap-2\">\n <div\n class=\"mr-auto font-size-13px flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView && itemTable?.isEditable\" class=\"svg-15px\" fill=\"#333333\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>\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}.asset-param-item .table-asset-param-wrapper table tbody tr td:first-child{width:30%}.asset-param-item .table-asset-param-wrapper table tbody tr td:last-child{width:70%}.color-white{color:#fff}.flex-gap-2{gap:.5rem}.svg-15px{width:15px;height:15px;flex:0 0 15px}\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"] }] });
9208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoAssetParamsViewComponent, decorators: [{
9228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoAssetParamsViewComponent, decorators: [{
9209
9229
  type: Component,
9210
9230
  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 [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)=\"data.isCollapsed = !data.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">\n {{ data?.title }}\n </div>\n <svg\n *ngIf=\"data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"\n />\n </svg>\n <svg\n *ngIf=\"!data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!data.isCollapsed\">\n <div\n class=\"table-asset-param-wrapper\"\n [style.backgroundColor]=\"data?.bgColor\"\n >\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n {{ itemTable?.name }}\n </td>\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n <div class=\"d-flex align-items-center flex-gap-2\">\n <div\n class=\"mr-auto font-size-13px flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView && itemTable?.isEditable\" class=\"svg-15px\" fill=\"#333333\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>\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}.asset-param-item .table-asset-param-wrapper table tbody tr td:first-child{width:30%}.asset-param-item .table-asset-param-wrapper table tbody tr td:last-child{width:70%}.color-white{color:#fff}.flex-gap-2{gap:.5rem}.svg-15px{width:15px;height:15px;flex:0 0 15px}\n"] }]
9211
9231
  }], propDecorators: { isEditView: [{
@@ -9217,17 +9237,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
9217
9237
  }] } });
9218
9238
 
9219
9239
  class AssetFlowComponent {
9220
- constructor() {
9221
- this.onClickParamOfTableEvent = new EventEmitter();
9222
- this.isUseBase64 = false;
9223
- this.$ = go.GraphObject.make;
9224
- this.options = {
9225
- layout: this.$(go.LayeredDigraphLayout, {
9226
- // direction: 0,
9227
- }),
9228
- // isReadOnly: true,
9229
- };
9230
- }
9240
+ assetLayer;
9241
+ gjFlowDiagramTemp;
9242
+ assetParamsViewTemp;
9243
+ selectedComponent;
9244
+ systemType;
9245
+ onClickParamOfTableEvent = new EventEmitter();
9246
+ isUseBase64 = false;
9247
+ isFrom;
9248
+ $ = go.GraphObject.make;
9249
+ options = {
9250
+ layout: this.$(go.LayeredDigraphLayout, {
9251
+ // direction: 0,
9252
+ }),
9253
+ // isReadOnly: true,
9254
+ };
9255
+ _flowData;
9231
9256
  set flowData(v) {
9232
9257
  this._flowData = v;
9233
9258
  this.updateDataTableAssetParams({ ...v, assetLayer: this.assetLayer });
@@ -9235,10 +9260,14 @@ class AssetFlowComponent {
9235
9260
  get flowData() {
9236
9261
  return this._flowData;
9237
9262
  }
9263
+ // Reponsive
9264
+ dataTableAssetParams;
9238
9265
  // @Input() isResponsiveView = false;
9239
9266
  get isResponsiveView() {
9240
9267
  return window.innerWidth < 1024;
9241
9268
  }
9269
+ getFlowDataCallBack;
9270
+ timeoutResizeWindow;
9242
9271
  onResize(event) {
9243
9272
  // Now only Support Cooling Tower Responsive
9244
9273
  if (this.timeoutResizeWindow) {
@@ -9335,10 +9364,10 @@ class AssetFlowComponent {
9335
9364
  }
9336
9365
  });
9337
9366
  }
9367
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AssetFlowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9368
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: AssetFlowComponent, selector: "ato-asset-flow", inputs: { assetLayer: "assetLayer", selectedComponent: "selectedComponent", systemType: "systemType", isUseBase64: "isUseBase64", isFrom: "isFrom", flowData: "flowData", getFlowDataCallBack: "getFlowDataCallBack" }, outputs: { onClickParamOfTableEvent: "onClickParamOfTableEvent" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "gjFlowDiagramTemp", first: true, predicate: AtoFlowDiagramLibComponent, descendants: true }, { propertyName: "assetParamsViewTemp", first: true, predicate: AtoAssetParamsViewComponent, 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 #assetParamsViewTemp\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;min-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"] }] });
9338
9369
  }
9339
- AssetFlowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AssetFlowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9340
- AssetFlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AssetFlowComponent, selector: "ato-asset-flow", inputs: { assetLayer: "assetLayer", selectedComponent: "selectedComponent", systemType: "systemType", isUseBase64: "isUseBase64", isFrom: "isFrom", flowData: "flowData", getFlowDataCallBack: "getFlowDataCallBack" }, outputs: { onClickParamOfTableEvent: "onClickParamOfTableEvent" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "gjFlowDiagramTemp", first: true, predicate: AtoFlowDiagramLibComponent, descendants: true }, { propertyName: "assetParamsViewTemp", first: true, predicate: AtoAssetParamsViewComponent, 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 #assetParamsViewTemp\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;min-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"] }] });
9341
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AssetFlowComponent, decorators: [{
9370
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AssetFlowComponent, decorators: [{
9342
9371
  type: Component,
9343
9372
  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 #assetParamsViewTemp\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;min-height:30vh}\n"] }]
9344
9373
  }], propDecorators: { assetLayer: [{
@@ -9369,6 +9398,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
9369
9398
  }] } });
9370
9399
 
9371
9400
  class AtoNgVarDirective {
9401
+ templateRef;
9402
+ vcRef;
9372
9403
  set ngAtoVar(context) {
9373
9404
  this.context.$implicit = this.context.ngAtoVar = context;
9374
9405
  if (!this.hasView) {
@@ -9376,43 +9407,43 @@ class AtoNgVarDirective {
9376
9407
  this.hasView = true;
9377
9408
  }
9378
9409
  }
9410
+ context = {
9411
+ $implicit: null,
9412
+ ngAtoVar: null,
9413
+ };
9414
+ hasView = false;
9379
9415
  constructor(templateRef, vcRef) {
9380
9416
  this.templateRef = templateRef;
9381
9417
  this.vcRef = vcRef;
9382
- this.context = {
9383
- $implicit: null,
9384
- ngAtoVar: null,
9385
- };
9386
- this.hasView = false;
9387
9418
  }
9419
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoNgVarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
9420
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: AtoNgVarDirective, selector: "[ngAtoVar]", inputs: { ngAtoVar: "ngAtoVar" }, ngImport: i0 });
9388
9421
  }
9389
- 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 });
9390
- AtoNgVarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AtoNgVarDirective, selector: "[ngAtoVar]", inputs: { ngAtoVar: "ngAtoVar" }, ngImport: i0 });
9391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoNgVarDirective, decorators: [{
9422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoNgVarDirective, decorators: [{
9392
9423
  type: Directive,
9393
9424
  args: [{
9394
9425
  selector: '[ngAtoVar]',
9395
9426
  }]
9396
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { ngAtoVar: [{
9427
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { ngAtoVar: [{
9397
9428
  type: Input
9398
9429
  }] } });
9399
9430
 
9400
9431
  class AtoWaterLibModule {
9432
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9433
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibModule, declarations: [AtoWaterLibComponent,
9434
+ AtoFlowDiagramLibComponent,
9435
+ AssetFlowComponent,
9436
+ AtoLoadingDirective,
9437
+ AtoAssetParamsViewComponent,
9438
+ AtoNgVarDirective], imports: [CommonModule], exports: [AtoWaterLibComponent,
9439
+ AtoFlowDiagramLibComponent,
9440
+ AssetFlowComponent,
9441
+ AtoLoadingDirective,
9442
+ AtoAssetParamsViewComponent,
9443
+ AtoNgVarDirective] });
9444
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibModule, imports: [CommonModule] });
9401
9445
  }
9402
- AtoWaterLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9403
- AtoWaterLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, declarations: [AtoWaterLibComponent,
9404
- AtoFlowDiagramLibComponent,
9405
- AssetFlowComponent,
9406
- AtoLoadingDirective,
9407
- AtoAssetParamsViewComponent,
9408
- AtoNgVarDirective], imports: [CommonModule], exports: [AtoWaterLibComponent,
9409
- AtoFlowDiagramLibComponent,
9410
- AssetFlowComponent,
9411
- AtoLoadingDirective,
9412
- AtoAssetParamsViewComponent,
9413
- AtoNgVarDirective] });
9414
- AtoWaterLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, imports: [CommonModule] });
9415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, decorators: [{
9446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibModule, decorators: [{
9416
9447
  type: NgModule,
9417
9448
  args: [{
9418
9449
  declarations: [