@elite.framework/ng.ui.core 1.0.75 → 1.0.77

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.
@@ -1,23 +1,27 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { NgModule, inject, EventEmitter, Input, Output, ViewChild, Component } from '@angular/core';
3
+ import * as i1 from '@angular/common';
3
4
  import { CommonModule } from '@angular/common';
4
- import * as i3 from '@angular/forms';
5
+ import * as i4 from '@angular/forms';
5
6
  import { FormGroup, ReactiveFormsModule, FormsModule } from '@angular/forms';
6
7
  import { FormlyForm } from '@ngx-formly/core';
7
- import * as i7 from '@ngx-translate/core';
8
+ import * as i9 from '@ngx-translate/core';
8
9
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
9
10
  import { ToolbarModule } from 'primeng/toolbar';
10
- import * as i2 from 'primeng/button';
11
+ import * as i3 from 'primeng/button';
11
12
  import { ButtonModule } from 'primeng/button';
12
13
  import { PopoverModule } from 'primeng/popover';
13
14
  import { InputIconModule } from 'primeng/inputicon';
14
- import * as i4 from 'primeng/iconfield';
15
15
  import { IconFieldModule } from 'primeng/iconfield';
16
16
  import * as i5 from 'primeng/inputtext';
17
17
  import { InputTextModule } from 'primeng/inputtext';
18
18
  import * as i6 from 'primeng/drawer';
19
19
  import { DrawerModule } from 'primeng/drawer';
20
- import * as i1 from 'primeng/api';
20
+ import * as i7 from 'primeng/inputgroup';
21
+ import { InputGroupModule } from 'primeng/inputgroup';
22
+ import * as i8 from 'primeng/inputgroupaddon';
23
+ import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
24
+ import * as i2 from 'primeng/api';
21
25
 
