@corp-products/ui-components 1.0.3 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -2
- package/fesm2022/corp-products-ui-components.mjs +227 -187
- package/fesm2022/corp-products-ui-components.mjs.map +1 -1
- package/index.d.ts +394 -13
- package/package.json +6 -6
- package/esm2022/corp-products-ui-components.mjs +0 -5
- package/esm2022/index.mjs +0 -14
- package/esm2022/lib/app-accordion/app-accordion.component.mjs +0 -35
- package/esm2022/lib/app-button/app-button.component.mjs +0 -43
- package/esm2022/lib/app-button/app-button.mjs +0 -2
- package/esm2022/lib/app-button/index.mjs +0 -3
- package/esm2022/lib/app-dropdown-menu/app-dropdown-menu.component.mjs +0 -54
- package/esm2022/lib/app-dropdown-menu/app-dropdown-menu.mjs +0 -2
- package/esm2022/lib/app-dropdown-menu/index.mjs +0 -3
- package/esm2022/lib/app-dropdown-menu/menu-popup.pipe.mjs +0 -23
- package/esm2022/lib/app-tabs/app-tab.interface.mjs +0 -2
- package/esm2022/lib/app-tabs/app-tabs.component.mjs +0 -57
- package/esm2022/lib/app-tabs/index.mjs +0 -3
- package/esm2022/lib/confirmation-dialog/confirmation-dialog.component.mjs +0 -44
- package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +0 -31
- package/esm2022/lib/dynamic-form/dynamic-form.interface.mjs +0 -6
- package/esm2022/lib/form-components/@utils/form-utils.mjs +0 -11
- package/esm2022/lib/form-components/@utils/validations/error-keys.enum.mjs +0 -27
- package/esm2022/lib/form-components/@utils/validations/form-validation.service.mjs +0 -50
- package/esm2022/lib/form-components/@utils/validations/index.mjs +0 -4
- package/esm2022/lib/form-components/@utils/validations/validation-message.pipe.mjs +0 -30
- package/esm2022/lib/form-components/components/auto-complete/auto-complete.component.mjs +0 -59
- package/esm2022/lib/form-components/components/base-input.component.mjs +0 -57
- package/esm2022/lib/form-components/components/date-picker/date-picker.component.mjs +0 -58
- package/esm2022/lib/form-components/components/input/input.component.mjs +0 -48
- package/esm2022/lib/form-components/components/select/select.component.mjs +0 -72
- package/esm2022/lib/form-components/components/select-button/select-button.component.mjs +0 -29
- package/esm2022/lib/form-components/components/switcher/switch.component.mjs +0 -34
- package/esm2022/lib/form-components/index.mjs +0 -10
- package/esm2022/lib/form-components/interfaces/index.mjs +0 -2
- package/esm2022/lib/form-components/interfaces/label-value.mjs +0 -2
- package/esm2022/lib/ico-moon-icon/ico-moon-icon.component.mjs +0 -41
- package/esm2022/lib/read-more/read-more.component.mjs +0 -30
- package/esm2022/lib/side-bar/side-bar.component.mjs +0 -51
- package/esm2022/lib/user-autocomplete-card/user-autocomplete-card.component.mjs +0 -32
- package/esm2022/lib/user-info/user-info.component.mjs +0 -15
- package/lib/app-accordion/app-accordion.component.d.ts +0 -11
- package/lib/app-button/app-button.component.d.ts +0 -18
- package/lib/app-button/app-button.d.ts +0 -4
- package/lib/app-button/index.d.ts +0 -2
- package/lib/app-dropdown-menu/app-dropdown-menu.component.d.ts +0 -20
- package/lib/app-dropdown-menu/app-dropdown-menu.d.ts +0 -15
- package/lib/app-dropdown-menu/index.d.ts +0 -2
- package/lib/app-dropdown-menu/menu-popup.pipe.d.ts +0 -8
- package/lib/app-tabs/app-tab.interface.d.ts +0 -23
- package/lib/app-tabs/app-tabs.component.d.ts +0 -18
- package/lib/app-tabs/index.d.ts +0 -2
- package/lib/confirmation-dialog/confirmation-dialog.component.d.ts +0 -19
- package/lib/dynamic-form/dynamic-form.component.d.ts +0 -16
- package/lib/dynamic-form/dynamic-form.interface.d.ts +0 -44
- package/lib/form-components/@utils/form-utils.d.ts +0 -4
- package/lib/form-components/@utils/validations/error-keys.enum.d.ts +0 -24
- package/lib/form-components/@utils/validations/form-validation.service.d.ts +0 -11
- package/lib/form-components/@utils/validations/index.d.ts +0 -3
- package/lib/form-components/@utils/validations/validation-message.pipe.d.ts +0 -9
- package/lib/form-components/components/auto-complete/auto-complete.component.d.ts +0 -18
- package/lib/form-components/components/base-input.component.d.ts +0 -21
- package/lib/form-components/components/date-picker/date-picker.component.d.ts +0 -21
- package/lib/form-components/components/input/input.component.d.ts +0 -17
- package/lib/form-components/components/select/select.component.d.ts +0 -23
- package/lib/form-components/components/select-button/select-button.component.d.ts +0 -13
- package/lib/form-components/components/switcher/switch.component.d.ts +0 -11
- package/lib/form-components/index.d.ts +0 -9
- package/lib/form-components/interfaces/index.d.ts +0 -1
- package/lib/form-components/interfaces/label-value.d.ts +0 -4
- package/lib/ico-moon-icon/ico-moon-icon.component.d.ts +0 -9
- package/lib/read-more/read-more.component.d.ts +0 -10
- package/lib/side-bar/side-bar.component.d.ts +0 -18
- package/lib/user-autocomplete-card/user-autocomplete-card.component.d.ts +0 -12
- package/lib/user-info/user-info.component.d.ts +0 -7
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Component, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { AppButtonComponent } from '../app-button';
|
|
3
|
-
import { Popover } from 'primeng/popover';
|
|
4
|
-
import { Router } from '@angular/router';
|
|
5
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
-
import { NgClass } from "@angular/common";
|
|
7
|
-
import { MenuPopupTextColorPipe } from "./menu-popup.pipe";
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@ngx-translate/core";
|
|
10
|
-
export class AppDropdownMenuComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.menuItems = [];
|
|
13
|
-
this.popupMenuStyle = "purple";
|
|
14
|
-
this.buttonIcon = "font-icon-plus";
|
|
15
|
-
this.buttonIconPosition = "left";
|
|
16
|
-
this.router = inject(Router);
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
this.showMenu = this.menuItems.some((item) => {
|
|
20
|
-
return item.show;
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
onMenuItemClick(item) {
|
|
24
|
-
if (item.callback) {
|
|
25
|
-
item.callback();
|
|
26
|
-
}
|
|
27
|
-
else if (item.routerLink) {
|
|
28
|
-
this.router.navigate(Array.isArray(item.routerLink) ? item.routerLink : [item.routerLink], { queryParams: item.queryParams || {} });
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AppDropdownMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AppDropdownMenuComponent, isStandalone: true, selector: "app-dropdown-menu", inputs: { buttonTitle: "buttonTitle", menuItems: "menuItems", popupMenuStyle: "popupMenuStyle", buttonIcon: "buttonIcon", buttonClass: "buttonClass", buttonStyle: "buttonStyle", buttonIconPosition: "buttonIconPosition" }, ngImport: i0, template: "@if (showMenu) {\r\n <app-button (click)=\"op.toggle($event)\" [class]=\"buttonClass\"\r\n [iconPos]=\"buttonIconPosition\"\r\n [icon]=\"buttonIcon\" [title]=\"buttonTitle\"\r\n [style]=\"buttonStyle\"/>\r\n}\r\n<p-popover #op [styleClass]=\"popupMenuStyle === 'white' ? 'white-menu' : 'purple-menu'\">\r\n <div class=\"flex flex-col gap-4 text-sm md:text-xs\">\r\n <ul>\r\n @for (item of menuItems; track $index) {\r\n @if (item.show) {\r\n <li\r\n [ngClass]=\"{'flex-row-reverse': item.iconPosition === 'right'}\"\r\n [class]=\"'flex justify-between min-w-[130px] gap-3 items-center cursor-pointer text-sm ' + (item.textColor | popupTextColorClass)\"\r\n (click)=\"onMenuItemClick(item)\">\r\n {{ item.title | translate }}\r\n @if (item.icon) {\r\n <i [class]=\"item.icon\"></i>\r\n }\r\n </li>\r\n }\r\n }\r\n </ul>\r\n </div>\r\n</p-popover>\r\n", styles: [".p-popover.p-component{box-shadow:none;border-radius:3px;margin-top:13px}.p-popover.p-component:is(.purple-menu){margin-top:.5rem;background-color:var(--primary);font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.p-popover.p-component:is(.purple-menu) li:not(:last-child){border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(126 34 206 / var(--tw-border-opacity, 1))}.p-popover.p-component:is(.white-menu) li:not(:last-child){border-bottom-width:1px}.p-popover.p-component:before,.p-popover.p-component:after{display:none}.p-popover.p-component .p-popover-content{width:auto;min-width:unset}.p-popover.p-component .p-popover-content ul li{padding-top:.75rem;padding-bottom:.75rem}.p-popover.p-component .p-popover-content ul li:hover{opacity:.7}.p-popover.p-component .p-popover-content ul li:first-child{padding-top:0}.p-popover.p-component .p-popover-content ul li:last-child{padding-bottom:0}\n"], dependencies: [{ kind: "component", type: AppButtonComponent, selector: "app-button", inputs: ["title", "class", "icon", "size", "style", "iconPos", "variant", "disabled", "text", "rounded"], outputs: ["clickEmitter"] }, { kind: "component", type: Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: MenuPopupTextColorPipe, name: "popupTextColorClass" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AppDropdownMenuComponent, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{ selector: "app-dropdown-menu", standalone: true, imports: [AppButtonComponent, Popover, TranslateModule, NgClass, MenuPopupTextColorPipe], encapsulation: ViewEncapsulation.None, template: "@if (showMenu) {\r\n <app-button (click)=\"op.toggle($event)\" [class]=\"buttonClass\"\r\n [iconPos]=\"buttonIconPosition\"\r\n [icon]=\"buttonIcon\" [title]=\"buttonTitle\"\r\n [style]=\"buttonStyle\"/>\r\n}\r\n<p-popover #op [styleClass]=\"popupMenuStyle === 'white' ? 'white-menu' : 'purple-menu'\">\r\n <div class=\"flex flex-col gap-4 text-sm md:text-xs\">\r\n <ul>\r\n @for (item of menuItems; track $index) {\r\n @if (item.show) {\r\n <li\r\n [ngClass]=\"{'flex-row-reverse': item.iconPosition === 'right'}\"\r\n [class]=\"'flex justify-between min-w-[130px] gap-3 items-center cursor-pointer text-sm ' + (item.textColor | popupTextColorClass)\"\r\n (click)=\"onMenuItemClick(item)\">\r\n {{ item.title | translate }}\r\n @if (item.icon) {\r\n <i [class]=\"item.icon\"></i>\r\n }\r\n </li>\r\n }\r\n }\r\n </ul>\r\n </div>\r\n</p-popover>\r\n", styles: [".p-popover.p-component{box-shadow:none;border-radius:3px;margin-top:13px}.p-popover.p-component:is(.purple-menu){margin-top:.5rem;background-color:var(--primary);font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.p-popover.p-component:is(.purple-menu) li:not(:last-child){border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(126 34 206 / var(--tw-border-opacity, 1))}.p-popover.p-component:is(.white-menu) li:not(:last-child){border-bottom-width:1px}.p-popover.p-component:before,.p-popover.p-component:after{display:none}.p-popover.p-component .p-popover-content{width:auto;min-width:unset}.p-popover.p-component .p-popover-content ul li{padding-top:.75rem;padding-bottom:.75rem}.p-popover.p-component .p-popover-content ul li:hover{opacity:.7}.p-popover.p-component .p-popover-content ul li:first-child{padding-top:0}.p-popover.p-component .p-popover-content ul li:last-child{padding-bottom:0}\n"] }]
|
|
37
|
-
}], propDecorators: { buttonTitle: [{
|
|
38
|
-
type: Input,
|
|
39
|
-
args: [{ required: true }]
|
|
40
|
-
}], menuItems: [{
|
|
41
|
-
type: Input,
|
|
42
|
-
args: [{ required: true }]
|
|
43
|
-
}], popupMenuStyle: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], buttonIcon: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], buttonClass: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], buttonStyle: [{
|
|
50
|
-
type: Input
|
|
51
|
-
}], buttonIconPosition: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvYXBwLWRyb3Bkb3duLW1lbnUvYXBwLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvYXBwLWRyb3Bkb3duLW1lbnUvYXBwLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7OztBQVV6RCxNQUFNLE9BQU8sd0JBQXdCO0lBUnJDO1FBVTZCLGNBQVMsR0FBdUIsRUFBRSxDQUFDO1FBQ3JELG1CQUFjLEdBQXVCLFFBQVEsQ0FBQztRQUM5QyxlQUFVLEdBQUcsZ0JBQWdCLENBQUM7UUFHOUIsdUJBQWtCLEdBQXFCLE1BQU0sQ0FBQztRQUN2RCxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBZ0J6QjtJQVpDLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFzQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEksQ0FBQztJQUNILENBQUM7OEdBdkJVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDJTQ2xCckMsNC9CQXlCQSxrZ0NEWlksa0JBQWtCLDRMQUFFLE9BQU8sK1NBQUUsZUFBZSw0RkFBRSxPQUFPLCtFQUFFLHNCQUFzQjs7MkZBSzVFLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLENBQUMsaUJBR3pFLGlCQUFpQixDQUFDLElBQUk7OEJBR1YsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcHBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9hcHAtYnV0dG9uJztcclxuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gJ3ByaW1lbmcvcG9wb3Zlcic7XHJcbmltcG9ydCB7IERyb3Bkb3duTWVudUl0ZW0gfSBmcm9tICcuL2FwcC1kcm9wZG93bi1tZW51JztcclxuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7QXBwQnV0dG9uSWNvblBvcywgQXBwQnV0dG9uU2V2ZXJpdHl9IGZyb20gJy4uL2FwcC1idXR0b24nO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHtOZ0NsYXNzfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7TWVudVBvcHVwVGV4dENvbG9yUGlwZX0gZnJvbSBcIi4vbWVudS1wb3B1cC5waXBlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtZHJvcGRvd24tbWVudVwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0FwcEJ1dHRvbkNvbXBvbmVudCwgUG9wb3ZlciwgVHJhbnNsYXRlTW9kdWxlLCBOZ0NsYXNzLCBNZW51UG9wdXBUZXh0Q29sb3JQaXBlXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL2FwcC1kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9hcHAtZHJvcGRvd24tbWVudS5jb21wb25lbnQuc2Nzc1wiLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcERyb3Bkb3duTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgYnV0dG9uVGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtZW51SXRlbXM6IERyb3Bkb3duTWVudUl0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHBvcHVwTWVudVN0eWxlOiBcIndoaXRlXCIgfCBcInB1cnBsZVwiID0gXCJwdXJwbGVcIjtcclxuICBASW5wdXQoKSBidXR0b25JY29uID0gXCJmb250LWljb24tcGx1c1wiO1xyXG4gIEBJbnB1dCgpIGJ1dHRvbkNsYXNzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYnV0dG9uU3R5bGU6IEFwcEJ1dHRvblNldmVyaXR5O1xyXG4gIEBJbnB1dCgpIGJ1dHRvbkljb25Qb3NpdGlvbjogQXBwQnV0dG9uSWNvblBvcyA9IFwibGVmdFwiO1xyXG4gIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cclxuICBzaG93TWVudTogYm9vbGVhbjtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNob3dNZW51ID0gdGhpcy5tZW51SXRlbXMuc29tZSgoaXRlbSkgPT4ge1xyXG4gICAgICByZXR1cm4gaXRlbS5zaG93O1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9uTWVudUl0ZW1DbGljayhpdGVtOiBEcm9wZG93bk1lbnVJdGVtKTogdm9pZCB7XHJcbiAgICBpZiAoaXRlbS5jYWxsYmFjaykge1xyXG4gICAgICBpdGVtLmNhbGxiYWNrKCk7XHJcbiAgICB9IGVsc2UgaWYgKGl0ZW0ucm91dGVyTGluaykge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShBcnJheS5pc0FycmF5KGl0ZW0ucm91dGVyTGluaykgPyBpdGVtLnJvdXRlckxpbmsgOiBbaXRlbS5yb3V0ZXJMaW5rXSwgeyBxdWVyeVBhcmFtczogaXRlbS5xdWVyeVBhcmFtcyB8fCB7fSB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGlmIChzaG93TWVudSkge1xyXG4gIDxhcHAtYnV0dG9uIChjbGljayk9XCJvcC50b2dnbGUoJGV2ZW50KVwiIFtjbGFzc109XCJidXR0b25DbGFzc1wiXHJcbiAgICAgICAgICAgICAgW2ljb25Qb3NdPVwiYnV0dG9uSWNvblBvc2l0aW9uXCJcclxuICAgICAgICAgICAgICBbaWNvbl09XCJidXR0b25JY29uXCIgW3RpdGxlXT1cImJ1dHRvblRpdGxlXCJcclxuICAgICAgICAgICAgICBbc3R5bGVdPVwiYnV0dG9uU3R5bGVcIi8+XHJcbn1cclxuPHAtcG9wb3ZlciAjb3AgW3N0eWxlQ2xhc3NdPVwicG9wdXBNZW51U3R5bGUgPT09ICd3aGl0ZScgPyAnd2hpdGUtbWVudScgOiAncHVycGxlLW1lbnUnXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTQgdGV4dC1zbSBtZDp0ZXh0LXhzXCI+XHJcbiAgICA8dWw+XHJcbiAgICAgIEBmb3IgKGl0ZW0gb2YgbWVudUl0ZW1zOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICBAaWYgKGl0ZW0uc2hvdykge1xyXG4gICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZmxleC1yb3ctcmV2ZXJzZSc6IGl0ZW0uaWNvblBvc2l0aW9uID09PSAncmlnaHQnfVwiXHJcbiAgICAgICAgICAgIFtjbGFzc109XCInZmxleCBqdXN0aWZ5LWJldHdlZW4gbWluLXctWzEzMHB4XSBnYXAtMyBpdGVtcy1jZW50ZXIgY3Vyc29yLXBvaW50ZXIgdGV4dC1zbSAnICsgKGl0ZW0udGV4dENvbG9yIHwgcG9wdXBUZXh0Q29sb3JDbGFzcylcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcclxuICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgPC91bD5cclxuICA8L2Rpdj5cclxuPC9wLXBvcG92ZXI+XHJcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWRyb3Bkb3duLW1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9hcHAtZHJvcGRvd24tbWVudS9hcHAtZHJvcGRvd24tbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQYXJhbXN9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBcHBCdXR0b25JY29uUG9zfSBmcm9tIFwiLi4vYXBwLWJ1dHRvblwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bk1lbnVJdGVtIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHJvdXRlckxpbms/OiBzdHJpbmc7XHJcbiAgcXVlcnlQYXJhbXM/OiBQYXJhbXM7XHJcbiAgY2FsbGJhY2s/OiAoKSA9PiB2b2lkO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgc2hvdz86IGJvb2xlYW47XHJcbiAgLy8gVE9ETzogYWRkIHR5cGVcclxuICBwZXJtaXNzaW9uS2V5Pzogc3RyaW5nO1xyXG4gIHBlcm1pc3Npb25BY3Rpb24/OiBzdHJpbmc7XHJcbiAgaWNvblBvc2l0aW9uPzogQXBwQnV0dG9uSWNvblBvcztcclxuICB0ZXh0Q29sb3I/OiBEcm9wZG93blRleHRDb2xvcjtcclxufVxyXG5leHBvcnQgdHlwZSBEcm9wZG93blRleHRDb2xvciA9ICd3aGl0ZScgfCAncHVycGxlJyB8ICdncmVlbic7XHJcbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './app-dropdown-menu';
|
|
2
|
-
export * from './app-dropdown-menu.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9hcHAtZHJvcGRvd24tbWVudS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcC1kcm9wZG93bi1tZW51JztcclxuZXhwb3J0ICogZnJvbSAnLi9hcHAtZHJvcGRvd24tbWVudS5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class MenuPopupTextColorPipe {
|
|
4
|
-
transform(color) {
|
|
5
|
-
switch (color) {
|
|
6
|
-
case 'white': return 'text-white';
|
|
7
|
-
case 'purple': return 'text-purple-500';
|
|
8
|
-
case 'green': return 'text-green-500';
|
|
9
|
-
default: return 'text-white';
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MenuPopupTextColorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: MenuPopupTextColorPipe, isStandalone: true, name: "popupTextColorClass" }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MenuPopupTextColorPipe, decorators: [{
|
|
16
|
-
type: Pipe,
|
|
17
|
-
args: [{
|
|
18
|
-
name: 'popupTextColorClass',
|
|
19
|
-
standalone: true,
|
|
20
|
-
pure: true
|
|
21
|
-
}]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1wb3B1cC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvYXBwLWRyb3Bkb3duLW1lbnUvbWVudS1wb3B1cC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVFwRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFNBQVMsQ0FBQyxLQUF5QjtRQUNqQyxRQUFRLEtBQUssRUFBRSxDQUFDO1lBQ2QsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLFlBQVksQ0FBQztZQUNsQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8saUJBQWlCLENBQUM7WUFDeEMsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLGdCQUFnQixDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sWUFBWSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDOzhHQVJVLHNCQUFzQjs0R0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUxsQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxxQkFBcUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsSUFBSTtpQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEcm9wZG93blRleHRDb2xvcn0gZnJvbSBcIi4vYXBwLWRyb3Bkb3duLW1lbnVcIjtcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAncG9wdXBUZXh0Q29sb3JDbGFzcycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBwdXJlOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51UG9wdXBUZXh0Q29sb3JQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGNvbG9yPzogRHJvcGRvd25UZXh0Q29sb3IpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChjb2xvcikge1xyXG4gICAgICBjYXNlICd3aGl0ZSc6IHJldHVybiAndGV4dC13aGl0ZSc7XHJcbiAgICAgIGNhc2UgJ3B1cnBsZSc6IHJldHVybiAndGV4dC1wdXJwbGUtNTAwJztcclxuICAgICAgY2FzZSAnZ3JlZW4nOiByZXR1cm4gJ3RleHQtZ3JlZW4tNTAwJztcclxuICAgICAgZGVmYXVsdDogcmV0dXJuICd0ZXh0LXdoaXRlJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRhYi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9hcHAtdGFicy9hcHAtdGFiLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW50ZXJmYWNlIFRhYiB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpY29uTmFtZT86IHN0cmluZztcclxuICBpY29uUGF0aENvdW50PzogbnVtYmVyO1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICBjb3VudD86IG51bWJlcjtcclxuICBwZXJtaXNzaW9uS2V5Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlZFRhYiBleHRlbmRzIFRhYiB7XHJcbiAgbGluazogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVGVtcGxhdGVUYWIgZXh0ZW5kcyBUYWIge1xyXG4gIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbn1cclxuXHJcblxyXG5leHBvcnQgdHlwZSBBcHBUYWJzID0gKHtcclxuICBpc1JvdXRlZDogdHJ1ZTtcclxuICBpdGVtczogUm91dGVkVGFiW107XHJcbn0gfCB7XHJcbiAgaXNSb3V0ZWQ6IGZhbHNlO1xyXG4gIGl0ZW1zOiBUZW1wbGF0ZVRhYltdO1xyXG59KVxyXG4iXX0=
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from "@angular/common";
|
|
2
|
-
import { Component, Input, ViewEncapsulation } from "@angular/core";
|
|
3
|
-
import { TabsModule } from "primeng/tabs";
|
|
4
|
-
import { IcoMoonIconComponent } from "../ico-moon-icon/ico-moon-icon.component";
|
|
5
|
-
import { TranslateModule } from "@ngx-translate/core";
|
|
6
|
-
import { ActivatedRoute, NavigationEnd, Router, RouterLink, RouterOutlet } from "@angular/router";
|
|
7
|
-
import { filter } from "rxjs";
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/router";
|
|
10
|
-
import * as i2 from "@angular/common";
|
|
11
|
-
import * as i3 from "primeng/tabs";
|
|
12
|
-
import * as i4 from "@ngx-translate/core";
|
|
13
|
-
export class AppTabsComponent {
|
|
14
|
-
constructor(route, router) {
|
|
15
|
-
this.route = route;
|
|
16
|
-
this.router = router;
|
|
17
|
-
this.tabsStyle = "basic";
|
|
18
|
-
this.responsive = false;
|
|
19
|
-
this.activeTabIndex = 0;
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {
|
|
23
|
-
this.updateActiveTab();
|
|
24
|
-
});
|
|
25
|
-
// to be refactor
|
|
26
|
-
this.updateActiveTab();
|
|
27
|
-
}
|
|
28
|
-
// Updates the active tab index based on the current route
|
|
29
|
-
updateActiveTab() {
|
|
30
|
-
if (!this.tabs.isRouted)
|
|
31
|
-
return;
|
|
32
|
-
const currentUrl = this.router.url;
|
|
33
|
-
const matchingTabIndex = this.tabs.items.findIndex((tab) => currentUrl.includes(tab.link));
|
|
34
|
-
this.activeTabIndex = matchingTabIndex !== -1 ? matchingTabIndex : 0;
|
|
35
|
-
}
|
|
36
|
-
onTabChange(index) {
|
|
37
|
-
if (!this.tabs.isRouted)
|
|
38
|
-
return;
|
|
39
|
-
const selectedTab = this.tabs.items[index];
|
|
40
|
-
if (selectedTab && !selectedTab.disabled) {
|
|
41
|
-
this.router.navigate([selectedTab.link], { relativeTo: this.route });
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AppTabsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AppTabsComponent, isStandalone: true, selector: "app-tabs", inputs: { tabs: "tabs", tabsStyle: "tabsStyle", responsive: "responsive" }, ngImport: i0, template: "@if (tabs && tabs.items.length) {\r\n <div [class]=\"tabsStyle + (responsive ? ' full-width' : '') + ' tabs-container'\">\r\n <p-tabs [value]=\"activeTabIndex\" scrollable>\r\n <p-tablist>\r\n\r\n @for (tab of tabs.items; let i = $index; track i) {\r\n <p-tab [value]=\"i\" [routerLink]=\"tabs.isRouted ? $any(tab).link : null\" [disabled]=\"tab.disabled\"\r\n (click)=\"onTabChange(i)\">\r\n @if (tab.iconName) {\r\n <app-ico-moon-card [iconClass]=\"'text-[17px]'\" [iconName]=\"tab.iconName\"\r\n [iconPathCount]=\"tab.iconPathCount || 0\"/>\r\n }\r\n <span>{{ tab.title | translate }} @if (tab.count) {\r\n <span>({{ tab.count }})</span>\r\n } </span>\r\n </p-tab>\r\n }\r\n\r\n </p-tablist>\r\n\r\n <p-tabpanels>\r\n @if (tabs.isRouted) {\r\n <router-outlet></router-outlet>\r\n } @else {\r\n @for (tab of tabs.items; let i = $index; track i) {\r\n <p-tabpanel [value]=\"i\">\r\n <ng-container [ngTemplateOutlet]=\"tab.contentTemplate\"></ng-container>\r\n </p-tabpanel>\r\n }\r\n }\r\n\r\n </p-tabpanels>\r\n </p-tabs>\r\n </div>\r\n}\r\n", styles: [".tabs-container.full-width .p-tabs .p-tablist-tab-list .p-tab{display:flex;max-width:50%;flex-grow:1;justify-content:center}.tabs-container .p-tabs .p-tablist-tab-list{position:relative}.tabs-container .p-tabs .p-tablist-tab-list:after{position:absolute;bottom:0;right:0;z-index:1;height:3px;width:100%;background-color:#6b21a80d;--tw-content: \"\";content:var(--tw-content)}.tabs-container .p-tabs .p-tablist-tab-list .p-tab{z-index:2;border-bottom-width:4px;border-color:transparent;font-size:.875rem;line-height:1.25rem;font-size:16px;font-weight:400;--tw-text-opacity: 1;color:rgb(166 166 166 / var(--tw-text-opacity, 1))}.tabs-container .p-tabs .p-tablist-tab-list .p-tab:not(.p-tab-active) app-ico-moon-card{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tabs-container .p-tabs .p-tablist-active-bar{display:none}.tabs-container .p-tabs .p-tabpanels.p-component{margin-top:1.25rem;border-radius:.5rem}.tabs-container.basic .p-tabs .p-tablist-tab-list{background-color:transparent}.tabs-container.basic .p-tabs .p-tablist-tab-list .p-tab.p-tab-active{border-color:var(--primary);color:var(--primary)}.tabs-container.primary_light .p-tabs .p-tablist-tab-list .p-tab{border-top-left-radius:.5rem;border-top-right-radius:.5rem;font-size:14px}.tabs-container.primary_light .p-tabs .p-tablist-tab-list .p-tab.p-tab-active{border-color:var(--primary);background-color:#6b21a80d;font-weight:500;color:var(--primary)}.tabs-container.primary .p-tabs .p-tablist-tab-list:after{background-color:#6b21a80d}.tabs-container.primary .p-tabs .p-tablist-tab-list .p-tab{border-top-left-radius:.5rem;border-top-right-radius:.5rem;font-size:14px}.tabs-container.primary .p-tabs .p-tablist-tab-list .p-tab.p-tab-active{border-color:var(--secondary);background-color:var(--primary);font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}[dir=rtl] .p-tabs .p-tablist .p-iconwrapper{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[dir=rtl] .p-tabs .p-tablist .p-tablist-next-button{right:auto;left:0}[dir=rtl] .p-tabs .p-tablist .p-tablist-prev-button{right:0;left:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3.TabPanels, selector: "p-tabpanels" }, { kind: "component", type: i3.TabPanel, selector: "p-tabpanel", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: i3.TabList, selector: "p-tablist" }, { kind: "component", type: i3.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: IcoMoonIconComponent, selector: "app-ico-moon-card", inputs: ["iconName", "iconClass", "iconPathCount"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AppTabsComponent, decorators: [{
|
|
48
|
-
type: Component,
|
|
49
|
-
args: [{ selector: "app-tabs", standalone: true, encapsulation: ViewEncapsulation.None, imports: [CommonModule, TabsModule, RouterLink, RouterOutlet, IcoMoonIconComponent, TranslateModule], template: "@if (tabs && tabs.items.length) {\r\n <div [class]=\"tabsStyle + (responsive ? ' full-width' : '') + ' tabs-container'\">\r\n <p-tabs [value]=\"activeTabIndex\" scrollable>\r\n <p-tablist>\r\n\r\n @for (tab of tabs.items; let i = $index; track i) {\r\n <p-tab [value]=\"i\" [routerLink]=\"tabs.isRouted ? $any(tab).link : null\" [disabled]=\"tab.disabled\"\r\n (click)=\"onTabChange(i)\">\r\n @if (tab.iconName) {\r\n <app-ico-moon-card [iconClass]=\"'text-[17px]'\" [iconName]=\"tab.iconName\"\r\n [iconPathCount]=\"tab.iconPathCount || 0\"/>\r\n }\r\n <span>{{ tab.title | translate }} @if (tab.count) {\r\n <span>({{ tab.count }})</span>\r\n } </span>\r\n </p-tab>\r\n }\r\n\r\n </p-tablist>\r\n\r\n <p-tabpanels>\r\n @if (tabs.isRouted) {\r\n <router-outlet></router-outlet>\r\n } @else {\r\n @for (tab of tabs.items; let i = $index; track i) {\r\n <p-tabpanel [value]=\"i\">\r\n <ng-container [ngTemplateOutlet]=\"tab.contentTemplate\"></ng-container>\r\n </p-tabpanel>\r\n }\r\n }\r\n\r\n </p-tabpanels>\r\n </p-tabs>\r\n </div>\r\n}\r\n", styles: [".tabs-container.full-width .p-tabs .p-tablist-tab-list .p-tab{display:flex;max-width:50%;flex-grow:1;justify-content:center}.tabs-container .p-tabs .p-tablist-tab-list{position:relative}.tabs-container .p-tabs .p-tablist-tab-list:after{position:absolute;bottom:0;right:0;z-index:1;height:3px;width:100%;background-color:#6b21a80d;--tw-content: \"\";content:var(--tw-content)}.tabs-container .p-tabs .p-tablist-tab-list .p-tab{z-index:2;border-bottom-width:4px;border-color:transparent;font-size:.875rem;line-height:1.25rem;font-size:16px;font-weight:400;--tw-text-opacity: 1;color:rgb(166 166 166 / var(--tw-text-opacity, 1))}.tabs-container .p-tabs .p-tablist-tab-list .p-tab:not(.p-tab-active) app-ico-moon-card{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tabs-container .p-tabs .p-tablist-active-bar{display:none}.tabs-container .p-tabs .p-tabpanels.p-component{margin-top:1.25rem;border-radius:.5rem}.tabs-container.basic .p-tabs .p-tablist-tab-list{background-color:transparent}.tabs-container.basic .p-tabs .p-tablist-tab-list .p-tab.p-tab-active{border-color:var(--primary);color:var(--primary)}.tabs-container.primary_light .p-tabs .p-tablist-tab-list .p-tab{border-top-left-radius:.5rem;border-top-right-radius:.5rem;font-size:14px}.tabs-container.primary_light .p-tabs .p-tablist-tab-list .p-tab.p-tab-active{border-color:var(--primary);background-color:#6b21a80d;font-weight:500;color:var(--primary)}.tabs-container.primary .p-tabs .p-tablist-tab-list:after{background-color:#6b21a80d}.tabs-container.primary .p-tabs .p-tablist-tab-list .p-tab{border-top-left-radius:.5rem;border-top-right-radius:.5rem;font-size:14px}.tabs-container.primary .p-tabs .p-tablist-tab-list .p-tab.p-tab-active{border-color:var(--secondary);background-color:var(--primary);font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}[dir=rtl] .p-tabs .p-tablist .p-iconwrapper{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[dir=rtl] .p-tabs .p-tablist .p-tablist-next-button{right:auto;left:0}[dir=rtl] .p-tabs .p-tablist .p-tablist-prev-button{right:0;left:auto}\n"] }]
|
|
50
|
-
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { tabs: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], tabsStyle: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}], responsive: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvYXBwLXRhYnMvYXBwLXRhYnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvYXBwLXRhYnMvYXBwLXRhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBVTlCLE1BQU0sT0FBTyxnQkFBZ0I7SUFLM0IsWUFBb0IsS0FBcUIsRUFBVSxNQUFjO1FBQTdDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUh4RCxjQUFTLEdBQTBDLE9BQU8sQ0FBQztRQUMzRCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzVCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQ2lELENBQUM7SUFFckUsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEYsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsMERBQTBEO0lBQ2xELGVBQWU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDaEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDbkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxnQkFBZ0IsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUM7OEdBN0JVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGdKQ2pCN0IsMHhDQW1DQSxxNkVEdEJZLFlBQVkscU1BQUUsVUFBVSwraUJBQUUsVUFBVSxvT0FBRSxZQUFZLDJKQUFFLG9CQUFvQixpSEFBRSxlQUFlOzsyRkFJeEYsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLGlCQUNELGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxDQUFDO3dHQUszRixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVGFic01vZHVsZSB9IGZyb20gXCJwcmltZW5nL3RhYnNcIjtcclxuaW1wb3J0IHsgQXBwVGFicyB9IGZyb20gXCIuL2FwcC10YWIuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IEljb01vb25JY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljby1tb29uLWljb24vaWNvLW1vb24taWNvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTGluaywgUm91dGVyT3V0bGV0IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXRhYnNcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGFic01vZHVsZSwgUm91dGVyTGluaywgUm91dGVyT3V0bGV0LCBJY29Nb29uSWNvbkNvbXBvbmVudCwgVHJhbnNsYXRlTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL2FwcC10YWJzLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9hcHAtdGFicy5jb21wb25lbnQuc2Nzc1wiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSB0YWJzOiBBcHBUYWJzO1xyXG4gIEBJbnB1dCgpIHRhYnNTdHlsZTogXCJiYXNpY1wiIHwgXCJwcmltYXJ5X2xpZ2h0XCIgfCBcInByaW1hcnlcIiA9IFwiYmFzaWNcIjtcclxuICBASW5wdXQoKSByZXNwb25zaXZlID0gZmFsc2U7XHJcbiAgYWN0aXZlVGFiSW5kZXggPSAwO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMudXBkYXRlQWN0aXZlVGFiKCk7XHJcbiAgICB9KTtcclxuICAgIC8vIHRvIGJlIHJlZmFjdG9yXHJcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZVRhYigpO1xyXG4gIH1cclxuXHJcbiAgLy8gVXBkYXRlcyB0aGUgYWN0aXZlIHRhYiBpbmRleCBiYXNlZCBvbiB0aGUgY3VycmVudCByb3V0ZVxyXG4gIHByaXZhdGUgdXBkYXRlQWN0aXZlVGFiKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRhYnMuaXNSb3V0ZWQpIHJldHVybjtcclxuICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLnJvdXRlci51cmw7XHJcbiAgICBjb25zdCBtYXRjaGluZ1RhYkluZGV4ID0gdGhpcy50YWJzLml0ZW1zLmZpbmRJbmRleCgodGFiKSA9PiBjdXJyZW50VXJsLmluY2x1ZGVzKHRhYi5saW5rKSk7XHJcbiAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gbWF0Y2hpbmdUYWJJbmRleCAhPT0gLTEgPyBtYXRjaGluZ1RhYkluZGV4IDogMDtcclxuICB9XHJcblxyXG4gIG9uVGFiQ2hhbmdlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy50YWJzLmlzUm91dGVkKSByZXR1cm47XHJcbiAgICBjb25zdCBzZWxlY3RlZFRhYiA9IHRoaXMudGFicy5pdGVtc1tpbmRleF07XHJcbiAgICBpZiAoc2VsZWN0ZWRUYWIgJiYgIXNlbGVjdGVkVGFiLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtzZWxlY3RlZFRhYi5saW5rXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaWYgKHRhYnMgJiYgdGFicy5pdGVtcy5sZW5ndGgpIHtcclxuICA8ZGl2IFtjbGFzc109XCJ0YWJzU3R5bGUgKyAocmVzcG9uc2l2ZSA/ICcgZnVsbC13aWR0aCcgOiAnJykgKyAnIHRhYnMtY29udGFpbmVyJ1wiPlxyXG4gICAgPHAtdGFicyBbdmFsdWVdPVwiYWN0aXZlVGFiSW5kZXhcIiBzY3JvbGxhYmxlPlxyXG4gICAgICA8cC10YWJsaXN0PlxyXG5cclxuICAgICAgICBAZm9yICh0YWIgb2YgdGFicy5pdGVtczsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGkpIHtcclxuICAgICAgICAgIDxwLXRhYiBbdmFsdWVdPVwiaVwiIFtyb3V0ZXJMaW5rXT1cInRhYnMuaXNSb3V0ZWQgPyAkYW55KHRhYikubGluayA6IG51bGxcIiBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25UYWJDaGFuZ2UoaSlcIj5cclxuICAgICAgICAgICAgQGlmICh0YWIuaWNvbk5hbWUpIHtcclxuICAgICAgICAgICAgICA8YXBwLWljby1tb29uLWNhcmQgW2ljb25DbGFzc109XCIndGV4dC1bMTdweF0nXCIgW2ljb25OYW1lXT1cInRhYi5pY29uTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uUGF0aENvdW50XT1cInRhYi5pY29uUGF0aENvdW50IHx8IDBcIi8+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPHNwYW4+e3sgdGFiLnRpdGxlIHwgdHJhbnNsYXRlIH19IEBpZiAodGFiLmNvdW50KSB7XHJcbiAgICAgICAgICAgICAgPHNwYW4+KHt7IHRhYi5jb3VudCB9fSk8L3NwYW4+XHJcbiAgICAgICAgICAgIH0gPC9zcGFuPlxyXG4gICAgICAgICAgPC9wLXRhYj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICA8L3AtdGFibGlzdD5cclxuXHJcbiAgICAgIDxwLXRhYnBhbmVscz5cclxuICAgICAgICBAaWYgKHRhYnMuaXNSb3V0ZWQpIHtcclxuICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIEBmb3IgKHRhYiBvZiB0YWJzLml0ZW1zOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgaSkge1xyXG4gICAgICAgICAgICA8cC10YWJwYW5lbCBbdmFsdWVdPVwiaVwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFiLmNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3AtdGFicGFuZWw+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgPC9wLXRhYnBhbmVscz5cclxuICAgIDwvcC10YWJzPlxyXG4gIDwvZGl2PlxyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './app-tab.interface';
|
|
2
|
-
export * from './app-tabs.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9hcHAtdGFicy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcC10YWIuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hcHAtdGFicy5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Component, inject } from "@angular/core";
|
|
2
|
-
import { NavigationStart, Router } from "@angular/router";
|
|
3
|
-
import { AvatarModule } from "primeng/avatar";
|
|
4
|
-
import { filter, Subscription } from "rxjs";
|
|
5
|
-
import { AppButtonComponent } from "../app-button/app-button.component";
|
|
6
|
-
import { DialogService, DynamicDialog, DynamicDialogConfig, DynamicDialogRef } from "primeng/dynamicdialog";
|
|
7
|
-
import { DynamicFormComponent } from "../dynamic-form/dynamic-form.component";
|
|
8
|
-
import { TranslatePipe } from "@ngx-translate/core";
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class ConfirmationDialogComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.router = inject(Router);
|
|
13
|
-
this.dialogService = inject(DialogService);
|
|
14
|
-
this.dynamicDialogConfig = inject(DynamicDialogConfig);
|
|
15
|
-
this._ref = inject(DynamicDialogRef);
|
|
16
|
-
this._subscription = new Subscription();
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
// closing when navigating back from the browser
|
|
20
|
-
this._subscription.add(this.router.events.pipe(filter((event) => event instanceof NavigationStart)).subscribe(() => {
|
|
21
|
-
if (this.dynamicDialogConfig) {
|
|
22
|
-
this._ref.close();
|
|
23
|
-
}
|
|
24
|
-
}));
|
|
25
|
-
this.dialogFormData = this.dynamicDialogConfig.data?.inputForm;
|
|
26
|
-
}
|
|
27
|
-
ngOnDestroy() {
|
|
28
|
-
this._subscription.unsubscribe();
|
|
29
|
-
}
|
|
30
|
-
submit() {
|
|
31
|
-
const submitData = { submitted: true, data: this.dialogFormData?.formGroup?.value };
|
|
32
|
-
this._ref.close(this.dynamicDialogConfig.data.inputForm ? submitData : true);
|
|
33
|
-
}
|
|
34
|
-
close() {
|
|
35
|
-
this._ref.close();
|
|
36
|
-
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ConfirmationDialogComponent, isStandalone: true, selector: "app-confirm-dialog", providers: [DialogService], ngImport: i0, template: "@if (dynamicDialogConfig.data) {\r\n <div>\r\n <div class=\"bg-gray-150 p-4 flex items-center\">\r\n <div class=\"flex-grow flex gap-2\">\r\n @if (dynamicDialogConfig.data.headerIcon) {\r\n <i [class]=\"dynamicDialogConfig.data.headerIcon\"></i>\r\n }\r\n\r\n <h3 class=\"m-0 font-bold text-[16px]\">\r\n {{ dynamicDialogConfig.data.header }}\r\n </h3>\r\n </div>\r\n\r\n <app-button (click)=\"close()\" icon=\"font-icon-close\" [style]=\"'secondary'\" variant=\"text\"/>\r\n </div>\r\n\r\n @if (dynamicDialogConfig.data) {\r\n <div class=\"p-4\">\r\n @if (dynamicDialogConfig.data.dialogIcon) {\r\n <em [class]=\"dynamicDialogConfig.data.dialogIcon\"></em>\r\n }\r\n <div>\r\n {{ dynamicDialogConfig.data.message }}\r\n </div>\r\n @if (dynamicDialogConfig.data.hint) {\r\n <div class=\"font-bold text-[14px] mt-2\">\r\n {{ dynamicDialogConfig.data.hint }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (dynamicDialogConfig.data.inputForm) {\r\n <app-dynamic-form [dynamicFormData]=\"dialogFormData\"></app-dynamic-form>\r\n }\r\n\r\n <div class=\"p-4 flex gap-3\">\r\n <app-button\r\n [title]=\"dynamicDialogConfig.data?.confirmLabel || ('actions.confirm' | translate)\" class=\"w-[50%]\"\r\n [disabled]=\"!!(dialogFormData && dialogFormData.formGroup?.invalid)\"\r\n [icon]=\"dynamicDialogConfig.data.confirmBtnIcon || ''\"\r\n [iconPos]=\"dynamicDialogConfig.data.confirmBtnPosition || 'left'\"\r\n [style]=\"dynamicDialogConfig.data.confirmBtnStyle ||'primary'\"\r\n (click)=\"submit()\"/>\r\n\r\n <app-button\r\n [title]=\"dynamicDialogConfig.data?.closeLabel || ('actions.cancel' | translate)\"\r\n class=\"w-[50%]\"\r\n [style]=\"'secondary'\"\r\n [variant]=\"'outlined'\"\r\n (click)=\"close()\"/>\r\n </div>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: AppButtonComponent, selector: "app-button", inputs: ["title", "class", "icon", "size", "style", "iconPos", "variant", "disabled", "text", "rounded"], outputs: ["clickEmitter"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "ngmodule", type: DynamicDialog }, { kind: "component", type: DynamicFormComponent, selector: "app-dynamic-form", inputs: ["dynamicFormData"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
|
|
41
|
-
type: Component,
|
|
42
|
-
args: [{ selector: "app-confirm-dialog", standalone: true, imports: [AppButtonComponent, AvatarModule, DynamicDialog, DynamicFormComponent, TranslatePipe], providers: [DialogService], template: "@if (dynamicDialogConfig.data) {\r\n <div>\r\n <div class=\"bg-gray-150 p-4 flex items-center\">\r\n <div class=\"flex-grow flex gap-2\">\r\n @if (dynamicDialogConfig.data.headerIcon) {\r\n <i [class]=\"dynamicDialogConfig.data.headerIcon\"></i>\r\n }\r\n\r\n <h3 class=\"m-0 font-bold text-[16px]\">\r\n {{ dynamicDialogConfig.data.header }}\r\n </h3>\r\n </div>\r\n\r\n <app-button (click)=\"close()\" icon=\"font-icon-close\" [style]=\"'secondary'\" variant=\"text\"/>\r\n </div>\r\n\r\n @if (dynamicDialogConfig.data) {\r\n <div class=\"p-4\">\r\n @if (dynamicDialogConfig.data.dialogIcon) {\r\n <em [class]=\"dynamicDialogConfig.data.dialogIcon\"></em>\r\n }\r\n <div>\r\n {{ dynamicDialogConfig.data.message }}\r\n </div>\r\n @if (dynamicDialogConfig.data.hint) {\r\n <div class=\"font-bold text-[14px] mt-2\">\r\n {{ dynamicDialogConfig.data.hint }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (dynamicDialogConfig.data.inputForm) {\r\n <app-dynamic-form [dynamicFormData]=\"dialogFormData\"></app-dynamic-form>\r\n }\r\n\r\n <div class=\"p-4 flex gap-3\">\r\n <app-button\r\n [title]=\"dynamicDialogConfig.data?.confirmLabel || ('actions.confirm' | translate)\" class=\"w-[50%]\"\r\n [disabled]=\"!!(dialogFormData && dialogFormData.formGroup?.invalid)\"\r\n [icon]=\"dynamicDialogConfig.data.confirmBtnIcon || ''\"\r\n [iconPos]=\"dynamicDialogConfig.data.confirmBtnPosition || 'left'\"\r\n [style]=\"dynamicDialogConfig.data.confirmBtnStyle ||'primary'\"\r\n (click)=\"submit()\"/>\r\n\r\n <app-button\r\n [title]=\"dynamicDialogConfig.data?.closeLabel || ('actions.cancel' | translate)\"\r\n class=\"w-[50%]\"\r\n [style]=\"'secondary'\"\r\n [variant]=\"'outlined'\"\r\n (click)=\"close()\"/>\r\n </div>\r\n </div>\r\n}\r\n" }]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTlFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFVbEQsTUFBTSxPQUFPLDJCQUEyQjtJQVJ4QztRQVNFLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDakMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQTJCckQ7SUF4QkMsUUFBUTtRQUNOLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxRixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLFVBQVUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3BGLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQixDQUFDOzhHQS9CVSwyQkFBMkI7a0dBQTNCLDJCQUEyQixpRUFGM0IsQ0FBQyxhQUFhLENBQUMsMEJDaEI1QixpK0RBc0RBLDBERHZDWSxrQkFBa0IsMkxBQUUsWUFBWSw4QkFBRSxhQUFhLCtCQUFFLG9CQUFvQixxRkFBRSxhQUFhOzsyRkFHbkYsMkJBQTJCO2tCQVJ2QyxTQUFTOytCQUNFLG9CQUFvQixjQUdsQixJQUFJLFdBQ1AsQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxhQUNwRixDQUFDLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBBdmF0YXJNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9hdmF0YXJcIjtcclxuaW1wb3J0IHsgZmlsdGVyLCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBBcHBCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi4vYXBwLWJ1dHRvbi9hcHAtYnV0dG9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlLCBEeW5hbWljRGlhbG9nLCBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSBcInByaW1lbmcvZHluYW1pY2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuLi9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybURhdGEgfSBmcm9tIFwiLi4vZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtUcmFuc2xhdGVQaXBlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLWNvbmZpcm0tZGlhbG9nXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQXBwQnV0dG9uQ29tcG9uZW50LCBBdmF0YXJNb2R1bGUsIER5bmFtaWNEaWFsb2csIER5bmFtaWNGb3JtQ29tcG9uZW50LCBUcmFuc2xhdGVQaXBlXSxcclxuICBwcm92aWRlcnM6IFtEaWFsb2dTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XHJcbiAgZHluYW1pY0RpYWxvZ0NvbmZpZyA9IGluamVjdChEeW5hbWljRGlhbG9nQ29uZmlnKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9yZWYgPSBpbmplY3QoRHluYW1pY0RpYWxvZ1JlZik7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIGRpYWxvZ0Zvcm1EYXRhOiBEeW5hbWljRm9ybURhdGE7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgLy8gY2xvc2luZyB3aGVuIG5hdmlnYXRpbmcgYmFjayBmcm9tIHRoZSBicm93c2VyXHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZykge1xyXG4gICAgICAgICAgdGhpcy5fcmVmLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMuZGlhbG9nRm9ybURhdGEgPSB0aGlzLmR5bmFtaWNEaWFsb2dDb25maWcuZGF0YT8uaW5wdXRGb3JtO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIGNvbnN0IHN1Ym1pdERhdGEgPSB7IHN1Ym1pdHRlZDogdHJ1ZSwgZGF0YTogdGhpcy5kaWFsb2dGb3JtRGF0YT8uZm9ybUdyb3VwPy52YWx1ZSB9O1xyXG4gICAgdGhpcy5fcmVmLmNsb3NlKHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhLmlucHV0Rm9ybSA/IHN1Ym1pdERhdGEgOiB0cnVlKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5fcmVmLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhKSB7XHJcbiAgPGRpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJiZy1ncmF5LTE1MCBwLTQgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3JvdyBmbGV4IGdhcC0yXCI+XHJcbiAgICAgICAgQGlmIChkeW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuaGVhZGVySWNvbikge1xyXG4gICAgICAgICAgPGkgW2NsYXNzXT1cImR5bmFtaWNEaWFsb2dDb25maWcuZGF0YS5oZWFkZXJJY29uXCI+PC9pPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPGgzIGNsYXNzPVwibS0wIGZvbnQtYm9sZCB0ZXh0LVsxNnB4XVwiPlxyXG4gICAgICAgICAge3sgZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhLmhlYWRlciB9fVxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGFwcC1idXR0b24gKGNsaWNrKT1cImNsb3NlKClcIiBpY29uPVwiZm9udC1pY29uLWNsb3NlXCIgW3N0eWxlXT1cIidzZWNvbmRhcnknXCIgdmFyaWFudD1cInRleHRcIi8+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICBAaWYgKGR5bmFtaWNEaWFsb2dDb25maWcuZGF0YSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwicC00XCI+XHJcbiAgICAgICAgQGlmIChkeW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuZGlhbG9nSWNvbikge1xyXG4gICAgICAgICAgPGVtIFtjbGFzc109XCJkeW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuZGlhbG9nSWNvblwiPjwvZW0+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICB7eyBkeW5hbWljRGlhbG9nQ29uZmlnLmRhdGEubWVzc2FnZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZiAoZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhLmhpbnQpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGQgdGV4dC1bMTRweF0gbXQtMlwiPlxyXG4gICAgICAgICAgICB7eyBkeW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuaGludCB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICBAaWYgKGR5bmFtaWNEaWFsb2dDb25maWcuZGF0YS5pbnB1dEZvcm0pIHtcclxuICAgICAgPGFwcC1keW5hbWljLWZvcm0gW2R5bmFtaWNGb3JtRGF0YV09XCJkaWFsb2dGb3JtRGF0YVwiPjwvYXBwLWR5bmFtaWMtZm9ybT5cclxuICAgIH1cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicC00IGZsZXggZ2FwLTNcIj5cclxuICAgICAgPGFwcC1idXR0b25cclxuICAgICAgICBbdGl0bGVdPVwiZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhPy5jb25maXJtTGFiZWwgfHwgKCdhY3Rpb25zLmNvbmZpcm0nIHwgdHJhbnNsYXRlKVwiIGNsYXNzPVwidy1bNTAlXVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhKGRpYWxvZ0Zvcm1EYXRhICYmIGRpYWxvZ0Zvcm1EYXRhLmZvcm1Hcm91cD8uaW52YWxpZClcIlxyXG4gICAgICAgIFtpY29uXT1cImR5bmFtaWNEaWFsb2dDb25maWcuZGF0YS5jb25maXJtQnRuSWNvbiB8fCAnJ1wiXHJcbiAgICAgICAgW2ljb25Qb3NdPVwiZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhLmNvbmZpcm1CdG5Qb3NpdGlvbiB8fCAnbGVmdCdcIlxyXG4gICAgICAgIFtzdHlsZV09XCJkeW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuY29uZmlybUJ0blN0eWxlIHx8J3ByaW1hcnknXCJcclxuICAgICAgICAoY2xpY2spPVwic3VibWl0KClcIi8+XHJcblxyXG4gICAgICA8YXBwLWJ1dHRvblxyXG4gICAgICAgIFt0aXRsZV09XCJkeW5hbWljRGlhbG9nQ29uZmlnLmRhdGE/LmNsb3NlTGFiZWwgfHwgICgnYWN0aW9ucy5jYW5jZWwnIHwgdHJhbnNsYXRlKVwiXHJcbiAgICAgICAgY2xhc3M9XCJ3LVs1MCVdXCJcclxuICAgICAgICBbc3R5bGVdPVwiJ3NlY29uZGFyeSdcIlxyXG4gICAgICAgIFt2YXJpYW50XT1cIidvdXRsaW5lZCdcIlxyXG4gICAgICAgIChjbGljayk9XCJjbG9zZSgpXCIvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbn1cclxuIl19
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import { CommonModule } from "@angular/common";
|
|
3
|
-
import { ReactiveFormsModule } from "@angular/forms";
|
|
4
|
-
import { FormFieldTypeEnum } from "./dynamic-form.interface";
|
|
5
|
-
import { DatePickerComponent, FormUtils, SelectButtonComponent, ValidationErrorsPipe } from "../form-components";
|
|
6
|
-
import { TranslateModule } from "@ngx-translate/core";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common";
|
|
9
|
-
import * as i2 from "@angular/forms";
|
|
10
|
-
export class DynamicFormComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.inputsNames = [];
|
|
13
|
-
this.fieldType = FormFieldTypeEnum;
|
|
14
|
-
this.getFormControl = FormUtils.getFormControl;
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
this.formGroup = this.dynamicFormData?.formGroup;
|
|
18
|
-
this.inputsMap = this.dynamicFormData?.inputsMap;
|
|
19
|
-
this.inputsNames = Object.keys(this.inputsMap || {});
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DynamicFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: DynamicFormComponent, isStandalone: true, selector: "app-dynamic-form", inputs: { dynamicFormData: "dynamicFormData" }, ngImport: i0, template: "<div class=\"border-t mx-4 py-2\">\r\n <form [formGroup]=\"formGroup\">\r\n <div class=\"grid grid-cols-12 gap-x-2\">\r\n @for (inputName of inputsNames; track $index) {\r\n <div\r\n [ngClass]=\"inputsMap[inputName].rowSize === 'half' ? 'col-span-6 md:col-span-6': 'col-span-12 md:col-span-12'\">\r\n @switch (inputsMap[inputName].fieldType) {\r\n @case (fieldType.DATE_PICKER) {\r\n <stc-date-picker\r\n [minDate]=\"inputsMap[inputName]?.dateRange?.min\"\r\n [id]=\"inputsMap[inputName].inputId\"\r\n [control]=\"getFormControl(inputName, formGroup)\"\r\n [name]=\"inputName\"\r\n [label]=\"inputsMap[inputName].label\"\r\n [showIcon]=\"inputsMap[inputName].showIcon || true\"\r\n [isTimeOnly]=\"inputsMap[inputName].isTimeOnly || false\"/>\r\n }\r\n @case (fieldType.SELECT_BUTTON) {\r\n <stc-select-button\r\n [control]=\"getFormControl(inputName, formGroup)\"\r\n [id]=\"inputsMap[inputName].inputId\"\r\n [name]=\"inputName\"\r\n [label]=\"inputsMap[inputName].label\"\r\n [options]=\"inputsMap[inputName].selectButtonOptions || []\"/>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col-span-12\">\r\n <small class=\"p-error text-red-700\">\r\n @for (error of formGroup.errors | validationErrors: dynamicFormData.formValidationErrorsKeys;\r\n track error) {\r\n {{ error }}\r\n }\r\n </small>\r\n </div>\r\n </form>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: DatePickerComponent, selector: "stc-date-picker", inputs: ["showIcon", "showClear", "basicInput", "isTimeOnly", "minDate", "maxDate", "hourFormat", "selectionMode"], outputs: ["onAfterClearDate"] }, { kind: "pipe", type: ValidationErrorsPipe, name: "validationErrors" }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: SelectButtonComponent, selector: "stc-select-button", inputs: ["options", "title"], outputs: ["onChange"] }] }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DynamicFormComponent, decorators: [{
|
|
25
|
-
type: Component,
|
|
26
|
-
args: [{ selector: "app-dynamic-form", standalone: true, imports: [CommonModule, ReactiveFormsModule, DatePickerComponent, ValidationErrorsPipe, TranslateModule, SelectButtonComponent], template: "<div class=\"border-t mx-4 py-2\">\r\n <form [formGroup]=\"formGroup\">\r\n <div class=\"grid grid-cols-12 gap-x-2\">\r\n @for (inputName of inputsNames; track $index) {\r\n <div\r\n [ngClass]=\"inputsMap[inputName].rowSize === 'half' ? 'col-span-6 md:col-span-6': 'col-span-12 md:col-span-12'\">\r\n @switch (inputsMap[inputName].fieldType) {\r\n @case (fieldType.DATE_PICKER) {\r\n <stc-date-picker\r\n [minDate]=\"inputsMap[inputName]?.dateRange?.min\"\r\n [id]=\"inputsMap[inputName].inputId\"\r\n [control]=\"getFormControl(inputName, formGroup)\"\r\n [name]=\"inputName\"\r\n [label]=\"inputsMap[inputName].label\"\r\n [showIcon]=\"inputsMap[inputName].showIcon || true\"\r\n [isTimeOnly]=\"inputsMap[inputName].isTimeOnly || false\"/>\r\n }\r\n @case (fieldType.SELECT_BUTTON) {\r\n <stc-select-button\r\n [control]=\"getFormControl(inputName, formGroup)\"\r\n [id]=\"inputsMap[inputName].inputId\"\r\n [name]=\"inputName\"\r\n [label]=\"inputsMap[inputName].label\"\r\n [options]=\"inputsMap[inputName].selectButtonOptions || []\"/>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col-span-12\">\r\n <small class=\"p-error text-red-700\">\r\n @for (error of formGroup.errors | validationErrors: dynamicFormData.formValidationErrorsKeys;\r\n track error) {\r\n {{ error }}\r\n }\r\n </small>\r\n </div>\r\n </form>\r\n</div>\r\n" }]
|
|
27
|
-
}], propDecorators: { dynamicFormData: [{
|
|
28
|
-
type: Input,
|
|
29
|
-
args: [{ required: true }]
|
|
30
|
-
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFtQixpQkFBaUIsRUFBYSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFTdEQsTUFBTSxPQUFPLG9CQUFvQjtJQVBqQztRQVNFLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBR2xCLGNBQVMsR0FBRyxpQkFBaUIsQ0FBQztRQUN2QyxtQkFBYyxHQUFHLFNBQVMsQ0FBQyxjQUFjLENBQUM7S0FRM0M7SUFOQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLFNBQXNCLENBQUM7UUFDOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLFNBQXNCLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0FaVSxvQkFBb0I7a0dBQXBCLG9CQUFvQiw0SENkakMsdXFEQXVDQSx5REQ3QlksWUFBWSw0SEFBRSxtQkFBbUIscWJBQUUsbUJBQW1CLDBNQUFFLG9CQUFvQix3REFBRSxlQUFlLCtCQUFFLHFCQUFxQjs7MkZBSW5ILG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQzs4QkFLcEcsZUFBZTtzQkFBekMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybURhdGEsIEZvcm1GaWVsZFR5cGVFbnVtLCBJbnB1dHNNYXAgfSBmcm9tIFwiLi9keW5hbWljLWZvcm0uaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7RGF0ZVBpY2tlckNvbXBvbmVudCwgRm9ybVV0aWxzLCBTZWxlY3RCdXR0b25Db21wb25lbnQsIFZhbGlkYXRpb25FcnJvcnNQaXBlfSBmcm9tIFwiLi4vZm9ybS1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtZHluYW1pYy1mb3JtXCIsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBEYXRlUGlja2VyQ29tcG9uZW50LCBWYWxpZGF0aW9uRXJyb3JzUGlwZSwgVHJhbnNsYXRlTW9kdWxlLCBTZWxlY3RCdXR0b25Db21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9keW5hbWljLWZvcm0uY29tcG9uZW50LnNjc3NcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGR5bmFtaWNGb3JtRGF0YTogRHluYW1pY0Zvcm1EYXRhO1xyXG4gIGlucHV0c05hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG4gIGlucHV0c01hcDogSW5wdXRzTWFwO1xyXG4gIHJlYWRvbmx5IGZpZWxkVHlwZSA9IEZvcm1GaWVsZFR5cGVFbnVtO1xyXG4gIGdldEZvcm1Db250cm9sID0gRm9ybVV0aWxzLmdldEZvcm1Db250cm9sO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5keW5hbWljRm9ybURhdGE/LmZvcm1Hcm91cCBhcyBGb3JtR3JvdXA7XHJcbiAgICB0aGlzLmlucHV0c01hcCA9IHRoaXMuZHluYW1pY0Zvcm1EYXRhPy5pbnB1dHNNYXAgYXMgSW5wdXRzTWFwO1xyXG4gICAgdGhpcy5pbnB1dHNOYW1lcyA9IE9iamVjdC5rZXlzKHRoaXMuaW5wdXRzTWFwIHx8IHt9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJib3JkZXItdCBteC00IHB5LTJcIj5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEyIGdhcC14LTJcIj5cclxuICAgICAgQGZvciAoaW5wdXROYW1lIG9mIGlucHV0c05hbWVzOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBbbmdDbGFzc109XCJpbnB1dHNNYXBbaW5wdXROYW1lXS5yb3dTaXplID09PSAnaGFsZicgPyAnY29sLXNwYW4tNiBtZDpjb2wtc3Bhbi02JzogJ2NvbC1zcGFuLTEyIG1kOmNvbC1zcGFuLTEyJ1wiPlxyXG4gICAgICAgICAgQHN3aXRjaCAoaW5wdXRzTWFwW2lucHV0TmFtZV0uZmllbGRUeXBlKSB7XHJcbiAgICAgICAgICAgIEBjYXNlIChmaWVsZFR5cGUuREFURV9QSUNLRVIpIHtcclxuICAgICAgICAgICAgICA8c3RjLWRhdGUtcGlja2VyXHJcbiAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJpbnB1dHNNYXBbaW5wdXROYW1lXT8uZGF0ZVJhbmdlPy5taW5cIlxyXG4gICAgICAgICAgICAgICAgW2lkXT1cImlucHV0c01hcFtpbnB1dE5hbWVdLmlucHV0SWRcIlxyXG4gICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2woaW5wdXROYW1lLCBmb3JtR3JvdXApXCJcclxuICAgICAgICAgICAgICAgIFtuYW1lXT1cImlucHV0TmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiaW5wdXRzTWFwW2lucHV0TmFtZV0ubGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgW3Nob3dJY29uXT1cImlucHV0c01hcFtpbnB1dE5hbWVdLnNob3dJY29uIHx8IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgW2lzVGltZU9ubHldPVwiaW5wdXRzTWFwW2lucHV0TmFtZV0uaXNUaW1lT25seSB8fCBmYWxzZVwiLz5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAY2FzZSAoZmllbGRUeXBlLlNFTEVDVF9CVVRUT04pIHtcclxuICAgICAgICAgICAgICA8c3RjLXNlbGVjdC1idXR0b25cclxuICAgICAgICAgICAgICAgIFtjb250cm9sXT1cImdldEZvcm1Db250cm9sKGlucHV0TmFtZSwgZm9ybUdyb3VwKVwiXHJcbiAgICAgICAgICAgICAgICBbaWRdPVwiaW5wdXRzTWFwW2lucHV0TmFtZV0uaW5wdXRJZFwiXHJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJpbnB1dE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImlucHV0c01hcFtpbnB1dE5hbWVdLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cImlucHV0c01hcFtpbnB1dE5hbWVdLnNlbGVjdEJ1dHRvbk9wdGlvbnMgfHwgW11cIi8+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNwYW4tMTJcIj5cclxuICAgICAgPHNtYWxsIGNsYXNzPVwicC1lcnJvciB0ZXh0LXJlZC03MDBcIj5cclxuICAgICAgICBAZm9yIChlcnJvciBvZiBmb3JtR3JvdXAuZXJyb3JzIHwgdmFsaWRhdGlvbkVycm9yczogZHluYW1pY0Zvcm1EYXRhLmZvcm1WYWxpZGF0aW9uRXJyb3JzS2V5cztcclxuICAgICAgICAgIHRyYWNrIGVycm9yKSB7XHJcbiAgICAgICAgICB7eyBlcnJvciB9fVxyXG4gICAgICAgIH1cclxuICAgICAgPC9zbWFsbD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export var FormFieldTypeEnum;
|
|
2
|
-
(function (FormFieldTypeEnum) {
|
|
3
|
-
FormFieldTypeEnum["DATE_PICKER"] = "date-picker";
|
|
4
|
-
FormFieldTypeEnum["SELECT_BUTTON"] = "select-button";
|
|
5
|
-
})(FormFieldTypeEnum || (FormFieldTypeEnum = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9EQSxNQUFNLENBQU4sSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQzNCLGdEQUEyQixDQUFBO0lBQzNCLG9EQUErQixDQUFBO0FBQ2pDLENBQUMsRUFIVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBRzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge0xhYmVsVmFsdWV9IGZyb20gXCIuLi9mb3JtLWNvbXBvbmVudHNcIjtcclxuXHJcbmV4cG9ydCB0eXBlIElucHV0VHlwZSA9IFwidGV4dFwiIHwgXCJ0ZXh0YXJlYVwiO1xyXG5leHBvcnQgdHlwZSBJbnB1dENvbnRlbnRUeXBlID0gXCJ0ZXh0XCIgfCBcImVtYWlsXCIgfCBcInBhc3N3b3JkXCIgfCBcIm51bWJlclwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bjxUID0gdW5rbm93bj4ge1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIGtleVZhbHVlOiBUO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgaGlkZGVuPzogYm9vbGVhbjtcclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5wdXRzTWFwRGF0YSB7XHJcbiAgLy8gR2VuZXJhbCBwcm9wc1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgcm93U2l6ZT86IFwiaGFsZlwiIHwgXCJmdWxsXCI7XHJcbiAgZmllbGRUeXBlOiBGb3JtRmllbGRUeXBlRW51bTtcclxuICBpbnB1dElkPzogc3RyaW5nO1xyXG5cclxuICAvLyBEYXRlXHJcbiAgZGF0ZVJhbmdlPzogRGF0ZVJhbmdlSW50ZXJmYWNlO1xyXG4gIGlzVGltZU9ubHk/OiBib29sZWFuO1xyXG4gIHNob3dJY29uPzogYm9vbGVhbjtcclxuXHJcbiAgLy9zZWxlY3QgYnV0dG9uXHJcbiAgc2VsZWN0QnV0dG9uT3B0aW9ucz86IExhYmVsVmFsdWU8YW55PltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElucHV0c01hcCB7XHJcbiAgW2tleTogc3RyaW5nXTogSW5wdXRzTWFwRGF0YTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRm9ybURhdGEge1xyXG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcclxuICBmb3JtR3JvdXA6IEZvcm1Hcm91cCB8IG51bGw7XHJcbiAgaW5wdXRzTWFwOiBJbnB1dHNNYXAgfCBudWxsO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGlzUmVhZE9ubHlGb3JtPzogYm9vbGVhbjtcclxuICBmb3JtVmFsaWRhdGlvbkVycm9yc0tleXM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRlUmFuZ2VJbnRlcmZhY2Uge1xyXG4gIG1pbj86IERhdGUgfCBudWxsOyAvLyBTdGF0aWMgcmFuZ2UsIGhhcmQgY29kZWRcclxuICBtYXg/OiBEYXRlIHwgbnVsbDsgLy8gU3RhdGljIHJhbmdlLCBoYXJkIGNvZGVkXHJcbiAgbm90QmVmb3JlRGF0ZUlucHV0Pzogc3RyaW5nOyAvLyBGb3IgZHluYW1pYyBkYXRlIHJhbmdlIHZhbGlkYXRpb25cclxuICBub3RBZnRlckRhdGVJbnB1dD86IHN0cmluZzsgLy8gRm9yIGR5bmFtaWMgZGF0ZSByYW5nZSB2YWxpZGF0aW9uXHJcbiAgbm90QmVmb3JlT3JTYW1lRGF0ZUlucHV0Pzogc3RyaW5nO1xyXG4gIG5vdEFmdGVyT3JTYW1lRGF0ZUlucHV0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBGb3JtRmllbGRUeXBlRW51bSB7XHJcbiAgREFURV9QSUNLRVIgPSBcImRhdGUtcGlja2VyXCIsXHJcbiAgU0VMRUNUX0JVVFRPTiA9IFwic2VsZWN0LWJ1dHRvblwiXHJcbn1cclxuIl19
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export class FormUtils {
|
|
2
|
-
static getFormControl(controlName, form) {
|
|
3
|
-
if (!form)
|
|
4
|
-
throw new Error(`Form is not initialized.`);
|
|
5
|
-
const formControl = form.get(controlName);
|
|
6
|
-
if (!formControl)
|
|
7
|
-
throw new Error(`There's no form control with given name. '${controlName}'`);
|
|
8
|
-
return formControl;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2Zvcm0tY29tcG9uZW50cy9AdXRpbHMvZm9ybS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMsY0FBYyxDQUFDLFdBQW1CLEVBQUUsSUFBZTtRQUN4RCxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN2RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBZ0IsQ0FBQztRQUV6RCxJQUFJLENBQUMsV0FBVztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFFL0YsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtVXRpbHMge1xyXG4gIHN0YXRpYyBnZXRGb3JtQ29udHJvbChjb250cm9sTmFtZTogc3RyaW5nLCBmb3JtOiBGb3JtR3JvdXApOiBGb3JtQ29udHJvbCB7XHJcbiAgICBpZiAoIWZvcm0pIHRocm93IG5ldyBFcnJvcihgRm9ybSBpcyBub3QgaW5pdGlhbGl6ZWQuYCk7XHJcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IGZvcm0uZ2V0KGNvbnRyb2xOYW1lKSBhcyBGb3JtQ29udHJvbDtcclxuXHJcbiAgICBpZiAoIWZvcm1Db250cm9sKSB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlJ3Mgbm8gZm9ybSBjb250cm9sIHdpdGggZ2l2ZW4gbmFtZS4gJyR7Y29udHJvbE5hbWV9J2ApO1xyXG5cclxuICAgIHJldHVybiBmb3JtQ29udHJvbDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export var BasicErrorKeysEnum;
|
|
2
|
-
(function (BasicErrorKeysEnum) {
|
|
3
|
-
BasicErrorKeysEnum["required"] = "REQUIRED";
|
|
4
|
-
BasicErrorKeysEnum["email"] = "EMAIL";
|
|
5
|
-
BasicErrorKeysEnum["pattern"] = "PATTERN";
|
|
6
|
-
BasicErrorKeysEnum["invalidArFormat"] = "INVALID_AR_FORMAT";
|
|
7
|
-
BasicErrorKeysEnum["invalidLink"] = "INVALID_LINK";
|
|
8
|
-
BasicErrorKeysEnum["endDateBeforeStartDate"] = "END_DATE_BEFORE_START_DATE";
|
|
9
|
-
BasicErrorKeysEnum["startDateEqualsEndDate"] = "START_DATE_EQUALS_END_DATE";
|
|
10
|
-
BasicErrorKeysEnum["endTimeBeforeStartTime"] = "END_TIME_BEFORE_START_TIME";
|
|
11
|
-
BasicErrorKeysEnum["startTimeEqualsEndTime"] = "START_TIME_EQUALS_END_TIME";
|
|
12
|
-
BasicErrorKeysEnum["integer"] = "INTEGER";
|
|
13
|
-
BasicErrorKeysEnum["positiveNumber"] = "POSITIVE_NUMBER";
|
|
14
|
-
BasicErrorKeysEnum["fileSelected"] = "FILE_SELECTED";
|
|
15
|
-
BasicErrorKeysEnum["default"] = "DEFAULT";
|
|
16
|
-
})(BasicErrorKeysEnum || (BasicErrorKeysEnum = {}));
|
|
17
|
-
export var ErrorsWithValuesKeysEnum;
|
|
18
|
-
(function (ErrorsWithValuesKeysEnum) {
|
|
19
|
-
ErrorsWithValuesKeysEnum["minlength"] = "MIN_LENGTH";
|
|
20
|
-
ErrorsWithValuesKeysEnum["maxlength"] = "MAX_LENGTH";
|
|
21
|
-
ErrorsWithValuesKeysEnum["min"] = "MIN";
|
|
22
|
-
ErrorsWithValuesKeysEnum["max"] = "MAX";
|
|
23
|
-
ErrorsWithValuesKeysEnum["maxSize"] = "MAX_SIZE";
|
|
24
|
-
ErrorsWithValuesKeysEnum["maxFiles"] = "MAX_FILES";
|
|
25
|
-
ErrorsWithValuesKeysEnum["allowedTypes"] = "ALLOWED_TYPES";
|
|
26
|
-
})(ErrorsWithValuesKeysEnum || (ErrorsWithValuesKeysEnum = {}));
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Ita2V5cy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvZm9ybS1jb21wb25lbnRzL0B1dGlscy92YWxpZGF0aW9ucy9lcnJvci1rZXlzLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksa0JBY1g7QUFkRCxXQUFZLGtCQUFrQjtJQUM1QiwyQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBZSxDQUFBO0lBQ2YseUNBQW1CLENBQUE7SUFDbkIsMkRBQXFDLENBQUE7SUFDckMsa0RBQTRCLENBQUE7SUFDNUIsMkVBQXFELENBQUE7SUFDckQsMkVBQXFELENBQUE7SUFDckQsMkVBQXFELENBQUE7SUFDckQsMkVBQXFELENBQUE7SUFDckQseUNBQW1CLENBQUE7SUFDbkIsd0RBQWtDLENBQUE7SUFDbEMsb0RBQThCLENBQUE7SUFDOUIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQWRXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFjN0I7QUFDRCxNQUFNLENBQU4sSUFBWSx3QkFRWDtBQVJELFdBQVksd0JBQXdCO0lBQ2xDLG9EQUF3QixDQUFBO0lBQ3hCLG9EQUF3QixDQUFBO0lBQ3hCLHVDQUFXLENBQUE7SUFDWCx1Q0FBVyxDQUFBO0lBQ1gsZ0RBQW9CLENBQUE7SUFDcEIsa0RBQXNCLENBQUE7SUFDdEIsMERBQThCLENBQUE7QUFDaEMsQ0FBQyxFQVJXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFRbkMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBCYXNpY0Vycm9yS2V5c0VudW0ge1xyXG4gIHJlcXVpcmVkID0gXCJSRVFVSVJFRFwiLFxyXG4gIGVtYWlsID0gXCJFTUFJTFwiLFxyXG4gIHBhdHRlcm4gPSBcIlBBVFRFUk5cIixcclxuICBpbnZhbGlkQXJGb3JtYXQgPSBcIklOVkFMSURfQVJfRk9STUFUXCIsXHJcbiAgaW52YWxpZExpbmsgPSBcIklOVkFMSURfTElOS1wiLFxyXG4gIGVuZERhdGVCZWZvcmVTdGFydERhdGUgPSBcIkVORF9EQVRFX0JFRk9SRV9TVEFSVF9EQVRFXCIsXHJcbiAgc3RhcnREYXRlRXF1YWxzRW5kRGF0ZSA9IFwiU1RBUlRfREFURV9FUVVBTFNfRU5EX0RBVEVcIixcclxuICBlbmRUaW1lQmVmb3JlU3RhcnRUaW1lID0gXCJFTkRfVElNRV9CRUZPUkVfU1RBUlRfVElNRVwiLFxyXG4gIHN0YXJ0VGltZUVxdWFsc0VuZFRpbWUgPSBcIlNUQVJUX1RJTUVfRVFVQUxTX0VORF9USU1FXCIsXHJcbiAgaW50ZWdlciA9IFwiSU5URUdFUlwiLFxyXG4gIHBvc2l0aXZlTnVtYmVyID0gXCJQT1NJVElWRV9OVU1CRVJcIixcclxuICBmaWxlU2VsZWN0ZWQgPSBcIkZJTEVfU0VMRUNURURcIixcclxuICBkZWZhdWx0ID0gXCJERUZBVUxUXCJcclxufVxyXG5leHBvcnQgZW51bSBFcnJvcnNXaXRoVmFsdWVzS2V5c0VudW0ge1xyXG4gIG1pbmxlbmd0aCA9IFwiTUlOX0xFTkdUSFwiLFxyXG4gIG1heGxlbmd0aCA9IFwiTUFYX0xFTkdUSFwiLFxyXG4gIG1pbiA9IFwiTUlOXCIsXHJcbiAgbWF4ID0gXCJNQVhcIixcclxuICBtYXhTaXplID0gXCJNQVhfU0laRVwiLFxyXG4gIG1heEZpbGVzID0gXCJNQVhfRklMRVNcIixcclxuICBhbGxvd2VkVHlwZXMgPSBcIkFMTE9XRURfVFlQRVNcIlxyXG59XHJcbiJdfQ==
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from "@angular/core";
|
|
2
|
-
import { TranslateService } from "@ngx-translate/core";
|
|
3
|
-
import { BasicErrorKeysEnum, ErrorsWithValuesKeysEnum } from "./error-keys.enum";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class FormValidationService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.translate = inject(TranslateService);
|
|
8
|
-
}
|
|
9
|
-
getTranslation(key, interpolateParams) {
|
|
10
|
-
return this.translate.instant(`VALIDATION.${key}`, interpolateParams);
|
|
11
|
-
}
|
|
12
|
-
getErrorMessage(errorKey, errorValue) {
|
|
13
|
-
if (this.isBasicErrorKey(errorKey)) {
|
|
14
|
-
return this.getTranslation(BasicErrorKeysEnum[errorKey]);
|
|
15
|
-
}
|
|
16
|
-
if (this.isErrorWithValueKey(errorKey)) {
|
|
17
|
-
return this.getErrorWithValueMessage(errorKey, errorValue);
|
|
18
|
-
}
|
|
19
|
-
return this.getTranslation(BasicErrorKeysEnum.default);
|
|
20
|
-
}
|
|
21
|
-
// Basic error keys are the keys that don't have any values to interpolate. like required, email, etc.
|
|
22
|
-
isBasicErrorKey(key) {
|
|
23
|
-
return Object.keys(BasicErrorKeysEnum).includes(key);
|
|
24
|
-
}
|
|
25
|
-
// Error keys with values are the keys that have values to interpolate. like minlength, maxlength, etc.
|
|
26
|
-
isErrorWithValueKey(key) {
|
|
27
|
-
return Object.keys(ErrorsWithValuesKeysEnum).includes(key);
|
|
28
|
-
}
|
|
29
|
-
getErrorWithValueMessage(errorKey, errorValue) {
|
|
30
|
-
const messages = {
|
|
31
|
-
minlength: (val) => this.getTranslation(ErrorsWithValuesKeysEnum.minlength, { requiredLength: val?.requiredLength, actualLength: val?.actualLength }),
|
|
32
|
-
maxlength: (val) => this.getTranslation(ErrorsWithValuesKeysEnum.maxlength, { requiredLength: val?.requiredLength, actualLength: val?.actualLength }),
|
|
33
|
-
min: (val) => this.getTranslation(ErrorsWithValuesKeysEnum.min, { min: val?.min }),
|
|
34
|
-
max: (val) => this.getTranslation(ErrorsWithValuesKeysEnum.max, { max: val?.max }),
|
|
35
|
-
maxSize: (val) => this.getTranslation(ErrorsWithValuesKeysEnum.maxSize, { size: val?.requiredLength }),
|
|
36
|
-
maxFiles: (val) => this.getTranslation(ErrorsWithValuesKeysEnum.maxFiles, { size: val?.requiredLength }),
|
|
37
|
-
allowedTypes: (val) => this.getTranslation(ErrorsWithValuesKeysEnum.allowedTypes, { types: val?.join(", ") })
|
|
38
|
-
};
|
|
39
|
-
return messages[errorKey](errorValue);
|
|
40
|
-
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormValidationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
42
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormValidationService, providedIn: "root" }); }
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormValidationService, decorators: [{
|
|
45
|
-
type: Injectable,
|
|
46
|
-
args: [{
|
|
47
|
-
providedIn: "root"
|
|
48
|
-
}]
|
|
49
|
-
}] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWNvbXBvbmVudHMvQHV0aWxzL3ZhbGlkYXRpb25zL2Zvcm0tdmFsaWRhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUtqRixNQUFNLE9BQU8scUJBQXFCO0lBSGxDO1FBSVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBMkM5QztJQXpDUyxjQUFjLENBQUMsR0FBVyxFQUFFLGlCQUEyQztRQUM3RSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxFQUFFLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsZUFBZSxDQUFDLFFBQWdCLEVBQUUsVUFBZTtRQUMvQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsUUFBMkMsQ0FBQyxDQUFDLENBQUM7UUFDOUYsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBaUQsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0RyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxzR0FBc0c7SUFDOUYsZUFBZSxDQUFDLEdBQVc7UUFDakMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsUUFBUSxDQUFDLEdBQXlCLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsdUdBQXVHO0lBQy9GLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsUUFBUSxDQUFDLEdBQStCLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU8sd0JBQXdCLENBQUMsUUFBK0MsRUFBRSxVQUFlO1FBQy9GLE1BQU0sUUFBUSxHQUEwRTtZQUN0RixTQUFTLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QixDQUFDLFNBQVMsRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDbkksU0FBUyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQ25JLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ2xGLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ2xGLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ3RHLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ3hHLFlBQVksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQzlHLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQTNDVSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQUZwQixNQUFNOzsyRkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IEludGVycG9sYXRpb25QYXJhbWV0ZXJzIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmUvbGliL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEJhc2ljRXJyb3JLZXlzRW51bSwgRXJyb3JzV2l0aFZhbHVlc0tleXNFbnVtIH0gZnJvbSBcIi4vZXJyb3Ita2V5cy5lbnVtXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1WYWxpZGF0aW9uU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XHJcblxyXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIGludGVycG9sYXRlUGFyYW1zPzogSW50ZXJwb2xhdGlvblBhcmFtZXRlcnMpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYFZBTElEQVRJT04uJHtrZXl9YCwgaW50ZXJwb2xhdGVQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXJyb3JNZXNzYWdlKGVycm9yS2V5OiBzdHJpbmcsIGVycm9yVmFsdWU6IGFueSk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5pc0Jhc2ljRXJyb3JLZXkoZXJyb3JLZXkpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKEJhc2ljRXJyb3JLZXlzRW51bVtlcnJvcktleSBhcyBrZXlvZiB0eXBlb2YgQmFzaWNFcnJvcktleXNFbnVtXSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNFcnJvcldpdGhWYWx1ZUtleShlcnJvcktleSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JXaXRoVmFsdWVNZXNzYWdlKGVycm9yS2V5IGFzIGtleW9mIHR5cGVvZiBFcnJvcnNXaXRoVmFsdWVzS2V5c0VudW0sIGVycm9yVmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKEJhc2ljRXJyb3JLZXlzRW51bS5kZWZhdWx0KTtcclxuICB9XHJcblxyXG4gIC8vIEJhc2ljIGVycm9yIGtleXMgYXJlIHRoZSBrZXlzIHRoYXQgZG9uJ3QgaGF2ZSBhbnkgdmFsdWVzIHRvIGludGVycG9sYXRlLiBsaWtlIHJlcXVpcmVkLCBlbWFpbCwgZXRjLlxyXG4gIHByaXZhdGUgaXNCYXNpY0Vycm9yS2V5KGtleTogc3RyaW5nKToga2V5IGlzIGtleW9mIHR5cGVvZiBCYXNpY0Vycm9yS2V5c0VudW0ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKEJhc2ljRXJyb3JLZXlzRW51bSkuaW5jbHVkZXMoa2V5IGFzIEJhc2ljRXJyb3JLZXlzRW51bSk7XHJcbiAgfVxyXG5cclxuICAvLyBFcnJvciBrZXlzIHdpdGggdmFsdWVzIGFyZSB0aGUga2V5cyB0aGF0IGhhdmUgdmFsdWVzIHRvIGludGVycG9sYXRlLiBsaWtlIG1pbmxlbmd0aCwgbWF4bGVuZ3RoLCBldGMuXHJcbiAgcHJpdmF0ZSBpc0Vycm9yV2l0aFZhbHVlS2V5KGtleTogc3RyaW5nKToga2V5IGlzIGtleW9mIHR5cGVvZiBFcnJvcnNXaXRoVmFsdWVzS2V5c0VudW0ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKEVycm9yc1dpdGhWYWx1ZXNLZXlzRW51bSkuaW5jbHVkZXMoa2V5IGFzIEVycm9yc1dpdGhWYWx1ZXNLZXlzRW51bSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEVycm9yV2l0aFZhbHVlTWVzc2FnZShlcnJvcktleToga2V5b2YgdHlwZW9mIEVycm9yc1dpdGhWYWx1ZXNLZXlzRW51bSwgZXJyb3JWYWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG1lc3NhZ2VzOiBSZWNvcmQ8a2V5b2YgdHlwZW9mIEVycm9yc1dpdGhWYWx1ZXNLZXlzRW51bSwgKHZhbHVlOiBhbnkpID0+IHN0cmluZz4gPSB7XHJcbiAgICAgIG1pbmxlbmd0aDogKHZhbCkgPT5cclxuICAgICAgICB0aGlzLmdldFRyYW5zbGF0aW9uKEVycm9yc1dpdGhWYWx1ZXNLZXlzRW51bS5taW5sZW5ndGgsIHsgcmVxdWlyZWRMZW5ndGg6IHZhbD8ucmVxdWlyZWRMZW5ndGgsIGFjdHVhbExlbmd0aDogdmFsPy5hY3R1YWxMZW5ndGggfSksXHJcbiAgICAgIG1heGxlbmd0aDogKHZhbCkgPT5cclxuICAgICAgICB0aGlzLmdldFRyYW5zbGF0aW9uKEVycm9yc1dpdGhWYWx1ZXNLZXlzRW51bS5tYXhsZW5ndGgsIHsgcmVxdWlyZWRMZW5ndGg6IHZhbD8ucmVxdWlyZWRMZW5ndGgsIGFjdHVhbExlbmd0aDogdmFsPy5hY3R1YWxMZW5ndGggfSksXHJcbiAgICAgIG1pbjogKHZhbCkgPT4gdGhpcy5nZXRUcmFuc2xhdGlvbihFcnJvcnNXaXRoVmFsdWVzS2V5c0VudW0ubWluLCB7IG1pbjogdmFsPy5taW4gfSksXHJcbiAgICAgIG1heDogKHZhbCkgPT4gdGhpcy5nZXRUcmFuc2xhdGlvbihFcnJvcnNXaXRoVmFsdWVzS2V5c0VudW0ubWF4LCB7IG1heDogdmFsPy5tYXggfSksXHJcbiAgICAgIG1heFNpemU6ICh2YWwpID0+IHRoaXMuZ2V0VHJhbnNsYXRpb24oRXJyb3JzV2l0aFZhbHVlc0tleXNFbnVtLm1heFNpemUsIHsgc2l6ZTogdmFsPy5yZXF1aXJlZExlbmd0aCB9KSxcclxuICAgICAgbWF4RmlsZXM6ICh2YWwpID0+IHRoaXMuZ2V0VHJhbnNsYXRpb24oRXJyb3JzV2l0aFZhbHVlc0tleXNFbnVtLm1heEZpbGVzLCB7IHNpemU6IHZhbD8ucmVxdWlyZWRMZW5ndGggfSksXHJcbiAgICAgIGFsbG93ZWRUeXBlczogKHZhbCkgPT4gdGhpcy5nZXRUcmFuc2xhdGlvbihFcnJvcnNXaXRoVmFsdWVzS2V5c0VudW0uYWxsb3dlZFR5cGVzLCB7IHR5cGVzOiB2YWw/LmpvaW4oXCIsIFwiKSB9KVxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gbWVzc2FnZXNbZXJyb3JLZXldKGVycm9yVmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from "./error-keys.enum";
|
|
2
|
-
export * from "./validation-message.pipe";
|
|
3
|
-
export * from "./form-validation.service";
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWNvbXBvbmVudHMvQHV0aWxzL3ZhbGlkYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZXJyb3Ita2V5cy5lbnVtXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3ZhbGlkYXRpb24tbWVzc2FnZS5waXBlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm0tdmFsaWRhdGlvbi5zZXJ2aWNlXCI7XHJcbiJdfQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { inject, Pipe } from "@angular/core";
|
|
2
|
-
import { FormValidationService } from "./form-validation.service";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ValidationErrorsPipe {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.formValidationService = inject(FormValidationService);
|
|
7
|
-
}
|
|
8
|
-
// allowed keys here to handle errors in case of cross-validators like startDate and endDate validators,
|
|
9
|
-
// we pass this custom key to handle the error messages only for the allowed keys
|
|
10
|
-
transform(errors, allowedKeys) {
|
|
11
|
-
if (!errors)
|
|
12
|
-
return [];
|
|
13
|
-
return Object.keys(errors)
|
|
14
|
-
.filter((errorKey) => !allowedKeys || allowedKeys.includes(errorKey)) // Filter errors if allowedKeys are provided
|
|
15
|
-
.map((errorKey) => {
|
|
16
|
-
return this.formValidationService.getErrorMessage(errorKey, errors[errorKey]);
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ValidationErrorsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
20
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: ValidationErrorsPipe, isStandalone: true, name: "validationErrors" }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ValidationErrorsPipe, decorators: [{
|
|
23
|
-
type: Pipe,
|
|
24
|
-
args: [{
|
|
25
|
-
name: "validationErrors",
|
|
26
|
-
standalone: true,
|
|
27
|
-
pure: true
|
|
28
|
-
}]
|
|
29
|
-
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWNvbXBvbmVudHMvQHV0aWxzL3ZhbGlkYXRpb25zL3ZhbGlkYXRpb24tbWVzc2FnZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFPbEUsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1VLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBYS9EO0lBWEMsd0dBQXdHO0lBQ3hHLGlGQUFpRjtJQUNqRixTQUFTLENBQUMsTUFBK0IsRUFBRSxXQUFzQjtRQUMvRCxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXZCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDdkIsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsNENBQTRDO2FBQ2pILEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEYsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQWJVLG9CQUFvQjs0R0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUxoQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsSUFBSTtpQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4vZm9ybS12YWxpZGF0aW9uLnNlcnZpY2VcIjtcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiBcInZhbGlkYXRpb25FcnJvcnNcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHB1cmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25FcnJvcnNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgcHJpdmF0ZSBmb3JtVmFsaWRhdGlvblNlcnZpY2UgPSBpbmplY3QoRm9ybVZhbGlkYXRpb25TZXJ2aWNlKTtcclxuXHJcbiAgLy8gYWxsb3dlZCBrZXlzIGhlcmUgdG8gaGFuZGxlIGVycm9ycyBpbiBjYXNlIG9mIGNyb3NzLXZhbGlkYXRvcnMgbGlrZSBzdGFydERhdGUgYW5kIGVuZERhdGUgdmFsaWRhdG9ycyxcclxuICAvLyB3ZSBwYXNzIHRoaXMgY3VzdG9tIGtleSB0byBoYW5kbGUgdGhlIGVycm9yIG1lc3NhZ2VzIG9ubHkgZm9yIHRoZSBhbGxvd2VkIGtleXNcclxuICB0cmFuc2Zvcm0oZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCwgYWxsb3dlZEtleXM/OiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcclxuICAgIGlmICghZXJyb3JzKSByZXR1cm4gW107XHJcblxyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVycm9ycylcclxuICAgICAgLmZpbHRlcigoZXJyb3JLZXkpID0+ICFhbGxvd2VkS2V5cyB8fCBhbGxvd2VkS2V5cy5pbmNsdWRlcyhlcnJvcktleSkpIC8vIEZpbHRlciBlcnJvcnMgaWYgYWxsb3dlZEtleXMgYXJlIHByb3ZpZGVkXHJcbiAgICAgIC5tYXAoKGVycm9yS2V5KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRpb25TZXJ2aWNlLmdldEVycm9yTWVzc2FnZShlcnJvcktleSwgZXJyb3JzW2Vycm9yS2V5XSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|