aril 2.0.1-dev.3 → 2.0.1-dev.5
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/boot/bridge/src/mfe-bridge.d.ts +33 -0
- package/boot/config/apps/src/interfaces.d.ts +7 -1
- package/boot/config/apps/src/route-close.service.d.ts +8 -3
- package/boot/config/apps/src/route-permissions.d.ts +2 -2
- package/esm2022/boot/bridge/src/mfe-bridge.mjs +18 -1
- package/esm2022/boot/config/api/src/interfaces.mjs +3 -2
- package/esm2022/boot/config/apps/src/apps.service.mjs +2 -2
- package/esm2022/boot/config/apps/src/custom-route-reuse-strategy.class.mjs +4 -4
- package/esm2022/boot/config/apps/src/interfaces.mjs +2 -1
- package/esm2022/boot/config/apps/src/route-close.service.mjs +11 -4
- package/esm2022/boot/config/apps/src/route-permissions.mjs +24 -6
- package/esm2022/boot/config/plugins/src/plugins.service.mjs +7 -5
- package/esm2022/boot/host/src/bootstrap.mjs +5 -3
- package/esm2022/boot/mfe/src/bootstrap.mjs +15 -3
- package/esm2022/http/index.mjs +1 -2
- package/esm2022/http/src/serviceBase.mjs +4 -4
- package/esm2022/http/src/serviceStateMethods.mjs +9 -1
- package/esm2022/keycloak/src/auth.interceptor.mjs +5 -2
- package/esm2022/selection/aril-selection.mjs +5 -0
- package/esm2022/selection/index.mjs +2 -0
- package/esm2022/selection/src/interfaces.mjs +2 -0
- package/esm2022/selection/src/selection-group.service.mjs +195 -0
- package/esm2022/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.mjs +2 -2
- package/esm2022/theme/layout/index.mjs +4 -2
- package/esm2022/theme/layout/service/breadcrumb-publisher.service.mjs +12 -4
- package/esm2022/theme/layout/service/interfaces/interfaces.mjs +1 -1
- package/esm2022/ui/button/index.mjs +1 -2
- package/esm2022/ui/button/src/button.component.mjs +5 -2
- package/esm2022/ui/charts/index.mjs +1 -11
- package/esm2022/ui/lib/index.mjs +1 -4
- package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +9 -5
- package/esm2022/ui/multiSelect/src/multi-select.component.mjs +25 -25
- package/esm2022/ui/relativeDateSelector/src/relative-date-selector.component.mjs +2 -2
- package/esm2022/ui/selectBox/src/select-box.component.mjs +11 -34
- package/esm2022/ui/table/src/table.component.mjs +10 -5
- package/esm2022/ui/value/src/value.component.mjs +3 -2
- package/esm2022/ui-business/enumPicker/src/enum-picker.component.mjs +14 -6
- package/esm2022/util/activity/aril-util-activity.mjs +5 -0
- package/esm2022/util/activity/index.mjs +4 -0
- package/esm2022/util/activity/src/activity.constants.mjs +4 -0
- package/esm2022/util/activity/src/activity.service.mjs +218 -0
- package/esm2022/util/activity/src/activity.types.mjs +2 -0
- package/esm2022/util/block/src/block.mjs +9 -25
- package/esm2022/util/pub-sub/src/pub-sub.service.mjs +10 -5
- package/fesm2022/{aril-app.component-s14ruALV.mjs → aril-app.component-MjG_tPEe.mjs} +2 -1
- package/fesm2022/{aril-app.component-s14ruALV.mjs.map → aril-app.component-MjG_tPEe.mjs.map} +1 -1
- package/fesm2022/aril-boot-bridge.mjs +17 -0
- package/fesm2022/aril-boot-bridge.mjs.map +1 -1
- package/fesm2022/aril-boot-config-api.mjs +2 -1
- package/fesm2022/aril-boot-config-api.mjs.map +1 -1
- package/fesm2022/aril-boot-config-apps.mjs +36 -12
- package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
- package/fesm2022/aril-boot-config-plugins.mjs +6 -4
- package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
- package/fesm2022/aril-boot-host.mjs +4 -2
- package/fesm2022/aril-boot-host.mjs.map +1 -1
- package/fesm2022/{aril-boot-mfe-app.component-AS4MzEo2.mjs → aril-boot-mfe-app.component-DtspQ3J8.mjs} +3 -2
- package/fesm2022/{aril-boot-mfe-app.component-AS4MzEo2.mjs.map → aril-boot-mfe-app.component-DtspQ3J8.mjs.map} +1 -1
- package/fesm2022/{aril-boot-mfe-aril-boot-mfe-Ui9Cv3UC.mjs → aril-boot-mfe-aril-boot-mfe-lovoFcgw.mjs} +16 -4
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-lovoFcgw.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe.mjs +2 -1
- package/fesm2022/aril-boot-mfe.mjs.map +1 -1
- package/fesm2022/aril-http.mjs +11 -7
- package/fesm2022/aril-http.mjs.map +1 -1
- package/fesm2022/aril-keycloak.mjs +4 -1
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril-selection.mjs +202 -0
- package/fesm2022/aril-selection.mjs.map +1 -0
- package/fesm2022/aril-theme-layout.mjs +14 -66
- package/fesm2022/aril-theme-layout.mjs.map +1 -1
- package/fesm2022/aril-ui-business-enumPicker.mjs +14 -6
- package/fesm2022/aril-ui-business-enumPicker.mjs.map +1 -1
- package/fesm2022/aril-ui-button.mjs +5 -17
- package/fesm2022/aril-ui-button.mjs.map +1 -1
- package/fesm2022/aril-ui-charts.mjs +4 -1302
- package/fesm2022/aril-ui-charts.mjs.map +1 -1
- package/fesm2022/aril-ui-lib.mjs +10 -98
- package/fesm2022/aril-ui-lib.mjs.map +1 -1
- package/fesm2022/aril-ui-multiSelect.mjs +24 -24
- package/fesm2022/aril-ui-multiSelect.mjs.map +1 -1
- package/fesm2022/aril-ui-relativeDateSelector.mjs +1 -1
- package/fesm2022/aril-ui-relativeDateSelector.mjs.map +1 -1
- package/fesm2022/aril-ui-selectBox.mjs +10 -33
- package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
- package/fesm2022/aril-ui-table.mjs +9 -4
- package/fesm2022/aril-ui-table.mjs.map +1 -1
- package/fesm2022/aril-ui-value.mjs +2 -1
- package/fesm2022/aril-ui-value.mjs.map +1 -1
- package/fesm2022/aril-util-activity.mjs +228 -0
- package/fesm2022/aril-util-activity.mjs.map +1 -0
- package/fesm2022/aril-util-block.mjs +9 -25
- package/fesm2022/aril-util-block.mjs.map +1 -1
- package/fesm2022/aril-util-pub-sub.mjs +9 -4
- package/fesm2022/aril-util-pub-sub.mjs.map +1 -1
- package/fesm2022/aril.mjs +18 -5
- package/fesm2022/aril.mjs.map +1 -1
- package/http/index.d.ts +0 -1
- package/http/src/serviceStateMethods.d.ts +1 -0
- package/package.json +210 -234
- package/scripts/mf-shared.js +47 -0
- package/selection/index.d.ts +1 -0
- package/selection/src/interfaces.d.ts +8 -0
- package/{theme/layout/service → selection/src}/selection-group.service.d.ts +9 -5
- package/theme/layout/index.d.ts +1 -1
- package/theme/layout/index.ts +3 -1
- package/theme/layout/service/breadcrumb-publisher.service.ts +18 -8
- package/theme/layout/service/interfaces/interfaces.d.ts +3 -17
- package/theme/layout/service/interfaces/interfaces.ts +6 -18
- package/ui/button/index.d.ts +0 -1
- package/ui/button/src/button.component.d.ts +2 -0
- package/ui/charts/index.d.ts +0 -10
- package/ui/lib/index.d.ts +0 -3
- package/ui/lib/src/form/form-error-message.directive.d.ts +4 -3
- package/ui/multiSelect/src/multi-select.component.d.ts +4 -5
- package/ui/selectBox/src/select-box.component.d.ts +2 -7
- package/ui/table/src/table.component.d.ts +3 -2
- package/util/activity/index.d.ts +3 -0
- package/util/activity/src/activity.constants.d.ts +3 -0
- package/util/activity/src/activity.service.d.ts +35 -0
- package/util/activity/src/activity.types.d.ts +13 -0
- package/util/block/src/block.d.ts +4 -10
- package/util/pub-sub/src/pub-sub.service.d.ts +2 -2
- package/esm2022/http/src/serviceMockBase.mjs +0 -4
- package/esm2022/theme/layout/service/selection-group.service.mjs +0 -65
- package/esm2022/ui/button/src/split-button.component.mjs +0 -18
- package/esm2022/ui/charts/src/amCharts/column/column-chart.component.mjs +0 -124
- package/esm2022/ui/charts/src/amCharts/line/line-chart.component.mjs +0 -164
- package/esm2022/ui/charts/src/amCharts/pie/pie-chart.component.mjs +0 -116
- package/esm2022/ui/charts/src/highCharts/area/area-chart.component.mjs +0 -114
- package/esm2022/ui/charts/src/highCharts/bar/bar-chart.component.mjs +0 -100
- package/esm2022/ui/charts/src/highCharts/column/column-chart.component.mjs +0 -117
- package/esm2022/ui/charts/src/highCharts/heatmap/heatMap-chart.component.mjs +0 -252
- package/esm2022/ui/charts/src/highCharts/line/line-chart-series.component.mjs +0 -89
- package/esm2022/ui/charts/src/highCharts/line/line-chart.component.mjs +0 -82
- package/esm2022/ui/charts/src/highCharts/pie/pie-chart.component.mjs +0 -137
- package/esm2022/ui/charts/src/theme/theme.mjs +0 -54
- package/esm2022/ui/dxEditor/aril-ui-dxEditor.mjs +0 -5
- package/esm2022/ui/dxEditor/index.mjs +0 -2
- package/esm2022/ui/dxEditor/src/dx-editor.component.mjs +0 -26
- package/esm2022/ui/lib/src/form/form-field-builder.mjs +0 -23
- package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +0 -49
- package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +0 -25
- package/esm2022/ui/overlayPanel/aril-ui-overlayPanel.mjs +0 -5
- package/esm2022/ui/overlayPanel/index.mjs +0 -2
- package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +0 -20
- package/esm2022/ui/tooltip/aril-ui-tooltip.mjs +0 -5
- package/esm2022/ui/tooltip/index.mjs +0 -2
- package/esm2022/ui/tooltip/src/tooltip-component.mjs +0 -23
- package/esm2022/ui/treeTable/aril-ui-treeTable.mjs +0 -5
- package/esm2022/ui/treeTable/index.mjs +0 -2
- package/esm2022/ui/treeTable/src/tree-table.component.mjs +0 -55
- package/esm2022/ui-business/operation-types-dialog/aril-ui-business-operation-types-dialog.mjs +0 -5
- package/esm2022/ui-business/operation-types-dialog/index.mjs +0 -2
- package/esm2022/ui-business/operation-types-dialog/src/operation-types-dialog.component.mjs +0 -76
- package/esm2022/util/unwrap/aril-util-unwrap.mjs +0 -5
- package/esm2022/util/unwrap/index.mjs +0 -2
- package/esm2022/util/unwrap/src/unwrap-tag.directive.mjs +0 -24
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-Ui9Cv3UC.mjs.map +0 -1
- package/fesm2022/aril-ui-business-operation-types-dialog.mjs +0 -83
- package/fesm2022/aril-ui-business-operation-types-dialog.mjs.map +0 -1
- package/fesm2022/aril-ui-dxEditor.mjs +0 -33
- package/fesm2022/aril-ui-dxEditor.mjs.map +0 -1
- package/fesm2022/aril-ui-overlayPanel.mjs +0 -27
- package/fesm2022/aril-ui-overlayPanel.mjs.map +0 -1
- package/fesm2022/aril-ui-tooltip.mjs +0 -30
- package/fesm2022/aril-ui-tooltip.mjs.map +0 -1
- package/fesm2022/aril-ui-treeTable.mjs +0 -62
- package/fesm2022/aril-ui-treeTable.mjs.map +0 -1
- package/fesm2022/aril-util-unwrap.mjs +0 -31
- package/fesm2022/aril-util-unwrap.mjs.map +0 -1
- package/http/src/serviceMockBase.d.ts +0 -6
- package/theme/layout/service/selection-group.service.ts +0 -73
- package/ui/button/src/split-button.component.d.ts +0 -8
- package/ui/charts/src/amCharts/column/column-chart.component.d.ts +0 -25
- package/ui/charts/src/amCharts/line/line-chart.component.d.ts +0 -26
- package/ui/charts/src/amCharts/pie/pie-chart.component.d.ts +0 -24
- package/ui/charts/src/highCharts/area/area-chart.component.d.ts +0 -20
- package/ui/charts/src/highCharts/bar/bar-chart.component.d.ts +0 -26
- package/ui/charts/src/highCharts/column/column-chart.component.d.ts +0 -28
- package/ui/charts/src/highCharts/heatmap/heatMap-chart.component.d.ts +0 -32
- package/ui/charts/src/highCharts/line/line-chart-series.component.d.ts +0 -21
- package/ui/charts/src/highCharts/line/line-chart.component.d.ts +0 -21
- package/ui/charts/src/highCharts/pie/pie-chart.component.d.ts +0 -27
- package/ui/charts/src/theme/theme.d.ts +0 -5
- package/ui/dxEditor/index.d.ts +0 -1
- package/ui/dxEditor/src/dx-editor.component.d.ts +0 -11
- package/ui/lib/src/form/form-field-builder.d.ts +0 -8
- package/ui/lib/src/input/common-input-validators.service.d.ts +0 -20
- package/ui/lib/src/input/input-disabled.directive.d.ts +0 -9
- package/ui/overlayPanel/index.d.ts +0 -1
- package/ui/overlayPanel/src/overlay-panel.component.d.ts +0 -8
- package/ui/tooltip/index.d.ts +0 -1
- package/ui/tooltip/src/tooltip-component.d.ts +0 -14
- package/ui/treeTable/index.d.ts +0 -1
- package/ui/treeTable/src/tree-table.component.d.ts +0 -21
- package/ui-business/operation-types-dialog/index.d.ts +0 -1
- package/ui-business/operation-types-dialog/src/operation-types-dialog.component.d.ts +0 -28
- package/util/unwrap/index.d.ts +0 -1
- package/util/unwrap/src/unwrap-tag.directive.d.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-lib.mjs","sources":["../../projects/aril/ui/lib/src/form/form-error-message.component.ts","../../projects/aril/ui/lib/src/form/form-error-message.directive.ts","../../projects/aril/ui/lib/src/form/form-validation.ts","../../projects/aril/ui/lib/src/form/form-field-builder.ts","../../projects/aril/ui/lib/src/grid/flex-grid.directive.ts","../../projects/aril/ui/lib/src/grid/enum-color-picker.pipe.ts","../../projects/aril/ui/lib/src/input/baseInput.ts","../../projects/aril/ui/lib/src/input/common-input-validators.service.ts","../../projects/aril/ui/lib/src/input/input-error-message.pipe.ts","../../projects/aril/ui/lib/src/input/dx-input-error-message.pipe.ts","../../projects/aril/ui/lib/src/input/input-disabled.directive.ts","../../projects/aril/ui/lib/src/input/input-transforms.ts","../../projects/aril/ui/lib/src/input/value-accessor.directive.ts","../../projects/aril/ui/lib/index.ts","../../projects/aril/ui/lib/aril-ui-lib.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ValidationErrors } from '@angular/forms';\r\n\r\nimport { Message } from 'primeng/api';\r\nimport { MessagesModule } from 'primeng/messages';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\timports: [MessagesModule],\r\n\ttemplate: `\r\n\t\t<div class=\"flex gap-2 formErrorMessage\">\r\n\t\t\t<p-messages [(value)]=\"_pMessages\" [enableService]=\"false\" [closable]=\"false\"></p-messages>\r\n\t\t</div>\r\n\t`,\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class FormErrorMessagesComponent {\r\n\t_pMessages!: Message[];\r\n\r\n\t@Input() set messages(messages: ValidationErrors | null) {\r\n\t\tthis._pMessages = Object.values(messages!).map((msg) => {\r\n\t\t\treturn { severity: 'error', summary: '', detail: msg };\r\n\t\t});\r\n\t}\r\n}\r\n","/* eslint-disable @angular-eslint/directive-selector */\r\nimport { ComponentRef, Directive, OnInit, ViewContainerRef, input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { FormErrorMessagesComponent } from './form-error-message.component';\r\n\r\n@Directive({\r\n\tstandalone: true,\r\n\tselector: '[formErrorMessage]'\r\n})\r\nexport class FormErrorMessageDirective implements OnInit {\r\n\tconstructor(private viewContainerRef: ViewContainerRef) {}\r\n\r\n\tformErrorMessage = input.required<FormGroup>();\r\n\r\n\terrorKeys: string[] = [];\r\n\tcomponentRef!: ComponentRef<FormErrorMessagesComponent>;\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.formErrorMessage().statusChanges.subscribe((status) => {\r\n\t\t\tif (this.componentRef) this.viewContainerRef.remove();\r\n\r\n\t\t\tif (status === 'INVALID') {\r\n\t\t\t\tif (this.formErrorMessage().errors) {\r\n\t\t\t\t\tthis.componentRef = this.viewContainerRef.createComponent(FormErrorMessagesComponent);\r\n\t\t\t\t\tthis.componentRef.instance.messages = this.formErrorMessage().errors;\r\n\t\t\t\t\tthis.viewContainerRef.insert(this.componentRef.hostView);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","import { FormArray, FormControl, FormGroup } from '@angular/forms';\r\n\r\nexport const checkValidInputs = (formGroup: FormGroup | FormArray) => {\r\n\tObject.keys(formGroup.controls).forEach((field) => {\r\n\t\tconst control = formGroup.get(field);\r\n\r\n\t\tif (control instanceof FormControl) {\r\n\t\t\tcontrol.markAsTouched({ onlySelf: true });\r\n\t\t\tcontrol.markAsDirty({ onlySelf: true });\r\n\t\t} else if (control instanceof FormGroup || control instanceof FormArray) {\r\n\t\t\tcheckValidInputs(control);\r\n\t\t}\r\n\t});\r\n};\r\n","import { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\r\n\r\nexport const addControlsWithValidation = (\r\n\tform: FormGroup,\r\n\tcontrols: { name: string; validator?: ValidatorFn; disabled?: boolean }[]\r\n) => {\r\n\tcontrols.forEach((control) => {\r\n\t\tif (!form.contains(control.name)) {\r\n\t\t\tform.addControl(\r\n\t\t\t\tcontrol.name,\r\n\t\t\t\tnew FormControl({ value: null, disabled: control?.disabled || false }, control.validator)\r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const removeControls = (form: FormGroup, controlNames: string[]) => {\r\n\tcontrolNames.forEach((controlName) => {\r\n\t\tif (form.contains(controlName)) {\r\n\t\t\tform.removeControl(controlName);\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const updateValueAndValidities = (form: FormGroup, controlNames: string[]) => {\r\n\tcontrolNames.forEach((controlName) => {\r\n\t\tif (form.contains(controlName)) {\r\n\t\t\tform.get(controlName)?.updateValueAndValidity();\r\n\t\t}\r\n\t});\r\n};\r\n","/* eslint-disable @angular-eslint/directive-selector */\r\nimport { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n\tstandalone: true,\r\n\tselector: '[flexGrid]'\r\n})\r\nexport class FlexGridDirective {\r\n\t@HostBinding('class') hostClass = 'grid p-fluid m-0 p-0';\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n\tstandalone: true,\r\n\tname: 'enumColorPicker'\r\n})\r\nexport class EnumColorPickerPipe implements PipeTransform {\r\n\tenumColorList = [\r\n\t\t'#74C2E6',\r\n\t\t'#5EBAE0',\r\n\t\t'#2C9CCB',\r\n\t\t'#1D7DAC',\r\n\t\t'#19658B',\r\n\t\t'#185574',\r\n\t\t'#7D85FC',\r\n\t\t'#5957F5',\r\n\t\t'#194761',\r\n\t\t'#5141EA'\r\n\t] as const;\r\n\r\n\ttransform(name: string | number): string {\r\n\t\tconst nameHash = this.getNameHash(String(name));\r\n\t\treturn this.enumColorList[nameHash % this.enumColorList.length];\r\n\t}\r\n\r\n\tprivate getNameHash(name: string): number {\r\n\t\treturn (\r\n\t\t\t[...name].reduce((acc, char, index) => acc + char.charCodeAt(0) * (index + 1), 0) % this.enumColorList.length\r\n\t\t);\r\n\t}\r\n}\r\n\r\ninterface Value {}\r\n","import { inject } from '@angular/core';\r\nimport { FormControlDirective, FormControlName, NgControl, NgModel } from '@angular/forms';\r\n\r\nimport { TooltipOptions } from 'primeng/api';\r\n\r\nexport abstract class BaseInputComponent {\r\n\tngControl = injectNgControl();\r\n\r\n\ttooltipOptions: TooltipOptions = {\r\n\t\ttooltipPosition: 'top',\r\n\t\ttooltipEvent: 'focus',\r\n\t\ttooltipStyleClass: 'tooltipErrorMessage'\r\n\t};\r\n}\r\n\r\nexport function injectNgControl() {\r\n\tconst ngControl = inject(NgControl, { self: true, optional: true });\r\n\r\n\tif (!ngControl) throw new Error('NgModel or FormControlName or FormControlDirective is required');\r\n\r\n\tif (\r\n\t\tngControl instanceof NgModel ||\r\n\t\tngControl instanceof FormControlName ||\r\n\t\tngControl instanceof FormControlDirective\r\n\t) {\r\n\t\treturn ngControl;\r\n\t}\r\n\r\n\tthrow new Error('Something went wrong in InjectNgControl');\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nimport 'aril/util/primitive-extensions';\r\n\r\ntype DateRangeFormat = 'minute' | 'hour' | 'day' | 'month' | 'year';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CommonInputValidatorsService {\r\n\t/**\r\n\t * @param sdCtrlName - name of the start date form control\r\n\t * @param edCtrlName - name of the end date form control\r\n\t * @param rangeValue - range between start and end date. Default value is 1\r\n\t * @param rangeFormat - format of the range. Default value is \"day\"\r\n\t */\r\n\tdateRange(sdCtrlName: string, edCtrlName: string, rangeValue = 0, rangeFormat: DateRangeFormat = 'day'): ValidatorFn {\r\n\t\treturn (control: AbstractControl): ValidationErrors | null => {\r\n\t\t\tconst start: number = control.get(sdCtrlName)?.value;\r\n\t\t\tconst end: number = control.get(edCtrlName)?.value;\r\n\r\n\t\t\tconst startJSDate = start.longToDate();\r\n\t\t\tconst endJSDate = end.longToDate();\r\n\r\n\t\t\tif (startJSDate && endJSDate) {\r\n\t\t\t\tconst isRangeValid = endJSDate.getTime() - startJSDate.getTime() > rangeValue;\r\n\r\n\t\t\t\treturn isRangeValid ? null : (\r\n\t\t\t\t\t\t{ dateRange: `The end date must be at least ${rangeValue} ${rangeFormat} bigger than the start date` }\r\n\t\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\treturn null;\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * @description - pasword match vs.\r\n\t */\r\n\tstrictMatch(controlName: string, matchingControlName: string): ValidatorFn {\r\n\t\treturn (control: AbstractControl): ValidationErrors | null => {\r\n\t\t\tconst firstField = control.get(controlName);\r\n\t\t\tconst secondField = control.get(matchingControlName);\r\n\r\n\t\t\tif (!firstField || !secondField) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tif (firstField.value !== secondField.value) {\r\n\t\t\t\treturn { strictMatch: `${controlName} and ${matchingControlName} do not match` };\r\n\t\t\t}\r\n\r\n\t\t\treturn null;\r\n\t\t};\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\n@Pipe({\r\n\tstandalone: true,\r\n\tname: 'inputErrorMessage'\r\n})\r\nexport class InputErrorMessagePipe implements PipeTransform {\r\n\tconstructor(private translocoService: TranslocoService) {}\r\n\r\n\ttransform(value: any, ...args: any[]): string {\r\n\t\tconst control = args[0];\r\n\t\tconst errorKeys = Object.keys(control.errors || {});\r\n\r\n\t\tif (errorKeys.length) {\r\n\t\t\tconst errorKey = errorKeys[0];\r\n\t\t\tconst errorValue = control.errors![errorKey];\r\n\r\n\t\t\tswitch (errorKey) {\r\n\t\t\t\tcase 'required':\r\n\t\t\t\t\treturn this.translocoService.translate('validations.required');\r\n\r\n\t\t\t\tcase 'min':\r\n\t\t\t\t\treturn `Minimum value is ${errorValue.min}`;\r\n\r\n\t\t\t\tcase 'max':\r\n\t\t\t\t\treturn `Maximum value is ${errorValue.max}`;\r\n\r\n\t\t\t\tcase 'minlength':\r\n\t\t\t\t\treturn `Minimum length is ${errorValue.requiredLength}`;\r\n\r\n\t\t\t\tcase 'maxlength':\r\n\t\t\t\t\treturn `Maximum length is ${errorValue.requiredLength}`;\r\n\r\n\t\t\t\tcase 'email':\r\n\t\t\t\t\treturn 'Invalid email';\r\n\r\n\t\t\t\tcase 'pattern':\r\n\t\t\t\t\treturn 'Invalid format';\r\n\r\n\t\t\t\tcase 'invalidIBAN':\r\n\t\t\t\t\tif (control.errors['error'].invalidCodeLength)\r\n\t\t\t\t\t\treturn this.translocoService.translate('validations.invalidIBANLength');\r\n\t\t\t\t\telse if (control.errors['error'].unsupportedCountry)\r\n\t\t\t\t\t\treturn this.translocoService.translate('validations.unsupportedCountry');\r\n\t\t\t\t\treturn this.translocoService.translate('validations.invalidIBAN');\r\n\r\n\t\t\t\tcase 'invalidTCKN':\r\n\t\t\t\t\treturn this.translocoService.translate('validations.invalidTCKN');\r\n\r\n\t\t\t\tcase 'invalidTurkishIdentityNumber':\r\n\t\t\t\tcase 'invalidTemporalIdentityNumber':\r\n\t\t\t\tcase 'invalidPassportNumber':\r\n\t\t\t\tcase 'invalidForeignIdentityNumber':\r\n\t\t\t\tcase 'invalidTaxIdentificationNumber':\r\n\t\t\t\t\treturn '';\r\n\r\n\t\t\t\tcase 'minArrayLength':\r\n\t\t\t\t\treturn this.translocoService.translate('validations.minArrayLength', {\r\n\t\t\t\t\t\tmin: errorValue.requiredLength,\r\n\t\t\t\t\t\tactual: errorValue.actualLength\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\tcase 'maxArrayLength':\r\n\t\t\t\t\treturn this.translocoService.translate('validations.maxArrayLength', {\r\n\t\t\t\t\t\tmax: errorValue.requiredLength,\r\n\t\t\t\t\t\tactual: errorValue.actualLength\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn errorValue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn '';\r\n\t}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Pipe, PipeTransform, inject } from '@angular/core';\r\n\r\nimport { InputErrorMessagePipe } from './input-error-message.pipe';\r\n\r\n@Pipe({\r\n\tstandalone: true,\r\n\tname: 'dxInputErrorMessage'\r\n})\r\nexport class DXInputErrorMessagePipe implements PipeTransform {\r\n\terrorMsgPipe = inject(InputErrorMessagePipe);\r\n\r\n\ttransform(value: any, ...args: any[]): { message: string } {\r\n\t\treturn { message: this.errorMsgPipe.transform(value, ...args) };\r\n\t}\r\n}\r\n","import { Directive, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n\tstandalone: true,\r\n\tselector: '[arilDisabled]'\r\n})\r\nexport class InputDisabledDirective {\r\n\tconstructor(private ngControl: NgControl) {}\r\n\r\n\t@Input() set arilDisabled(condition: boolean) {\r\n\t\tconst action = condition ? 'disable' : 'enable';\r\n\t\tif (this.ngControl.control) this.ngControl.control[action]();\r\n\t}\r\n}\r\n","import { PrimeIcons } from 'primeng/api';\r\n\r\nexport type PrimeIcon = Exclude<keyof typeof PrimeIcons, 'prototype'>;\r\nexport function iconTransform(icon: PrimeIcon): string {\r\n\treturn PrimeIcons[icon];\r\n}\r\n\r\nexport type IconPosTypes = 'right' | 'left';\r\nexport function iconPosTransform(pos: IconPosTypes): string {\r\n\treturn 'p-input-icon-' + pos;\r\n}\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Directive} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Directive({\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tmulti: true,\r\n\t\t\tuseExisting: ValueAccessorDirective\r\n\t\t}\r\n\t]\r\n})\r\nexport class ValueAccessorDirective implements ControlValueAccessor {\r\n\r\n\twriteValue(obj: any): void {\r\n\t\treturn\r\n\t}\r\n\r\n\tregisterOnChange(fn: any): void {\r\n\t\treturn;\r\n\t}\r\n\r\n\tregisterOnTouched(fn: any): void {\r\n\t\treturn;\r\n\t}\r\n\r\n}","/* form */\r\nexport * from './src/form/form-error-message.directive';\r\nexport * from './src/form/form-validation';\r\nexport * from './src/form/form-field-builder';\r\n\r\n/* grid */\r\nexport * from './src/grid/flex-grid.directive';\r\nexport * from './src/grid/enum-color-picker.pipe';\r\n\r\n/* input */\r\nexport * from './src/input/baseInput';\r\nexport * from './src/input/common-input-validators.service';\r\nexport * from './src/input/dx-input-error-message.pipe';\r\nexport * from './src/input/input-disabled.directive';\r\nexport * from './src/input/input-error-message.pipe';\r\nexport * from './src/input/input-transforms';\r\nexport * from './src/input/value-accessor.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aril-ui-lib.mjs","sources":["../../projects/aril/ui/lib/src/form/form-error-message.component.ts","../../projects/aril/ui/lib/src/form/form-error-message.directive.ts","../../projects/aril/ui/lib/src/form/form-validation.ts","../../projects/aril/ui/lib/src/grid/flex-grid.directive.ts","../../projects/aril/ui/lib/src/grid/enum-color-picker.pipe.ts","../../projects/aril/ui/lib/src/input/baseInput.ts","../../projects/aril/ui/lib/src/input/input-error-message.pipe.ts","../../projects/aril/ui/lib/src/input/dx-input-error-message.pipe.ts","../../projects/aril/ui/lib/src/input/input-transforms.ts","../../projects/aril/ui/lib/src/input/value-accessor.directive.ts","../../projects/aril/ui/lib/index.ts","../../projects/aril/ui/lib/aril-ui-lib.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ValidationErrors } from '@angular/forms';\r\n\r\nimport { Message } from 'primeng/api';\r\nimport { MessagesModule } from 'primeng/messages';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\timports: [MessagesModule],\r\n\ttemplate: `\r\n\t\t<div class=\"flex gap-2 formErrorMessage\">\r\n\t\t\t<p-messages [(value)]=\"_pMessages\" [enableService]=\"false\" [closable]=\"false\"></p-messages>\r\n\t\t</div>\r\n\t`,\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class FormErrorMessagesComponent {\r\n\t_pMessages!: Message[];\r\n\r\n\t@Input() set messages(messages: ValidationErrors | null) {\r\n\t\tthis._pMessages = Object.values(messages!).map((msg) => {\r\n\t\t\treturn { severity: 'error', summary: '', detail: msg };\r\n\t\t});\r\n\t}\r\n}\r\n","/* eslint-disable @angular-eslint/directive-selector */\r\nimport { ComponentRef, DestroyRef, Directive, OnInit, ViewContainerRef, input } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { FormErrorMessagesComponent } from './form-error-message.component';\r\n\r\n@Directive({\r\n\tstandalone: true,\r\n\tselector: '[formErrorMessage]'\r\n})\r\nexport class FormErrorMessageDirective implements OnInit {\r\n\tconstructor(\r\n\t\tprivate readonly viewContainerRef: ViewContainerRef,\r\n\t\tprivate readonly destroyRef: DestroyRef\r\n\t) {}\r\n\r\n\tformErrorMessage = input.required<FormGroup>();\r\n\r\n\terrorKeys: string[] = [];\r\n\tcomponentRef!: ComponentRef<FormErrorMessagesComponent>;\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.formErrorMessage()\r\n\t\t\t.statusChanges.pipe(takeUntilDestroyed(this.destroyRef))\r\n\t\t\t.subscribe((status) => {\r\n\t\t\t\tif (this.componentRef) this.viewContainerRef.remove();\r\n\r\n\t\t\t\tif (status === 'INVALID') {\r\n\t\t\t\t\tif (this.formErrorMessage().errors) {\r\n\t\t\t\t\t\tthis.componentRef = this.viewContainerRef.createComponent(FormErrorMessagesComponent);\r\n\t\t\t\t\t\tthis.componentRef.instance.messages = this.formErrorMessage().errors;\r\n\t\t\t\t\t\tthis.viewContainerRef.insert(this.componentRef.hostView);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n}\r\n","import { FormArray, FormControl, FormGroup } from '@angular/forms';\r\n\r\nexport const checkValidInputs = (formGroup: FormGroup | FormArray) => {\r\n\tObject.keys(formGroup.controls).forEach((field) => {\r\n\t\tconst control = formGroup.get(field);\r\n\r\n\t\tif (control instanceof FormControl) {\r\n\t\t\tcontrol.markAsTouched({ onlySelf: true });\r\n\t\t\tcontrol.markAsDirty({ onlySelf: true });\r\n\t\t} else if (control instanceof FormGroup || control instanceof FormArray) {\r\n\t\t\tcheckValidInputs(control);\r\n\t\t}\r\n\t});\r\n};\r\n","/* eslint-disable @angular-eslint/directive-selector */\r\nimport { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n\tstandalone: true,\r\n\tselector: '[flexGrid]'\r\n})\r\nexport class FlexGridDirective {\r\n\t@HostBinding('class') hostClass = 'grid p-fluid m-0 p-0';\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n\tstandalone: true,\r\n\tname: 'enumColorPicker'\r\n})\r\nexport class EnumColorPickerPipe implements PipeTransform {\r\n\tenumColorList = [\r\n\t\t'#74C2E6',\r\n\t\t'#5EBAE0',\r\n\t\t'#2C9CCB',\r\n\t\t'#1D7DAC',\r\n\t\t'#19658B',\r\n\t\t'#185574',\r\n\t\t'#7D85FC',\r\n\t\t'#5957F5',\r\n\t\t'#194761',\r\n\t\t'#5141EA'\r\n\t] as const;\r\n\r\n\ttransform(name: string | number): string {\r\n\t\tconst nameHash = this.getNameHash(String(name));\r\n\t\treturn this.enumColorList[nameHash % this.enumColorList.length];\r\n\t}\r\n\r\n\tprivate getNameHash(name: string): number {\r\n\t\treturn (\r\n\t\t\t[...name].reduce((acc, char, index) => acc + char.charCodeAt(0) * (index + 1), 0) % this.enumColorList.length\r\n\t\t);\r\n\t}\r\n}\r\n\r\ninterface Value {}\r\n","import { inject } from '@angular/core';\r\nimport { FormControlDirective, FormControlName, NgControl, NgModel } from '@angular/forms';\r\n\r\nimport { TooltipOptions } from 'primeng/api';\r\n\r\nexport abstract class BaseInputComponent {\r\n\tngControl = injectNgControl();\r\n\r\n\ttooltipOptions: TooltipOptions = {\r\n\t\ttooltipPosition: 'top',\r\n\t\ttooltipEvent: 'focus',\r\n\t\ttooltipStyleClass: 'tooltipErrorMessage'\r\n\t};\r\n}\r\n\r\nexport function injectNgControl() {\r\n\tconst ngControl = inject(NgControl, { self: true, optional: true });\r\n\r\n\tif (!ngControl) throw new Error('NgModel or FormControlName or FormControlDirective is required');\r\n\r\n\tif (\r\n\t\tngControl instanceof NgModel ||\r\n\t\tngControl instanceof FormControlName ||\r\n\t\tngControl instanceof FormControlDirective\r\n\t) {\r\n\t\treturn ngControl;\r\n\t}\r\n\r\n\tthrow new Error('Something went wrong in InjectNgControl');\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\n@Pipe({\r\n\tstandalone: true,\r\n\tname: 'inputErrorMessage'\r\n})\r\nexport class InputErrorMessagePipe implements PipeTransform {\r\n\tconstructor(private translocoService: TranslocoService) {}\r\n\r\n\ttransform(value: any, ...args: any[]): string {\r\n\t\tconst control = args[0];\r\n\t\tconst errorKeys = Object.keys(control.errors || {});\r\n\r\n\t\tif (errorKeys.length) {\r\n\t\t\tconst errorKey = errorKeys[0];\r\n\t\t\tconst errorValue = control.errors![errorKey];\r\n\r\n\t\t\tswitch (errorKey) {\r\n\t\t\t\tcase 'required':\r\n\t\t\t\t\treturn this.translocoService.translate('validations.required');\r\n\r\n\t\t\t\tcase 'min':\r\n\t\t\t\t\treturn `Minimum value is ${errorValue.min}`;\r\n\r\n\t\t\t\tcase 'max':\r\n\t\t\t\t\treturn `Maximum value is ${errorValue.max}`;\r\n\r\n\t\t\t\tcase 'minlength':\r\n\t\t\t\t\treturn `Minimum length is ${errorValue.requiredLength}`;\r\n\r\n\t\t\t\tcase 'maxlength':\r\n\t\t\t\t\treturn `Maximum length is ${errorValue.requiredLength}`;\r\n\r\n\t\t\t\tcase 'email':\r\n\t\t\t\t\treturn 'Invalid email';\r\n\r\n\t\t\t\tcase 'pattern':\r\n\t\t\t\t\treturn 'Invalid format';\r\n\r\n\t\t\t\tcase 'invalidIBAN':\r\n\t\t\t\t\tif (control.errors['error'].invalidCodeLength)\r\n\t\t\t\t\t\treturn this.translocoService.translate('validations.invalidIBANLength');\r\n\t\t\t\t\telse if (control.errors['error'].unsupportedCountry)\r\n\t\t\t\t\t\treturn this.translocoService.translate('validations.unsupportedCountry');\r\n\t\t\t\t\treturn this.translocoService.translate('validations.invalidIBAN');\r\n\r\n\t\t\t\tcase 'invalidTCKN':\r\n\t\t\t\t\treturn this.translocoService.translate('validations.invalidTCKN');\r\n\r\n\t\t\t\tcase 'invalidTurkishIdentityNumber':\r\n\t\t\t\tcase 'invalidTemporalIdentityNumber':\r\n\t\t\t\tcase 'invalidPassportNumber':\r\n\t\t\t\tcase 'invalidForeignIdentityNumber':\r\n\t\t\t\tcase 'invalidTaxIdentificationNumber':\r\n\t\t\t\t\treturn '';\r\n\r\n\t\t\t\tcase 'minArrayLength':\r\n\t\t\t\t\treturn this.translocoService.translate('validations.minArrayLength', {\r\n\t\t\t\t\t\tmin: errorValue.requiredLength,\r\n\t\t\t\t\t\tactual: errorValue.actualLength\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\tcase 'maxArrayLength':\r\n\t\t\t\t\treturn this.translocoService.translate('validations.maxArrayLength', {\r\n\t\t\t\t\t\tmax: errorValue.requiredLength,\r\n\t\t\t\t\t\tactual: errorValue.actualLength\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn errorValue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn '';\r\n\t}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Pipe, PipeTransform, inject } from '@angular/core';\r\n\r\nimport { InputErrorMessagePipe } from './input-error-message.pipe';\r\n\r\n@Pipe({\r\n\tstandalone: true,\r\n\tname: 'dxInputErrorMessage'\r\n})\r\nexport class DXInputErrorMessagePipe implements PipeTransform {\r\n\terrorMsgPipe = inject(InputErrorMessagePipe);\r\n\r\n\ttransform(value: any, ...args: any[]): { message: string } {\r\n\t\treturn { message: this.errorMsgPipe.transform(value, ...args) };\r\n\t}\r\n}\r\n","import { PrimeIcons } from 'primeng/api';\r\n\r\nexport type PrimeIcon = Exclude<keyof typeof PrimeIcons, 'prototype'>;\r\nexport function iconTransform(icon: PrimeIcon): string {\r\n\treturn PrimeIcons[icon];\r\n}\r\n\r\nexport type IconPosTypes = 'right' | 'left';\r\nexport function iconPosTransform(pos: IconPosTypes): string {\r\n\treturn 'p-input-icon-' + pos;\r\n}\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Directive} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Directive({\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tmulti: true,\r\n\t\t\tuseExisting: ValueAccessorDirective\r\n\t\t}\r\n\t]\r\n})\r\nexport class ValueAccessorDirective implements ControlValueAccessor {\r\n\r\n\twriteValue(obj: any): void {\r\n\t\treturn\r\n\t}\r\n\r\n\tregisterOnChange(fn: any): void {\r\n\t\treturn;\r\n\t}\r\n\r\n\tregisterOnTouched(fn: any): void {\r\n\t\treturn;\r\n\t}\r\n\r\n}","/* form */\r\nexport * from './src/form/form-error-message.directive';\r\nexport * from './src/form/form-validation';\r\n\r\n/* grid */\r\nexport * from './src/grid/flex-grid.directive';\r\nexport * from './src/grid/enum-color-picker.pipe';\r\n\r\n/* input */\r\nexport * from './src/input/baseInput';\r\nexport * from './src/input/dx-input-error-message.pipe';\r\nexport * from './src/input/input-error-message.pipe';\r\nexport * from './src/input/input-transforms';\r\nexport * from './src/input/value-accessor.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input,
|
|
2
|
+
import { input, computed, effect, Component } 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/multiselect';
|
|
6
6
|
import { MultiSelectModule } from 'primeng/multiselect';
|
|
7
|
-
import { firstValueFrom } from 'rxjs';
|
|
8
|
-
import { API_CONFIGS } from 'aril/boot/config/api';
|
|
9
7
|
import * as i3 from 'aril/ui/lib';
|
|
10
8
|
import { BaseInputComponent, ValueAccessorDirective } from 'aril/ui/lib';
|
|
11
|
-
import * as i1 from '
|
|
9
|
+
import * as i1 from 'aril/selection';
|
|
12
10
|
import * as i2 from '@ngneat/transloco';
|
|
13
11
|
|
|
14
12
|
class MultiSelectComponent extends BaseInputComponent {
|
|
15
|
-
constructor(
|
|
13
|
+
constructor(selectionGroupService, translocoService) {
|
|
16
14
|
super();
|
|
17
|
-
this.
|
|
15
|
+
this.selectionGroupService = selectionGroupService;
|
|
18
16
|
this.translocoService = translocoService;
|
|
19
17
|
this.options = input([]);
|
|
20
18
|
this.optionLabel = input('text');
|
|
@@ -28,33 +26,35 @@ class MultiSelectComponent extends BaseInputComponent {
|
|
|
28
26
|
this.tooltipPosition = input('top');
|
|
29
27
|
this.groupName = input('');
|
|
30
28
|
this.parentSelectionKey = input(null);
|
|
31
|
-
this.selectionItems = signal(null);
|
|
32
29
|
this.showClear = input(false);
|
|
30
|
+
// Enum item'ları artık merkezi SelectionGroupService cache'inden okunur (localStorage + cross-MFE
|
|
31
|
+
// dedupe). groupName yoksa null döner → template options() input'una düşer. Aynı groupName~parent
|
|
32
|
+
// için tekrar HTTP atılmaz; parentSelectionKey değişiminde stale-response race'ini servis yönetir.
|
|
33
|
+
this.selectionItems = computed(() => {
|
|
34
|
+
const groupName = this.groupName();
|
|
35
|
+
if (!groupName)
|
|
36
|
+
return null;
|
|
37
|
+
const key = `${groupName}~${this.parentSelectionKey() ?? 'ALL'}`;
|
|
38
|
+
const group = this.selectionGroupService.selectionGroups()[key];
|
|
39
|
+
return (group?.selectionItems?.map((item) => ({
|
|
40
|
+
key: item.selectionKey,
|
|
41
|
+
text: item.selectionDisplay,
|
|
42
|
+
parentSelectionKey: item.parentSelectionKey
|
|
43
|
+
})) ?? null);
|
|
44
|
+
});
|
|
33
45
|
effect(() => {
|
|
34
|
-
|
|
35
|
-
|
|
46
|
+
const groupName = this.groupName();
|
|
47
|
+
if (groupName)
|
|
48
|
+
this.selectionGroupService.fetchEnum(groupName, this.parentSelectionKey() ?? 'ALL');
|
|
36
49
|
});
|
|
37
50
|
}
|
|
38
|
-
|
|
39
|
-
const payload = {
|
|
40
|
-
groupName: this.groupName(),
|
|
41
|
-
parentSelectionKey: this.parentSelectionKey()
|
|
42
|
-
};
|
|
43
|
-
const hostApi = API_CONFIGS.api.replace(/\/[^\/]+\/v1$/, `/host/v1`);
|
|
44
|
-
const selectionGroup = await firstValueFrom(this.http.post(hostApi + '/selection-group/load', payload));
|
|
45
|
-
this.selectionItems.set(selectionGroup?.selectionItems.map((item) => ({
|
|
46
|
-
key: item.selectionKey,
|
|
47
|
-
text: item.selectionDisplay,
|
|
48
|
-
parentSelectionKey: item.parentSelectionKey
|
|
49
|
-
})));
|
|
50
|
-
}
|
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i1.HttpClient }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i1.SelectionGroupService }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
52
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: MultiSelectComponent, isStandalone: true, selector: "aril-multi-select[ngModel], aril-multi-select[formControl], aril-multi-select[formControlName]", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, defaultLabel: { classPropertyName: "defaultLabel", publicName: "defaultLabel", isSignal: true, isRequired: false, transformFunction: null }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", 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 }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, hostDirectives: [{ directive: i3.ValueAccessorDirective }], ngImport: i0, template: "<p-multiSelect\r\n\t[options]=\"selectionItems() || options()\"\r\n\t[optionLabel]=\"optionLabel()\"\r\n\t[optionValue]=\"optionValue()\"\r\n\t[defaultLabel]=\"defaultLabel()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t[appendTo]=\"appendTo()\"\r\n\t[showClear]=\"showClear()\" />\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: MultiSelectModule }, { kind: "component", type: i5.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }] }); }
|
|
53
53
|
}
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MultiSelectComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
56
|
args: [{ standalone: true, selector: 'aril-multi-select[ngModel], aril-multi-select[formControl], aril-multi-select[formControlName]', imports: [ReactiveFormsModule, MultiSelectModule], hostDirectives: [ValueAccessorDirective], template: "<p-multiSelect\r\n\t[options]=\"selectionItems() || options()\"\r\n\t[optionLabel]=\"optionLabel()\"\r\n\t[optionValue]=\"optionValue()\"\r\n\t[defaultLabel]=\"defaultLabel()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t[appendTo]=\"appendTo()\"\r\n\t[showClear]=\"showClear()\" />\r\n" }]
|
|
57
|
-
}], ctorParameters: () => [{ type: i1.
|
|
57
|
+
}], ctorParameters: () => [{ type: i1.SelectionGroupService }, { type: i2.TranslocoService }] });
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-multiSelect.mjs","sources":["../../projects/aril/ui/multiSelect/src/multi-select.component.ts","../../projects/aril/ui/multiSelect/src/multi-select.component.html","../../projects/aril/ui/multiSelect/aril-ui-multiSelect.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"aril-ui-multiSelect.mjs","sources":["../../projects/aril/ui/multiSelect/src/multi-select.component.ts","../../projects/aril/ui/multiSelect/src/multi-select.component.html","../../projects/aril/ui/multiSelect/aril-ui-multiSelect.ts"],"sourcesContent":["import { Component, computed, effect, input } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { SelectionGroupService } from 'aril/selection';\r\nimport { BaseInputComponent, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport { SelectBoxItem } from './interfaces';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-multi-select[ngModel], aril-multi-select[formControl], aril-multi-select[formControlName]',\r\n\ttemplateUrl: './multi-select.component.html',\r\n\timports: [ReactiveFormsModule, MultiSelectModule],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class MultiSelectComponent extends BaseInputComponent {\r\n\toptions = input<[]>([]);\r\n\toptionLabel = input<string>('text');\r\n\toptionValue = input<string>('key');\r\n\tdefaultLabel = input<string>('Seçiniz');\r\n\tselectedItemsLabel = input<string>(''); // default value -> ({0} items selected\r\n\tappendTo = input<string>('body');\r\n\tstyle = input<object>({});\r\n\tstyleClass = input<string>('');\r\n\ttooltip = input<string>('');\r\n\ttooltipPosition = input<any>('top');\r\n\tgroupName = input('');\r\n\tparentSelectionKey = input(null);\r\n\tshowClear = input<boolean>(false);\r\n\r\n\t// Enum item'ları artık merkezi SelectionGroupService cache'inden okunur (localStorage + cross-MFE\r\n\t// dedupe). groupName yoksa null döner → template options() input'una düşer. Aynı groupName~parent\r\n\t// için tekrar HTTP atılmaz; parentSelectionKey değişiminde stale-response race'ini servis yönetir.\r\n\tselectionItems = computed<SelectBoxItem[] | null>(() => {\r\n\t\tconst groupName = this.groupName();\r\n\t\tif (!groupName) return null;\r\n\t\tconst key = `${groupName}~${this.parentSelectionKey() ?? 'ALL'}`;\r\n\t\tconst group = this.selectionGroupService.selectionGroups()[key];\r\n\t\treturn (\r\n\t\t\tgroup?.selectionItems?.map((item: any) => ({\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})) ?? null\r\n\t\t);\r\n\t});\r\n\r\n\tconstructor(\r\n\t\tprivate readonly selectionGroupService: SelectionGroupService,\r\n\t\tpublic translocoService: TranslocoService\r\n\t) {\r\n\t\tsuper();\r\n\t\teffect(() => {\r\n\t\t\tconst groupName = this.groupName();\r\n\t\t\tif (groupName) this.selectionGroupService.fetchEnum(groupName, this.parentSelectionKey() ?? 'ALL');\r\n\t\t});\r\n\t}\r\n}\r\n","<p-multiSelect\r\n\t[options]=\"selectionItems() || options()\"\r\n\t[optionLabel]=\"optionLabel()\"\r\n\t[optionValue]=\"optionValue()\"\r\n\t[defaultLabel]=\"defaultLabel()\"\r\n\t[selectedItemsLabel]=\"selectedItemsLabel()\"\r\n\t[style]=\"style()\"\r\n\t[styleClass]=\"styleClass()\"\r\n\t[tooltip]=\"tooltip()\"\r\n\t[tooltipPosition]=\"tooltipPosition()\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t[appendTo]=\"appendTo()\"\r\n\t[showClear]=\"showClear()\" />\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -254,7 +254,7 @@ class RelativeDateSelectorComponent extends BaseInputComponent {
|
|
|
254
254
|
return `relativeDateSelector.units.${unitNameMap[unit]}${suffix}`;
|
|
255
255
|
}
|
|
256
256
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RelativeDateSelectorComponent, deps: [{ token: i1.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
257
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: RelativeDateSelectorComponent, isStandalone: true, selector: "aril-relative-date-picker[ngModel], aril-relative-date-picker[formControl], aril-relative-date-picker[formControlName]", viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: ["op"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<div class=\"relative-date-selector\">\r\n\t<div class=\"input-wrapper flex align-items-center\" (click)=\"onInputClick($event)\">\r\n\t\t<input\r\n\t\t\ttype=\"text\"\r\n\t\t\treadonly\r\n\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\tclass=\"p-inputtext p-component\"\r\n\t\t\t[class.p-invalid]=\"ngControl.invalid && ngControl.touched\"\r\n\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.placeholder')\"\r\n\t\t\t[pTooltip]=\"ngControl.invalid && ngControl.touched ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n\t\t\t[tooltipOptions]=\"tooltipOptions\" />\r\n\t\t<div class=\"calendar-icon-wrapper flex align-items-center justify-content-center\" (click)=\"toggleQuickSelect($event)\">\r\n\t\t\t<i class=\"pi pi-calendar calendar-icon\"></i>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<p-overlayPanel\r\n\t\t#op\r\n\t\t[style]=\"{ minWidth: '350px', maxHeight: '600px', overflow: 'visible' }\"\r\n\t\t[dismissable]=\"true\"\r\n\t\t(onHide)=\"showOverlayPanel.set(false)\">\r\n\t\t<p-tabView (onChange)=\"onTabChange($event)\" [activeIndex]=\"activeTabIndex()\">\r\n\t\t\t<p-tabPanel [header]=\"translocoService.translate('relativeDateSelector.absolute')\">\r\n\t\t\t\t<div class=\"flex justify-content-center\">\r\n\t\t\t\t\t<aril-calendar\r\n\t\t\t\t\t\t[(ngModel)]=\"absoluteDate\"\r\n\t\t\t\t\t\t(ngModelChange)=\"onAbsoluteDateChange($event)\"\r\n\t\t\t\t\t\t[inline]=\"true\"\r\n\t\t\t\t\t\t[showTime]=\"true\"\r\n\t\t\t\t\t\t[showSeconds]=\"true\">\r\n\t\t\t\t\t</aril-calendar>\r\n\t\t\t\t</div>\r\n\t\t\t</p-tabPanel>\r\n\r\n\t\t\t<p-tabPanel [header]=\"translocoService.translate('relativeDateSelector.relative')\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<div class=\"flex flex-column gap-2 m-2\">\r\n\t\t\t\t\t\t<aril-number\r\n\t\t\t\t\t\t\t[(ngModel)]=\"relativeValue\"\r\n\t\t\t\t\t\t\t(ngModelChange)=\"onRelativeChange()\"\r\n\t\t\t\t\t\t\t[min]=\"1\"\r\n\t\t\t\t\t\t\t[showButtons]=\"true\"\r\n\t\t\t\t\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.valuePlaceholder')\">\r\n\t\t\t\t\t\t</aril-number>\r\n\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"relativeUnit\"\r\n\t\t\t\t\t\t\t(ngModelChange)=\"onRelativeChange()\"\r\n\t\t\t\t\t\t\t[items]=\"relativeUnits\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\"\r\n\t\t\t\t\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.selectUnit')\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"m-2\">\r\n\t\t\t\t\t\t<small class=\"text-muted\">\r\n\t\t\t\t\t\t\t<strong>{{ translocoService.translate('relativeDateSelector.examples') }}:</strong> {{ translocoService.translate('relativeDateSelector.examplesText') }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</p-tabPanel>\r\n\t\t</p-tabView>\r\n\t</p-overlayPanel>\r\n\r\n\t<!-- Quick Select Panel -->\r\n\t@if (showQuickSelect()) {\r\n\t\t<div class=\"quick-select-panel mt-2\">\r\n\t\t\t<div class=\"quick-select-header flex justify-content-between align-items-center p-3\">\r\n\t\t\t\t<span class=\"title\">{{ translocoService.translate('relativeDateSelector.quickSelect') }}</span>\r\n\t\t\t\t<div class=\"flex align-items-center gap-2\">\r\n\t\t\t\t\t<i class=\"pi pi-times cursor-pointer\" (click)=\"showQuickSelect.set(false)\"></i>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"quick-select-body p-3\">\r\n\t\t\t\t<!-- Custom Quick Select Inputs -->\r\n\t\t\t\t<div class=\"quick-select-custom mb-3 pb-3\">\r\n\t\t\t\t\t<div class=\"flex gap-2 align-items-center mb-3\">\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"quickSelectDirection\"\r\n\t\t\t\t\t\t\t[items]=\"quickSelectDirections\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\r\n\t\t\t\t\t\t<aril-number [(ngModel)]=\"quickSelectValue\" [min]=\"1\" [showButtons]=\"true\"> </aril-number>\r\n\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"quickSelectUnit\"\r\n\t\t\t\t\t\t\t[items]=\"quickSelectUnits\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\r\n\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t[label]=\"translocoService.translate('relativeDateSelector.apply')\"\r\n\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t(clickEvent)=\"applyQuickSelectCustom()\"\r\n\t\t\t\t\t\t\t[style]=\"{ 'min-width': '80px' }\">\r\n\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- Commonly Used Options -->\r\n\t\t\t\t<div class=\"quick-select-section\">\r\n\t\t\t\t\t<span class=\"title-section mb-2\">{{ translocoService.translate('relativeDateSelector.commonlyUsed') }}</span>\r\n\t\t\t\t\t<div class=\"quick-select-options\">\r\n\t\t\t\t\t\t@for (option of commonlyUsedOptions; track option.value) {\r\n\t\t\t\t\t\t\t<button type=\"button\" class=\"quick-select-option\" (click)=\"applyQuickSelect(option)\">\r\n\t\t\t\t\t\t\t\t{{ option.label }}\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t}\r\n</div>\r\n", styles: [".relative-date-selector{position:relative}.relative-date-selector .input-wrapper{position:relative;cursor:pointer}.relative-date-selector .input-wrapper input{width:100%;padding-right:3rem;cursor:pointer;transition:all var(--transition-duration) ease}.relative-date-selector .input-wrapper input:hover{border-color:var(--focus-border-color)}.relative-date-selector .input-wrapper input:focus{box-shadow:var(--focus-ring);border-color:var(--focus-border-color)}.relative-date-selector .input-wrapper input.p-invalid{border-color:var(--error-300)}.relative-date-selector .input-wrapper .calendar-icon-wrapper{position:absolute;right:.5rem;width:2rem;height:2rem;background:var(--surface-100);border:1px solid var(--surface-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-duration) ease;z-index:2}.relative-date-selector .input-wrapper .calendar-icon-wrapper:hover{background:var(--surface-200);border-color:var(--primary-color);transform:scale(1.05)}.relative-date-selector .input-wrapper .calendar-icon-wrapper:hover .calendar-icon{color:var(--primary-color)}.relative-date-selector .input-wrapper .calendar-icon-wrapper:active{transform:scale(.98)}.relative-date-selector .input-wrapper .calendar-icon-wrapper .calendar-icon{font-size:.9375rem;color:var(--text-color-secondary);transition:color var(--transition-duration) ease}.relative-date-selector .quick-select-panel{position:absolute;top:100%;right:0;background:var(--surface-0);border:1px solid var(--surface-border);border-radius:8px;box-shadow:0 4px 20px #00000014;z-index:1000;width:460px;max-height:520px;overflow:hidden;animation:slideDown var(--transition-duration) ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.relative-date-selector .quick-select-panel .quick-select-header{border-bottom:1px solid var(--surface-200);background:var(--surface-100)}.relative-date-selector .quick-select-panel .quick-select-header .title{margin:0;font-size:13px;font-weight:700;color:var(--surface-600)}.relative-date-selector .quick-select-panel .quick-select-header i{cursor:pointer;color:var(--text-color-secondary);font-size:.875rem;transition:all var(--transition-duration) ease}.relative-date-selector .quick-select-panel .quick-select-header i:hover{color:var(--text-color);transform:scale(1.1)}.relative-date-selector .quick-select-panel .quick-select-body{max-height:440px;overflow-y:auto}.relative-date-selector .quick-select-panel .quick-select-custom{border-bottom:1px solid var(--surface-200)}.relative-date-selector .quick-select-panel .quick-select-section .title-section{display:inline-block;font-size:.8rem;font-weight:600;color:var(--text-color-secondary);text-transform:uppercase;letter-spacing:.5px}.relative-date-selector .quick-select-panel .quick-select-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.relative-date-selector .quick-select-panel .quick-select-options .quick-select-option{padding:.625rem 1rem;background:var(--surface-100);border:1px solid var(--surface-200);text-align:left;cursor:pointer;border-radius:var(--border-radius);transition:all var(--transition-duration) ease;color:var(--text-color);font-size:.875rem;font-weight:500}.relative-date-selector .quick-select-panel .quick-select-options .quick-select-option:hover{transform:translateY(-1px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i4.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: TabViewModule }, { kind: "component", type: i5.TabView, selector: "p-tabView", inputs: ["style", "styleClass", "controlClose", "scrollable", "activeIndex", "selectOnFocus", "nextButtonAriaLabel", "prevButtonAriaLabel", "autoHideButtons", "tabindex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i5.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i6.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 }, { kind: "component", type: CalendarComponent, selector: "aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]", inputs: ["minDate", "maxDate", "inputStyle", "inputStyleClass", "autoZIndex", "inline", "showIcon", "showTime", "showWeek", "showSeconds", "disabledDates", "numberOfMonthToShow", "appendTo", "dataType", "placeholder", "view", "selectionMode", "rangeConfig", "tabindex", "showOnFocus", "timeOnly", "keepInvalid"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "component", type: NumberComponent, selector: "aril-number[ngModel], aril-number[formControl], aril-number[formControlName]", inputs: ["min", "max", "showButtons", "placeholder", "prefix", "locale", "suffix", "maxlength", "showClear", "useGrouping", "maxDigits", "minDigits", "tabindex", "inputStyle", "buttonLayout"] }, { kind: "component", type: SelectBoxComponent, selector: "aril-select-box[ngModel], aril-select-box[formControl], aril-select-box[formControlName]", inputs: ["itemKey", "itemText", "groupName", "parentSelectionKey", "tabindex", "items", "grouped", "showClearButton", "placeholder", "searchExpr"], outputs: ["onSelectionChanged"] }, { kind: "pipe", type: InputErrorMessagePipe, name: "inputErrorMessage" }] }); }
|
|
257
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: RelativeDateSelectorComponent, isStandalone: true, selector: "aril-relative-date-picker[ngModel], aril-relative-date-picker[formControl], aril-relative-date-picker[formControlName]", viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: ["op"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<div class=\"relative-date-selector\">\r\n\t<div class=\"input-wrapper flex align-items-center\" (click)=\"onInputClick($event)\">\r\n\t\t<input\r\n\t\t\ttype=\"text\"\r\n\t\t\treadonly\r\n\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\tclass=\"p-inputtext p-component\"\r\n\t\t\t[class.p-invalid]=\"ngControl.invalid && ngControl.touched\"\r\n\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.placeholder')\"\r\n\t\t\t[pTooltip]=\"ngControl.invalid && ngControl.touched ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n\t\t\t[tooltipOptions]=\"tooltipOptions\" />\r\n\t\t<div class=\"calendar-icon-wrapper flex align-items-center justify-content-center\" (click)=\"toggleQuickSelect($event)\">\r\n\t\t\t<i class=\"pi pi-calendar calendar-icon\"></i>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<p-overlayPanel\r\n\t\t#op\r\n\t\t[style]=\"{ minWidth: '350px', maxHeight: '600px', overflow: 'visible' }\"\r\n\t\t[dismissable]=\"true\"\r\n\t\t(onHide)=\"showOverlayPanel.set(false)\">\r\n\t\t<p-tabView (onChange)=\"onTabChange($event)\" [activeIndex]=\"activeTabIndex()\">\r\n\t\t\t<p-tabPanel [header]=\"translocoService.translate('relativeDateSelector.absolute')\">\r\n\t\t\t\t<div class=\"flex justify-content-center\">\r\n\t\t\t\t\t<aril-calendar\r\n\t\t\t\t\t\t[(ngModel)]=\"absoluteDate\"\r\n\t\t\t\t\t\t(ngModelChange)=\"onAbsoluteDateChange($event)\"\r\n\t\t\t\t\t\t[inline]=\"true\"\r\n\t\t\t\t\t\t[showTime]=\"true\"\r\n\t\t\t\t\t\t[showSeconds]=\"true\">\r\n\t\t\t\t\t</aril-calendar>\r\n\t\t\t\t</div>\r\n\t\t\t</p-tabPanel>\r\n\r\n\t\t\t<p-tabPanel [header]=\"translocoService.translate('relativeDateSelector.relative')\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<div class=\"flex flex-column gap-2 m-2\">\r\n\t\t\t\t\t\t<aril-number\r\n\t\t\t\t\t\t\t[(ngModel)]=\"relativeValue\"\r\n\t\t\t\t\t\t\t(ngModelChange)=\"onRelativeChange()\"\r\n\t\t\t\t\t\t\t[min]=\"1\"\r\n\t\t\t\t\t\t\t[showButtons]=\"true\"\r\n\t\t\t\t\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.valuePlaceholder')\">\r\n\t\t\t\t\t\t</aril-number>\r\n\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"relativeUnit\"\r\n\t\t\t\t\t\t\t(ngModelChange)=\"onRelativeChange()\"\r\n\t\t\t\t\t\t\t[items]=\"relativeUnits\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\"\r\n\t\t\t\t\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.selectUnit')\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"m-2\">\r\n\t\t\t\t\t\t<small class=\"text-muted\">\r\n\t\t\t\t\t\t\t<strong>{{ translocoService.translate('relativeDateSelector.examples') }}:</strong> {{ translocoService.translate('relativeDateSelector.examplesText') }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</p-tabPanel>\r\n\t\t</p-tabView>\r\n\t</p-overlayPanel>\r\n\r\n\t<!-- Quick Select Panel -->\r\n\t@if (showQuickSelect()) {\r\n\t\t<div class=\"quick-select-panel mt-2\">\r\n\t\t\t<div class=\"quick-select-header flex justify-content-between align-items-center p-3\">\r\n\t\t\t\t<span class=\"title\">{{ translocoService.translate('relativeDateSelector.quickSelect') }}</span>\r\n\t\t\t\t<div class=\"flex align-items-center gap-2\">\r\n\t\t\t\t\t<i class=\"pi pi-times cursor-pointer\" (click)=\"showQuickSelect.set(false)\"></i>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"quick-select-body p-3\">\r\n\t\t\t\t<!-- Custom Quick Select Inputs -->\r\n\t\t\t\t<div class=\"quick-select-custom mb-3 pb-3\">\r\n\t\t\t\t\t<div class=\"flex gap-2 align-items-center mb-3\">\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"quickSelectDirection\"\r\n\t\t\t\t\t\t\t[items]=\"quickSelectDirections\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\r\n\t\t\t\t\t\t<aril-number [(ngModel)]=\"quickSelectValue\" [min]=\"1\" [showButtons]=\"true\"> </aril-number>\r\n\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"quickSelectUnit\"\r\n\t\t\t\t\t\t\t[items]=\"quickSelectUnits\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\r\n\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t[label]=\"translocoService.translate('relativeDateSelector.apply')\"\r\n\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t(clickEvent)=\"applyQuickSelectCustom()\"\r\n\t\t\t\t\t\t\t[style]=\"{ 'min-width': '80px' }\">\r\n\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- Commonly Used Options -->\r\n\t\t\t\t<div class=\"quick-select-section\">\r\n\t\t\t\t\t<span class=\"title-section mb-2\">{{ translocoService.translate('relativeDateSelector.commonlyUsed') }}</span>\r\n\t\t\t\t\t<div class=\"quick-select-options\">\r\n\t\t\t\t\t\t@for (option of commonlyUsedOptions; track option.value) {\r\n\t\t\t\t\t\t\t<button type=\"button\" class=\"quick-select-option\" (click)=\"applyQuickSelect(option)\">\r\n\t\t\t\t\t\t\t\t{{ option.label }}\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t}\r\n</div>\r\n", styles: [".relative-date-selector{position:relative}.relative-date-selector .input-wrapper{position:relative;cursor:pointer}.relative-date-selector .input-wrapper input{width:100%;padding-right:3rem;cursor:pointer;transition:all var(--transition-duration) ease}.relative-date-selector .input-wrapper input:hover{border-color:var(--focus-border-color)}.relative-date-selector .input-wrapper input:focus{box-shadow:var(--focus-ring);border-color:var(--focus-border-color)}.relative-date-selector .input-wrapper input.p-invalid{border-color:var(--error-300)}.relative-date-selector .input-wrapper .calendar-icon-wrapper{position:absolute;right:.5rem;width:2rem;height:2rem;background:var(--surface-100);border:1px solid var(--surface-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-duration) ease;z-index:2}.relative-date-selector .input-wrapper .calendar-icon-wrapper:hover{background:var(--surface-200);border-color:var(--primary-color);transform:scale(1.05)}.relative-date-selector .input-wrapper .calendar-icon-wrapper:hover .calendar-icon{color:var(--primary-color)}.relative-date-selector .input-wrapper .calendar-icon-wrapper:active{transform:scale(.98)}.relative-date-selector .input-wrapper .calendar-icon-wrapper .calendar-icon{font-size:.9375rem;color:var(--text-color-secondary);transition:color var(--transition-duration) ease}.relative-date-selector .quick-select-panel{position:absolute;top:100%;right:0;background:var(--surface-0);border:1px solid var(--surface-border);border-radius:8px;box-shadow:0 4px 20px #00000014;z-index:1000;width:460px;max-height:520px;overflow:hidden;animation:slideDown var(--transition-duration) ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.relative-date-selector .quick-select-panel .quick-select-header{border-bottom:1px solid var(--surface-200);background:var(--surface-100)}.relative-date-selector .quick-select-panel .quick-select-header .title{margin:0;font-size:13px;font-weight:700;color:var(--surface-600)}.relative-date-selector .quick-select-panel .quick-select-header i{cursor:pointer;color:var(--text-color-secondary);font-size:.875rem;transition:all var(--transition-duration) ease}.relative-date-selector .quick-select-panel .quick-select-header i:hover{color:var(--text-color);transform:scale(1.1)}.relative-date-selector .quick-select-panel .quick-select-body{max-height:440px;overflow-y:auto}.relative-date-selector .quick-select-panel .quick-select-custom{border-bottom:1px solid var(--surface-200)}.relative-date-selector .quick-select-panel .quick-select-section .title-section{display:inline-block;font-size:.8rem;font-weight:600;color:var(--text-color-secondary);text-transform:uppercase;letter-spacing:.5px}.relative-date-selector .quick-select-panel .quick-select-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.relative-date-selector .quick-select-panel .quick-select-options .quick-select-option{padding:.625rem 1rem;background:var(--surface-100);border:1px solid var(--surface-200);text-align:left;cursor:pointer;border-radius:var(--border-radius);transition:all var(--transition-duration) ease;color:var(--text-color);font-size:.875rem;font-weight:500}.relative-date-selector .quick-select-panel .quick-select-options .quick-select-option:hover{transform:translateY(-1px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i4.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: TabViewModule }, { kind: "component", type: i5.TabView, selector: "p-tabView", inputs: ["style", "styleClass", "controlClose", "scrollable", "activeIndex", "selectOnFocus", "nextButtonAriaLabel", "prevButtonAriaLabel", "autoHideButtons", "tabindex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i5.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i6.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 }, { kind: "component", type: CalendarComponent, selector: "aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]", inputs: ["minDate", "maxDate", "inputStyle", "inputStyleClass", "autoZIndex", "inline", "showIcon", "showTime", "showWeek", "showSeconds", "disabledDates", "numberOfMonthToShow", "appendTo", "dataType", "placeholder", "view", "selectionMode", "rangeConfig", "tabindex", "showOnFocus", "timeOnly", "keepInvalid"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "component", type: NumberComponent, selector: "aril-number[ngModel], aril-number[formControl], aril-number[formControlName]", inputs: ["min", "max", "showButtons", "placeholder", "prefix", "locale", "suffix", "maxlength", "showClear", "useGrouping", "maxDigits", "minDigits", "tabindex", "inputStyle", "buttonLayout"] }, { kind: "component", type: SelectBoxComponent, selector: "aril-select-box[ngModel], aril-select-box[formControl], aril-select-box[formControlName]", inputs: ["itemKey", "itemText", "parentSelectionKey", "tabindex", "items", "grouped", "showClearButton", "placeholder", "searchExpr"], outputs: ["onSelectionChanged"] }, { kind: "pipe", type: InputErrorMessagePipe, name: "inputErrorMessage" }] }); }
|
|
258
258
|
}
|
|
259
259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RelativeDateSelectorComponent, decorators: [{
|
|
260
260
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-relativeDateSelector.mjs","sources":["../../projects/aril/ui/relativeDateSelector/src/enum.ts","../../projects/aril/ui/relativeDateSelector/src/relative-date-selector.component.ts","../../projects/aril/ui/relativeDateSelector/src/relative-date-selector.component.html","../../projects/aril/ui/relativeDateSelector/aril-ui-relativeDateSelector.ts"],"sourcesContent":["export enum RelativeDateUnit {\r\n\tSeconds = 's',\r\n\tMinutes = 'm',\r\n\tHours = 'h',\r\n\tDays = 'd',\r\n\tWeeks = 'w',\r\n\tMonths = 'M',\r\n\tYears = 'y'\r\n}\r\n\r\nexport enum RelativeDateDirection {\r\n\tPast = '-',\r\n\tFuture = '+'\r\n}\r\n\r\nexport enum RelativeDateUnitName {\r\n\tSeconds = 'seconds',\r\n\tMinutes = 'minutes',\r\n\tHours = 'hours',\r\n\tDays = 'days',\r\n\tWeeks = 'weeks',\r\n\tMonths = 'months',\r\n\tYears = 'years'\r\n}\r\n\r\nexport enum RelativeDateUnitSuffix {\r\n\tAgo = 'Ago',\r\n\tFromNow = 'FromNow'\r\n}\r\n","import { Component, signal, ViewChild, OnInit, AfterViewInit } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { OverlayPanel, OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\r\nimport { format, parse } from 'date-fns';\r\n\r\nimport { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';\r\nimport { CalendarComponent } from 'aril/ui/calendar';\r\nimport { ButtonComponent } from 'aril/ui/button';\r\nimport { NumberComponent } from 'aril/ui/number';\r\nimport { SelectBoxComponent } from 'aril/ui/selectBox';\r\nimport 'aril/util/primitive-extensions';\r\n\r\nimport { RelativeDateUnit, RelativeDateDirection, RelativeDateUnitName, RelativeDateUnitSuffix } from './enum';\r\n\r\ninterface QuickSelectOption {\r\n\tlabel: string;\r\n\tvalue: string;\r\n}\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector:\r\n\t\t'aril-relative-date-picker[ngModel], aril-relative-date-picker[formControl], aril-relative-date-picker[formControlName]',\r\n\ttemplateUrl: './relative-date-selector.component.html',\r\n\tstyleUrls: ['./relative-date-selector.component.scss'],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFormsModule,\r\n\t\tOverlayPanelModule,\r\n\t\tTabViewModule,\r\n\t\tTooltipModule,\r\n\t\tTranslocoModule,\r\n\t\tCalendarComponent,\r\n\t\tButtonComponent,\r\n\t\tNumberComponent,\r\n\t\tSelectBoxComponent,\r\n\t\tInputErrorMessagePipe\r\n\t],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class RelativeDateSelectorComponent extends BaseInputComponent implements OnInit, AfterViewInit {\r\n\t@ViewChild('op') overlayPanel!: OverlayPanel;\r\n\r\n\tactiveTabIndex = signal<number>(0);\r\n\tshowQuickSelect = signal<boolean>(false);\r\n\tshowOverlayPanel = signal<boolean>(false);\r\n\r\n\t// Absolute mode\r\n\tabsoluteDate: number | null = null;\r\n\r\n\t// Relative mode\r\n\trelativeValue: number | null = null;\r\n\trelativeUnit: string | null = null;\r\n\trelativeDirection = RelativeDateDirection.Past;\r\n\r\n\trelativeUnits: any[] = [];\r\n\tquickSelectDirections: Array<{ label: string; value: string }> = [];\r\n\tquickSelectUnits: Array<{ label: string; value: string }> = [];\r\n\tcommonlyUsedOptions: QuickSelectOption[] = [];\r\n\r\n\t// Quick select inputs\r\n\tquickSelectDirection = RelativeDateDirection.Past;\r\n\tquickSelectValue: number | null = null;\r\n\tquickSelectUnit = RelativeDateUnit.Minutes;\r\n\r\n\tconstructor(public readonly translocoService: TranslocoService) {\r\n\t\tsuper();\r\n\r\n\t\tthis.initializeOptions();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.ngControl.control?.valueChanges.subscribe((value) => {\r\n\t\t\tthis.onValueChange(value);\r\n\t\t});\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tif (this.ngControl.control?.value != null) {\r\n\t\t\tthis.onValueChange(this.ngControl.control?.value);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate initializeOptions(): void {\r\n\t\tconst units = Object.values(RelativeDateUnit);\r\n\t\tconst unitNames = Object.values(RelativeDateUnitName);\r\n\t\tconst directions = Object.values(RelativeDateDirection);\r\n\t\tconst directionSuffixes = Object.values(RelativeDateUnitSuffix);\r\n\r\n\t\t// Relative units\r\n\t\tthis.relativeUnits = units.flatMap((code, index) =>\r\n\t\t\tdirections.map((dir, dirIndex) => ({\r\n\t\t\t\tlabel: this.translocoService.translate(\r\n\t\t\t\t\t`relativeDateSelector.units.${unitNames[index]}${directionSuffixes[dirIndex]}`\r\n\t\t\t\t),\r\n\t\t\t\tvalue: `${code}${dir}`\r\n\t\t\t}))\r\n\t\t);\r\n\r\n\t\t// Quick Select - Last/Next options\r\n\t\tthis.quickSelectDirections = [\r\n\t\t\t{ label: this.translocoService.translate('relativeDateSelector.last'), value: RelativeDateDirection.Past },\r\n\t\t\t{ label: this.translocoService.translate('relativeDateSelector.next'), value: RelativeDateDirection.Future }\r\n\t\t];\r\n\r\n\t\tthis.quickSelectUnits = units.map((code, index) => ({\r\n\t\t\tlabel: this.translocoService.translate(`relativeDateSelector.units.${unitNames[index]}`),\r\n\t\t\tvalue: code\r\n\t\t}));\r\n\r\n\t\t// Commonly used quick selects\r\n\t\tconst quickOptions = [\r\n\t\t\t{ key: 'today', value: `now/${RelativeDateUnit.Days}` },\r\n\t\t\t{ key: 'thisWeek', value: `now/${RelativeDateUnit.Weeks}` },\r\n\t\t\t{ key: 'last1Minute', value: `now${RelativeDateDirection.Past}1${RelativeDateUnit.Minutes}` },\r\n\t\t\t{ key: 'last15Minutes', value: `now${RelativeDateDirection.Past}15${RelativeDateUnit.Minutes}` },\r\n\t\t\t{ key: 'last30Minutes', value: `now${RelativeDateDirection.Past}30${RelativeDateUnit.Minutes}` },\r\n\t\t\t{ key: 'last1Hour', value: `now${RelativeDateDirection.Past}1${RelativeDateUnit.Hours}` },\r\n\t\t\t{ key: 'last24Hours', value: `now${RelativeDateDirection.Past}24${RelativeDateUnit.Hours}` },\r\n\t\t\t{ key: 'last7Days', value: `now${RelativeDateDirection.Past}7${RelativeDateUnit.Days}` },\r\n\t\t\t{ key: 'last30Days', value: `now${RelativeDateDirection.Past}30${RelativeDateUnit.Days}` },\r\n\t\t\t{ key: 'last90Days', value: `now${RelativeDateDirection.Past}90${RelativeDateUnit.Days}` },\r\n\t\t\t{ key: 'last1Year', value: `now${RelativeDateDirection.Past}1${RelativeDateUnit.Years}` }\r\n\t\t];\r\n\r\n\t\tthis.commonlyUsedOptions = quickOptions.map((opt) => ({\r\n\t\t\tlabel: this.translocoService.translate(`relativeDateSelector.quickOptions.${opt.key}`),\r\n\t\t\tvalue: opt.value\r\n\t\t}));\r\n\t}\r\n\r\n\tonValueChange(value: number | string | null | undefined): void {\r\n\t\tif (value != null) {\r\n\t\t\tif (typeof value === 'number') {\r\n\t\t\t\tthis.activeTabIndex.set(0);\r\n\t\t\t\tthis.absoluteDate = value;\r\n\t\t\t} else if (typeof value === 'string') {\r\n\t\t\t\tthis.activeTabIndex.set(1);\r\n\t\t\t\tthis.parseRelativeValue(value);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.absoluteDate = null;\r\n\t\t\tthis.relativeValue = null;\r\n\t\t\tthis.relativeUnit = null;\r\n\t\t}\r\n\t}\r\n\r\n\tparseRelativeValue(value: string): void {\r\n\t\tconst match = value.match(/^now\\s*(?:([+-])\\s*(\\d+)([smhdwMy]))?\\s*(?:\\/([smhdwMy]))?$/);\r\n\r\n\t\tif (match) {\r\n\t\t\tconst [, direction, amount, unit] = match;\r\n\t\t\tif (direction && amount && unit) {\r\n\t\t\t\tthis.relativeDirection = direction as RelativeDateDirection;\r\n\t\t\t\tthis.relativeValue = parseInt(amount, 10);\r\n\t\t\t\tthis.relativeUnit = unit + direction;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonAbsoluteDateChange(date: number | null): void {\r\n\t\tthis.absoluteDate = date;\r\n\t\tthis.updateValue();\r\n\t}\r\n\r\n\tonRelativeChange(): void {\r\n\t\tthis.updateValue();\r\n\t}\r\n\r\n\tonTabChange(event: { index: number }): void {\r\n\t\tthis.activeTabIndex.set(event.index);\r\n\t}\r\n\r\n\tupdateValue(): void {\r\n\t\tif (this.activeTabIndex() === 0 && this.absoluteDate != null) {\r\n\t\t\tthis.ngControl.control?.setValue(this.absoluteDate);\r\n\t\t} else if (this.activeTabIndex() === 1 && this.relativeValue != null && this.relativeUnit) {\r\n\t\t\tconst unit = this.relativeUnit.charAt(0);\r\n\t\t\tconst direction = this.relativeUnit.charAt(1);\r\n\t\t\tthis.ngControl.control?.setValue(`now${direction}${this.relativeValue}${unit}`);\r\n\t\t}\r\n\t}\r\n\r\n\tapplyQuickSelect(option: QuickSelectOption): void {\r\n\t\tthis.applyRelativeValue(option.value);\r\n\t}\r\n\r\n\tapplyQuickSelectCustom(): void {\r\n\t\tif (this.quickSelectValue != null && this.quickSelectUnit) {\r\n\t\t\tconst relativeString = `now${this.quickSelectDirection}${this.quickSelectValue}${this.quickSelectUnit}`;\r\n\t\t\tthis.applyRelativeValue(relativeString);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate applyRelativeValue(value: string): void {\r\n\t\tthis.activeTabIndex.set(1);\r\n\t\tthis.parseRelativeValue(value);\r\n\t\tthis.ngControl.control?.setValue(value);\r\n\t\tthis.closeQuickSelectPanels();\r\n\t}\r\n\r\n\tprivate closeQuickSelectPanels(): void {\r\n\t\tthis.showQuickSelect.set(false);\r\n\t\tthis.showOverlayPanel.set(false);\r\n\t}\r\n\r\n\ttoggleQuickSelect(event: Event): void {\r\n\t\tevent.stopPropagation();\r\n\t\tthis.showQuickSelect.update((value) => !value);\r\n\t\tif (this.showQuickSelect()) {\r\n\t\t\tthis.showOverlayPanel.set(false);\r\n\t\t\tthis.overlayPanel?.hide();\r\n\t\t}\r\n\t}\r\n\r\n\tonInputClick(event: Event): void {\r\n\t\tthis.showQuickSelect.set(false);\r\n\t\tthis.overlayPanel?.toggle(event);\r\n\t}\r\n\r\n\tgetDisplayValue(): string {\r\n\t\tconst value = this.ngControl.control?.value;\r\n\r\n\t\tif (value == null) return '';\r\n\r\n\t\tif (typeof value === 'number') {\r\n\t\t\treturn this.formatAbsoluteDate(value);\r\n\t\t}\r\n\r\n\t\tif (typeof value === 'string') {\r\n\t\t\treturn this.formatRelativeDate(value);\r\n\t\t}\r\n\r\n\t\treturn '';\r\n\t}\r\n\r\n\tprivate formatAbsoluteDate(value: number): string {\r\n\t\tconst dateStr = value.toString();\r\n\t\tif (dateStr.length === 14) {\r\n\t\t\ttry {\r\n\t\t\t\tconst date = parse(dateStr, 'yyyyMMddHHmmss', new Date());\r\n\t\t\t\treturn format(date, 'dd.MM.yyyy HH:mm:ss');\r\n\t\t\t} catch (error) {\r\n\t\t\t\treturn dateStr;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn dateStr;\r\n\t}\r\n\r\n\tprivate formatRelativeDate(value: string): string {\r\n\t\tconst quickOption = this.commonlyUsedOptions.find((opt: QuickSelectOption) => opt.value === value);\r\n\t\tif (quickOption) {\r\n\t\t\treturn quickOption.label;\r\n\t\t}\r\n\r\n\t\tconst match = value.match(/^now\\s*([+-])\\s*(\\d+)([smhdwMy])$/);\r\n\t\tif (match) {\r\n\t\t\tconst [, direction, amount, unit] = match;\r\n\t\t\tconst directionText = this.translocoService.translate(\r\n\t\t\t\tdirection === RelativeDateDirection.Past ? 'relativeDateSelector.last' : 'relativeDateSelector.next'\r\n\t\t\t);\r\n\t\t\tconst unitText = this.translocoService.translate(this.getUnitTranslationKey(unit, direction));\r\n\t\t\treturn `${directionText} ${amount} ${unitText}`;\r\n\t\t}\r\n\r\n\t\treturn value;\r\n\t}\r\n\r\n\tprivate getUnitTranslationKey(unit: string, direction: string): string {\r\n\t\tconst unitNameMap: Record<string, RelativeDateUnitName> = {\r\n\t\t\t[RelativeDateUnit.Seconds]: RelativeDateUnitName.Seconds,\r\n\t\t\t[RelativeDateUnit.Minutes]: RelativeDateUnitName.Minutes,\r\n\t\t\t[RelativeDateUnit.Hours]: RelativeDateUnitName.Hours,\r\n\t\t\t[RelativeDateUnit.Days]: RelativeDateUnitName.Days,\r\n\t\t\t[RelativeDateUnit.Weeks]: RelativeDateUnitName.Weeks,\r\n\t\t\t[RelativeDateUnit.Months]: RelativeDateUnitName.Months,\r\n\t\t\t[RelativeDateUnit.Years]: RelativeDateUnitName.Years\r\n\t\t};\r\n\r\n\t\tconst suffix =\r\n\t\t\tdirection === RelativeDateDirection.Past ? RelativeDateUnitSuffix.Ago : RelativeDateUnitSuffix.FromNow;\r\n\t\treturn `relativeDateSelector.units.${unitNameMap[unit]}${suffix}`;\r\n\t}\r\n}\r\n","<div class=\"relative-date-selector\">\r\n\t<div class=\"input-wrapper flex align-items-center\" (click)=\"onInputClick($event)\">\r\n\t\t<input\r\n\t\t\ttype=\"text\"\r\n\t\t\treadonly\r\n\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\tclass=\"p-inputtext p-component\"\r\n\t\t\t[class.p-invalid]=\"ngControl.invalid && ngControl.touched\"\r\n\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.placeholder')\"\r\n\t\t\t[pTooltip]=\"ngControl.invalid && ngControl.touched ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n\t\t\t[tooltipOptions]=\"tooltipOptions\" />\r\n\t\t<div class=\"calendar-icon-wrapper flex align-items-center justify-content-center\" (click)=\"toggleQuickSelect($event)\">\r\n\t\t\t<i class=\"pi pi-calendar calendar-icon\"></i>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<p-overlayPanel\r\n\t\t#op\r\n\t\t[style]=\"{ minWidth: '350px', maxHeight: '600px', overflow: 'visible' }\"\r\n\t\t[dismissable]=\"true\"\r\n\t\t(onHide)=\"showOverlayPanel.set(false)\">\r\n\t\t<p-tabView (onChange)=\"onTabChange($event)\" [activeIndex]=\"activeTabIndex()\">\r\n\t\t\t<p-tabPanel [header]=\"translocoService.translate('relativeDateSelector.absolute')\">\r\n\t\t\t\t<div class=\"flex justify-content-center\">\r\n\t\t\t\t\t<aril-calendar\r\n\t\t\t\t\t\t[(ngModel)]=\"absoluteDate\"\r\n\t\t\t\t\t\t(ngModelChange)=\"onAbsoluteDateChange($event)\"\r\n\t\t\t\t\t\t[inline]=\"true\"\r\n\t\t\t\t\t\t[showTime]=\"true\"\r\n\t\t\t\t\t\t[showSeconds]=\"true\">\r\n\t\t\t\t\t</aril-calendar>\r\n\t\t\t\t</div>\r\n\t\t\t</p-tabPanel>\r\n\r\n\t\t\t<p-tabPanel [header]=\"translocoService.translate('relativeDateSelector.relative')\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<div class=\"flex flex-column gap-2 m-2\">\r\n\t\t\t\t\t\t<aril-number\r\n\t\t\t\t\t\t\t[(ngModel)]=\"relativeValue\"\r\n\t\t\t\t\t\t\t(ngModelChange)=\"onRelativeChange()\"\r\n\t\t\t\t\t\t\t[min]=\"1\"\r\n\t\t\t\t\t\t\t[showButtons]=\"true\"\r\n\t\t\t\t\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.valuePlaceholder')\">\r\n\t\t\t\t\t\t</aril-number>\r\n\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"relativeUnit\"\r\n\t\t\t\t\t\t\t(ngModelChange)=\"onRelativeChange()\"\r\n\t\t\t\t\t\t\t[items]=\"relativeUnits\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\"\r\n\t\t\t\t\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.selectUnit')\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"m-2\">\r\n\t\t\t\t\t\t<small class=\"text-muted\">\r\n\t\t\t\t\t\t\t<strong>{{ translocoService.translate('relativeDateSelector.examples') }}:</strong> {{ translocoService.translate('relativeDateSelector.examplesText') }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</p-tabPanel>\r\n\t\t</p-tabView>\r\n\t</p-overlayPanel>\r\n\r\n\t<!-- Quick Select Panel -->\r\n\t@if (showQuickSelect()) {\r\n\t\t<div class=\"quick-select-panel mt-2\">\r\n\t\t\t<div class=\"quick-select-header flex justify-content-between align-items-center p-3\">\r\n\t\t\t\t<span class=\"title\">{{ translocoService.translate('relativeDateSelector.quickSelect') }}</span>\r\n\t\t\t\t<div class=\"flex align-items-center gap-2\">\r\n\t\t\t\t\t<i class=\"pi pi-times cursor-pointer\" (click)=\"showQuickSelect.set(false)\"></i>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"quick-select-body p-3\">\r\n\t\t\t\t<!-- Custom Quick Select Inputs -->\r\n\t\t\t\t<div class=\"quick-select-custom mb-3 pb-3\">\r\n\t\t\t\t\t<div class=\"flex gap-2 align-items-center mb-3\">\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"quickSelectDirection\"\r\n\t\t\t\t\t\t\t[items]=\"quickSelectDirections\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\r\n\t\t\t\t\t\t<aril-number [(ngModel)]=\"quickSelectValue\" [min]=\"1\" [showButtons]=\"true\"> </aril-number>\r\n\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"quickSelectUnit\"\r\n\t\t\t\t\t\t\t[items]=\"quickSelectUnits\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\r\n\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t[label]=\"translocoService.translate('relativeDateSelector.apply')\"\r\n\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t(clickEvent)=\"applyQuickSelectCustom()\"\r\n\t\t\t\t\t\t\t[style]=\"{ 'min-width': '80px' }\">\r\n\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- Commonly Used Options -->\r\n\t\t\t\t<div class=\"quick-select-section\">\r\n\t\t\t\t\t<span class=\"title-section mb-2\">{{ translocoService.translate('relativeDateSelector.commonlyUsed') }}</span>\r\n\t\t\t\t\t<div class=\"quick-select-options\">\r\n\t\t\t\t\t\t@for (option of commonlyUsedOptions; track option.value) {\r\n\t\t\t\t\t\t\t<button type=\"button\" class=\"quick-select-option\" (click)=\"applyQuickSelect(option)\">\r\n\t\t\t\t\t\t\t\t{{ option.label }}\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t}\r\n</div>\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-relativeDateSelector.mjs","sources":["../../projects/aril/ui/relativeDateSelector/src/enum.ts","../../projects/aril/ui/relativeDateSelector/src/relative-date-selector.component.ts","../../projects/aril/ui/relativeDateSelector/src/relative-date-selector.component.html","../../projects/aril/ui/relativeDateSelector/aril-ui-relativeDateSelector.ts"],"sourcesContent":["export enum RelativeDateUnit {\r\n\tSeconds = 's',\r\n\tMinutes = 'm',\r\n\tHours = 'h',\r\n\tDays = 'd',\r\n\tWeeks = 'w',\r\n\tMonths = 'M',\r\n\tYears = 'y'\r\n}\r\n\r\nexport enum RelativeDateDirection {\r\n\tPast = '-',\r\n\tFuture = '+'\r\n}\r\n\r\nexport enum RelativeDateUnitName {\r\n\tSeconds = 'seconds',\r\n\tMinutes = 'minutes',\r\n\tHours = 'hours',\r\n\tDays = 'days',\r\n\tWeeks = 'weeks',\r\n\tMonths = 'months',\r\n\tYears = 'years'\r\n}\r\n\r\nexport enum RelativeDateUnitSuffix {\r\n\tAgo = 'Ago',\r\n\tFromNow = 'FromNow'\r\n}\r\n","import { Component, signal, ViewChild, OnInit, AfterViewInit } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { OverlayPanel, OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\r\nimport { format, parse } from 'date-fns';\r\n\r\nimport { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';\r\nimport { CalendarComponent } from 'aril/ui/calendar';\r\nimport { ButtonComponent } from 'aril/ui/button';\r\nimport { NumberComponent } from 'aril/ui/number';\r\nimport { SelectBoxComponent } from 'aril/ui/selectBox';\r\nimport 'aril/util/primitive-extensions';\r\n\r\nimport { RelativeDateUnit, RelativeDateDirection, RelativeDateUnitName, RelativeDateUnitSuffix } from './enum';\r\n\r\ninterface QuickSelectOption {\r\n\tlabel: string;\r\n\tvalue: string;\r\n}\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector:\r\n\t\t'aril-relative-date-picker[ngModel], aril-relative-date-picker[formControl], aril-relative-date-picker[formControlName]',\r\n\ttemplateUrl: './relative-date-selector.component.html',\r\n\tstyleUrls: ['./relative-date-selector.component.scss'],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFormsModule,\r\n\t\tOverlayPanelModule,\r\n\t\tTabViewModule,\r\n\t\tTooltipModule,\r\n\t\tTranslocoModule,\r\n\t\tCalendarComponent,\r\n\t\tButtonComponent,\r\n\t\tNumberComponent,\r\n\t\tSelectBoxComponent,\r\n\t\tInputErrorMessagePipe\r\n\t],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class RelativeDateSelectorComponent extends BaseInputComponent implements OnInit, AfterViewInit {\r\n\t@ViewChild('op') overlayPanel!: OverlayPanel;\r\n\r\n\tactiveTabIndex = signal<number>(0);\r\n\tshowQuickSelect = signal<boolean>(false);\r\n\tshowOverlayPanel = signal<boolean>(false);\r\n\r\n\t// Absolute mode\r\n\tabsoluteDate: number | null = null;\r\n\r\n\t// Relative mode\r\n\trelativeValue: number | null = null;\r\n\trelativeUnit: string | null = null;\r\n\trelativeDirection = RelativeDateDirection.Past;\r\n\r\n\trelativeUnits: any[] = [];\r\n\tquickSelectDirections: Array<{ label: string; value: string }> = [];\r\n\tquickSelectUnits: Array<{ label: string; value: string }> = [];\r\n\tcommonlyUsedOptions: QuickSelectOption[] = [];\r\n\r\n\t// Quick select inputs\r\n\tquickSelectDirection = RelativeDateDirection.Past;\r\n\tquickSelectValue: number | null = null;\r\n\tquickSelectUnit = RelativeDateUnit.Minutes;\r\n\r\n\tconstructor(public readonly translocoService: TranslocoService) {\r\n\t\tsuper();\r\n\r\n\t\tthis.initializeOptions();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.ngControl.control?.valueChanges.subscribe((value) => {\r\n\t\t\tthis.onValueChange(value);\r\n\t\t});\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tif (this.ngControl.control?.value != null) {\r\n\t\t\tthis.onValueChange(this.ngControl.control?.value);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate initializeOptions(): void {\r\n\t\tconst units = Object.values(RelativeDateUnit);\r\n\t\tconst unitNames = Object.values(RelativeDateUnitName);\r\n\t\tconst directions = Object.values(RelativeDateDirection);\r\n\t\tconst directionSuffixes = Object.values(RelativeDateUnitSuffix);\r\n\r\n\t\t// Relative units\r\n\t\tthis.relativeUnits = units.flatMap((code, index) =>\r\n\t\t\tdirections.map((dir, dirIndex) => ({\r\n\t\t\t\tlabel: this.translocoService.translate(\r\n\t\t\t\t\t`relativeDateSelector.units.${unitNames[index]}${directionSuffixes[dirIndex]}`\r\n\t\t\t\t),\r\n\t\t\t\tvalue: `${code}${dir}`\r\n\t\t\t}))\r\n\t\t);\r\n\r\n\t\t// Quick Select - Last/Next options\r\n\t\tthis.quickSelectDirections = [\r\n\t\t\t{ label: this.translocoService.translate('relativeDateSelector.last'), value: RelativeDateDirection.Past },\r\n\t\t\t{ label: this.translocoService.translate('relativeDateSelector.next'), value: RelativeDateDirection.Future }\r\n\t\t];\r\n\r\n\t\tthis.quickSelectUnits = units.map((code, index) => ({\r\n\t\t\tlabel: this.translocoService.translate(`relativeDateSelector.units.${unitNames[index]}`),\r\n\t\t\tvalue: code\r\n\t\t}));\r\n\r\n\t\t// Commonly used quick selects\r\n\t\tconst quickOptions = [\r\n\t\t\t{ key: 'today', value: `now/${RelativeDateUnit.Days}` },\r\n\t\t\t{ key: 'thisWeek', value: `now/${RelativeDateUnit.Weeks}` },\r\n\t\t\t{ key: 'last1Minute', value: `now${RelativeDateDirection.Past}1${RelativeDateUnit.Minutes}` },\r\n\t\t\t{ key: 'last15Minutes', value: `now${RelativeDateDirection.Past}15${RelativeDateUnit.Minutes}` },\r\n\t\t\t{ key: 'last30Minutes', value: `now${RelativeDateDirection.Past}30${RelativeDateUnit.Minutes}` },\r\n\t\t\t{ key: 'last1Hour', value: `now${RelativeDateDirection.Past}1${RelativeDateUnit.Hours}` },\r\n\t\t\t{ key: 'last24Hours', value: `now${RelativeDateDirection.Past}24${RelativeDateUnit.Hours}` },\r\n\t\t\t{ key: 'last7Days', value: `now${RelativeDateDirection.Past}7${RelativeDateUnit.Days}` },\r\n\t\t\t{ key: 'last30Days', value: `now${RelativeDateDirection.Past}30${RelativeDateUnit.Days}` },\r\n\t\t\t{ key: 'last90Days', value: `now${RelativeDateDirection.Past}90${RelativeDateUnit.Days}` },\r\n\t\t\t{ key: 'last1Year', value: `now${RelativeDateDirection.Past}1${RelativeDateUnit.Years}` }\r\n\t\t];\r\n\r\n\t\tthis.commonlyUsedOptions = quickOptions.map((opt) => ({\r\n\t\t\tlabel: this.translocoService.translate(`relativeDateSelector.quickOptions.${opt.key}`),\r\n\t\t\tvalue: opt.value\r\n\t\t}));\r\n\t}\r\n\r\n\tonValueChange(value: number | string | null | undefined): void {\r\n\t\tif (value != null) {\r\n\t\t\tif (typeof value === 'number') {\r\n\t\t\t\tthis.activeTabIndex.set(0);\r\n\t\t\t\tthis.absoluteDate = value;\r\n\t\t\t} else if (typeof value === 'string') {\r\n\t\t\t\tthis.activeTabIndex.set(1);\r\n\t\t\t\tthis.parseRelativeValue(value);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.absoluteDate = null;\r\n\t\t\tthis.relativeValue = null;\r\n\t\t\tthis.relativeUnit = null;\r\n\t\t}\r\n\t}\r\n\r\n\tparseRelativeValue(value: string): void {\r\n\t\tconst match = value.match(/^now\\s*(?:([+-])\\s*(\\d+)([smhdwMy]))?\\s*(?:\\/([smhdwMy]))?$/);\r\n\r\n\t\tif (match) {\r\n\t\t\tconst [, direction, amount, unit] = match;\r\n\t\t\tif (direction && amount && unit) {\r\n\t\t\t\tthis.relativeDirection = direction as RelativeDateDirection;\r\n\t\t\t\tthis.relativeValue = parseInt(amount, 10);\r\n\t\t\t\tthis.relativeUnit = unit + direction;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonAbsoluteDateChange(date: number | null): void {\r\n\t\tthis.absoluteDate = date;\r\n\t\tthis.updateValue();\r\n\t}\r\n\r\n\tonRelativeChange(): void {\r\n\t\tthis.updateValue();\r\n\t}\r\n\r\n\tonTabChange(event: { index: number }): void {\r\n\t\tthis.activeTabIndex.set(event.index);\r\n\t}\r\n\r\n\tupdateValue(): void {\r\n\t\tif (this.activeTabIndex() === 0 && this.absoluteDate != null) {\r\n\t\t\tthis.ngControl.control?.setValue(this.absoluteDate);\r\n\t\t} else if (this.activeTabIndex() === 1 && this.relativeValue != null && this.relativeUnit) {\r\n\t\t\tconst unit = this.relativeUnit.charAt(0);\r\n\t\t\tconst direction = this.relativeUnit.charAt(1);\r\n\t\t\tthis.ngControl.control?.setValue(`now${direction}${this.relativeValue}${unit}`);\r\n\t\t}\r\n\t}\r\n\r\n\tapplyQuickSelect(option: QuickSelectOption): void {\r\n\t\tthis.applyRelativeValue(option.value);\r\n\t}\r\n\r\n\tapplyQuickSelectCustom(): void {\r\n\t\tif (this.quickSelectValue != null && this.quickSelectUnit) {\r\n\t\t\tconst relativeString = `now${this.quickSelectDirection}${this.quickSelectValue}${this.quickSelectUnit}`;\r\n\t\t\tthis.applyRelativeValue(relativeString);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate applyRelativeValue(value: string): void {\r\n\t\tthis.activeTabIndex.set(1);\r\n\t\tthis.parseRelativeValue(value);\r\n\t\tthis.ngControl.control?.setValue(value);\r\n\t\tthis.closeQuickSelectPanels();\r\n\t}\r\n\r\n\tprivate closeQuickSelectPanels(): void {\r\n\t\tthis.showQuickSelect.set(false);\r\n\t\tthis.showOverlayPanel.set(false);\r\n\t}\r\n\r\n\ttoggleQuickSelect(event: Event): void {\r\n\t\tevent.stopPropagation();\r\n\t\tthis.showQuickSelect.update((value) => !value);\r\n\t\tif (this.showQuickSelect()) {\r\n\t\t\tthis.showOverlayPanel.set(false);\r\n\t\t\tthis.overlayPanel?.hide();\r\n\t\t}\r\n\t}\r\n\r\n\tonInputClick(event: Event): void {\r\n\t\tthis.showQuickSelect.set(false);\r\n\t\tthis.overlayPanel?.toggle(event);\r\n\t}\r\n\r\n\tgetDisplayValue(): string {\r\n\t\tconst value = this.ngControl.control?.value;\r\n\r\n\t\tif (value == null) return '';\r\n\r\n\t\tif (typeof value === 'number') {\r\n\t\t\treturn this.formatAbsoluteDate(value);\r\n\t\t}\r\n\r\n\t\tif (typeof value === 'string') {\r\n\t\t\treturn this.formatRelativeDate(value);\r\n\t\t}\r\n\r\n\t\treturn '';\r\n\t}\r\n\r\n\tprivate formatAbsoluteDate(value: number): string {\r\n\t\tconst dateStr = value.toString();\r\n\t\tif (dateStr.length === 14) {\r\n\t\t\ttry {\r\n\t\t\t\tconst date = parse(dateStr, 'yyyyMMddHHmmss', new Date());\r\n\t\t\t\treturn format(date, 'dd.MM.yyyy HH:mm:ss');\r\n\t\t\t} catch (error) {\r\n\t\t\t\treturn dateStr;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn dateStr;\r\n\t}\r\n\r\n\tprivate formatRelativeDate(value: string): string {\r\n\t\tconst quickOption = this.commonlyUsedOptions.find((opt: QuickSelectOption) => opt.value === value);\r\n\t\tif (quickOption) {\r\n\t\t\treturn quickOption.label;\r\n\t\t}\r\n\r\n\t\tconst match = value.match(/^now\\s*([+-])\\s*(\\d+)([smhdwMy])$/);\r\n\t\tif (match) {\r\n\t\t\tconst [, direction, amount, unit] = match;\r\n\t\t\tconst directionText = this.translocoService.translate(\r\n\t\t\t\tdirection === RelativeDateDirection.Past ? 'relativeDateSelector.last' : 'relativeDateSelector.next'\r\n\t\t\t);\r\n\t\t\tconst unitText = this.translocoService.translate(this.getUnitTranslationKey(unit, direction));\r\n\t\t\treturn `${directionText} ${amount} ${unitText}`;\r\n\t\t}\r\n\r\n\t\treturn value;\r\n\t}\r\n\r\n\tprivate getUnitTranslationKey(unit: string, direction: string): string {\r\n\t\tconst unitNameMap: Record<string, RelativeDateUnitName> = {\r\n\t\t\t[RelativeDateUnit.Seconds]: RelativeDateUnitName.Seconds,\r\n\t\t\t[RelativeDateUnit.Minutes]: RelativeDateUnitName.Minutes,\r\n\t\t\t[RelativeDateUnit.Hours]: RelativeDateUnitName.Hours,\r\n\t\t\t[RelativeDateUnit.Days]: RelativeDateUnitName.Days,\r\n\t\t\t[RelativeDateUnit.Weeks]: RelativeDateUnitName.Weeks,\r\n\t\t\t[RelativeDateUnit.Months]: RelativeDateUnitName.Months,\r\n\t\t\t[RelativeDateUnit.Years]: RelativeDateUnitName.Years\r\n\t\t};\r\n\r\n\t\tconst suffix =\r\n\t\t\tdirection === RelativeDateDirection.Past ? RelativeDateUnitSuffix.Ago : RelativeDateUnitSuffix.FromNow;\r\n\t\treturn `relativeDateSelector.units.${unitNameMap[unit]}${suffix}`;\r\n\t}\r\n}\r\n","<div class=\"relative-date-selector\">\r\n\t<div class=\"input-wrapper flex align-items-center\" (click)=\"onInputClick($event)\">\r\n\t\t<input\r\n\t\t\ttype=\"text\"\r\n\t\t\treadonly\r\n\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\tclass=\"p-inputtext p-component\"\r\n\t\t\t[class.p-invalid]=\"ngControl.invalid && ngControl.touched\"\r\n\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.placeholder')\"\r\n\t\t\t[pTooltip]=\"ngControl.invalid && ngControl.touched ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\r\n\t\t\t[tooltipOptions]=\"tooltipOptions\" />\r\n\t\t<div class=\"calendar-icon-wrapper flex align-items-center justify-content-center\" (click)=\"toggleQuickSelect($event)\">\r\n\t\t\t<i class=\"pi pi-calendar calendar-icon\"></i>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<p-overlayPanel\r\n\t\t#op\r\n\t\t[style]=\"{ minWidth: '350px', maxHeight: '600px', overflow: 'visible' }\"\r\n\t\t[dismissable]=\"true\"\r\n\t\t(onHide)=\"showOverlayPanel.set(false)\">\r\n\t\t<p-tabView (onChange)=\"onTabChange($event)\" [activeIndex]=\"activeTabIndex()\">\r\n\t\t\t<p-tabPanel [header]=\"translocoService.translate('relativeDateSelector.absolute')\">\r\n\t\t\t\t<div class=\"flex justify-content-center\">\r\n\t\t\t\t\t<aril-calendar\r\n\t\t\t\t\t\t[(ngModel)]=\"absoluteDate\"\r\n\t\t\t\t\t\t(ngModelChange)=\"onAbsoluteDateChange($event)\"\r\n\t\t\t\t\t\t[inline]=\"true\"\r\n\t\t\t\t\t\t[showTime]=\"true\"\r\n\t\t\t\t\t\t[showSeconds]=\"true\">\r\n\t\t\t\t\t</aril-calendar>\r\n\t\t\t\t</div>\r\n\t\t\t</p-tabPanel>\r\n\r\n\t\t\t<p-tabPanel [header]=\"translocoService.translate('relativeDateSelector.relative')\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<div class=\"flex flex-column gap-2 m-2\">\r\n\t\t\t\t\t\t<aril-number\r\n\t\t\t\t\t\t\t[(ngModel)]=\"relativeValue\"\r\n\t\t\t\t\t\t\t(ngModelChange)=\"onRelativeChange()\"\r\n\t\t\t\t\t\t\t[min]=\"1\"\r\n\t\t\t\t\t\t\t[showButtons]=\"true\"\r\n\t\t\t\t\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.valuePlaceholder')\">\r\n\t\t\t\t\t\t</aril-number>\r\n\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"relativeUnit\"\r\n\t\t\t\t\t\t\t(ngModelChange)=\"onRelativeChange()\"\r\n\t\t\t\t\t\t\t[items]=\"relativeUnits\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\"\r\n\t\t\t\t\t\t\t[placeholder]=\"translocoService.translate('relativeDateSelector.selectUnit')\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"m-2\">\r\n\t\t\t\t\t\t<small class=\"text-muted\">\r\n\t\t\t\t\t\t\t<strong>{{ translocoService.translate('relativeDateSelector.examples') }}:</strong> {{ translocoService.translate('relativeDateSelector.examplesText') }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</p-tabPanel>\r\n\t\t</p-tabView>\r\n\t</p-overlayPanel>\r\n\r\n\t<!-- Quick Select Panel -->\r\n\t@if (showQuickSelect()) {\r\n\t\t<div class=\"quick-select-panel mt-2\">\r\n\t\t\t<div class=\"quick-select-header flex justify-content-between align-items-center p-3\">\r\n\t\t\t\t<span class=\"title\">{{ translocoService.translate('relativeDateSelector.quickSelect') }}</span>\r\n\t\t\t\t<div class=\"flex align-items-center gap-2\">\r\n\t\t\t\t\t<i class=\"pi pi-times cursor-pointer\" (click)=\"showQuickSelect.set(false)\"></i>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"quick-select-body p-3\">\r\n\t\t\t\t<!-- Custom Quick Select Inputs -->\r\n\t\t\t\t<div class=\"quick-select-custom mb-3 pb-3\">\r\n\t\t\t\t\t<div class=\"flex gap-2 align-items-center mb-3\">\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"quickSelectDirection\"\r\n\t\t\t\t\t\t\t[items]=\"quickSelectDirections\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\r\n\t\t\t\t\t\t<aril-number [(ngModel)]=\"quickSelectValue\" [min]=\"1\" [showButtons]=\"true\"> </aril-number>\r\n\r\n\t\t\t\t\t\t<aril-select-box\r\n\t\t\t\t\t\t\t[(ngModel)]=\"quickSelectUnit\"\r\n\t\t\t\t\t\t\t[items]=\"quickSelectUnits\"\r\n\t\t\t\t\t\t\t[itemKey]=\"'value'\"\r\n\t\t\t\t\t\t\t[itemText]=\"'label'\">\r\n\t\t\t\t\t\t</aril-select-box>\r\n\r\n\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t[label]=\"translocoService.translate('relativeDateSelector.apply')\"\r\n\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t(clickEvent)=\"applyQuickSelectCustom()\"\r\n\t\t\t\t\t\t\t[style]=\"{ 'min-width': '80px' }\">\r\n\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- Commonly Used Options -->\r\n\t\t\t\t<div class=\"quick-select-section\">\r\n\t\t\t\t\t<span class=\"title-section mb-2\">{{ translocoService.translate('relativeDateSelector.commonlyUsed') }}</span>\r\n\t\t\t\t\t<div class=\"quick-select-options\">\r\n\t\t\t\t\t\t@for (option of commonlyUsedOptions; track option.value) {\r\n\t\t\t\t\t\t\t<button type=\"button\" class=\"quick-select-option\" (click)=\"applyQuickSelect(option)\">\r\n\t\t\t\t\t\t\t\t{{ option.label }}\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t}\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|