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,19 @@
1
+ import { Component, effect } from '@angular/core';
2
+ import { ButtonModule } from 'primeng/button';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../service/action.service";
5
+ export class PagerComponent {
6
+ constructor(action) {
7
+ this.action = action;
8
+ effect(() => {
9
+ this.page = this.action.getPage();
10
+ });
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerComponent, deps: [{ token: i1.ActionService }], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PagerComponent, isStandalone: true, selector: "custom-pager", ngImport: i0, template: "@if (page?.total) {\r\n\t@if (page?.mode == 'client') {\r\n\t\t<div class=\"page-container flex p-2 items-center\">\r\n\t\t\t<span class=\"mr-2\">\u5171 {{ page ? page.total : 0 }} \u6761</span>\r\n\t\t</div>\r\n\t} @else {\r\n\t\t<div class=\"page-container flex p-2 items-center\">\r\n\t\t\t<span>{{ page ? (page.startRow || 0) + 1 : 0 }}</span>\r\n\t\t\t<span> - </span>\r\n\t\t\t<span>{{ page ? page.endRow : 0 }}</span>\r\n\t\t\t<span class=\"px-1\"> / </span>\r\n\t\t\t<span class=\"mr-2\">{{ page ? page.total : 0 }}</span>\r\n\t\t</div>\r\n\t}\r\n}\r\n", styles: [":host ::ng-deep .ms-down .p-button{border-radius:6px 0 0 6px;margin-right:1px}:host ::ng-deep .ms-up .p-button{border-radius:0 6px 6px 0;margin-left:1px}.page-container{color:#334155}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }] }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'custom-pager', standalone: true, imports: [ButtonModule], template: "@if (page?.total) {\r\n\t@if (page?.mode == 'client') {\r\n\t\t<div class=\"page-container flex p-2 items-center\">\r\n\t\t\t<span class=\"mr-2\">\u5171 {{ page ? page.total : 0 }} \u6761</span>\r\n\t\t</div>\r\n\t} @else {\r\n\t\t<div class=\"page-container flex p-2 items-center\">\r\n\t\t\t<span>{{ page ? (page.startRow || 0) + 1 : 0 }}</span>\r\n\t\t\t<span> - </span>\r\n\t\t\t<span>{{ page ? page.endRow : 0 }}</span>\r\n\t\t\t<span class=\"px-1\"> / </span>\r\n\t\t\t<span class=\"mr-2\">{{ page ? page.total : 0 }}</span>\r\n\t\t</div>\r\n\t}\r\n}\r\n", styles: [":host ::ng-deep .ms-down .p-button{border-radius:6px 0 0 6px;margin-right:1px}:host ::ng-deep .ms-up .p-button{border-radius:0 6px 6px 0;margin-left:1px}.page-container{color:#334155}\n"] }]
18
+ }], ctorParameters: () => [{ type: i1.ActionService }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLXVpL3NyYy9saWIvZ3JpZC9wYWdlci9wYWdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tdWkvc3JjL2xpYi9ncmlkL3BhZ2VyL3BhZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBaUI5QyxNQUFNLE9BQU8sY0FBYztJQUcxQixZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3hDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOytHQVBXLGNBQWM7bUdBQWQsY0FBYyx3RUNsQjNCLGtqQkFlQSxrUEREVyxZQUFZOzs0RkFJVixjQUFjO2tCQVAxQixTQUFTOytCQUNDLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XHJcbmltcG9ydCB7IEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FjdGlvbi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnZSB7XHJcblx0c3RhcnRSb3c/OiBudW1iZXI7XHJcblx0ZW5kUm93PzogbnVtYmVyO1xyXG5cdHRvdGFsPzogbnVtYmVyO1xyXG5cdG1vZGU/OiAnc2VydmVyJyB8ICdjbGllbnQnO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2N1c3RvbS1wYWdlcicsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbQnV0dG9uTW9kdWxlXSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGFnZXIuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi9wYWdlci5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlckNvbXBvbmVudCB7XHJcblx0cGFnZTogUGFnZSB8IHVuZGVmaW5lZDtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb246IEFjdGlvblNlcnZpY2UpIHtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdHRoaXMucGFnZSA9IHRoaXMuYWN0aW9uLmdldFBhZ2UoKTtcclxuXHRcdH0pO1xyXG5cdH1cclxufVxyXG4iLCJAaWYgKHBhZ2U/LnRvdGFsKSB7XHJcblx0QGlmIChwYWdlPy5tb2RlID09ICdjbGllbnQnKSB7XHJcblx0XHQ8ZGl2IGNsYXNzPVwicGFnZS1jb250YWluZXIgZmxleCBwLTIgaXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdDxzcGFuIGNsYXNzPVwibXItMlwiPuWFsSB7eyBwYWdlID8gcGFnZS50b3RhbCA6IDAgfX0g5p2hPC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0fSBAZWxzZSB7XHJcblx0XHQ8ZGl2IGNsYXNzPVwicGFnZS1jb250YWluZXIgZmxleCBwLTIgaXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdDxzcGFuPnt7IHBhZ2UgPyAocGFnZS5zdGFydFJvdyB8fCAwKSArIDEgOiAwIH19PC9zcGFuPlxyXG5cdFx0XHQ8c3Bhbj4gLSA8L3NwYW4+XHJcblx0XHRcdDxzcGFuPnt7IHBhZ2UgPyBwYWdlLmVuZFJvdyA6IDAgfX08L3NwYW4+XHJcblx0XHRcdDxzcGFuIGNsYXNzPVwicHgtMVwiPiAvIDwvc3Bhbj5cclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJtci0yXCI+e3sgcGFnZSA/IHBhZ2UudG90YWwgOiAwIH19PC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { Component, input, effect, ViewChild } from '@angular/core';
2
+ import { ActionsComponent } from '../grid/actions/actions.component';
3
+ import { SearchComponent } from '../search/search/search.component';
4
+ import { ButtonModule } from 'primeng/button';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../service/action.service";
7
+ export class HeadComponent {
8
+ constructor(action) {
9
+ this.action = action;
10
+ this.gridOptions = input();
11
+ this.grid = input();
12
+ this.actions = input();
13
+ this.rowSelected = false;
14
+ effect(() => {
15
+ this.rowSelected = !!this.action.getSelectedRows().length;
16
+ console.log('this.rowSelected---', this.rowSelected);
17
+ this.toggleChildren();
18
+ });
19
+ }
20
+ toggleChildren() {
21
+ this.actionsContainerRef.nativeElement.classList.add('child-hide');
22
+ this.searchContainerRef.nativeElement.classList.add('child-hide');
23
+ if (this.rowSelected) {
24
+ this.actionsContainerRef.nativeElement.classList.remove('child-hide');
25
+ }
26
+ if (!this.rowSelected) {
27
+ this.searchContainerRef.nativeElement.classList.remove('child-hide');
28
+ }
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadComponent, deps: [{ token: i1.ActionService }], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: HeadComponent, isStandalone: true, selector: "custom-head", inputs: { gridOptions: { classPropertyName: "gridOptions", publicName: "gridOptions", isSignal: true, isRequired: false, transformFunction: null }, grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "actionsContainerRef", first: true, predicate: ["actionsContainerRef"], descendants: true }, { propertyName: "searchContainerRef", first: true, predicate: ["searchContainerRef"], descendants: true }], ngImport: i0, template: "<div class=\"lg:min-w-[560px] h-[41.5px]\">\r\n\t<div\r\n\t\tclass=\"py-2\"\r\n\t\t#actionsContainerRef>\r\n\t\t<custom-actions\r\n\t\t\t[actions]=\"actions()\"\r\n\t\t\t[grid]=\"grid()\"></custom-actions>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"py-1\"\r\n\t\t#searchContainerRef>\r\n\t\t<custom-search [gridOptions]=\"gridOptions()\"></custom-search>\r\n\t</div>\r\n</div>\r\n", styles: [".child-hide{display:none}\n"], dependencies: [{ kind: "component", type: SearchComponent, selector: "custom-search", inputs: ["searchPrm", "gridOptions"] }, { kind: "component", type: ActionsComponent, selector: "custom-actions", inputs: ["grid", "actions", "isCancel"] }, { kind: "ngmodule", type: ButtonModule }] }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeadComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'custom-head', standalone: true, imports: [SearchComponent, ActionsComponent, ButtonModule], template: "<div class=\"lg:min-w-[560px] h-[41.5px]\">\r\n\t<div\r\n\t\tclass=\"py-2\"\r\n\t\t#actionsContainerRef>\r\n\t\t<custom-actions\r\n\t\t\t[actions]=\"actions()\"\r\n\t\t\t[grid]=\"grid()\"></custom-actions>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"py-1\"\r\n\t\t#searchContainerRef>\r\n\t\t<custom-search [gridOptions]=\"gridOptions()\"></custom-search>\r\n\t</div>\r\n</div>\r\n", styles: [".child-hide{display:none}\n"] }]
36
+ }], ctorParameters: () => [{ type: i1.ActionService }], propDecorators: { actionsContainerRef: [{
37
+ type: ViewChild,
38
+ args: ['actionsContainerRef', { static: false }]
39
+ }], searchContainerRef: [{
40
+ type: ViewChild,
41
+ args: ['searchContainerRef', { static: false }]
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tdWkvc3JjL2xpYi9oZWFkL2hlYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLXVpL3NyYy9saWIvaGVhZC9oZWFkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBVTlDLE1BQU0sT0FBTyxhQUFhO0lBUXpCLFlBQW9CLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFMekMsZ0JBQVcsR0FBRyxLQUFLLEVBQWUsQ0FBQztRQUNuQyxTQUFJLEdBQUcsS0FBSyxFQUFpQixDQUFDO1FBQzlCLFlBQU8sR0FBRyxLQUFLLEVBQVMsQ0FBQztRQUN6QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUduQixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDMUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7WUFDbkQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDYixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNGLENBQUM7K0dBekJXLGFBQWE7bUdBQWIsYUFBYSx1ckJDZDFCLHdYQWNBLHFGREpXLGVBQWUsZ0dBQUUsZ0JBQWdCLG1HQUFFLFlBQVk7OzRGQUk3QyxhQUFhO2tCQVB6QixTQUFTOytCQUNDLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO2tGQUtMLG1CQUFtQjtzQkFBdkUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ0Msa0JBQWtCO3NCQUFyRSxTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCwgZWZmZWN0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyaWRPcHRpb25zLCBHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC9ncmlkL2dyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2N1c3RvbS1oZWFkJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtTZWFyY2hDb21wb25lbnQsIEFjdGlvbnNDb21wb25lbnQsIEJ1dHRvbk1vZHVsZV0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2hlYWQuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi9oZWFkLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRDb21wb25lbnQge1xyXG5cdEBWaWV3Q2hpbGQoJ2FjdGlvbnNDb250YWluZXJSZWYnLCB7IHN0YXRpYzogZmFsc2UgfSkgYWN0aW9uc0NvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY7XHJcblx0QFZpZXdDaGlsZCgnc2VhcmNoQ29udGFpbmVyUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pIHNlYXJjaENvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY7XHJcblx0Z3JpZE9wdGlvbnMgPSBpbnB1dDxHcmlkT3B0aW9ucz4oKTtcclxuXHRncmlkID0gaW5wdXQ8R3JpZENvbXBvbmVudD4oKTtcclxuXHRhY3Rpb25zID0gaW5wdXQ8YW55W10+KCk7XHJcblx0cm93U2VsZWN0ZWQgPSBmYWxzZTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb246IEFjdGlvblNlcnZpY2UpIHtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdHRoaXMucm93U2VsZWN0ZWQgPSAhIXRoaXMuYWN0aW9uLmdldFNlbGVjdGVkUm93cygpLmxlbmd0aDtcclxuXHRcdFx0Y29uc29sZS5sb2coJ3RoaXMucm93U2VsZWN0ZWQtLS0nLHRoaXMucm93U2VsZWN0ZWQpXHJcblx0XHRcdHRoaXMudG9nZ2xlQ2hpbGRyZW4oKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0dG9nZ2xlQ2hpbGRyZW4oKSB7XHJcblx0XHR0aGlzLmFjdGlvbnNDb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjaGlsZC1oaWRlJyk7XHJcblx0XHR0aGlzLnNlYXJjaENvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2NoaWxkLWhpZGUnKTtcclxuXHRcdGlmICh0aGlzLnJvd1NlbGVjdGVkKSB7XHJcblx0XHRcdHRoaXMuYWN0aW9uc0NvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2NoaWxkLWhpZGUnKTtcclxuXHRcdH1cclxuXHRcdGlmICghdGhpcy5yb3dTZWxlY3RlZCkge1xyXG5cdFx0XHR0aGlzLnNlYXJjaENvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2NoaWxkLWhpZGUnKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImxnOm1pbi13LVs1NjBweF0gaC1bNDEuNXB4XVwiPlxyXG5cdDxkaXZcclxuXHRcdGNsYXNzPVwicHktMlwiXHJcblx0XHQjYWN0aW9uc0NvbnRhaW5lclJlZj5cclxuXHRcdDxjdXN0b20tYWN0aW9uc1xyXG5cdFx0XHRbYWN0aW9uc109XCJhY3Rpb25zKClcIlxyXG5cdFx0XHRbZ3JpZF09XCJncmlkKClcIj48L2N1c3RvbS1hY3Rpb25zPlxyXG5cdDwvZGl2PlxyXG5cdDxkaXZcclxuXHRcdGNsYXNzPVwicHktMVwiXHJcblx0XHQjc2VhcmNoQ29udGFpbmVyUmVmPlxyXG5cdFx0PGN1c3RvbS1zZWFyY2ggW2dyaWRPcHRpb25zXT1cImdyaWRPcHRpb25zKClcIj48L2N1c3RvbS1zZWFyY2g+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,68 @@
1
+ import { Component, ViewChild, model, input, output } from '@angular/core';
2
+ import { ButtonModule } from 'primeng/button';
3
+ import { DialogModule } from 'primeng/dialog';
4
+ import { FileUpload } from 'primeng/fileupload';
5
+ import { HttpRequest, HttpResponse } from '@angular/common/http';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "primeng/button";
9
+ import * as i3 from "primeng/dialog";
10
+ export class ImportComponent {
11
+ constructor(http) {
12
+ this.http = http;
13
+ this.visible = model(false);
14
+ this.options = input();
15
+ this.finishEvent = output();
16
+ this.disabled = false;
17
+ }
18
+ cancel() {
19
+ this.visible.set(false);
20
+ }
21
+ download() {
22
+ const link = document.createElement('a');
23
+ link.href = '../../assets/files/' + this.options().fileName + '.xlsx';
24
+ link.download = this.options().fileName + '.xlsx';
25
+ document.body.appendChild(link);
26
+ link.click();
27
+ document.body.removeChild(link);
28
+ }
29
+ upload(item) {
30
+ this.disabled = true;
31
+ const formData = new FormData();
32
+ formData.append('file', item.files[0]);
33
+ this.options()?.data &&
34
+ Object.keys(this.options()?.data).forEach((prop) => {
35
+ if (this.options().data[prop])
36
+ return;
37
+ formData.append(prop, this.options().data[prop]);
38
+ });
39
+ const req = new HttpRequest('POST', 'import', formData, {
40
+ reportProgress: true,
41
+ withCredentials: false,
42
+ });
43
+ return this.http.request(req).subscribe({
44
+ next: (event) => {
45
+ if (event instanceof HttpResponse) {
46
+ this.disabled = false;
47
+ this.fileUpload.clear();
48
+ this.finishEvent.emit({ status: 1, data: event.body });
49
+ }
50
+ },
51
+ error: (err) => {
52
+ this.disabled = false;
53
+ this.fileUpload.clear();
54
+ this.finishEvent.emit({ status: 0, error: err });
55
+ },
56
+ });
57
+ }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImportComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ImportComponent, isStandalone: true, selector: "app-import", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "visibleChange", finishEvent: "finishEvent" }, viewQueries: [{ propertyName: "fileUpload", first: true, predicate: FileUpload, descendants: true }], ngImport: i0, template: "<p-dialog\r\n\t[header]=\"options()?.title ?? '\u5BFC\u5165\u6587\u4EF6'\"\r\n\t[modal]=\"true\"\r\n\t[style]=\"{ width: '30rem' }\"\r\n\t(onHide)=\"cancel()\"\r\n\t[(visible)]=\"visible\">\r\n\t<div class=\"grid p-fluid\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<span style=\"font-size: 14px\">1.\u6A21\u677F\u4E0B\u8F7D</span>\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\tclass=\"col-12\"\r\n\t\t\tstyle=\"padding: 0.5rem\">\r\n\t\t\t<button\r\n\t\t\t\tpButton\r\n\t\t\t\tclass=\"p-element p-button-text p-button p-component\"\r\n\t\t\t\t(click)=\"download()\">\r\n\t\t\t\t<i class=\"pi pi-download\"></i>\u4E0B\u8F7D\u5BFC\u5165\u6A21\u677F\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<span style=\"font-size: 14px\">2.\u6587\u4EF6\u4E0A\u4F20</span>\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\tclass=\"col-12\"\r\n\t\t\tstyle=\"padding: 0.5rem\">\r\n\t\t\t<p-fileUpload\r\n\t\t\t\t#primeFileUpload\r\n\t\t\t\tchooseStyleClass=\"p-element p-button-text p-button p-component\"\r\n\t\t\t\tmode=\"basic\"\r\n\t\t\t\tchooseIcon=\"pi pi-upload\"\r\n\t\t\t\tchooseLabel=\"\u9009\u62E9\u6587\u4EF6\u4E0A\u4F20\"\r\n\t\t\t\t[auto]=\"true\"\r\n\t\t\t\t[customUpload]=\"true\"\r\n\t\t\t\t(uploadHandler)=\"upload($event)\"></p-fileUpload>\r\n\t\t</div>\r\n\t</div>\r\n</p-dialog>\r\n", 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}:host ::ng-deep .p-fileupload-basic{justify-content:left}.btn-link{color:var(--p-primary-color);padding:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i3.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { 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"] }] }); }
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImportComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ selector: 'app-import', standalone: true, imports: [ButtonModule, DialogModule, FileUpload], template: "<p-dialog\r\n\t[header]=\"options()?.title ?? '\u5BFC\u5165\u6587\u4EF6'\"\r\n\t[modal]=\"true\"\r\n\t[style]=\"{ width: '30rem' }\"\r\n\t(onHide)=\"cancel()\"\r\n\t[(visible)]=\"visible\">\r\n\t<div class=\"grid p-fluid\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<span style=\"font-size: 14px\">1.\u6A21\u677F\u4E0B\u8F7D</span>\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\tclass=\"col-12\"\r\n\t\t\tstyle=\"padding: 0.5rem\">\r\n\t\t\t<button\r\n\t\t\t\tpButton\r\n\t\t\t\tclass=\"p-element p-button-text p-button p-component\"\r\n\t\t\t\t(click)=\"download()\">\r\n\t\t\t\t<i class=\"pi pi-download\"></i>\u4E0B\u8F7D\u5BFC\u5165\u6A21\u677F\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<span style=\"font-size: 14px\">2.\u6587\u4EF6\u4E0A\u4F20</span>\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\tclass=\"col-12\"\r\n\t\t\tstyle=\"padding: 0.5rem\">\r\n\t\t\t<p-fileUpload\r\n\t\t\t\t#primeFileUpload\r\n\t\t\t\tchooseStyleClass=\"p-element p-button-text p-button p-component\"\r\n\t\t\t\tmode=\"basic\"\r\n\t\t\t\tchooseIcon=\"pi pi-upload\"\r\n\t\t\t\tchooseLabel=\"\u9009\u62E9\u6587\u4EF6\u4E0A\u4F20\"\r\n\t\t\t\t[auto]=\"true\"\r\n\t\t\t\t[customUpload]=\"true\"\r\n\t\t\t\t(uploadHandler)=\"upload($event)\"></p-fileUpload>\r\n\t\t</div>\r\n\t</div>\r\n</p-dialog>\r\n", 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}:host ::ng-deep .p-fileupload-basic{justify-content:left}.btn-link{color:var(--p-primary-color);padding:.5rem}\n"] }]
64
+ }], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { fileUpload: [{
65
+ type: ViewChild,
66
+ args: [FileUpload]
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS11aS9zcmMvbGliL2ltcG9ydC9pbXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLXVpL3NyYy9saWIvaW1wb3J0L2ltcG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQXlCLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFleEYsTUFBTSxPQUFPLGVBQWU7SUFPM0IsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUxwQyxZQUFPLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxLQUFLLEVBQWlCLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxNQUFNLEVBQU8sQ0FBQztRQUM1QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBRWEsQ0FBQztJQUV4QyxNQUFNO1FBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVE7UUFDUCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcscUJBQXFCLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDdkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFHLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUNuRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVM7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFRLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSTtZQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFBRSxPQUFPO2dCQUN2QyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDSixNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtZQUN2RCxjQUFjLEVBQUUsSUFBSTtZQUNwQixlQUFlLEVBQUUsS0FBSztTQUN0QixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN2QyxJQUFJLEVBQUUsQ0FBQyxLQUFxQixFQUFFLEVBQUU7Z0JBQy9CLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRSxDQUFDO29CQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztvQkFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDeEQsQ0FBQztZQUNGLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2xELENBQUM7U0FDRCxDQUFDLENBQUM7SUFDSixDQUFDOytHQWxEVyxlQUFlO21HQUFmLGVBQWUsNmJBQ2hCLFVBQVUsZ0RDcEJ0Qix1d0NBc0NBLHFvTER2QlcsWUFBWSxvUUFBRSxZQUFZLG82QkFBRSxVQUFVOzs0RkFJcEMsZUFBZTtrQkFQM0IsU0FBUzsrQkFDQyxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUM7K0VBSzFCLFVBQVU7c0JBQWhDLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBtb2RlbCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XHJcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZCB9IGZyb20gJ3ByaW1lbmcvZmlsZXVwbG9hZCc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0T3B0aW9ucyB7XHJcblx0dGl0bGU/OiBzdHJpbmc7XHJcblx0ZmlsZU5hbWU/OiBzdHJpbmc7XHJcblx0ZGF0YT86IGFueTtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtaW1wb3J0JyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtCdXR0b25Nb2R1bGUsIERpYWxvZ01vZHVsZSwgRmlsZVVwbG9hZF0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2ltcG9ydC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL2ltcG9ydC5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbXBvcnRDb21wb25lbnQge1xyXG5cdEBWaWV3Q2hpbGQoRmlsZVVwbG9hZCkgZmlsZVVwbG9hZCE6IEZpbGVVcGxvYWQ7XHJcblx0dmlzaWJsZSA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHRvcHRpb25zID0gaW5wdXQ8SW1wb3J0T3B0aW9ucz4oKTtcclxuXHRmaW5pc2hFdmVudCA9IG91dHB1dDxhbnk+KCk7XHJcblx0ZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuXHRjYW5jZWwoKSB7XHJcblx0XHR0aGlzLnZpc2libGUuc2V0KGZhbHNlKTtcclxuXHR9XHJcblxyXG5cdGRvd25sb2FkKCkge1xyXG5cdFx0Y29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuXHRcdGxpbmsuaHJlZiA9ICcuLi8uLi9hc3NldHMvZmlsZXMvJyArIHRoaXMub3B0aW9ucygpIS5maWxlTmFtZSArICcueGxzeCc7XHJcblx0XHRsaW5rLmRvd25sb2FkID0gdGhpcy5vcHRpb25zKCkhLmZpbGVOYW1lICsgJy54bHN4JztcclxuXHRcdGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcblx0XHRsaW5rLmNsaWNrKCk7XHJcblx0XHRkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG5cdH1cclxuXHJcblx0dXBsb2FkKGl0ZW06IGFueSkge1xyXG5cdFx0dGhpcy5kaXNhYmxlZCA9IHRydWU7XHJcblx0XHRjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG5cdFx0Zm9ybURhdGEuYXBwZW5kKCdmaWxlJywgaXRlbS5maWxlc1swXSBhcyBhbnkpO1xyXG5cdFx0dGhpcy5vcHRpb25zKCk/LmRhdGEgJiZcclxuXHRcdFx0T2JqZWN0LmtleXModGhpcy5vcHRpb25zKCk/LmRhdGEpLmZvckVhY2goKHByb3ApID0+IHtcclxuXHRcdFx0XHRpZiAodGhpcy5vcHRpb25zKCkhLmRhdGFbcHJvcF0pIHJldHVybjtcclxuXHRcdFx0XHRmb3JtRGF0YS5hcHBlbmQocHJvcCwgdGhpcy5vcHRpb25zKCkhLmRhdGFbcHJvcF0pO1xyXG5cdFx0XHR9KTtcclxuXHRcdGNvbnN0IHJlcSA9IG5ldyBIdHRwUmVxdWVzdCgnUE9TVCcsICdpbXBvcnQnLCBmb3JtRGF0YSwge1xyXG5cdFx0XHRyZXBvcnRQcm9ncmVzczogdHJ1ZSxcclxuXHRcdFx0d2l0aENyZWRlbnRpYWxzOiBmYWxzZSxcclxuXHRcdH0pO1xyXG5cclxuXHRcdHJldHVybiB0aGlzLmh0dHAucmVxdWVzdChyZXEpLnN1YnNjcmliZSh7XHJcblx0XHRcdG5leHQ6IChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcclxuXHRcdFx0XHRpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcclxuXHRcdFx0XHRcdHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZVVwbG9hZC5jbGVhcigpO1xyXG5cdFx0XHRcdFx0dGhpcy5maW5pc2hFdmVudC5lbWl0KHsgc3RhdHVzOiAxLCBkYXRhOiBldmVudC5ib2R5IH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0ZXJyb3I6IChlcnIpID0+IHtcclxuXHRcdFx0XHR0aGlzLmRpc2FibGVkID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy5maWxlVXBsb2FkLmNsZWFyKCk7XHJcblx0XHRcdFx0dGhpcy5maW5pc2hFdmVudC5lbWl0KHsgc3RhdHVzOiAwLCBlcnJvcjogZXJyIH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiIsIjxwLWRpYWxvZ1xyXG5cdFtoZWFkZXJdPVwib3B0aW9ucygpPy50aXRsZSA/PyAn5a+85YWl5paH5Lu2J1wiXHJcblx0W21vZGFsXT1cInRydWVcIlxyXG5cdFtzdHlsZV09XCJ7IHdpZHRoOiAnMzByZW0nIH1cIlxyXG5cdChvbkhpZGUpPVwiY2FuY2VsKClcIlxyXG5cdFsodmlzaWJsZSldPVwidmlzaWJsZVwiPlxyXG5cdDxkaXYgY2xhc3M9XCJncmlkIHAtZmx1aWRcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuXHRcdFx0PHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDE0cHhcIj4xLuaooeadv+S4i+i9vTwvc3Bhbj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdlxyXG5cdFx0XHRjbGFzcz1cImNvbC0xMlwiXHJcblx0XHRcdHN0eWxlPVwicGFkZGluZzogMC41cmVtXCI+XHJcblx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRwQnV0dG9uXHJcblx0XHRcdFx0Y2xhc3M9XCJwLWVsZW1lbnQgcC1idXR0b24tdGV4dCBwLWJ1dHRvbiBwLWNvbXBvbmVudFwiXHJcblx0XHRcdFx0KGNsaWNrKT1cImRvd25sb2FkKClcIj5cclxuXHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWRvd25sb2FkXCI+PC9pPuS4i+i9veWvvOWFpeaooeadv1xyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG5cdFx0XHQ8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweFwiPjIu5paH5Lu25LiK5LygPC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8ZGl2XHJcblx0XHRcdGNsYXNzPVwiY29sLTEyXCJcclxuXHRcdFx0c3R5bGU9XCJwYWRkaW5nOiAwLjVyZW1cIj5cclxuXHRcdFx0PHAtZmlsZVVwbG9hZFxyXG5cdFx0XHRcdCNwcmltZUZpbGVVcGxvYWRcclxuXHRcdFx0XHRjaG9vc2VTdHlsZUNsYXNzPVwicC1lbGVtZW50IHAtYnV0dG9uLXRleHQgcC1idXR0b24gcC1jb21wb25lbnRcIlxyXG5cdFx0XHRcdG1vZGU9XCJiYXNpY1wiXHJcblx0XHRcdFx0Y2hvb3NlSWNvbj1cInBpIHBpLXVwbG9hZFwiXHJcblx0XHRcdFx0Y2hvb3NlTGFiZWw9XCLpgInmi6nmlofku7bkuIrkvKBcIlxyXG5cdFx0XHRcdFthdXRvXT1cInRydWVcIlxyXG5cdFx0XHRcdFtjdXN0b21VcGxvYWRdPVwidHJ1ZVwiXHJcblx0XHRcdFx0KHVwbG9hZEhhbmRsZXIpPVwidXBsb2FkKCRldmVudClcIj48L3AtZmlsZVVwbG9hZD5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L3AtZGlhbG9nPlxyXG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { Component, effect, input } from '@angular/core';
2
+ import { AvatarModule } from 'primeng/avatar';
3
+ import { DatePipe } from '@angular/common';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "primeng/avatar";
7
+ export class LogComponent {
8
+ constructor(datePipe) {
9
+ this.datePipe = datePipe;
10
+ this.logs = input([]);
11
+ this.parsedLogs = [];
12
+ this.id = input();
13
+ this.targets = [];
14
+ effect(() => {
15
+ if (!this.logs()) {
16
+ return;
17
+ }
18
+ this.parsedLogs = [];
19
+ this.logs().forEach((log) => {
20
+ const parsedLog = { ...log };
21
+ parsedLog.content = log.content ? log.content.split(';') : [];
22
+ parsedLog.subContent = log.subContent ? log.subContent.replace(/;+$/, '').split(';') : [];
23
+ this.parsedLogs.push(parsedLog);
24
+ });
25
+ });
26
+ }
27
+ getLastTwoCharacters(str) {
28
+ return str?.slice(-2);
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LogComponent, deps: [{ token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LogComponent, isStandalone: true, selector: "custom-log", inputs: { logs: { classPropertyName: "logs", publicName: "logs", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DatePipe], ngImport: i0, template: "<div class=\"log-panel\">\r\n\t<div class=\"log-content\">\r\n\t\t@for (log of parsedLogs; track log) {\r\n\t\t\t<div class=\"log-item p-2\">\r\n\t\t\t\t<div class=\"log-item-header flex flex-row\">\r\n\t\t\t\t\t<p-avatar\r\n\t\t\t\t\t\t[label]=\"getLastTwoCharacters(log.operator)\"\r\n\t\t\t\t\t\tstyleClass=\"mr-2\"\r\n\t\t\t\t\t\tsize=\"large\" />\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<span class=\"px-2 font-semibold log-item-user\">{{ log.operator }}</span>\r\n\t\t\t\t\t\t\t<span class=\"log-item-time\">{{ log.createdAt | date: 'yyyy-MM-dd HH:mm:ss' : 'GMT' }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"px-2\">\r\n\t\t\t\t\t\t\t@for (item of log.content; track item) {\r\n\t\t\t\t\t\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t\t\t\t\t\t<span class=\"iconfont icon-main mr-1\"></span>\r\n\t\t\t\t\t\t\t\t\t<span>{{ item }}</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t@for (subItem of log.subContent; track subItem) {\r\n\t\t\t\t\t\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t\t\t\t\t\t<span class=\"ml-6\">{{ subItem }}</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>\r\n</div>\r\n", styles: [".log-panel{color:#334155}.log-item-user{font-size:13px}.log-item-time{color:#989ea6;font-size:11px}.log-item-unit{font-size:6px}:host ::ng-deep .p-avatar-lg{font-size:1rem;background:var(--p-primary-color);color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i2.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "style", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LogComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'custom-log', standalone: true, imports: [AvatarModule, DatePipe], providers: [DatePipe], template: "<div class=\"log-panel\">\r\n\t<div class=\"log-content\">\r\n\t\t@for (log of parsedLogs; track log) {\r\n\t\t\t<div class=\"log-item p-2\">\r\n\t\t\t\t<div class=\"log-item-header flex flex-row\">\r\n\t\t\t\t\t<p-avatar\r\n\t\t\t\t\t\t[label]=\"getLastTwoCharacters(log.operator)\"\r\n\t\t\t\t\t\tstyleClass=\"mr-2\"\r\n\t\t\t\t\t\tsize=\"large\" />\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<span class=\"px-2 font-semibold log-item-user\">{{ log.operator }}</span>\r\n\t\t\t\t\t\t\t<span class=\"log-item-time\">{{ log.createdAt | date: 'yyyy-MM-dd HH:mm:ss' : 'GMT' }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"px-2\">\r\n\t\t\t\t\t\t\t@for (item of log.content; track item) {\r\n\t\t\t\t\t\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t\t\t\t\t\t<span class=\"iconfont icon-main mr-1\"></span>\r\n\t\t\t\t\t\t\t\t\t<span>{{ item }}</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t@for (subItem of log.subContent; track subItem) {\r\n\t\t\t\t\t\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t\t\t\t\t\t<span class=\"ml-6\">{{ subItem }}</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>\r\n</div>\r\n", styles: [".log-panel{color:#334155}.log-item-user{font-size:13px}.log-item-time{color:#989ea6;font-size:11px}.log-item-unit{font-size:6px}:host ::ng-deep .p-avatar-lg{font-size:1rem;background:var(--p-primary-color);color:#fff}\n"] }]
36
+ }], ctorParameters: () => [{ type: i1.DatePipe }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS11aS9zcmMvbGliL2xvZy9sb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLXVpL3NyYy9saWIvbG9nL2xvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVUzQyxNQUFNLE9BQU8sWUFBWTtJQU14QixZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBTHRDLFNBQUksR0FBRyxLQUFLLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDdkIsT0FBRSxHQUFHLEtBQUssRUFBTyxDQUFDO1FBQ2xCLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFHbkIsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDbEIsT0FBTztZQUNSLENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzNCLE1BQU0sU0FBUyxHQUFRLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQztnQkFDbEMsU0FBUyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM5RCxTQUFTLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDMUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUFXO1FBQy9CLE9BQU8sR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7K0dBdkJXLFlBQVk7bUdBQVosWUFBWSx5U0FGYixDQUFDLFFBQVEsQ0FBQywwQkNYdEIsZ3ZDQWlDQSxvUkR6QlcsWUFBWSw4TkFBRSxRQUFROzs0RkFLcEIsWUFBWTtrQkFSeEIsU0FBUzsrQkFDQyxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxhQUd0QixDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdmF0YXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2F2YXRhcic7XHJcbmltcG9ydCB7IFRyYWNlTWVzc2FnZSB9IGZyb20gJy4uL2FtL2FtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnY3VzdG9tLWxvZycsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbQXZhdGFyTW9kdWxlLCBEYXRlUGlwZV0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2xvZy5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL2xvZy5jb21wb25lbnQuc2NzcycsXHJcblx0cHJvdmlkZXJzOiBbRGF0ZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9nQ29tcG9uZW50IHtcclxuXHRsb2dzID0gaW5wdXQ8VHJhY2VNZXNzYWdlW10+KFtdKTtcclxuXHRwYXJzZWRMb2dzOiBhbnlbXSA9IFtdO1xyXG5cdGlkID0gaW5wdXQ8YW55PigpO1xyXG5cdHRhcmdldHM6IGFueVtdID0gW107XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlKSB7XHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAoIXRoaXMubG9ncygpKSB7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMucGFyc2VkTG9ncyA9IFtdO1xyXG5cdFx0XHR0aGlzLmxvZ3MoKS5mb3JFYWNoKChsb2cpID0+IHtcclxuXHRcdFx0XHRjb25zdCBwYXJzZWRMb2c6IGFueSA9IHsgLi4ubG9nIH07XHJcblx0XHRcdFx0cGFyc2VkTG9nLmNvbnRlbnQgPSBsb2cuY29udGVudCA/IGxvZy5jb250ZW50LnNwbGl0KCc7JykgOiBbXTtcclxuXHRcdFx0XHRwYXJzZWRMb2cuc3ViQ29udGVudCA9IGxvZy5zdWJDb250ZW50ID8gbG9nLnN1YkNvbnRlbnQucmVwbGFjZSgvOyskLywgJycpLnNwbGl0KCc7JykgOiBbXTtcclxuXHRcdFx0XHR0aGlzLnBhcnNlZExvZ3MucHVzaChwYXJzZWRMb2cpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Z2V0TGFzdFR3b0NoYXJhY3RlcnMoc3RyOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiBzdHI/LnNsaWNlKC0yKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImxvZy1wYW5lbFwiPlxyXG5cdDxkaXYgY2xhc3M9XCJsb2ctY29udGVudFwiPlxyXG5cdFx0QGZvciAobG9nIG9mIHBhcnNlZExvZ3M7IHRyYWNrIGxvZykge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwibG9nLWl0ZW0gcC0yXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImxvZy1pdGVtLWhlYWRlciBmbGV4IGZsZXgtcm93XCI+XHJcblx0XHRcdFx0XHQ8cC1hdmF0YXJcclxuXHRcdFx0XHRcdFx0W2xhYmVsXT1cImdldExhc3RUd29DaGFyYWN0ZXJzKGxvZy5vcGVyYXRvcilcIlxyXG5cdFx0XHRcdFx0XHRzdHlsZUNsYXNzPVwibXItMlwiXHJcblx0XHRcdFx0XHRcdHNpemU9XCJsYXJnZVwiIC8+XHJcblx0XHRcdFx0XHQ8ZGl2PlxyXG5cdFx0XHRcdFx0XHQ8ZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwicHgtMiBmb250LXNlbWlib2xkIGxvZy1pdGVtLXVzZXJcIj57eyBsb2cub3BlcmF0b3IgfX08L3NwYW4+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJsb2ctaXRlbS10aW1lXCI+e3sgbG9nLmNyZWF0ZWRBdCB8IGRhdGU6ICd5eXl5LU1NLWRkIEhIOm1tOnNzJyA6ICdHTVQnIH19PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInB4LTJcIj5cclxuXHRcdFx0XHRcdFx0XHRAZm9yIChpdGVtIG9mIGxvZy5jb250ZW50OyB0cmFjayBpdGVtKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJpY29uZm9udCBpY29uLW1haW4gbXItMVwiPjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4+e3sgaXRlbSB9fTwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRAZm9yIChzdWJJdGVtIG9mIGxvZy5zdWJDb250ZW50OyB0cmFjayBzdWJJdGVtKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJtbC02XCI+e3sgc3ViSXRlbSB9fTwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,167 @@
1
+ import { UserHistoryService } from '../service/userHistory.service';
2
+ import { Component, inject, ViewChild, input, effect } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { FormComponent } from '../form/form/form.component';
5
+ import { RowSelectorComponent } from '../row-selector/row-selector.component';
6
+ import { LogComponent } from '../log/log.component';
7
+ import { ButtonModule } from 'primeng/button';
8
+ import { CrumbActionComponent } from '../crumb-action/crumb-action.component';
9
+ import { StepsComponent } from '../steps/steps.component';
10
+ import { GridComponent } from '../grid/grid/grid.component';
11
+ import { TabsModule } from 'primeng/tabs';
12
+ import { AmComponent, } from '../am/am.component';
13
+ import { Toast } from 'primeng/toast';
14
+ import { TranslatePipe } from '@ngx-translate/core';
15
+ import { I18nService } from '../service/i18n.service';
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "primeng/button";
18
+ import * as i2 from "@angular/forms";
19
+ import * as i3 from "primeng/tabs";
20
+ export class PageFormComponent extends AmComponent {
21
+ constructor() {
22
+ super();
23
+ this.gridList = input([]);
24
+ this.form = input.required({});
25
+ this.getPrmInput = input.required({});
26
+ this.statusSteps = input([]);
27
+ this.statusKey = input('status');
28
+ this.hrefBtnList = input([]);
29
+ this.setTitle = input();
30
+ this.actionList = input([]);
31
+ this.modelLog = input(false);
32
+ this.userHistoryService = inject(UserHistoryService);
33
+ this.indexValue = 0;
34
+ this.visible = false;
35
+ this.selectData = [];
36
+ this.pageUrl = '';
37
+ this.newUrl = '';
38
+ this.i18n = inject(I18nService);
39
+ this.id = Number(this.route.snapshot.paramMap.get('id'));
40
+ this.pageUrl = this.route.snapshot.url.map(segment => segment.path).join('/').replace(/([^\/]*)$/, "");
41
+ this.newUrl = `${this.pageUrl}new`;
42
+ effect(() => {
43
+ this.modelName = this.getPrmInput().modelName;
44
+ this.getPrm = { ...this.getPrmInput() };
45
+ this.id && (this.getPrm.id = this.id);
46
+ this.id && this.getDetail();
47
+ }, { allowSignalWrites: true });
48
+ effect(() => {
49
+ this.formOptions = { ...this.form() };
50
+ });
51
+ effect(() => {
52
+ this.isLog = this.modelLog();
53
+ console.log('model-----', this.isLog, this.modelLog());
54
+ }, { allowSignalWrites: true });
55
+ }
56
+ ngOnInit() {
57
+ this.upCb = this.upCb.bind(this);
58
+ }
59
+ submitForm() {
60
+ if (this.cForm.validate()) {
61
+ let cb = this.id === 0 ? null : this.upCb;
62
+ this.upsert(null, cb);
63
+ }
64
+ }
65
+ delRows(e) {
66
+ const gridTab = this.gridList()[this.indexValue];
67
+ const deleteFunc = gridTab.deleteFunc;
68
+ const subTable = gridTab.gridOptions.modelName;
69
+ let prm = {
70
+ modelName: subTable,
71
+ ids: e
72
+ };
73
+ if (!deleteFunc) {
74
+ this.web_remove(prm).subscribe((res) => {
75
+ this.get();
76
+ });
77
+ }
78
+ else {
79
+ deleteFunc().subscribe(() => {
80
+ this.get();
81
+ });
82
+ }
83
+ }
84
+ upCb(res) {
85
+ if (res.id == 0) {
86
+ this.getDetail();
87
+ }
88
+ else {
89
+ setTimeout(() => {
90
+ let editUrl = `${this.pageUrl}${res.id}`;
91
+ this.router.navigate([editUrl]);
92
+ }, 1500);
93
+ }
94
+ this.cForm.finalize();
95
+ }
96
+ // TODO 是否需要数据转换回调函数
97
+ onOk(e) {
98
+ this.gridList()[this.indexValue].selectData = [];
99
+ if (e.length > 0) {
100
+ let { selectDataCb } = this.gridList()[this.indexValue];
101
+ e.forEach((item) => {
102
+ let obj = selectDataCb ? selectDataCb(item) : { ...item };
103
+ this.gridList()[this.indexValue].selectData.push(obj);
104
+ });
105
+ }
106
+ }
107
+ getDetail() {
108
+ this.web_get(this.getPrm).subscribe(res => {
109
+ console.log("getPrm----", this.getPrm.data);
110
+ this.updateTitle(res);
111
+ });
112
+ }
113
+ updateTitle(res) {
114
+ // let title = this.setTitle() ? this.setTitle() : ''
115
+ // title !== '' && this.userHistoryService.setLastTitle(title)
116
+ let mainField = this.form().mainField;
117
+ let title = res[mainField];
118
+ this.userHistoryService.setLastTitle(title);
119
+ }
120
+ dataSourceShow() {
121
+ this.dialogSearchPrm = { ...this.gridList()[this.indexValue]['searchPrm'] };
122
+ this.selectOptions = this.gridList()[this.indexValue]['selectOptions'];
123
+ console.log('seletc-----', this.selectOptions);
124
+ this.dialogSearchPrm.modelName = this.selectOptions.modelName;
125
+ this.visible = true;
126
+ }
127
+ goRun(data) {
128
+ if (data.idKey) {
129
+ let id = this.getPrm.data[data.idKey];
130
+ this.router.navigate([`${data.url}/${id}`]);
131
+ }
132
+ else {
133
+ this.router.navigate([data.url]);
134
+ }
135
+ }
136
+ authClick(btn) {
137
+ console.log('authClick', btn);
138
+ if (btn.hasOwnProperty('onClick')) {
139
+ btn.onClick(this.getPrm.data);
140
+ }
141
+ }
142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PageFormComponent, isStandalone: true, selector: "app-page-form", inputs: { gridList: { classPropertyName: "gridList", publicName: "gridList", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, getPrmInput: { classPropertyName: "getPrmInput", publicName: "getPrmInput", isSignal: true, isRequired: true, transformFunction: null }, statusSteps: { classPropertyName: "statusSteps", publicName: "statusSteps", isSignal: true, isRequired: false, transformFunction: null }, statusKey: { classPropertyName: "statusKey", publicName: "statusKey", isSignal: true, isRequired: false, transformFunction: null }, hrefBtnList: { classPropertyName: "hrefBtnList", publicName: "hrefBtnList", isSignal: true, isRequired: false, transformFunction: null }, setTitle: { classPropertyName: "setTitle", publicName: "setTitle", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, modelLog: { classPropertyName: "modelLog", publicName: "modelLog", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], viewQueries: [{ propertyName: "customGrid", first: true, predicate: ["customGrid"], descendants: true }, { propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"overflow-hidden\">\r\n <div class=\"flex items-center justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n <app-crumb-action\r\n [newUrl]=\"newUrl\"\r\n [isShowCog]=\"true\"\r\n [outlined]=\"true\"\r\n (saveEvent)=\"submitForm()\">\r\n </app-crumb-action>\r\n <div class=\"hrefBtnList\">\r\n @if(id){\r\n @for(btn of hrefBtnList();track btn){\r\n <p-button \r\n [variant]=\"btn?.variant\" \r\n [severity]=\"btn?.severity\" \r\n class=\"mr-[6px]\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{btn.i18nKey? i18n.fanyi(btn.i18nKey) : btn.label}}\"\r\n (click)=\"goRun(btn)\"\r\n >\r\n </p-button>\r\n }\r\n }\r\n \r\n </div>\r\n <div></div>\r\n \r\n </div>\r\n <div class=\"flex\">\r\n <div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n <div class=\"md:basis-1/2 py-1 basis-full flex items-center gap-2 flex-row order-1\">\r\n @for (btn of actionList();let i = $index; track btn) {\r\n <p-button\r\n [variant]=\"btn?.variant\"\r\n [severity]=\"btn?.severity\"\r\n class=\"mr-[4px]\"\r\n size=\"small\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{ btn.i18nKey ? (btn.i18nKey | translate) : btn.label }}\"\r\n (click)=\"authClick(btn)\"\r\n [disabled]=\"btn.btnDisabled ? btn.btnDisabled(getPrm.data) : false\"\r\n >\r\n </p-button>\r\n }\r\n </div>\r\n \r\n <div class=\"md:basis-1/2 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first\">\r\n <custom-steps\r\n [steps]=\"statusSteps()\"\r\n [current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"></custom-steps>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"main flex flex-wrap overflow-y-hidden\">\r\n <div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n <div class=\"bg-white mx-2 form-panel\">\r\n <div class=\"p-2 flex-1\">\r\n <form\r\n [formGroup]=\"form().form!\">\r\n <custom-form\r\n #cForm\r\n [options]=\"formOptions\"\r\n [upsert]=\"upsertPrm\"\r\n [model]=\"getPrm.data??{}\"></custom-form>\r\n </form>\r\n </div>\r\n @if(gridList() && gridList().length > 1){\r\n <div class=\"relative mb-2\">\r\n <p-tabs [(value)]=\"indexValue\">\r\n <p-tablist>\r\n @for (fchild of gridList();let i = $index; track fchild) {\r\n <p-tab [value]=\"i\">\r\n {{fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title}}\r\n </p-tab>\r\n }\r\n </p-tablist>\r\n </p-tabs>\r\n </div>\r\n }\r\n @for (grid of gridList(); let i = $index;track grid) {\r\n <custom-grid\r\n #customGrid\r\n [hidden]=\"indexValue !=i \"\r\n [rowData]=\"getPrm.data?.[grid.subDataKey!]|| []\"\r\n [upsert]=\"upsertPrm\"\r\n (deleteEmit)=\"delRows($event)\"\r\n [addType]=\"grid.subTableSource\"\r\n (addEmit)=\"dataSourceShow()\"\r\n [gridOptions]=\"grid.gridOptions\"\r\n [selectData]=\"grid.selectData\">\r\n </custom-grid>\r\n } \r\n </div>\r\n </div>\r\n <div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n <custom-log [logs]=\"getPrm.data?.log??[]\"></custom-log>\r\n </div>\r\n </div>\r\n</div>\r\n<p-toast />\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>\r\n", styles: ["@charset \"UTF-8\";: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}.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}.form-panel{border:solid 1px #dbdbdb}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.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 }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormComponent, selector: "custom-form", inputs: ["options", "model", "upsert"] }, { kind: "component", type: LogComponent, selector: "custom-log", inputs: ["logs", "id"] }, { kind: "component", type: CrumbActionComponent, selector: "app-crumb-action", inputs: ["isShowCog", "newUrl", "outlined", "isList"], outputs: ["saveEvent", "cancelEvent", "listActEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["steps", "current"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos"], outputs: ["searchPrmChange", "deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3.TabList, selector: "p-tablist" }, { kind: "component", type: i3.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { 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: "component", type: RowSelectorComponent, selector: "row-selector", inputs: ["title", "gridOptions", "searchPrm", "visible"], outputs: ["onOk", "visibleChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
144
+ }
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, decorators: [{
146
+ type: Component,
147
+ args: [{ selector: 'app-page-form', standalone: true, imports: [
148
+ ButtonModule,
149
+ ReactiveFormsModule,
150
+ FormComponent,
151
+ LogComponent,
152
+ CrumbActionComponent,
153
+ StepsComponent,
154
+ GridComponent,
155
+ TabsModule,
156
+ Toast,
157
+ RowSelectorComponent,
158
+ TranslatePipe
159
+ ], providers: [], template: "<div class=\"overflow-hidden\">\r\n <div class=\"flex items-center justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n <app-crumb-action\r\n [newUrl]=\"newUrl\"\r\n [isShowCog]=\"true\"\r\n [outlined]=\"true\"\r\n (saveEvent)=\"submitForm()\">\r\n </app-crumb-action>\r\n <div class=\"hrefBtnList\">\r\n @if(id){\r\n @for(btn of hrefBtnList();track btn){\r\n <p-button \r\n [variant]=\"btn?.variant\" \r\n [severity]=\"btn?.severity\" \r\n class=\"mr-[6px]\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{btn.i18nKey? i18n.fanyi(btn.i18nKey) : btn.label}}\"\r\n (click)=\"goRun(btn)\"\r\n >\r\n </p-button>\r\n }\r\n }\r\n \r\n </div>\r\n <div></div>\r\n \r\n </div>\r\n <div class=\"flex\">\r\n <div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n <div class=\"md:basis-1/2 py-1 basis-full flex items-center gap-2 flex-row order-1\">\r\n @for (btn of actionList();let i = $index; track btn) {\r\n <p-button\r\n [variant]=\"btn?.variant\"\r\n [severity]=\"btn?.severity\"\r\n class=\"mr-[4px]\"\r\n size=\"small\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{ btn.i18nKey ? (btn.i18nKey | translate) : btn.label }}\"\r\n (click)=\"authClick(btn)\"\r\n [disabled]=\"btn.btnDisabled ? btn.btnDisabled(getPrm.data) : false\"\r\n >\r\n </p-button>\r\n }\r\n </div>\r\n \r\n <div class=\"md:basis-1/2 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first\">\r\n <custom-steps\r\n [steps]=\"statusSteps()\"\r\n [current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"></custom-steps>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"main flex flex-wrap overflow-y-hidden\">\r\n <div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n <div class=\"bg-white mx-2 form-panel\">\r\n <div class=\"p-2 flex-1\">\r\n <form\r\n [formGroup]=\"form().form!\">\r\n <custom-form\r\n #cForm\r\n [options]=\"formOptions\"\r\n [upsert]=\"upsertPrm\"\r\n [model]=\"getPrm.data??{}\"></custom-form>\r\n </form>\r\n </div>\r\n @if(gridList() && gridList().length > 1){\r\n <div class=\"relative mb-2\">\r\n <p-tabs [(value)]=\"indexValue\">\r\n <p-tablist>\r\n @for (fchild of gridList();let i = $index; track fchild) {\r\n <p-tab [value]=\"i\">\r\n {{fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title}}\r\n </p-tab>\r\n }\r\n </p-tablist>\r\n </p-tabs>\r\n </div>\r\n }\r\n @for (grid of gridList(); let i = $index;track grid) {\r\n <custom-grid\r\n #customGrid\r\n [hidden]=\"indexValue !=i \"\r\n [rowData]=\"getPrm.data?.[grid.subDataKey!]|| []\"\r\n [upsert]=\"upsertPrm\"\r\n (deleteEmit)=\"delRows($event)\"\r\n [addType]=\"grid.subTableSource\"\r\n (addEmit)=\"dataSourceShow()\"\r\n [gridOptions]=\"grid.gridOptions\"\r\n [selectData]=\"grid.selectData\">\r\n </custom-grid>\r\n } \r\n </div>\r\n </div>\r\n <div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n <custom-log [logs]=\"getPrm.data?.log??[]\"></custom-log>\r\n </div>\r\n </div>\r\n</div>\r\n<p-toast />\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>\r\n", styles: ["@charset \"UTF-8\";: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}.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}.form-panel{border:solid 1px #dbdbdb}\n"] }]
160
+ }], ctorParameters: () => [], propDecorators: { customGrid: [{
161
+ type: ViewChild,
162
+ args: ['customGrid']
163
+ }], cForm: [{
164
+ type: ViewChild,
165
+ args: ['cForm']
166
+ }] } });
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS11aS9zcmMvbGliL3BhZ2UtZm9ybS9wYWdlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLXVpL3NyYy9saWIvcGFnZS1mb3JtL3BhZ2UtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLDZCQUE2QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBTyxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQWUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEdBQVEsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFP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UUFDN0MsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQU87UUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBQyxHQUFHLENBQUMsQ0FBQTtRQUM1QixJQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQztZQUNoQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDL0IsQ0FBQztJQUNILENBQUM7K0dBbElVLGlCQUFpQjttR0FBakIsaUJBQWlCLHV1Q0FGbEIsRUFBRSw0T0NwQ2QseTFIQXlHQSwydUxEbkZJLFlBQVksaWJBQ1osbUJBQW1CLHFiQUNuQixhQUFhLGdHQUNiLFlBQVksK0VBQ1osb0JBQW9CLDJLQUNwQixjQUFjLHVGQUNkLGFBQWEsdU5BQ2IsVUFBVSw0WEFDVixLQUFLLGlVQUNMLG9CQUFvQixrSkFDcEIsYUFBYTs7NEZBTUosaUJBQWlCO2tCQXBCN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixLQUFLO3dCQUNMLG9CQUFvQjt3QkFDcEIsYUFBYTtxQkFDZCxhQUdTLEVBQUU7d0RBYWEsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNILEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJIaXN0b3J5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvdXNlckhpc3Rvcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQsIFZpZXdDaGlsZCwgaW5wdXQsIGVmZmVjdCwgY29tcHV0ZWQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQsRm9ybU9wdGlvbnMgfSBmcm9tICcuLi9mb3JtL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb3dTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL3Jvdy1zZWxlY3Rvci9yb3ctc2VsZWN0b3IuY29tcG9uZW50J1xyXG5pbXBvcnQgeyBMb2dDb21wb25lbnQgfSBmcm9tICcuLi9sb2cvbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcclxuaW1wb3J0IHsgQ3J1bWJBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9jcnVtYi1hY3Rpb24vY3J1bWItYWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0ZXBzQ29tcG9uZW50LFN0ZXAgfSBmcm9tICcuLi9zdGVwcy9zdGVwcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcmlkQ29tcG9uZW50LCBHcmlkT3B0aW9ucyB9IGZyb20gJy4uL2dyaWQvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYnNNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYnMnO1xyXG5pbXBvcnQgeyBBbUNvbXBvbmVudCwgR2V0LCB9IGZyb20gJy4uL2FtL2FtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0IH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XHJcbmltcG9ydCB7IFNlYXJjaCB9IGZyb20gJy4uL2FtL2FtLmNvbXBvbmVudCdcclxuaW1wb3J0IHsgSHJlZkJ0bkxpc3QsR3JpZExpc3QgfSBmcm9tICcuL3BhZ2UtZm9ybS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9pMThuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uQnRuIH0gZnJvbSAnLi9wYWdlLWZvcm0uaW50ZXJmYWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGFnZS1mb3JtJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtQ29tcG9uZW50LFxyXG4gICAgTG9nQ29tcG9uZW50LFxyXG4gICAgQ3J1bWJBY3Rpb25Db21wb25lbnQsXHJcbiAgICBTdGVwc0NvbXBvbmVudCxcclxuICAgIEdyaWRDb21wb25lbnQsXHJcbiAgICBUYWJzTW9kdWxlLFxyXG4gICAgVG9hc3QsXHJcbiAgICBSb3dTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIFRyYW5zbGF0ZVBpcGVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wYWdlLWZvcm0uY29tcG9uZW50LnNjc3MnLFxyXG4gIHByb3ZpZGVyczpbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZUZvcm1Db21wb25lbnQgZXh0ZW5kcyBBbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBncmlkTGlzdCA9IGlucHV0PEdyaWRMaXN0W10+KFtdKVxyXG4gIGZvcm0gPSBpbnB1dC5yZXF1aXJlZDxGb3JtT3B0aW9ucz4oe30pXHJcbiAgZ2V0UHJtSW5wdXQgPSBpbnB1dC5yZXF1aXJlZDxHZXQ+KHt9KVxyXG4gIHN0YXR1c1N0ZXBzID0gaW5wdXQ8U3RlcFtdPihbXSlcclxuICBzdGF0dXNLZXkgPSBpbnB1dCgnc3RhdHVzJylcclxuICBocmVmQnRuTGlzdCA9IGlucHV0PEhyZWZCdG5MaXN0W10+KFtdKVxyXG4gIHNldFRpdGxlID0gaW5wdXQ8c3RyaW5nPigpXHJcbiAgYWN0aW9uTGlzdCA9IGlucHV0PFBlcm1pc3Npb25CdG5bXT4oW10pXHJcbiAgbW9kZWxMb2cgPSBpbnB1dDxib29sZWFuPihmYWxzZSlcclxuXHJcbiAgQFZpZXdDaGlsZCgnY3VzdG9tR3JpZCcpIGN1c3RvbUdyaWQhOiBHcmlkQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2NGb3JtJykgY0Zvcm0hOiBGb3JtQ29tcG9uZW50XHJcbiAgdXNlckhpc3RvcnlTZXJ2aWNlID0gIGluamVjdChVc2VySGlzdG9yeVNlcnZpY2UpXHJcbiAgaW5kZXhWYWx1ZSA9IDBcclxuICB2aXNpYmxlID0gZmFsc2VcclxuICBkaWFsb2dTZWFyY2hQcm0hOiBTZWFyY2hcclxuICBzZWxlY3RPcHRpb25zITpHcmlkT3B0aW9uc1xyXG4gIHNlbGVjdERhdGEgOmFueVtdPSBbXVxyXG4gIHBhZ2VVcmwgPSAnJ1xyXG4gIG5ld1VybCA9ICcnXHJcbiAgaTE4biA9IGluamVjdChJMThuU2VydmljZSlcclxuICBjb25zdHJ1Y3Rvcigpe1xyXG4gICAgc3VwZXIoKVxyXG4gICAgdGhpcy5pZCA9IE51bWJlcih0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSlcclxuICAgIHRoaXMucGFnZVVybCA9IHRoaXMucm91dGUuc25hcHNob3QudXJsLm1hcChzZWdtZW50ID0+IHNlZ21lbnQucGF0aCkuam9pbignLycpLnJlcGxhY2UoLyhbXlxcL10qKSQvLCBcIlwiKVxyXG4gICAgdGhpcy5uZXdVcmwgPSBgJHt0aGlzLnBhZ2VVcmx9bmV3YFxyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgdGhpcy5tb2RlbE5hbWUgPSB0aGlzLmdldFBybUlucHV0KCkubW9kZWxOYW1lIVxyXG4gICAgICB0aGlzLmdldFBybSA9IHsuLi50aGlzLmdldFBybUlucHV0KCl9XHJcbiAgICAgIHRoaXMuaWQgJiYgKHRoaXMuZ2V0UHJtLmlkID0gdGhpcy5pZClcclxuICAgICAgdGhpcy5pZCAmJiB0aGlzLmdldERldGFpbCgpXHJcbiAgICB9LHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSlcclxuXHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvcm1PcHRpb25zID0gey4uLnRoaXMuZm9ybSgpfVxyXG4gICAgfSlcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNMb2cgPSB0aGlzLm1vZGVsTG9nKClcclxuICAgICAgY29uc29sZS5sb2coJ21vZGVsLS0tLS0nLHRoaXMuaXNMb2csdGhpcy5tb2RlbExvZygpKVxyXG4gICAgfSx7YWxsb3dTaWduYWxXcml0ZXM6dHJ1ZX0pXHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51cENiID0gdGhpcy51cENiLmJpbmQodGhpcylcclxuICB9XHJcblxyXG4gIHN1Ym1pdEZvcm0oKSA6YW55e1xyXG4gICAgaWYodGhpcy5jRm9ybS52YWxpZGF0ZSgpKXtcclxuICAgICAgbGV0IGNiOmFueSA9IHRoaXMuaWQgPT09IDAgPyBudWxsIDogdGhpcy51cENiXHJcbiAgICAgIHRoaXMudXBzZXJ0KG51bGwsY2IpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWxSb3dzKGU6YW55KSB7XHJcbiAgICBjb25zdCBncmlkVGFiID0gdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV1cclxuICAgIGNvbnN0IGRlbGV0ZUZ1bmMgPSBncmlkVGFiLmRlbGV0ZUZ1bmNcclxuICAgIGNvbnN0IHN1YlRhYmxlID0gZ3JpZFRhYi5ncmlkT3B0aW9ucy5tb2RlbE5hbWU7XHJcblxyXG4gICAgbGV0IHBybSA9IHsgXHJcbiAgICAgIG1vZGVsTmFtZTogc3ViVGFibGUsIFxyXG4gICAgICBpZHM6ZSBcclxuICAgIH07XHJcbiAgICBpZighZGVsZXRlRnVuYyl7XHJcbiAgICAgIHRoaXMud2ViX3JlbW92ZShwcm0pLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5nZXQoKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkZWxldGVGdW5jKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmdldCgpXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbiAgdXBDYihyZXM/OmFueSl7XHJcbiAgICBpZihyZXMuaWQgPT0gMCl7XHJcbiAgICAgIHRoaXMuZ2V0RGV0YWlsKClcclxuICAgIH1lbHNlIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgbGV0IGVkaXRVcmwgPSBgJHt0aGlzLnBhZ2VVcmx9JHtyZXMuaWR9YFxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtlZGl0VXJsXSlcclxuICAgICAgfSwgMTUwMClcclxuICAgIH1cclxuICAgIHRoaXMuY0Zvcm0uZmluYWxpemUoKVxyXG4gIH1cclxuICAvLyBUT0RPIOaYr+WQpumcgOimgeaVsOaNrui9rOaNouWbnuiwg+WHveaVsFxyXG4gIG9uT2soZTphbnkpe1xyXG4gICAgdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV0uc2VsZWN0RGF0YSA9IFtdXHJcbiAgICBpZihlLmxlbmd0aCA+IDApe1xyXG4gICAgICBsZXQgeyBzZWxlY3REYXRhQ2IgfSA9IHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdXHJcbiAgICAgIGUuZm9yRWFjaCgoaXRlbTphbnkpID0+IHtcclxuICAgICAgICBsZXQgb2JqID0gc2VsZWN0RGF0YUNiID8gc2VsZWN0RGF0YUNiKGl0ZW0pOiB7Li4uaXRlbX1cclxuICAgICAgICB0aGlzLmdyaWRMaXN0KClbdGhpcy5pbmRleFZhbHVlXS5zZWxlY3REYXRhIS5wdXNoKG9iailcclxuICAgICAgfSlcclxuICAgIH0gXHJcbiAgfVxyXG4gIGdldERldGFpbCgpe1xyXG4gICAgdGhpcy53ZWJfZ2V0KHRoaXMuZ2V0UHJtKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgY29uc29sZS5sb2coXCJnZXRQcm0tLS0tXCIsdGhpcy5nZXRQcm0uZGF0YSlcclxuICAgICAgdGhpcy51cGRhdGVUaXRsZShyZXMpXHJcbiAgICB9KVxyXG4gIH1cclxuICB1cGRhdGVUaXRsZShyZXM6YW55KXtcclxuICAgIC8vIGxldCB0aXRsZSA9IHRoaXMuc2V0VGl0bGUoKSA/IHRoaXMuc2V0VGl0bGUoKSA6ICcnXHJcbiAgICAvLyB0aXRsZSAhPT0gJycgJiYgdGhpcy51c2VySGlzdG9yeVNlcnZpY2Uuc2V0TGFzdFRpdGxlKHRpdGxlKVxyXG4gICAgbGV0IG1haW5GaWVsZCA9IHRoaXMuZm9ybSgpLm1haW5GaWVsZFxyXG4gICAgbGV0IHRpdGxlID0gcmVzW21haW5GaWVsZCFdXHJcbiAgICB0aGlzLnVzZXJIaXN0b3J5U2VydmljZS5zZXRMYXN0VGl0bGUodGl0bGUpXHJcbiAgfVxyXG4gIGRhdGFTb3VyY2VTaG93KCl7XHJcbiAgICB0aGlzLmRpYWxvZ1NlYXJjaFBybSA9IHsuLi50aGlzLmdyaWRMaXN0KClbdGhpcy5pbmRleFZhbHVlXVsnc2VhcmNoUHJtJ10hfVxyXG4gICAgdGhpcy5zZWxlY3RPcHRpb25zID0gdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV1bJ3NlbGVjdE9wdGlvbnMnXSFcclxuICAgIGNvbnNvbGUubG9nKCdzZWxldGMtLS0tLScsdGhpcy5zZWxlY3RPcHRpb25zKVxyXG4gICAgdGhpcy5kaWFsb2dTZWFyY2hQcm0ubW9kZWxOYW1lID0gdGhpcy5zZWxlY3RPcHRpb25zLm1vZGVsTmFtZVxyXG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZVxyXG4gIH1cclxuXHJcbiAgZ29SdW4oZGF0YTphbnkpe1xyXG4gICAgaWYoZGF0YS5pZEtleSl7XHJcbiAgICAgIGxldCBpZCA9IHRoaXMuZ2V0UHJtLmRhdGFbZGF0YS5pZEtleV1cclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Ake2RhdGEudXJsfS8ke2lkfWBdKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2RhdGEudXJsXSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGF1dGhDbGljayhidG46YW55KXtcclxuICAgIGNvbnNvbGUubG9nKCdhdXRoQ2xpY2snLGJ0bilcclxuICAgIGlmKGJ0bi5oYXNPd25Qcm9wZXJ0eSgnb25DbGljaycpKXtcclxuICAgICAgYnRuLm9uQ2xpY2sodGhpcy5nZXRQcm0uZGF0YSlcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm92ZXJmbG93LWhpZGRlblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMSBweC0xIGJvcmRlci1iLVsxcHhdIGJvcmRlci1bI2RiZGJkYl0gYmctd2hpdGVcIj5cclxuICAgIDxhcHAtY3J1bWItYWN0aW9uXHJcbiAgICAgIFtuZXdVcmxdPVwibmV3VXJsXCJcclxuICAgICAgW2lzU2hvd0NvZ109XCJ0cnVlXCJcclxuICAgICAgW291dGxpbmVkXT1cInRydWVcIlxyXG4gICAgICAoc2F2ZUV2ZW50KT1cInN1Ym1pdEZvcm0oKVwiPlxyXG4gICAgPC9hcHAtY3J1bWItYWN0aW9uPlxyXG4gICAgPGRpdiBjbGFzcz1cImhyZWZCdG5MaXN0XCI+XHJcbiAgICAgIEBpZihpZCl7XHJcbiAgICAgICAgQGZvcihidG4gb2YgaHJlZkJ0bkxpc3QoKTt0cmFjayBidG4pe1xyXG4gICAgICAgICAgPHAtYnV0dG9uIFxyXG4gICAgICAgICAgICBbdmFyaWFudF09XCJidG4/LnZhcmlhbnRcIiBcclxuICAgICAgICAgICAgW3NldmVyaXR5XT1cImJ0bj8uc2V2ZXJpdHlcIiBcclxuICAgICAgICAgICAgY2xhc3M9XCJtci1bNnB4XVwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImJ0bj8uaWNvblwiXHJcbiAgICAgICAgICAgIGxhYmVsPVwie3tidG4uaTE4bktleT8gaTE4bi5mYW55aShidG4uaTE4bktleSkgOiBidG4ubGFiZWx9fVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJnb1J1bihidG4pXCJcclxuICAgICAgICAgID5cclxuICAgICAgICA8L3AtYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdj48L2Rpdj5cclxuICAgIFxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHgtMiBmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgbWQ6YmFzaXMtMi8zIGJhc2lzLWZ1bGxcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1kOmJhc2lzLTEvMiBweS0xIGJhc2lzLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgZmxleC1yb3cgb3JkZXItMVwiPlxyXG4gICAgICAgIEBmb3IgKGJ0biBvZiBhY3Rpb25MaXN0KCk7bGV0IGkgPSAkaW5kZXg7IHRyYWNrIGJ0bikge1xyXG4gICAgICAgICAgPHAtYnV0dG9uXHJcbiAgICAgICAgICAgIFt2YXJpYW50XT1cImJ0bj8udmFyaWFudFwiXHJcbiAgICAgICAgICAgIFtzZXZlcml0eV09XCJidG4/LnNldmVyaXR5XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtci1bNHB4XVwiXHJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImJ0bj8uaWNvblwiXHJcbiAgICAgICAgICAgIGxhYmVsPVwie3sgYnRuLmkxOG5LZXkgPyAoYnRuLmkxOG5LZXkgfCB0cmFuc2xhdGUpIDogYnRuLmxhYmVsIH19XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImF1dGhDbGljayhidG4pXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImJ0bi5idG5EaXNhYmxlZCA/IGJ0bi5idG5EaXNhYmxlZChnZXRQcm0uZGF0YSkgOiBmYWxzZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvcC1idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgPGRpdiBjbGFzcz1cIm1kOmJhc2lzLTEvMiBiYXNpcy1mdWxsIGZsZXggbWQ6ZmxleC1yb3ctcmV2ZXJzZSBmbGV4LXJvdyBtZDpvcmRlci0yIG9yZGVyLWZpcnN0XCI+XHJcbiAgICAgICAgPGN1c3RvbS1zdGVwc1xyXG4gICAgICAgICAgW3N0ZXBzXT1cInN0YXR1c1N0ZXBzKClcIlxyXG4gICAgICAgICAgW2N1cnJlbnRdPVwiZ2V0UHJtLmRhdGEgJiYgZ2V0UHJtLmRhdGFbc3RhdHVzS2V5KCldICE9PSB1bmRlZmluZWQgPyBnZXRQcm0uZGF0YVtzdGF0dXNLZXkoKV0gOiAwXCI+PC9jdXN0b20tc3RlcHM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1haW4gZmxleCBmbGV4LXdyYXAgb3ZlcmZsb3cteS1oaWRkZW5cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtZDpiYXNpcy0yLzMgYmFzaXMtZnVsbCBoLWZ1bGwgb3ZlcmZsb3cteS1hdXRvXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiZy13aGl0ZSBteC0yIGZvcm0tcGFuZWxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicC0yIGZsZXgtMVwiPlxyXG4gICAgICAgICAgPGZvcm1cclxuICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtKCkuZm9ybSFcIj5cclxuICAgICAgICAgICAgPGN1c3RvbS1mb3JtXHJcbiAgICAgICAgICAgICAgI2NGb3JtXHJcbiAgICAgICAgICAgICAgW29wdGlvbnNdPVwiZm9ybU9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgIFt1cHNlcnRdPVwidXBzZXJ0UHJtXCJcclxuICAgICAgICAgICAgICBbbW9kZWxdPVwiZ2V0UHJtLmRhdGE/P3t9XCI+PC9jdXN0b20tZm9ybT5cclxuICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBAaWYoZ3JpZExpc3QoKSAmJiBncmlkTGlzdCgpLmxlbmd0aCA+IDEpe1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIG1iLTJcIj5cclxuICAgICAgICAgICAgPHAtdGFicyBbKHZhbHVlKV09XCJpbmRleFZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgPHAtdGFibGlzdD5cclxuICAgICAgICAgICAgICAgIEBmb3IgKGZjaGlsZCBvZiBncmlkTGlzdCgpO2xldCBpID0gJGluZGV4OyB0cmFjayBmY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgPHAtdGFiIFt2YWx1ZV09XCJpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tmY2hpbGQuaTE4bktleSA/IGkxOG4uZmFueWkoZmNoaWxkLmkxOG5LZXkpIDogZmNoaWxkLnRpdGxlfX1cclxuICAgICAgICAgICAgICAgICAgPC9wLXRhYj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L3AtdGFibGlzdD5cclxuICAgICAgICAgICAgPC9wLXRhYnM+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGZvciAoZ3JpZCBvZiBncmlkTGlzdCgpOyBsZXQgaSA9ICRpbmRleDt0cmFjayBncmlkKSB7XHJcbiAgICAgICAgICA8Y3VzdG9tLWdyaWRcclxuICAgICAgICAgICAgI2N1c3RvbUdyaWRcclxuICAgICAgICAgICAgW2hpZGRlbl09XCJpbmRleFZhbHVlICE9aSBcIlxyXG4gICAgICAgICAgICBbcm93RGF0YV09XCJnZXRQcm0uZGF0YT8uW2dyaWQuc3ViRGF0YUtleSFdfHwgW11cIlxyXG4gICAgICAgICAgICBbdXBzZXJ0XT1cInVwc2VydFBybVwiXHJcbiAgICAgICAgICAgIChkZWxldGVFbWl0KT1cImRlbFJvd3MoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFthZGRUeXBlXT1cImdyaWQuc3ViVGFibGVTb3VyY2VcIlxyXG4gICAgICAgICAgICAoYWRkRW1pdCk9XCJkYXRhU291cmNlU2hvdygpXCJcclxuICAgICAgICAgICAgW2dyaWRPcHRpb25zXT1cImdyaWQuZ3JpZE9wdGlvbnNcIlxyXG4gICAgICAgICAgICBbc2VsZWN0RGF0YV09XCJncmlkLnNlbGVjdERhdGFcIj5cclxuICAgICAgICAgIDwvY3VzdG9tLWdyaWQ+XHJcbiAgICAgICAgfSAgICAgICBcclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJtZDpiYXNpcy0xLzMgYmFzaXMtZnVsbCBoLWZ1bGwgb3ZlcmZsb3cteS1hdXRvXCI+XHJcbiAgICAgIDxjdXN0b20tbG9nIFtsb2dzXT1cImdldFBybS5kYXRhPy5sb2c/P1tdXCI+PC9jdXN0b20tbG9nPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48cC10b2FzdCAvPlxyXG48cm93LXNlbGVjdG9yXHJcblx0Wyh2aXNpYmxlKV09XCJ2aXNpYmxlXCJcclxuXHRbc2VhcmNoUHJtXT1cImRpYWxvZ1NlYXJjaFBybVwiXHJcblx0W2dyaWRPcHRpb25zXT1cInNlbGVjdE9wdGlvbnNcIlxyXG5cdChvbk9rKT1cIm9uT2soJGV2ZW50KVwiPlxyXG48L3Jvdy1zZWxlY3Rvcj5cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS11aS9zcmMvbGliL3BhZ2UtZm9ybS9wYWdlLWZvcm0uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHcmlkT3B0aW9ucyB9IGZyb20gJy4uL2dyaWQvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaCB9IGZyb20gXCIuLi9hbS9hbS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcInByaW1lbmcvYnV0dG9uXCI7XHJcbmV4cG9ydCBpbnRlcmZhY2UgSHJlZkJ0bkxpc3QgZXh0ZW5kcyBQYXJ0aWFsPEJ1dHRvbj57XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGkxOG5LZXk/OiBzdHJpbmc7XHJcbiAgaWRLZXk/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQZXJtaXNzaW9uQnRuIGV4dGVuZHMgUGFydGlhbDxCdXR0b24+e1xyXG4gIGF1dGg6IHN0cmluZztcclxuICBjbGljazogRnVuY3Rpb247XHJcbiAgYnRuRGlzYWJsZWQ/OiBGdW5jdGlvbjtcclxuICBpMThuS2V5Pzogc3RyaW5nO1xyXG4gIC8vIGRpc2FibGVkOiBGdW5jdGlvblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRMaXN0IHtcclxuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XHJcbiAgc3ViVGFibGU6IHN0cmluZztcclxuICBzdWJUYWJsZVNvdXJjZT86ICdoYW5kbGUnIHwgJ3NlbGVjdCc7XHJcbiAgc2VsZWN0T3B0aW9ucz86IEdyaWRPcHRpb25zO1xyXG4gIHN1YkRhdGFLZXk6IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBpMThuS2V5PzpzdHJpbmc7XHJcbiAgc2VsZWN0RGF0YUNiPzogRnVuY3Rpb247XHJcbiAgc2VhcmNoUHJtPzogU2VhcmNoO1xyXG4gIGRlbGV0ZUZ1bmM/OiBGdW5jdGlvbixcclxuICBzZWxlY3REYXRhPzphbnlbXVxyXG59Il19