ato-water-lib 0.0.90 → 0.0.92

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. package/{esm2022 → esm2020}/lib/ato-water-lib.component.mjs +5 -5
  2. package/{esm2022 → esm2020}/lib/ato-water-lib.module.mjs +15 -15
  3. package/{esm2022 → esm2020}/lib/ato-water-lib.service.mjs +5 -5
  4. package/esm2020/lib/components/asset-flow/asset-flow.component.mjs +165 -0
  5. package/{esm2022 → esm2020}/lib/components/asset-params-view/asset-params-view.component.mjs +9 -7
  6. package/esm2020/lib/components/flow-diagram-lib/flow-diagram-lib.component.mjs +54 -0
  7. package/esm2020/lib/constants/components-group-const.mjs +3687 -0
  8. package/esm2020/lib/directive/ato-loading.directive.mjs +55 -0
  9. package/esm2020/lib/directive/ng-var.directive.mjs +31 -0
  10. package/esm2020/lib/models/default-gojs-editor.model.mjs +3589 -0
  11. package/esm2020/lib/models/gojs-data.model.mjs +6 -0
  12. package/esm2020/lib/models/gojs-editor.model.mjs +1822 -0
  13. package/esm2020/lib/services/utils/utils.service.mjs +133 -0
  14. package/fesm2015/ato-water-lib.mjs +9810 -0
  15. package/fesm2015/ato-water-lib.mjs.map +1 -0
  16. package/{fesm2022 → fesm2020}/ato-water-lib.mjs +1980 -568
  17. package/fesm2020/ato-water-lib.mjs.map +1 -0
  18. package/lib/components/asset-flow/asset-flow.component.d.ts +1 -1
  19. package/lib/components/asset-params-view/asset-params-view.component.d.ts +1 -1
  20. package/lib/components/flow-diagram-lib/flow-diagram-lib.component.d.ts +1 -1
  21. package/lib/constants/components-group-const.d.ts +710 -115
  22. package/lib/directive/ato-loading.directive.d.ts +1 -1
  23. package/lib/directive/ng-var.directive.d.ts +1 -1
  24. package/lib/models/default-gojs-editor.model.d.ts +2 -2
  25. package/lib/models/gojs-editor.model.d.ts +12 -5
  26. package/package.json +13 -7
  27. package/esm2022/lib/components/asset-flow/asset-flow.component.mjs +0 -174
  28. package/esm2022/lib/components/flow-diagram-lib/flow-diagram-lib.component.mjs +0 -55
  29. package/esm2022/lib/constants/components-group-const.mjs +0 -2291
  30. package/esm2022/lib/directive/ato-loading.directive.mjs +0 -59
  31. package/esm2022/lib/directive/ng-var.directive.mjs +0 -33
  32. package/esm2022/lib/models/default-gojs-editor.model.mjs +0 -3582
  33. package/esm2022/lib/models/gojs-data.model.mjs +0 -10
  34. package/esm2022/lib/models/gojs-editor.model.mjs +0 -1799
  35. package/esm2022/lib/services/utils/utils.service.mjs +0 -133
  36. package/fesm2022/ato-water-lib.mjs.map +0 -1
  37. /package/{esm2022 → esm2020}/ato-water-lib.mjs +0 -0
  38. /package/{esm2022 → esm2020}/lib/constants/applicable-prefixes-const.mjs +0 -0
  39. /package/{esm2022 → esm2020}/lib/constants/base64.const.mjs +0 -0
  40. /package/{esm2022 → esm2020}/lib/constants/icon-base64.const.mjs +0 -0
  41. /package/{esm2022 → esm2020}/lib/constants/key.const.mjs +0 -0
  42. /package/{esm2022 → esm2020}/lib/constants/plant.constant.mjs +0 -0
  43. /package/{esm2022 → esm2020}/lib/constants/value.const.mjs +0 -0
  44. /package/{esm2022 → esm2020}/lib/models/ato-asset-flow.model.mjs +0 -0
  45. /package/{esm2022 → esm2020}/public-api.mjs +0 -0
