@es.framework/ng.ui.core 2.0.58
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 +3 -0
- package/attachments/README.md +3 -0
- package/base-crud/README.md +3 -0
- package/breadcrumb/README.md +3 -0
- package/checkbox/README.md +3 -0
- package/collapsible/README.md +3 -0
- package/color-picker/README.md +3 -0
- package/column-settings-popover/README.md +3 -0
- package/custom-switch/README.md +3 -0
- package/datepicker/README.md +3 -0
- package/deactivation-reason/README.md +3 -0
- package/excel-import/README.md +3 -0
- package/fesm2022/es.framework-ng.ui.core-attachments.mjs +217 -0
- package/fesm2022/es.framework-ng.ui.core-attachments.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-base-crud.mjs +370 -0
- package/fesm2022/es.framework-ng.ui.core-base-crud.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-breadcrumb.mjs +145 -0
- package/fesm2022/es.framework-ng.ui.core-breadcrumb.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-checkbox.mjs +131 -0
- package/fesm2022/es.framework-ng.ui.core-checkbox.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-collapsible.mjs +90 -0
- package/fesm2022/es.framework-ng.ui.core-collapsible.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-color-picker.mjs +87 -0
- package/fesm2022/es.framework-ng.ui.core-color-picker.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-column-settings-popover.mjs +183 -0
- package/fesm2022/es.framework-ng.ui.core-column-settings-popover.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-custom-switch.mjs +119 -0
- package/fesm2022/es.framework-ng.ui.core-custom-switch.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-datepicker.mjs +519 -0
- package/fesm2022/es.framework-ng.ui.core-datepicker.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-deactivation-reason.mjs +144 -0
- package/fesm2022/es.framework-ng.ui.core-deactivation-reason.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-excel-import.mjs +566 -0
- package/fesm2022/es.framework-ng.ui.core-excel-import.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-filter-templates.mjs +386 -0
- package/fesm2022/es.framework-ng.ui.core-filter-templates.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-form-button.mjs +62 -0
- package/fesm2022/es.framework-ng.ui.core-form-button.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-form-field.mjs +155 -0
- package/fesm2022/es.framework-ng.ui.core-form-field.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-form-template.mjs +37 -0
- package/fesm2022/es.framework-ng.ui.core-form-template.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-avatar-image.mjs +132 -0
- package/fesm2022/es.framework-ng.ui.core-formly-avatar-image.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-avatar-label.mjs +89 -0
- package/fesm2022/es.framework-ng.ui.core-formly-avatar-label.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-button-selector.mjs +195 -0
- package/fesm2022/es.framework-ng.ui.core-formly-button-selector.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-button.mjs +73 -0
- package/fesm2022/es.framework-ng.ui.core-formly-button.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-presets.mjs +201 -0
- package/fesm2022/es.framework-ng.ui.core-formly-presets.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-prime-icon-picker.mjs +542 -0
- package/fesm2022/es.framework-ng.ui.core-formly-prime-icon-picker.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-split-button.mjs +62 -0
- package/fesm2022/es.framework-ng.ui.core-formly-split-button.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-ui-all.mjs +422 -0
- package/fesm2022/es.framework-ng.ui.core-formly-ui-all.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-ui.mjs +48 -0
- package/fesm2022/es.framework-ng.ui.core-formly-ui.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-username-with-domain.mjs +85 -0
- package/fesm2022/es.framework-ng.ui.core-formly-username-with-domain.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-assets.mjs +22 -0
- package/fesm2022/es.framework-ng.ui.core-generic-assets.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-autocomplete.mjs +173 -0
- package/fesm2022/es.framework-ng.ui.core-generic-autocomplete.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-button.mjs +150 -0
- package/fesm2022/es.framework-ng.ui.core-generic-button.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-card.mjs +218 -0
- package/fesm2022/es.framework-ng.ui.core-generic-card.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-crud-table.mjs +929 -0
- package/fesm2022/es.framework-ng.ui.core-generic-crud-table.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-dialog.mjs +321 -0
- package/fesm2022/es.framework-ng.ui.core-generic-dialog.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-errormessage.mjs +35 -0
- package/fesm2022/es.framework-ng.ui.core-generic-errormessage.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-formly-fields.mjs +63 -0
- package/fesm2022/es.framework-ng.ui.core-generic-formly-fields.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-loadingspinner.mjs +34 -0
- package/fesm2022/es.framework-ng.ui.core-generic-loadingspinner.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-report-tabs.mjs +196 -0
- package/fesm2022/es.framework-ng.ui.core-generic-report-tabs.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-report.mjs +556 -0
- package/fesm2022/es.framework-ng.ui.core-generic-report.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-search-advanced.mjs +2995 -0
- package/fesm2022/es.framework-ng.ui.core-generic-search-advanced.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-search.mjs +103 -0
- package/fesm2022/es.framework-ng.ui.core-generic-search.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-selector.mjs +684 -0
- package/fesm2022/es.framework-ng.ui.core-generic-selector.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-table.mjs +388 -0
- package/fesm2022/es.framework-ng.ui.core-generic-table.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-view.mjs +465 -0
- package/fesm2022/es.framework-ng.ui.core-generic-view.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-header-wrapper.mjs +31 -0
- package/fesm2022/es.framework-ng.ui.core-header-wrapper.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-icon-picker.mjs +205 -0
- package/fesm2022/es.framework-ng.ui.core-icon-picker.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-input-switch.mjs +102 -0
- package/fesm2022/es.framework-ng.ui.core-input-switch.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-input-with-icon.mjs +67 -0
- package/fesm2022/es.framework-ng.ui.core-input-with-icon.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-input.mjs +250 -0
- package/fesm2022/es.framework-ng.ui.core-input.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-label-type.mjs +184 -0
- package/fesm2022/es.framework-ng.ui.core-label-type.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-loading-skeletons.mjs +66 -0
- package/fesm2022/es.framework-ng.ui.core-loading-skeletons.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-odata-query-builder.mjs +307 -0
- package/fesm2022/es.framework-ng.ui.core-odata-query-builder.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-query-type.mjs +162 -0
- package/fesm2022/es.framework-ng.ui.core-query-type.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-radio.mjs +120 -0
- package/fesm2022/es.framework-ng.ui.core-radio.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-repeat.mjs +290 -0
- package/fesm2022/es.framework-ng.ui.core-repeat.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-select.mjs +179 -0
- package/fesm2022/es.framework-ng.ui.core-select.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-sidebar-cards.mjs +52 -0
- package/fesm2022/es.framework-ng.ui.core-sidebar-cards.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-sidebar-toggles.mjs +53 -0
- package/fesm2022/es.framework-ng.ui.core-sidebar-toggles.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-tabs.mjs +57 -0
- package/fesm2022/es.framework-ng.ui.core-tabs.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-tag-type.mjs +209 -0
- package/fesm2022/es.framework-ng.ui.core-tag-type.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-text-editor.mjs +58 -0
- package/fesm2022/es.framework-ng.ui.core-text-editor.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-textarea.mjs +93 -0
- package/fesm2022/es.framework-ng.ui.core-textarea.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-wrappers.mjs +245 -0
- package/fesm2022/es.framework-ng.ui.core-wrappers.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core.mjs +20 -0
- package/fesm2022/es.framework-ng.ui.core.mjs.map +1 -0
- package/filter-templates/README.md +3 -0
- package/form-button/README.md +3 -0
- package/form-field/README.md +3 -0
- package/form-template/README.md +3 -0
- package/formly-avatar-image/README.md +3 -0
- package/formly-avatar-label/README.md +3 -0
- package/formly-button/README.md +3 -0
- package/formly-button-selector/README.md +3 -0
- package/formly-presets/README.md +3 -0
- package/formly-prime-icon-picker/README.md +3 -0
- package/formly-split-button/README.md +3 -0
- package/formly-ui/README.md +3 -0
- package/formly-ui-all/README.md +3 -0
- package/formly-username-with-domain/README.md +3 -0
- package/generic-assets/README.md +3 -0
- package/generic-autocomplete/README.md +3 -0
- package/generic-button/README.md +3 -0
- package/generic-card/README.md +3 -0
- package/generic-crud-table/README.md +3 -0
- package/generic-dialog/README.md +3 -0
- package/generic-errormessage/README.md +3 -0
- package/generic-formly-fields/README.md +3 -0
- package/generic-loadingspinner/README.md +3 -0
- package/generic-report/README.md +3 -0
- package/generic-report-tabs/README.md +0 -0
- package/generic-search/README.md +3 -0
- package/generic-search-advanced/README.md +3 -0
- package/generic-selector/README.md +3 -0
- package/generic-table/README.md +3 -0
- package/generic-view/README.md +3 -0
- package/header-wrapper/README.md +3 -0
- package/icon-picker/README.md +3 -0
- package/input/README.md +3 -0
- package/input-switch/README.md +3 -0
- package/input-with-icon/README.md +3 -0
- package/label-type/README.md +3 -0
- package/loading-skeletons/README.md +3 -0
- package/odata-query-builder/README.md +3 -0
- package/package.json +264 -0
- package/query-type/README.md +3 -0
- package/radio/README.md +3 -0
- package/repeat/README.md +3 -0
- package/select/README.md +3 -0
- package/sidebar-cards/README.md +3 -0
- package/sidebar-toggles/README.md +3 -0
- package/styles.css +2 -0
- package/tabs/README.md +3 -0
- package/tag-type/README.md +3 -0
- package/text-editor/README.md +3 -0
- package/textarea/README.md +3 -0
- package/types/es.framework-ng.ui.core-attachments.d.ts +38 -0
- package/types/es.framework-ng.ui.core-base-crud.d.ts +74 -0
- package/types/es.framework-ng.ui.core-breadcrumb.d.ts +17 -0
- package/types/es.framework-ng.ui.core-checkbox.d.ts +33 -0
- package/types/es.framework-ng.ui.core-collapsible.d.ts +18 -0
- package/types/es.framework-ng.ui.core-color-picker.d.ts +16 -0
- package/types/es.framework-ng.ui.core-column-settings-popover.d.ts +46 -0
- package/types/es.framework-ng.ui.core-custom-switch.d.ts +19 -0
- package/types/es.framework-ng.ui.core-datepicker.d.ts +23 -0
- package/types/es.framework-ng.ui.core-deactivation-reason.d.ts +32 -0
- package/types/es.framework-ng.ui.core-excel-import.d.ts +69 -0
- package/types/es.framework-ng.ui.core-filter-templates.d.ts +57 -0
- package/types/es.framework-ng.ui.core-form-button.d.ts +17 -0
- package/types/es.framework-ng.ui.core-form-field.d.ts +30 -0
- package/types/es.framework-ng.ui.core-form-template.d.ts +16 -0
- package/types/es.framework-ng.ui.core-formly-avatar-image.d.ts +18 -0
- package/types/es.framework-ng.ui.core-formly-avatar-label.d.ts +36 -0
- package/types/es.framework-ng.ui.core-formly-button-selector.d.ts +35 -0
- package/types/es.framework-ng.ui.core-formly-button.d.ts +20 -0
- package/types/es.framework-ng.ui.core-formly-presets.d.ts +37 -0
- package/types/es.framework-ng.ui.core-formly-prime-icon-picker.d.ts +45 -0
- package/types/es.framework-ng.ui.core-formly-split-button.d.ts +23 -0
- package/types/es.framework-ng.ui.core-formly-ui-all.d.ts +40 -0
- package/types/es.framework-ng.ui.core-formly-ui.d.ts +13 -0
- package/types/es.framework-ng.ui.core-formly-username-with-domain.d.ts +19 -0
- package/types/es.framework-ng.ui.core-generic-assets.d.ts +10 -0
- package/types/es.framework-ng.ui.core-generic-autocomplete.d.ts +41 -0
- package/types/es.framework-ng.ui.core-generic-button.d.ts +39 -0
- package/types/es.framework-ng.ui.core-generic-card.d.ts +93 -0
- package/types/es.framework-ng.ui.core-generic-crud-table.d.ts +293 -0
- package/types/es.framework-ng.ui.core-generic-dialog.d.ts +93 -0
- package/types/es.framework-ng.ui.core-generic-errormessage.d.ts +17 -0
- package/types/es.framework-ng.ui.core-generic-formly-fields.d.ts +26 -0
- package/types/es.framework-ng.ui.core-generic-loadingspinner.d.ts +16 -0
- package/types/es.framework-ng.ui.core-generic-report-tabs.d.ts +21 -0
- package/types/es.framework-ng.ui.core-generic-report.d.ts +121 -0
- package/types/es.framework-ng.ui.core-generic-search-advanced.d.ts +305 -0
- package/types/es.framework-ng.ui.core-generic-search.d.ts +36 -0
- package/types/es.framework-ng.ui.core-generic-selector.d.ts +99 -0
- package/types/es.framework-ng.ui.core-generic-table.d.ts +84 -0
- package/types/es.framework-ng.ui.core-generic-view.d.ts +97 -0
- package/types/es.framework-ng.ui.core-header-wrapper.d.ts +15 -0
- package/types/es.framework-ng.ui.core-icon-picker.d.ts +30 -0
- package/types/es.framework-ng.ui.core-input-switch.d.ts +16 -0
- package/types/es.framework-ng.ui.core-input-with-icon.d.ts +17 -0
- package/types/es.framework-ng.ui.core-input.d.ts +47 -0
- package/types/es.framework-ng.ui.core-label-type.d.ts +38 -0
- package/types/es.framework-ng.ui.core-loading-skeletons.d.ts +17 -0
- package/types/es.framework-ng.ui.core-odata-query-builder.d.ts +87 -0
- package/types/es.framework-ng.ui.core-query-type.d.ts +37 -0
- package/types/es.framework-ng.ui.core-radio.d.ts +38 -0
- package/types/es.framework-ng.ui.core-repeat.d.ts +31 -0
- package/types/es.framework-ng.ui.core-select.d.ts +42 -0
- package/types/es.framework-ng.ui.core-sidebar-cards.d.ts +25 -0
- package/types/es.framework-ng.ui.core-sidebar-toggles.d.ts +25 -0
- package/types/es.framework-ng.ui.core-tabs.d.ts +17 -0
- package/types/es.framework-ng.ui.core-tag-type.d.ts +34 -0
- package/types/es.framework-ng.ui.core-text-editor.d.ts +16 -0
- package/types/es.framework-ng.ui.core-textarea.d.ts +36 -0
- package/types/es.framework-ng.ui.core-wrappers.d.ts +36 -0
- package/types/es.framework-ng.ui.core.d.ts +8 -0
- package/wrappers/README.md +3 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, EventEmitter } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { AutoComplete } from 'primeng/autocomplete';
|
|
5
|
+
import { BaseService } from '@es.framework/ng.core/services';
|
|
6
|
+
|
|
7
|
+
declare class GenericAutocompleteModule {
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericAutocompleteModule, never>;
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericAutocompleteModule, never, [typeof i1.CommonModule], never>;
|
|
10
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericAutocompleteModule>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare class GenericAutocompleteComponent implements OnInit {
|
|
14
|
+
private svc;
|
|
15
|
+
autoComp: AutoComplete;
|
|
16
|
+
serviceName: string;
|
|
17
|
+
listEndpoint?: string;
|
|
18
|
+
labelField?: string;
|
|
19
|
+
valueField?: string;
|
|
20
|
+
multiple: boolean;
|
|
21
|
+
placeholder?: string;
|
|
22
|
+
fixedFilters?: Record<string, any>;
|
|
23
|
+
value: any;
|
|
24
|
+
loadOnInit: boolean;
|
|
25
|
+
selectionChange: EventEmitter<any>;
|
|
26
|
+
options_: any[];
|
|
27
|
+
selectedItem: any;
|
|
28
|
+
loading: boolean;
|
|
29
|
+
api: BaseService;
|
|
30
|
+
constructor(svc: BaseService);
|
|
31
|
+
ngOnInit(): void;
|
|
32
|
+
onSelectionChange(val: any): void;
|
|
33
|
+
search(event: {
|
|
34
|
+
query: string;
|
|
35
|
+
}): void;
|
|
36
|
+
getEmptyMessage(): string;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericAutocompleteComponent, never>;
|
|
38
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericAutocompleteComponent, "app-generic-autocomplete", never, { "serviceName": { "alias": "serviceName"; "required": false; }; "listEndpoint": { "alias": "listEndpoint"; "required": false; }; "labelField": { "alias": "labelField"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "fixedFilters": { "alias": "fixedFilters"; "required": false; }; "value": { "alias": "value"; "required": false; }; "loadOnInit": { "alias": "loadOnInit"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { GenericAutocompleteComponent, GenericAutocompleteModule };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { MenuItem } from 'primeng/api';
|
|
5
|
+
import { ButtonVariant, ButtonSeverity, ButtonSize, IconPosition } from '@es.framework/ng.core/models';
|
|
6
|
+
|
|
7
|
+
declare class GenericButtonModule {
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericButtonModule, never>;
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericButtonModule, never, [typeof i1.CommonModule], never>;
|
|
10
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericButtonModule>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare class GenericButton {
|
|
14
|
+
model?: MenuItem[];
|
|
15
|
+
type: 'button' | 'submit' | 'reset';
|
|
16
|
+
icon: string;
|
|
17
|
+
label: string;
|
|
18
|
+
variant: ButtonVariant;
|
|
19
|
+
severity: ButtonSeverity;
|
|
20
|
+
size: ButtonSize;
|
|
21
|
+
iconPosition: IconPosition;
|
|
22
|
+
disabled: boolean;
|
|
23
|
+
loading: boolean;
|
|
24
|
+
ariaLabel?: string;
|
|
25
|
+
extraClasses: string;
|
|
26
|
+
permission?: string;
|
|
27
|
+
clicked: EventEmitter<void>;
|
|
28
|
+
itemClick: EventEmitter<any>;
|
|
29
|
+
private sizeMap;
|
|
30
|
+
private colorMap;
|
|
31
|
+
private outlinedMap;
|
|
32
|
+
get twClasses(): string;
|
|
33
|
+
onClick(): void;
|
|
34
|
+
onItemClick(evt: any): void;
|
|
35
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericButton, never>;
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericButton, "lib-generic-button", never, { "model": { "alias": "model"; "required": false; }; "type": { "alias": "type"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "label": { "alias": "label"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "severity": { "alias": "severity"; "required": false; }; "size": { "alias": "size"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "extraClasses": { "alias": "extraClasses"; "required": false; }; "permission": { "alias": "permission"; "required": false; }; }, { "clicked": "clicked"; "itemClick": "itemClick"; }, never, ["*"], true, never>;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { GenericButton, GenericButtonModule };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { ColumnDef, ActionDef } from '@es.framework/ng.core/models';
|
|
5
|
+
import { MenuItem } from 'primeng/api';
|
|
6
|
+
|
|
7
|
+
declare class GenericCardModule {
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericCardModule, never>;
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericCardModule, never, [typeof i1.CommonModule], never>;
|
|
10
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericCardModule>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare class GenericCard<T extends {
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
}> {
|
|
16
|
+
data: T[];
|
|
17
|
+
columns: ColumnDef<T>[];
|
|
18
|
+
loading: boolean;
|
|
19
|
+
actions: ActionDef<T>[];
|
|
20
|
+
actionsMode: 'buttons' | 'menu';
|
|
21
|
+
showOperations: boolean;
|
|
22
|
+
rowSelectable: boolean;
|
|
23
|
+
showRowSelectionCheckbox: boolean;
|
|
24
|
+
paginator: boolean;
|
|
25
|
+
rowClassFn: (rowData: any) => string;
|
|
26
|
+
action: EventEmitter<{
|
|
27
|
+
name: string;
|
|
28
|
+
row: T;
|
|
29
|
+
}>;
|
|
30
|
+
_selection: T | T[] | null;
|
|
31
|
+
get selection(): T | T[] | null;
|
|
32
|
+
set selection(val: T | T[] | null);
|
|
33
|
+
selectionChange: EventEmitter<T | T[] | null>;
|
|
34
|
+
rowSelect: EventEmitter<T>;
|
|
35
|
+
/**
|
|
36
|
+
* Generates menu items for the action menu.
|
|
37
|
+
* @param row The data row for which to generate actions.
|
|
38
|
+
* @returns An array of PrimeNG MenuItem objects.
|
|
39
|
+
*/
|
|
40
|
+
getMenuItems(row: T): MenuItem[];
|
|
41
|
+
/**
|
|
42
|
+
* Handles click events on a clickable cell.
|
|
43
|
+
* @param col The ColumnDef of the clicked column.
|
|
44
|
+
* @param rowData The data row of the clicked cell.
|
|
45
|
+
* @param event The mouse event.
|
|
46
|
+
*/
|
|
47
|
+
handleCellClick(col: ColumnDef<any>, rowData: any, event: MouseEvent): void;
|
|
48
|
+
/**
|
|
49
|
+
* Handles mouse enter events on a hoverable cell.
|
|
50
|
+
* @param col The ColumnDef of the hovered column.
|
|
51
|
+
* @param rowData The data row of the hovered cell.
|
|
52
|
+
* @param event The mouse event.
|
|
53
|
+
*/
|
|
54
|
+
onCellHover(col: ColumnDef<T>, row: T, event: MouseEvent): void;
|
|
55
|
+
/**
|
|
56
|
+
* Handles mouse leave events on a hoverable cell.
|
|
57
|
+
* @param col The ColumnDef of the hovered column.
|
|
58
|
+
* @param rowData The data row of the hovered cell.
|
|
59
|
+
* @param event The mouse event.
|
|
60
|
+
*/
|
|
61
|
+
onCellLeave(col: ColumnDef<T>, row: T, event: MouseEvent): void;
|
|
62
|
+
/**
|
|
63
|
+
* Handles click on the entire card for row selection (if not using checkboxes).
|
|
64
|
+
* @param item The data item associated with the clicked card.
|
|
65
|
+
*/
|
|
66
|
+
handleCardClick(item: T): void;
|
|
67
|
+
/**
|
|
68
|
+
* Checks if an item is currently selected.
|
|
69
|
+
* Used for checkbox binding.
|
|
70
|
+
* @param item The item to check.
|
|
71
|
+
* @returns True if the item is selected, false otherwise.
|
|
72
|
+
*/
|
|
73
|
+
isItemSelected(item: T): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Toggles the selection state of an item.
|
|
76
|
+
* Used when a checkbox is clicked.
|
|
77
|
+
* @param item The item to toggle.
|
|
78
|
+
* @param event The change event from the checkbox.
|
|
79
|
+
*/
|
|
80
|
+
toggleItemSelection(item: T, event: Event): void;
|
|
81
|
+
/**
|
|
82
|
+
* Used by *ngFor to optimize rendering.
|
|
83
|
+
* Assumes each item has a unique 'id' property.
|
|
84
|
+
* @param index The index of the item.
|
|
85
|
+
* @param item The data item.
|
|
86
|
+
* @returns The unique identifier of the item.
|
|
87
|
+
*/
|
|
88
|
+
trackById(index: number, item: T): any;
|
|
89
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericCard<any>, never>;
|
|
90
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericCard<any>, "lib-generic-card", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "actionsMode": { "alias": "actionsMode"; "required": false; }; "showOperations": { "alias": "showOperations"; "required": false; }; "rowSelectable": { "alias": "rowSelectable"; "required": false; }; "showRowSelectionCheckbox": { "alias": "showRowSelectionCheckbox"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "rowClassFn": { "alias": "rowClassFn"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; }, { "action": "action"; "selectionChange": "selectionChange"; "rowSelect": "rowSelect"; }, never, never, true, never>;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export { GenericCard, GenericCardModule };
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, EventEmitter } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import * as i2 from '@es.framework/ng.ui.core/generic-button';
|
|
5
|
+
import { PaginatorState } from 'primeng/paginator';
|
|
6
|
+
import { TableLazyLoadEvent } from 'primeng/table';
|
|
7
|
+
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
|
|
8
|
+
import { MenuItem } from 'primeng/api';
|
|
9
|
+
import { UntypedFormGroup } from '@angular/forms';
|
|
10
|
+
import { LocalizationService, BaseService } from '@es.framework/ng.core/services';
|
|
11
|
+
import { ActionDef, ButtonConfig } from '@es.framework/ng.core/models';
|
|
12
|
+
import { GenericTable } from '@es.framework/ng.ui.core/generic-table';
|
|
13
|
+
import { GenericDialogComponent } from '@es.framework/ng.ui.core/generic-dialog';
|
|
14
|
+
import { DetailTab } from '@es.framework/ng.ui.core/generic-view';
|
|
15
|
+
import { DialogService } from 'primeng/dynamicdialog';
|
|
16
|
+
|
|
17
|
+
declare class GenericCrudTableModule {
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericCrudTableModule, never>;
|
|
19
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericCrudTableModule, never, [typeof i1.CommonModule, typeof i2.GenericButtonModule], never>;
|
|
20
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericCrudTableModule>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface PageChangePayload extends PaginatorState {
|
|
24
|
+
sort?: string;
|
|
25
|
+
filters?: Record<string, any>;
|
|
26
|
+
}
|
|
27
|
+
type ActionsMode = 'buttons' | 'menu';
|
|
28
|
+
/**
|
|
29
|
+
* مكون جدول CRUD عام يمكن إعادة استخدامه
|
|
30
|
+
* يدعم العمليات الأساسية: إنشاء، قراءة، تحديث، حذف
|
|
31
|
+
* مع إمكانية التخصيص عبر عدة أوضاع وعرض
|
|
32
|
+
*/
|
|
33
|
+
declare class GenericCrudTableComponent<T> implements OnInit {
|
|
34
|
+
genericTable: GenericTable<T>;
|
|
35
|
+
dialog: GenericDialogComponent;
|
|
36
|
+
translate: LocalizationService;
|
|
37
|
+
private swalService;
|
|
38
|
+
private queryBuilder;
|
|
39
|
+
private dialogService;
|
|
40
|
+
home: MenuItem | undefined;
|
|
41
|
+
data: T[];
|
|
42
|
+
formFields_: FormlyFieldConfig[];
|
|
43
|
+
formFields: FormlyFieldConfig[];
|
|
44
|
+
columnFormFields: FormlyFieldConfig[];
|
|
45
|
+
columns: FormlyFieldConfig[];
|
|
46
|
+
dialogMaxWidth: string;
|
|
47
|
+
isViewMode: boolean;
|
|
48
|
+
displayMode: 'drawer' | 'dialog' | 'route' | 'inline' | Partial<Record<'add' | 'edit' | 'view', 'drawer' | 'dialog' | 'route' | 'inline'>>;
|
|
49
|
+
useConfirmOnSave: boolean;
|
|
50
|
+
isEditMode: boolean;
|
|
51
|
+
drawerVisible: boolean;
|
|
52
|
+
dialogVisible: boolean;
|
|
53
|
+
form: UntypedFormGroup;
|
|
54
|
+
model: any;
|
|
55
|
+
model_: any;
|
|
56
|
+
loading: boolean;
|
|
57
|
+
errorMsg: string;
|
|
58
|
+
errorMessage: string | any;
|
|
59
|
+
options: FormlyFormOptions;
|
|
60
|
+
actions: ActionDef<T>[];
|
|
61
|
+
/** تحدد طريقة العرض: 'buttons' أو 'menu' */
|
|
62
|
+
actionsMode: ActionsMode;
|
|
63
|
+
action: EventEmitter<{
|
|
64
|
+
name: string;
|
|
65
|
+
row: T;
|
|
66
|
+
}>;
|
|
67
|
+
bulkAction: EventEmitter<{
|
|
68
|
+
name: string;
|
|
69
|
+
items: T[];
|
|
70
|
+
}>;
|
|
71
|
+
singleAction: EventEmitter<{
|
|
72
|
+
name: string;
|
|
73
|
+
item: T;
|
|
74
|
+
}>;
|
|
75
|
+
beforeSaveTransform?: (record: any, isEdit: boolean) => any;
|
|
76
|
+
afterSave: EventEmitter<{
|
|
77
|
+
record: T;
|
|
78
|
+
isEdit: boolean;
|
|
79
|
+
response?: any;
|
|
80
|
+
}>;
|
|
81
|
+
afterDelete: EventEmitter<{
|
|
82
|
+
record: T;
|
|
83
|
+
response?: any;
|
|
84
|
+
}>;
|
|
85
|
+
beforeSave: EventEmitter<{
|
|
86
|
+
record: T;
|
|
87
|
+
isEdit: boolean;
|
|
88
|
+
}>;
|
|
89
|
+
beforeDelete: EventEmitter<{
|
|
90
|
+
record: T;
|
|
91
|
+
}>;
|
|
92
|
+
formCancel: EventEmitter<void>;
|
|
93
|
+
formInit: EventEmitter<{
|
|
94
|
+
form: UntypedFormGroup;
|
|
95
|
+
model: any;
|
|
96
|
+
}>;
|
|
97
|
+
dataLoaded: EventEmitter<{
|
|
98
|
+
data: T[];
|
|
99
|
+
total: number;
|
|
100
|
+
}>;
|
|
101
|
+
selectionChange: EventEmitter<{
|
|
102
|
+
selected: T[];
|
|
103
|
+
selectedCount: number;
|
|
104
|
+
}>;
|
|
105
|
+
error: EventEmitter<{
|
|
106
|
+
error: any;
|
|
107
|
+
context: string;
|
|
108
|
+
}>;
|
|
109
|
+
filters: any;
|
|
110
|
+
filterModel: any;
|
|
111
|
+
search: EventEmitter<{
|
|
112
|
+
field: string;
|
|
113
|
+
global: string;
|
|
114
|
+
}>;
|
|
115
|
+
/** للتحكم بإظهار/إخفاء قسم البحث */
|
|
116
|
+
showSearch: boolean;
|
|
117
|
+
/** Pagination Inputs */
|
|
118
|
+
first: number;
|
|
119
|
+
rows: number;
|
|
120
|
+
totalRecords: number;
|
|
121
|
+
pageChange: EventEmitter<PageChangePayload>;
|
|
122
|
+
onSearch: EventEmitter<any>;
|
|
123
|
+
visibleChange: EventEmitter<boolean>;
|
|
124
|
+
/** لجعل الجدول قابل لتعديل الصفوف (افتراضي false) */
|
|
125
|
+
rowEditable: boolean;
|
|
126
|
+
/** لجعل الجدول قابل لاختيار الصفوف (افتراضي false) */
|
|
127
|
+
rowSelectable: boolean;
|
|
128
|
+
/** حدث يخرج الصف المحدّد */
|
|
129
|
+
rowSelect: EventEmitter<T>;
|
|
130
|
+
selection: T | null;
|
|
131
|
+
sortField?: string;
|
|
132
|
+
sortOrder: 1 | -1;
|
|
133
|
+
scrollHeight: string;
|
|
134
|
+
paginator: boolean;
|
|
135
|
+
service: BaseService;
|
|
136
|
+
apiName: string;
|
|
137
|
+
moduleName: string;
|
|
138
|
+
idField: string;
|
|
139
|
+
showRowSelectionCheckbox: boolean;
|
|
140
|
+
showAddButton: boolean;
|
|
141
|
+
showPrintButton: boolean;
|
|
142
|
+
PermissionName?: string;
|
|
143
|
+
mergedButtonConfigs: ButtonConfig[];
|
|
144
|
+
addButtonConfigs: ButtonConfig[];
|
|
145
|
+
buildButtons(): void;
|
|
146
|
+
createEditActions: ButtonConfig[];
|
|
147
|
+
supportSubPage: boolean;
|
|
148
|
+
tabs: DetailTab[];
|
|
149
|
+
bulkActionButtons: ButtonConfig[];
|
|
150
|
+
singleActionButtons: ButtonConfig[];
|
|
151
|
+
_selectedRows: T[];
|
|
152
|
+
get isSingleItemSelected(): boolean;
|
|
153
|
+
get isMultipleItemSelected(): boolean;
|
|
154
|
+
get selectedItems(): T[];
|
|
155
|
+
breadcrumb: MenuItem[] | undefined;
|
|
156
|
+
get breadcrumb_(): MenuItem[] | undefined;
|
|
157
|
+
get rtl(): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Modes to control what parts of the component are visible
|
|
160
|
+
* - 'full': Table + CRUD operations (default)
|
|
161
|
+
* - 'form-only': Only show form (for create/edit/view)
|
|
162
|
+
* - 'table-only': Only show table (read-only mode)
|
|
163
|
+
*/
|
|
164
|
+
mode: 'full' | 'form-only' | 'table-only' | 'detail';
|
|
165
|
+
/** Force the component to show specific state */
|
|
166
|
+
forceState: 'create' | 'edit' | 'view' | null;
|
|
167
|
+
/** Hide table completely when in form-only mode */
|
|
168
|
+
get hideTable(): boolean;
|
|
169
|
+
/** Auto-show form when in form-only mode with forceState */
|
|
170
|
+
get autoShowForm(): boolean;
|
|
171
|
+
rowStyleFn?: (row: T) => any;
|
|
172
|
+
rowClassFn?: (row: T) => string | string[] | Set<string>;
|
|
173
|
+
disableRowCheckboxFn?: (row: T) => boolean;
|
|
174
|
+
tableClass: string;
|
|
175
|
+
showAdvancedFilter: boolean;
|
|
176
|
+
advancedFilterIcon: string;
|
|
177
|
+
searchTabs: FormlyFieldConfig[];
|
|
178
|
+
showViewMode: boolean;
|
|
179
|
+
viewMode: 'table' | 'grid';
|
|
180
|
+
viewModeChange: EventEmitter<"table" | "grid">;
|
|
181
|
+
templateSelected: EventEmitter<any>;
|
|
182
|
+
templateDrawerVisible: boolean;
|
|
183
|
+
templateDrawerVisibleChange: EventEmitter<boolean>;
|
|
184
|
+
category: string;
|
|
185
|
+
feature: string;
|
|
186
|
+
onViewModeChange(mode: 'table' | 'grid'): void;
|
|
187
|
+
private route;
|
|
188
|
+
private router;
|
|
189
|
+
currentId?: string | number;
|
|
190
|
+
ngOnInit(): void;
|
|
191
|
+
onHeaderPaginateChange(event: {
|
|
192
|
+
first: number;
|
|
193
|
+
rows: number;
|
|
194
|
+
}): void;
|
|
195
|
+
loadDetail(id: string | number): void;
|
|
196
|
+
openForm(mode: 'create' | 'edit' | 'view', model?: any): void;
|
|
197
|
+
/** الآن يتلقّى pagination + sort في حدث واحد */
|
|
198
|
+
onLazyLoad(event: TableLazyLoadEvent): void;
|
|
199
|
+
/** تصيير البيانات حسب الصفحة */
|
|
200
|
+
get pagedData(): T[];
|
|
201
|
+
get globalFilterFields(): string[];
|
|
202
|
+
/** أرسل إلى الأب لأتمتة شكل البحث إذا يحتاج */
|
|
203
|
+
/** بدّل applySearch لتبث pageChange مباشرةً */
|
|
204
|
+
resetPage(filters: any): void;
|
|
205
|
+
/** بدّل applySearch لتبث pageChange مباشرةً */
|
|
206
|
+
applySearch(filters: any): void;
|
|
207
|
+
/** دالة تنفّذ عند النقر على صف */
|
|
208
|
+
onRowClick(row: T): void;
|
|
209
|
+
onSubmit(): void;
|
|
210
|
+
trackByIdx(index: number, item: any): number;
|
|
211
|
+
onSingleItemAction(btn: ButtonConfig): void;
|
|
212
|
+
onInternalBulkAction(btn: ButtonConfig): void;
|
|
213
|
+
openReportDialog(): void;
|
|
214
|
+
private handleExport;
|
|
215
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericCrudTableComponent<any>, never>;
|
|
216
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericCrudTableComponent<any>, "app-generic-crud-table", never, { "data": { "alias": "data"; "required": false; }; "formFields": { "alias": "formFields"; "required": false; }; "columnFormFields": { "alias": "columnFormFields"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "dialogMaxWidth": { "alias": "dialogMaxWidth"; "required": false; }; "isViewMode": { "alias": "isViewMode"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; "useConfirmOnSave": { "alias": "useConfirmOnSave"; "required": false; }; "isEditMode": { "alias": "isEditMode"; "required": false; }; "drawerVisible": { "alias": "drawerVisible"; "required": false; }; "dialogVisible": { "alias": "dialogVisible"; "required": false; }; "model": { "alias": "model"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "errorMsg": { "alias": "errorMsg"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "actionsMode": { "alias": "actionsMode"; "required": false; }; "beforeSaveTransform": { "alias": "beforeSaveTransform"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "filterModel": { "alias": "filterModel"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "first": { "alias": "first"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "rowEditable": { "alias": "rowEditable"; "required": false; }; "rowSelectable": { "alias": "rowSelectable"; "required": false; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "service": { "alias": "service"; "required": false; }; "apiName": { "alias": "apiName"; "required": false; }; "moduleName": { "alias": "moduleName"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "showRowSelectionCheckbox": { "alias": "showRowSelectionCheckbox"; "required": false; }; "showAddButton": { "alias": "showAddButton"; "required": false; }; "showPrintButton": { "alias": "showPrintButton"; "required": false; }; "PermissionName": { "alias": "PermissionName"; "required": false; }; "addButtonConfigs": { "alias": "addButtonConfigs"; "required": false; }; "createEditActions": { "alias": "createEditActions"; "required": false; }; "supportSubPage": { "alias": "supportSubPage"; "required": false; }; "tabs": { "alias": "tabs"; "required": false; }; "bulkActionButtons": { "alias": "bulkActionButtons"; "required": false; }; "singleActionButtons": { "alias": "singleActionButtons"; "required": false; }; "breadcrumb": { "alias": "breadcrumb"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "forceState": { "alias": "forceState"; "required": false; }; "hideTable": { "alias": "hideTable"; "required": false; }; "autoShowForm": { "alias": "autoShowForm"; "required": false; }; "rowStyleFn": { "alias": "rowStyleFn"; "required": false; }; "rowClassFn": { "alias": "rowClassFn"; "required": false; }; "disableRowCheckboxFn": { "alias": "disableRowCheckboxFn"; "required": false; }; "showAdvancedFilter": { "alias": "showAdvancedFilter"; "required": false; }; "advancedFilterIcon": { "alias": "advancedFilterIcon"; "required": false; }; "searchTabs": { "alias": "searchTabs"; "required": false; }; "showViewMode": { "alias": "showViewMode"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "templateDrawerVisible": { "alias": "templateDrawerVisible"; "required": false; }; "category": { "alias": "category"; "required": false; }; "feature": { "alias": "feature"; "required": false; }; }, { "action": "action"; "bulkAction": "bulkAction"; "singleAction": "singleAction"; "afterSave": "afterSave"; "afterDelete": "afterDelete"; "beforeSave": "beforeSave"; "beforeDelete": "beforeDelete"; "formCancel": "formCancel"; "formInit": "formInit"; "dataLoaded": "dataLoaded"; "selectionChange": "selectionChange"; "error": "error"; "search": "search"; "pageChange": "pageChange"; "onSearch": "onSearch"; "visibleChange": "visibleChange"; "rowSelect": "rowSelect"; "viewModeChange": "viewModeChange"; "templateSelected": "templateSelected"; "templateDrawerVisibleChange": "templateDrawerVisibleChange"; }, never, never, true, never>;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
declare class GenericCrudHeaderComponent {
|
|
220
|
+
translate: LocalizationService;
|
|
221
|
+
dialogService: DialogService;
|
|
222
|
+
mode: 'full' | 'form-only' | 'table-only' | 'detail';
|
|
223
|
+
breadcrumb: MenuItem[] | undefined;
|
|
224
|
+
isSingleItemSelected: boolean;
|
|
225
|
+
selectedItems: any[];
|
|
226
|
+
singleActionButtons: ButtonConfig[];
|
|
227
|
+
bulkActionButtons: ButtonConfig[];
|
|
228
|
+
addButtonConfigs: ButtonConfig[];
|
|
229
|
+
mergedButtonConfigs: ButtonConfig[];
|
|
230
|
+
filters: any;
|
|
231
|
+
filterModel: any;
|
|
232
|
+
showSearch: boolean;
|
|
233
|
+
first: number;
|
|
234
|
+
rows: number;
|
|
235
|
+
totalRecords: number;
|
|
236
|
+
moduleName: string;
|
|
237
|
+
apiName: string;
|
|
238
|
+
actions: MenuItem[];
|
|
239
|
+
singleItemAction: EventEmitter<ButtonConfig>;
|
|
240
|
+
bulkAction: EventEmitter<ButtonConfig>;
|
|
241
|
+
search: EventEmitter<any>;
|
|
242
|
+
resetSearch: EventEmitter<void>;
|
|
243
|
+
action: EventEmitter<{
|
|
244
|
+
name: string;
|
|
245
|
+
row: any;
|
|
246
|
+
}>;
|
|
247
|
+
paginateChange: EventEmitter<{
|
|
248
|
+
first: number;
|
|
249
|
+
rows: number;
|
|
250
|
+
}>;
|
|
251
|
+
showAdvancedFilter: boolean;
|
|
252
|
+
advancedFilterIcon: string;
|
|
253
|
+
isAdvancedFilterVisible: boolean;
|
|
254
|
+
searchTabs: FormlyFieldConfig[];
|
|
255
|
+
showViewMode: boolean;
|
|
256
|
+
viewMode: 'table' | 'grid';
|
|
257
|
+
viewModeChange: EventEmitter<"table" | "grid">;
|
|
258
|
+
viewOptions: any[];
|
|
259
|
+
onViewChange(event: any): void;
|
|
260
|
+
toggleAdvancedFilter(): void;
|
|
261
|
+
trackByIdx: (index: number) => number;
|
|
262
|
+
onSingleItemAction(btn: ButtonConfig): void;
|
|
263
|
+
onInternalBulkAction(btn: ButtonConfig): void;
|
|
264
|
+
paginationChange(value: any): void;
|
|
265
|
+
applySearch(value: any): void;
|
|
266
|
+
reset(): void;
|
|
267
|
+
totalPages(): number;
|
|
268
|
+
pageInput: number | null;
|
|
269
|
+
showPageMenu: boolean;
|
|
270
|
+
get currentPage(): number;
|
|
271
|
+
goToPageMenu(): void;
|
|
272
|
+
goToPage(): void;
|
|
273
|
+
goFirst(): void;
|
|
274
|
+
goLast(): void;
|
|
275
|
+
goPrev(): void;
|
|
276
|
+
goNext(): void;
|
|
277
|
+
isFirstPage(): boolean;
|
|
278
|
+
isLastPage(): boolean;
|
|
279
|
+
get isRTL(): boolean;
|
|
280
|
+
/**
|
|
281
|
+
* Handles button click in a unified way.
|
|
282
|
+
* - If btn.action is defined, execute it.
|
|
283
|
+
* - Otherwise, emit event with actionName or default 'add'.
|
|
284
|
+
*/
|
|
285
|
+
handleButtonClick(btn: ButtonConfig): Promise<void>;
|
|
286
|
+
openReportDialog(): void;
|
|
287
|
+
private handleExport;
|
|
288
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericCrudHeaderComponent, never>;
|
|
289
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericCrudHeaderComponent, "app-generic-crud-header", never, { "mode": { "alias": "mode"; "required": false; }; "breadcrumb": { "alias": "breadcrumb"; "required": false; }; "isSingleItemSelected": { "alias": "isSingleItemSelected"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "singleActionButtons": { "alias": "singleActionButtons"; "required": false; }; "bulkActionButtons": { "alias": "bulkActionButtons"; "required": false; }; "addButtonConfigs": { "alias": "addButtonConfigs"; "required": false; }; "mergedButtonConfigs": { "alias": "mergedButtonConfigs"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "filterModel": { "alias": "filterModel"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "first": { "alias": "first"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "moduleName": { "alias": "moduleName"; "required": false; }; "apiName": { "alias": "apiName"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "showAdvancedFilter": { "alias": "showAdvancedFilter"; "required": false; }; "advancedFilterIcon": { "alias": "advancedFilterIcon"; "required": false; }; "searchTabs": { "alias": "searchTabs"; "required": false; }; "showViewMode": { "alias": "showViewMode"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; }, { "singleItemAction": "singleItemAction"; "bulkAction": "bulkAction"; "search": "search"; "resetSearch": "resetSearch"; "action": "action"; "paginateChange": "paginateChange"; "viewModeChange": "viewModeChange"; }, never, never, true, never>;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
export { GenericCrudHeaderComponent, GenericCrudTableComponent, GenericCrudTableModule };
|
|
293
|
+
export type { ActionsMode, PageChangePayload };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, OnChanges, EventEmitter, SimpleChanges } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { UntypedFormGroup } from '@angular/forms';
|
|
5
|
+
import { FormlyFormOptions, FormlyFieldConfig } from '@ngx-formly/core';
|
|
6
|
+
import { LocalizationService, BaseService } from '@es.framework/ng.core/services';
|
|
7
|
+
|
|
8
|
+
declare class GenericDialogModule {
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericDialogModule, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericDialogModule, never, [typeof i1.CommonModule], never>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericDialogModule>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare class GenericDialogComponent implements OnInit, OnChanges {
|
|
15
|
+
private idParser;
|
|
16
|
+
translate: LocalizationService;
|
|
17
|
+
private swalService;
|
|
18
|
+
form: UntypedFormGroup;
|
|
19
|
+
options: FormlyFormOptions;
|
|
20
|
+
formFields_: FormlyFieldConfig[];
|
|
21
|
+
model_: any;
|
|
22
|
+
service: BaseService;
|
|
23
|
+
formFields: FormlyFieldConfig[];
|
|
24
|
+
model: any;
|
|
25
|
+
apiName: string;
|
|
26
|
+
moduleName: string;
|
|
27
|
+
idField: string;
|
|
28
|
+
dialogMaxWidth: string;
|
|
29
|
+
displayMode: 'drawer' | 'dialog' | 'route' | 'inline' | Partial<Record<'add' | 'edit' | 'view', 'drawer' | 'dialog' | 'route' | 'inline'>>;
|
|
30
|
+
mode: 'full' | 'form-only' | 'table-only' | 'detail';
|
|
31
|
+
forceState: 'create' | 'edit' | 'view' | null;
|
|
32
|
+
drawerVisible: boolean;
|
|
33
|
+
dialogVisible: boolean;
|
|
34
|
+
isViewMode: boolean;
|
|
35
|
+
isEditMode: boolean;
|
|
36
|
+
useConfirmOnSave: boolean;
|
|
37
|
+
loading: boolean;
|
|
38
|
+
errorMsg: string;
|
|
39
|
+
errorMessage: string | any;
|
|
40
|
+
beforeSaveTransform?: (record: any, isEdit: boolean) => any;
|
|
41
|
+
get hideTable(): boolean;
|
|
42
|
+
get autoShowForm(): boolean;
|
|
43
|
+
action: EventEmitter<{
|
|
44
|
+
name: string;
|
|
45
|
+
row: any;
|
|
46
|
+
}>;
|
|
47
|
+
afterSave: EventEmitter<{
|
|
48
|
+
record: any;
|
|
49
|
+
isEdit: boolean;
|
|
50
|
+
response?: any;
|
|
51
|
+
}>;
|
|
52
|
+
afterDelete: EventEmitter<{
|
|
53
|
+
record: any;
|
|
54
|
+
response?: any;
|
|
55
|
+
}>;
|
|
56
|
+
beforeSave: EventEmitter<{
|
|
57
|
+
record: any;
|
|
58
|
+
isEdit: boolean;
|
|
59
|
+
}>;
|
|
60
|
+
beforeDelete: EventEmitter<{
|
|
61
|
+
record: any;
|
|
62
|
+
}>;
|
|
63
|
+
formCancel: EventEmitter<void>;
|
|
64
|
+
formInit: EventEmitter<{
|
|
65
|
+
form: UntypedFormGroup;
|
|
66
|
+
model: any;
|
|
67
|
+
}>;
|
|
68
|
+
dataLoaded: EventEmitter<{
|
|
69
|
+
data: any[];
|
|
70
|
+
total: number;
|
|
71
|
+
}>;
|
|
72
|
+
selectionChange: EventEmitter<{
|
|
73
|
+
selected: any[];
|
|
74
|
+
selectedCount: number;
|
|
75
|
+
}>;
|
|
76
|
+
error: EventEmitter<{
|
|
77
|
+
error: any;
|
|
78
|
+
context: string;
|
|
79
|
+
}>;
|
|
80
|
+
visibleChange: EventEmitter<boolean>;
|
|
81
|
+
ngOnInit(): void;
|
|
82
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
83
|
+
openForm(mode: 'create' | 'edit' | 'view', model?: any): void;
|
|
84
|
+
closeForm(): void;
|
|
85
|
+
private initializeFormState;
|
|
86
|
+
onSubmit(): void;
|
|
87
|
+
/** New cancel method for form-only mode */
|
|
88
|
+
onCancel(): void;
|
|
89
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericDialogComponent, never>;
|
|
90
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericDialogComponent, "app-generic-dialog", never, { "form": { "alias": "form"; "required": false; }; "service": { "alias": "service"; "required": false; }; "formFields": { "alias": "formFields"; "required": false; }; "model": { "alias": "model"; "required": false; }; "apiName": { "alias": "apiName"; "required": false; }; "moduleName": { "alias": "moduleName"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "dialogMaxWidth": { "alias": "dialogMaxWidth"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "forceState": { "alias": "forceState"; "required": false; }; "drawerVisible": { "alias": "drawerVisible"; "required": false; }; "dialogVisible": { "alias": "dialogVisible"; "required": false; }; "isViewMode": { "alias": "isViewMode"; "required": false; }; "isEditMode": { "alias": "isEditMode"; "required": false; }; "useConfirmOnSave": { "alias": "useConfirmOnSave"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "errorMsg": { "alias": "errorMsg"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "beforeSaveTransform": { "alias": "beforeSaveTransform"; "required": false; }; "hideTable": { "alias": "hideTable"; "required": false; }; "autoShowForm": { "alias": "autoShowForm"; "required": false; }; }, { "action": "action"; "afterSave": "afterSave"; "afterDelete": "afterDelete"; "beforeSave": "beforeSave"; "beforeDelete": "beforeDelete"; "formCancel": "formCancel"; "formInit": "formInit"; "dataLoaded": "dataLoaded"; "selectionChange": "selectionChange"; "error": "error"; "visibleChange": "visibleChange"; }, never, never, true, never>;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export { GenericDialogComponent, GenericDialogModule };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import * as i1 from '@angular/common';
|
|
3
|
+
|
|
4
|
+
declare class GenericErrormessageModule {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericErrormessageModule, never>;
|
|
6
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericErrormessageModule, never, [typeof i1.CommonModule], never>;
|
|
7
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericErrormessageModule>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare class GenericErrormessage {
|
|
11
|
+
/** نص رسالة الخطأ */
|
|
12
|
+
text: string;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericErrormessage, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericErrormessage, "lib-generic-errormessage", never, { "text": { "alias": "text"; "required": false; }; }, {}, never, never, true, never>;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { GenericErrormessage, GenericErrormessageModule };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import * as i1 from '@angular/common';
|
|
3
|
+
import { FormGroup } from '@angular/forms';
|
|
4
|
+
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
|
|
5
|
+
|
|
6
|
+
declare class GenericFormlyFieldsModule {
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericFormlyFieldsModule, never>;
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericFormlyFieldsModule, never, [typeof i1.CommonModule], never>;
|
|
9
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericFormlyFieldsModule>;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
declare class GenericFormlyFields {
|
|
13
|
+
/** الـ FormGroup الذي يُدار خارجيًا */
|
|
14
|
+
form: FormGroup;
|
|
15
|
+
/** حقول Formly */
|
|
16
|
+
fields: FormlyFieldConfig[];
|
|
17
|
+
/** النموذج (object) الذي سيُربط بالحقول */
|
|
18
|
+
model: any;
|
|
19
|
+
/** خيارات Formly (validation, hideExpression, ...) */
|
|
20
|
+
options: FormlyFormOptions;
|
|
21
|
+
getFieldIcon(field: FormlyFieldConfig): string | null;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericFormlyFields, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericFormlyFields, "lib-generic-formly-fields", never, { "form": { "alias": "form"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "model": { "alias": "model"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, true, never>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { GenericFormlyFields, GenericFormlyFieldsModule };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import * as i1 from '@angular/common';
|
|
3
|
+
|
|
4
|
+
declare class GenericLoadingspinnerModule {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericLoadingspinnerModule, never>;
|
|
6
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericLoadingspinnerModule, never, [typeof i1.CommonModule], never>;
|
|
7
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericLoadingspinnerModule>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare class GenericLoadingspinner {
|
|
11
|
+
loading: boolean;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericLoadingspinner, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericLoadingspinner, "lib-generic-loadingspinner", never, { "loading": { "alias": "loading"; "required": false; }; }, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { GenericLoadingspinner, GenericLoadingspinnerModule };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter } from '@angular/core';
|
|
3
|
+
import { FormGroup } from '@angular/forms';
|
|
4
|
+
import { FormlyFieldConfig } from '@ngx-formly/core';
|
|
5
|
+
|
|
6
|
+
declare class TabbedSearchComponent {
|
|
7
|
+
fields: FormlyFieldConfig[];
|
|
8
|
+
model: any;
|
|
9
|
+
form: FormGroup<{}>;
|
|
10
|
+
onSearch: EventEmitter<any>;
|
|
11
|
+
onReset: EventEmitter<void>;
|
|
12
|
+
paginationChange: EventEmitter<any>;
|
|
13
|
+
private queryBuilder;
|
|
14
|
+
onSubmit(): void;
|
|
15
|
+
Reset(): void;
|
|
16
|
+
private generateAdvancedFilters;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TabbedSearchComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TabbedSearchComponent, "app-tabbed-search", never, { "fields": { "alias": "fields"; "required": false; }; "model": { "alias": "model"; "required": false; }; "form": { "alias": "form"; "required": false; }; }, { "onSearch": "onSearch"; "onReset": "onReset"; "paginationChange": "paginationChange"; }, never, never, true, never>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { TabbedSearchComponent };
|