imm-element-ui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +24 -0
  2. package/esm2022/imm-element-ui.mjs +5 -0
  3. package/esm2022/lib/am/am.component.mjs +502 -0
  4. package/esm2022/lib/crumb-action/crumb-action.component.mjs +127 -0
  5. package/esm2022/lib/form/form/form.component.mjs +217 -0
  6. package/esm2022/lib/form/form-field/field-control.mjs +19 -0
  7. package/esm2022/lib/form/form-field/field-utils.mjs +227 -0
  8. package/esm2022/lib/form/form-field/form-field.mjs +129 -0
  9. package/esm2022/lib/form/form-field/form-type.mjs +123 -0
  10. package/esm2022/lib/form/form-field/label.directive.mjs +62 -0
  11. package/esm2022/lib/form/form-type/autocomplete.type.mjs +200 -0
  12. package/esm2022/lib/form/form-type/codemirror.type.mjs +167 -0
  13. package/esm2022/lib/form/form-type/datepicker.type.mjs +212 -0
  14. package/esm2022/lib/form/form-type/image.type.mjs +225 -0
  15. package/esm2022/lib/form/form-type/inputnumber.type.mjs +144 -0
  16. package/esm2022/lib/form/form-type/inputtext.type.mjs +69 -0
  17. package/esm2022/lib/form/form-type/multiselect.type.mjs +219 -0
  18. package/esm2022/lib/form/form-type/radio.type.mjs +167 -0
  19. package/esm2022/lib/form/form-type/select.type.mjs +196 -0
  20. package/esm2022/lib/form/form-type/textarea.type.mjs +75 -0
  21. package/esm2022/lib/form/form-type/treeselect.type.mjs +174 -0
  22. package/esm2022/lib/form/form-type/upload.type.mjs +228 -0
  23. package/esm2022/lib/grid/actions/actions.component.mjs +30 -0
  24. package/esm2022/lib/grid/cell-edit/cell-edit-autoComplete.component.mjs +89 -0
  25. package/esm2022/lib/grid/cell-edit/cell-edit-datePicker.compoent.mjs +182 -0
  26. package/esm2022/lib/grid/cell-edit/cell-edit-inputNumber.component.mjs +107 -0
  27. package/esm2022/lib/grid/cell-edit/cell-edit-inputText.compoent.mjs +46 -0
  28. package/esm2022/lib/grid/cell-edit/cell-edit-select.component.mjs +148 -0
  29. package/esm2022/lib/grid/cell-edit/index.mjs +7 -0
  30. package/esm2022/lib/grid/cell-render/async-renderer.mjs +29 -0
  31. package/esm2022/lib/grid/cell-render/link-render.mjs +42 -0
  32. package/esm2022/lib/grid/grid/grid.component.mjs +373 -0
  33. package/esm2022/lib/grid/grid-utils.mjs +103 -0
  34. package/esm2022/lib/grid/mock-data.mjs +14 -0
  35. package/esm2022/lib/grid/pager/pager.component.mjs +19 -0
  36. package/esm2022/lib/head/head.component.mjs +43 -0
  37. package/esm2022/lib/import/import.component.mjs +68 -0
  38. package/esm2022/lib/log/log.component.mjs +37 -0
  39. package/esm2022/lib/page-form/page-form.component.mjs +167 -0
  40. package/esm2022/lib/page-form/page-form.interface.mjs +2 -0
  41. package/esm2022/lib/page-grid-list/page-grid-list.component.mjs +60 -0
  42. package/esm2022/lib/row-selector/row-selector.component.mjs +58 -0
  43. package/esm2022/lib/search/mock-data.mjs +40 -0
  44. package/esm2022/lib/search/pop-date/pop-date.component.mjs +106 -0
  45. package/esm2022/lib/search/pop-list/pop-list.component.mjs +32 -0
  46. package/esm2022/lib/search/pop-panel/pop-panel.component.mjs +44 -0
  47. package/esm2022/lib/search/pop-select/pop-select.component.mjs +45 -0
  48. package/esm2022/lib/search/pop-self/pop-self.component.mjs +132 -0
  49. package/esm2022/lib/search/pop-tree/pop-tree.component.mjs +50 -0
  50. package/esm2022/lib/search/search/search.component.mjs +138 -0
  51. package/esm2022/lib/search/search-tip/search-tip.component.mjs +54 -0
  52. package/esm2022/lib/search/search-utils.mjs +165 -0
  53. package/esm2022/lib/search/text-panel/text-panel.component.mjs +41 -0
  54. package/esm2022/lib/service/action.service.mjs +115 -0
  55. package/esm2022/lib/service/i18n.service.mjs +79 -0
  56. package/esm2022/lib/service/themeConfig.service.mjs +82 -0
  57. package/esm2022/lib/service/userHistory.service.mjs +106 -0
  58. package/esm2022/lib/share/utils.mjs +150 -0
  59. package/esm2022/lib/steps/steps.component.mjs +31 -0
  60. package/esm2022/lib/theme-config/theme-config-panel.compoent.mjs +141 -0
  61. package/esm2022/lib/theme-config/theme-config.compoent.mjs +45 -0
  62. package/esm2022/public-api.mjs +26 -0
  63. package/fesm2022/imm-element-ui.mjs +6382 -0
  64. package/fesm2022/imm-element-ui.mjs.map +1 -0
  65. package/index.d.ts +5 -0
  66. package/lib/am/am.component.d.ts +191 -0
  67. package/lib/crumb-action/crumb-action.component.d.ts +40 -0
  68. package/lib/form/form/form.component.d.ts +53 -0
  69. package/lib/form/form-field/field-control.d.ts +13 -0
  70. package/lib/form/form-field/field-utils.d.ts +12 -0
  71. package/lib/form/form-field/form-field.d.ts +86 -0
  72. package/lib/form/form-field/form-type.d.ts +22 -0
  73. package/lib/form/form-field/label.directive.d.ts +14 -0
  74. package/lib/form/form-type/autocomplete.type.d.ts +77 -0
  75. package/lib/form/form-type/codemirror.type.d.ts +31 -0
  76. package/lib/form/form-type/datepicker.type.d.ts +83 -0
  77. package/lib/form/form-type/image.type.d.ts +49 -0
  78. package/lib/form/form-type/inputnumber.type.d.ts +49 -0
  79. package/lib/form/form-type/inputtext.type.d.ts +17 -0
  80. package/lib/form/form-type/multiselect.type.d.ts +85 -0
  81. package/lib/form/form-type/radio.type.d.ts +31 -0
  82. package/lib/form/form-type/select.type.d.ts +73 -0
  83. package/lib/form/form-type/textarea.type.d.ts +19 -0
  84. package/lib/form/form-type/treeselect.type.d.ts +62 -0
  85. package/lib/form/form-type/upload.type.d.ts +51 -0
  86. package/lib/grid/actions/actions.component.d.ts +14 -0
  87. package/lib/grid/cell-edit/cell-edit-autoComplete.component.d.ts +18 -0
  88. package/lib/grid/cell-edit/cell-edit-datePicker.compoent.d.ts +16 -0
  89. package/lib/grid/cell-edit/cell-edit-inputNumber.component.d.ts +15 -0
  90. package/lib/grid/cell-edit/cell-edit-inputText.compoent.d.ts +16 -0
  91. package/lib/grid/cell-edit/cell-edit-select.component.d.ts +12 -0
  92. package/lib/grid/cell-edit/index.d.ts +6 -0
  93. package/lib/grid/cell-render/async-renderer.d.ts +10 -0
  94. package/lib/grid/cell-render/link-render.d.ts +14 -0
  95. package/lib/grid/grid/grid.component.d.ts +272 -0
  96. package/lib/grid/grid-utils.d.ts +751 -0
  97. package/lib/grid/mock-data.d.ts +12 -0
  98. package/lib/grid/pager/pager.component.d.ts +15 -0
  99. package/lib/head/head.component.d.ts +17 -0
  100. package/lib/import/import.component.d.ts +22 -0
  101. package/lib/log/log.component.d.ts +14 -0
  102. package/lib/page-form/page-form.component.d.ts +46 -0
  103. package/lib/page-form/page-form.interface.d.ts +27 -0
  104. package/lib/page-grid-list/page-grid-list.component.d.ts +18 -0
  105. package/lib/row-selector/row-selector.component.d.ts +21 -0
  106. package/lib/search/mock-data.d.ts +20 -0
  107. package/lib/search/pop-date/pop-date.component.d.ts +26 -0
  108. package/lib/search/pop-list/pop-list.component.d.ts +12 -0
  109. package/lib/search/pop-panel/pop-panel.component.d.ts +15 -0
  110. package/lib/search/pop-select/pop-select.component.d.ts +13 -0
  111. package/lib/search/pop-self/pop-self.component.d.ts +31 -0
  112. package/lib/search/pop-tree/pop-tree.component.d.ts +22 -0
  113. package/lib/search/search/search.component.d.ts +60 -0
  114. package/lib/search/search-tip/search-tip.component.d.ts +22 -0
  115. package/lib/search/search-utils.d.ts +10 -0
  116. package/lib/search/text-panel/text-panel.component.d.ts +21 -0
  117. package/lib/service/action.service.d.ts +54 -0
  118. package/lib/service/i18n.service.d.ts +93 -0
  119. package/lib/service/themeConfig.service.d.ts +24 -0
  120. package/lib/service/userHistory.service.d.ts +26 -0
  121. package/lib/share/utils.d.ts +16 -0
  122. package/lib/steps/steps.component.d.ts +16 -0
  123. package/lib/theme-config/theme-config-panel.compoent.d.ts +78 -0
  124. package/lib/theme-config/theme-config.compoent.d.ts +6 -0
  125. package/package.json +28 -0
  126. package/public-api.d.ts +20 -0
  127. package/src/lib/crumb-action/crumb-action.component.scss +51 -0
  128. package/src/lib/form/form/form.component.scss +0 -0
  129. package/src/lib/grid/actions/actions.component.scss +0 -0
  130. package/src/lib/grid/grid/grid.component.scss +0 -0
  131. package/src/lib/grid/pager/pager.component.scss +13 -0
  132. package/src/lib/head/head.component.scss +3 -0
  133. package/src/lib/import/import.component.scss +10 -0
  134. package/src/lib/log/log.component.scss +21 -0
  135. package/src/lib/page-form/page-form.component.scss +14 -0
  136. package/src/lib/page-grid-list/page-grid-list.component.scss +14 -0
  137. package/src/lib/row-selector/row-selector.component.scss +1 -0
  138. package/src/lib/search/dynamic-search/dynamic-search.component.scss +70 -0
  139. package/src/lib/search/pop-date/pop-date.component.scss +47 -0
  140. package/src/lib/search/pop-list/pop-list.component.scss +23 -0
  141. package/src/lib/search/pop-panel/pop-panel.component.scss +49 -0
  142. package/src/lib/search/pop-select/pop-select.component.scss +29 -0
  143. package/src/lib/search/pop-self/pop-self.component.scss +60 -0
  144. package/src/lib/search/pop-tree/pop-tree.component.scss +34 -0
  145. package/src/lib/search/search/search.component.scss +70 -0
  146. package/src/lib/search/search-tip/search-tip.component.scss +47 -0
  147. package/src/lib/search/text-panel/text-panel.component.scss +16 -0
  148. package/src/lib/steps/steps.component.scss +52 -0
  149. package/src/lib/styles/styles.scss +232 -0