22
26
  class GenericSearchModule {
23
27
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -62,7 +66,7 @@ class GenericSearch {
62
66
  this.search.emit(this.model);
63
67
  }
64
68
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericSearch, deps: [], target: i0.ɵɵFactoryTarget.Component });
65
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: GenericSearch, isStandalone: true, selector: "lib-generic-search", inputs: { model: "model", fields: "fields" }, outputs: { search: "search" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["overlay"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-wrap items-center gap-3 w-full\">\r\n <!-- Search Input with Icon -->\r\n <p-iconfield iconPosition=\"left\">\r\n <input\r\n pInputText\r\n type=\"text\"\r\n (keyup.enter)=\"onSubmit()\"\r\n [(ngModel)]=\"model['filter']\"\r\n placeholder=\"{{ 'SEARCH' | translate }}\"\r\n />\r\n </p-iconfield>\r\n\r\n <!-- Filter Button -->\r\n <p-button\r\n icon=\"pi pi-filter\"\r\n outlined\r\n severity=\"secondary\"\r\n (onClick)=\"drawerVisible = true\"\r\n ></p-button>\r\n</div>\r\n\r\n<!-- Drawer for Advanced Multi-field Search -->\r\n<p-drawer\r\n [(visible)]=\"drawerVisible\"\r\n position=\"right\"\r\n [modal]=\"true\"\r\n [dismissible]=\"true\"\r\n styleClass=\"p-4 w-full max-w-md max-h-[90vh] flex flex-col\"\r\n>\r\n <!-- Entire form wrapper -->\r\n <form [formGroup]=\"form\" class=\"flex flex-col flex-1\">\r\n <!-- Scrollable Form -->\r\n <div class=\"flex-1 overflow-auto\">\r\n <formly-form\r\n [form]=\"form\"\r\n [fields]=\"fields_\"\r\n [model]=\"model\"\r\n [options]=\"options\"\r\n >\r\n </formly-form>\r\n </div>\r\n </form>\r\n <!-- Action Buttons -->\r\n <ng-template pTemplate=\"footer\">\r\n <div class=\"flex justify-end mt-2 space-x-2 flex-none\">\r\n <button\r\n (click)=\" onSubmit(); drawerVisible=false\"\r\n type=\"button\"\r\n pButton size=\"small\"\r\n label=\"{{ 'SEARCH' | translate }}\">\r\n </button>\r\n <button\r\n type=\"button\"\r\n pButton\r\n size=\"small\"\r\n class=\"p-button-text\"\r\n (click)=\"onReset(); drawerVisible=false\"\r\n >\r\n {{ 'CLEAR' | translate }}\r\n </button>\r\n </div>\r\n </ng-template>\r\n</p-drawer>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ToolbarModule }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputIconModule }, { kind: "ngmodule", type: IconFieldModule }, { kind: "component", type: i4.IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["iconPosition", "styleClass"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i5.InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: DrawerModule }, { kind: "component", type: i6.Drawer, selector: "p-drawer", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "closeButtonProps", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen", "header", "maskStyle", "closable"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: GenericSearch, isStandalone: true, selector: "lib-generic-search", inputs: { model: "model", fields: "fields" }, outputs: { search: "search" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["overlay"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-wrap items-center gap-3 w-full\">\r\n <!-- Search Input with Icon -->\r\n <p-inputgroup class=\"w-full\">\r\n <input\r\n pInputText\r\n type=\"text\"\r\n [(ngModel)]=\"model['filter']\"\r\n placeholder=\"{{ 'SEARCH' | translate }}\"\r\n (keyup.enter)=\"onSubmit()\"\r\n />\r\n\r\n\r\n <p-inputgroup-addon>\r\n <p-button\r\n icon=\"pi pi-search\"\r\n severity=\"secondary\"\r\n (click)=\"onSubmit()\"\r\n ></p-button>\r\n </p-inputgroup-addon>\r\n<p-inputgroup-addon>\r\n <p-button\r\n icon=\"pi pi-filter\"\r\n severity=\"secondary\"\r\n (onClick)=\"drawerVisible = true\"\r\n ></p-button>\r\n </p-inputgroup-addon>\r\n <p-inputgroup-addon *ngIf=\"model['filter']\">\r\n <p-button\r\n icon=\"pi pi-times\"\r\n severity=\"danger\"\r\n (click)=\"model['filter']=''; onSubmit()\"\r\n ></p-button>\r\n </p-inputgroup-addon>\r\n</p-inputgroup>\r\n\r\n\r\n</div>\r\n\r\n<!-- Drawer for Advanced Multi-field Search -->\r\n<p-drawer\r\n [(visible)]=\"drawerVisible\"\r\n position=\"right\"\r\n [modal]=\"true\"\r\n [dismissible]=\"true\"\r\n styleClass=\"p-4 w-full max-w-md max-h-[90vh] flex flex-col\"\r\n>\r\n <!-- Entire form wrapper -->\r\n <form [formGroup]=\"form\" class=\"flex flex-col flex-1\">\r\n <!-- Scrollable Form -->\r\n <div class=\"flex-1 overflow-auto\">\r\n <formly-form\r\n [form]=\"form\"\r\n [fields]=\"fields_\"\r\n [model]=\"model\"\r\n [options]=\"options\"\r\n >\r\n </formly-form>\r\n </div>\r\n </form>\r\n <!-- Action Buttons -->\r\n <ng-template pTemplate=\"footer\">\r\n <div class=\"flex justify-end mt-2 space-x-2 flex-none\">\r\n <button\r\n (click)=\" onSubmit(); drawerVisible=false\"\r\n type=\"button\"\r\n pButton size=\"small\"\r\n label=\"{{ 'SEARCH' | translate }}\">\r\n </button>\r\n <button\r\n type=\"button\"\r\n pButton\r\n size=\"small\"\r\n class=\"p-button-text\"\r\n (click)=\"onReset(); drawerVisible=false\"\r\n >\r\n {{ 'CLEAR' | translate }}\r\n </button>\r\n </div>\r\n </ng-template>\r\n</p-drawer>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ToolbarModule }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputIconModule }, { kind: "ngmodule", type: IconFieldModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i5.InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: DrawerModule }, { kind: "component", type: i6.Drawer, selector: "p-drawer", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "closeButtonProps", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen", "header", "maskStyle", "closable"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "component", type: i7.InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["styleClass"] }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "component", type: i8.InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
66
70
  }
67
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericSearch, decorators: [{
68
72
  type: Component,
@@ -78,8 +82,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
78
82
  InputIconModule,
79
83
  IconFieldModule,
80
84
  InputTextModule,
81
- DrawerModule
82
- ], template: "<div class=\"flex flex-wrap items-center gap-3 w-full\">\r\n <!-- Search Input with Icon -->\r\n <p-iconfield iconPosition=\"left\">\r\n <input\r\n pInputText\r\n type=\"text\"\r\n (keyup.enter)=\"onSubmit()\"\r\n [(ngModel)]=\"model['filter']\"\r\n placeholder=\"{{ 'SEARCH' | translate }}\"\r\n />\r\n </p-iconfield>\r\n\r\n <!-- Filter Button -->\r\n <p-button\r\n icon=\"pi pi-filter\"\r\n outlined\r\n severity=\"secondary\"\r\n (onClick)=\"drawerVisible = true\"\r\n ></p-button>\r\n</div>\r\n\r\n<!-- Drawer for Advanced Multi-field Search -->\r\n<p-drawer\r\n [(visible)]=\"drawerVisible\"\r\n position=\"right\"\r\n [modal]=\"true\"\r\n [dismissible]=\"true\"\r\n styleClass=\"p-4 w-full max-w-md max-h-[90vh] flex flex-col\"\r\n>\r\n <!-- Entire form wrapper -->\r\n <form [formGroup]=\"form\" class=\"flex flex-col flex-1\">\r\n <!-- Scrollable Form -->\r\n <div class=\"flex-1 overflow-auto\">\r\n <formly-form\r\n [form]=\"form\"\r\n [fields]=\"fields_\"\r\n [model]=\"model\"\r\n [options]=\"options\"\r\n >\r\n </formly-form>\r\n </div>\r\n </form>\r\n <!-- Action Buttons -->\r\n <ng-template pTemplate=\"footer\">\r\n <div class=\"flex justify-end mt-2 space-x-2 flex-none\">\r\n <button\r\n (click)=\" onSubmit(); drawerVisible=false\"\r\n type=\"button\"\r\n pButton size=\"small\"\r\n label=\"{{ 'SEARCH' | translate }}\">\r\n </button>\r\n <button\r\n type=\"button\"\r\n pButton\r\n size=\"small\"\r\n class=\"p-button-text\"\r\n (click)=\"onReset(); drawerVisible=false\"\r\n >\r\n {{ 'CLEAR' | translate }}\r\n </button>\r\n </div>\r\n </ng-template>\r\n</p-drawer>\r\n" }]
85
+ DrawerModule,
86
+ InputGroupModule,
87
+ InputGroupAddonModule
88
+ ], template: "<div class=\"flex flex-wrap items-center gap-3 w-full\">\r\n <!-- Search Input with Icon -->\r\n <p-inputgroup class=\"w-full\">\r\n <input\r\n pInputText\r\n type=\"text\"\r\n [(ngModel)]=\"model['filter']\"\r\n placeholder=\"{{ 'SEARCH' | translate }}\"\r\n (keyup.enter)=\"onSubmit()\"\r\n />\r\n\r\n\r\n <p-inputgroup-addon>\r\n <p-button\r\n icon=\"pi pi-search\"\r\n severity=\"secondary\"\r\n (click)=\"onSubmit()\"\r\n ></p-button>\r\n </p-inputgroup-addon>\r\n<p-inputgroup-addon>\r\n <p-button\r\n icon=\"pi pi-filter\"\r\n severity=\"secondary\"\r\n (onClick)=\"drawerVisible = true\"\r\n ></p-button>\r\n </p-inputgroup-addon>\r\n <p-inputgroup-addon *ngIf=\"model['filter']\">\r\n <p-button\r\n icon=\"pi pi-times\"\r\n severity=\"danger\"\r\n (click)=\"model['filter']=''; onSubmit()\"\r\n ></p-button>\r\n </p-inputgroup-addon>\r\n</p-inputgroup>\r\n\r\n\r\n</div>\r\n\r\n<!-- Drawer for Advanced Multi-field Search -->\r\n<p-drawer\r\n [(visible)]=\"drawerVisible\"\r\n position=\"right\"\r\n [modal]=\"true\"\r\n [dismissible]=\"true\"\r\n styleClass=\"p-4 w-full max-w-md max-h-[90vh] flex flex-col\"\r\n>\r\n <!-- Entire form wrapper -->\r\n <form [formGroup]=\"form\" class=\"flex flex-col flex-1\">\r\n <!-- Scrollable Form -->\r\n <div class=\"flex-1 overflow-auto\">\r\n <formly-form\r\n [form]=\"form\"\r\n [fields]=\"fields_\"\r\n [model]=\"model\"\r\n [options]=\"options\"\r\n >\r\n </formly-form>\r\n </div>\r\n </form>\r\n <!-- Action Buttons -->\r\n <ng-template pTemplate=\"footer\">\r\n <div class=\"flex justify-end mt-2 space-x-2 flex-none\">\r\n <button\r\n (click)=\" onSubmit(); drawerVisible=false\"\r\n type=\"button\"\r\n pButton size=\"small\"\r\n label=\"{{ 'SEARCH' | translate }}\">\r\n </button>\r\n <button\r\n type=\"button\"\r\n pButton\r\n size=\"small\"\r\n class=\"p-button-text\"\r\n (click)=\"onReset(); drawerVisible=false\"\r\n >\r\n {{ 'CLEAR' | translate }}\r\n </button>\r\n </div>\r\n </ng-template>\r\n</p-drawer>\r\n" }]
83
89
  }], propDecorators: { overlay: [{
84
90
  type: ViewChild,
85
91
  args: ['overlay']
@@ -1 +1 @@
1
- {"version":3,"file":"elite.framework-ng.ui.core-generic-search.mjs","sources":["../tmp-esm2022/generic-search/lib/generic-search-module.js","../tmp-esm2022/generic-search/lib/generic-search.js","../tmp-esm2022/generic-search/elite.framework-ng.ui.core-generic-search.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class GenericSearchModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearchModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearchModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearchModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1zZWFyY2gtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2dlbmVyaWMtc2VhcmNoL3NyYy9saWIvZ2VuZXJpYy1zZWFyY2gtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sbUJBQW1CO3VHQUFuQixtQkFBbUI7d0dBQW5CLG1CQUFtQixZQUZwQixZQUFZO3dHQUVYLG1CQUFtQixZQUZwQixZQUFZOzsyRkFFWCxtQkFBbUI7a0JBSC9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJpY1NlYXJjaE1vZHVsZSB7fVxuIl19","import { Component, EventEmitter, Input, Output, ViewChild, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FormlyForm } from '@ngx-formly/core';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { ToolbarModule } from 'primeng/toolbar';\nimport { ButtonModule } from 'primeng/button';\nimport { Popover, PopoverModule } from 'primeng/popover';\nimport { InputIconModule } from 'primeng/inputicon';\nimport { IconFieldModule } from 'primeng/iconfield';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { DrawerModule } from 'primeng/drawer';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"primeng/api\";\nimport * as i2 from \"primeng/button\";\nimport * as i3 from \"@angular/forms\";\nimport * as i4 from \"primeng/iconfield\";\nimport * as i5 from \"primeng/inputtext\";\nimport * as i6 from \"primeng/drawer\";\nimport * as i7 from \"@ngx-translate/core\";\nexport class GenericSearch {\n overlay;\n translate = inject(TranslateService);\n drawerVisible = false;\n // @Input() placeholder = 'بحث...';\n /**\n * List of fields to search by\n * Example: [{ label: 'Name', value: 'name' }, { label: 'Email', value: 'email' }]\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n search = new EventEmitter();\n form = new FormGroup({});\n model = {};\n options = {};\n fields = [];\n fields_ = [];\n // onTogglePopover(event: any) {\n // debugger\n // this.overlay.toggle(event);\n // }\n ngOnInit() {\n this.fields_ = this.fields;\n }\n onSubmit() {\n this.search.emit(this.model);\n }\n onReset() {\n this.model = {};\n this.search.emit(this.model);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearch, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: GenericSearch, isStandalone: true, selector: \"lib-generic-search\", inputs: { model: \"model\", fields: \"fields\" }, outputs: { search: \"search\" }, viewQueries: [{ propertyName: \"overlay\", first: true, predicate: [\"overlay\"], descendants: true }], ngImport: i0, template: \"<div class=\\\"flex flex-wrap items-center gap-3 w-full\\\">\\r\\n <!-- Search Input with Icon -->\\r\\n <p-iconfield iconPosition=\\\"left\\\">\\r\\n <input\\r\\n pInputText\\r\\n type=\\\"text\\\"\\r\\n (keyup.enter)=\\\"onSubmit()\\\"\\r\\n [(ngModel)]=\\\"model['filter']\\\"\\r\\n placeholder=\\\"{{ 'SEARCH' | translate }}\\\"\\r\\n />\\r\\n </p-iconfield>\\r\\n\\r\\n <!-- Filter Button -->\\r\\n <p-button\\r\\n icon=\\\"pi pi-filter\\\"\\r\\n outlined\\r\\n severity=\\\"secondary\\\"\\r\\n (onClick)=\\\"drawerVisible = true\\\"\\r\\n ></p-button>\\r\\n</div>\\r\\n\\r\\n<!-- Drawer for Advanced Multi-field Search -->\\r\\n<p-drawer\\r\\n [(visible)]=\\\"drawerVisible\\\"\\r\\n position=\\\"right\\\"\\r\\n [modal]=\\\"true\\\"\\r\\n [dismissible]=\\\"true\\\"\\r\\n styleClass=\\\"p-4 w-full max-w-md max-h-[90vh] flex flex-col\\\"\\r\\n>\\r\\n <!-- Entire form wrapper -->\\r\\n <form [formGroup]=\\\"form\\\" class=\\\"flex flex-col flex-1\\\">\\r\\n <!-- Scrollable Form -->\\r\\n <div class=\\\"flex-1 overflow-auto\\\">\\r\\n <formly-form\\r\\n [form]=\\\"form\\\"\\r\\n [fields]=\\\"fields_\\\"\\r\\n [model]=\\\"model\\\"\\r\\n [options]=\\\"options\\\"\\r\\n >\\r\\n </formly-form>\\r\\n </div>\\r\\n </form>\\r\\n <!-- Action Buttons -->\\r\\n <ng-template pTemplate=\\\"footer\\\">\\r\\n <div class=\\\"flex justify-end mt-2 space-x-2 flex-none\\\">\\r\\n <button\\r\\n (click)=\\\" onSubmit(); drawerVisible=false\\\"\\r\\n type=\\\"button\\\"\\r\\n pButton size=\\\"small\\\"\\r\\n label=\\\"{{ 'SEARCH' | translate }}\\\">\\r\\n </button>\\r\\n <button\\r\\n type=\\\"button\\\"\\r\\n pButton\\r\\n size=\\\"small\\\"\\r\\n class=\\\"p-button-text\\\"\\r\\n (click)=\\\"onReset(); drawerVisible=false\\\"\\r\\n >\\r\\n {{ 'CLEAR' | translate }}\\r\\n </button>\\r\\n </div>\\r\\n </ng-template>\\r\\n</p-drawer>\\r\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: FormlyForm, selector: \"formly-form\", inputs: [\"form\", \"model\", \"fields\", \"options\"], outputs: [\"modelChange\"] }, { kind: \"ngmodule\", type: TranslateModule }, { kind: \"ngmodule\", type: ToolbarModule }, { kind: \"directive\", type: i1.PrimeTemplate, selector: \"[pTemplate]\", inputs: [\"type\", \"pTemplate\"] }, { kind: \"ngmodule\", type: ButtonModule }, { kind: \"directive\", type: i2.ButtonDirective, selector: \"[pButton]\", inputs: [\"iconPos\", \"loadingIcon\", \"loading\", \"severity\", \"raised\", \"rounded\", \"text\", \"outlined\", \"size\", \"plain\", \"fluid\", \"label\", \"icon\", \"buttonProps\"] }, { kind: \"component\", type: i2.Button, selector: \"p-button\", inputs: [\"type\", \"iconPos\", \"icon\", \"badge\", \"label\", \"disabled\", \"loading\", \"loadingIcon\", \"raised\", \"rounded\", \"text\", \"plain\", \"severity\", \"outlined\", \"link\", \"tabindex\", \"size\", \"variant\", \"style\", \"styleClass\", \"badgeClass\", \"badgeSeverity\", \"ariaLabel\", \"buttonProps\", \"autofocus\", \"fluid\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\"] }, { kind: \"ngmodule\", type: ReactiveFormsModule }, { kind: \"directive\", type: i3.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i3.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i3.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i3.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i3.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: PopoverModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i3.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: InputIconModule }, { kind: \"ngmodule\", type: IconFieldModule }, { kind: \"component\", type: i4.IconField, selector: \"p-iconfield, p-iconField, p-icon-field\", inputs: [\"iconPosition\", \"styleClass\"] }, { kind: \"ngmodule\", type: InputTextModule }, { kind: \"directive\", type: i5.InputText, selector: \"[pInputText]\", inputs: [\"pSize\", \"variant\", \"fluid\", \"invalid\"] }, { kind: \"ngmodule\", type: DrawerModule }, { kind: \"component\", type: i6.Drawer, selector: \"p-drawer\", inputs: [\"appendTo\", \"blockScroll\", \"style\", \"styleClass\", \"ariaCloseLabel\", \"autoZIndex\", \"baseZIndex\", \"modal\", \"closeButtonProps\", \"dismissible\", \"showCloseIcon\", \"closeOnEscape\", \"transitionOptions\", \"visible\", \"position\", \"fullScreen\", \"header\", \"maskStyle\", \"closable\"], outputs: [\"onShow\", \"onHide\", \"visibleChange\"] }, { kind: \"pipe\", type: i7.TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearch, decorators: [{\n type: Component,\n args: [{ selector: 'lib-generic-search', standalone: true, imports: [\n CommonModule,\n FormlyForm,\n TranslateModule,\n ToolbarModule,\n ButtonModule,\n ReactiveFormsModule,\n PopoverModule,\n FormsModule,\n InputIconModule,\n IconFieldModule,\n InputTextModule,\n DrawerModule\n ], template: \"<div class=\\\"flex flex-wrap items-center gap-3 w-full\\\">\\r\\n <!-- Search Input with Icon -->\\r\\n <p-iconfield iconPosition=\\\"left\\\">\\r\\n <input\\r\\n pInputText\\r\\n type=\\\"text\\\"\\r\\n (keyup.enter)=\\\"onSubmit()\\\"\\r\\n [(ngModel)]=\\\"model['filter']\\\"\\r\\n placeholder=\\\"{{ 'SEARCH' | translate }}\\\"\\r\\n />\\r\\n </p-iconfield>\\r\\n\\r\\n <!-- Filter Button -->\\r\\n <p-button\\r\\n icon=\\\"pi pi-filter\\\"\\r\\n outlined\\r\\n severity=\\\"secondary\\\"\\r\\n (onClick)=\\\"drawerVisible = true\\\"\\r\\n ></p-button>\\r\\n</div>\\r\\n\\r\\n<!-- Drawer for Advanced Multi-field Search -->\\r\\n<p-drawer\\r\\n [(visible)]=\\\"drawerVisible\\\"\\r\\n position=\\\"right\\\"\\r\\n [modal]=\\\"true\\\"\\r\\n [dismissible]=\\\"true\\\"\\r\\n styleClass=\\\"p-4 w-full max-w-md max-h-[90vh] flex flex-col\\\"\\r\\n>\\r\\n <!-- Entire form wrapper -->\\r\\n <form [formGroup]=\\\"form\\\" class=\\\"flex flex-col flex-1\\\">\\r\\n <!-- Scrollable Form -->\\r\\n <div class=\\\"flex-1 overflow-auto\\\">\\r\\n <formly-form\\r\\n [form]=\\\"form\\\"\\r\\n [fields]=\\\"fields_\\\"\\r\\n [model]=\\\"model\\\"\\r\\n [options]=\\\"options\\\"\\r\\n >\\r\\n </formly-form>\\r\\n </div>\\r\\n </form>\\r\\n <!-- Action Buttons -->\\r\\n <ng-template pTemplate=\\\"footer\\\">\\r\\n <div class=\\\"flex justify-end mt-2 space-x-2 flex-none\\\">\\r\\n <button\\r\\n (click)=\\\" onSubmit(); drawerVisible=false\\\"\\r\\n type=\\\"button\\\"\\r\\n pButton size=\\\"small\\\"\\r\\n label=\\\"{{ 'SEARCH' | translate }}\\\">\\r\\n </button>\\r\\n <button\\r\\n type=\\\"button\\\"\\r\\n pButton\\r\\n size=\\\"small\\\"\\r\\n class=\\\"p-button-text\\\"\\r\\n (click)=\\\"onReset(); drawerVisible=false\\\"\\r\\n >\\r\\n {{ 'CLEAR' | translate }}\\r\\n </button>\\r\\n </div>\\r\\n </ng-template>\\r\\n</p-drawer>\\r\\n\" }]\n }], propDecorators: { overlay: [{\n type: ViewChild,\n args: ['overlay']\n }], search: [{\n type: Output\n }], model: [{\n type: Input\n }], fields: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1zZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZ2VuZXJpYy1zZWFyY2gvc3JjL2xpYi9nZW5lcmljLXNlYXJjaC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9nZW5lcmljLXNlYXJjaC9zcmMvbGliL2dlbmVyaWMtc2VhcmNoLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBcUIsVUFBVSxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFxQjlDLE1BQU0sT0FBTyxhQUFhO0lBQ0QsT0FBTyxDQUFXO0lBQ3pDLFNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2QyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLG1DQUFtQztJQUVuQzs7O09BR0c7SUFHSCw0REFBNEQ7SUFDbEQsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFM0MsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pCLEtBQUssR0FBUSxFQUFFLENBQUM7SUFDeEIsT0FBTyxHQUFzQixFQUFFLENBQUM7SUFDdkIsTUFBTSxHQUF3QixFQUFFLENBQUM7SUFDekMsT0FBTyxHQUF3QixFQUFFLENBQUM7SUFFckMsa0NBQWtDO0lBQ2xDLGVBQWU7SUFDZixnQ0FBZ0M7SUFDaEMsSUFBSTtJQUNGLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzt1R0FwQ1UsYUFBYTsyRkFBYixhQUFhLCtQQ2hDMUIsNHdEQStEQSwyQ0Q5Q0ksWUFBWSwrQkFDWixVQUFVLGlJQUNWLGVBQWUsOEJBQ2YsYUFBYSxxSUFDYixZQUFZLHVwQkFDWixtQkFBbUIsNHlCQUNuQixhQUFhLDhCQUNiLFdBQVcsc1BBQ1gsZUFBZSw4QkFDZixlQUFlLHFLQUNmLGVBQWUscUpBQ2YsWUFBWTs7MkZBSUgsYUFBYTtrQkFuQnpCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYjs4QkFJc0IsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQVlYLE1BQU07c0JBQWYsTUFBTTtnQkFHQyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcsIEZvcm1seUZvcm0sIEZvcm1seUZvcm1PcHRpb25zIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFRvb2xiYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2xiYXInO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgUG9wb3ZlciwgUG9wb3Zlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcG9wb3Zlcic7XG5pbXBvcnQgeyBJbnB1dEljb25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0aWNvbic7XG5pbXBvcnQgeyBJY29uRmllbGRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2ljb25maWVsZCc7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XG5pbXBvcnQgeyBEcmF3ZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RyYXdlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1nZW5lcmljLXNlYXJjaCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybWx5Rm9ybSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVG9vbGJhck1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBQb3BvdmVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIElucHV0SWNvbk1vZHVsZSxcbiAgICBJY29uRmllbGRNb2R1bGUsXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIERyYXdlck1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VuZXJpYy1zZWFyY2guaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyaWNTZWFyY2ggaW1wbGVtZW50cyBPbkluaXQge1xuICAgQFZpZXdDaGlsZCgnb3ZlcmxheScpIG92ZXJsYXkhOiBQb3BvdmVyO1xuICB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5kcmF3ZXJWaXNpYmxlID0gZmFsc2U7XG4gIC8vIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ9io2K3Yqy4uLic7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgZmllbGRzIHRvIHNlYXJjaCBieVxuICAgKiBFeGFtcGxlOiBbeyBsYWJlbDogJ05hbWUnLCB2YWx1ZTogJ25hbWUnIH0sIHsgbGFiZWw6ICdFbWFpbCcsIHZhbHVlOiAnZW1haWwnIH1dXG4gICAqL1xuXG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBzZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gQElucHV0KCkgbW9kZWw6IGFueSA9IHt9O1xuICBvcHRpb25zOiBGb3JtbHlGb3JtT3B0aW9ucyA9IHt9O1xuICBASW5wdXQoKSBmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10gPSBbXTtcbiAgIGZpZWxkc186IEZvcm1seUZpZWxkQ29uZmlnW10gPSBbXTtcblxuLy8gICBvblRvZ2dsZVBvcG92ZXIoZXZlbnQ6IGFueSkge1xuLy8gICAgIGRlYnVnZ2VyXG4vLyAgIHRoaXMub3ZlcmxheS50b2dnbGUoZXZlbnQpO1xuLy8gfVxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZpZWxkc18gPSB0aGlzLmZpZWxkcztcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIHRoaXMuc2VhcmNoLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cblxuICBvblJlc2V0KCkge1xuICAgIHRoaXMubW9kZWwgPSB7fTtcbiAgICB0aGlzLnNlYXJjaC5lbWl0KHRoaXMubW9kZWwpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC0zIHctZnVsbFwiPlxyXG4gIDwhLS0gU2VhcmNoIElucHV0IHdpdGggSWNvbiAtLT5cclxuICA8cC1pY29uZmllbGQgaWNvblBvc2l0aW9uPVwibGVmdFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHBJbnB1dFRleHRcclxuICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib25TdWJtaXQoKVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwibW9kZWxbJ2ZpbHRlciddXCJcclxuICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnU0VBUkNIJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAvPlxyXG4gIDwvcC1pY29uZmllbGQ+XHJcblxyXG4gIDwhLS0gRmlsdGVyIEJ1dHRvbiAtLT5cclxuICA8cC1idXR0b25cclxuICAgIGljb249XCJwaSBwaS1maWx0ZXJcIlxyXG4gICAgb3V0bGluZWRcclxuICAgIHNldmVyaXR5PVwic2Vjb25kYXJ5XCJcclxuICAgIChvbkNsaWNrKT1cImRyYXdlclZpc2libGUgPSB0cnVlXCJcclxuICA+PC9wLWJ1dHRvbj5cclxuPC9kaXY+XHJcblxyXG48IS0tIERyYXdlciBmb3IgQWR2YW5jZWQgTXVsdGktZmllbGQgU2VhcmNoIC0tPlxyXG48cC1kcmF3ZXJcclxuICBbKHZpc2libGUpXT1cImRyYXdlclZpc2libGVcIlxyXG4gIHBvc2l0aW9uPVwicmlnaHRcIlxyXG4gIFttb2RhbF09XCJ0cnVlXCJcclxuICBbZGlzbWlzc2libGVdPVwidHJ1ZVwiXHJcbiAgc3R5bGVDbGFzcz1cInAtNCB3LWZ1bGwgbWF4LXctbWQgbWF4LWgtWzkwdmhdIGZsZXggZmxleC1jb2xcIlxyXG4+XHJcbiAgPCEtLSBFbnRpcmUgZm9ybSB3cmFwcGVyIC0tPlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiICBjbGFzcz1cImZsZXggZmxleC1jb2wgZmxleC0xXCI+XHJcbiAgICA8IS0tIFNjcm9sbGFibGUgRm9ybSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LTEgb3ZlcmZsb3ctYXV0b1wiPlxyXG4gICAgICA8Zm9ybWx5LWZvcm1cclxuICAgICAgICBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICBbZmllbGRzXT1cImZpZWxkc19cIlxyXG4gICAgICAgIFttb2RlbF09XCJtb2RlbFwiXHJcbiAgICAgICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXHJcbiAgICAgID5cclxuICAgICAgPC9mb3JtbHktZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuICA8IS0tIEFjdGlvbiBCdXR0b25zIC0tPlxyXG4gICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmQgbXQtMiBzcGFjZS14LTIgZmxleC1ub25lXCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgKGNsaWNrKT1cIiBvblN1Ym1pdCgpOyBkcmF3ZXJWaXNpYmxlPWZhbHNlXCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIHBCdXR0b24gc2l6ZT1cInNtYWxsXCJcclxuICAgICAgbGFiZWw9XCJ7eyAnU0VBUkNIJyB8IHRyYW5zbGF0ZSB9fVwiPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBwQnV0dG9uXHJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXRleHRcIlxyXG4gICAgICAgIChjbGljayk9XCJvblJlc2V0KCk7IGRyYXdlclZpc2libGU9ZmFsc2VcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgJ0NMRUFSJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1kcmF3ZXI+XHJcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZ2VuZXJpYy1zZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZ2VuZXJpYy1zZWFyY2gvc3JjL2VsaXRlLmZyYW1ld29yay1uZy51aS5jb3JlLWdlbmVyaWMtc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elite.framework-ng.ui.core-generic-search.mjs","sources":["../tmp-esm2022/generic-search/lib/generic-search-module.js","../tmp-esm2022/generic-search/lib/generic-search.js","../tmp-esm2022/generic-search/elite.framework-ng.ui.core-generic-search.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class GenericSearchModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearchModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearchModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearchModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1zZWFyY2gtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2dlbmVyaWMtc2VhcmNoL3NyYy9saWIvZ2VuZXJpYy1zZWFyY2gtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sbUJBQW1CO3VHQUFuQixtQkFBbUI7d0dBQW5CLG1CQUFtQixZQUZwQixZQUFZO3dHQUVYLG1CQUFtQixZQUZwQixZQUFZOzsyRkFFWCxtQkFBbUI7a0JBSC9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJpY1NlYXJjaE1vZHVsZSB7fVxuIl19","import { Component, EventEmitter, Input, Output, ViewChild, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FormlyForm } from '@ngx-formly/core';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { ToolbarModule } from 'primeng/toolbar';\nimport { ButtonModule } from 'primeng/button';\nimport { Popover, PopoverModule } from 'primeng/popover';\nimport { InputIconModule } from 'primeng/inputicon';\nimport { IconFieldModule } from 'primeng/iconfield';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { DrawerModule } from 'primeng/drawer';\nimport { InputGroupModule } from 'primeng/inputgroup';\nimport { InputGroupAddonModule } from 'primeng/inputgroupaddon';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"primeng/api\";\nimport * as i3 from \"primeng/button\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"primeng/inputtext\";\nimport * as i6 from \"primeng/drawer\";\nimport * as i7 from \"primeng/inputgroup\";\nimport * as i8 from \"primeng/inputgroupaddon\";\nimport * as i9 from \"@ngx-translate/core\";\nexport class GenericSearch {\n overlay;\n translate = inject(TranslateService);\n drawerVisible = false;\n // @Input() placeholder = 'بحث...';\n /**\n * List of fields to search by\n * Example: [{ label: 'Name', value: 'name' }, { label: 'Email', value: 'email' }]\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n search = new EventEmitter();\n form = new FormGroup({});\n model = {};\n options = {};\n fields = [];\n fields_ = [];\n // onTogglePopover(event: any) {\n // debugger\n // this.overlay.toggle(event);\n // }\n ngOnInit() {\n this.fields_ = this.fields;\n }\n onSubmit() {\n this.search.emit(this.model);\n }\n onReset() {\n this.model = {};\n this.search.emit(this.model);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearch, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: GenericSearch, isStandalone: true, selector: \"lib-generic-search\", inputs: { model: \"model\", fields: \"fields\" }, outputs: { search: \"search\" }, viewQueries: [{ propertyName: \"overlay\", first: true, predicate: [\"overlay\"], descendants: true }], ngImport: i0, template: \"<div class=\\\"flex flex-wrap items-center gap-3 w-full\\\">\\r\\n <!-- Search Input with Icon -->\\r\\n <p-inputgroup class=\\\"w-full\\\">\\r\\n <input\\r\\n pInputText\\r\\n type=\\\"text\\\"\\r\\n [(ngModel)]=\\\"model['filter']\\\"\\r\\n placeholder=\\\"{{ 'SEARCH' | translate }}\\\"\\r\\n (keyup.enter)=\\\"onSubmit()\\\"\\r\\n />\\r\\n\\r\\n\\r\\n <p-inputgroup-addon>\\r\\n <p-button\\r\\n icon=\\\"pi pi-search\\\"\\r\\n severity=\\\"secondary\\\"\\r\\n (click)=\\\"onSubmit()\\\"\\r\\n ></p-button>\\r\\n </p-inputgroup-addon>\\r\\n<p-inputgroup-addon>\\r\\n <p-button\\r\\n icon=\\\"pi pi-filter\\\"\\r\\n severity=\\\"secondary\\\"\\r\\n (onClick)=\\\"drawerVisible = true\\\"\\r\\n ></p-button>\\r\\n </p-inputgroup-addon>\\r\\n <p-inputgroup-addon *ngIf=\\\"model['filter']\\\">\\r\\n <p-button\\r\\n icon=\\\"pi pi-times\\\"\\r\\n severity=\\\"danger\\\"\\r\\n (click)=\\\"model['filter']=''; onSubmit()\\\"\\r\\n ></p-button>\\r\\n </p-inputgroup-addon>\\r\\n</p-inputgroup>\\r\\n\\r\\n\\r\\n</div>\\r\\n\\r\\n<!-- Drawer for Advanced Multi-field Search -->\\r\\n<p-drawer\\r\\n [(visible)]=\\\"drawerVisible\\\"\\r\\n position=\\\"right\\\"\\r\\n [modal]=\\\"true\\\"\\r\\n [dismissible]=\\\"true\\\"\\r\\n styleClass=\\\"p-4 w-full max-w-md max-h-[90vh] flex flex-col\\\"\\r\\n>\\r\\n <!-- Entire form wrapper -->\\r\\n <form [formGroup]=\\\"form\\\" class=\\\"flex flex-col flex-1\\\">\\r\\n <!-- Scrollable Form -->\\r\\n <div class=\\\"flex-1 overflow-auto\\\">\\r\\n <formly-form\\r\\n [form]=\\\"form\\\"\\r\\n [fields]=\\\"fields_\\\"\\r\\n [model]=\\\"model\\\"\\r\\n [options]=\\\"options\\\"\\r\\n >\\r\\n </formly-form>\\r\\n </div>\\r\\n </form>\\r\\n <!-- Action Buttons -->\\r\\n <ng-template pTemplate=\\\"footer\\\">\\r\\n <div class=\\\"flex justify-end mt-2 space-x-2 flex-none\\\">\\r\\n <button\\r\\n (click)=\\\" onSubmit(); drawerVisible=false\\\"\\r\\n type=\\\"button\\\"\\r\\n pButton size=\\\"small\\\"\\r\\n label=\\\"{{ 'SEARCH' | translate }}\\\">\\r\\n </button>\\r\\n <button\\r\\n type=\\\"button\\\"\\r\\n pButton\\r\\n size=\\\"small\\\"\\r\\n class=\\\"p-button-text\\\"\\r\\n (click)=\\\"onReset(); drawerVisible=false\\\"\\r\\n >\\r\\n {{ 'CLEAR' | translate }}\\r\\n </button>\\r\\n </div>\\r\\n </ng-template>\\r\\n</p-drawer>\\r\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"component\", type: FormlyForm, selector: \"formly-form\", inputs: [\"form\", \"model\", \"fields\", \"options\"], outputs: [\"modelChange\"] }, { kind: \"ngmodule\", type: TranslateModule }, { kind: \"ngmodule\", type: ToolbarModule }, { kind: \"directive\", type: i2.PrimeTemplate, selector: \"[pTemplate]\", inputs: [\"type\", \"pTemplate\"] }, { kind: \"ngmodule\", type: ButtonModule }, { kind: \"directive\", type: i3.ButtonDirective, selector: \"[pButton]\", inputs: [\"iconPos\", \"loadingIcon\", \"loading\", \"severity\", \"raised\", \"rounded\", \"text\", \"outlined\", \"size\", \"plain\", \"fluid\", \"label\", \"icon\", \"buttonProps\"] }, { kind: \"component\", type: i3.Button, selector: \"p-button\", inputs: [\"type\", \"iconPos\", \"icon\", \"badge\", \"label\", \"disabled\", \"loading\", \"loadingIcon\", \"raised\", \"rounded\", \"text\", \"plain\", \"severity\", \"outlined\", \"link\", \"tabindex\", \"size\", \"variant\", \"style\", \"styleClass\", \"badgeClass\", \"badgeSeverity\", \"ariaLabel\", \"buttonProps\", \"autofocus\", \"fluid\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\"] }, { kind: \"ngmodule\", type: ReactiveFormsModule }, { kind: \"directive\", type: i4.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i4.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i4.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i4.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: PopoverModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i4.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: InputIconModule }, { kind: \"ngmodule\", type: IconFieldModule }, { kind: \"ngmodule\", type: InputTextModule }, { kind: \"directive\", type: i5.InputText, selector: \"[pInputText]\", inputs: [\"pSize\", \"variant\", \"fluid\", \"invalid\"] }, { kind: \"ngmodule\", type: DrawerModule }, { kind: \"component\", type: i6.Drawer, selector: \"p-drawer\", inputs: [\"appendTo\", \"blockScroll\", \"style\", \"styleClass\", \"ariaCloseLabel\", \"autoZIndex\", \"baseZIndex\", \"modal\", \"closeButtonProps\", \"dismissible\", \"showCloseIcon\", \"closeOnEscape\", \"transitionOptions\", \"visible\", \"position\", \"fullScreen\", \"header\", \"maskStyle\", \"closable\"], outputs: [\"onShow\", \"onHide\", \"visibleChange\"] }, { kind: \"ngmodule\", type: InputGroupModule }, { kind: \"component\", type: i7.InputGroup, selector: \"p-inputgroup, p-inputGroup, p-input-group\", inputs: [\"styleClass\"] }, { kind: \"ngmodule\", type: InputGroupAddonModule }, { kind: \"component\", type: i8.InputGroupAddon, selector: \"p-inputgroup-addon, p-inputGroupAddon\", inputs: [\"style\", \"styleClass\"] }, { kind: \"pipe\", type: i9.TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: GenericSearch, decorators: [{\n type: Component,\n args: [{ selector: 'lib-generic-search', standalone: true, imports: [\n CommonModule,\n FormlyForm,\n TranslateModule,\n ToolbarModule,\n ButtonModule,\n ReactiveFormsModule,\n PopoverModule,\n FormsModule,\n InputIconModule,\n IconFieldModule,\n InputTextModule,\n DrawerModule,\n InputGroupModule,\n InputGroupAddonModule\n ], template: \"<div class=\\\"flex flex-wrap items-center gap-3 w-full\\\">\\r\\n <!-- Search Input with Icon -->\\r\\n <p-inputgroup class=\\\"w-full\\\">\\r\\n <input\\r\\n pInputText\\r\\n type=\\\"text\\\"\\r\\n [(ngModel)]=\\\"model['filter']\\\"\\r\\n placeholder=\\\"{{ 'SEARCH' | translate }}\\\"\\r\\n (keyup.enter)=\\\"onSubmit()\\\"\\r\\n />\\r\\n\\r\\n\\r\\n <p-inputgroup-addon>\\r\\n <p-button\\r\\n icon=\\\"pi pi-search\\\"\\r\\n severity=\\\"secondary\\\"\\r\\n (click)=\\\"onSubmit()\\\"\\r\\n ></p-button>\\r\\n </p-inputgroup-addon>\\r\\n<p-inputgroup-addon>\\r\\n <p-button\\r\\n icon=\\\"pi pi-filter\\\"\\r\\n severity=\\\"secondary\\\"\\r\\n (onClick)=\\\"drawerVisible = true\\\"\\r\\n ></p-button>\\r\\n </p-inputgroup-addon>\\r\\n <p-inputgroup-addon *ngIf=\\\"model['filter']\\\">\\r\\n <p-button\\r\\n icon=\\\"pi pi-times\\\"\\r\\n severity=\\\"danger\\\"\\r\\n (click)=\\\"model['filter']=''; onSubmit()\\\"\\r\\n ></p-button>\\r\\n </p-inputgroup-addon>\\r\\n</p-inputgroup>\\r\\n\\r\\n\\r\\n</div>\\r\\n\\r\\n<!-- Drawer for Advanced Multi-field Search -->\\r\\n<p-drawer\\r\\n [(visible)]=\\\"drawerVisible\\\"\\r\\n position=\\\"right\\\"\\r\\n [modal]=\\\"true\\\"\\r\\n [dismissible]=\\\"true\\\"\\r\\n styleClass=\\\"p-4 w-full max-w-md max-h-[90vh] flex flex-col\\\"\\r\\n>\\r\\n <!-- Entire form wrapper -->\\r\\n <form [formGroup]=\\\"form\\\" class=\\\"flex flex-col flex-1\\\">\\r\\n <!-- Scrollable Form -->\\r\\n <div class=\\\"flex-1 overflow-auto\\\">\\r\\n <formly-form\\r\\n [form]=\\\"form\\\"\\r\\n [fields]=\\\"fields_\\\"\\r\\n [model]=\\\"model\\\"\\r\\n [options]=\\\"options\\\"\\r\\n >\\r\\n </formly-form>\\r\\n </div>\\r\\n </form>\\r\\n <!-- Action Buttons -->\\r\\n <ng-template pTemplate=\\\"footer\\\">\\r\\n <div class=\\\"flex justify-end mt-2 space-x-2 flex-none\\\">\\r\\n <button\\r\\n (click)=\\\" onSubmit(); drawerVisible=false\\\"\\r\\n type=\\\"button\\\"\\r\\n pButton size=\\\"small\\\"\\r\\n label=\\\"{{ 'SEARCH' | translate }}\\\">\\r\\n </button>\\r\\n <button\\r\\n type=\\\"button\\\"\\r\\n pButton\\r\\n size=\\\"small\\\"\\r\\n class=\\\"p-button-text\\\"\\r\\n (click)=\\\"onReset(); drawerVisible=false\\\"\\r\\n >\\r\\n {{ 'CLEAR' | translate }}\\r\\n </button>\\r\\n </div>\\r\\n </ng-template>\\r\\n</p-drawer>\\r\\n\" }]\n }], propDecorators: { overlay: [{\n type: ViewChild,\n args: ['overlay']\n }], search: [{\n type: Output\n }], model: [{\n type: Input\n }], fields: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1zZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZ2VuZXJpYy1zZWFyY2gvc3JjL2xpYi9nZW5lcmljLXNlYXJjaC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9nZW5lcmljLXNlYXJjaC9zcmMvbGliL2dlbmVyaWMtc2VhcmNoLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBcUIsVUFBVSxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7OztBQXVCaEUsTUFBTSxPQUFPLGFBQWE7SUFDRCxPQUFPLENBQVc7SUFDekMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDcEIsbUNBQW1DO0lBRW5DOzs7T0FHRztJQUdILDREQUE0RDtJQUNsRCxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUUzQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakIsS0FBSyxHQUFRLEVBQUUsQ0FBQztJQUN4QixPQUFPLEdBQXNCLEVBQUUsQ0FBQztJQUN2QixNQUFNLEdBQXdCLEVBQUUsQ0FBQztJQUN6QyxPQUFPLEdBQXdCLEVBQUUsQ0FBQztJQUVyQyxrQ0FBa0M7SUFDbEMsZUFBZTtJQUNmLGdDQUFnQztJQUNoQyxJQUFJO0lBQ0YsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO3VHQXBDVSxhQUFhOzJGQUFiLGFBQWEsK1BDcEMxQixrckVBZ0ZBLDJDRDdESSxZQUFZLG1JQUNaLFVBQVUsaUlBQ1YsZUFBZSw4QkFDZixhQUFhLHFJQUNiLFlBQVksdXBCQUNaLG1CQUFtQiw0eUJBQ25CLGFBQWEsOEJBQ2IsV0FBVyxzUEFDWCxlQUFlLDhCQUNmLGVBQWUsOEJBQ2YsZUFBZSxxSkFDZixZQUFZLGlhQUNaLGdCQUFnQix5SkFDaEIscUJBQXFCOzsyRkFJWixhQUFhO2tCQXJCekIsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIscUJBQXFCO3FCQUN0Qjs4QkFJc0IsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQVlYLE1BQU07c0JBQWYsTUFBTTtnQkFHQyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcsIEZvcm1seUZvcm0sIEZvcm1seUZvcm1PcHRpb25zIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFRvb2xiYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2xiYXInO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgUG9wb3ZlciwgUG9wb3Zlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcG9wb3Zlcic7XG5pbXBvcnQgeyBJbnB1dEljb25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0aWNvbic7XG5pbXBvcnQgeyBJY29uRmllbGRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2ljb25maWVsZCc7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XG5pbXBvcnQgeyBEcmF3ZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RyYXdlcic7XG5pbXBvcnQgeyBJbnB1dEdyb3VwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dGdyb3VwJztcbmltcG9ydCB7IElucHV0R3JvdXBBZGRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRncm91cGFkZG9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdlbmVyaWMtc2VhcmNoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3JtbHlGb3JtLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBUb29sYmFyTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSW5wdXRJY29uTW9kdWxlLFxuICAgIEljb25GaWVsZE1vZHVsZSxcbiAgICBJbnB1dFRleHRNb2R1bGUsXG4gICAgRHJhd2VyTW9kdWxlLFxuICAgIElucHV0R3JvdXBNb2R1bGUsXG4gICAgSW5wdXRHcm91cEFkZG9uTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW5lcmljLXNlYXJjaC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJpY1NlYXJjaCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICBAVmlld0NoaWxkKCdvdmVybGF5Jykgb3ZlcmxheSE6IFBvcG92ZXI7XG4gIHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbmRyYXdlclZpc2libGUgPSBmYWxzZTtcbiAgLy8gQElucHV0KCkgcGxhY2Vob2xkZXIgPSAn2KjYrdirLi4uJztcblxuICAvKipcbiAgICogTGlzdCBvZiBmaWVsZHMgdG8gc2VhcmNoIGJ5XG4gICAqIEV4YW1wbGU6IFt7IGxhYmVsOiAnTmFtZScsIHZhbHVlOiAnbmFtZScgfSwgeyBsYWJlbDogJ0VtYWlsJywgdmFsdWU6ICdlbWFpbCcgfV1cbiAgICovXG5cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIHNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiBASW5wdXQoKSBtb2RlbDogYW55ID0ge307XG4gIG9wdGlvbnM6IEZvcm1seUZvcm1PcHRpb25zID0ge307XG4gIEBJbnB1dCgpIGZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXSA9IFtdO1xuICAgZmllbGRzXzogRm9ybWx5RmllbGRDb25maWdbXSA9IFtdO1xuXG4vLyAgIG9uVG9nZ2xlUG9wb3ZlcihldmVudDogYW55KSB7XG4vLyAgICAgZGVidWdnZXJcbi8vICAgdGhpcy5vdmVybGF5LnRvZ2dsZShldmVudCk7XG4vLyB9XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmllbGRzXyA9IHRoaXMuZmllbGRzO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgdGhpcy5zZWFyY2guZW1pdCh0aGlzLm1vZGVsKTtcbiAgfVxuXG4gIG9uUmVzZXQoKSB7XG4gICAgdGhpcy5tb2RlbCA9IHt9O1xuICAgIHRoaXMuc2VhcmNoLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTMgdy1mdWxsXCI+XHJcbiAgPCEtLSBTZWFyY2ggSW5wdXQgd2l0aCBJY29uIC0tPlxyXG4gIDxwLWlucHV0Z3JvdXAgY2xhc3M9XCJ3LWZ1bGxcIj5cclxuICA8aW5wdXRcclxuICAgIHBJbnB1dFRleHRcclxuICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgIFsobmdNb2RlbCldPVwibW9kZWxbJ2ZpbHRlciddXCJcclxuICAgIHBsYWNlaG9sZGVyPVwie3sgJ1NFQVJDSCcgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgKGtleXVwLmVudGVyKT1cIm9uU3VibWl0KClcIlxyXG4gIC8+XHJcblxyXG5cclxuICA8cC1pbnB1dGdyb3VwLWFkZG9uPlxyXG4gICAgPHAtYnV0dG9uXHJcbiAgICAgIGljb249XCJwaSBwaS1zZWFyY2hcIlxyXG4gICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXHJcbiAgICAgIChjbGljayk9XCJvblN1Ym1pdCgpXCJcclxuICAgID48L3AtYnV0dG9uPlxyXG4gIDwvcC1pbnB1dGdyb3VwLWFkZG9uPlxyXG48cC1pbnB1dGdyb3VwLWFkZG9uPlxyXG4gICAgPHAtYnV0dG9uXHJcbiAgICAgIGljb249XCJwaSBwaS1maWx0ZXJcIlxyXG4gICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXHJcbiAgICAgIChvbkNsaWNrKT1cImRyYXdlclZpc2libGUgPSB0cnVlXCJcclxuICAgID48L3AtYnV0dG9uPlxyXG4gIDwvcC1pbnB1dGdyb3VwLWFkZG9uPlxyXG4gIDxwLWlucHV0Z3JvdXAtYWRkb24gKm5nSWY9XCJtb2RlbFsnZmlsdGVyJ11cIj5cclxuICAgIDxwLWJ1dHRvblxyXG4gICAgICBpY29uPVwicGkgcGktdGltZXNcIlxyXG4gICAgICBzZXZlcml0eT1cImRhbmdlclwiXHJcbiAgICAgIChjbGljayk9XCJtb2RlbFsnZmlsdGVyJ109Jyc7IG9uU3VibWl0KClcIlxyXG4gICAgPjwvcC1idXR0b24+XHJcbiAgPC9wLWlucHV0Z3JvdXAtYWRkb24+XHJcbjwvcC1pbnB1dGdyb3VwPlxyXG5cclxuXHJcbjwvZGl2PlxyXG5cclxuPCEtLSBEcmF3ZXIgZm9yIEFkdmFuY2VkIE11bHRpLWZpZWxkIFNlYXJjaCAtLT5cclxuPHAtZHJhd2VyXHJcbiAgWyh2aXNpYmxlKV09XCJkcmF3ZXJWaXNpYmxlXCJcclxuICBwb3NpdGlvbj1cInJpZ2h0XCJcclxuICBbbW9kYWxdPVwidHJ1ZVwiXHJcbiAgW2Rpc21pc3NpYmxlXT1cInRydWVcIlxyXG4gIHN0eWxlQ2xhc3M9XCJwLTQgdy1mdWxsIG1heC13LW1kIG1heC1oLVs5MHZoXSBmbGV4IGZsZXgtY29sXCJcclxuPlxyXG4gIDwhLS0gRW50aXJlIGZvcm0gd3JhcHBlciAtLT5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGZsZXgtMVwiPlxyXG4gICAgPCEtLSBTY3JvbGxhYmxlIEZvcm0gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIG92ZXJmbG93LWF1dG9cIj5cclxuICAgICAgPGZvcm1seS1mb3JtXHJcbiAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgW2ZpZWxkc109XCJmaWVsZHNfXCJcclxuICAgICAgICBbbW9kZWxdPVwibW9kZWxcIlxyXG4gICAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvZm9ybWx5LWZvcm0+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Zvcm0+XHJcbiAgPCEtLSBBY3Rpb24gQnV0dG9ucyAtLT5cclxuICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktZW5kIG10LTIgc3BhY2UteC0yIGZsZXgtbm9uZVwiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgIChjbGljayk9XCIgb25TdWJtaXQoKTsgZHJhd2VyVmlzaWJsZT1mYWxzZVwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBwQnV0dG9uIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgIGxhYmVsPVwie3sgJ1NFQVJDSCcgfCB0cmFuc2xhdGUgfX1cIj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgcEJ1dHRvblxyXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0XCJcclxuICAgICAgICAoY2xpY2spPVwib25SZXNldCgpOyBkcmF3ZXJWaXNpYmxlPWZhbHNlXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7ICdDTEVBUicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3AtZHJhd2VyPlxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZ2VuZXJpYy1zZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZ2VuZXJpYy1zZWFyY2gvc3JjL2VsaXRlLmZyYW1ld29yay1uZy51aS5jb3JlLWdlbmVyaWMtc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ declare class FormlyUiAllModule {
9
9
  }
10
10
 
11
11
  declare function provideAllFormlyFields(): ConfigOption[];
12
+ declare function withFormlyQueryBuilder(): ConfigOption;
12
13
  declare function withFormlyFieldInputWithIcon(): ConfigOption;
13
14
  declare function withFormlyFieldAttachment(): ConfigOption;
14
15
  declare function withFormlyFieldRichTextEditor(): ConfigOption;
@@ -36,4 +37,4 @@ declare function withFormlyFieldButton(): ConfigOption;
36
37
  declare function withFormlyFieldAvatarImage(): ConfigOption;
37
38
  declare function withFormlyWrappers(): ConfigOption;
38
39
 
39
- export { FormlyUiAllModule, globalGenericSelectorExtension, provideAllFormlyFields, withFormlyFieldAttachment, withFormlyFieldAvatarImage, withFormlyFieldAvatarLabelButton, withFormlyFieldButton, withFormlyFieldButtonSelection, withFormlyFieldClickableLabelType, withFormlyFieldColorPicker, withFormlyFieldColorTag, withFormlyFieldConditionBuilder, withFormlyFieldCustomSwitch, withFormlyFieldFormlyButton, withFormlyFieldFormlySplit, withFormlyFieldGenericSelector, withFormlyFieldIconPicker, withFormlyFieldInputWithIcon, withFormlyFieldLabelType, withFormlyFieldOptionTag, withFormlyFieldRepeat, withFormlyFieldRichTextEditor, withFormlyFieldSwitch, withFormlyFieldTabs, withFormlyFieldTag, withFormlyFieldTemplate, withFormlyFieldUsernameWithDomain, withFormlyWrappers };
40
+ export { FormlyUiAllModule, globalGenericSelectorExtension, provideAllFormlyFields, withFormlyFieldAttachment, withFormlyFieldAvatarImage, withFormlyFieldAvatarLabelButton, withFormlyFieldButton, withFormlyFieldButtonSelection, withFormlyFieldClickableLabelType, withFormlyFieldColorPicker, withFormlyFieldColorTag, withFormlyFieldConditionBuilder, withFormlyFieldCustomSwitch, withFormlyFieldFormlyButton, withFormlyFieldFormlySplit, withFormlyFieldGenericSelector, withFormlyFieldIconPicker, withFormlyFieldInputWithIcon, withFormlyFieldLabelType, withFormlyFieldOptionTag, withFormlyFieldRepeat, withFormlyFieldRichTextEditor, withFormlyFieldSwitch, withFormlyFieldTabs, withFormlyFieldTag, withFormlyFieldTemplate, withFormlyFieldUsernameWithDomain, withFormlyQueryBuilder, withFormlyWrappers };
@@ -0,0 +1,3 @@
1
+ # @elite.framework/ng.ui.core/generic-report
2
+
3
+ Secondary entry point of `@elite.framework/ng.ui.core`. It can be used by importing from `@elite.framework/ng.ui.core/generic-report`.
@@ -0,0 +1,95 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, ElementRef } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { FormGroup } from '@angular/forms';
5
+ import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
6
+ import { DynamicDialogRef, DynamicDialogConfig } from 'primeng/dynamicdialog';
7
+
8
+ declare class GenericReportModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<GenericReportModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<GenericReportModule, never, [typeof i1.CommonModule], never>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<GenericReportModule>;
12
+ }
13
+
14
+ interface ExportConfig {
15
+ columns: {
16
+ [key: string]: string;
17
+ };
18
+ filters: any;
19
+ exportType: ExportType;
20
+ fileName?: string;
21
+ }
22
+ declare enum ExportType {
23
+ LIST = 0,
24
+ HTML = 1,
25
+ PDF = 2,
26
+ EXCEL = 3,
27
+ PRINT = 4
28
+ }
29
+ declare class GenericReportComponent implements OnInit {
30
+ ref: DynamicDialogRef;
31
+ config: DynamicDialogConfig;
32
+ previewContainer: ElementRef;
33
+ filterFields: FormlyFieldConfig[];
34
+ fields_: FormlyFieldConfig[];
35
+ availableColumns: Array<{
36
+ key: string;
37
+ displayName: string;
38
+ selected: boolean;
39
+ customName?: string;
40
+ }>;
41
+ exportType: ExportType;
42
+ fileName: string;
43
+ showFilters: boolean;
44
+ loading: boolean;
45
+ activeTabIndex: number;
46
+ currentDate: Date;
47
+ previewData: any[];
48
+ options: FormlyFormOptions;
49
+ enableQueryBuilder: boolean;
50
+ localExport: boolean;
51
+ queryString: string;
52
+ apiName: string;
53
+ model: any;
54
+ form: FormGroup<{}>;
55
+ exportConfig: ExportConfig;
56
+ exportTypes: {
57
+ value: ExportType;
58
+ label: string;
59
+ icon: string;
60
+ }[];
61
+ private destroy$;
62
+ private translate;
63
+ private restService;
64
+ private queryBuilder;
65
+ constructor(ref: DynamicDialogRef, config: DynamicDialogConfig);
66
+ ngOnInit(): void;
67
+ get filterCount(): any;
68
+ private buildQueryUIFields;
69
+ private initializeComponent;
70
+ private getDefaultFilterFields;
71
+ get selectedColumns(): any[];
72
+ onExportTypeChange(type: ExportType): void;
73
+ onColumnToggle(column: any): void;
74
+ onCustomNameChange(column: any): void;
75
+ selectAllColumns(): void;
76
+ deselectAllColumns(): void;
77
+ generatePreview(): void;
78
+ getPreviewValue(row: any, columnKey: string): string;
79
+ getExportButtonText(): string;
80
+ onSubmit(): void;
81
+ onReset(): void;
82
+ onExport(): void;
83
+ private generateHtmlReport;
84
+ private handleApiExport;
85
+ loadPreviewData(): void;
86
+ private getPreviewColumns;
87
+ private downloadFile;
88
+ private getFileExtension;
89
+ printPreview(): void;
90
+ static ɵfac: i0.ɵɵFactoryDeclaration<GenericReportComponent, never>;
91
+ static ɵcmp: i0.ɵɵComponentDeclaration<GenericReportComponent, "app-report", never, { "filterFields": { "alias": "filterFields"; "required": false; }; "enableQueryBuilder": { "alias": "enableQueryBuilder"; "required": false; }; "localExport": { "alias": "localExport"; "required": false; }; "queryString": { "alias": "queryString"; "required": false; }; "apiName": { "alias": "apiName"; "required": false; }; "model": { "alias": "model"; "required": false; }; }, {}, never, never, true, never>;
92
+ }
93
+
94
+ export { ExportType, GenericReportComponent, GenericReportModule };
95
+ export type { ExportConfig };
@@ -4,7 +4,7 @@ import * as i1 from '@angular/common';
4
4
  import { FormGroup } from '@angular/forms';
5
5
  import { FormlyFormOptions, FormlyFieldConfig, FieldType, FieldTypeConfig } from '@ngx-formly/core';
6
6
  import { TranslateService } from '@ngx-translate/core';
7
- import { Popover } from 'primeng/popover';
7
+ import { QueryParameters } from '@elite.framework/ng.core/services';
8
8
 
9
9
  declare class GenericSearchAdvancedModule {
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<GenericSearchAdvancedModule, never>;
@@ -12,42 +12,13 @@ declare class GenericSearchAdvancedModule {
12
12
  static ɵinj: i0.ɵɵInjectorDeclaration<GenericSearchAdvancedModule>;
13
13
  }
14
14
 
15
- interface ODataQueryParameters {
16
- filters: FilterCondition[];
17
- orderBy: OrderByClause[];
18
- groupBy: string[];
19
- top?: number;
20
- skip?: number;
21
- expand?: string[];
22
- }
23
- interface FilterCondition {
24
- field: string;
25
- operator: string;
26
- value: any;
27
- logicalOperator?: string;
28
- }
29
- interface OrderByClause {
30
- field: string;
31
- direction: string;
32
- }
33
- interface QueryBuilderField {
34
- key: string | any;
35
- label: string | any;
36
- type: string | any;
37
- operators: string[];
38
- }
39
- interface SortBuilderField {
40
- key: string;
41
- label: string;
42
- }
43
-
44
15
  declare class GenericSearchAdvanced implements OnInit {
45
- overlay: Popover;
46
16
  translate: TranslateService;
47
17
  private queryBuilder;
48
18
  drawerVisible: boolean;
49
19
  search: EventEmitter<any>;
50
- odataSearch: EventEmitter<ODataQueryParameters>;
20
+ paginationChange: EventEmitter<any>;
21
+ odataSearch: EventEmitter<QueryParameters>;
51
22
  form: FormGroup<{}>;
52
23
  model: any;
53
24
  options: FormlyFormOptions;
@@ -56,26 +27,51 @@ declare class GenericSearchAdvanced implements OnInit {
56
27
  enableQueryBuilder: boolean;
57
28
  odataConfig: any;
58
29
  ngOnInit(): void;
30
+ get filterCount(): any;
59
31
  private buildQueryUIFields;
60
32
  onSubmit(): void;
61
33
  onReset(): void;
62
- private buildODataQueryParameters;
63
- private processComplexField;
34
+ toggleDrawer(): void;
35
+ closeDrawer(): void;
64
36
  static ɵfac: i0.ɵɵFactoryDeclaration<GenericSearchAdvanced, never>;
65
- static ɵcmp: i0.ɵɵComponentDeclaration<GenericSearchAdvanced, "lib-generic-search-advanced", never, { "model": { "alias": "model"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "enableQueryBuilder": { "alias": "enableQueryBuilder"; "required": false; }; "odataConfig": { "alias": "odataConfig"; "required": false; }; }, { "search": "search"; "odataSearch": "odataSearch"; }, never, never, true, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<GenericSearchAdvanced, "lib-generic-search-advanced", never, { "model": { "alias": "model"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "enableQueryBuilder": { "alias": "enableQueryBuilder"; "required": false; }; "odataConfig": { "alias": "odataConfig"; "required": false; }; }, { "search": "search"; "paginationChange": "paginationChange"; "odataSearch": "odataSearch"; }, never, never, true, never>;
38
+ }
39
+
40
+ interface QueryBuilderField {
41
+ key: string;
42
+ label: string;
43
+ type: string;
44
+ operators: string[];
45
+ props?: any;
46
+ defaultOperator?: string;
47
+ defaultValue?: any;
48
+ }
49
+ interface SortBuilderField {
50
+ key: string;
51
+ label: string;
66
52
  }
67
53
 
68
54
  declare class QueryBuilderService {
55
+ translate: TranslateService;
56
+ private fieldTypeConfig;
69
57
  buildQueryUIFields(fields: FormlyFieldConfig[]): FormlyFieldConfig[];
58
+ private getQueryTabs;
59
+ private getFilterTabFields;
60
+ private getSortingTabFields;
61
+ private getPaginationTabFields;
62
+ private getFilterCount;
70
63
  private extractFilterableFields;
71
64
  private extractSortableFields;
72
65
  private extractExpandableFields;
73
66
  private traverseFields;
74
67
  private mapFieldType;
75
68
  private getOperatorsForType;
76
- buildODataFromQueryModel(model: any, originalFields: FormlyFieldConfig[]): ODataQueryParameters;
77
- toODataQueryString(params: ODataQueryParameters): string;
78
- private formatODataValue;
69
+ buildODataFromQueryModel(model: any, originalFields: FormlyFieldConfig[]): QueryParameters;
70
+ toODataQueryString(params: QueryParameters): string;
71
+ parseODataQuery(queryString: string): QueryParameters;
72
+ parseODataToQueryModel(queryString: string, originalFields: FormlyFieldConfig[]): any;
73
+ buildODataQueryString(model: any, originalFields: FormlyFieldConfig[]): string;
74
+ getFieldConfig(fieldKey: string, fields: QueryBuilderField[]): any;
79
75
  static ɵfac: i0.ɵɵFactoryDeclaration<QueryBuilderService, never>;
80
76
  static ɵprov: i0.ɵɵInjectableDeclaration<QueryBuilderService>;
81
77
  }
@@ -86,29 +82,116 @@ declare class SortBuilderComponent extends FieldType<FieldTypeConfig> {
86
82
  label: string;
87
83
  value: string;
88
84
  }[];
85
+ private dragStartIndex;
89
86
  ngOnInit(): void;
90
87
  addSort(): void;
91
88
  removeSort(index: number): void;
89
+ moveSort(fromIndex: number, toIndex: number): void;
90
+ onDragStart(index: number): void;
91
+ onDrop(event: any, dropIndex: number): void;
92
+ reverseSorts(): void;
93
+ clearAll(): void;
94
+ getAvailableFields(currentField: string): any;
95
+ getFieldLabel(fieldKey: string): string;
96
+ getDirectionIcon(direction: string): string;
97
+ getDirectionColor(direction: string): string;
92
98
  updateValue(): void;
99
+ get isLast(): boolean;
100
+ getSortConfiguration(): any[];
101
+ loadSortConfiguration(sortConfig: any[]): void;
102
+ isFieldUsed(fieldKey: string): boolean;
103
+ getNextAvailableField(): string;
93
104
  static ɵfac: i0.ɵɵFactoryDeclaration<SortBuilderComponent, never>;
94
105
  static ɵcmp: i0.ɵɵComponentDeclaration<SortBuilderComponent, "formly-sort-builder", never, {}, {}, never, never, true, never>;
95
106
  }
96
107
 
97
- declare class QueryBuilderComponent extends FieldType<FieldTypeConfig> {
98
- conditions: any[];
108
+ declare class QueryBuilderComponent extends FieldType<FieldTypeConfig> implements OnInit {
109
+ private queryBuilderService;
110
+ private cdr;
111
+ private translate;
112
+ groups: any[];
113
+ logicalOperators: {
114
+ label: any;
115
+ value: string;
116
+ }[];
117
+ onAndClick(group: any, event: any): void;
118
+ onOrClick(group: any, event: any): void;
99
119
  ngOnInit(): void;
100
- addCondition(): void;
101
- removeCondition(index: number): void;
102
- onFieldChange(condition: any): void;
103
- updateValue(): void;
104
- getOperatorsForField(fieldKey: string): any[];
105
- getOperatorLabel(operator: string): string;
120
+ getLogicalOperatorText(operator: string): string;
121
+ private initializeDefaultConditions;
122
+ private getDefaultFields;
123
+ private isSupportedFieldType;
124
+ getFieldLabel(key: string): string;
125
+ private createDefaultCondition;
126
+ private initializeConditionsWithFieldConfigs;
106
127
  getFieldType(fieldKey: string): string;
107
- getInputType(fieldKey: string): string;
108
- getValuePlaceholder(fieldKey: string): string;
128
+ getOperatorsForField(fieldKey: string): any[];
129
+ getOperatorLabel(operator: string): {
130
+ label: string;
131
+ icon: string;
132
+ };
133
+ getDefaultOperator(fieldType: string): string;
134
+ getDefaultValue(fieldType: string): any;
135
+ getFieldProps(fieldKey: string): any;
136
+ private generateValueFieldConfig;
137
+ getConditionValueKey(groupIndex: number, conditionIndex: number): string;
138
+ addGroup(): void;
139
+ removeGroup(groupIndex: number): void;
140
+ addCondition(groupIndex?: number): void;
141
+ onFieldChange(condition: any, groupIndex: number, conditionIndex: number): void;
142
+ addConditionToLastGroup(): void;
143
+ removeCondition(groupIndex: number, conditionIndex: number): void;
144
+ updateValue(): void;
145
+ clearAll(): void;
146
+ getQueryStructure(): any;
147
+ loadQueryStructure(queryStructure: any[]): void;
109
148
  static ɵfac: i0.ɵɵFactoryDeclaration<QueryBuilderComponent, never>;
110
149
  static ɵcmp: i0.ɵɵComponentDeclaration<QueryBuilderComponent, "formly-query-builder", never, {}, {}, never, never, true, never>;
111
150
  }
112
151
 
113
- export { GenericSearchAdvanced, GenericSearchAdvancedModule, QueryBuilderComponent, QueryBuilderService, SortBuilderComponent };
114
- export type { FilterCondition, ODataQueryParameters, OrderByClause, QueryBuilderField, SortBuilderField };
152
+ declare class TabTypeComponent extends FieldType<FormlyFieldConfig> {
153
+ activeTabValue: string;
154
+ ngOnInit(): void;
155
+ resolveBadge(tab: FormlyFieldConfig): any;
156
+ onTabChange(newValue: any): void;
157
+ static ɵfac: i0.ɵɵFactoryDeclaration<TabTypeComponent, never>;
158
+ static ɵcmp: i0.ɵɵComponentDeclaration<TabTypeComponent, "formly-tab-type", never, {}, {}, never, never, true, never>;
159
+ }
160
+
161
+ interface GroupTypeProps {
162
+ label?: string;
163
+ description?: string;
164
+ collapsible?: boolean;
165
+ collapsedByDefault?: boolean;
166
+ showFieldCount?: boolean;
167
+ showDescription?: boolean;
168
+ showSummary?: boolean;
169
+ showValidation?: boolean;
170
+ compact?: boolean;
171
+ variant?: 'default' | 'card' | 'bordered' | 'transparent';
172
+ columns?: number;
173
+ gap?: 'none' | 'small' | 'normal' | 'large';
174
+ actions?: {
175
+ icon: string;
176
+ tooltip: string;
177
+ styleClass?: string;
178
+ handler?: (field: FormlyFieldConfig, form: any, component: any) => void;
179
+ }[];
180
+ }
181
+ declare class GroupTypeComponent extends FieldType<FormlyFieldConfig<GroupTypeProps>> {
182
+ collapsed: boolean;
183
+ get showValidation(): boolean;
184
+ get validationIcon(): "pi pi-check-circle text-green-500" | "pi pi-exclamation-circle text-red-500" | "pi pi-circle text-500";
185
+ get validationText(): "جميع الحقول صالحة" | "هناك أخطاء في بعض الحقول";
186
+ get groupClass(): any;
187
+ get gridClass(): string;
188
+ toggle(): void;
189
+ isRequired(): boolean;
190
+ static ɵfac: i0.ɵɵFactoryDeclaration<GroupTypeComponent, never>;
191
+ static ɵcmp: i0.ɵɵComponentDeclaration<GroupTypeComponent, "formly-group-type", never, {}, {}, never, never, true, never>;
192
+ }
193
+
194
+ declare const formlyConfig: i0.Provider;
195
+
196
+ export { GenericSearchAdvanced, GenericSearchAdvancedModule, GroupTypeComponent, QueryBuilderComponent, QueryBuilderService, SortBuilderComponent, TabTypeComponent, formlyConfig };
197
+ export type { GroupTypeProps, QueryBuilderField, SortBuilderField };