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