@@ -0,0 +1,174 @@
1
+ import { Component, input, effect, ViewChild, ElementRef } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { TreeSelect } from 'primeng/treeselect';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../service/action.service";
6
+ import * as i2 from "@angular/forms";
7
+ export class TreeSelectComponent {
8
+ constructor(action, renderer) {
9
+ this.action = action;
10
+ this.renderer = renderer;
11
+ this.field = input();
12
+ this.props = {};
13
+ effect(() => {
14
+ if (this.field()) {
15
+ this.props = this.field().treeSelectProps;
16
+ this.handleDisabled();
17
+ }
18
+ });
19
+ effect(() => {
20
+ const labelAction = this.action.getFieldLabelAction();
21
+ if (!labelAction || labelAction?.key != this.field()?.uuid) {
22
+ return;
23
+ }
24
+ if (labelAction.type == 'mouseenter') {
25
+ this.renderer.addClass(this.treeselectRef.nativeElement, 'ng-hovered');
26
+ }
27
+ else if (labelAction.type == 'mouseleave') {
28
+ this.renderer.removeClass(this.treeselectRef.nativeElement, 'ng-hovered');
29
+ }
30
+ else if (labelAction.type == 'click') {
31
+ if (!this.treeselect.overlayVisible) {
32
+ this.treeselect.overlayVisible = true;
33
+ this.treeselect.resetFilter();
34
+ this.treeselect.onShow.emit(false);
35
+ this.treeselect.cd.markForCheck();
36
+ }
37
+ }
38
+ }, { allowSignalWrites: true });
39
+ }
40
+ handleDisabled() {
41
+ setTimeout(() => {
42
+ if (this.props?.disabled) {
43
+ this.field().fieldControl.disable({ emitEvent: false });
44
+ }
45
+ });
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeSelectComponent, deps: [{ token: i1.ActionService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TreeSelectComponent, isStandalone: true, selector: "form-treeselect", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "treeselect", first: true, predicate: TreeSelect, descendants: true }, { propertyName: "treeselectRef", first: true, predicate: TreeSelect, descendants: true, read: ElementRef }], ngImport: i0, template: `<p-treeselect
49
+ [id]="field()?.uuid"
50
+ [inputId]="field()?.uuid"
51
+ [scrollHeight]="props.scrollHeight ?? '400px'"
52
+ [metaKeySelection]="props.metaKeySelection"
53
+ [variant]="props.variant"
54
+ [display]="props.display ?? 'comma'"
55
+ [selectionMode]="props.selectionMode ?? 'single'"
56
+ [tabindex]="props.tabindex ?? '0'"
57
+ [ariaLabel]="props.ariaLabel"
58
+ [ariaLabelledBy]="props.ariaLabelledBy"
59
+ [placeholder]="props.placeholder"
60
+ [panelClass]="props.panelClass"
61
+ [fluid]="props.fluid ?? true"
62
+ [panelStyleClass]="props.panelStyleClass"
63
+ [containerStyle]="props.containerStyle"
64
+ [containerStyleClass]="props.containerStyleClass"
65
+ [labelStyle]="props.labelStyle"
66
+ [labelStyleClass]="props.labelStyleClass"
67
+ [overlayOptions]="props.overlayOptions"
68
+ [emptyMessage]="props.emptyMessage"
69
+ [appendTo]="props.appendTo"
70
+ [filter]="props.filter"
71
+ [filterBy]="props.filterBy ?? 'label'"
72
+ [filterMode]="props.filterMode ?? 'lenient'"
73
+ [filterPlaceholder]="props.filterPlaceholder"
74
+ [filterLocale]="props.filterLocale"
75
+ [filterInputAutoFocus]="props.filterInputAutoFocus ?? true"
76
+ [propagateSelectionDown]="props.propagateSelectionDown ?? true"
77
+ [propagateSelectionUp]="props.propagateSelectionUp ?? true"
78
+ [showClear]="props.showClear"
79
+ [resetFilterOnHide]="props.resetFilterOnHide"
80
+ [virtualScroll]="props.virtualScroll"
81
+ [virtualScrollItemSize]="props.virtualScrollItemSize"
82
+ [virtualScrollOptions]="props.virtualScrollOptions"
83
+ [size]="props.size"
84
+ [autofocus]="props.autofocus"
85
+ [ariaLabel]="props.ariaLabel"
86
+ [ariaLabelledBy]="props.ariaLabelledBy"
87
+ [options]="props.options"
88
+ [class]="props.class"
89
+ [style]="props.style"
90
+ [panelStyle]="props.panelStyle"
91
+ [placeholder]="props.placeholder"
92
+ [loading]="props.loading"
93
+ (onNodeExpand)="props.onNodeExpand?.(field()!, $event)"
94
+ (onNodeCollapse)="props.onNodeCollapse?.(field()!, $event)"
95
+ (onShow)="props.onShow?.(field()!, $event)"
96
+ (onHide)="props.onHide?.(field()!, $event)"
97
+ (onClear)="props.onClear?.(field()!, $event)"
98
+ (onFilter)="props.onFilter?.(field()!, $event)"
99
+ (onFocus)="props.onFocus?.(field()!, $event)"
100
+ (onBlur)="props.onBlur?.(field()!, $event)"
101
+ (onNodeSelect)="props.onNodeSelect?.(field()!, $event)"
102
+ (onNodeUnselect)="props.onNodeUnselect?.(field()!, $event)"
103
+ [class]="props.class"
104
+ [disabled]="true"
105
+ [formControl]="field()!.fieldControl!" />`, isInline: true, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n"], dependencies: [{ kind: "component", type: TreeSelect, selector: "p-treeSelect, p-treeselect, p-tree-select", inputs: ["inputId", "scrollHeight", "disabled", "metaKeySelection", "variant", "display", "selectionMode", "tabindex", "ariaLabel", "ariaLabelledBy", "placeholder", "panelClass", "panelStyle", "fluid", "panelStyleClass", "containerStyle", "containerStyleClass", "labelStyle", "labelStyleClass", "overlayOptions", "emptyMessage", "appendTo", "filter", "filterBy", "filterMode", "filterPlaceholder", "filterLocale", "filterInputAutoFocus", "propagateSelectionDown", "propagateSelectionUp", "showClear", "resetFilterOnHide", "virtualScroll", "virtualScrollItemSize", "size", "virtualScrollOptions", "autofocus", "options", "showTransitionOptions", "hideTransitionOptions", "loading"], outputs: ["onNodeExpand", "onNodeCollapse", "onShow", "onHide", "onClear", "onFilter", "onFocus", "onBlur", "onNodeUnselect", "onNodeSelect"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
106
+ }
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeSelectComponent, decorators: [{
108
+ type: Component,
109
+ args: [{ selector: 'form-treeselect', standalone: true, imports: [TreeSelect, ReactiveFormsModule], template: `<p-treeselect
110
+ [id]="field()?.uuid"
111
+ [inputId]="field()?.uuid"
112
+ [scrollHeight]="props.scrollHeight ?? '400px'"
113
+ [metaKeySelection]="props.metaKeySelection"
114
+ [variant]="props.variant"
115
+ [display]="props.display ?? 'comma'"
116
+ [selectionMode]="props.selectionMode ?? 'single'"
117
+ [tabindex]="props.tabindex ?? '0'"
118
+ [ariaLabel]="props.ariaLabel"
119
+ [ariaLabelledBy]="props.ariaLabelledBy"
120
+ [placeholder]="props.placeholder"
121
+ [panelClass]="props.panelClass"
122
+ [fluid]="props.fluid ?? true"
123
+ [panelStyleClass]="props.panelStyleClass"
124
+ [containerStyle]="props.containerStyle"
125
+ [containerStyleClass]="props.containerStyleClass"
126
+ [labelStyle]="props.labelStyle"
127
+ [labelStyleClass]="props.labelStyleClass"
128
+ [overlayOptions]="props.overlayOptions"
129
+ [emptyMessage]="props.emptyMessage"
130
+ [appendTo]="props.appendTo"
131
+ [filter]="props.filter"
132
+ [filterBy]="props.filterBy ?? 'label'"
133
+ [filterMode]="props.filterMode ?? 'lenient'"
134
+ [filterPlaceholder]="props.filterPlaceholder"
135
+ [filterLocale]="props.filterLocale"
136
+ [filterInputAutoFocus]="props.filterInputAutoFocus ?? true"
137
+ [propagateSelectionDown]="props.propagateSelectionDown ?? true"
138
+ [propagateSelectionUp]="props.propagateSelectionUp ?? true"
139
+ [showClear]="props.showClear"
140
+ [resetFilterOnHide]="props.resetFilterOnHide"
141
+ [virtualScroll]="props.virtualScroll"
142
+ [virtualScrollItemSize]="props.virtualScrollItemSize"
143
+ [virtualScrollOptions]="props.virtualScrollOptions"
144
+ [size]="props.size"
145
+ [autofocus]="props.autofocus"
146
+ [ariaLabel]="props.ariaLabel"
147
+ [ariaLabelledBy]="props.ariaLabelledBy"
148
+ [options]="props.options"
149
+ [class]="props.class"
150
+ [style]="props.style"
151
+ [panelStyle]="props.panelStyle"
152
+ [placeholder]="props.placeholder"
153
+ [loading]="props.loading"
154
+ (onNodeExpand)="props.onNodeExpand?.(field()!, $event)"
155
+ (onNodeCollapse)="props.onNodeCollapse?.(field()!, $event)"
156
+ (onShow)="props.onShow?.(field()!, $event)"
157
+ (onHide)="props.onHide?.(field()!, $event)"
158
+ (onClear)="props.onClear?.(field()!, $event)"
159
+ (onFilter)="props.onFilter?.(field()!, $event)"
160
+ (onFocus)="props.onFocus?.(field()!, $event)"
161
+ (onBlur)="props.onBlur?.(field()!, $event)"
162
+ (onNodeSelect)="props.onNodeSelect?.(field()!, $event)"
163
+ (onNodeUnselect)="props.onNodeUnselect?.(field()!, $event)"
164
+ [class]="props.class"
165
+ [disabled]="true"
166
+ [formControl]="field()!.fieldControl!" />`, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n"] }]
167
+ }], ctorParameters: () => [{ type: i1.ActionService }, { type: i0.Renderer2 }], propDecorators: { treeselect: [{
168
+ type: ViewChild,
169
+ args: [TreeSelect, { static: false }]
170
+ }], treeselectRef: [{
171
+ type: ViewChild,
172
+ args: [TreeSelect, { read: ElementRef, static: false }]
173
+ }] } });
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXNlbGVjdC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLXVpL3NyYy9saWIvZm9ybS9mb3JtLXR5cGUvdHJlZXNlbGVjdC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQWtIaEQsTUFBTSxPQUFPLG1CQUFtQjtJQU0vQixZQUNTLE1BQXFCLEVBQ3JCLFFBQW1CO1FBRG5CLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUw1QixVQUFLLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDM0IsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFNM0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRyxDQUFDLGVBQWdCLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQ0wsR0FBRyxFQUFFO1lBQ0osTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzVELE9BQU87WUFDUixDQUFDO1lBQ0QsSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN4RSxDQUFDO2lCQUFNLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDM0UsQ0FBQztpQkFBTSxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7b0JBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ25DLENBQUM7WUFDRixDQUFDO1FBQ0YsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQyxZQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzsrR0E3Q1csbUJBQW1CO21HQUFuQixtQkFBbUIsMlBBQ3BCLFVBQVUsZ0ZBQ1YsVUFBVSwyQkFBVSxVQUFVLDZCQTlEL0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs0Q0F5RGlDLHdpTEExRGpDLFVBQVUsODRCQUFFLG1CQUFtQjs7NEZBNkQ3QixtQkFBbUI7a0JBaEUvQixTQUFTOytCQUNDLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxZQUNoQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzRDQXlEaUM7MEdBSUQsVUFBVTtzQkFBbkQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNvQixhQUFhO3NCQUF4RSxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIGVmZmVjdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkLCBGaWVsZFByb3BzLCBBdHRyaWJ1dGVFdmVudCB9IGZyb20gJy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IFRyZWVTZWxlY3QgfSBmcm9tICdwcmltZW5nL3RyZWVzZWxlY3QnO1xyXG5pbXBvcnQgeyBTY3JvbGxlck9wdGlvbnMsIE92ZXJsYXlPcHRpb25zIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJlZVNlbGVjdFByb3BzIGV4dGVuZHMgRmllbGRQcm9wcyB7XHJcblx0c2Nyb2xsSGVpZ2h0Pzogc3RyaW5nO1xyXG5cdG1ldGFLZXlTZWxlY3Rpb24/OiBib29sZWFuO1xyXG5cdGRpc3BsYXk/OiAnY2hpcCcgfCAnY29tbWEnO1xyXG5cdHNlbGVjdGlvbk1vZGU/OiAnc2luZ2xlJyB8ICdtdWx0aXBsZScgfCAnY2hlY2tib3gnO1xyXG5cdHRhYmluZGV4Pzogc3RyaW5nO1xyXG5cdHBhbmVsQ2xhc3M/OiBhbnk7XHJcblx0Y29udGFpbmVyU3R5bGU/OiBhbnk7XHJcblx0Y29udGFpbmVyU3R5bGVDbGFzcz86IHN0cmluZztcclxuXHRsYWJlbFN0eWxlPzogYW55O1xyXG5cdGxhYmVsU3R5bGVDbGFzcz86IHN0cmluZztcclxuXHRmaWx0ZXJNb2RlPzogc3RyaW5nO1xyXG5cdGZpbHRlcj86IGJvb2xlYW47XHJcblx0cGFuZWxTdHlsZT86IGFueTtcclxuXHRwYW5lbFN0eWxlQ2xhc3M/OiBzdHJpbmc7XHJcblx0YXBwZW5kVG8/OiBhbnk7XHJcblx0ZmlsdGVyUGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcblx0ZmlsdGVyTG9jYWxlPzogc3RyaW5nO1xyXG5cdGZpbHRlckJ5Pzogc3RyaW5nO1xyXG5cdG92ZXJsYXlPcHRpb25zPzogT3ZlcmxheU9wdGlvbnM7XHJcblx0ZW1wdHlNZXNzYWdlPzogYW55O1xyXG5cdGZpbHRlcklucHV0QXV0b0ZvY3VzPzogYm9vbGVhbjtcclxuXHRwcm9wYWdhdGVTZWxlY3Rpb25Eb3duPzogYm9vbGVhbjtcclxuXHRwcm9wYWdhdGVTZWxlY3Rpb25VcD86IGJvb2xlYW47XHJcblx0c2hvd0NsZWFyPzogYm9vbGVhbjtcclxuXHRyZXNldEZpbHRlck9uSGlkZT86IGJvb2xlYW47XHJcblx0dmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcblx0dmlydHVhbFNjcm9sbEl0ZW1TaXplPzogbnVtYmVyO1xyXG5cdHZpcnR1YWxTY3JvbGxPcHRpb25zPzogU2Nyb2xsZXJPcHRpb25zO1xyXG5cdG9wdGlvbnM/OiBUcmVlTm9kZTxhbnk+W107XHJcblx0bG9hZGluZz86IHN0cmluZztcclxuXHRtYXhsZW5ndGg/OiBhbnk7XHJcblx0b25Ob2RlRXhwYW5kPzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25Ob2RlQ29sbGFwc2U/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvblNob3c/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkhpZGU/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkNsZWFyPzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25GaWx0ZXI/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkZvY3VzPzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25CbHVyPzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25Ob2RlU2VsZWN0PzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25Ob2RlVW5zZWxlY3Q/OiBBdHRyaWJ1dGVFdmVudDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdmb3JtLXRyZWVzZWxlY3QnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW1RyZWVTZWxlY3QsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxyXG5cdHRlbXBsYXRlOiBgPHAtdHJlZXNlbGVjdFxyXG5cdFx0W2lkXT1cImZpZWxkKCk/LnV1aWRcIlxyXG5cdFx0W2lucHV0SWRdPVwiZmllbGQoKT8udXVpZFwiXHJcblx0XHRbc2Nyb2xsSGVpZ2h0XT1cInByb3BzLnNjcm9sbEhlaWdodCA/PyAnNDAwcHgnXCJcclxuXHRcdFttZXRhS2V5U2VsZWN0aW9uXT1cInByb3BzLm1ldGFLZXlTZWxlY3Rpb25cIlxyXG5cdFx0W3ZhcmlhbnRdPVwicHJvcHMudmFyaWFudFwiXHJcblx0XHRbZGlzcGxheV09XCJwcm9wcy5kaXNwbGF5ID8/ICdjb21tYSdcIlxyXG5cdFx0W3NlbGVjdGlvbk1vZGVdPVwicHJvcHMuc2VsZWN0aW9uTW9kZSA/PyAnc2luZ2xlJ1wiXHJcblx0XHRbdGFiaW5kZXhdPVwicHJvcHMudGFiaW5kZXggPz8gJzAnXCJcclxuXHRcdFthcmlhTGFiZWxdPVwicHJvcHMuYXJpYUxhYmVsXCJcclxuXHRcdFthcmlhTGFiZWxsZWRCeV09XCJwcm9wcy5hcmlhTGFiZWxsZWRCeVwiXHJcblx0XHRbcGxhY2Vob2xkZXJdPVwicHJvcHMucGxhY2Vob2xkZXJcIlxyXG5cdFx0W3BhbmVsQ2xhc3NdPVwicHJvcHMucGFuZWxDbGFzc1wiXHJcblx0XHRbZmx1aWRdPVwicHJvcHMuZmx1aWQgPz8gdHJ1ZVwiXHJcblx0XHRbcGFuZWxTdHlsZUNsYXNzXT1cInByb3BzLnBhbmVsU3R5bGVDbGFzc1wiXHJcblx0XHRbY29udGFpbmVyU3R5bGVdPVwicHJvcHMuY29udGFpbmVyU3R5bGVcIlxyXG5cdFx0W2NvbnRhaW5lclN0eWxlQ2xhc3NdPVwicHJvcHMuY29udGFpbmVyU3R5bGVDbGFzc1wiXHJcblx0XHRbbGFiZWxTdHlsZV09XCJwcm9wcy5sYWJlbFN0eWxlXCJcclxuXHRcdFtsYWJlbFN0eWxlQ2xhc3NdPVwicHJvcHMubGFiZWxTdHlsZUNsYXNzXCJcclxuXHRcdFtvdmVybGF5T3B0aW9uc109XCJwcm9wcy5vdmVybGF5T3B0aW9uc1wiXHJcblx0XHRbZW1wdHlNZXNzYWdlXT1cInByb3BzLmVtcHR5TWVzc2FnZVwiXHJcblx0XHRbYXBwZW5kVG9dPVwicHJvcHMuYXBwZW5kVG9cIlxyXG5cdFx0W2ZpbHRlcl09XCJwcm9wcy5maWx0ZXJcIlxyXG5cdFx0W2ZpbHRlckJ5XT1cInByb3BzLmZpbHRlckJ5ID8/ICdsYWJlbCdcIlxyXG5cdFx0W2ZpbHRlck1vZGVdPVwicHJvcHMuZmlsdGVyTW9kZSA/PyAnbGVuaWVudCdcIlxyXG5cdFx0W2ZpbHRlclBsYWNlaG9sZGVyXT1cInByb3BzLmZpbHRlclBsYWNlaG9sZGVyXCJcclxuXHRcdFtmaWx0ZXJMb2NhbGVdPVwicHJvcHMuZmlsdGVyTG9jYWxlXCJcclxuXHRcdFtmaWx0ZXJJbnB1dEF1dG9Gb2N1c109XCJwcm9wcy5maWx0ZXJJbnB1dEF1dG9Gb2N1cyA/PyB0cnVlXCJcclxuXHRcdFtwcm9wYWdhdGVTZWxlY3Rpb25Eb3duXT1cInByb3BzLnByb3BhZ2F0ZVNlbGVjdGlvbkRvd24gPz8gdHJ1ZVwiXHJcblx0XHRbcHJvcGFnYXRlU2VsZWN0aW9uVXBdPVwicHJvcHMucHJvcGFnYXRlU2VsZWN0aW9uVXAgPz8gdHJ1ZVwiXHJcblx0XHRbc2hvd0NsZWFyXT1cInByb3BzLnNob3dDbGVhclwiXHJcblx0XHRbcmVzZXRGaWx0ZXJPbkhpZGVdPVwicHJvcHMucmVzZXRGaWx0ZXJPbkhpZGVcIlxyXG5cdFx0W3ZpcnR1YWxTY3JvbGxdPVwicHJvcHMudmlydHVhbFNjcm9sbFwiXHJcblx0XHRbdmlydHVhbFNjcm9sbEl0ZW1TaXplXT1cInByb3BzLnZpcnR1YWxTY3JvbGxJdGVtU2l6ZVwiXHJcblx0XHRbdmlydHVhbFNjcm9sbE9wdGlvbnNdPVwicHJvcHMudmlydHVhbFNjcm9sbE9wdGlvbnNcIlxyXG5cdFx0W3NpemVdPVwicHJvcHMuc2l6ZVwiXHJcblx0XHRbYXV0b2ZvY3VzXT1cInByb3BzLmF1dG9mb2N1c1wiXHJcblx0XHRbYXJpYUxhYmVsXT1cInByb3BzLmFyaWFMYWJlbFwiXHJcblx0XHRbYXJpYUxhYmVsbGVkQnldPVwicHJvcHMuYXJpYUxhYmVsbGVkQnlcIlxyXG5cdFx0W29wdGlvbnNdPVwicHJvcHMub3B0aW9uc1wiXHJcblx0XHRbY2xhc3NdPVwicHJvcHMuY2xhc3NcIlxyXG5cdFx0W3N0eWxlXT1cInByb3BzLnN0eWxlXCJcclxuXHRcdFtwYW5lbFN0eWxlXT1cInByb3BzLnBhbmVsU3R5bGVcIlxyXG5cdFx0W3BsYWNlaG9sZGVyXT1cInByb3BzLnBsYWNlaG9sZGVyXCJcclxuXHRcdFtsb2FkaW5nXT1cInByb3BzLmxvYWRpbmdcIlxyXG5cdFx0KG9uTm9kZUV4cGFuZCk9XCJwcm9wcy5vbk5vZGVFeHBhbmQ/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHQob25Ob2RlQ29sbGFwc2UpPVwicHJvcHMub25Ob2RlQ29sbGFwc2U/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHQob25TaG93KT1cInByb3BzLm9uU2hvdz8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbkhpZGUpPVwicHJvcHMub25IaWRlPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uQ2xlYXIpPVwicHJvcHMub25DbGVhcj8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbkZpbHRlcik9XCJwcm9wcy5vbkZpbHRlcj8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbkZvY3VzKT1cInByb3BzLm9uRm9jdXM/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHQob25CbHVyKT1cInByb3BzLm9uQmx1cj8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbk5vZGVTZWxlY3QpPVwicHJvcHMub25Ob2RlU2VsZWN0Py4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uTm9kZVVuc2VsZWN0KT1cInByb3BzLm9uTm9kZVVuc2VsZWN0Py4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0W2NsYXNzXT1cInByb3BzLmNsYXNzXCJcclxuXHRcdFtkaXNhYmxlZF09XCJ0cnVlXCJcclxuXHRcdFtmb3JtQ29udHJvbF09XCJmaWVsZCgpIS5maWVsZENvbnRyb2whXCIgLz5gLFxyXG5cdHN0eWxlVXJsOiAnLi4vLi4vc3R5bGVzL3N0eWxlcy5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyZWVTZWxlY3RDb21wb25lbnQge1xyXG5cdEBWaWV3Q2hpbGQoVHJlZVNlbGVjdCwgeyBzdGF0aWM6IGZhbHNlIH0pIHRyZWVzZWxlY3QhOiBUcmVlU2VsZWN0O1xyXG5cdEBWaWV3Q2hpbGQoVHJlZVNlbGVjdCwgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIHRyZWVzZWxlY3RSZWYhOiBFbGVtZW50UmVmO1xyXG5cdGZpZWxkID0gaW5wdXQ8Rm9ybUZpZWxkPigpO1xyXG5cdHByb3BzOiBUcmVlU2VsZWN0UHJvcHMgPSB7fTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGFjdGlvbjogQWN0aW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuXHQpIHtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmZpZWxkKCkpIHtcclxuXHRcdFx0XHR0aGlzLnByb3BzID0gdGhpcy5maWVsZCgpIS50cmVlU2VsZWN0UHJvcHMhO1xyXG5cdFx0XHRcdHRoaXMuaGFuZGxlRGlzYWJsZWQoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHRlZmZlY3QoXHJcblx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHRjb25zdCBsYWJlbEFjdGlvbiA9IHRoaXMuYWN0aW9uLmdldEZpZWxkTGFiZWxBY3Rpb24oKTtcclxuXHRcdFx0XHRpZiAoIWxhYmVsQWN0aW9uIHx8IGxhYmVsQWN0aW9uPy5rZXkgIT0gdGhpcy5maWVsZCgpPy51dWlkKSB7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdtb3VzZWVudGVyJykge1xyXG5cdFx0XHRcdFx0dGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRyZWVzZWxlY3RSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKGxhYmVsQWN0aW9uLnR5cGUgPT0gJ21vdXNlbGVhdmUnKSB7XHJcblx0XHRcdFx0XHR0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudHJlZXNlbGVjdFJlZi5uYXRpdmVFbGVtZW50LCAnbmctaG92ZXJlZCcpO1xyXG5cdFx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnY2xpY2snKSB7XHJcblx0XHRcdFx0XHRpZiAoIXRoaXMudHJlZXNlbGVjdC5vdmVybGF5VmlzaWJsZSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRyZWVzZWxlY3Qub3ZlcmxheVZpc2libGUgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRyZWVzZWxlY3QucmVzZXRGaWx0ZXIoKTtcclxuXHRcdFx0XHRcdFx0dGhpcy50cmVlc2VsZWN0Lm9uU2hvdy5lbWl0KGZhbHNlKTtcclxuXHRcdFx0XHRcdFx0dGhpcy50cmVlc2VsZWN0LmNkLm1hcmtGb3JDaGVjaygpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGhhbmRsZURpc2FibGVkKCkge1xyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLnByb3BzPy5kaXNhYmxlZCkge1xyXG5cdFx0XHRcdHRoaXMuZmllbGQoKSEuZmllbGRDb250cm9sIS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,228 @@
1
+ import { Component, input, effect, ViewChild, ElementRef } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { FileUpload } from 'primeng/fileupload';
4
+ import { ButtonModule } from 'primeng/button';
5
+ import { Image } from 'primeng/image';
6
+ import { HttpRequest, HttpEventType } from '@angular/common/http';
7
+ import { filter, forkJoin } from 'rxjs';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common/http";
10
+ import * as i2 from "../../service/action.service";
11
+ import * as i3 from "primeng/button";
12
+ export class UploadComponent {
13
+ constructor(http, action, renderer) {
14
+ this.http = http;
15
+ this.action = action;
16
+ this.renderer = renderer;
17
+ this.field = input();
18
+ this.props = {};
19
+ this.fileList = [];
20
+ this.deleteHooks = [];
21
+ effect(() => {
22
+ if (this.field()) {
23
+ this.props = this.field().uploadProps;
24
+ this.handleModelChange();
25
+ this.afterSubmit();
26
+ }
27
+ });
28
+ effect(() => {
29
+ forkJoin(this.deleteHooks).subscribe();
30
+ });
31
+ effect(() => {
32
+ const labelAction = this.action.getFieldLabelAction();
33
+ if (!labelAction || labelAction?.key != this.field()?.uuid) {
34
+ return;
35
+ }
36
+ if (labelAction.type == 'mouseenter') {
37
+ this.renderer.addClass(this.uploadCompRef.nativeElement, 'ng-hovered');
38
+ }
39
+ else if (labelAction.type == 'mouseleave') {
40
+ this.renderer.removeClass(this.uploadCompRef.nativeElement, 'ng-hovered');
41
+ }
42
+ else if (labelAction.type == 'click') {
43
+ this.uploadCompRef.nativeElement.click();
44
+ }
45
+ });
46
+ }
47
+ choose(event, callback) {
48
+ if (this.props?.disabled) {
49
+ return;
50
+ }
51
+ callback();
52
+ }
53
+ uploadFile(file) {
54
+ const formData = new FormData();
55
+ formData.append('file', file);
56
+ return this.http
57
+ .request(new HttpRequest('POST', 'filerUpload', formData, {
58
+ reportProgress: true,
59
+ withCredentials: false,
60
+ }))
61
+ .pipe(filter((response) => response.type == HttpEventType.Response));
62
+ }
63
+ delFile(fileStr) {
64
+ return this.http.post('filerDelete', { fileName: fileStr });
65
+ }
66
+ uploadHandler(field, event, fu) {
67
+ this.uploadFile(event.files[0]).subscribe((response) => {
68
+ this.fileList?.push(response.body.fileName);
69
+ this.field()?.fieldControl?.setValue(this.fileList);
70
+ });
71
+ }
72
+ deleteHandler(fileStr, index) {
73
+ this.deleteHooks.push(this.delFile(fileStr));
74
+ this.fileList = this.fileList?.filter((value, i) => index != i);
75
+ this.field()?.fieldControl?.setValue(this.fileList);
76
+ }
77
+ handleModelChange() {
78
+ this.field()?.fieldControl?.modelChange.subscribe((value) => {
79
+ if (value == null) {
80
+ return;
81
+ }
82
+ this.fileList = [...value];
83
+ });
84
+ }
85
+ afterSubmit() {
86
+ this.field()?.fieldControl?.submitChange.subscribe((value) => {
87
+ if (Boolean(value)) {
88
+ this.deleteHooks.forEach((hook) => hook.subscribe());
89
+ }
90
+ });
91
+ }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadComponent, deps: [{ token: i1.HttpClient }, { token: i2.ActionService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UploadComponent, isStandalone: true, selector: "form-upload", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "uploadCompRef", first: true, predicate: ["uploadComp"], descendants: true, read: ElementRef }], ngImport: i0, template: `<p-fileUpload
94
+ #fu
95
+ auto
96
+ [id]="field()?.uuid"
97
+ [name]="props.name"
98
+ [url]="props.url"
99
+ [method]="props.method ?? 'post'"
100
+ [multiple]="props.multiple ?? true"
101
+ [accept]="props.accept"
102
+ [withCredentials]="props.withCredentials"
103
+ [maxFileSize]="props.maxFileSize"
104
+ [styleClass]="props.styleClass"
105
+ [previewWidth]="props.previewWidth ?? 50"
106
+ [mode]="props.mode ?? 'advanced'"
107
+ [headers]="props.headers"
108
+ [fileLimit]="props.fileLimit"
109
+ [customUpload]="props.customUpload ?? true"
110
+ (onBeforeUpload)="props.onBeforeUpload?.(field()!, $event)"
111
+ (onSend)="props.onSend?.(field()!, $event)"
112
+ (onUpload)="props.onUpload?.(field()!, $event)"
113
+ (onError)="props.onError?.(field()!, $event)"
114
+ (onClear)="props.onClear?.(field()!, $event)"
115
+ (onRemove)="props.onRemove?.(field()!, $event)"
116
+ (onSelect)="props.onSelect?.(field()!, $event)"
117
+ (onProgress)="props.onProgress?.(field()!, $event)"
118
+ (uploadHandler)="uploadHandler(field()!, $event, fu)">
119
+ <ng-template
120
+ #header
121
+ let-chooseCallback="chooseCallback">
122
+ <div
123
+ #uploadComp
124
+ [class]="'flex justify-center w-full upload-btn' + (props.disabled ? ' upload-disable' : '')"
125
+ (click)="choose($event, chooseCallback)">
126
+ <span
127
+ ><span
128
+ style="font-size: 12px; margin-right: 2.5px"
129
+ class="pi pi-upload"></span
130
+ >上传</span
131
+ >
132
+ </div>
133
+ </ng-template>
134
+ <ng-template #content>
135
+ @if (fileList.length > 0) {
136
+ @for (file of fileList; track file; let index = $index) {
137
+ <div class="flex justify-between items-center file-item">
138
+ <span class="file-name"
139
+ ><a
140
+ [href]="'https://hrimage.myfoodiepet.com//' + file"
141
+ [download]="file"
142
+ >{{ file }}</a
143
+ ></span
144
+ >
145
+ <p-button
146
+ icon="pi pi-times"
147
+ severity="danger"
148
+ size="small"
149
+ (onClick)="deleteHandler(file, index)"
150
+ [text]="true" />
151
+ </div>
152
+ }
153
+ }
154
+ </ng-template>
155
+ <ng-template #file> </ng-template>
156
+ </p-fileUpload>`, isInline: true, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n", ".file-item{border-top:solid 1px #fff}.upload-btn{border:solid 1px transparent}.upload-btn.upload-disable:hover{cursor:default}.upload-btn:not(.upload-disable):hover{border:solid 1px var(--p-primary-color);background:var(--p-primary-50);cursor:pointer}.upload-btn:not(.upload-disable).ng-hovered{border:solid 1px var(--p-primary-color);background:var(--p-primary-50);cursor:pointer}.file-name{font-size:12px}.file-name:hover{cursor:pointer;color:var(--p-primary-color)}:is() .p-image-preview-mask{position:inherit;opacity:1;justify-content:left;color:#334155}\n"], dependencies: [{ kind: "component", type: FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
157
+ }
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadComponent, decorators: [{
159
+ type: Component,
160
+ args: [{ selector: 'form-upload', standalone: true, imports: [FileUpload, ButtonModule, Image, ReactiveFormsModule], template: `<p-fileUpload
161
+ #fu
162
+ auto
163
+ [id]="field()?.uuid"
164
+ [name]="props.name"
165
+ [url]="props.url"
166
+ [method]="props.method ?? 'post'"
167
+ [multiple]="props.multiple ?? true"
168
+ [accept]="props.accept"
169
+ [withCredentials]="props.withCredentials"
170
+ [maxFileSize]="props.maxFileSize"
171
+ [styleClass]="props.styleClass"
172
+ [previewWidth]="props.previewWidth ?? 50"
173
+ [mode]="props.mode ?? 'advanced'"
174
+ [headers]="props.headers"
175
+ [fileLimit]="props.fileLimit"
176
+ [customUpload]="props.customUpload ?? true"
177
+ (onBeforeUpload)="props.onBeforeUpload?.(field()!, $event)"
178
+ (onSend)="props.onSend?.(field()!, $event)"
179
+ (onUpload)="props.onUpload?.(field()!, $event)"
180
+ (onError)="props.onError?.(field()!, $event)"
181
+ (onClear)="props.onClear?.(field()!, $event)"
182
+ (onRemove)="props.onRemove?.(field()!, $event)"
183
+ (onSelect)="props.onSelect?.(field()!, $event)"
184
+ (onProgress)="props.onProgress?.(field()!, $event)"
185
+ (uploadHandler)="uploadHandler(field()!, $event, fu)">
186
+ <ng-template
187
+ #header
188
+ let-chooseCallback="chooseCallback">
189
+ <div
190
+ #uploadComp
191
+ [class]="'flex justify-center w-full upload-btn' + (props.disabled ? ' upload-disable' : '')"
192
+ (click)="choose($event, chooseCallback)">
193
+ <span
194
+ ><span
195
+ style="font-size: 12px; margin-right: 2.5px"
196
+ class="pi pi-upload"></span
197
+ >上传</span
198
+ >
199
+ </div>
200
+ </ng-template>
201
+ <ng-template #content>
202
+ @if (fileList.length > 0) {
203
+ @for (file of fileList; track file; let index = $index) {
204
+ <div class="flex justify-between items-center file-item">
205
+ <span class="file-name"
206
+ ><a
207
+ [href]="'https://hrimage.myfoodiepet.com//' + file"
208
+ [download]="file"
209
+ >{{ file }}</a
210
+ ></span
211
+ >
212
+ <p-button
213
+ icon="pi pi-times"
214
+ severity="danger"
215
+ size="small"
216
+ (onClick)="deleteHandler(file, index)"
217
+ [text]="true" />
218
+ </div>
219
+ }
220
+ }
221
+ </ng-template>
222
+ <ng-template #file> </ng-template>
223
+ </p-fileUpload>`, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n", ".file-item{border-top:solid 1px #fff}.upload-btn{border:solid 1px transparent}.upload-btn.upload-disable:hover{cursor:default}.upload-btn:not(.upload-disable):hover{border:solid 1px var(--p-primary-color);background:var(--p-primary-50);cursor:pointer}.upload-btn:not(.upload-disable).ng-hovered{border:solid 1px var(--p-primary-color);background:var(--p-primary-50);cursor:pointer}.file-name{font-size:12px}.file-name:hover{cursor:pointer;color:var(--p-primary-color)}:is() .p-image-preview-mask{position:inherit;opacity:1;justify-content:left;color:#334155}\n"] }]
224
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ActionService }, { type: i0.Renderer2 }], propDecorators: { uploadCompRef: [{
225
+ type: ViewChild,
226
+ args: ['uploadComp', { read: ElementRef, static: false }]
227
+ }] } });
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tdWkvc3JjL2xpYi9mb3JtL2Zvcm0tdHlwZS91cGxvYWQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEMsT0FBTyxFQUFzQyxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBdUlwRCxNQUFNLE9BQU8sZUFBZTtJQU8zQixZQUNTLElBQWdCLEVBQ2hCLE1BQXFCLEVBQ3JCLFFBQW1CO1FBRm5CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBUjVCLFVBQUssR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMzQixVQUFLLEdBQWdCLEVBQUUsQ0FBQztRQUN4QixhQUFRLEdBQWEsRUFBRSxDQUFDO1FBQ3hCLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQU9uQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFHLENBQUMsV0FBWSxD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ZTtrQkExRzNCLFNBQVM7K0JBQ0MsYUFBYSxjQUNYLElBQUksV0FxQ1AsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxZQUNyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQStETTttSUFJOEMsYUFBYTtzQkFBMUUsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBlZmZlY3QsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWQgfSBmcm9tICdwcmltZW5nL2ZpbGV1cGxvYWQnO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XHJcbmltcG9ydCB7IEltYWdlIH0gZnJvbSAncHJpbWVuZy9pbWFnZSc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCwgRmllbGRQcm9wcywgQXR0cmlidXRlRXZlbnQgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXZlbnQsIEh0dHBIZWFkZXJzLCBIdHRwUmVxdWVzdCwgSHR0cEV2ZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZFByb3BzIGV4dGVuZHMgRmllbGRQcm9wcyB7XHJcblx0dXJsPzogc3RyaW5nO1xyXG5cdG1ldGhvZD86ICdwb3N0JyB8ICdwdXQnO1xyXG5cdG11bHRpcGxlPzogYm9vbGVhbjtcclxuXHRhY2NlcHQ/OiBzdHJpbmc7XHJcblx0d2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuXHRtYXhGaWxlU2l6ZT86IG51bWJlcjtcclxuXHRwcmV2aWV3V2lkdGg/OiBudW1iZXI7XHJcblx0bW9kZT86ICdiYXNpYycgfCAnYWR2YW5jZWQnO1xyXG5cdGhlYWRlcnM/OiBhbnk7XHJcblx0Y3VzdG9tVXBsb2FkPzogYm9vbGVhbjtcclxuXHRmaWxlTGltaXQ/OiBudW1iZXI7XHJcblx0dXBsb2FkU3R5bGVDbGFzcz86IHN0cmluZztcclxuXHRjYW5jZWxTdHlsZUNsYXNzPzogc3RyaW5nO1xyXG5cdHJlbW92ZVN0eWxlQ2xhc3M/OiBzdHJpbmc7XHJcblx0Y2hvb3NlU3R5bGVDbGFzcz86IHN0cmluZztcclxuXHJcblx0b25CZWZvcmVVcGxvYWQ/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvblNlbmQ/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvblVwbG9hZD86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uRXJyb3I/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkNsZWFyPzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25SZW1vdmU/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvblNlbGVjdD86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uUHJvZ3Jlc3M/OiBBdHRyaWJ1dGVFdmVudDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdmb3JtLXVwbG9hZCcsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzdHlsZXM6IGBcclxuXHRcdC5maWxlLWl0ZW0ge1xyXG5cdFx0XHRib3JkZXItdG9wOiBzb2xpZCAxcHggI2ZmZjtcclxuXHRcdH1cclxuXHRcdC51cGxvYWQtYnRuIHtcclxuXHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggdHJhbnNwYXJlbnQ7XHJcblx0XHR9XHJcblx0XHQudXBsb2FkLWJ0bi51cGxvYWQtZGlzYWJsZTpob3ZlciB7XHJcblx0XHRcdGN1cnNvcjogZGVmYXVsdDtcclxuXHRcdH1cclxuXHRcdC51cGxvYWQtYnRuOm5vdCgudXBsb2FkLWRpc2FibGUpOmhvdmVyIHtcclxuXHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggdmFyKC0tcC1wcmltYXJ5LWNvbG9yKTtcclxuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tcC1wcmltYXJ5LTUwKTtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0fVxyXG5cdFx0LnVwbG9hZC1idG46bm90KC51cGxvYWQtZGlzYWJsZSkubmctaG92ZXJlZCB7XHJcblx0XHRcdGJvcmRlcjogc29saWQgMXB4IHZhcigtLXAtcHJpbWFyeS1jb2xvcik7XHJcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLXAtcHJpbWFyeS01MCk7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdH1cclxuXHRcdC5maWxlLW5hbWUge1xyXG5cdFx0XHRmb250LXNpemU6IDEycHg7XHJcblx0XHR9XHJcblx0XHQuZmlsZS1uYW1lOmhvdmVyIHtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tcC1wcmltYXJ5LWNvbG9yKTtcclxuXHRcdH1cclxuXHRcdDpob3N0IDo6bmctZGVlcCB7XHJcblx0XHRcdC5wLWltYWdlLXByZXZpZXctbWFzayB7XHJcblx0XHRcdFx0cG9zaXRpb246IGluaGVyaXQ7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcblx0XHRcdFx0Y29sb3I6ICMzMzQxNTU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRgLFxyXG5cdGltcG9ydHM6IFtGaWxlVXBsb2FkLCBCdXR0b25Nb2R1bGUsIEltYWdlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuXHR0ZW1wbGF0ZTogYDxwLWZpbGVVcGxvYWRcclxuXHRcdCNmdVxyXG5cdFx0YXV0b1xyXG5cdFx0W2lkXT1cImZpZWxkKCk/LnV1aWRcIlxyXG5cdFx0W25hbWVdPVwicHJvcHMubmFtZVwiXHJcblx0XHRbdXJsXT1cInByb3BzLnVybFwiXHJcblx0XHRbbWV0aG9kXT1cInByb3BzLm1ldGhvZCA/PyAncG9zdCdcIlxyXG5cdFx0W211bHRpcGxlXT1cInByb3BzLm11bHRpcGxlID8/IHRydWVcIlxyXG5cdFx0W2FjY2VwdF09XCJwcm9wcy5hY2NlcHRcIlxyXG5cdFx0W3dpdGhDcmVkZW50aWFsc109XCJwcm9wcy53aXRoQ3JlZGVudGlhbHNcIlxyXG5cdFx0W21heEZpbGVTaXplXT1cInByb3BzLm1heEZpbGVTaXplXCJcclxuXHRcdFtzdHlsZUNsYXNzXT1cInByb3BzLnN0eWxlQ2xhc3NcIlxyXG5cdFx0W3ByZXZpZXdXaWR0aF09XCJwcm9wcy5wcmV2aWV3V2lkdGggPz8gNTBcIlxyXG5cdFx0W21vZGVdPVwicHJvcHMubW9kZSA/PyAnYWR2YW5jZWQnXCJcclxuXHRcdFtoZWFkZXJzXT1cInByb3BzLmhlYWRlcnNcIlxyXG5cdFx0W2ZpbGVMaW1pdF09XCJwcm9wcy5maWxlTGltaXRcIlxyXG5cdFx0W2N1c3RvbVVwbG9hZF09XCJwcm9wcy5jdXN0b21VcGxvYWQgPz8gdHJ1ZVwiXHJcblx0XHQob25CZWZvcmVVcGxvYWQpPVwicHJvcHMub25CZWZvcmVVcGxvYWQ/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHQob25TZW5kKT1cInByb3BzLm9uU2VuZD8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvblVwbG9hZCk9XCJwcm9wcy5vblVwbG9hZD8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbkVycm9yKT1cInByb3BzLm9uRXJyb3I/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHQob25DbGVhcik9XCJwcm9wcy5vbkNsZWFyPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uUmVtb3ZlKT1cInByb3BzLm9uUmVtb3ZlPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uU2VsZWN0KT1cInByb3BzLm9uU2VsZWN0Py4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uUHJvZ3Jlc3MpPVwicHJvcHMub25Qcm9ncmVzcz8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdCh1cGxvYWRIYW5kbGVyKT1cInVwbG9hZEhhbmRsZXIoZmllbGQoKSEsICRldmVudCwgZnUpXCI+XHJcblx0XHQ8bmctdGVtcGxhdGVcclxuXHRcdFx0I2hlYWRlclxyXG5cdFx0XHRsZXQtY2hvb3NlQ2FsbGJhY2s9XCJjaG9vc2VDYWxsYmFja1wiPlxyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0I3VwbG9hZENvbXBcclxuXHRcdFx0XHRbY2xhc3NdPVwiJ2ZsZXgganVzdGlmeS1jZW50ZXIgdy1mdWxsIHVwbG9hZC1idG4nICsgKHByb3BzLmRpc2FibGVkID8gJyB1cGxvYWQtZGlzYWJsZScgOiAnJylcIlxyXG5cdFx0XHRcdChjbGljayk9XCJjaG9vc2UoJGV2ZW50LCBjaG9vc2VDYWxsYmFjaylcIj5cclxuXHRcdFx0XHQ8c3BhblxyXG5cdFx0XHRcdFx0PjxzcGFuXHJcblx0XHRcdFx0XHRcdHN0eWxlPVwiZm9udC1zaXplOiAxMnB4OyBtYXJnaW4tcmlnaHQ6IDIuNXB4XCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBwaS11cGxvYWRcIj48L3NwYW5cclxuXHRcdFx0XHRcdD7kuIrkvKA8L3NwYW5cclxuXHRcdFx0XHQ+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdDxuZy10ZW1wbGF0ZSAjY29udGVudD5cclxuXHRcdFx0QGlmIChmaWxlTGlzdC5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0QGZvciAoZmlsZSBvZiBmaWxlTGlzdDsgdHJhY2sgZmlsZTsgbGV0IGluZGV4ID0gJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIGZpbGUtaXRlbVwiPlxyXG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiXHJcblx0XHRcdFx0XHRcdFx0PjxhXHJcblx0XHRcdFx0XHRcdFx0XHRbaHJlZl09XCInaHR0cHM6Ly9ocmltYWdlLm15Zm9vZGllcGV0LmNvbS8vJyArIGZpbGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W2Rvd25sb2FkXT1cImZpbGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Pnt7IGZpbGUgfX08L2FcclxuXHRcdFx0XHRcdFx0XHQ+PC9zcGFuXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0PHAtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0aWNvbj1cInBpIHBpLXRpbWVzXCJcclxuXHRcdFx0XHRcdFx0XHRzZXZlcml0eT1cImRhbmdlclwiXHJcblx0XHRcdFx0XHRcdFx0c2l6ZT1cInNtYWxsXCJcclxuXHRcdFx0XHRcdFx0XHQob25DbGljayk9XCJkZWxldGVIYW5kbGVyKGZpbGUsIGluZGV4KVwiXHJcblx0XHRcdFx0XHRcdFx0W3RleHRdPVwidHJ1ZVwiIC8+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHQ8bmctdGVtcGxhdGUgI2ZpbGU+IDwvbmctdGVtcGxhdGU+XHJcblx0PC9wLWZpbGVVcGxvYWQ+YCxcclxuXHRzdHlsZVVybDogJy4uLy4uL3N0eWxlcy9zdHlsZXMuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGxvYWRDb21wb25lbnQge1xyXG5cdEBWaWV3Q2hpbGQoJ3VwbG9hZENvbXAnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSkgdXBsb2FkQ29tcFJlZiE6IEVsZW1lbnRSZWY7XHJcblx0ZmllbGQgPSBpbnB1dDxGb3JtRmllbGQ+KCk7XHJcblx0cHJvcHM6IFVwbG9hZFByb3BzID0ge307XHJcblx0ZmlsZUxpc3Q6IHN0cmluZ1tdID0gW107XHJcblx0ZGVsZXRlSG9va3M6IE9ic2VydmFibGU8YW55PltdID0gW107XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG5cdFx0cHJpdmF0ZSBhY3Rpb246IEFjdGlvblNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcblx0KSB7XHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5maWVsZCgpKSB7XHJcblx0XHRcdFx0dGhpcy5wcm9wcyA9IHRoaXMuZmllbGQoKSEudXBsb2FkUHJvcHMhO1xyXG5cdFx0XHRcdHRoaXMuaGFuZGxlTW9kZWxDaGFuZ2UoKTtcclxuXHRcdFx0XHR0aGlzLmFmdGVyU3VibWl0KCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0Zm9ya0pvaW4odGhpcy5kZWxldGVIb29rcykuc3Vic2NyaWJlKCk7XHJcblx0XHR9KTtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGNvbnN0IGxhYmVsQWN0aW9uID0gdGhpcy5hY3Rpb24uZ2V0RmllbGRMYWJlbEFjdGlvbigpO1xyXG5cdFx0XHRpZiAoIWxhYmVsQWN0aW9uIHx8IGxhYmVsQWN0aW9uPy5rZXkgIT0gdGhpcy5maWVsZCgpPy51dWlkKSB7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdtb3VzZWVudGVyJykge1xyXG5cdFx0XHRcdHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy51cGxvYWRDb21wUmVmLm5hdGl2ZUVsZW1lbnQsICduZy1ob3ZlcmVkJyk7XHJcblx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnbW91c2VsZWF2ZScpIHtcclxuXHRcdFx0XHR0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudXBsb2FkQ29tcFJlZi5uYXRpdmVFbGVtZW50LCAnbmctaG92ZXJlZCcpO1xyXG5cdFx0XHR9IGVsc2UgaWYgKGxhYmVsQWN0aW9uLnR5cGUgPT0gJ2NsaWNrJykge1xyXG5cdFx0XHRcdHRoaXMudXBsb2FkQ29tcFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Y2hvb3NlKGV2ZW50OiBhbnksIGNhbGxiYWNrOiBhbnkpIHtcclxuXHRcdGlmICh0aGlzLnByb3BzPy5kaXNhYmxlZCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjYWxsYmFjaygpO1xyXG5cdH1cclxuXHJcblx0dXBsb2FkRmlsZShmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcblx0XHRmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBcclxuXHRcdFx0LnJlcXVlc3QoXHJcblx0XHRcdFx0bmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgJ2ZpbGVyVXBsb2FkJywgZm9ybURhdGEsIHtcclxuXHRcdFx0XHRcdHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG5cdFx0XHRcdFx0d2l0aENyZWRlbnRpYWxzOiBmYWxzZSxcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0KVxyXG5cdFx0XHQucGlwZShmaWx0ZXIoKHJlc3BvbnNlOiBIdHRwRXZlbnQ8YW55PikgPT4gcmVzcG9uc2UudHlwZSA9PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKSk7XHJcblx0fVxyXG5cclxuXHRkZWxGaWxlKGZpbGVTdHI6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoJ2ZpbGVyRGVsZXRlJywgeyBmaWxlTmFtZTogZmlsZVN0ciB9KTtcclxuXHR9XHJcblxyXG5cdHVwbG9hZEhhbmRsZXIoZmllbGQ6IGFueSwgZXZlbnQ6IGFueSwgZnU6IGFueSkge1xyXG5cdFx0dGhpcy51cGxvYWRGaWxlKGV2ZW50LmZpbGVzWzBdKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcblx0XHRcdHRoaXMuZmlsZUxpc3Q/LnB1c2gocmVzcG9uc2UuYm9keS5maWxlTmFtZSk7XHJcblx0XHRcdHRoaXMuZmllbGQoKT8uZmllbGRDb250cm9sPy5zZXRWYWx1ZSh0aGlzLmZpbGVMaXN0KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0ZGVsZXRlSGFuZGxlcihmaWxlU3RyOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpIHtcclxuXHRcdHRoaXMuZGVsZXRlSG9va3MucHVzaCh0aGlzLmRlbEZpbGUoZmlsZVN0cikpO1xyXG5cdFx0dGhpcy5maWxlTGlzdCA9IHRoaXMuZmlsZUxpc3Q/LmZpbHRlcigodmFsdWUsIGkpID0+IGluZGV4ICE9IGkpO1xyXG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/LnNldFZhbHVlKHRoaXMuZmlsZUxpc3QpO1xyXG5cdH1cclxuXHJcblx0aGFuZGxlTW9kZWxDaGFuZ2UoKSB7XHJcblx0XHR0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8ubW9kZWxDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG5cdFx0XHRpZiAodmFsdWUgPT0gbnVsbCkge1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLmZpbGVMaXN0ID0gWy4uLnZhbHVlXTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0YWZ0ZXJTdWJtaXQoKSB7XHJcblx0XHR0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uc3VibWl0Q2hhbmdlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuXHRcdFx0aWYgKEJvb2xlYW4odmFsdWUpKSB7XHJcblx0XHRcdFx0dGhpcy5kZWxldGVIb29rcy5mb3JFYWNoKChob29rKSA9PiBob29rLnN1YnNjcmliZSgpKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { Component, input, effect } from '@angular/core';
2
+ import { ButtonModule } from 'primeng/button';
3
+ import { TranslatePipe } from '@ngx-translate/core';
4
+ import { Toast } from 'primeng/toast';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../service/action.service";
7
+ import * as i2 from "primeng/button";
8
+ export class ActionsComponent {
9
+ constructor(action) {
10
+ this.action = action;
11
+ this.grid = input();
12
+ this.actions = input();
13
+ this.isCancel = input(true);
14
+ this.selectedRows = [];
15
+ effect(() => {
16
+ this.selectedRows = this.action.getSelectedRows();
17
+ });
18
+ }
19
+ doCancelAction() {
20
+ this.grid()?.getGrid().api.deselectAll();
21
+ this.action.setSelectedRows([]);
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsComponent, deps: [{ token: i1.ActionService }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ActionsComponent, isStandalone: true, selector: "custom-actions", inputs: { grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, isCancel: { classPropertyName: "isCancel", publicName: "isCancel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<p-toast />\r\n<div class=\"flex flex-wrap gap-4 justify-center\">\r\n\t@if(isCancel()){\r\n\t\t<p-button\r\n\t\t\t[severity]=\"'secondary'\"\r\n\t\t\t[label]=\"('primeng.cancel' | translate) + ' ' + selectedRows.length\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t(click)=\"doCancelAction()\">\r\n\t\t</p-button>\r\n\t}\r\n\t\r\n\t@for (action of actions(); track action) {\r\n\t\t<p-button\r\n\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t[variant]=\"action.variant\"\r\n\t\t\t[icon]=\"action.icon\"\r\n\t\t\t[severity]=\"action.severity\"\r\n\t\t\t[disabled]=\"action.btnDisabled?.({ action: action, rows: selectedRows, grid: grid() }) ?? false\"\r\n\t\t\t(onClick)=\"action.onClick({ originalEvent: $event, action: action, rows: selectedRows, grid: grid() })\"></p-button>\r\n\t}\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'custom-actions', standalone: true, imports: [ButtonModule, Toast, TranslatePipe], template: "<p-toast />\r\n<div class=\"flex flex-wrap gap-4 justify-center\">\r\n\t@if(isCancel()){\r\n\t\t<p-button\r\n\t\t\t[severity]=\"'secondary'\"\r\n\t\t\t[label]=\"('primeng.cancel' | translate) + ' ' + selectedRows.length\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t(click)=\"doCancelAction()\">\r\n\t\t</p-button>\r\n\t}\r\n\t\r\n\t@for (action of actions(); track action) {\r\n\t\t<p-button\r\n\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t[variant]=\"action.variant\"\r\n\t\t\t[icon]=\"action.icon\"\r\n\t\t\t[severity]=\"action.severity\"\r\n\t\t\t[disabled]=\"action.btnDisabled?.({ action: action, rows: selectedRows, grid: grid() }) ?? false\"\r\n\t\t\t(onClick)=\"action.onClick({ originalEvent: $event, action: action, rows: selectedRows, grid: grid() })\"></p-button>\r\n\t}\r\n</div>\r\n" }]
29
+ }], ctorParameters: () => [{ type: i1.ActionService }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tdWkvc3JjL2xpYi9ncmlkL2FjdGlvbnMvYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tdWkvc3JjL2xpYi9ncmlkL2FjdGlvbnMvYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBU3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFNNUIsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUx6QyxTQUFJLEdBQUcsS0FBSyxFQUFpQixDQUFDO1FBQzlCLFlBQU8sR0FBRyxLQUFLLEVBQVMsQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ2hDLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBR3hCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYztRQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQzsrR0FmVyxnQkFBZ0I7bUdBQWhCLGdCQUFnQiwwY0NkN0IsdTFCQXNCQSx5RERaVyxZQUFZLGtiQUFFLEtBQUssNFRBQUUsYUFBYTs7NEZBSWhDLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDQyxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIGVmZmVjdCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgR3JpZENvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdCB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdjdXN0b20tYWN0aW9ucycsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbQnV0dG9uTW9kdWxlLCBUb2FzdCwgVHJhbnNsYXRlUGlwZV0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi9hY3Rpb25zLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGlvbnNDb21wb25lbnQge1xyXG5cdGdyaWQgPSBpbnB1dDxHcmlkQ29tcG9uZW50PigpO1xyXG5cdGFjdGlvbnMgPSBpbnB1dDxhbnlbXT4oKTtcclxuXHRpc0NhbmNlbCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdHNlbGVjdGVkUm93czogYW55W10gPSBbXTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb246IEFjdGlvblNlcnZpY2UpIHtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5hY3Rpb24uZ2V0U2VsZWN0ZWRSb3dzKCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGRvQ2FuY2VsQWN0aW9uKCkge1xyXG5cdFx0dGhpcy5ncmlkKCk/LmdldEdyaWQoKS5hcGkuZGVzZWxlY3RBbGwoKTtcclxuXHRcdHRoaXMuYWN0aW9uLnNldFNlbGVjdGVkUm93cyhbXSk7XHJcblx0fVxyXG59XHJcbiIsIjxwLXRvYXN0IC8+XHJcbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtNCBqdXN0aWZ5LWNlbnRlclwiPlxyXG5cdEBpZihpc0NhbmNlbCgpKXtcclxuXHRcdDxwLWJ1dHRvblxyXG5cdFx0XHRbc2V2ZXJpdHldPVwiJ3NlY29uZGFyeSdcIlxyXG5cdFx0XHRbbGFiZWxdPVwiKCdwcmltZW5nLmNhbmNlbCcgfCB0cmFuc2xhdGUpICsgJyAnICsgc2VsZWN0ZWRSb3dzLmxlbmd0aFwiXHJcblx0XHRcdHNpemU9XCJzbWFsbFwiXHJcblx0XHRcdChjbGljayk9XCJkb0NhbmNlbEFjdGlvbigpXCI+XHJcblx0XHQ8L3AtYnV0dG9uPlxyXG5cdH1cclxuXHRcclxuXHRAZm9yIChhY3Rpb24gb2YgYWN0aW9ucygpOyB0cmFjayBhY3Rpb24pIHtcclxuXHRcdDxwLWJ1dHRvblxyXG5cdFx0XHRbbGFiZWxdPVwiYWN0aW9uLmkxOG5LZXkgPyAoYWN0aW9uLmkxOG5LZXkgfCB0cmFuc2xhdGUpIDogYWN0aW9uLmxhYmVsXCJcclxuXHRcdFx0c2l6ZT1cInNtYWxsXCJcclxuXHRcdFx0W3ZhcmlhbnRdPVwiYWN0aW9uLnZhcmlhbnRcIlxyXG5cdFx0XHRbaWNvbl09XCJhY3Rpb24uaWNvblwiXHJcblx0XHRcdFtzZXZlcml0eV09XCJhY3Rpb24uc2V2ZXJpdHlcIlxyXG5cdFx0XHRbZGlzYWJsZWRdPVwiYWN0aW9uLmJ0bkRpc2FibGVkPy4oeyBhY3Rpb246IGFjdGlvbiwgcm93czogc2VsZWN0ZWRSb3dzLCBncmlkOiBncmlkKCkgfSkgPz8gZmFsc2VcIlxyXG5cdFx0XHQob25DbGljayk9XCJhY3Rpb24ub25DbGljayh7IG9yaWdpbmFsRXZlbnQ6ICRldmVudCwgYWN0aW9uOiBhY3Rpb24sIHJvd3M6IHNlbGVjdGVkUm93cywgZ3JpZDogZ3JpZCgpIH0pXCI+PC9wLWJ1dHRvbj5cclxuXHR9XHJcbjwvZGl2PlxyXG4iXX0=