aril 0.1.21 → 0.1.22
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/esm2022/ui/business-components/assetPicker/src/asset-picker.component.mjs +28 -23
- package/esm2022/ui/business-components/assetPicker/src/interface.mjs +1 -2
- package/esm2022/ui/img-viewer/aril-ui-img-viewer.mjs +5 -0
- package/esm2022/ui/img-viewer/index.mjs +2 -0
- package/esm2022/ui/img-viewer/src/img-viewer.component.mjs +57 -0
- package/esm2022/ui/selectBox/src/select-box.component.mjs +10 -3
- package/esm2022/ui/userPicker/src/user-picker.component.mjs +3 -3
- package/esm2022/ui/value/src/value.component.mjs +3 -3
- package/fesm2022/aril-ui-business-components-assetPicker.mjs +27 -22
- package/fesm2022/aril-ui-business-components-assetPicker.mjs.map +1 -1
- package/fesm2022/aril-ui-img-viewer.mjs +64 -0
- package/fesm2022/aril-ui-img-viewer.mjs.map +1 -0
- package/fesm2022/aril-ui-selectBox.mjs +9 -2
- package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
- package/fesm2022/aril-ui-userPicker.mjs +2 -2
- package/fesm2022/aril-ui-userPicker.mjs.map +1 -1
- package/fesm2022/aril-ui-value.mjs +2 -2
- package/fesm2022/aril-ui-value.mjs.map +1 -1
- package/package.json +71 -65
- package/ui/business-components/assetPicker/src/asset-picker.component.d.ts +7 -7
- package/ui/business-components/assetPicker/src/interface.d.ts +21 -9
- package/ui/img-viewer/index.d.ts +1 -0
- package/ui/img-viewer/src/img-viewer.component.d.ts +13 -0
- package/ui/selectBox/src/select-box.component.d.ts +2 -0
|
@@ -92,10 +92,10 @@ export class ValueComponent {
|
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ValueComponent, deps: [{ token: i1.DialogService }, { token: i2.TranslocoService }, { token: i3.SelectionGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
95
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ValueComponent, isStandalone: true, selector: "aril-value", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, isClickable: { classPropertyName: "isClickable", publicName: "isClickable", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, isTextClamp: { classPropertyName: "isTextClamp", publicName: "isTextClamp", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeDisplayName: { classPropertyName: "arrayTypeDisplayName", publicName: "arrayTypeDisplayName", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeMaxBadgeCount: { classPropertyName: "arrayTypeMaxBadgeCount", publicName: "arrayTypeMaxBadgeCount", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DialogService], ngImport: i0, template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (enumSelectionDisplay() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\"></aril-badge>\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track $index) {\r\n\t\t\t<aril-badge [background]=\"color()\" [value]=\"getArrayItemValue(item)\" styleClass=\"m-2 mb-4\"></aril-badge>\r\n\t\t}\r\n\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-ellipsis-h mt-4 ml-3\"\r\n\t\t\t\tstyle=\"color: rgb(60, 60, 230)\"\r\n\t\t\t\t[pTooltip]=\"\r\n\t\t\t\t\tmodel().length - arrayTypeMaxBadgeCount() + ' ' + this.translocoService.translate('validations.moreItems')\r\n\t\t\t\t\"\r\n\t\t\t\t(click)=\"showArrayItemsDialog()\">\r\n\t\t\t</i>\r\n\t\t}\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span\r\n\t\t\t\t[pTooltip]=\"isTextClamp() ? display()?.toString() : ''\"\r\n\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\r\n\t\t\t\t{{( isTextClamp() && display().length > 15) ? display().substr(0, 14 )+'...' : display() }}\r\n\t\t\t</span>\r\n\t\t}\r\n\t}\r\n}\r\n", dependencies: [{ kind: "component", type: BadgeComponent, selector: "aril-badge", inputs: ["icon", "value", "severity", "rounded", "background", "styleClass"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TranslocoModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
95
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ValueComponent, isStandalone: true, selector: "aril-value", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, isClickable: { classPropertyName: "isClickable", publicName: "isClickable", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, isTextClamp: { classPropertyName: "isTextClamp", publicName: "isTextClamp", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeDisplayName: { classPropertyName: "arrayTypeDisplayName", publicName: "arrayTypeDisplayName", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeMaxBadgeCount: { classPropertyName: "arrayTypeMaxBadgeCount", publicName: "arrayTypeMaxBadgeCount", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DialogService], ngImport: i0, template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (enumSelectionDisplay() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\"></aril-badge>\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track $index) {\r\n\t\t\t<aril-badge [background]=\"color()\" [value]=\"getArrayItemValue(item)\" styleClass=\"m-2 mb-4\"></aril-badge>\r\n\t\t}\r\n\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-ellipsis-h mt-4 ml-3\"\r\n\t\t\t\tstyle=\"color: rgb(60, 60, 230)\"\r\n\t\t\t\t[pTooltip]=\"\r\n\t\t\t\t\tmodel().length - arrayTypeMaxBadgeCount() + ' ' + this.translocoService.translate('validations.moreItems')\r\n\t\t\t\t\"\r\n\t\t\t\t(click)=\"showArrayItemsDialog()\">\r\n\t\t\t</i>\r\n\t\t}\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span\r\n\t\t\t\t[pTooltip]=\"(type() === 'text' && isTextClamp()) ? display()?.toString() : ''\"\r\n\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\r\n\t\t\t\t{{( type() === 'text' && isTextClamp() && display().length > 15) ? display().substr(0, 14 ) + '...' : display() }}\r\n\t\t\t</span>\r\n\t\t}\r\n\t}\r\n}\r\n", dependencies: [{ kind: "component", type: BadgeComponent, selector: "aril-badge", inputs: ["icon", "value", "severity", "rounded", "background", "styleClass"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TranslocoModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
96
96
|
}
|
|
97
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ValueComponent, decorators: [{
|
|
98
98
|
type: Component,
|
|
99
|
-
args: [{ standalone: true, selector: 'aril-value', imports: [BadgeComponent, TooltipModule, TranslocoModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [DialogService], template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (enumSelectionDisplay() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\"></aril-badge>\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track $index) {\r\n\t\t\t<aril-badge [background]=\"color()\" [value]=\"getArrayItemValue(item)\" styleClass=\"m-2 mb-4\"></aril-badge>\r\n\t\t}\r\n\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-ellipsis-h mt-4 ml-3\"\r\n\t\t\t\tstyle=\"color: rgb(60, 60, 230)\"\r\n\t\t\t\t[pTooltip]=\"\r\n\t\t\t\t\tmodel().length - arrayTypeMaxBadgeCount() + ' ' + this.translocoService.translate('validations.moreItems')\r\n\t\t\t\t\"\r\n\t\t\t\t(click)=\"showArrayItemsDialog()\">\r\n\t\t\t</i>\r\n\t\t}\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span\r\n\t\t\t\t[pTooltip]=\"isTextClamp() ? display()?.toString() : ''\"\r\n\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\r\n\t\t\t\t{{( isTextClamp() && display().length > 15) ? display().substr(0, 14 )+'...' : display() }}\r\n\t\t\t</span>\r\n\t\t}\r\n\t}\r\n}\r\n" }]
|
|
99
|
+
args: [{ standalone: true, selector: 'aril-value', imports: [BadgeComponent, TooltipModule, TranslocoModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [DialogService], template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (enumSelectionDisplay() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\"></aril-badge>\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track $index) {\r\n\t\t\t<aril-badge [background]=\"color()\" [value]=\"getArrayItemValue(item)\" styleClass=\"m-2 mb-4\"></aril-badge>\r\n\t\t}\r\n\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-ellipsis-h mt-4 ml-3\"\r\n\t\t\t\tstyle=\"color: rgb(60, 60, 230)\"\r\n\t\t\t\t[pTooltip]=\"\r\n\t\t\t\t\tmodel().length - arrayTypeMaxBadgeCount() + ' ' + this.translocoService.translate('validations.moreItems')\r\n\t\t\t\t\"\r\n\t\t\t\t(click)=\"showArrayItemsDialog()\">\r\n\t\t\t</i>\r\n\t\t}\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span\r\n\t\t\t\t[pTooltip]=\"(type() === 'text' && isTextClamp()) ? display()?.toString() : ''\"\r\n\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\r\n\t\t\t\t{{( type() === 'text' && isTextClamp() && display().length > 15) ? display().substr(0, 14 ) + '...' : display() }}\r\n\t\t\t</span>\r\n\t\t}\r\n\t}\r\n}\r\n" }]
|
|
100
100
|
}], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.TranslocoService }, { type: i3.SelectionGroupService }] });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUd0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sZ0NBQWdDLENBQUM7QUFFeEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQXFCL0QsTUFBTSxPQUFPLGNBQWM7SUFlMUIsWUFDUyxhQUE0QixFQUM3QixnQkFBa0MsRUFDakMscUJBQTRDO1FBRjVDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQWpCckQsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW1DLENBQUM7UUFDMUQsU0FBSSxHQUFHLEtBQUssQ0FBYSxNQUFNLENBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDekIsVUFBSyxHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNwQyxjQUFT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Q0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQWdERCxpQkFBaUIsQ0FBQyxJQUFTO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELG9CQUFvQjtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNqRCxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQztZQUN0RSxLQUFLLEVBQUUsS0FBSztZQUNaLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUU7WUFDckMsSUFBSSxFQUFFO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDbkIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2FBQ2pEO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0EvRlcsY0FBYztrR0FBZCxjQUFjLG1pREFGZixDQUFDLGFBQWEsQ0FBQywwQkM5QjNCLGtqRUFvREEsNENEeEJXLGNBQWMsb0lBQUUsYUFBYSxxWEFBRSxlQUFlOzsyRkFJNUMsY0FBYztrQkFSMUIsU0FBUztpQ0FDRyxJQUFJLFlBQ04sWUFBWSxXQUViLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsbUJBQ3hDLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuXHJcbmltcG9ydCB7IFNlbGVjdGlvbkdyb3VwU2VydmljZSB9IGZyb20gJ2FyaWwvdGhlbWUvbGF5b3V0JztcclxuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2JhZGdlJztcclxuaW1wb3J0ICdhcmlsL3V0aWwvcHJpbWl0aXZlLWV4dGVuc2lvbnMnO1xyXG5cclxuaW1wb3J0IHsgVmFsdWVCYWRnZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi92YWx1ZS1iYWRnZS1tb2RhbCc7XHJcblxyXG4vKiBudW1iZXItZm9ybWF0LmpzICovXHJcbi8vIFRPRE8gZGVjbGFyZSBjb25zdCBmb3JtYXQ6IEZ1bmN0aW9uO1xyXG5cclxuLyoqIFR5cGUgRm9ybWF0c1xyXG4gKiAjLjAwIC0+IFZpcmfDvGxkZW4gc29ucmEgMiBoYW5lIChEZWNpbWFsKVxyXG4gKiAjLjAwMDAgLT4gVmlyZ8O8bGRlbiBzb25yYSA0IGhhbmUgKERlY2ltYWwpXHJcbiAqIDAuIyMjIC0+IFNhZGVjZSB0YW0gc2F5xLEgZ8O2c3Rlcm1lc2kgacOnaW4gKE51bWJlcilcclxuICovXHJcblxyXG50eXBlIFZhbHVlVHlwZXMgPSAndGV4dCcgfCAnbnVtYmVyJyB8ICdib29sJyB8ICdkZWNpbWFsJyB8ICdkYXRlJyB8ICdwYXNzd29yZCcgfCAnZW51bScgfCAnYXJyYXknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtdmFsdWUnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi92YWx1ZS5jb21wb25lbnQuaHRtbCcsXHJcblx0aW1wb3J0czogW0JhZGdlQ29tcG9uZW50LCBUb29sdGlwTW9kdWxlLCBUcmFuc2xvY29Nb2R1bGVdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG5cdHByb3ZpZGVyczogW0RpYWxvZ1NlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWx1ZUNvbXBvbmVudCB7XHJcblx0bW9kZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgYW55PigpO1xyXG5cdHR5cGUgPSBpbnB1dDxWYWx1ZVR5cGVzPigndGV4dCcpO1xyXG5cdGZvcm1hdCA9IGlucHV0PHN0cmluZz4oKTtcclxuXHRjb2xvciA9IGlucHV0PHN0cmluZz4oJyMzMzMnKTtcclxuXHRpc0NsaWNrYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRncm91cE5hbWUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblx0cGFyZW50U2VsZWN0aW9uS2V5ID0gaW5wdXQ8c3RyaW5nPignQUxMJyk7XHJcblx0aXNUZXh0Q2xhbXAgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0c3R5bGUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblxyXG5cdC8vIG9ubHkgZm9yIGFycmF5IHR5cGVcclxuXHRhcnJheVR5cGVEaXNwbGF5TmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdGFycmF5VHlwZU1heEJhZGdlQ291bnQgPSBpbnB1dDxudW1iZXI+KDUpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuXHRcdHB1YmxpYyB0cmFuc2xvY29TZXJ2aWNlOiBUcmFuc2xvY29TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBzZWxlY3Rpb25Hcm91cFNlcnZpY2U6IFNlbGVjdGlvbkdyb3VwU2VydmljZVxyXG5cdCkge31cclxuXHJcblx0cHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlciwgZm9ybWF0U3RyaW5nOiBzdHJpbmcsIGlzRGVjaW1hbDogYm9vbGVhbik6IHN0cmluZyB7XHJcblx0XHRjb25zdCBbaW50ZWdlclBhcnQsIGRlY2ltYWxQYXJ0ID0gJyddID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdCgnLicpO1xyXG5cdFx0Y29uc3QgZm9ybWF0dGVkSW50ZWdlciA9IGludGVnZXJQYXJ0LnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csICcuJyk7XHJcblx0XHRyZXR1cm4gaXNEZWNpbWFsID8gYCR7Zm9ybWF0dGVkSW50ZWdlcn0sJHt0aGlzLmZvcm1hdERlY2ltYWwoZGVjaW1hbFBhcnQsIGZvcm1hdFN0cmluZyl9YCA6IGZvcm1hdHRlZEludGVnZXI7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGZvcm1hdERlY2ltYWwoZGVjaW1hbFBhcnQ6IHN0cmluZywgZm9ybWF0U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xyXG5cdFx0Y29uc3QgZGVjaW1hbFBsYWNlcyA9IGZvcm1hdFN0cmluZy5pbmNsdWRlcygnLicpID8gZm9ybWF0U3RyaW5nLnNwbGl0KCcuJylbMV0ubGVuZ3RoIDogMztcclxuXHRcdHJldHVybiBkZWNpbWFsUGFydC5zbGljZSgwLCBkZWNpbWFsUGxhY2VzKS5wYWRFbmQoZGVjaW1hbFBsYWNlcywgJzAnKTtcclxuXHR9XHJcblxyXG5cdGNvbG9yTGlzdCA9IFsnIzhFQ0VFQicsICcjNUVCQUUwJywgJyMyQzlDQ0InLCAnIzFEN0RBQycsICcjMTk2NThCJywgJzE4NTU3NCcsICc3RDg1RkMnLCAnNTk1N0Y1JywgJzE5NDc2MScsICc1MTQxRUEnXTtcclxuXHJcblx0ZGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdGNvbnN0IGFwcGxpZWRGb3JtYXQgPSB0aGlzLmZvcm1hdCgpIHx8ICh0aGlzLnR5cGUoKSA9PT0gJ2RlY2ltYWwnID8gJyMuMDAwJyA6ICcwLiMjIycpO1xyXG5cclxuXHRcdHN3aXRjaCAodGhpcy50eXBlKCkpIHtcclxuXHRcdFx0Y2FzZSAndGV4dCc6XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMubW9kZWwoKTtcclxuXHRcdFx0Y2FzZSAnbnVtYmVyJzpcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5mb3JtYXROdW1iZXIoPG51bWJlcj50aGlzLm1vZGVsKCksIGFwcGxpZWRGb3JtYXQsIGZhbHNlKTtcclxuXHRcdFx0Y2FzZSAnZGVjaW1hbCc6XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKDxudW1iZXI+dGhpcy5tb2RlbCgpLCBhcHBsaWVkRm9ybWF0LCB0cnVlKTtcclxuXHRcdFx0Y2FzZSAnZGF0ZSc6XHJcblx0XHRcdFx0cmV0dXJuICg8bnVtYmVyPnRoaXMubW9kZWwoKSkubG9uZ1RvU3RyaW5nKHRoaXMuZm9ybWF0KCkgPz8gJ3RpbWUnKTtcclxuXHRcdFx0Y2FzZSAncGFzc3dvcmQnOlxyXG5cdFx0XHRcdHJldHVybiAoPHN0cmluZz50aGlzLm1vZGVsKCkpLnJlcGxhY2UoLy4vZywgJyonKTtcclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRjb25zb2xlLmVycm9yKFwiSW52YWxpZCB0eXBlOiAnXCIgKyB0aGlzLnR5cGUoKSArIFwiJ1wiKTtcclxuXHRcdFx0XHRyZXR1cm4gJyc7XHJcblx0XHR9XHJcblx0fSk7XHJcblxyXG5cdGVudW1TZWxlY3Rpb25EaXNwbGF5ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uR3JvdXAgPVxyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5zZWxlY3Rpb25Hcm91cHMoKVtgJHt0aGlzLmdyb3VwTmFtZSgpIX1+JHt0aGlzLnBhcmVudFNlbGVjdGlvbktleSgpIX1gXTtcclxuXHJcblx0XHRpZiAoIXNlbGVjdGlvbkdyb3VwKSB0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5mZXRjaEVudW0odGhpcy5ncm91cE5hbWUoKSEsIHRoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhKTtcclxuXHJcblx0XHRyZXR1cm4gc2VsZWN0aW9uR3JvdXA/LnNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSB0aGlzLm1vZGVsKCkpPy5zZWxlY3Rpb25EaXNwbGF5O1xyXG5cdH0pO1xyXG5cclxuXHRlbnVtQmFkZ2VCYWNrZ3JvdW5kQ29sb3IgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3RoaXMuZ3JvdXBOYW1lKCkhfX4ke3RoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhfWBdO1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbXMgPSBzZWxlY3Rpb25Hcm91cD8uc2VsZWN0aW9uSXRlbXMgPz8gW107XHJcblxyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbSA9IHNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSB0aGlzLm1vZGVsKCkpO1xyXG5cclxuXHRcdGlmICghc2VsZWN0aW9uSXRlbSkge1xyXG5cdFx0XHRyZXR1cm4gJyMzMzMnO1xyXG5cdFx0fSBlbHNlIGlmICh0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl0gIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5jb2xvckxpc3Rbc2VsZWN0aW9uSXRlbS5zaG93T3JkZXJdO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuICcjQTJBRkZGJztcclxuXHR9KTtcclxuXHJcblx0Z2V0QXJyYXlJdGVtVmFsdWUoaXRlbTogYW55KTogYW55IHtcclxuXHRcdHJldHVybiBpdGVtW3RoaXMuYXJyYXlUeXBlRGlzcGxheU5hbWUoKV07XHJcblx0fVxyXG5cclxuXHRzaG93QXJyYXlJdGVtc0RpYWxvZygpIHtcclxuXHRcdHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKFZhbHVlQmFkZ2VNb2RhbENvbXBvbmVudCwge1xyXG5cdFx0XHRoZWFkZXI6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ21lc3NhZ2VzLmZpZWxkRGV0YWlsTWVzc2FnZScpLFxyXG5cdFx0XHR3aWR0aDogJzI1JScsXHJcblx0XHRcdGRpc21pc3NhYmxlTWFzazogZmFsc2UsXHJcblx0XHRcdGZvY3VzT25TaG93OiBmYWxzZSxcclxuXHRcdFx0Y29udGVudFN0eWxlOiB7IG92ZXJmbG93OiAndmlzaWJsZScgfSxcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdGl0ZW06IHRoaXMubW9kZWwoKSxcclxuXHRcdFx0XHRjb2xvcjogdGhpcy5jb2xvcigpLFxyXG5cdFx0XHRcdGFycmF5VHlwZURpc3BsYXlOYW1lOiB0aGlzLmFycmF5VHlwZURpc3BsYXlOYW1lKClcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiIsIkBpZiAobW9kZWwoKSA9PSB1bmRlZmluZWQgfHwgbW9kZWwoKSA9PSBudWxsKSB7XHJcblx0PGlcclxuXHRcdGNsYXNzPVwicGkgcGktbWludXNcIlxyXG5cdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFtwVG9vbHRpcF09XCJ0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd2YWxpZGF0aW9ucy5ub0l0ZW1Ub1Nob3cnKVwiPjwvaT5cclxufSBAZWxzZSB7XHJcblx0QGlmICh0eXBlKCkgPT0gJ2Jvb2wnKSB7XHJcblx0XHRAaWYgKCEhbW9kZWwoKSkge1xyXG5cdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWNoZWNrXCIgc3R5bGU9XCJjb2xvcjogZ3JlZW5cIj48L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGkgY2xhc3M9XCJwaSBwaS10aW1lc1wiIHN0eWxlPVwiY29sb3I6IGNyaW1zb25cIj48L2k+XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAodHlwZSgpID09PSAnZW51bScpIHtcclxuXHRcdEBpZiAoZW51bVNlbGVjdGlvbkRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMuaW52YWxpZERhdGFGb3JtYXQnKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGFyaWwtYmFkZ2UgW2JhY2tncm91bmRdPVwiZW51bUJhZGdlQmFja2dyb3VuZENvbG9yKClcIiBbdmFsdWVdPVwiZW51bVNlbGVjdGlvbkRpc3BsYXkoKVwiPjwvYXJpbC1iYWRnZT5cclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdhcnJheScpIHtcclxuXHRcdEBmb3IgKGl0ZW0gb2YgbW9kZWwoKS5zbGljZSgwLCBhcnJheVR5cGVNYXhCYWRnZUNvdW50KCkpOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0PGFyaWwtYmFkZ2UgW2JhY2tncm91bmRdPVwiY29sb3IoKVwiIFt2YWx1ZV09XCJnZXRBcnJheUl0ZW1WYWx1ZShpdGVtKVwiIHN0eWxlQ2xhc3M9XCJtLTIgbWItNFwiPjwvYXJpbC1iYWRnZT5cclxuXHRcdH1cclxuXHRcdEBpZiAobW9kZWwoKS5sZW5ndGggPiBhcnJheVR5cGVNYXhCYWRnZUNvdW50KCkpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWVsbGlwc2lzLWggbXQtNCBtbC0zXCJcclxuXHRcdFx0XHRzdHlsZT1cImNvbG9yOiByZ2IoNjAsIDYwLCAyMzApXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwiXHJcblx0XHRcdFx0XHRtb2RlbCgpLmxlbmd0aCAtIGFycmF5VHlwZU1heEJhZGdlQ291bnQoKSArICcgJyArIHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3ZhbGlkYXRpb25zLm1vcmVJdGVtcycpXHJcblx0XHRcdFx0XCJcclxuXHRcdFx0XHQoY2xpY2spPVwic2hvd0FycmF5SXRlbXNEaWFsb2coKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAaWYgKGRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMuaW52YWxpZERhdGFGb3JtYXQnKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHNwYW5cclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwiaXNUZXh0Q2xhbXAoKSA/IGRpc3BsYXkoKT8udG9TdHJpbmcoKSA6ICcnXCJcclxuXHRcdFx0XHRbc3R5bGVdPVwiaXNDbGlja2FibGUoKSA/IHsgJ3RleHQtZGVjb3JhdGlvbic6ICd1bmRlcmxpbmUnLCBjb2xvcjogJyMwMDAwRUUnLCBjdXJzb3I6ICdwb2ludGVyJyB9IDogJydcIj5cclxuXHRcdFx0XHR7eyggaXNUZXh0Q2xhbXAoKSAmJiBkaXNwbGF5KCkubGVuZ3RoID4gMTUpID8gZGlzcGxheSgpLnN1YnN0cigwLCAxNCApKycuLi4nIDogZGlzcGxheSgpIH19XHJcblx0XHRcdDwvc3Bhbj5cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUd0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sZ0NBQWdDLENBQUM7QUFFeEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQXFCL0QsTUFBTSxPQUFPLGNBQWM7SUFlMUIsWUFDUyxhQUE0QixFQUM3QixnQkFBa0MsRUFDakMscUJBQTRDO1FBRjVDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQWpCckQsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW1DLENBQUM7UUFDMUQsU0FBSSxHQUFHLEtBQUssQ0FBYSxNQUFNLENBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDekIsVUFBSyxHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNwQyxjQUFT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Q0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQWdERCxpQkFBaUIsQ0FBQyxJQUFTO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELG9CQUFvQjtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNqRCxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQztZQUN0RSxLQUFLLEVBQUUsS0FBSztZQUNaLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUU7WUFDckMsSUFBSSxFQUFFO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDbkIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2FBQ2pEO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0EvRlcsY0FBYztrR0FBZCxjQUFjLG1pREFGZixDQUFDLGFBQWEsQ0FBQywwQkM5QjNCLGltRUFvREEsNENEeEJXLGNBQWMsb0lBQUUsYUFBYSxxWEFBRSxlQUFlOzsyRkFJNUMsY0FBYztrQkFSMUIsU0FBUztpQ0FDRyxJQUFJLFlBQ04sWUFBWSxXQUViLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsbUJBQ3hDLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuXHJcbmltcG9ydCB7IFNlbGVjdGlvbkdyb3VwU2VydmljZSB9IGZyb20gJ2FyaWwvdGhlbWUvbGF5b3V0JztcclxuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2JhZGdlJztcclxuaW1wb3J0ICdhcmlsL3V0aWwvcHJpbWl0aXZlLWV4dGVuc2lvbnMnO1xyXG5cclxuaW1wb3J0IHsgVmFsdWVCYWRnZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi92YWx1ZS1iYWRnZS1tb2RhbCc7XHJcblxyXG4vKiBudW1iZXItZm9ybWF0LmpzICovXHJcbi8vIFRPRE8gZGVjbGFyZSBjb25zdCBmb3JtYXQ6IEZ1bmN0aW9uO1xyXG5cclxuLyoqIFR5cGUgRm9ybWF0c1xyXG4gKiAjLjAwIC0+IFZpcmfDvGxkZW4gc29ucmEgMiBoYW5lIChEZWNpbWFsKVxyXG4gKiAjLjAwMDAgLT4gVmlyZ8O8bGRlbiBzb25yYSA0IGhhbmUgKERlY2ltYWwpXHJcbiAqIDAuIyMjIC0+IFNhZGVjZSB0YW0gc2F5xLEgZ8O2c3Rlcm1lc2kgacOnaW4gKE51bWJlcilcclxuICovXHJcblxyXG50eXBlIFZhbHVlVHlwZXMgPSAndGV4dCcgfCAnbnVtYmVyJyB8ICdib29sJyB8ICdkZWNpbWFsJyB8ICdkYXRlJyB8ICdwYXNzd29yZCcgfCAnZW51bScgfCAnYXJyYXknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtdmFsdWUnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi92YWx1ZS5jb21wb25lbnQuaHRtbCcsXHJcblx0aW1wb3J0czogW0JhZGdlQ29tcG9uZW50LCBUb29sdGlwTW9kdWxlLCBUcmFuc2xvY29Nb2R1bGVdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG5cdHByb3ZpZGVyczogW0RpYWxvZ1NlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWx1ZUNvbXBvbmVudCB7XHJcblx0bW9kZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgYW55PigpO1xyXG5cdHR5cGUgPSBpbnB1dDxWYWx1ZVR5cGVzPigndGV4dCcpO1xyXG5cdGZvcm1hdCA9IGlucHV0PHN0cmluZz4oKTtcclxuXHRjb2xvciA9IGlucHV0PHN0cmluZz4oJyMzMzMnKTtcclxuXHRpc0NsaWNrYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRncm91cE5hbWUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblx0cGFyZW50U2VsZWN0aW9uS2V5ID0gaW5wdXQ8c3RyaW5nPignQUxMJyk7XHJcblx0aXNUZXh0Q2xhbXAgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0c3R5bGUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblxyXG5cdC8vIG9ubHkgZm9yIGFycmF5IHR5cGVcclxuXHRhcnJheVR5cGVEaXNwbGF5TmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdGFycmF5VHlwZU1heEJhZGdlQ291bnQgPSBpbnB1dDxudW1iZXI+KDUpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuXHRcdHB1YmxpYyB0cmFuc2xvY29TZXJ2aWNlOiBUcmFuc2xvY29TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBzZWxlY3Rpb25Hcm91cFNlcnZpY2U6IFNlbGVjdGlvbkdyb3VwU2VydmljZVxyXG5cdCkge31cclxuXHJcblx0cHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlciwgZm9ybWF0U3RyaW5nOiBzdHJpbmcsIGlzRGVjaW1hbDogYm9vbGVhbik6IHN0cmluZyB7XHJcblx0XHRjb25zdCBbaW50ZWdlclBhcnQsIGRlY2ltYWxQYXJ0ID0gJyddID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdCgnLicpO1xyXG5cdFx0Y29uc3QgZm9ybWF0dGVkSW50ZWdlciA9IGludGVnZXJQYXJ0LnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csICcuJyk7XHJcblx0XHRyZXR1cm4gaXNEZWNpbWFsID8gYCR7Zm9ybWF0dGVkSW50ZWdlcn0sJHt0aGlzLmZvcm1hdERlY2ltYWwoZGVjaW1hbFBhcnQsIGZvcm1hdFN0cmluZyl9YCA6IGZvcm1hdHRlZEludGVnZXI7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGZvcm1hdERlY2ltYWwoZGVjaW1hbFBhcnQ6IHN0cmluZywgZm9ybWF0U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xyXG5cdFx0Y29uc3QgZGVjaW1hbFBsYWNlcyA9IGZvcm1hdFN0cmluZy5pbmNsdWRlcygnLicpID8gZm9ybWF0U3RyaW5nLnNwbGl0KCcuJylbMV0ubGVuZ3RoIDogMztcclxuXHRcdHJldHVybiBkZWNpbWFsUGFydC5zbGljZSgwLCBkZWNpbWFsUGxhY2VzKS5wYWRFbmQoZGVjaW1hbFBsYWNlcywgJzAnKTtcclxuXHR9XHJcblxyXG5cdGNvbG9yTGlzdCA9IFsnIzhFQ0VFQicsICcjNUVCQUUwJywgJyMyQzlDQ0InLCAnIzFEN0RBQycsICcjMTk2NThCJywgJzE4NTU3NCcsICc3RDg1RkMnLCAnNTk1N0Y1JywgJzE5NDc2MScsICc1MTQxRUEnXTtcclxuXHJcblx0ZGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdGNvbnN0IGFwcGxpZWRGb3JtYXQgPSB0aGlzLmZvcm1hdCgpIHx8ICh0aGlzLnR5cGUoKSA9PT0gJ2RlY2ltYWwnID8gJyMuMDAwJyA6ICcwLiMjIycpO1xyXG5cclxuXHRcdHN3aXRjaCAodGhpcy50eXBlKCkpIHtcclxuXHRcdFx0Y2FzZSAndGV4dCc6XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMubW9kZWwoKTtcclxuXHRcdFx0Y2FzZSAnbnVtYmVyJzpcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5mb3JtYXROdW1iZXIoPG51bWJlcj50aGlzLm1vZGVsKCksIGFwcGxpZWRGb3JtYXQsIGZhbHNlKTtcclxuXHRcdFx0Y2FzZSAnZGVjaW1hbCc6XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKDxudW1iZXI+dGhpcy5tb2RlbCgpLCBhcHBsaWVkRm9ybWF0LCB0cnVlKTtcclxuXHRcdFx0Y2FzZSAnZGF0ZSc6XHJcblx0XHRcdFx0cmV0dXJuICg8bnVtYmVyPnRoaXMubW9kZWwoKSkubG9uZ1RvU3RyaW5nKHRoaXMuZm9ybWF0KCkgPz8gJ3RpbWUnKTtcclxuXHRcdFx0Y2FzZSAncGFzc3dvcmQnOlxyXG5cdFx0XHRcdHJldHVybiAoPHN0cmluZz50aGlzLm1vZGVsKCkpLnJlcGxhY2UoLy4vZywgJyonKTtcclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRjb25zb2xlLmVycm9yKFwiSW52YWxpZCB0eXBlOiAnXCIgKyB0aGlzLnR5cGUoKSArIFwiJ1wiKTtcclxuXHRcdFx0XHRyZXR1cm4gJyc7XHJcblx0XHR9XHJcblx0fSk7XHJcblxyXG5cdGVudW1TZWxlY3Rpb25EaXNwbGF5ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uR3JvdXAgPVxyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5zZWxlY3Rpb25Hcm91cHMoKVtgJHt0aGlzLmdyb3VwTmFtZSgpIX1+JHt0aGlzLnBhcmVudFNlbGVjdGlvbktleSgpIX1gXTtcclxuXHJcblx0XHRpZiAoIXNlbGVjdGlvbkdyb3VwKSB0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5mZXRjaEVudW0odGhpcy5ncm91cE5hbWUoKSEsIHRoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhKTtcclxuXHJcblx0XHRyZXR1cm4gc2VsZWN0aW9uR3JvdXA/LnNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSB0aGlzLm1vZGVsKCkpPy5zZWxlY3Rpb25EaXNwbGF5O1xyXG5cdH0pO1xyXG5cclxuXHRlbnVtQmFkZ2VCYWNrZ3JvdW5kQ29sb3IgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3RoaXMuZ3JvdXBOYW1lKCkhfX4ke3RoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhfWBdO1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbXMgPSBzZWxlY3Rpb25Hcm91cD8uc2VsZWN0aW9uSXRlbXMgPz8gW107XHJcblxyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbSA9IHNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSB0aGlzLm1vZGVsKCkpO1xyXG5cclxuXHRcdGlmICghc2VsZWN0aW9uSXRlbSkge1xyXG5cdFx0XHRyZXR1cm4gJyMzMzMnO1xyXG5cdFx0fSBlbHNlIGlmICh0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl0gIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5jb2xvckxpc3Rbc2VsZWN0aW9uSXRlbS5zaG93T3JkZXJdO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuICcjQTJBRkZGJztcclxuXHR9KTtcclxuXHJcblx0Z2V0QXJyYXlJdGVtVmFsdWUoaXRlbTogYW55KTogYW55IHtcclxuXHRcdHJldHVybiBpdGVtW3RoaXMuYXJyYXlUeXBlRGlzcGxheU5hbWUoKV07XHJcblx0fVxyXG5cclxuXHRzaG93QXJyYXlJdGVtc0RpYWxvZygpIHtcclxuXHRcdHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKFZhbHVlQmFkZ2VNb2RhbENvbXBvbmVudCwge1xyXG5cdFx0XHRoZWFkZXI6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ21lc3NhZ2VzLmZpZWxkRGV0YWlsTWVzc2FnZScpLFxyXG5cdFx0XHR3aWR0aDogJzI1JScsXHJcblx0XHRcdGRpc21pc3NhYmxlTWFzazogZmFsc2UsXHJcblx0XHRcdGZvY3VzT25TaG93OiBmYWxzZSxcclxuXHRcdFx0Y29udGVudFN0eWxlOiB7IG92ZXJmbG93OiAndmlzaWJsZScgfSxcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdGl0ZW06IHRoaXMubW9kZWwoKSxcclxuXHRcdFx0XHRjb2xvcjogdGhpcy5jb2xvcigpLFxyXG5cdFx0XHRcdGFycmF5VHlwZURpc3BsYXlOYW1lOiB0aGlzLmFycmF5VHlwZURpc3BsYXlOYW1lKClcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiIsIkBpZiAobW9kZWwoKSA9PSB1bmRlZmluZWQgfHwgbW9kZWwoKSA9PSBudWxsKSB7XHJcblx0PGlcclxuXHRcdGNsYXNzPVwicGkgcGktbWludXNcIlxyXG5cdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFtwVG9vbHRpcF09XCJ0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd2YWxpZGF0aW9ucy5ub0l0ZW1Ub1Nob3cnKVwiPjwvaT5cclxufSBAZWxzZSB7XHJcblx0QGlmICh0eXBlKCkgPT0gJ2Jvb2wnKSB7XHJcblx0XHRAaWYgKCEhbW9kZWwoKSkge1xyXG5cdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWNoZWNrXCIgc3R5bGU9XCJjb2xvcjogZ3JlZW5cIj48L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGkgY2xhc3M9XCJwaSBwaS10aW1lc1wiIHN0eWxlPVwiY29sb3I6IGNyaW1zb25cIj48L2k+XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAodHlwZSgpID09PSAnZW51bScpIHtcclxuXHRcdEBpZiAoZW51bVNlbGVjdGlvbkRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMuaW52YWxpZERhdGFGb3JtYXQnKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGFyaWwtYmFkZ2UgW2JhY2tncm91bmRdPVwiZW51bUJhZGdlQmFja2dyb3VuZENvbG9yKClcIiBbdmFsdWVdPVwiZW51bVNlbGVjdGlvbkRpc3BsYXkoKVwiPjwvYXJpbC1iYWRnZT5cclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdhcnJheScpIHtcclxuXHRcdEBmb3IgKGl0ZW0gb2YgbW9kZWwoKS5zbGljZSgwLCBhcnJheVR5cGVNYXhCYWRnZUNvdW50KCkpOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0PGFyaWwtYmFkZ2UgW2JhY2tncm91bmRdPVwiY29sb3IoKVwiIFt2YWx1ZV09XCJnZXRBcnJheUl0ZW1WYWx1ZShpdGVtKVwiIHN0eWxlQ2xhc3M9XCJtLTIgbWItNFwiPjwvYXJpbC1iYWRnZT5cclxuXHRcdH1cclxuXHRcdEBpZiAobW9kZWwoKS5sZW5ndGggPiBhcnJheVR5cGVNYXhCYWRnZUNvdW50KCkpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWVsbGlwc2lzLWggbXQtNCBtbC0zXCJcclxuXHRcdFx0XHRzdHlsZT1cImNvbG9yOiByZ2IoNjAsIDYwLCAyMzApXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwiXHJcblx0XHRcdFx0XHRtb2RlbCgpLmxlbmd0aCAtIGFycmF5VHlwZU1heEJhZGdlQ291bnQoKSArICcgJyArIHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3ZhbGlkYXRpb25zLm1vcmVJdGVtcycpXHJcblx0XHRcdFx0XCJcclxuXHRcdFx0XHQoY2xpY2spPVwic2hvd0FycmF5SXRlbXNEaWFsb2coKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAaWYgKGRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMuaW52YWxpZERhdGFGb3JtYXQnKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHNwYW5cclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwiKHR5cGUoKSA9PT0gJ3RleHQnICYmICBpc1RleHRDbGFtcCgpKSA/IGRpc3BsYXkoKT8udG9TdHJpbmcoKSA6ICcnXCJcclxuXHRcdFx0XHRbc3R5bGVdPVwiaXNDbGlja2FibGUoKSA/IHsgJ3RleHQtZGVjb3JhdGlvbic6ICd1bmRlcmxpbmUnLCBjb2xvcjogJyMwMDAwRUUnLCBjdXJzb3I6ICdwb2ludGVyJyB9IDogJydcIj5cclxuXHRcdFx0XHR7eyggdHlwZSgpID09PSAndGV4dCcgJiYgaXNUZXh0Q2xhbXAoKSAmJiBkaXNwbGF5KCkubGVuZ3RoID4gMTUpID8gZGlzcGxheSgpLnN1YnN0cigwLCAxNCApICsgJy4uLicgOiBkaXNwbGF5KCkgfX1cclxuXHRcdFx0PC9zcGFuPlxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { input, EventEmitter, Component, ViewChild, Output } from '@angular/core';
|
|
3
3
|
import * as i4 from '@angular/forms';
|
|
4
4
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
5
|
import * as i5 from 'primeng/autocomplete';
|
|
@@ -19,12 +19,13 @@ class AssetPickerComponent extends BaseInputComponent {
|
|
|
19
19
|
this.http = http;
|
|
20
20
|
this.translocoService = translocoService;
|
|
21
21
|
this.assetCode = input(null);
|
|
22
|
+
this.type = input(null);
|
|
22
23
|
this.placeholder = input('Arama...');
|
|
23
24
|
this.forceSelection = input(false);
|
|
24
25
|
this.multiple = input(false);
|
|
25
26
|
this.showClear = input(false);
|
|
26
27
|
this.optionValue = input(null);
|
|
27
|
-
this.
|
|
28
|
+
this.selectedDefinitionEvent = new EventEmitter();
|
|
28
29
|
}
|
|
29
30
|
ngAfterViewInit() {
|
|
30
31
|
this.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);
|
|
@@ -54,17 +55,23 @@ class AssetPickerComponent extends BaseInputComponent {
|
|
|
54
55
|
const payload = {
|
|
55
56
|
searchText: query,
|
|
56
57
|
assetDefinitionCodes: Array.isArray(this.assetCode()) ? this.assetCode() : [this.assetCode()],
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
pager: {
|
|
59
|
+
pageSize: 5,
|
|
60
|
+
pageNumber: 1
|
|
61
|
+
}
|
|
59
62
|
};
|
|
60
63
|
// eslint-disable-next-line no-useless-escape
|
|
61
64
|
const remoteUrl = API_CONFIGS.api.replace(/\/[^\/]+\/v1$/, `/host/v1`);
|
|
62
|
-
const selectionGroup = await firstValueFrom(this.http.post(remoteUrl + '/
|
|
63
|
-
|
|
65
|
+
const selectionGroup = await firstValueFrom(this.http.post(remoteUrl + '/master-data/cache-search', payload));
|
|
66
|
+
this.selectionDefinitions = selectionGroup;
|
|
64
67
|
const newFilteredGroupSuggestions = [];
|
|
65
|
-
Object.keys(
|
|
66
|
-
const groupData = {
|
|
67
|
-
|
|
68
|
+
Object.keys(selectionGroup).map((key) => {
|
|
69
|
+
const groupData = {
|
|
70
|
+
text: selectionGroup[key]?.result[0]?.assets[0]?.assetDefinitionName,
|
|
71
|
+
key: key,
|
|
72
|
+
items: []
|
|
73
|
+
};
|
|
74
|
+
selectionGroup[key].result.map((item) => {
|
|
68
75
|
groupData.items.push({
|
|
69
76
|
key: item.id,
|
|
70
77
|
text: this.getAttiributesValueDescr(item.attributes)
|
|
@@ -74,28 +81,26 @@ class AssetPickerComponent extends BaseInputComponent {
|
|
|
74
81
|
});
|
|
75
82
|
this.filteredSelectionItems = newFilteredGroupSuggestions;
|
|
76
83
|
}
|
|
77
|
-
groupByAssetDefinitionCode(array) {
|
|
78
|
-
return array.reduce((result, currentValue) => {
|
|
79
|
-
const assetName = currentValue.assets[0]?.assetDefinitionName || 'Unknown';
|
|
80
|
-
if (!result[assetName]) {
|
|
81
|
-
result[assetName] = [];
|
|
82
|
-
}
|
|
83
|
-
result[assetName].push(currentValue);
|
|
84
|
-
return result;
|
|
85
|
-
}, {});
|
|
86
|
-
}
|
|
87
84
|
getAttiributesValueDescr(attributes) {
|
|
88
|
-
return attributes
|
|
85
|
+
return attributes?.map((attr) => (attr.valueDesc ? attr.valueDesc : attr.value)).join(' - ');
|
|
86
|
+
}
|
|
87
|
+
triggerSelectedEvents(event) {
|
|
88
|
+
const selectedItems = Object.keys(this.selectionDefinitions).map((key) => {
|
|
89
|
+
return this.selectionDefinitions[key].result.find((item) => item.id === event?.value?.key);
|
|
90
|
+
});
|
|
91
|
+
this.selectedDefinitionEvent.emit(selectedItems[0]);
|
|
89
92
|
}
|
|
90
93
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AssetPickerComponent, deps: [{ token: i1.HttpClient }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
91
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: AssetPickerComponent, isStandalone: true, selector: "aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]", inputs: { assetCode: { classPropertyName: "assetCode", publicName: "assetCode", isSignal: true, isRequired: false, transformFunction: null },
|
|
94
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: AssetPickerComponent, isStandalone: true, selector: "aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]", inputs: { assetCode: { classPropertyName: "assetCode", publicName: "assetCode", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedDefinitionEvent: "selectedDefinitionEvent" }, viewQueries: [{ propertyName: "autoCompleteRef", first: true, predicate: AutoComplete, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i3.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t[type]=\"type()!\"\r\n\t(ngModelChange)=\"onNgModelChange($event)\"\r\n\t[showClear]=\"showClear()\"\r\n\t[emptyMessage]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t(onSelect)=\"triggerSelectedEvents($event)\"\r\n\tappendTo=\"body\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i5.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
|
|
92
95
|
}
|
|
93
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AssetPickerComponent, decorators: [{
|
|
94
97
|
type: Component,
|
|
95
|
-
args: [{ standalone: true, selector: 'aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]', imports: [ReactiveFormsModule, AutoCompleteModule], hostDirectives: [ValueAccessorDirective], template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t[type]=\"type()!\"\r\n\t(ngModelChange)=\"onNgModelChange($event)\"\r\n\t[showClear]=\"showClear()\"\r\n\t[emptyMessage]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\tappendTo=\"body\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n" }]
|
|
98
|
+
args: [{ standalone: true, selector: 'aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]', imports: [ReactiveFormsModule, AutoCompleteModule], hostDirectives: [ValueAccessorDirective], template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t[type]=\"type()!\"\r\n\t(ngModelChange)=\"onNgModelChange($event)\"\r\n\t[showClear]=\"showClear()\"\r\n\t[emptyMessage]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t(onSelect)=\"triggerSelectedEvents($event)\"\r\n\tappendTo=\"body\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n" }]
|
|
96
99
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.TranslocoService }], propDecorators: { autoCompleteRef: [{
|
|
97
100
|
type: ViewChild,
|
|
98
101
|
args: [AutoComplete]
|
|
102
|
+
}], selectedDefinitionEvent: [{
|
|
103
|
+
type: Output
|
|
99
104
|
}] } });
|
|
100
105
|
|
|
101
106
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-business-components-assetPicker.mjs","sources":["../../projects/aril/ui/business-components/assetPicker/src/asset-picker.component.ts","../../projects/aril/ui/business-components/assetPicker/src/asset-picker.component.html","../../projects/aril/ui/business-components/assetPicker/aril-ui-business-components-assetPicker.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { AfterViewInit, Component, ViewChild, input } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ObjectUtils } from 'primeng/utils';\r\n\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { BaseInputComponent, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport { AssetPickerResponseDTO, AttributeElement, Result, SuggestionsDTO, SuggestionsGroupDTO } from './interface';\r\n\r\ntype ValueTypes = 'text' | 'number';\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]',\r\n\ttemplateUrl: './asset-picker.component.html',\r\n\timports: [ReactiveFormsModule, AutoCompleteModule],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class AssetPickerComponent extends BaseInputComponent implements AfterViewInit {\r\n\t@ViewChild(AutoComplete) autoCompleteRef!: AutoComplete;\r\n\tassetCode = input<string | string[] | null>(null);\r\n\r\n\tplaceholder = input<string>('Arama...');\r\n\tforceSelection = input<boolean>(false);\r\n\tmultiple = input<boolean>(false);\r\n\tshowClear = input<boolean>(false);\r\n\toptionValue = input<keyof SuggestionsDTO | null>(null);\r\n\ttype = input<ValueTypes | null>(null);\r\n\r\n\tfilteredSelectionItems!: SuggestionsGroupDTO[];\r\n\r\n\tconstructor(private http: HttpClient,public translocoService: TranslocoService) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);\r\n\t}\r\n\r\n\tgetOptionValue(option: any) {\r\n\t\treturn (\r\n\t\t\tthis.optionValue() ?\r\n\t\t\t\ttypeof option === 'object' ?\r\n\t\t\t\t\tObjectUtils.resolveFieldData(option, this.optionValue())\r\n\t\t\t\t\t: option\r\n\t\t\t\t: option\r\n\t\t);\r\n\t}\r\n\r\n\tonNgModelChange(value: string) {\r\n\t\tconst validatedValue = this.validateInput(value);\r\n\t\tthis.ngControl.viewToModelUpdate(validatedValue);\r\n\t}\r\n\r\n\tvalidateInput(value: string) {\r\n\t\tif (this.type() === 'number') {\r\n\t\t\treturn value.replace(/[^0-9]/g, '')\r\n\t\t} else if (this.type() === 'text') {\r\n\t\t\treturn value.replace(/[^a-zA-ZğüşıöçĞÜŞİÖÇ\\s]/g, '');\r\n\t\t}\r\n\t\treturn value;\r\n\t}\r\n\r\n\tasync search(event: any) {\r\n\t\tconst query = this.validateInput(event.query);\r\n\t\tconst payload = {\r\n\t\t\tsearchText: query,\r\n\t\t\tassetDefinitionCodes: Array.isArray(this.assetCode()) ? this.assetCode() : [this.assetCode()],\r\n\t\t\tpageSize: 5,\r\n\t\t\tpageNumber: 1\r\n\t\t};\r\n\t\t// eslint-disable-next-line no-useless-escape\r\n\t\tconst remoteUrl = API_CONFIGS.api.replace(/\\/[^\\/]+\\/v1$/, `/host/v1`);\r\n\t\tconst selectionGroup: AssetPickerResponseDTO = await firstValueFrom(\r\n\t\t\tthis.http.post<any>(remoteUrl + '/md/elastic-search', payload)\r\n\t\t);\r\n\t\tconst groupedSelectionItems: { [key: string]: Result[] } = this.groupByAssetDefinitionCode(selectionGroup?.result);\r\n\r\n\t\tconst newFilteredGroupSuggestions: SuggestionsGroupDTO[] = [];\r\n\t\tObject.keys(groupedSelectionItems).map((key: string) => {\r\n\t\t\tconst groupData: SuggestionsGroupDTO = { text: key, key: key, items: [] };\r\n\t\t\tgroupedSelectionItems[key].map((item: Result) => {\r\n\t\t\t\tgroupData.items.push({\r\n\t\t\t\t\tkey: item.id,\r\n\t\t\t\t\ttext: this.getAttiributesValueDescr(item.attributes)\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tnewFilteredGroupSuggestions.push(groupData);\r\n\t\t});\r\n\t\tthis.filteredSelectionItems = newFilteredGroupSuggestions;\r\n\t}\r\n\r\n\tgroupByAssetDefinitionCode(array: Result[]): { [key: string]: Result[] } {\r\n\t\treturn array.reduce((result: { [key: string]: Result[] }, currentValue: Result) => {\r\n\t\t\tconst assetName = currentValue.assets[0]?.assetDefinitionName || 'Unknown';\r\n\t\t\tif (!result[assetName]) {\r\n\t\t\t\tresult[assetName] = [];\r\n\t\t\t}\r\n\t\t\tresult[assetName].push(currentValue);\r\n\t\t\treturn result;\r\n\t\t}, {});\r\n\t}\r\n\r\n\tgetAttiributesValueDescr(attributes: AttributeElement[]): string {\r\n\t\treturn attributes.map((attr) => (attr.valueDesc ? attr.valueDesc : attr.value)).join(' - ');\r\n\t}\r\n}\r\n","<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t[type]=\"type()!\"\r\n\t(ngModelChange)=\"onNgModelChange($event)\"\r\n\t[showClear]=\"showClear()\"\r\n\t[emptyMessage]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\tappendTo=\"body\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aril-ui-business-components-assetPicker.mjs","sources":["../../projects/aril/ui/business-components/assetPicker/src/asset-picker.component.ts","../../projects/aril/ui/business-components/assetPicker/src/asset-picker.component.html","../../projects/aril/ui/business-components/assetPicker/aril-ui-business-components-assetPicker.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/component-selector */\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AfterViewInit, Component, EventEmitter, Output, ViewChild, input } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ObjectUtils } from 'primeng/utils';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { BaseInputComponent, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport {\r\n\tAssetAggregate,\r\n\tAttributeElement,\r\n\tDefaultSearchAggregateAssetAggregate,\r\n\tSuggestionsDTO,\r\n\tSuggestionsGroupDTO\r\n} from './interface';\r\n\r\ntype ValueTypes = 'text' | 'number';\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]',\r\n\ttemplateUrl: './asset-picker.component.html',\r\n\timports: [ReactiveFormsModule, AutoCompleteModule],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class AssetPickerComponent extends BaseInputComponent implements AfterViewInit {\r\n\t@ViewChild(AutoComplete) autoCompleteRef!: AutoComplete;\r\n\tassetCode = input<string | string[] | null>(null);\r\n\ttype = input<ValueTypes | null>(null);\r\n\r\n\tplaceholder = input<string>('Arama...');\r\n\tforceSelection = input<boolean>(false);\r\n\tmultiple = input<boolean>(false);\r\n\tshowClear = input<boolean>(false);\r\n\toptionValue = input<keyof SuggestionsDTO | null>(null);\r\n\tfilteredSelectionItems!: SuggestionsGroupDTO[];\r\n\tselectionDefinitions!: DefaultSearchAggregateAssetAggregate;\r\n\t@Output() selectedDefinitionEvent: EventEmitter<AssetAggregate> = new EventEmitter<AssetAggregate>();\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tpublic translocoService: TranslocoService\r\n\t) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);\r\n\t}\r\n\r\n\tgetOptionValue(option: any) {\r\n\t\treturn (\r\n\t\t\tthis.optionValue() ?\r\n\t\t\t\ttypeof option === 'object' ?\r\n\t\t\t\t\tObjectUtils.resolveFieldData(option, this.optionValue())\r\n\t\t\t\t:\toption\r\n\t\t\t:\toption\r\n\t\t);\r\n\t}\r\n\r\n\tonNgModelChange(value: string) {\r\n\t\tconst validatedValue = this.validateInput(value);\r\n\t\tthis.ngControl.viewToModelUpdate(validatedValue);\r\n\t}\r\n\r\n\tvalidateInput(value: string) {\r\n\t\tif (this.type() === 'number') {\r\n\t\t\treturn value.replace(/[^0-9]/g, '');\r\n\t\t} else if (this.type() === 'text') {\r\n\t\t\treturn value.replace(/[^a-zA-ZğüşıöçĞÜŞİÖÇ\\s]/g, '');\r\n\t\t}\r\n\t\treturn value;\r\n\t}\r\n\r\n\tasync search(event: any) {\r\n\t\tconst query = this.validateInput(event.query);\r\n\t\tconst payload = {\r\n\t\t\tsearchText: query,\r\n\t\t\tassetDefinitionCodes: Array.isArray(this.assetCode()) ? this.assetCode() : [this.assetCode()],\r\n\t\t\tpager: {\r\n\t\t\t\tpageSize: 5,\r\n\t\t\t\tpageNumber: 1\r\n\t\t\t}\r\n\t\t};\r\n\t\t// eslint-disable-next-line no-useless-escape\r\n\t\tconst remoteUrl = API_CONFIGS.api.replace(/\\/[^\\/]+\\/v1$/, `/host/v1`);\r\n\t\tconst selectionGroup: DefaultSearchAggregateAssetAggregate = await firstValueFrom(\r\n\t\t\tthis.http.post<any>(remoteUrl + '/master-data/cache-search', payload)\r\n\t\t);\r\n\t\tthis.selectionDefinitions = selectionGroup;\r\n\t\tconst newFilteredGroupSuggestions: SuggestionsGroupDTO[] = [];\r\n\t\tObject.keys(selectionGroup).map((key: string) => {\r\n\t\t\tconst groupData: SuggestionsGroupDTO = {\r\n\t\t\t\ttext: selectionGroup[key]?.result[0]?.assets[0]?.assetDefinitionName,\r\n\t\t\t\tkey: key,\r\n\t\t\t\titems: []\r\n\t\t\t};\r\n\t\t\tselectionGroup[key].result.map((item: AssetAggregate) => {\r\n\t\t\t\tgroupData.items.push({\r\n\t\t\t\t\tkey: item.id,\r\n\t\t\t\t\ttext: this.getAttiributesValueDescr(item.attributes)\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tnewFilteredGroupSuggestions.push(groupData);\r\n\t\t});\r\n\t\tthis.filteredSelectionItems = newFilteredGroupSuggestions;\r\n\t}\r\n\r\n\tgetAttiributesValueDescr(attributes: AttributeElement[]): string {\r\n\t\treturn attributes?.map((attr) => (attr.valueDesc ? attr.valueDesc : attr.value)).join(' - ');\r\n\t}\r\n\r\n\ttriggerSelectedEvents(event: any) {\r\n\t\tconst selectedItems: AssetAggregate[] = Object.keys(this.selectionDefinitions).map((key: string) => {\r\n\t\t\treturn this.selectionDefinitions[key].result.find((item: AssetAggregate) => item.id === event?.value?.key);\r\n\t\t}) as AssetAggregate[];\r\n\r\n\t\tthis.selectedDefinitionEvent.emit(selectedItems[0]);\r\n\t}\r\n}\r\n","<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t[type]=\"type()!\"\r\n\t(ngModelChange)=\"onNgModelChange($event)\"\r\n\t[showClear]=\"showClear()\"\r\n\t[emptyMessage]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t(onSelect)=\"triggerSelectedEvents($event)\"\r\n\tappendTo=\"body\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AA8BM,MAAO,oBAAqB,SAAQ,kBAAkB,CAAA;IAc3D,WACS,CAAA,IAAgB,EACjB,gBAAkC,EAAA;AAEzC,QAAA,KAAK,EAAE,CAAC;QAHA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QACjB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAd1C,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAA2B,IAAI,CAAC,CAAC;AAClD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAoB,IAAI,CAAC,CAAC;AAEtC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAS,UAAU,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAA8B,IAAI,CAAC,CAAC;AAG7C,QAAA,IAAA,CAAA,uBAAuB,GAAiC,IAAI,YAAY,EAAkB,CAAC;KAOpG;IAED,eAAe,GAAA;AACd,QAAA,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACrE;AAED,IAAA,cAAc,CAAC,MAAW,EAAA;AACzB,QAAA,QACC,IAAI,CAAC,WAAW,EAAE;AACjB,YAAA,OAAO,MAAM,KAAK,QAAQ;gBACzB,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;AACzD,kBAAE,MAAM;cACP,MAAM,EACP;KACF;AAED,IAAA,eAAe,CAAC,KAAa,EAAA;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;KACjD;AAED,IAAA,aAAa,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;SACpC;AAAM,aAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE;YAClC,OAAO,KAAK,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;SACrD;AACD,QAAA,OAAO,KAAK,CAAC;KACb;IAED,MAAM,MAAM,CAAC,KAAU,EAAA;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,MAAM,OAAO,GAAG;AACf,YAAA,UAAU,EAAE,KAAK;YACjB,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AAC7F,YAAA,KAAK,EAAE;AACN,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,UAAU,EAAE,CAAC;AACb,aAAA;SACD,CAAC;;AAEF,QAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAU,QAAA,CAAA,CAAC,CAAC;AACvE,QAAA,MAAM,cAAc,GAAyC,MAAM,cAAc,CAChF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,SAAS,GAAG,2BAA2B,EAAE,OAAO,CAAC,CACrE,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,GAAG,cAAc,CAAC;QAC3C,MAAM,2BAA2B,GAA0B,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,KAAI;AAC/C,YAAA,MAAM,SAAS,GAAwB;AACtC,gBAAA,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB;AACpE,gBAAA,GAAG,EAAE,GAAG;AACR,gBAAA,KAAK,EAAE,EAAE;aACT,CAAC;YACF,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAoB,KAAI;AACvD,gBAAA,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;oBACpB,GAAG,EAAE,IAAI,CAAC,EAAE;oBACZ,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,iBAAA,CAAC,CAAC;AACJ,aAAC,CAAC,CAAC;AACH,YAAA,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,sBAAsB,GAAG,2BAA2B,CAAC;KAC1D;AAED,IAAA,wBAAwB,CAAC,UAA8B,EAAA;AACtD,QAAA,OAAO,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7F;AAED,IAAA,qBAAqB,CAAC,KAAU,EAAA;AAC/B,QAAA,MAAM,aAAa,GAAqB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,KAAI;YAClG,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAoB,KAAK,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5G,SAAC,CAAqB,CAAC;QAEvB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;KACpD;8GA7FW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,6rCACrB,YAAY,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/BxB,y2BAwBA,EDGW,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,yTAAE,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,MAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,QAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,OAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,IAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGrC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;iCACG,IAAI,EAAA,QAAA,EACN,gGAAgG,EAAA,OAAA,EAEjG,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,EAAA,cAAA,EAClC,CAAC,sBAAsB,CAAC,EAAA,QAAA,EAAA,y2BAAA,EAAA,CAAA;8GAGf,eAAe,EAAA,CAAA;sBAAvC,SAAS;uBAAC,YAAY,CAAA;gBAWb,uBAAuB,EAAA,CAAA;sBAAhC,MAAM;;;AE1CR;;AAEG;;;;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { input, Component } from '@angular/core';
|
|
4
|
+
import * as i2 from 'primeng/image';
|
|
5
|
+
import { ImageModule } from 'primeng/image';
|
|
6
|
+
import * as i3 from 'primeng/messages';
|
|
7
|
+
import { MessagesModule } from 'primeng/messages';
|
|
8
|
+
import { ButtonComponent } from 'aril/ui/button';
|
|
9
|
+
import * as i1 from 'primeng/dynamicdialog';
|
|
10
|
+
|
|
11
|
+
class ImgViewerComponent {
|
|
12
|
+
constructor(ref) {
|
|
13
|
+
this.ref = ref;
|
|
14
|
+
this.base64 = input('');
|
|
15
|
+
this.messages = [{ severity: 'info', detail: 'Dosya bulunamadı.' }];
|
|
16
|
+
}
|
|
17
|
+
downloadFile() {
|
|
18
|
+
if (this.base64()) {
|
|
19
|
+
let mimeType = 'image/png';
|
|
20
|
+
if (this.base64().startsWith('data:image/jpeg;base64,')) {
|
|
21
|
+
mimeType = 'image/jpeg';
|
|
22
|
+
}
|
|
23
|
+
else if (this.base64().startsWith('data:image/gif;base64,')) {
|
|
24
|
+
mimeType = 'image/gif';
|
|
25
|
+
}
|
|
26
|
+
else if (this.base64().startsWith('data:image/bmp;base64,')) {
|
|
27
|
+
mimeType = 'image/bmp';
|
|
28
|
+
}
|
|
29
|
+
else if (this.base64().startsWith('data:image/webp;base64,')) {
|
|
30
|
+
mimeType = 'image/webp';
|
|
31
|
+
}
|
|
32
|
+
const link = document.createElement('a');
|
|
33
|
+
link.href = 'data:' + mimeType + ';base64,' + this.base64();
|
|
34
|
+
link.download = 'file.' + mimeType.split('/')[1];
|
|
35
|
+
document.body.appendChild(link);
|
|
36
|
+
link.click();
|
|
37
|
+
document.body.removeChild(link);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
console.error('Base64 verisi mevcut değil');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
close() {
|
|
44
|
+
this.ref.close();
|
|
45
|
+
}
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ImgViewerComponent, deps: [{ token: i1.DynamicDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ImgViewerComponent, isStandalone: true, selector: "aril-img-viewer", inputs: { base64: { classPropertyName: "base64", publicName: "base64", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if(base64()) {\r\n\t<div>\r\n\t\t<p-image [src]=\"'data:image/png;base64,' + base64()\" alt=\"G\u00F6r\u00FCnt\u00FC\" width=\"100%\" height=\"100%\"/>\r\n\t</div>\r\n}\r\n@else {\r\n\t<p-messages [(value)]=\"messages\" [enableService]=\"false\" [closable]=\"false\" />\r\n}\r\n<div style=\"display: flex; justify-content: flex-end; width: 100%\">\r\n\t<aril-button color=\"danger\" label=\"Kapat\" icon=\"TIMES\" [outlined]=\"true\" (clickEvent)=\"close()\"></aril-button> \r\n\t<aril-button color=\"success\" label=\"\u0130ndir\" icon=\"CHECK\" (clickEvent)=\"downloadFile()\" [disabled]=\"!base64()\"></aril-button>\r\n</div>\r\n", styles: ["ngx-extended-pdf-viewer{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ImageModule }, { kind: "component", type: i2.Image, selector: "p-image", inputs: ["imageClass", "imageStyle", "styleClass", "style", "src", "srcSet", "sizes", "previewImageSrc", "previewImageSrcSet", "previewImageSizes", "alt", "width", "height", "loading", "appendTo", "preview", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide", "onImageError"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i3.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "outlined", "badge", "size", "icon", "color"], outputs: ["clickEvent"] }] }); }
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ImgViewerComponent, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{ standalone: true, selector: 'aril-img-viewer', imports: [
|
|
52
|
+
CommonModule,
|
|
53
|
+
ImageModule,
|
|
54
|
+
MessagesModule,
|
|
55
|
+
ButtonComponent
|
|
56
|
+
], template: "@if(base64()) {\r\n\t<div>\r\n\t\t<p-image [src]=\"'data:image/png;base64,' + base64()\" alt=\"G\u00F6r\u00FCnt\u00FC\" width=\"100%\" height=\"100%\"/>\r\n\t</div>\r\n}\r\n@else {\r\n\t<p-messages [(value)]=\"messages\" [enableService]=\"false\" [closable]=\"false\" />\r\n}\r\n<div style=\"display: flex; justify-content: flex-end; width: 100%\">\r\n\t<aril-button color=\"danger\" label=\"Kapat\" icon=\"TIMES\" [outlined]=\"true\" (clickEvent)=\"close()\"></aril-button> \r\n\t<aril-button color=\"success\" label=\"\u0130ndir\" icon=\"CHECK\" (clickEvent)=\"downloadFile()\" [disabled]=\"!base64()\"></aril-button>\r\n</div>\r\n", styles: ["ngx-extended-pdf-viewer{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}\n"] }]
|
|
57
|
+
}], ctorParameters: () => [{ type: i1.DynamicDialogRef }] });
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Generated bundle index. Do not edit.
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
export { ImgViewerComponent };
|
|
64
|
+
//# sourceMappingURL=aril-ui-img-viewer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aril-ui-img-viewer.mjs","sources":["../../projects/aril/ui/img-viewer/src/img-viewer.component.ts","../../projects/aril/ui/img-viewer/src/img-viewer.component.html","../../projects/aril/ui/img-viewer/aril-ui-img-viewer.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\nimport { Message } from 'primeng/api';\r\nimport { ImageModule } from 'primeng/image';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { DynamicDialogRef } from 'primeng/dynamicdialog';\r\n\r\nimport { ButtonComponent } from 'aril/ui/button';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-img-viewer',\r\n\ttemplateUrl: 'img-viewer.component.html',\r\n\tstyleUrls: ['img-viewer.component.scss'],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tImageModule,\r\n\t\tMessagesModule,\r\n\t\tButtonComponent\r\n\t]\r\n})\r\nexport class ImgViewerComponent {\r\n\tconstructor(\r\n\t\tprivate ref: DynamicDialogRef\r\n\t) {}\r\n\r\n\tbase64 = input<string>('');\r\n\r\n\tmessages: Message[] = [{ severity: 'info', detail: 'Dosya bulunamadı.' }];\r\n\r\n\tdownloadFile(): void {\r\n if (this.base64()) {\r\n let mimeType = 'image/png';\r\n if (this.base64().startsWith('data:image/jpeg;base64,')) {\r\n mimeType = 'image/jpeg';\r\n } else if (this.base64().startsWith('data:image/gif;base64,')) {\r\n mimeType = 'image/gif';\r\n } else if (this.base64().startsWith('data:image/bmp;base64,')) {\r\n mimeType = 'image/bmp';\r\n } else if (this.base64().startsWith('data:image/webp;base64,')) {\r\n mimeType = 'image/webp';\r\n }\r\n\r\n const link = document.createElement('a');\r\n link.href = 'data:' + mimeType + ';base64,' + this.base64();\r\n link.download = 'file.' + mimeType.split('/')[1];\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n } else {\r\n console.error('Base64 verisi mevcut değil');\r\n }\r\n }\r\n\r\n\tclose() {\r\n this.ref.close();\r\n }\r\n}","@if(base64()) {\r\n\t<div>\r\n\t\t<p-image [src]=\"'data:image/png;base64,' + base64()\" alt=\"Görüntü\" width=\"100%\" height=\"100%\"/>\r\n\t</div>\r\n}\r\n@else {\r\n\t<p-messages [(value)]=\"messages\" [enableService]=\"false\" [closable]=\"false\" />\r\n}\r\n<div style=\"display: flex; justify-content: flex-end; width: 100%\">\r\n\t<aril-button color=\"danger\" label=\"Kapat\" icon=\"TIMES\" [outlined]=\"true\" (clickEvent)=\"close()\"></aril-button> \r\n\t<aril-button color=\"success\" label=\"İndir\" icon=\"CHECK\" (clickEvent)=\"downloadFile()\" [disabled]=\"!base64()\"></aril-button>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ class SelectBoxComponent extends BaseInputComponent {
|
|
|
23
23
|
this.parentSelectionKey = input(null);
|
|
24
24
|
this.tabindex = input(0);
|
|
25
25
|
this.items = input.required();
|
|
26
|
+
this.selectedItemText = '';
|
|
26
27
|
this.selectionItems = signal(null);
|
|
27
28
|
/** * @description when grouped = true, option item structure { key:string, items:[] } */
|
|
28
29
|
this.grouped = input(false);
|
|
@@ -35,6 +36,12 @@ class SelectBoxComponent extends BaseInputComponent {
|
|
|
35
36
|
this.getSelectionItems();
|
|
36
37
|
});
|
|
37
38
|
}
|
|
39
|
+
setTitle(event) {
|
|
40
|
+
if (event && event[this.itemText()].length > 25) {
|
|
41
|
+
this.selectedItemText = event ? event[this.itemText()] : '';
|
|
42
|
+
}
|
|
43
|
+
this.onSelectionChanged.emit(event);
|
|
44
|
+
}
|
|
38
45
|
async getSelectionItems() {
|
|
39
46
|
const payload = {
|
|
40
47
|
groupName: this.groupName(),
|
|
@@ -49,11 +56,11 @@ class SelectBoxComponent extends BaseInputComponent {
|
|
|
49
56
|
})));
|
|
50
57
|
}
|
|
51
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SelectBoxComponent, deps: [{ token: i1.HttpClient }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: SelectBoxComponent, isStandalone: true, selector: "aril-select-box[formControl], aril-select-box[formControlName]", inputs: { itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemText: { classPropertyName: "itemText", publicName: "itemText", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, grouped: { classPropertyName: "grouped", publicName: "grouped", isSignal: true, isRequired: false, transformFunction: null }, showClearButton: { classPropertyName: "showClearButton", publicName: "showClearButton", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, searchExpr: { classPropertyName: "searchExpr", publicName: "searchExpr", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChanged: "onSelectionChanged" }, providers: [InputErrorMessagePipe], usesInheritance: true, hostDirectives: [{ directive: i3.ValueAccessorDirective }], ngImport: i0, template: "<dx-select-box\r\n\t[items]=\"selectionItems() || items()\"\r\n\t[valueExpr]=\"itemKey()\"\r\n\t[displayExpr]=\"itemText()\"\r\n\t[searchEnabled]=\"true\"\r\n\t[searchExpr]=\"searchExpr()\"\r\n\t[tabIndex]=\"tabindex()\"\r\n\t[grouped]=\"grouped()\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[showClearButton]=\"showClearButton()\"\r\n\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\tvalidationMessagePosition=\"top\"\r\n\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t(onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem)\">\r\n</dx-select-box>\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DxSelectBoxModule }, { kind: "component", type: i5.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: DXInputErrorMessagePipe, name: "dxInputErrorMessage" }, { kind: "ngmodule", type: TranslocoModule }] }); }
|
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: SelectBoxComponent, isStandalone: true, selector: "aril-select-box[formControl], aril-select-box[formControlName]", inputs: { itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemText: { classPropertyName: "itemText", publicName: "itemText", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, grouped: { classPropertyName: "grouped", publicName: "grouped", isSignal: true, isRequired: false, transformFunction: null }, showClearButton: { classPropertyName: "showClearButton", publicName: "showClearButton", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, searchExpr: { classPropertyName: "searchExpr", publicName: "searchExpr", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChanged: "onSelectionChanged" }, providers: [InputErrorMessagePipe], usesInheritance: true, hostDirectives: [{ directive: i3.ValueAccessorDirective }], ngImport: i0, template: "<dx-select-box\r\n\t[items]=\"selectionItems() || items()\"\r\n\t[valueExpr]=\"itemKey()\"\r\n\t[displayExpr]=\"itemText()\"\r\n\t[searchEnabled]=\"true\"\r\n\t[searchExpr]=\"searchExpr()\"\r\n\t[tabIndex]=\"tabindex()\"\r\n\t[grouped]=\"grouped()\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[showClearButton]=\"showClearButton()\"\r\n\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\tvalidationMessagePosition=\"top\"\r\n\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t(onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n\t[inputAttr]=\"{ 'title': selectedItemText }\">\r\n</dx-select-box>\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DxSelectBoxModule }, { kind: "component", type: i5.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: DXInputErrorMessagePipe, name: "dxInputErrorMessage" }, { kind: "ngmodule", type: TranslocoModule }] }); }
|
|
53
60
|
}
|
|
54
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SelectBoxComponent, decorators: [{
|
|
55
62
|
type: Component,
|
|
56
|
-
args: [{ standalone: true, selector: 'aril-select-box[formControl], aril-select-box[formControlName]', imports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe, TranslocoModule], providers: [InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], template: "<dx-select-box\r\n\t[items]=\"selectionItems() || items()\"\r\n\t[valueExpr]=\"itemKey()\"\r\n\t[displayExpr]=\"itemText()\"\r\n\t[searchEnabled]=\"true\"\r\n\t[searchExpr]=\"searchExpr()\"\r\n\t[tabIndex]=\"tabindex()\"\r\n\t[grouped]=\"grouped()\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[showClearButton]=\"showClearButton()\"\r\n\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\tvalidationMessagePosition=\"top\"\r\n\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t(onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem)\">\r\n</dx-select-box>\r\n" }]
|
|
63
|
+
args: [{ standalone: true, selector: 'aril-select-box[formControl], aril-select-box[formControlName]', imports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe, TranslocoModule], providers: [InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], template: "<dx-select-box\r\n\t[items]=\"selectionItems() || items()\"\r\n\t[valueExpr]=\"itemKey()\"\r\n\t[displayExpr]=\"itemText()\"\r\n\t[searchEnabled]=\"true\"\r\n\t[searchExpr]=\"searchExpr()\"\r\n\t[tabIndex]=\"tabindex()\"\r\n\t[grouped]=\"grouped()\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[showClearButton]=\"showClearButton()\"\r\n\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\tvalidationMessagePosition=\"top\"\r\n\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t(onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n\t[inputAttr]=\"{ 'title': selectedItemText }\">\r\n</dx-select-box>\r\n" }]
|
|
57
64
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.TranslocoService }], propDecorators: { onSelectionChanged: [{
|
|
58
65
|
type: Output
|
|
59
66
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-selectBox.mjs","sources":["../../projects/aril/ui/selectBox/src/select-box.component.ts","../../projects/aril/ui/selectBox/src/select-box.component.html","../../projects/aril/ui/selectBox/aril-ui-selectBox.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Output, effect, input, signal } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport {\r\n\tBaseInputComponent,\r\n\tDXInputErrorMessagePipe,\r\n\tInputErrorMessagePipe,\r\n\tValueAccessorDirective\r\n} from 'aril/ui/lib';\r\n\r\nimport { SelectBoxItem, SelectionGroupDTO, SelectionRequestDTO } from './interfaces';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-select-box[formControl], aril-select-box[formControlName]',\r\n\ttemplateUrl: './select-box.component.html',\r\n\timports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe, TranslocoModule],\r\n\tproviders: [InputErrorMessagePipe],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class SelectBoxComponent extends BaseInputComponent {\r\n\titemKey = input('key');\r\n\titemText = input('text');\r\n\tgroupName = input('');\r\n\tparentSelectionKey = input(null);\r\n\ttabindex = input<number>(0);\r\n\titems = input.required<SelectBoxItem[]>();\r\n\r\n\tselectionItems = signal<SelectBoxItem[] | null>(null);\r\n\r\n\t/** * @description when grouped = true, option item structure { key:string, items:[] } */\r\n\tgrouped = input(false);\r\n\tshowClearButton = input<boolean>(true);\r\n\tplaceholder = input<string>('');\r\n\tsearchExpr = input<string | string[]>('');\r\n\r\n\t@Output() onSelectionChanged = new EventEmitter<SelectBoxItem>();\r\n\r\n\tconstructor(private http: HttpClient, public translocoService: TranslocoService) {\r\n\t\tsuper();\r\n\t\teffect(() => {\r\n\t\t\tif (this.groupName() || this.parentSelectionKey()) this.getSelectionItems();\r\n\t\t});\r\n\t}\r\n\r\n\tasync getSelectionItems() {\r\n\t\tconst payload: SelectionRequestDTO = {\r\n\t\t\tgroupName: this.groupName(),\r\n\t\t\tparentSelectionKey: this.parentSelectionKey()\r\n\t\t};\r\n\t\tconst hostApi = API_CONFIGS.api.replace(/\\/[^\\/]+\\/v1$/, `/host/v1`)\r\n\t\tconst selectionGroup = await firstValueFrom(\r\n\t\t\tthis.http.post<SelectionGroupDTO>(hostApi + '/selection-group/load', payload)\r\n\t\t);\r\n\r\n\t\tthis.selectionItems.set(\r\n\t\t\tselectionGroup?.selectionItems.map((item) => ({\r\n\t\t\t\tkey: item.selectionKey,\r\n\t\t\t\ttext: item.selectionDisplay,\r\n\t\t\t\tparentSelectionKey: item.parentSelectionKey\r\n\t\t\t}))\r\n\t\t);\r\n\t}\r\n}\r\n","<dx-select-box\r\n\t[items]=\"selectionItems() || items()\"\r\n\t[valueExpr]=\"itemKey()\"\r\n\t[displayExpr]=\"itemText()\"\r\n\t[searchEnabled]=\"true\"\r\n\t[searchExpr]=\"searchExpr()\"\r\n\t[tabIndex]=\"tabindex()\"\r\n\t[grouped]=\"grouped()\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[showClearButton]=\"showClearButton()\"\r\n\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\tvalidationMessagePosition=\"top\"\r\n\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t(onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem)\">\r\n</dx-select-box>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA0BM,MAAO,kBAAmB,SAAQ,kBAAkB,CAAA;IAkBzD,WAAoB,CAAA,IAAgB,EAAS,gBAAkC,EAAA;AAC9E,QAAA,KAAK,EAAE,CAAC;QADW,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAS,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAjB/E,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AACtB,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,CAAC,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAmB,CAAC;AAE1C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;;AAGtD,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAU,IAAI,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAS,EAAE,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAoB,EAAE,CAAC,CAAC;AAEhC,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAiB,CAAC;QAIhE,MAAM,CAAC,MAAK;YACX,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC7E,SAAC,CAAC,CAAC;KACH;AAED,IAAA,MAAM,iBAAiB,GAAA;AACtB,QAAA,MAAM,OAAO,GAAwB;AACpC,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,YAAA,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE;SAC7C,CAAC;AACF,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAU,QAAA,CAAA,CAAC,CAAA;AACpE,QAAA,MAAM,cAAc,GAAG,MAAM,cAAc,CAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoB,OAAO,GAAG,uBAAuB,EAAE,OAAO,CAAC,CAC7E,CAAC;AAEF,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CACtB,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;YAC7C,GAAG,EAAE,IAAI,CAAC,YAAY;YACtB,IAAI,EAAE,IAAI,CAAC,gBAAgB;YAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC3C,CAAC,CAAC,CACH,CAAC;KACF;8GA1CW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAHnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gEAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,SAAA,EAAA,CAAC,qBAAqB,CAAC,ECvBnC,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,i2BAkBA,EDIW,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,QAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,cAAA,EAAA,OAAA,EAAA,WAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,YAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,6BAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,iCAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,uBAAuB,2DAAE,eAAe,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI9E,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;AACG,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,YACN,gEAAgE,EAAA,OAAA,EAEjE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,eAAe,CAAC,aAChF,CAAC,qBAAqB,CAAC,EAClB,cAAA,EAAA,CAAC,sBAAsB,CAAC,EAAA,QAAA,EAAA,i2BAAA,EAAA,CAAA;8GAkB9B,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;AE1CR;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"aril-ui-selectBox.mjs","sources":["../../projects/aril/ui/selectBox/src/select-box.component.ts","../../projects/aril/ui/selectBox/src/select-box.component.html","../../projects/aril/ui/selectBox/aril-ui-selectBox.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Output, effect, input, signal } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport {\r\n\tBaseInputComponent,\r\n\tDXInputErrorMessagePipe,\r\n\tInputErrorMessagePipe,\r\n\tValueAccessorDirective\r\n} from 'aril/ui/lib';\r\n\r\nimport { SelectBoxItem, SelectionGroupDTO, SelectionRequestDTO } from './interfaces';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-select-box[formControl], aril-select-box[formControlName]',\r\n\ttemplateUrl: './select-box.component.html',\r\n\timports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe, TranslocoModule],\r\n\tproviders: [InputErrorMessagePipe],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class SelectBoxComponent extends BaseInputComponent {\r\n\titemKey = input('key');\r\n\titemText = input('text');\r\n\tgroupName = input('');\r\n\tparentSelectionKey = input(null);\r\n\ttabindex = input<number>(0);\r\n\titems = input.required<SelectBoxItem[]>();\r\n\tselectedItemText: string = '';\r\n\r\n\tselectionItems = signal<SelectBoxItem[] | null>(null);\r\n\r\n\t/** * @description when grouped = true, option item structure { key:string, items:[] } */\r\n\tgrouped = input(false);\r\n\tshowClearButton = input<boolean>(true);\r\n\tplaceholder = input<string>('');\r\n\tsearchExpr = input<string | string[]>('');\r\n\r\n\t@Output() onSelectionChanged = new EventEmitter<SelectBoxItem>();\r\n\r\n\tconstructor(private http: HttpClient, public translocoService: TranslocoService) {\r\n\t\tsuper();\r\n\t\teffect(() => {\r\n\t\t\tif (this.groupName() || this.parentSelectionKey()) this.getSelectionItems();\r\n\t\t});\r\n\t}\r\n\r\n\tsetTitle(event?: any) {\r\n\t\tif (event && event[this.itemText()].length > 25) {\r\n\t\t\tthis.selectedItemText = event ? event[this.itemText()] : '';\r\n\t\t}\r\n\t\tthis.onSelectionChanged.emit(event);\r\n\t}\r\n\r\n\tasync getSelectionItems() {\r\n\t\tconst payload: SelectionRequestDTO = {\r\n\t\t\tgroupName: this.groupName(),\r\n\t\t\tparentSelectionKey: this.parentSelectionKey()\r\n\t\t};\r\n\t\tconst hostApi = API_CONFIGS.api.replace(/\\/[^\\/]+\\/v1$/, `/host/v1`)\r\n\t\tconst selectionGroup = await firstValueFrom(\r\n\t\t\tthis.http.post<SelectionGroupDTO>(hostApi + '/selection-group/load', payload)\r\n\t\t);\r\n\r\n\t\tthis.selectionItems.set(\r\n\t\t\tselectionGroup?.selectionItems.map((item) => ({\r\n\t\t\t\tkey: item.selectionKey,\r\n\t\t\t\ttext: item.selectionDisplay,\r\n\t\t\t\tparentSelectionKey: item.parentSelectionKey\r\n\t\t\t}))\r\n\t\t);\r\n\t}\r\n}\r\n","<dx-select-box\r\n\t[items]=\"selectionItems() || items()\"\r\n\t[valueExpr]=\"itemKey()\"\r\n\t[displayExpr]=\"itemText()\"\r\n\t[searchEnabled]=\"true\"\r\n\t[searchExpr]=\"searchExpr()\"\r\n\t[tabIndex]=\"tabindex()\"\r\n\t[grouped]=\"grouped()\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[showClearButton]=\"showClearButton()\"\r\n\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\tvalidationMessagePosition=\"top\"\r\n\t[noDataText]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t(onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem);setTitle($event.selectedItem)\"\r\n\t[inputAttr]=\"{ 'title': selectedItemText }\">\r\n</dx-select-box>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA0BM,MAAO,kBAAmB,SAAQ,kBAAkB,CAAA;IAmBzD,WAAoB,CAAA,IAAgB,EAAS,gBAAkC,EAAA;AAC9E,QAAA,KAAK,EAAE,CAAC;QADW,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAS,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAlB/E,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AACtB,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,CAAC,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAmB,CAAC;QAC1C,IAAgB,CAAA,gBAAA,GAAW,EAAE,CAAC;AAE9B,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;;AAGtD,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAU,IAAI,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAS,EAAE,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAoB,EAAE,CAAC,CAAC;AAEhC,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAiB,CAAC;QAIhE,MAAM,CAAC,MAAK;YACX,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC7E,SAAC,CAAC,CAAC;KACH;AAED,IAAA,QAAQ,CAAC,KAAW,EAAA;AACnB,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE;AAChD,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;SAC5D;AACD,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpC;AAED,IAAA,MAAM,iBAAiB,GAAA;AACtB,QAAA,MAAM,OAAO,GAAwB;AACpC,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,YAAA,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE;SAC7C,CAAC;AACF,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAU,QAAA,CAAA,CAAC,CAAA;AACpE,QAAA,MAAM,cAAc,GAAG,MAAM,cAAc,CAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoB,OAAO,GAAG,uBAAuB,EAAE,OAAO,CAAC,CAC7E,CAAC;AAEF,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CACtB,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;YAC7C,GAAG,EAAE,IAAI,CAAC,YAAY;YACtB,IAAI,EAAE,IAAI,CAAC,gBAAgB;YAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC3C,CAAC,CAAC,CACH,CAAC;KACF;8GAlDW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAHnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gEAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,SAAA,EAAA,CAAC,qBAAqB,CAAC,ECvBnC,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,k7BAmBA,EDGW,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,QAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,cAAA,EAAA,OAAA,EAAA,WAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,YAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,6BAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,iCAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,uBAAuB,2DAAE,eAAe,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI9E,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;AACG,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,YACN,gEAAgE,EAAA,OAAA,EAEjE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,eAAe,CAAC,aAChF,CAAC,qBAAqB,CAAC,EAClB,cAAA,EAAA,CAAC,sBAAsB,CAAC,EAAA,QAAA,EAAA,k7BAAA,EAAA,CAAA;8GAmB9B,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;AE3CR;;AAEG;;;;"}
|
|
@@ -59,11 +59,11 @@ class UserPickerComponent extends BaseInputComponent {
|
|
|
59
59
|
}, {});
|
|
60
60
|
}
|
|
61
61
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserPickerComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: UserPickerComponent, isStandalone: true, selector: "aril-user-picker[ngModel], aril-user-picker[formControl], aril-user-picker[formControlName]", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, baseUrl: { classPropertyName: "baseUrl", publicName: "baseUrl", isSignal: true, isRequired: false, transformFunction: null }, userEndPointUrl: { classPropertyName: "userEndPointUrl", publicName: "userEndPointUrl", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "autoCompleteRef", first: true, predicate: AutoComplete, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
|
|
62
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: UserPickerComponent, isStandalone: true, selector: "aril-user-picker[ngModel], aril-user-picker[formControl], aril-user-picker[formControlName]", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, baseUrl: { classPropertyName: "baseUrl", publicName: "baseUrl", isSignal: true, isRequired: false, transformFunction: null }, userEndPointUrl: { classPropertyName: "userEndPointUrl", publicName: "userEndPointUrl", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "autoCompleteRef", first: true, predicate: AutoComplete, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\tappendTo=\"body\"\r\n\t>\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
|
|
63
63
|
}
|
|
64
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserPickerComponent, decorators: [{
|
|
65
65
|
type: Component,
|
|
66
|
-
args: [{ standalone: true, selector: 'aril-user-picker[ngModel], aril-user-picker[formControl], aril-user-picker[formControlName]', imports: [ReactiveFormsModule, AutoCompleteModule], hostDirectives: [ValueAccessorDirective], template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n" }]
|
|
66
|
+
args: [{ standalone: true, selector: 'aril-user-picker[ngModel], aril-user-picker[formControl], aril-user-picker[formControlName]', imports: [ReactiveFormsModule, AutoCompleteModule], hostDirectives: [ValueAccessorDirective], template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\tappendTo=\"body\"\r\n\t>\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n" }]
|
|
67
67
|
}], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { autoCompleteRef: [{
|
|
68
68
|
type: ViewChild,
|
|
69
69
|
args: [AutoComplete]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-userPicker.mjs","sources":["../../projects/aril/ui/userPicker/src/user-picker.component.ts","../../projects/aril/ui/userPicker/src/user-picker.component.html","../../projects/aril/ui/userPicker/aril-ui-userPicker.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { AfterViewInit, Component, ViewChild, input } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ObjectUtils } from 'primeng/utils';\r\n\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { BaseInputComponent, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport {\r\n\tSuggestionsDTO,\r\n\tSuggestionsGroupDTO,\r\n\tUserResponseDTO\r\n} from './interface';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-user-picker[ngModel], aril-user-picker[formControl], aril-user-picker[formControlName]',\r\n\ttemplateUrl: './user-picker.component.html',\r\n\timports: [ReactiveFormsModule, AutoCompleteModule],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class UserPickerComponent extends BaseInputComponent implements AfterViewInit {\r\n\t@ViewChild(AutoComplete) autoCompleteRef!: AutoComplete;\r\n\r\n\tplaceholder = input<string>('Arama...');\r\n\tforceSelection = input<boolean>(false);\r\n\tmultiple = input<boolean>(false);\r\n\toptionValue = input<keyof SuggestionsDTO | null>(null);\r\n\r\n\tfilteredSelectionItems!: SuggestionsGroupDTO[];\r\n\tbaseUrl = input<string | null>('http://yeap.edas1.com/mw/v1'); // default\r\n\tuserEndPointUrl = input<string>('/user-management/users/search/'); // default\r\n\tconstructor(private http: HttpClient) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);\r\n\t}\r\n\r\n\tgetOptionValue(option: any) {\r\n\t\treturn this.optionValue()\r\n\t\t\t? typeof option === 'object'\r\n\t\t\t\t? ObjectUtils.resolveFieldData(option, this.optionValue())\r\n\t\t\t\t: option\r\n\t\t\t: option;\r\n\t}\r\n\r\n\tasync search(event: any) {\r\n\t\tconst userGroup: UserResponseDTO[] = await firstValueFrom(\r\n\t\t\tthis.http.get<any>(this.baseUrl() + this.userEndPointUrl() + event.query)\r\n\t\t);\r\n\r\n\t\tconst groupedUserSelectionItems: { [key: string]: UserResponseDTO[] } = this.groupByUserName(userGroup);\r\n\t\tconst newFilteredGroupSuggestions: SuggestionsGroupDTO[] = [];\r\n\t\tObject.keys(groupedUserSelectionItems).map((key: string) => {\r\n\t\t\tconst groupData: SuggestionsGroupDTO = { text: key, key: key, items: [] };\r\n\t\t\tgroupedUserSelectionItems[key].map((item: UserResponseDTO) => {\r\n\t\t\t\tgroupData.items.push({\r\n\t\t\t\t\tkey: item.id,\r\n\t\t\t\t\ttext: item.firstName + ' ' + item.lastName\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tnewFilteredGroupSuggestions.push(groupData);\r\n\t\t});\r\n\t\tthis.filteredSelectionItems = newFilteredGroupSuggestions;\r\n\t}\r\n\r\n\tgroupByUserName(array: UserResponseDTO[]): { [key: string]: UserResponseDTO[] } {\r\n\t\treturn array.reduce((result: { [key: string]: UserResponseDTO[] }, currentValue: UserResponseDTO) => {\r\n\t\t\tconst firstName = currentValue?.firstName || 'Unknown';\r\n\t\t\tif (!result[firstName]) {\r\n\t\t\t\tresult[firstName] = [];\r\n\t\t\t}\r\n\t\t\tresult[firstName].push(currentValue);\r\n\t\t\treturn result;\r\n\t\t}, {});\r\n\t}\r\n}\r\n","<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"aril-ui-userPicker.mjs","sources":["../../projects/aril/ui/userPicker/src/user-picker.component.ts","../../projects/aril/ui/userPicker/src/user-picker.component.html","../../projects/aril/ui/userPicker/aril-ui-userPicker.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { AfterViewInit, Component, ViewChild, input } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ObjectUtils } from 'primeng/utils';\r\n\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { BaseInputComponent, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport {\r\n\tSuggestionsDTO,\r\n\tSuggestionsGroupDTO,\r\n\tUserResponseDTO\r\n} from './interface';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-user-picker[ngModel], aril-user-picker[formControl], aril-user-picker[formControlName]',\r\n\ttemplateUrl: './user-picker.component.html',\r\n\timports: [ReactiveFormsModule, AutoCompleteModule],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class UserPickerComponent extends BaseInputComponent implements AfterViewInit {\r\n\t@ViewChild(AutoComplete) autoCompleteRef!: AutoComplete;\r\n\r\n\tplaceholder = input<string>('Arama...');\r\n\tforceSelection = input<boolean>(false);\r\n\tmultiple = input<boolean>(false);\r\n\toptionValue = input<keyof SuggestionsDTO | null>(null);\r\n\r\n\tfilteredSelectionItems!: SuggestionsGroupDTO[];\r\n\tbaseUrl = input<string | null>('http://yeap.edas1.com/mw/v1'); // default\r\n\tuserEndPointUrl = input<string>('/user-management/users/search/'); // default\r\n\tconstructor(private http: HttpClient) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);\r\n\t}\r\n\r\n\tgetOptionValue(option: any) {\r\n\t\treturn this.optionValue()\r\n\t\t\t? typeof option === 'object'\r\n\t\t\t\t? ObjectUtils.resolveFieldData(option, this.optionValue())\r\n\t\t\t\t: option\r\n\t\t\t: option;\r\n\t}\r\n\r\n\tasync search(event: any) {\r\n\t\tconst userGroup: UserResponseDTO[] = await firstValueFrom(\r\n\t\t\tthis.http.get<any>(this.baseUrl() + this.userEndPointUrl() + event.query)\r\n\t\t);\r\n\r\n\t\tconst groupedUserSelectionItems: { [key: string]: UserResponseDTO[] } = this.groupByUserName(userGroup);\r\n\t\tconst newFilteredGroupSuggestions: SuggestionsGroupDTO[] = [];\r\n\t\tObject.keys(groupedUserSelectionItems).map((key: string) => {\r\n\t\t\tconst groupData: SuggestionsGroupDTO = { text: key, key: key, items: [] };\r\n\t\t\tgroupedUserSelectionItems[key].map((item: UserResponseDTO) => {\r\n\t\t\t\tgroupData.items.push({\r\n\t\t\t\t\tkey: item.id,\r\n\t\t\t\t\ttext: item.firstName + ' ' + item.lastName\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tnewFilteredGroupSuggestions.push(groupData);\r\n\t\t});\r\n\t\tthis.filteredSelectionItems = newFilteredGroupSuggestions;\r\n\t}\r\n\r\n\tgroupByUserName(array: UserResponseDTO[]): { [key: string]: UserResponseDTO[] } {\r\n\t\treturn array.reduce((result: { [key: string]: UserResponseDTO[] }, currentValue: UserResponseDTO) => {\r\n\t\t\tconst firstName = currentValue?.firstName || 'Unknown';\r\n\t\t\tif (!result[firstName]) {\r\n\t\t\t\tresult[firstName] = [];\r\n\t\t\t}\r\n\t\t\tresult[firstName].push(currentValue);\r\n\t\t\treturn result;\r\n\t\t}, {});\r\n\t}\r\n}\r\n","<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\tappendTo=\"body\"\r\n\t>\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|