@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,121 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, OnDestroy, 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
|
+
import { MenuItem } from 'primeng/api';
|
|
8
|
+
import { SafeResourceUrl } from '@angular/platform-browser';
|
|
9
|
+
import { LocalizationService } from '@es.framework/ng.core/services';
|
|
10
|
+
|
|
11
|
+
declare class GenericReportModule {
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericReportModule, never>;
|
|
13
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericReportModule, never, [typeof i1.CommonModule], never>;
|
|
14
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericReportModule>;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interface ExportConfig {
|
|
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, OnDestroy {
|
|
30
|
+
ref: DynamicDialogRef;
|
|
31
|
+
config: DynamicDialogConfig;
|
|
32
|
+
previewContainer: ElementRef;
|
|
33
|
+
filterFields: FormlyFieldConfig[];
|
|
34
|
+
fields_: FormlyFieldConfig[];
|
|
35
|
+
exportType: ExportType;
|
|
36
|
+
fileName: string;
|
|
37
|
+
showFilters: boolean;
|
|
38
|
+
loading: boolean;
|
|
39
|
+
currentDate: Date;
|
|
40
|
+
previewData: any[];
|
|
41
|
+
htmlExportContent: string;
|
|
42
|
+
showHtmlInIframe: boolean;
|
|
43
|
+
previewColumns: any[];
|
|
44
|
+
options: FormlyFormOptions;
|
|
45
|
+
enableQueryBuilder: boolean;
|
|
46
|
+
localExport: boolean;
|
|
47
|
+
queryString: string;
|
|
48
|
+
apiName: string;
|
|
49
|
+
moduleName: string;
|
|
50
|
+
model: any;
|
|
51
|
+
form: FormGroup<{}>;
|
|
52
|
+
exportConfig: ExportConfig;
|
|
53
|
+
exportTypes: {
|
|
54
|
+
value: ExportType;
|
|
55
|
+
label: string;
|
|
56
|
+
icon: string;
|
|
57
|
+
}[];
|
|
58
|
+
exportMenuItems: MenuItem[];
|
|
59
|
+
private destroy$;
|
|
60
|
+
private dialogService;
|
|
61
|
+
private translate;
|
|
62
|
+
private restService;
|
|
63
|
+
private queryBuilder;
|
|
64
|
+
private sanitizer;
|
|
65
|
+
constructor(ref: DynamicDialogRef, config: DynamicDialogConfig);
|
|
66
|
+
ngOnDestroy(): void;
|
|
67
|
+
ngOnInit(): void;
|
|
68
|
+
get filterCount(): number;
|
|
69
|
+
private buildQueryUIFields;
|
|
70
|
+
private initializeComponent;
|
|
71
|
+
private initializeFilterFields;
|
|
72
|
+
private initializeExportConfig;
|
|
73
|
+
private initializeExportMenu;
|
|
74
|
+
private openReportNameDialog;
|
|
75
|
+
private getDefaultFilterFields;
|
|
76
|
+
generatePreview(): void;
|
|
77
|
+
onSubmit(): void;
|
|
78
|
+
onReset(): void;
|
|
79
|
+
onExport(): void;
|
|
80
|
+
private createExportConfig;
|
|
81
|
+
private handleApiExport;
|
|
82
|
+
private createRequestOptions;
|
|
83
|
+
private handleExportResponse;
|
|
84
|
+
private isMobileDevice;
|
|
85
|
+
private isIOS;
|
|
86
|
+
private isAndroid;
|
|
87
|
+
showPdfModal: boolean;
|
|
88
|
+
currentPdfUrl?: SafeResourceUrl;
|
|
89
|
+
currentFileName: string;
|
|
90
|
+
private showPdfInMobile;
|
|
91
|
+
private sanitizeUrl;
|
|
92
|
+
onPdfDownload(): void;
|
|
93
|
+
private downloadBinaryExport;
|
|
94
|
+
private showHtmlExport;
|
|
95
|
+
private setIframeContent;
|
|
96
|
+
print(): void;
|
|
97
|
+
getExportButtonText(): string;
|
|
98
|
+
onExportTypeChange(type: ExportType): void;
|
|
99
|
+
getCurrentExportTypeIcon(): string;
|
|
100
|
+
private base64ToBlob;
|
|
101
|
+
private downloadFile;
|
|
102
|
+
private getFileExtension;
|
|
103
|
+
private getMimeType;
|
|
104
|
+
private cleanHtmlContent;
|
|
105
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericReportComponent, never>;
|
|
106
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericReportComponent, "app-generic-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; }; "moduleName": { "alias": "moduleName"; "required": false; }; "model": { "alias": "model"; "required": false; }; }, {}, never, never, true, never>;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
declare class ReportNameDialogComponent {
|
|
110
|
+
fileName: string;
|
|
111
|
+
ref: DynamicDialogRef<any>;
|
|
112
|
+
config: DynamicDialogConfig<any, any>;
|
|
113
|
+
translate: LocalizationService;
|
|
114
|
+
ngOnInit(): void;
|
|
115
|
+
save(): void;
|
|
116
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ReportNameDialogComponent, never>;
|
|
117
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ReportNameDialogComponent, "app-report-name-dialog", never, {}, {}, never, never, true, never>;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export { ExportType, GenericReportComponent, GenericReportModule, ReportNameDialogComponent };
|
|
121
|
+
export type { ExportConfig };
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, EventEmitter } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { FormGroup, FormControl, FormArray } from '@angular/forms';
|
|
5
|
+
import { FormlyFormOptions, FormlyFieldConfig, FieldType, FieldTypeConfig } from '@ngx-formly/core';
|
|
6
|
+
import { LocalizationService, QueryParameters } from '@es.framework/ng.core/services';
|
|
7
|
+
|
|
8
|
+
declare class GenericSearchAdvancedModule {
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericSearchAdvancedModule, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericSearchAdvancedModule, never, [typeof i1.CommonModule], never>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericSearchAdvancedModule>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare class GenericSearchAdvanced implements OnInit {
|
|
15
|
+
translate: LocalizationService;
|
|
16
|
+
private queryBuilder;
|
|
17
|
+
drawerVisible: boolean;
|
|
18
|
+
search: EventEmitter<any>;
|
|
19
|
+
paginationChange: EventEmitter<any>;
|
|
20
|
+
odataSearch: EventEmitter<QueryParameters>;
|
|
21
|
+
form: FormGroup<{}>;
|
|
22
|
+
model: any;
|
|
23
|
+
options: FormlyFormOptions;
|
|
24
|
+
fields: FormlyFieldConfig[];
|
|
25
|
+
fields_: FormlyFieldConfig[];
|
|
26
|
+
enableSelect: boolean;
|
|
27
|
+
enableGroup: boolean;
|
|
28
|
+
odataConfig: any;
|
|
29
|
+
ngOnInit(): void;
|
|
30
|
+
get filterCount(): any;
|
|
31
|
+
private buildQueryUIFields;
|
|
32
|
+
onSubmit(): void;
|
|
33
|
+
onReset(): void;
|
|
34
|
+
toggleDrawer(): void;
|
|
35
|
+
closeDrawer(): void;
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericSearchAdvanced, never>;
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericSearchAdvanced, "lib-generic-search-advanced", never, { "model": { "alias": "model"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "enableSelect": { "alias": "enableSelect"; "required": false; }; "enableGroup": { "alias": "enableGroup"; "required": false; }; "odataConfig": { "alias": "odataConfig"; "required": false; }; }, { "search": "search"; "paginationChange": "paginationChange"; "odataSearch": "odataSearch"; }, never, never, true, never>;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
declare class QueryBuilderService {
|
|
41
|
+
translate: LocalizationService;
|
|
42
|
+
private fieldTypeConfig;
|
|
43
|
+
buildQueryUIFields(fields: FormlyFieldConfig[], enableSelect: boolean, enableGroup: boolean): FormlyFieldConfig[];
|
|
44
|
+
private getQueryTabs;
|
|
45
|
+
private getFilterTabFields;
|
|
46
|
+
private getSortingTabFields;
|
|
47
|
+
private getGroupingTabFields;
|
|
48
|
+
private getColumnsTabFields;
|
|
49
|
+
private getPaginationTabFields;
|
|
50
|
+
private extractFilterableFields;
|
|
51
|
+
private extractSortableFields;
|
|
52
|
+
private extractGroupableFields;
|
|
53
|
+
private extractSelectableFields;
|
|
54
|
+
private traverseFields;
|
|
55
|
+
getAppliedFiltersCount(model: any): {
|
|
56
|
+
total: number;
|
|
57
|
+
breakdown: any;
|
|
58
|
+
};
|
|
59
|
+
private mapFieldType;
|
|
60
|
+
private getDataType;
|
|
61
|
+
private getOperatorsForType;
|
|
62
|
+
buildODataFromQueryModel(model: any, originalFields: FormlyFieldConfig[]): QueryParameters;
|
|
63
|
+
toODataQueryString(params: QueryParameters): string;
|
|
64
|
+
parseODataQuery(queryString: string): QueryParameters;
|
|
65
|
+
getFieldConfig(fieldKey: string, fields: any[]): any;
|
|
66
|
+
getAggregateFunctions(): {
|
|
67
|
+
label: string;
|
|
68
|
+
value: string;
|
|
69
|
+
}[];
|
|
70
|
+
queryParamsToFormModel(params: QueryParameters): any;
|
|
71
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QueryBuilderService, never>;
|
|
72
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<QueryBuilderService>;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
declare class SortBuilderComponent extends FieldType<FieldTypeConfig> {
|
|
76
|
+
sorts: any[];
|
|
77
|
+
directionOptions: {
|
|
78
|
+
label: string;
|
|
79
|
+
value: string;
|
|
80
|
+
}[];
|
|
81
|
+
private dragStartIndex;
|
|
82
|
+
ngOnInit(): void;
|
|
83
|
+
addSort(): void;
|
|
84
|
+
removeSort(index: number): void;
|
|
85
|
+
moveSort(fromIndex: number, toIndex: number): void;
|
|
86
|
+
onDragStart(index: number): void;
|
|
87
|
+
onDrop(event: any, dropIndex: number): void;
|
|
88
|
+
reverseSorts(): void;
|
|
89
|
+
clearAll(): void;
|
|
90
|
+
getAvailableFields(currentField: string): any;
|
|
91
|
+
getFieldLabel(fieldKey: string): string;
|
|
92
|
+
getDirectionIcon(direction: string): string;
|
|
93
|
+
getDirectionColor(direction: string): string;
|
|
94
|
+
updateValue(): void;
|
|
95
|
+
get isLast(): boolean;
|
|
96
|
+
getSortConfiguration(): any[];
|
|
97
|
+
loadSortConfiguration(sortConfig: any[]): void;
|
|
98
|
+
isFieldUsed(fieldKey: string): boolean;
|
|
99
|
+
getNextAvailableField(): string;
|
|
100
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SortBuilderComponent, never>;
|
|
101
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SortBuilderComponent, "formly-sort-builder", never, {}, {}, never, never, true, never>;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
declare class QueryBuilderComponent extends FieldType<FieldTypeConfig> implements OnInit {
|
|
105
|
+
private queryBuilderService;
|
|
106
|
+
private cdr;
|
|
107
|
+
private translate;
|
|
108
|
+
groups: any[];
|
|
109
|
+
logicalOperators: {
|
|
110
|
+
label: string;
|
|
111
|
+
value: string;
|
|
112
|
+
}[];
|
|
113
|
+
showAppliedFilters: boolean;
|
|
114
|
+
ngOnInit(): void;
|
|
115
|
+
private initializeAppliedConditionsWithFieldConfigs;
|
|
116
|
+
private initializeConditionsWithFieldConfigs;
|
|
117
|
+
private initializeDefaultConditions;
|
|
118
|
+
toggleAppliedFilters(): void;
|
|
119
|
+
onAndClick(group: any, event: any): void;
|
|
120
|
+
onOrClick(group: any, event: any): void;
|
|
121
|
+
getLogicalOperatorText(operator: string): string;
|
|
122
|
+
private getDefaultFields;
|
|
123
|
+
private isSupportedFieldType;
|
|
124
|
+
getFieldLabel(key: string): string;
|
|
125
|
+
private createDefaultCondition;
|
|
126
|
+
get filterCount(): any;
|
|
127
|
+
getFieldType(fieldKey: string): string;
|
|
128
|
+
getOperatorsForField(field: any): 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
|
+
removeMultipleFromModel(fieldKeys: string[]): void;
|
|
141
|
+
addCondition(groupIndex?: number): void;
|
|
142
|
+
onFieldChange(condition: any, groupIndex: number, conditionIndex: number): void;
|
|
143
|
+
addConditionToLastGroup(): void;
|
|
144
|
+
removeCondition(groupIndex: number, conditionIndex: number): void;
|
|
145
|
+
removeFromModel(fieldKey: string): void;
|
|
146
|
+
updateValue(): void;
|
|
147
|
+
clearAll(): void;
|
|
148
|
+
getQueryStructure(): any;
|
|
149
|
+
loadQueryStructure(queryStructure: any[]): void;
|
|
150
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QueryBuilderComponent, never>;
|
|
151
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QueryBuilderComponent, "formly-query-builder", never, {}, {}, never, never, true, never>;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
declare class TabTypeComponent extends FieldType<FormlyFieldConfig> {
|
|
155
|
+
activeTabValue: string;
|
|
156
|
+
ngOnInit(): void;
|
|
157
|
+
resolveBadge(tab: FormlyFieldConfig): any;
|
|
158
|
+
onTabChange(newValue: any): void;
|
|
159
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TabTypeComponent, never>;
|
|
160
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TabTypeComponent, "formly-tab-type", never, {}, {}, never, never, true, never>;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
interface QueryBuilderField {
|
|
164
|
+
key: string;
|
|
165
|
+
label: string;
|
|
166
|
+
type: string;
|
|
167
|
+
props: any;
|
|
168
|
+
operators: string[];
|
|
169
|
+
defaultOperator: string;
|
|
170
|
+
defaultValue: any;
|
|
171
|
+
}
|
|
172
|
+
interface SortBuilderField {
|
|
173
|
+
key: string;
|
|
174
|
+
label: string;
|
|
175
|
+
}
|
|
176
|
+
interface GroupByField {
|
|
177
|
+
key: string;
|
|
178
|
+
label: string;
|
|
179
|
+
dataType: string;
|
|
180
|
+
}
|
|
181
|
+
interface SelectField {
|
|
182
|
+
key: string;
|
|
183
|
+
label: string;
|
|
184
|
+
dataType: string;
|
|
185
|
+
isNumeric: boolean;
|
|
186
|
+
defaultVisible: boolean;
|
|
187
|
+
aggregatable: boolean;
|
|
188
|
+
}
|
|
189
|
+
interface ColumnConfig {
|
|
190
|
+
field: string;
|
|
191
|
+
displayName: string;
|
|
192
|
+
isVisible: boolean;
|
|
193
|
+
aggregateFunction?: string;
|
|
194
|
+
isNumeric: boolean;
|
|
195
|
+
aggregatable: boolean;
|
|
196
|
+
}
|
|
197
|
+
interface GroupConfig {
|
|
198
|
+
field: string;
|
|
199
|
+
displayName: string;
|
|
200
|
+
showTotal: boolean;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
declare class ColumnsBuilderComponent extends FieldType<FieldTypeConfig> implements OnInit {
|
|
204
|
+
dragStartIndex: number;
|
|
205
|
+
private _columnsForm;
|
|
206
|
+
aggregateFunctions: {
|
|
207
|
+
label: string;
|
|
208
|
+
value: string;
|
|
209
|
+
}[];
|
|
210
|
+
get columns(): SelectField[];
|
|
211
|
+
get columnsForm(): FormGroup;
|
|
212
|
+
get visibleColumnsCount(): number;
|
|
213
|
+
get numericColumnsCount(): number;
|
|
214
|
+
get aggregatedColumnsCount(): number;
|
|
215
|
+
ngOnInit(): void;
|
|
216
|
+
initializeForm(): void;
|
|
217
|
+
private setupValueChanges;
|
|
218
|
+
private updateModel;
|
|
219
|
+
onFormChange(): void;
|
|
220
|
+
onDragStart(event: DragEvent, index: number): void;
|
|
221
|
+
onDragOver(event: DragEvent): void;
|
|
222
|
+
onDrop(event: DragEvent, dropIndex: number): void;
|
|
223
|
+
onDragEnter(event: DragEvent): void;
|
|
224
|
+
onDragLeave(event: DragEvent): void;
|
|
225
|
+
private removeDragStyles;
|
|
226
|
+
private updateColumnOrders;
|
|
227
|
+
getColumnControl(columnKey: string, controlName: string): FormControl;
|
|
228
|
+
private getDefaultValue;
|
|
229
|
+
isColumnVisible(columnKey: string): boolean;
|
|
230
|
+
hasAggregateFunction(columnKey: string): boolean;
|
|
231
|
+
getAggregateFunctionValue(columnKey: string): string;
|
|
232
|
+
toggleAll(visible: boolean): void;
|
|
233
|
+
resetToDefault(): void;
|
|
234
|
+
getAggregateLabel(functionName: string): string;
|
|
235
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ColumnsBuilderComponent, never>;
|
|
236
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ColumnsBuilderComponent, "formly-columns-builder", never, {}, {}, never, never, true, never>;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
declare class GroupBuilderComponent extends FieldType<FieldTypeConfig> implements OnInit {
|
|
240
|
+
private _groups;
|
|
241
|
+
dragStartIndex: number;
|
|
242
|
+
get groups(): FormArray;
|
|
243
|
+
get availableFields(): GroupByField[];
|
|
244
|
+
get maxGroups(): number;
|
|
245
|
+
ngOnInit(): void;
|
|
246
|
+
private initializeFormArray;
|
|
247
|
+
private setupValueChanges;
|
|
248
|
+
private updateModel;
|
|
249
|
+
onFormChange(): void;
|
|
250
|
+
private createGroupControl;
|
|
251
|
+
addGroup(): void;
|
|
252
|
+
removeGroup(index: number): void;
|
|
253
|
+
onDragStart(event: DragEvent, index: number): void;
|
|
254
|
+
onDragOver(event: DragEvent): void;
|
|
255
|
+
onDrop(event: DragEvent, dropIndex: number): void;
|
|
256
|
+
onDragEnter(event: DragEvent): void;
|
|
257
|
+
onDragLeave(event: DragEvent): void;
|
|
258
|
+
onDragEnd(event: DragEvent): void;
|
|
259
|
+
private removeDragStyles;
|
|
260
|
+
moveGroup(fromIndex: number, toIndex: number): void;
|
|
261
|
+
getGroupControl(index: number, controlName: string): FormControl;
|
|
262
|
+
onFieldChange(index: number, fieldKey: string): void;
|
|
263
|
+
getFieldLabel(fieldKey: string): string;
|
|
264
|
+
canAddMoreGroups(): boolean;
|
|
265
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GroupBuilderComponent, never>;
|
|
266
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GroupBuilderComponent, "formly-group-builder", never, {}, {}, never, never, true, never>;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
interface GroupTypeProps {
|
|
270
|
+
label?: string;
|
|
271
|
+
description?: string;
|
|
272
|
+
collapsible?: boolean;
|
|
273
|
+
collapsedByDefault?: boolean;
|
|
274
|
+
showFieldCount?: boolean;
|
|
275
|
+
showDescription?: boolean;
|
|
276
|
+
showSummary?: boolean;
|
|
277
|
+
showValidation?: boolean;
|
|
278
|
+
compact?: boolean;
|
|
279
|
+
variant?: 'default' | 'card' | 'bordered' | 'transparent';
|
|
280
|
+
columns?: number;
|
|
281
|
+
gap?: 'none' | 'small' | 'normal' | 'large';
|
|
282
|
+
actions?: {
|
|
283
|
+
icon: string;
|
|
284
|
+
tooltip: string;
|
|
285
|
+
styleClass?: string;
|
|
286
|
+
handler?: (field: FormlyFieldConfig, form: any, component: any) => void;
|
|
287
|
+
}[];
|
|
288
|
+
}
|
|
289
|
+
declare class GroupTypeComponent extends FieldType<FormlyFieldConfig<GroupTypeProps>> {
|
|
290
|
+
collapsed: boolean;
|
|
291
|
+
get showValidation(): boolean;
|
|
292
|
+
get validationIcon(): "pi pi-check-circle text-green-500" | "pi pi-exclamation-circle text-red-500" | "pi pi-circle text-500";
|
|
293
|
+
get validationText(): "جميع الحقول صالحة" | "هناك أخطاء في بعض الحقول";
|
|
294
|
+
get groupClass(): any;
|
|
295
|
+
get gridClass(): string;
|
|
296
|
+
toggle(): void;
|
|
297
|
+
isRequired(): boolean;
|
|
298
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GroupTypeComponent, never>;
|
|
299
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GroupTypeComponent, "formly-group-type", never, {}, {}, never, never, true, never>;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
declare const formlyConfig: i0.Provider;
|
|
303
|
+
|
|
304
|
+
export { ColumnsBuilderComponent, GenericSearchAdvanced, GenericSearchAdvancedModule, GroupBuilderComponent, GroupTypeComponent, QueryBuilderComponent, QueryBuilderService, SortBuilderComponent, TabTypeComponent, formlyConfig };
|
|
305
|
+
export type { ColumnConfig, GroupByField, GroupConfig, GroupTypeProps, QueryBuilderField, SelectField, SortBuilderField };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, EventEmitter } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { FormGroup } from '@angular/forms';
|
|
5
|
+
import { FormlyFormOptions, FormlyFieldConfig } from '@ngx-formly/core';
|
|
6
|
+
import { Popover } from 'primeng/popover';
|
|
7
|
+
import { LocalizationService } from '@es.framework/ng.core/services';
|
|
8
|
+
|
|
9
|
+
declare class GenericSearchModule {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericSearchModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericSearchModule, never, [typeof i1.CommonModule], never>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericSearchModule>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
declare class GenericSearch implements OnInit {
|
|
16
|
+
overlay: Popover;
|
|
17
|
+
translate: LocalizationService;
|
|
18
|
+
drawerVisible: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* List of fields to search by
|
|
21
|
+
* Example: [{ label: 'Name', value: 'name' }, { label: 'Email', value: 'email' }]
|
|
22
|
+
*/
|
|
23
|
+
search: EventEmitter<any>;
|
|
24
|
+
form: FormGroup<{}>;
|
|
25
|
+
model: any;
|
|
26
|
+
options: FormlyFormOptions;
|
|
27
|
+
fields: FormlyFieldConfig[];
|
|
28
|
+
fields_: FormlyFieldConfig[];
|
|
29
|
+
ngOnInit(): void;
|
|
30
|
+
onSubmit(): void;
|
|
31
|
+
onReset(): void;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericSearch, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericSearch, "lib-generic-search", never, { "model": { "alias": "model"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; }, { "search": "search"; }, never, never, true, never>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { GenericSearch, GenericSearchModule };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, OnDestroy, Injector, ChangeDetectorRef } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { AutoComplete } from 'primeng/autocomplete';
|
|
6
|
+
import { FormlyFieldProps } from '@ngx-formly/primeng/form-field';
|
|
7
|
+
import { QueryParameters, BaseService } from '@es.framework/ng.core/services';
|
|
8
|
+
import { GenericDialogComponent } from '@es.framework/ng.ui.core/generic-dialog';
|
|
9
|
+
import { SafeHtml } from '@angular/platform-browser';
|
|
10
|
+
import { FieldType, FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';
|
|
11
|
+
|
|
12
|
+
declare class GenericSelectorModule {
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericSelectorModule, never>;
|
|
14
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericSelectorModule, never, [typeof i1.CommonModule], never>;
|
|
15
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericSelectorModule>;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface GenericSelectorProps extends FormlyFieldProps {
|
|
19
|
+
moduleName: string;
|
|
20
|
+
serviceName: string;
|
|
21
|
+
listEndpoint?: string | ((model: any) => string);
|
|
22
|
+
loadDefaultField?: string;
|
|
23
|
+
loadDefaultValue?: string;
|
|
24
|
+
loadDefault?: boolean;
|
|
25
|
+
labelField?: string;
|
|
26
|
+
labelFieldEn?: string;
|
|
27
|
+
valueField?: string;
|
|
28
|
+
useMultiLang?: boolean;
|
|
29
|
+
multiple?: boolean;
|
|
30
|
+
display?: boolean;
|
|
31
|
+
offline?: boolean;
|
|
32
|
+
loadSaved?: boolean;
|
|
33
|
+
loadSavedField?: string;
|
|
34
|
+
/** Static offline items (array of objects) */
|
|
35
|
+
offlineItems?: any[];
|
|
36
|
+
/** Async offline items (observable) */
|
|
37
|
+
offlineItems$?: Observable<any[]>;
|
|
38
|
+
/** Function-based filter for offline items */
|
|
39
|
+
onSelect?: (field: FormlyFieldConfig, event?: any) => void;
|
|
40
|
+
offlineDataFn?: (query?: string) => any[];
|
|
41
|
+
query?: Record<string, any> | QueryParameters;
|
|
42
|
+
fixedFilters?: Record<string, any>;
|
|
43
|
+
defaultValue?: any;
|
|
44
|
+
defaultItem?: any;
|
|
45
|
+
viewPermissionName?: string;
|
|
46
|
+
editPermissionName?: string;
|
|
47
|
+
addPermissionName?: string;
|
|
48
|
+
idField?: string;
|
|
49
|
+
dialogDisplayMode?: 'drawer' | 'dialog' | 'route' | 'inline' | Partial<Record<'add' | 'edit' | 'view', 'drawer' | 'dialog' | 'route' | 'inline'>>;
|
|
50
|
+
canAdd?: boolean;
|
|
51
|
+
canLookup?: boolean;
|
|
52
|
+
formFields?: FormlyFieldConfig[];
|
|
53
|
+
afterSave?: (field: FormlyFieldConfig, event?: any) => void;
|
|
54
|
+
formatter?: (row: any, value?: any) => string;
|
|
55
|
+
}
|
|
56
|
+
declare class GenericSelectorTypeComponent extends FieldType<FieldTypeConfig<GenericSelectorProps>> implements OnInit, OnDestroy {
|
|
57
|
+
private svc;
|
|
58
|
+
private injector;
|
|
59
|
+
private cdr;
|
|
60
|
+
autoComp: AutoComplete;
|
|
61
|
+
dialog: GenericDialogComponent;
|
|
62
|
+
options_: any[];
|
|
63
|
+
selectedItem: any;
|
|
64
|
+
loading: boolean;
|
|
65
|
+
private _offlineList;
|
|
66
|
+
private translateService;
|
|
67
|
+
api: BaseService | any;
|
|
68
|
+
private valueChangeSubscription;
|
|
69
|
+
get optionLabel(): string;
|
|
70
|
+
private isNullOrEmpty;
|
|
71
|
+
getFormattedLabel(item: any): SafeHtml;
|
|
72
|
+
getPrimaryLabel(item: any): string;
|
|
73
|
+
private sanitizer;
|
|
74
|
+
constructor(svc: BaseService, injector: Injector, cdr: ChangeDetectorRef);
|
|
75
|
+
ngOnInit(): void;
|
|
76
|
+
ngOnDestroy(): void;
|
|
77
|
+
private loadDefaultValue;
|
|
78
|
+
afterSave(event: any): void;
|
|
79
|
+
onSelect(event: any): void;
|
|
80
|
+
onSelectionChange(val: any): void;
|
|
81
|
+
private initOfflineSelection;
|
|
82
|
+
private initOnlineSelection;
|
|
83
|
+
getFixedFilters(query?: string): any;
|
|
84
|
+
onArrowDown(event: any): void;
|
|
85
|
+
onEscape(event: any): void;
|
|
86
|
+
onAddNewClick(): void;
|
|
87
|
+
onDropdownButtonClick(): void;
|
|
88
|
+
onDropdownClick(event: any): void;
|
|
89
|
+
search(event: {
|
|
90
|
+
query: string;
|
|
91
|
+
}): void;
|
|
92
|
+
openCrud(mode: 'add' | 'edit' | 'info'): void;
|
|
93
|
+
getEmptyMessage(): string;
|
|
94
|
+
isItemSelected(item: any): boolean;
|
|
95
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericSelectorTypeComponent, never>;
|
|
96
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericSelectorTypeComponent, "formly-generic-selector", never, {}, {}, never, never, true, never>;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export { GenericSelectorModule, GenericSelectorTypeComponent };
|
|
@@ -0,0 +1,84 @@
|
|
|
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 { MenuItem } from 'primeng/api';
|
|
5
|
+
import { Table, TableLazyLoadEvent, TableRowSelectEvent, TableHeaderCheckboxToggleEvent } from 'primeng/table';
|
|
6
|
+
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
|
|
7
|
+
import { FormGroup } from '@angular/forms';
|
|
8
|
+
import { ActionDef, ButtonConfig } from '@es.framework/ng.core/models';
|
|
9
|
+
import { LocalizationService, PermissionCheckerService } from '@es.framework/ng.core/services';
|
|
10
|
+
|
|
11
|
+
declare class GenericTableModule {
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericTableModule, never>;
|
|
13
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GenericTableModule, never, [typeof i1.CommonModule], never>;
|
|
14
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<GenericTableModule>;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
declare class GenericTable<T> implements OnInit, OnChanges {
|
|
18
|
+
translateService: LocalizationService;
|
|
19
|
+
permissionsService: PermissionCheckerService;
|
|
20
|
+
dt: Table;
|
|
21
|
+
data: any[];
|
|
22
|
+
data_: any[];
|
|
23
|
+
columns: FormlyFieldConfig[];
|
|
24
|
+
processedFields: any[];
|
|
25
|
+
columnFormFields: FormlyFieldConfig[];
|
|
26
|
+
loading: boolean;
|
|
27
|
+
actions: ActionDef<T>[];
|
|
28
|
+
actionsPosition: 'start' | 'end';
|
|
29
|
+
actionsMode: 'buttons' | 'menu';
|
|
30
|
+
first: number;
|
|
31
|
+
rows: number;
|
|
32
|
+
totalRecords: number;
|
|
33
|
+
sortField?: string;
|
|
34
|
+
sortOrder: 1 | -1;
|
|
35
|
+
globalFilterFields: string[];
|
|
36
|
+
action: EventEmitter<{
|
|
37
|
+
name: string;
|
|
38
|
+
row: T;
|
|
39
|
+
}>;
|
|
40
|
+
pageChange: EventEmitter<TableLazyLoadEvent>;
|
|
41
|
+
onAddNew: EventEmitter<any>;
|
|
42
|
+
addButtonConfigs: ButtonConfig[];
|
|
43
|
+
scrollHeight: string;
|
|
44
|
+
rowEditable: boolean;
|
|
45
|
+
/** فعّل اختيار الصفين single/multiple */
|
|
46
|
+
rowSelectable: boolean;
|
|
47
|
+
/** يحتفظ بالصف المحدد */
|
|
48
|
+
_selection: T | T[] | null;
|
|
49
|
+
get selection(): T | T[] | null;
|
|
50
|
+
set selection(val: T | T[] | null);
|
|
51
|
+
trackByIdx(index: number, item: any): number;
|
|
52
|
+
/** يصدر الصف المحدد عند النقر */
|
|
53
|
+
rowSelect: EventEmitter<T>;
|
|
54
|
+
dataKey: string;
|
|
55
|
+
/** يصدر الصفوف المحددة عند التغيير (للربط الثنائي) */
|
|
56
|
+
selectionChange: EventEmitter<T | T[] | null>;
|
|
57
|
+
/** جديد: التحكم بظهور الـ paginator */
|
|
58
|
+
paginator: boolean;
|
|
59
|
+
form: FormGroup<{}>;
|
|
60
|
+
options: FormlyFormOptions;
|
|
61
|
+
/** يتحكم في إظهار عمود اختيار الصفوف المتعددة بواسطة checkboxes */
|
|
62
|
+
showRowSelectionCheckbox: boolean;
|
|
63
|
+
menuItems: MenuItem[];
|
|
64
|
+
ngOnInit(): void;
|
|
65
|
+
onInternalSelectionChange(event: TableRowSelectEvent<T> | TableHeaderCheckboxToggleEvent): void;
|
|
66
|
+
private isSameRow;
|
|
67
|
+
resolveFieldData(data: any, field: string): any;
|
|
68
|
+
onAction(act: ActionDef<T>, row: T): void;
|
|
69
|
+
private cellForms;
|
|
70
|
+
forms: FormGroup;
|
|
71
|
+
getForm(rowIndex: number, colIndex: number): FormGroup;
|
|
72
|
+
trackByFn(index: number, item: any): number;
|
|
73
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
74
|
+
onLazyLoad(event: TableLazyLoadEvent): void;
|
|
75
|
+
refreshData(): void;
|
|
76
|
+
onRowModelChange(rowData: any): void;
|
|
77
|
+
get sortedActions(): ActionDef<T>[];
|
|
78
|
+
getMenuItems(row: T): MenuItem[];
|
|
79
|
+
onRowSelect(event: TableRowSelectEvent<T>): void;
|
|
80
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenericTable<any>, never>;
|
|
81
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GenericTable<any>, "lib-generic-table", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "columnFormFields": { "alias": "columnFormFields"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "actionsPosition": { "alias": "actionsPosition"; "required": false; }; "actionsMode": { "alias": "actionsMode"; "required": false; }; "first": { "alias": "first"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "sortField": { "alias": "sortField"; "required": false; }; "sortOrder": { "alias": "sortOrder"; "required": false; }; "globalFilterFields": { "alias": "globalFilterFields"; "required": false; }; "addButtonConfigs": { "alias": "addButtonConfigs"; "required": false; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; }; "rowEditable": { "alias": "rowEditable"; "required": false; }; "rowSelectable": { "alias": "rowSelectable"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; "dataKey": { "alias": "dataKey"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "showRowSelectionCheckbox": { "alias": "showRowSelectionCheckbox"; "required": false; }; }, { "action": "action"; "pageChange": "pageChange"; "onAddNew": "onAddNew"; "rowSelect": "rowSelect"; "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export { GenericTable, GenericTableModule };
|