@@ -1,14 +1,14 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class AtoWaterLibComponent {
4
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: AtoWaterLibComponent, selector: "lib-ato-water-lib", ngImport: i0, template: `
4
+ }
5
+ AtoWaterLibComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ AtoWaterLibComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AtoWaterLibComponent, selector: "lib-ato-water-lib", ngImport: i0, template: `
6
7
  <p>
7
8
  ato-water-lib works!
8
9
  </p>
9
10
  `, isInline: true });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'lib-ato-water-lib', template: `
14
14
  <p>
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
16
16
  </p>
17
17
  ` }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvLXdhdGVyLWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG8td2F0ZXItbGliL3NyYy9saWIvYXRvLXdhdGVyLWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZMUMsTUFBTSxPQUFPLG9CQUFvQjt1R0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0IseURBUnJCOzs7O0dBSVQ7OzJGQUlVLG9CQUFvQjtrQkFWaEMsU0FBUzsrQkFDRSxtQkFBbUIsWUFDbkI7Ozs7R0FJVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXRvLXdhdGVyLWxpYicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHA+XG4gICAgICBhdG8td2F0ZXItbGliIHdvcmtzIVxuICAgIDwvcD5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXRvV2F0ZXJMaWJDb21wb25lbnQge1xuXG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvLXdhdGVyLWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG8td2F0ZXItbGliL3NyYy9saWIvYXRvLXdhdGVyLWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZMUMsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjtzR0FBcEIsb0JBQW9CLHlEQVJyQjs7OztHQUlUOzRGQUlVLG9CQUFvQjtrQkFWaEMsU0FBUzsrQkFDRSxtQkFBbUIsWUFDbkI7Ozs7R0FJVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXRvLXdhdGVyLWxpYicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHA+XG4gICAgICBhdG8td2F0ZXItbGliIHdvcmtzIVxuICAgIDwvcD5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXRvV2F0ZXJMaWJDb21wb25lbnQge1xuXG59XG4iXX0=
@@ -8,21 +8,21 @@ import { AtoAssetParamsViewComponent } from './components/asset-params-view/asse
8
8
  import { AtoNgVarDirective } from './directive/ng-var.directive';
9
9
  import * as i0 from "@angular/core";
10
10
  export class AtoWaterLibModule {
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibModule, declarations: [AtoWaterLibComponent,
13
- AtoFlowDiagramLibComponent,
14
- AssetFlowComponent,
15
- AtoLoadingDirective,
16
- AtoAssetParamsViewComponent,
17
- AtoNgVarDirective], imports: [CommonModule], exports: [AtoWaterLibComponent,
18
- AtoFlowDiagramLibComponent,
19
- AssetFlowComponent,
20
- AtoLoadingDirective,
21
- AtoAssetParamsViewComponent,
22
- AtoNgVarDirective] });
23
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibModule, imports: [CommonModule] });
24
11
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibModule, decorators: [{
12
+ AtoWaterLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ AtoWaterLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, declarations: [AtoWaterLibComponent,
14
+ AtoFlowDiagramLibComponent,
15
+ AssetFlowComponent,
16
+ AtoLoadingDirective,
17
+ AtoAssetParamsViewComponent,
18
+ AtoNgVarDirective], imports: [CommonModule], exports: [AtoWaterLibComponent,
19
+ AtoFlowDiagramLibComponent,
20
+ AssetFlowComponent,
21
+ AtoLoadingDirective,
22
+ AtoAssetParamsViewComponent,
23
+ AtoNgVarDirective] });
24
+ AtoWaterLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, imports: [CommonModule] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibModule, decorators: [{
26
26
  type: NgModule,
27
27
  args: [{
28
28
  declarations: [
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
46
46
  ]
47
47
  }]
48
48
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvLXdhdGVyLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG8td2F0ZXItbGliL3NyYy9saWIvYXRvLXdhdGVyLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBdUJqRSxNQUFNLE9BQU8saUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixpQkFuQjFCLG9CQUFvQjtZQUNwQiwwQkFBMEI7WUFDMUIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQiwyQkFBMkI7WUFDM0IsaUJBQWlCLGFBR2pCLFlBQVksYUFHWixvQkFBb0I7WUFDcEIsMEJBQTBCO1lBQzFCLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsMkJBQTJCO1lBQzNCLGlCQUFpQjt3R0FHUixpQkFBaUIsWUFYMUIsWUFBWTs7MkZBV0gsaUJBQWlCO2tCQXJCN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF0b1dhdGVyTGliQ29tcG9uZW50IH0gZnJvbSAnLi9hdG8td2F0ZXItbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9GbG93RGlhZ3JhbUxpYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mbG93LWRpYWdyYW0tbGliL2Zsb3ctZGlhZ3JhbS1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IEFzc2V0Rmxvd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1mbG93L2Fzc2V0LWZsb3cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBdG9Mb2FkaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvYXRvLWxvYWRpbmcuZGlyZWN0aXZlJztcbmltcG9ydCB7IEF0b0Fzc2V0UGFyYW1zVmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1wYXJhbXMtdmlldy9hc3NldC1wYXJhbXMtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvTmdWYXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9uZy12YXIuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXRvV2F0ZXJMaWJDb21wb25lbnQsXG4gICAgQXRvRmxvd0RpYWdyYW1MaWJDb21wb25lbnQsXG4gICAgQXNzZXRGbG93Q29tcG9uZW50LFxuICAgIEF0b0xvYWRpbmdEaXJlY3RpdmUsXG4gICAgQXRvQXNzZXRQYXJhbXNWaWV3Q29tcG9uZW50LFxuICAgIEF0b05nVmFyRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXRvV2F0ZXJMaWJDb21wb25lbnQsXG4gICAgQXRvRmxvd0RpYWdyYW1MaWJDb21wb25lbnQsXG4gICAgQXNzZXRGbG93Q29tcG9uZW50LFxuICAgIEF0b0xvYWRpbmdEaXJlY3RpdmUsXG4gICAgQXRvQXNzZXRQYXJhbXNWaWV3Q29tcG9uZW50LFxuICAgIEF0b05nVmFyRGlyZWN0aXZlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEF0b1dhdGVyTGliTW9kdWxlIHsgfVxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvLXdhdGVyLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG8td2F0ZXItbGliL3NyYy9saWIvYXRvLXdhdGVyLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBdUJqRSxNQUFNLE9BQU8saUJBQWlCOzsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBbkIxQixvQkFBb0I7UUFDcEIsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsMkJBQTJCO1FBQzNCLGlCQUFpQixhQUdqQixZQUFZLGFBR1osb0JBQW9CO1FBQ3BCLDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQixpQkFBaUI7Z0hBR1IsaUJBQWlCLFlBWDFCLFlBQVk7NEZBV0gsaUJBQWlCO2tCQXJCN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF0b1dhdGVyTGliQ29tcG9uZW50IH0gZnJvbSAnLi9hdG8td2F0ZXItbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9GbG93RGlhZ3JhbUxpYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mbG93LWRpYWdyYW0tbGliL2Zsb3ctZGlhZ3JhbS1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IEFzc2V0Rmxvd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1mbG93L2Fzc2V0LWZsb3cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBdG9Mb2FkaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvYXRvLWxvYWRpbmcuZGlyZWN0aXZlJztcbmltcG9ydCB7IEF0b0Fzc2V0UGFyYW1zVmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1wYXJhbXMtdmlldy9hc3NldC1wYXJhbXMtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvTmdWYXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9uZy12YXIuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXRvV2F0ZXJMaWJDb21wb25lbnQsXG4gICAgQXRvRmxvd0RpYWdyYW1MaWJDb21wb25lbnQsXG4gICAgQXNzZXRGbG93Q29tcG9uZW50LFxuICAgIEF0b0xvYWRpbmdEaXJlY3RpdmUsXG4gICAgQXRvQXNzZXRQYXJhbXNWaWV3Q29tcG9uZW50LFxuICAgIEF0b05nVmFyRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXRvV2F0ZXJMaWJDb21wb25lbnQsXG4gICAgQXRvRmxvd0RpYWdyYW1MaWJDb21wb25lbnQsXG4gICAgQXNzZXRGbG93Q29tcG9uZW50LFxuICAgIEF0b0xvYWRpbmdEaXJlY3RpdmUsXG4gICAgQXRvQXNzZXRQYXJhbXNWaWV3Q29tcG9uZW50LFxuICAgIEF0b05nVmFyRGlyZWN0aXZlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEF0b1dhdGVyTGliTW9kdWxlIHsgfVxuIl19
@@ -2,13 +2,13 @@ import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class AtoWaterLibService {
4
4
  constructor() { }
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibService, providedIn: 'root' });
7
5
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoWaterLibService, decorators: [{
6
+ AtoWaterLibService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7
+ AtoWaterLibService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibService, providedIn: 'root' });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoWaterLibService, decorators: [{
9
9
  type: Injectable,
10
10
  args: [{
11
11
  providedIn: 'root'
12
12
  }]
13
- }], ctorParameters: () => [] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvLXdhdGVyLWxpYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvLXdhdGVyLWxpYi9zcmMvbGliL2F0by13YXRlci1saWIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLGdCQUFnQixDQUFDO3VHQUZOLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF0b1dhdGVyTGliU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cbiJdfQ==
13
+ }], ctorParameters: function () { return []; } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvLXdhdGVyLWxpYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvLXdhdGVyLWxpYi9zcmMvbGliL2F0by13YXRlci1saWIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLGdCQUFnQixDQUFDOztnSEFGTixrQkFBa0I7b0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF0b1dhdGVyTGliU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cbiJdfQ==
@@ -0,0 +1,165 @@
1
+ import { Component, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
2
+ import * as go from 'gojs';
3
+ import _ from 'lodash';
4
+ import { AtoGoJSBase64 } from '../../constants/base64.const';
5
+ import { ATO_COMPONENTS_GROUP_DATA, } from '../../constants/components-group-const';
6
+ import { AtoGojsEditorModel } from '../../models/gojs-editor.model';
7
+ import { AtoAssetParamsViewComponent } from '../asset-params-view/asset-params-view.component';
8
+ import { AtoFlowDiagramLibComponent } from '../flow-diagram-lib/flow-diagram-lib.component';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ import * as i2 from "../flow-diagram-lib/flow-diagram-lib.component";
12
+ import * as i3 from "../../directive/ato-loading.directive";
13
+ import * as i4 from "../asset-params-view/asset-params-view.component";
14
+ export class AssetFlowComponent {
15
+ constructor() {
16
+ this.onClickParamOfTableEvent = new EventEmitter();
17
+ this.isUseBase64 = false;
18
+ this.$ = go.GraphObject.make;
19
+ this.options = {
20
+ layout: this.$(go.LayeredDigraphLayout, {
21
+ // direction: 0,
22
+ }),
23
+ // isReadOnly: true,
24
+ };
25
+ }
26
+ set flowData(v) {
27
+ this._flowData = v;
28
+ this.updateDataTableAssetParams({ ...v, assetLayer: this.assetLayer });
29
+ }
30
+ get flowData() {
31
+ return this._flowData;
32
+ }
33
+ // @Input() isResponsiveView = false;
34
+ get isResponsiveView() {
35
+ return window.innerWidth < 1024;
36
+ }
37
+ onResize(event) {
38
+ // Now only Support Cooling Tower Responsive
39
+ if (this.timeoutResizeWindow) {
40
+ clearTimeout(this.timeoutResizeWindow);
41
+ }
42
+ this.timeoutResizeWindow = setTimeout(() => {
43
+ this.updateLocationReponsive();
44
+ }, 1000);
45
+ }
46
+ updateLocationReponsive() {
47
+ if (!this.flowData?.nodeDataArray) {
48
+ this.flowData = AssetFlowComponent.getDefaultFlowData({
49
+ systemType: this.systemType,
50
+ isUseBase64: this.isUseBase64,
51
+ assetLayer: this.assetLayer,
52
+ });
53
+ }
54
+ _.forEach(this.flowData?.nodeDataArray, (node) => {
55
+ node = _.merge(node, node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`]);
56
+ });
57
+ this.setFlowData(_.cloneDeep(this.flowData));
58
+ }
59
+ ngOnInit() {
60
+ this.updateLocationReponsive();
61
+ }
62
+ onClickParamOfTable($event) {
63
+ this.onClickParamOfTableEvent.emit($event);
64
+ }
65
+ static getDefaultFlowData(defaultData) {
66
+ const flowData = {
67
+ ...defaultData,
68
+ ..._.cloneDeep(ATO_COMPONENTS_GROUP_DATA)[defaultData?.systemType],
69
+ linkFromPortIdProperty: 'fromPort',
70
+ linkToPortIdProperty: 'toPort',
71
+ };
72
+ const isResponsiveView = window.innerWidth < 1024;
73
+ // Reponsive
74
+ _.forEach(flowData?.nodeDataArray, (node) => {
75
+ const propertyNameExtend = `extendedData${defaultData.isFrom && node?.isFrom ? `isFrom${defaultData.isFrom}` : ''}${isResponsiveView ? 'Responsive' : ''}`;
76
+ node = _.merge(node, node[propertyNameExtend]);
77
+ if (node?.assetLayers) {
78
+ node.visible =
79
+ node?.assetLayers === defaultData?.assetLayer &&
80
+ node[propertyNameExtend]?.visible;
81
+ }
82
+ if (defaultData.isFrom && node?.dataTable) {
83
+ _.forEach(node?.dataTable, item => {
84
+ if (item?.isFrom) {
85
+ item.visible = item?.isFrom === defaultData.isFrom;
86
+ }
87
+ item = _.merge(item, item[`extendedDataIsFrom${defaultData.isFrom}`]);
88
+ });
89
+ }
90
+ });
91
+ // assetLayer
92
+ // flowData.nodeDataArray = _.filter(flowData.nodeDataArray, x => !x?.assetLayers || (x?.assetLayers && x?.assetLayers === (defaultData?.assetLayer ?? ATO_ASSET_LAYERS.FLOW)))
93
+ if (defaultData?.isUseBase64) {
94
+ const itemImageTemp = flowData?.nodeDataArray?.find((x) => x?.type === 'Image Template');
95
+ if (itemImageTemp) {
96
+ itemImageTemp.source = AtoGoJSBase64[defaultData?.systemType];
97
+ }
98
+ }
99
+ return flowData;
100
+ }
101
+ setFlowData(data) {
102
+ _.forEach(data.nodeDataArray, (node) => {
103
+ const propertyNameExtend = `extendedData${data.isFrom && node?.isFrom ? `isFrom${data.isFrom}` : ''}${this.isResponsiveView ? 'Responsive' : ''}`;
104
+ node = _.merge(node, node[propertyNameExtend]);
105
+ if (node?.assetLayers) {
106
+ node.visible =
107
+ node?.assetLayers === data.assetLayer &&
108
+ node[propertyNameExtend]
109
+ ?.visible;
110
+ }
111
+ if (data.isFrom && node?.dataTable) {
112
+ _.forEach(node?.dataTable, item => {
113
+ if (item?.isFrom) {
114
+ item.visible = item?.isFrom === data.isFrom;
115
+ }
116
+ item = _.merge(item, item[`extendedDataIsFrom${data.isFrom}`]);
117
+ });
118
+ }
119
+ });
120
+ this.flowData = {
121
+ ...data,
122
+ };
123
+ this.updateDataTableAssetParams(data);
124
+ }
125
+ updateDataTableAssetParams(data) {
126
+ this.dataTableAssetParams = _.forEach(this.flowData?.nodeDataArray?.filter((e) => e?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE &&
127
+ (data?.assetLayer ? (e?.assetLayers === data?.assetLayer) : true)), (x) => {
128
+ if (!data?.isRefresh) {
129
+ x.isCollapsed = this.assetParamsViewTemp?.data?.find((y) => y?.key === x?.key)?.isCollapsed;
130
+ }
131
+ });
132
+ }
133
+ }
134
+ AssetFlowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AssetFlowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
135
+ 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: i2.AtoFlowDiagramLibComponent, selector: "ato-flow-diagram-lib", inputs: ["data", "isLoading"] }, { kind: "directive", type: i3.AtoLoadingDirective, selector: "[atoLoading]", inputs: ["appLoading"] }, { kind: "component", type: i4.AtoAssetParamsViewComponent, selector: "ato-asset-params-view", inputs: ["isEditView", "data"], outputs: ["clickParamTableRow"] }] });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AssetFlowComponent, decorators: [{
137
+ type: Component,
138
+ 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"] }]
139
+ }], propDecorators: { assetLayer: [{
140
+ type: Input
141
+ }], gjFlowDiagramTemp: [{
142
+ type: ViewChild,
143
+ args: [AtoFlowDiagramLibComponent]
144
+ }], assetParamsViewTemp: [{
145
+ type: ViewChild,
146
+ args: [AtoAssetParamsViewComponent]
147
+ }], selectedComponent: [{
148
+ type: Input
149
+ }], systemType: [{
150
+ type: Input
151
+ }], onClickParamOfTableEvent: [{
152
+ type: Output
153
+ }], isUseBase64: [{
154
+ type: Input
155
+ }], isFrom: [{
156
+ type: Input
157
+ }], flowData: [{
158
+ type: Input
159
+ }], getFlowDataCallBack: [{
160
+ type: Input
161
+ }], onResize: [{
162
+ type: HostListener,
163
+ args: ['window:resize', ['$event']]
164
+ }] } });
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtZmxvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG8td2F0ZXItbGliL3NyYy9saWIvY29tcG9uZW50cy9hc3NldC1mbG93L2Fzc2V0LWZsb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvLXdhdGVyLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXNzZXQtZmxvdy9hc3NldC1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFFTCx5QkFBeUIsR0FDMUIsTUFBTSx3Q0FBd0MsQ0FBQztBQUdoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7O0FBTzVGLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFhWSw2QkFBd0IsR0FDaEMsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3QixNQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDeEIsWUFBTyxHQUFHO1lBQ1IsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFO1lBQ3RDLGdC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QUFLO2dCQVVPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBY0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBnbyBmcm9tICdnb2pzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBdG9Hb0pTQmFzZTY0IH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Jhc2U2NC5jb25zdCc7XG5pbXBvcnQge1xuICBBVE9fQVNTRVRfTEFZRVJTLFxuICBBVE9fQ09NUE9ORU5UU19HUk9VUF9EQVRBLFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29tcG9uZW50cy1ncm91cC1jb25zdCc7XG5pbXBvcnQgeyBBdG9EZWZhdWx0Rmxvd0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXRvLWFzc2V0LWZsb3cubW9kZWwnO1xuaW1wb3J0IHsgQXRvR29KU0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ29qcy1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEF0b0dvanNFZGl0b3JNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nb2pzLWVkaXRvci5tb2RlbCc7XG5pbXBvcnQgeyBBdG9Bc3NldFBhcmFtc1ZpZXdDb21wb25lbnQgfSBmcm9tICcuLi9hc3NldC1wYXJhbXMtdmlldy9hc3NldC1wYXJhbXMtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvRmxvd0RpYWdyYW1MaWJDb21wb25lbnQgfSBmcm9tICcuLi9mbG93LWRpYWdyYW0tbGliL2Zsb3ctZGlhZ3JhbS1saWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXRvLWFzc2V0LWZsb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXQtZmxvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fzc2V0LWZsb3cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQXNzZXRGbG93Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgYXNzZXRMYXllcjogQVRPX0FTU0VUX0xBWUVSUztcbiAgQFZpZXdDaGlsZChBdG9GbG93RGlhZ3JhbUxpYkNvbXBvbmVudClcbiAgZ2pGbG93RGlhZ3JhbVRlbXA6IEF0b0Zsb3dEaWFncmFtTGliQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKEF0b0Fzc2V0UGFyYW1zVmlld0NvbXBvbmVudClcbiAgYXNzZXRQYXJhbXNWaWV3VGVtcDogQXRvQXNzZXRQYXJhbXNWaWV3Q29tcG9uZW50O1xuICBASW5wdXQoKSBzZWxlY3RlZENvbXBvbmVudDogYW55O1xuICBASW5wdXQoKSBzeXN0ZW1UeXBlOiBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9UWVBFUztcbiAgQE91dHB1dCgpIG9uQ2xpY2tQYXJhbU9mVGFibGVFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBpc1VzZUJhc2U2NCA9IGZhbHNlO1xuICBASW5wdXQoKSBpc0Zyb206IHN0cmluZztcbiAgJCA9IGdvLkdyYXBoT2JqZWN0Lm1ha2U7XG4gIG9wdGlvbnMgPSB7XG4gICAgbGF5b3V0OiB0aGlzLiQoZ28uTGF5ZXJlZERpZ3JhcGhMYXlvdXQsIHtcbiAgICAgIC8vIGRpcmVjdGlvbjogMCxcbiAgICB9KSxcbiAgICAvLyBpc1JlYWRPbmx5OiB0cnVlLFxuICB9O1xuXG4gIHByaXZhdGUgX2Zsb3dEYXRhOiBhbnk7XG4gIEBJbnB1dCgpIHNldCBmbG93RGF0YSh2OiBBdG9Hb0pTRGF0YSkge1xuICAgIHRoaXMuX2Zsb3dEYXRhID0gdjtcbiAgICB0aGlzLnVwZGF0ZURhdGFUYWJsZUFzc2V0UGFyYW1zKHsgLi4udiwgYXNzZXRMYXllcjogdGhpcy5hc3NldExheWVyIH0pO1xuICB9XG4gIGdldCBmbG93RGF0YSgpOiBBdG9Hb0pTRGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zsb3dEYXRhO1xuICB9XG5cbiAgLy8gUmVwb25zaXZlXG4gIGRhdGFUYWJsZUFzc2V0UGFyYW1zOiBhbnlbXTtcbiAgLy8gQElucHV0KCkgaXNSZXNwb25zaXZlVmlldyA9IGZhbHNlO1xuICBnZXQgaXNSZXNwb25zaXZlVmlldygpIHtcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPCAxMDI0O1xuICB9XG4gIEBJbnB1dCgpIGdldEZsb3dEYXRhQ2FsbEJhY2s6IEZ1bmN0aW9uO1xuXG4gIHRpbWVvdXRSZXNpemVXaW5kb3c7XG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBvblJlc2l6ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBOb3cgb25seSBTdXBwb3J0IENvb2xpbmcgVG93ZXIgUmVzcG9uc2l2ZVxuICAgIGlmICh0aGlzLnRpbWVvdXRSZXNpemVXaW5kb3cpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZXNpemVXaW5kb3cpO1xuICAgIH1cbiAgICB0aGlzLnRpbWVvdXRSZXNpemVXaW5kb3cgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlTG9jYXRpb25SZXBvbnNpdmUoKTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIHVwZGF0ZUxvY2F0aW9uUmVwb25zaXZlKCkge1xuICAgIGlmICghdGhpcy5mbG93RGF0YT8ubm9kZURhdGFBcnJheSkge1xuICAgICAgdGhpcy5mbG93RGF0YSA9IEFzc2V0Rmxvd0NvbXBvbmVudC5nZXREZWZhdWx0Rmxvd0RhdGEoe1xuICAgICAgICBzeXN0ZW1UeXBlOiB0aGlzLnN5c3RlbVR5cGUsXG4gICAgICAgIGlzVXNlQmFzZTY0OiB0aGlzLmlzVXNlQmFzZTY0LFxuICAgICAgICBhc3NldExheWVyOiB0aGlzLmFzc2V0TGF5ZXIsXG4gICAgICB9KTtcbiAgICB9XG4gICAgXy5mb3JFYWNoKHRoaXMuZmxvd0RhdGE/Lm5vZGVEYXRhQXJyYXksIChub2RlOiBhbnkpID0+IHtcbiAgICAgIG5vZGUgPSBfLm1lcmdlKFxuICAgICAgICBub2RlLFxuICAgICAgICBub2RlW2BleHRlbmRlZERhdGEke3RoaXMuaXNSZXNwb25zaXZlVmlldyA/ICdSZXNwb25zaXZlJyA6ICcnfWBdXG4gICAgICApO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0Rmxvd0RhdGEoXy5jbG9uZURlZXAodGhpcy5mbG93RGF0YSkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVMb2NhdGlvblJlcG9uc2l2ZSgpO1xuICB9XG4gIG9uQ2xpY2tQYXJhbU9mVGFibGUoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uQ2xpY2tQYXJhbU9mVGFibGVFdmVudC5lbWl0KCRldmVudCk7XG4gIH1cblxuICBzdGF0aWMgZ2V0RGVmYXVsdEZsb3dEYXRhKGRlZmF1bHREYXRhOiBBdG9EZWZhdWx0Rmxvd0RhdGEpIHtcbiAgICBjb25zdCBmbG93RGF0YSA9IHtcbiAgICAgIC4uLmRlZmF1bHREYXRhLFxuICAgICAgLi4uXy5jbG9uZURlZXAoQVRPX0NPTVBPTkVOVFNfR1JPVVBfREFUQSlbZGVmYXVsdERhdGE/LnN5c3RlbVR5cGVdLFxuICAgICAgbGlua0Zyb21Qb3J0SWRQcm9wZXJ0eTogJ2Zyb21Qb3J0JyxcbiAgICAgIGxpbmtUb1BvcnRJZFByb3BlcnR5OiAndG9Qb3J0JyxcbiAgICB9O1xuICAgIGNvbnN0IGlzUmVzcG9uc2l2ZVZpZXcgPSB3aW5kb3cuaW5uZXJXaWR0aCA8IDEwMjQ7XG4gICAgLy8gUmVwb25zaXZlXG4gICAgXy5mb3JFYWNoKGZsb3dEYXRhPy5ub2RlRGF0YUFycmF5LCAobm9kZTogYW55KSA9PiB7XG4gICAgICBjb25zdCBwcm9wZXJ0eU5hbWVFeHRlbmQgPSAgYGV4dGVuZGVkRGF0YSR7ZGVmYXVsdERhdGEuaXNGcm9tICYmIG5vZGU/LmlzRnJvbSA/IGBpc0Zyb20ke2RlZmF1bHREYXRhLmlzRnJvbX1gIDogJyd9JHtpc1Jlc3BvbnNpdmVWaWV3ID8gJ1Jlc3BvbnNpdmUnIDogJyd9YDtcbiAgICAgIG5vZGUgPSBfLm1lcmdlKFxuICAgICAgICBub2RlLFxuICAgICAgICBub2RlW3Byb3BlcnR5TmFtZUV4dGVuZF1cbiAgICAgICk7XG4gICAgICBpZiAobm9kZT8uYXNzZXRMYXllcnMpIHtcbiAgICAgICAgbm9kZS52aXNpYmxlID1cbiAgICAgICAgICBub2RlPy5hc3NldExheWVycyA9PT0gZGVmYXVsdERhdGE/LmFzc2V0TGF5ZXIgJiZcbiAgICAgICAgICBub2RlW3Byb3BlcnR5TmFtZUV4dGVuZF0/LnZpc2libGU7XG4gICAgICB9XG4gICAgICBpZiAoZGVmYXVsdERhdGEuaXNGcm9tICYmIG5vZGU/LmRhdGFUYWJsZSkge1xuICAgICAgICBfLmZvckVhY2gobm9kZT8uZGF0YVRhYmxlLCBpdGVtID0+IHtcbiAgICAgICAgICBpZiAoaXRlbT8uaXNGcm9tKSB7XG4gICAgICAgICAgICBpdGVtLnZpc2libGUgPSBpdGVtPy5pc0Zyb20gPT09IGRlZmF1bHREYXRhLmlzRnJvbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaXRlbSA9IF8ubWVyZ2UoXG4gICAgICAgICAgICBpdGVtLFxuICAgICAgICAgICAgaXRlbVtgZXh0ZW5kZWREYXRhSXNGcm9tJHtkZWZhdWx0RGF0YS5pc0Zyb219YF1cbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIGFzc2V0TGF5ZXJcbiAgICAvLyBmbG93RGF0YS5ub2RlRGF0YUFycmF5ID0gXy5maWx0ZXIoZmxvd0RhdGEubm9kZURhdGFBcnJheSwgeCA9PiAheD8uYXNzZXRMYXllcnMgfHwgKHg/LmFzc2V0TGF5ZXJzICYmIHg/LmFzc2V0TGF5ZXJzID09PSAoZGVmYXVsdERhdGE/LmFzc2V0TGF5ZXIgPz8gQVRPX0FTU0VUX0xBWUVSUy5GTE9XKSkpXG4gICAgaWYgKGRlZmF1bHREYXRhPy5pc1VzZUJhc2U2NCkge1xuICAgICAgY29uc3QgaXRlbUltYWdlVGVtcCA9IChmbG93RGF0YSBhcyBBdG9Hb0pTRGF0YSk/Lm5vZGVEYXRhQXJyYXk/LmZpbmQoXG4gICAgICAgICh4KSA9PiB4Py50eXBlID09PSAnSW1hZ2UgVGVtcGxhdGUnXG4gICAgICApO1xuICAgICAgaWYgKGl0ZW1JbWFnZVRlbXApIHtcbiAgICAgICAgaXRlbUltYWdlVGVtcC5zb3VyY2UgPSBBdG9Hb0pTQmFzZTY0W2RlZmF1bHREYXRhPy5zeXN0ZW1UeXBlXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZsb3dEYXRhO1xuICB9XG5cbiAgc2V0Rmxvd0RhdGEoZGF0YTogQXRvR29KU0RhdGEpIHtcbiAgICBfLmZvckVhY2goZGF0YS5ub2RlRGF0YUFycmF5LCAobm9kZSkgPT4ge1xuICAgICAgY29uc3QgcHJvcGVydHlOYW1lRXh0ZW5kID0gIGBleHRlbmRlZERhdGEke2RhdGEuaXNGcm9tICYmIG5vZGU/LmlzRnJvbSA/IGBpc0Zyb20ke2RhdGEuaXNGcm9tfWAgOiAnJ30ke3RoaXMuaXNSZXNwb25zaXZlVmlldyA/ICdSZXNwb25zaXZlJyA6ICcnfWA7XG4gICAgICBub2RlID0gXy5tZXJnZShcbiAgICAgICAgbm9kZSxcbiAgICAgICAgbm9kZVtwcm9wZXJ0eU5hbWVFeHRlbmRdLFxuICAgICAgKTtcbiAgICAgIGlmIChub2RlPy5hc3NldExheWVycykge1xuICAgICAgICBub2RlLnZpc2libGUgPVxuICAgICAgICAgIG5vZGU/LmFzc2V0TGF5ZXJzID09PSBkYXRhLmFzc2V0TGF5ZXIgJiZcbiAgICAgICAgICBub2RlW3Byb3BlcnR5TmFtZUV4dGVuZF1cbiAgICAgICAgICAgID8udmlzaWJsZTtcbiAgICAgIH1cbiAgICAgIGlmIChkYXRhLmlzRnJvbSAmJiBub2RlPy5kYXRhVGFibGUpIHtcbiAgICAgICAgXy5mb3JFYWNoKG5vZGU/LmRhdGFUYWJsZSwgaXRlbSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0/LmlzRnJvbSkge1xuICAgICAgICAgICAgaXRlbS52aXNpYmxlID0gaXRlbT8uaXNGcm9tID09PSBkYXRhLmlzRnJvbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaXRlbSA9IF8ubWVyZ2UoXG4gICAgICAgICAgICBpdGVtLFxuICAgICAgICAgICAgaXRlbVtgZXh0ZW5kZWREYXRhSXNGcm9tJHtkYXRhLmlzRnJvbX1gXVxuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5mbG93RGF0YSA9IHtcbiAgICAgIC4uLmRhdGEsXG4gICAgfTtcbiAgICB0aGlzLnVwZGF0ZURhdGFUYWJsZUFzc2V0UGFyYW1zKGRhdGEpO1xuICB9XG5cbiAgdXBkYXRlRGF0YVRhYmxlQXNzZXRQYXJhbXMoZGF0YTogQXRvR29KU0RhdGEpIHtcbiAgICB0aGlzLmRhdGFUYWJsZUFzc2V0UGFyYW1zID0gXy5mb3JFYWNoKFxuICAgICAgdGhpcy5mbG93RGF0YT8ubm9kZURhdGFBcnJheT8uZmlsdGVyKFxuICAgICAgICAoZSkgPT5cbiAgICAgICAgICBlPy50eXBlID09PSBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuUEFSQU1fVEFCTEUgJiZcbiAgICAgICAgICAoZGF0YT8uYXNzZXRMYXllciA/IChlPy5hc3NldExheWVycyA9PT0gZGF0YT8uYXNzZXRMYXllcikgOiB0cnVlKVxuICAgICAgKSxcbiAgICAgICh4KSA9PiB7XG4gICAgICAgIGlmICghZGF0YT8uaXNSZWZyZXNoKSB7XG4gICAgICAgICAgeC5pc0NvbGxhcHNlZCA9IHRoaXMuYXNzZXRQYXJhbXNWaWV3VGVtcD8uZGF0YT8uZmluZChcbiAgICAgICAgICAgICh5KSA9PiB5Py5rZXkgPT09IHg/LmtleVxuICAgICAgICAgICk/LmlzQ29sbGFwc2VkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtMTAwIGQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWdhcC0zIGZsZXgtZ3Jvdy0xIG92ZXJmbG93LWF1dG8gcHgtMyBwYi0zXCI+XG4gIDxkaXYgY2xhc3M9XCJoLTEwMCBkLWZsZXggZmxleC1jb2x1bW5cIiBhdG9Mb2FkaW5nIFthcHBMb2FkaW5nXT1cImZsb3dEYXRhID09PSBudWxsXCI+XG4gICAgPGF0by1mbG93LWRpYWdyYW0tbGliXG4gICAgICAqbmdJZj1cImZsb3dEYXRhICE9PSBudWxsXCJcbiAgICAgICNnakZsb3dEaWFncmFtVGVtcFxuICAgICAgW2RhdGFdPVwiZmxvd0RhdGFcIlxuICAgICAgW2luaXRpYWxPcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgICAgKG9uQ2xpa1BhcmFtT2ZUYWJsZSk9XCJvbkNsaWNrUGFyYW1PZlRhYmxlKCRldmVudClcIlxuICAgICAgW2NsYXNzXT1cIiEhaXNSZXNwb25zaXZlVmlldyA/ICdkaWFncmFtLXJlc3BvbnNpdmUtdmlldycgOiAnZmxleC1ncm93LTEnXCJcbiAgICA+PC9hdG8tZmxvdy1kaWFncmFtLWxpYj5cbiAgICA8ZGl2IGNsYXNzPVwibXQtMlwiICpuZ0lmPVwiaXNSZXNwb25zaXZlVmlld1wiPlxuICAgICAgPGF0by1hc3NldC1wYXJhbXMtdmlld1xuICAgICAgICAjYXNzZXRQYXJhbXNWaWV3VGVtcFxuICAgICAgICBbZGF0YV09XCJkYXRhVGFibGVBc3NldFBhcmFtc1wiXG4gICAgICAgIFtpc0VkaXRWaWV3XT1cInRydWVcIlxuICAgICAgICAoY2xpY2tQYXJhbVRhYmxlUm93KT1cIm9uQ2xpY2tQYXJhbU9mVGFibGUoJGV2ZW50KVwiXG4gICAgICA+PC9hdG8tYXNzZXQtcGFyYW1zLXZpZXc+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
@@ -2,18 +2,20 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  export class AtoAssetParamsViewComponent {
5
- isEditView = false;
6
- data = [];
7
- clickParamTableRow = new EventEmitter();
5
+ constructor() {
6
+ this.isEditView = false;
7
+ this.data = [];
8
+ this.clickParamTableRow = new EventEmitter();
9
+ }
8
10
  onClickRowParam(itemTable) {
9
11
  if (this.isEditView && itemTable?.isEditable) {
10
12
  this.clickParamTableRow.emit(itemTable);
11
13
  }
12
14
  }
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoAssetParamsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- 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"] }] });
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AtoAssetParamsViewComponent, decorators: [{
16
+ AtoAssetParamsViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoAssetParamsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ 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"] }] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoAssetParamsViewComponent, decorators: [{
17
19
  type: Component,
18
20
  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"] }]
19
21
  }], propDecorators: { isEditView: [{
@@ -23,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
23
25
  }], clickParamTableRow: [{
24
26
  type: Output
25
27
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcGFyYW1zLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvLXdhdGVyLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXNzZXQtcGFyYW1zLXZpZXcvYXNzZXQtcGFyYW1zLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvLXdhdGVyLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXNzZXQtcGFyYW1zLXZpZXcvYXNzZXQtcGFyYW1zLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT3ZFLE1BQU0sT0FBTywyQkFBMkI7SUFDN0IsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixJQUFJLEdBQVUsRUFBRSxDQUFDO0lBQ2hCLGtCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbEQsZUFBZSxDQUFDLFNBQVM7UUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO3VHQVRVLDJCQUEyQjsyRkFBM0IsMkJBQTJCLHdLQ1B4QyxtbkhBcUZBOzsyRkQ5RWEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFLeEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXRvLWFzc2V0LXBhcmFtcy12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2V0LXBhcmFtcy12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtcGFyYW1zLXZpZXcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBdG9Bc3NldFBhcmFtc1ZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBpc0VkaXRWaWV3ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRhdGE6IGFueVtdID0gW107XG4gIEBPdXRwdXQoKSBjbGlja1BhcmFtVGFibGVSb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgb25DbGlja1Jvd1BhcmFtKGl0ZW1UYWJsZSkge1xuICAgIGlmICh0aGlzLmlzRWRpdFZpZXcgJiYgaXRlbVRhYmxlPy5pc0VkaXRhYmxlKSB7XG4gICAgICB0aGlzLmNsaWNrUGFyYW1UYWJsZVJvdy5lbWl0KGl0ZW1UYWJsZSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtZ2FwLTJcIj5cbiAgPGRpdiBjbGFzcz1cIlwiICpuZ0Zvcj1cImxldCB0YWJsZVBhcmFtIG9mIGRhdGFcIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlUGFyYW1UZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICBkYXRhOiB0YWJsZVBhcmFtXG4gICAgICB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0YWJsZVBhcmFtVGVtcGxhdGUgbGV0LWRhdGE9XCJkYXRhXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBhc3NldC1wYXJhbS1pdGVtIHctMTAwXCJcbiAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImRhdGE/LmNvbG9yXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBweS0xIHBsLTEgcHItMiBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAoY2xpY2spPVwiZGF0YS5pc0NvbGxhcHNlZCA9ICFkYXRhLmlzQ29sbGFwc2VkXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9udC1zaXplLTE0cHggZmxleC1ncm93LTEgdGV4dC10cnVuY2F0ZSBjb2xvci13aGl0ZVwiPlxuICAgICAgICB7eyBkYXRhPy50aXRsZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8c3ZnXG4gICAgICAgICpuZ0lmPVwiZGF0YS5pc0NvbGxhcHNlZFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDMyMCA1MTJcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZcIlxuICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZvbnQtc2l6ZS0xNHB4IGNvbG9yLXdoaXRlIHN2Zy0xNXB4XCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTI3OC42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xNjAgMTYwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyMTAuNyAyNTYgNzMuNCAxMTguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwelwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCIhZGF0YS5pc0NvbGxhcHNlZFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDQ0OCA1MTJcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZcIlxuICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZvbnQtc2l6ZS0xNHB4IGNvbG9yLXdoaXRlIHN2Zy0xNXB4XCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTIwMS40IDM3NC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjI0IDMwNi43IDg2LjYgMTY5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjB6XCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJweC0xIHBiLTFcIiAqbmdJZj1cIiFkYXRhLmlzQ29sbGFwc2VkXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGFibGUtYXNzZXQtcGFyYW0td3JhcHBlclwiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiZGF0YT8uYmdDb2xvclwiXG4gICAgICA+XG4gICAgICAgIDx0YWJsZT5cbiAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8dHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW1UYWJsZSBvZiBkYXRhPy5kYXRhVGFibGVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGlja1Jvd1BhcmFtKGl0ZW1UYWJsZSlcIlxuICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb250LXNpemUtMTNweFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cImRhdGE/LmJvcmRlclRhYmxlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW1UYWJsZT8ubmFtZSB9fVxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvbnQtc2l6ZS0xM3B4XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYm9yZGVyQ29sb3JdPVwiZGF0YT8uYm9yZGVyVGFibGVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1nYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1yLWF1dG8gZm9udC1zaXplLTEzcHggZmxleC1ncm93LTFcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiaXRlbVRhYmxlPy5jb2xvclwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW1UYWJsZT8udmFsdWUgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImlzRWRpdFZpZXcgJiYgaXRlbVRhYmxlPy5pc0VkaXRhYmxlXCIgY2xhc3M9XCJzdmctMTVweFwiIGZpbGw9XCIjMzMzMzMzXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiPjxwYXRoIGQ9XCJNNDQxIDU4LjlMNDUzLjEgNzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlMNDI0IDEzNC4xIDM3Ny45IDg4IDQwNyA1OC45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwek0yMDkuOCAyNTYuMkwzNDQgMTIxLjkgMzkwLjEgMTY4IDI1NS44IDMwMi4yYy0yLjkgMi45LTYuNSA1LTEwLjQgNi4xbC01OC41IDE2LjcgMTYuNy01OC41YzEuMS0zLjkgMy4yLTcuNSA2LjEtMTAuNHpNMzczLjEgMjVMMTc1LjggMjIyLjJjLTguNyA4LjctMTUgMTkuNC0xOC4zIDMxLjFsLTI4LjYgMTAwYy0yLjQgOC40LS4xIDE3LjQgNi4xIDIzLjZzMTUuMiA4LjUgMjMuNiA2LjFsMTAwLTI4LjZjMTEuOC0zLjQgMjIuNS05LjcgMzEuMS0xOC4zTDQ4NyAxMzguOWMyOC4xLTI4LjEgMjguMS03My43IDAtMTAxLjhMNDc0LjkgMjVDNDQ2LjgtMy4xIDQwMS4yLTMuMSAzNzMuMSAyNXpNODggNjRDMzkuNCA2NCAwIDEwMy40IDAgMTUyVjQyNGMwIDQ4LjYgMzkuNCA4OCA4OCA4OEgzNjBjNDguNiAwIDg4LTM5LjQgODgtODhWMzEyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0VjQyNGMwIDIyLjEtMTcuOSA0MC00MCA0MEg4OGMtMjIuMSAwLTQwLTE3LjktNDAtNDBWMTUyYzAtMjIuMSAxNy45LTQwIDQwLTQwSDIwMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEg4OHpcIi8+PC9zdmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcGFyYW1zLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvLXdhdGVyLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXNzZXQtcGFyYW1zLXZpZXcvYXNzZXQtcGFyYW1zLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvLXdhdGVyLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXNzZXQtcGFyYW1zLXZpZXcvYXNzZXQtcGFyYW1zLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT3ZFLE1BQU0sT0FBTywyQkFBMkI7SUFMeEM7UUFNVyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFNBQUksR0FBVSxFQUFFLENBQUM7UUFDaEIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQU9uRDtJQUxDLGVBQWUsQ0FBQyxTQUFTO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxTQUFTLEVBQUUsVUFBVSxFQUFFO1lBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDOzt5SEFUVSwyQkFBMkI7NkdBQTNCLDJCQUEyQix3S0NQeEMsbW5IQXFGQTs0RkQ5RWEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFLeEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXRvLWFzc2V0LXBhcmFtcy12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2V0LXBhcmFtcy12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtcGFyYW1zLXZpZXcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBdG9Bc3NldFBhcmFtc1ZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBpc0VkaXRWaWV3ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRhdGE6IGFueVtdID0gW107XG4gIEBPdXRwdXQoKSBjbGlja1BhcmFtVGFibGVSb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgb25DbGlja1Jvd1BhcmFtKGl0ZW1UYWJsZSkge1xuICAgIGlmICh0aGlzLmlzRWRpdFZpZXcgJiYgaXRlbVRhYmxlPy5pc0VkaXRhYmxlKSB7XG4gICAgICB0aGlzLmNsaWNrUGFyYW1UYWJsZVJvdy5lbWl0KGl0ZW1UYWJsZSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtZ2FwLTJcIj5cbiAgPGRpdiBjbGFzcz1cIlwiICpuZ0Zvcj1cImxldCB0YWJsZVBhcmFtIG9mIGRhdGFcIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlUGFyYW1UZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICBkYXRhOiB0YWJsZVBhcmFtXG4gICAgICB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0YWJsZVBhcmFtVGVtcGxhdGUgbGV0LWRhdGE9XCJkYXRhXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBhc3NldC1wYXJhbS1pdGVtIHctMTAwXCJcbiAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImRhdGE/LmNvbG9yXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBweS0xIHBsLTEgcHItMiBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAoY2xpY2spPVwiZGF0YS5pc0NvbGxhcHNlZCA9ICFkYXRhLmlzQ29sbGFwc2VkXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9udC1zaXplLTE0cHggZmxleC1ncm93LTEgdGV4dC10cnVuY2F0ZSBjb2xvci13aGl0ZVwiPlxuICAgICAgICB7eyBkYXRhPy50aXRsZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8c3ZnXG4gICAgICAgICpuZ0lmPVwiZGF0YS5pc0NvbGxhcHNlZFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDMyMCA1MTJcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZcIlxuICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZvbnQtc2l6ZS0xNHB4IGNvbG9yLXdoaXRlIHN2Zy0xNXB4XCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTI3OC42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xNjAgMTYwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyMTAuNyAyNTYgNzMuNCAxMTguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwelwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCIhZGF0YS5pc0NvbGxhcHNlZFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDQ0OCA1MTJcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZcIlxuICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZvbnQtc2l6ZS0xNHB4IGNvbG9yLXdoaXRlIHN2Zy0xNXB4XCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTIwMS40IDM3NC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjI0IDMwNi43IDg2LjYgMTY5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjB6XCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJweC0xIHBiLTFcIiAqbmdJZj1cIiFkYXRhLmlzQ29sbGFwc2VkXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGFibGUtYXNzZXQtcGFyYW0td3JhcHBlclwiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiZGF0YT8uYmdDb2xvclwiXG4gICAgICA+XG4gICAgICAgIDx0YWJsZT5cbiAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8dHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW1UYWJsZSBvZiBkYXRhPy5kYXRhVGFibGVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGlja1Jvd1BhcmFtKGl0ZW1UYWJsZSlcIlxuICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb250LXNpemUtMTNweFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cImRhdGE/LmJvcmRlclRhYmxlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW1UYWJsZT8ubmFtZSB9fVxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvbnQtc2l6ZS0xM3B4XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYm9yZGVyQ29sb3JdPVwiZGF0YT8uYm9yZGVyVGFibGVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1nYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1yLWF1dG8gZm9udC1zaXplLTEzcHggZmxleC1ncm93LTFcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiaXRlbVRhYmxlPy5jb2xvclwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW1UYWJsZT8udmFsdWUgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImlzRWRpdFZpZXcgJiYgaXRlbVRhYmxlPy5pc0VkaXRhYmxlXCIgY2xhc3M9XCJzdmctMTVweFwiIGZpbGw9XCIjMzMzMzMzXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiPjxwYXRoIGQ9XCJNNDQxIDU4LjlMNDUzLjEgNzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlMNDI0IDEzNC4xIDM3Ny45IDg4IDQwNyA1OC45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwek0yMDkuOCAyNTYuMkwzNDQgMTIxLjkgMzkwLjEgMTY4IDI1NS44IDMwMi4yYy0yLjkgMi45LTYuNSA1LTEwLjQgNi4xbC01OC41IDE2LjcgMTYuNy01OC41YzEuMS0zLjkgMy4yLTcuNSA2LjEtMTAuNHpNMzczLjEgMjVMMTc1LjggMjIyLjJjLTguNyA4LjctMTUgMTkuNC0xOC4zIDMxLjFsLTI4LjYgMTAwYy0yLjQgOC40LS4xIDE3LjQgNi4xIDIzLjZzMTUuMiA4LjUgMjMuNiA2LjFsMTAwLTI4LjZjMTEuOC0zLjQgMjIuNS05LjcgMzEuMS0xOC4zTDQ4NyAxMzguOWMyOC4xLTI4LjEgMjguMS03My43IDAtMTAxLjhMNDc0LjkgMjVDNDQ2LjgtMy4xIDQwMS4yLTMuMSAzNzMuMSAyNXpNODggNjRDMzkuNCA2NCAwIDEwMy40IDAgMTUyVjQyNGMwIDQ4LjYgMzkuNCA4OCA4OCA4OEgzNjBjNDguNiAwIDg4LTM5LjQgODgtODhWMzEyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0VjQyNGMwIDIyLjEtMTcuOSA0MC00MCA0MEg4OGMtMjIuMSAwLTQwLTE3LjktNDAtNDBWMTUyYzAtMjIuMSAxNy45LTQwIDQwLTQwSDIwMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEg4OHpcIi8+PC9zdmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,54 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { AtoDefaultGojsEditor } from '../../models/default-gojs-editor.model';
3
+ import { AtoGojsEditorModel } from '../../models/gojs-editor.model';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../../directive/ato-loading.directive";
7
+ export class AtoFlowDiagramLibComponent extends AtoDefaultGojsEditor {
8
+ set data(v) {
9
+ this._data = v;
10
+ this.loadDiagram();
11
+ }
12
+ get data() {
13
+ return this._data;
14
+ }
15
+ constructor(_elRef) {
16
+ super(_elRef);
17
+ this._data = null;
18
+ this.isLoading = false;
19
+ this.actions = [
20
+ AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS],
21
+ AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE],
22
+ ];
23
+ this.unsubscribeAll();
24
+ }
25
+ ngOnInit() {
26
+ this.addSubscribes(this.committedTransactionSubject?.subscribe((e) => {
27
+ this.onModelChangeListenerEvent.emit(e);
28
+ }));
29
+ }
30
+ loadDiagram() {
31
+ this.editor = new AtoGojsEditorModel({
32
+ class: 'go.GraphLinksModel',
33
+ nodeCategoryProperty: 'type',
34
+ ...this.data,
35
+ });
36
+ }
37
+ findNodeForKey(key) {
38
+ this.myDiagram.select(this.myDiagram.findNodeForKey(key));
39
+ }
40
+ }
41
+ AtoFlowDiagramLibComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoFlowDiagramLibComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
42
+ 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: i2.AtoLoadingDirective, selector: "[atoLoading]", inputs: ["appLoading"] }] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoFlowDiagramLibComponent, decorators: [{
44
+ type: Component,
45
+ 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" }]
46
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { myDiagramDivTemp: [{
47
+ type: ViewChild,
48
+ args: ['myDiagramDivTemp']
49
+ }], data: [{
50
+ type: Input
51
+ }], isLoading: [{
52
+ type: Input
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1kaWFncmFtLWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG8td2F0ZXItbGliL3NyYy9saWIvY29tcG9uZW50cy9mbG93LWRpYWdyYW0tbGliL2Zsb3ctZGlhZ3JhbS1saWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvLXdhdGVyLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kaWFncmFtLWxpYi9mbG93LWRpYWdyYW0tbGliLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQU9wRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsb0JBQW9CO0lBR2xFLElBQWEsSUFBSSxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBSUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUNFLE1BQWtCO1FBRWhCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQWZsQixVQUFLLEdBQVEsSUFBSSxDQUFDO1FBTVQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVV2QixJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2Isb0JBQW9CLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7WUFDdkUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7U0FDdkUsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBSUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQ2QsSUFBSSxDQUFDLDJCQUEyQixFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBT0wsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixDQUFDO1lBQ2pDLEtBQUssRUFBRSxvQkFBb0I7WUFDM0Isb0JBQW9CLEVBQUUsTUFBTTtZQUM1QixHQUFHLElBQUksQ0FBQyxJQUFJO1NBQ2YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFvQjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7O3dIQW5EVSwwQkFBMEI7NEdBQTFCLDBCQUEwQiwyUENYdkMsbWpDQXlCQTs0RkRkYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usc0JBQXNCO2lHQUtGLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRWYsSUFBSTtzQkFBaEIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEF0b0RlZmF1bHRHb2pzRWRpdG9yIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RlZmF1bHQtZ29qcy1lZGl0b3IubW9kZWwnO1xuaW1wb3J0IHsgQXRvR29qc0VkaXRvck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dvanMtZWRpdG9yLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXRvLWZsb3ctZGlhZ3JhbS1saWInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmxvdy1kaWFncmFtLWxpYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zsb3ctZGlhZ3JhbS1saWIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEF0b0Zsb3dEaWFncmFtTGliQ29tcG9uZW50IGV4dGVuZHMgQXRvRGVmYXVsdEdvanNFZGl0b3IgaW1wbGVtZW50cyBPbkluaXQgIHtcbiBAVmlld0NoaWxkKCdteURpYWdyYW1EaXZUZW1wJykgbXlEaWFncmFtRGl2VGVtcDogYW55O1xuICBfZGF0YTogYW55ID0gbnVsbDtcbiAgQElucHV0KCkgc2V0IGRhdGEodikge1xuICAgICAgdGhpcy5fZGF0YSA9IHY7XG4gICAgICB0aGlzLmxvYWREaWFncmFtKCk7XG4gIH1cblxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICBnZXQgZGF0YSgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX2VsUmVmOiBFbGVtZW50UmVmLFxuICApIHtcbiAgICAgIHN1cGVyKF9lbFJlZik7XG4gICAgICB0aGlzLmFjdGlvbnMgPSBbXG4gICAgICAgIEF0b0RlZmF1bHRHb2pzRWRpdG9yLkFDVElPTlNbQXRvRGVmYXVsdEdvanNFZGl0b3IuRU5VTV9BQ1RJT05TLkRFVEFJTFNdLFxuICAgICAgICBBdG9EZWZhdWx0R29qc0VkaXRvci5BQ1RJT05TW0F0b0RlZmF1bHRHb2pzRWRpdG9yLkVOVU1fQUNUSU9OUy5ERUxFVEVdLFxuICAgICAgXTtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmVBbGwoKTtcbiAgfVxuXG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuYWRkU3Vic2NyaWJlcyhcbiAgICAgICAgICB0aGlzLmNvbW1pdHRlZFRyYW5zYWN0aW9uU3ViamVjdD8uc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMub25Nb2RlbENoYW5nZUxpc3RlbmVyRXZlbnQuZW1pdChlKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICAvLyB0aGlzLl9HalV0aWxzU2VydmljZT8udXBkYXRlTmFtZURhdGFCb3gkPy5zdWJzY3JpYmUoKHJzKSA9PiB7XG4gICAgICAgICAgLy8gICAgIGlmIChycyAmJiBycz8ua2V5KSB7XG4gICAgICAgICAgLy8gICAgICAgICBjb25zdCBub2RlID0gdGhpcy5teURpYWdyYW0uZmluZE5vZGVGb3JLZXkocnM/LmtleSk7XG4gICAgICAgICAgLy8gICAgICAgICB0aGlzLm15RGlhZ3JhbS5tb2RlbC5zZXREYXRhUHJvcGVydHkobm9kZT8uZGF0YSwgJ25hbWUnLCBycz8ubmFtZSk7XG4gICAgICAgICAgLy8gICAgIH1cbiAgICAgICAgICAvLyB9KSxcbiAgICAgICk7XG4gIH1cblxuICBsb2FkRGlhZ3JhbSgpIHtcbiAgICAgIHRoaXMuZWRpdG9yID0gbmV3IEF0b0dvanNFZGl0b3JNb2RlbCh7XG4gICAgICAgICAgY2xhc3M6ICdnby5HcmFwaExpbmtzTW9kZWwnLFxuICAgICAgICAgIG5vZGVDYXRlZ29yeVByb3BlcnR5OiAndHlwZScsXG4gICAgICAgICAgLi4udGhpcy5kYXRhLFxuICAgICAgfSk7XG4gIH1cblxuICBmaW5kTm9kZUZvcktleShrZXk6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgdGhpcy5teURpYWdyYW0uc2VsZWN0KHRoaXMubXlEaWFncmFtLmZpbmROb2RlRm9yS2V5KGtleSkpO1xuICB9XG59XG5cblxuXG5cblxuIiwiPGRpdiBjbGFzcz1cInctMTAwIGgtMTAwIGdqLWZsb3ctZGlhZ3JhbS13cmFwcGVyXCIgYXRvTG9hZGluZyBbYXBwTG9hZGluZ109XCJkYXRhID09PSBudWxsIHx8ICEhaXNMb2FkaW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cInctMTAwIGgtMTAwIGQtZmxleFwiPlxuICAgICAgICA8IS0tIDxidXR0b25cbiAgICAgICAgICAgIGlkPVwiYWN0aW9uTWVudUlkXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW52aXNpYmxlLWJ0blwiXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgICAgICAgICAjbWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFjdGlvbnNcIiAoY2xpY2spPVwiaXRlbT8ub25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+PGkgY2xhc3M9XCJ7eyBpdGVtPy5pY29uQ2xhc3NOYW1lIH19XCI+PC9pPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7IGl0ZW0/Lm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L21hdC1tZW51PiAtLT5cblxuICAgICAgICA8ZGl2ICNteURpYWdyYW1EaXZUZW1wIGNsYXNzPVwiZmxleC1ncm93LTEge3tteURpYWdyYW1EaXZ9fVwiPjwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5pdGlhbE9wdGlvbnM/LmlzUmVhZE9ubHkgJiYgIWRhdGE/Lm5vZGVEYXRhQXJyYXk/Lmxlbmd0aFwiIGNsYXNzPVwiZW1wdHktZGF0YVwiPlxuICAgICAgICAgICAgPCEtLSA8bnotZW1wdHkgbnpOb3RGb3VuZEltYWdlPVwic2ltcGxlXCI+PC9uei1lbXB0eT4gLS0+XG4gICAgICAgICAgICBObyBEYXRhXG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=