@elite.framework/ng.core 1.0.65 → 2.0.2

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.
Files changed (148) hide show
  1. package/README.md +2 -22
  2. package/directives/README.md +3 -0
  3. package/fesm2022/{elite.framework-ng.core-src-lib-directives.mjs → elite.framework-ng.core-directives.mjs} +7 -7
  4. package/fesm2022/elite.framework-ng.core-directives.mjs.map +1 -0
  5. package/fesm2022/elite.framework-ng.core-models.mjs +47 -0
  6. package/fesm2022/elite.framework-ng.core-models.mjs.map +1 -0
  7. package/fesm2022/{elite.framework-ng.core-src-lib-pipes.mjs → elite.framework-ng.core-pipes.mjs} +7 -7
  8. package/fesm2022/elite.framework-ng.core-pipes.mjs.map +1 -0
  9. package/fesm2022/elite.framework-ng.core-providers.mjs +26 -0
  10. package/fesm2022/elite.framework-ng.core-providers.mjs.map +1 -0
  11. package/fesm2022/elite.framework-ng.core-services.mjs +509 -0
  12. package/fesm2022/elite.framework-ng.core-services.mjs.map +1 -0
  13. package/fesm2022/elite.framework-ng.core-tokens.mjs +20 -0
  14. package/fesm2022/elite.framework-ng.core-tokens.mjs.map +1 -0
  15. package/fesm2022/elite.framework-ng.core.mjs +7 -2239
  16. package/fesm2022/elite.framework-ng.core.mjs.map +1 -1
  17. package/index.d.ts +4 -648
  18. package/models/README.md +3 -0
  19. package/models/index.d.ts +135 -0
  20. package/package.json +26 -170
  21. package/pipes/README.md +3 -0
  22. package/providers/README.md +3 -0
  23. package/providers/index.d.ts +9 -0
  24. package/services/README.md +3 -0
  25. package/services/index.d.ts +250 -0
  26. package/tokens/README.md +3 -0
  27. package/tokens/index.d.ts +18 -0
  28. package/fesm2022/elite.framework-ng.core-src-lib-components-attachments.mjs +0 -204
  29. package/fesm2022/elite.framework-ng.core-src-lib-components-attachments.mjs.map +0 -1
  30. package/fesm2022/elite.framework-ng.core-src-lib-components-breadcrumb.mjs +0 -132
  31. package/fesm2022/elite.framework-ng.core-src-lib-components-breadcrumb.mjs.map +0 -1
  32. package/fesm2022/elite.framework-ng.core-src-lib-components-color-picker.mjs +0 -76
  33. package/fesm2022/elite.framework-ng.core-src-lib-components-color-picker.mjs.map +0 -1
  34. package/fesm2022/elite.framework-ng.core-src-lib-components-column-settings-popover.mjs +0 -172
  35. package/fesm2022/elite.framework-ng.core-src-lib-components-column-settings-popover.mjs.map +0 -1
  36. package/fesm2022/elite.framework-ng.core-src-lib-components-condition-editor.mjs +0 -794
  37. package/fesm2022/elite.framework-ng.core-src-lib-components-condition-editor.mjs.map +0 -1
  38. package/fesm2022/elite.framework-ng.core-src-lib-components-custom-switch.mjs +0 -110
  39. package/fesm2022/elite.framework-ng.core-src-lib-components-custom-switch.mjs.map +0 -1
  40. package/fesm2022/elite.framework-ng.core-src-lib-components-deactivation-reason.mjs +0 -130
  41. package/fesm2022/elite.framework-ng.core-src-lib-components-deactivation-reason.mjs.map +0 -1
  42. package/fesm2022/elite.framework-ng.core-src-lib-components-form-button.mjs +0 -50
  43. package/fesm2022/elite.framework-ng.core-src-lib-components-form-button.mjs.map +0 -1
  44. package/fesm2022/elite.framework-ng.core-src-lib-components-form-field.mjs +0 -154
  45. package/fesm2022/elite.framework-ng.core-src-lib-components-form-field.mjs.map +0 -1
  46. package/fesm2022/elite.framework-ng.core-src-lib-components-form-template.mjs +0 -24
  47. package/fesm2022/elite.framework-ng.core-src-lib-components-form-template.mjs.map +0 -1
  48. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-image.mjs +0 -100
  49. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-image.mjs.map +0 -1
  50. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-label.mjs +0 -78
  51. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-label.mjs.map +0 -1
  52. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button-selector.mjs +0 -167
  53. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button-selector.mjs.map +0 -1
  54. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button.mjs +0 -62
  55. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button.mjs.map +0 -1
  56. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-split-button.mjs +0 -50
  57. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-split-button.mjs.map +0 -1
  58. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-username-with-domain.mjs +0 -76
  59. package/fesm2022/elite.framework-ng.core-src-lib-components-formly-username-with-domain.mjs.map +0 -1
  60. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-autocomplete.mjs +0 -163
  61. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-autocomplete.mjs.map +0 -1
  62. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-button.mjs +0 -133
  63. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-button.mjs.map +0 -1
  64. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-card.mjs +0 -214
  65. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-card.mjs.map +0 -1
  66. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-crud-table.mjs +0 -385
  67. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-crud-table.mjs.map +0 -1
  68. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-errormessage.mjs +0 -23
  69. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-errormessage.mjs.map +0 -1
  70. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-formly-fields.mjs +0 -53
  71. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-formly-fields.mjs.map +0 -1
  72. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-loadingspinner.mjs +0 -23
  73. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-loadingspinner.mjs.map +0 -1
  74. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-search.mjs +0 -85
  75. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-search.mjs.map +0 -1
  76. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-selector.mjs +0 -430
  77. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-selector.mjs.map +0 -1
  78. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-table.mjs +0 -216
  79. package/fesm2022/elite.framework-ng.core-src-lib-components-generic-table.mjs.map +0 -1
  80. package/fesm2022/elite.framework-ng.core-src-lib-components-header-wrapper.mjs +0 -18
  81. package/fesm2022/elite.framework-ng.core-src-lib-components-header-wrapper.mjs.map +0 -1
  82. package/fesm2022/elite.framework-ng.core-src-lib-components-icon-picker.mjs +0 -195
  83. package/fesm2022/elite.framework-ng.core-src-lib-components-icon-picker.mjs.map +0 -1
  84. package/fesm2022/elite.framework-ng.core-src-lib-components-input-switch.mjs +0 -94
  85. package/fesm2022/elite.framework-ng.core-src-lib-components-input-switch.mjs.map +0 -1
  86. package/fesm2022/elite.framework-ng.core-src-lib-components-input-with-icon.mjs +0 -55
  87. package/fesm2022/elite.framework-ng.core-src-lib-components-input-with-icon.mjs.map +0 -1
  88. package/fesm2022/elite.framework-ng.core-src-lib-components-label-type.mjs +0 -112
  89. package/fesm2022/elite.framework-ng.core-src-lib-components-label-type.mjs.map +0 -1
  90. package/fesm2022/elite.framework-ng.core-src-lib-components-odata-query-builder.mjs +0 -297
  91. package/fesm2022/elite.framework-ng.core-src-lib-components-odata-query-builder.mjs.map +0 -1
  92. package/fesm2022/elite.framework-ng.core-src-lib-components-repeat.mjs +0 -135
  93. package/fesm2022/elite.framework-ng.core-src-lib-components-repeat.mjs.map +0 -1
  94. package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-cards.mjs +0 -40
  95. package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-cards.mjs.map +0 -1
  96. package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-toggles.mjs +0 -41
  97. package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-toggles.mjs.map +0 -1
  98. package/fesm2022/elite.framework-ng.core-src-lib-components-tabs.mjs +0 -45
  99. package/fesm2022/elite.framework-ng.core-src-lib-components-tabs.mjs.map +0 -1
  100. package/fesm2022/elite.framework-ng.core-src-lib-components-tag-type.mjs +0 -192
  101. package/fesm2022/elite.framework-ng.core-src-lib-components-tag-type.mjs.map +0 -1
  102. package/fesm2022/elite.framework-ng.core-src-lib-components-text-editor.mjs +0 -44
  103. package/fesm2022/elite.framework-ng.core-src-lib-components-text-editor.mjs.map +0 -1
  104. package/fesm2022/elite.framework-ng.core-src-lib-components-wrappers.mjs +0 -174
  105. package/fesm2022/elite.framework-ng.core-src-lib-components-wrappers.mjs.map +0 -1
  106. package/fesm2022/elite.framework-ng.core-src-lib-directives.mjs.map +0 -1
  107. package/fesm2022/elite.framework-ng.core-src-lib-pipes.mjs.map +0 -1
  108. package/src/lib/components/attachments/index.d.ts +0 -31
  109. package/src/lib/components/breadcrumb/index.d.ts +0 -10
  110. package/src/lib/components/color-picker/index.d.ts +0 -9
  111. package/src/lib/components/column-settings-popover/index.d.ts +0 -39
  112. package/src/lib/components/condition-editor/index.d.ts +0 -73
  113. package/src/lib/components/custom-switch/index.d.ts +0 -12
  114. package/src/lib/components/deactivation-reason/index.d.ts +0 -24
  115. package/src/lib/components/form-button/index.d.ts +0 -10
  116. package/src/lib/components/form-field/index.d.ts +0 -30
  117. package/src/lib/components/form-template/index.d.ts +0 -9
  118. package/src/lib/components/formly-avatar-image/index.d.ts +0 -11
  119. package/src/lib/components/formly-avatar-label/index.d.ts +0 -29
  120. package/src/lib/components/formly-button/index.d.ts +0 -13
  121. package/src/lib/components/formly-button-selector/index.d.ts +0 -28
  122. package/src/lib/components/formly-split-button/index.d.ts +0 -16
  123. package/src/lib/components/formly-username-with-domain/index.d.ts +0 -12
  124. package/src/lib/components/generic-autocomplete/index.d.ts +0 -34
  125. package/src/lib/components/generic-button/index.d.ts +0 -35
  126. package/src/lib/components/generic-card/index.d.ts +0 -90
  127. package/src/lib/components/generic-crud-table/index.d.ts +0 -120
  128. package/src/lib/components/generic-errormessage/index.d.ts +0 -10
  129. package/src/lib/components/generic-formly-fields/index.d.ts +0 -22
  130. package/src/lib/components/generic-loadingspinner/index.d.ts +0 -9
  131. package/src/lib/components/generic-search/index.d.ts +0 -29
  132. package/src/lib/components/generic-selector/index.d.ts +0 -66
  133. package/src/lib/components/generic-table/index.d.ts +0 -60
  134. package/src/lib/components/header-wrapper/index.d.ts +0 -8
  135. package/src/lib/components/icon-picker/index.d.ts +0 -23
  136. package/src/lib/components/input-switch/index.d.ts +0 -9
  137. package/src/lib/components/input-with-icon/index.d.ts +0 -10
  138. package/src/lib/components/label-type/index.d.ts +0 -19
  139. package/src/lib/components/odata-query-builder/index.d.ts +0 -81
  140. package/src/lib/components/repeat/index.d.ts +0 -17
  141. package/src/lib/components/sidebar-cards/index.d.ts +0 -18
  142. package/src/lib/components/sidebar-toggles/index.d.ts +0 -18
  143. package/src/lib/components/tabs/index.d.ts +0 -10
  144. package/src/lib/components/tag-type/index.d.ts +0 -27
  145. package/src/lib/components/text-editor/index.d.ts +0 -9
  146. package/src/lib/components/wrappers/index.d.ts +0 -24
  147. /package/{src/lib/directives → directives}/index.d.ts +0 -0
  148. /package/{src/lib/pipes → pipes}/index.d.ts +0 -0
package/index.d.ts CHANGED
@@ -1,652 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, OnChanges, ElementRef, Renderer2, SimpleChanges, PipeTransform, Provider, AfterViewInit, Type } from '@angular/core';
3
- import * as i1 from '@angular/common';
4
- import { DatePipe } from '@angular/common';
5
- import { HttpParameterCodec, HttpParams, HttpHeaders, HttpClient, HttpRequest } from '@angular/common/http';
6
- import * as rxjs from 'rxjs';
7
- import { Observable } from 'rxjs';
8
- import * as qs from 'qs';
9
- import * as express_serve_static_core from 'express-serve-static-core';
10
- import { Request } from 'express';
11
- import { SweetAlertResult, SweetAlertOptions, SweetAlertIcon } from 'sweetalert2';
12
- import * as i5 from '@ngx-formly/core';
13
- import { ConfigOption, FieldWrapper, FormlyFieldConfig, FormlyFieldProps as FormlyFieldProps$1, FieldType, FieldTypeConfig } from '@ngx-formly/core';
14
- import * as i2 from '@angular/forms';
15
- import { UntypedFormControl } from '@angular/forms';
16
- import * as i3 from 'primeng/inputtext';
17
- import * as i5$1 from '@ngx-translate/core';
18
- import * as i4 from 'primeng/radiobutton';
19
- import * as i6 from '@ngx-formly/core/select';
20
- import { FormlyFieldSelectProps } from '@ngx-formly/core/select';
21
- import * as i3$1 from 'primeng/select';
22
- import { Select } from 'primeng/select';
23
- import * as i3$2 from 'primeng/checkbox';
24
- import * as i3$3 from 'primeng/textarea';
25
- import * as i3$4 from 'primeng/datepicker';
26
- import { DynamicDialogRef, DialogService } from 'primeng/dynamicdialog';
27
2
 
28
- declare const ENVIRONMENT: InjectionToken<EnvironmentConfig>;
29
- interface EnvironmentConfig {
30
- production: boolean;
31
- apiUrl: string;
32
- [key: string]: any;
3
+ declare class NgCore {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgCore, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgCore, "lib-ng-core", never, {}, {}, never, never, true, never>;
33
6
  }
34
7
 
35
- interface Root {
36
- registerLocaleFn: (locale: string) => Promise<any>;
37
- skipGetAppConfiguration?: boolean;
38
- skipInitAuthService?: boolean;
39
- sendNullsAsQueryParam?: boolean;
40
- tenantKey?: string;
41
- othersGroup?: string;
42
- dynamicLayouts?: Map<string, string>;
43
- disableProjectNameInTitle?: boolean;
44
- }
45
- declare class ListResultDto<T> {
46
- items?: T[];
47
- constructor(initialValues?: Partial<ListResultDto<T>>);
48
- }
49
- declare class PagedResultDto<T> extends ListResultDto<T> {
50
- totalCount?: number;
51
- constructor(initialValues?: Partial<PagedResultDto<T>>);
52
- }
53
- declare class GeneralResponse<T> {
54
- success?: boolean;
55
- result?: T;
56
- targetUrl?: string;
57
- error?: any;
58
- unAuthorizedRequest?: boolean;
59
- constructor();
60
- }
61
- declare function checkHasProp<T>(object: T, key: string | keyof T): key is keyof T;
62
-
63
- declare const CORE_OPTIONS: InjectionToken<Root>;
64
- declare function coreOptionsFactory({ ...options }: Root): Root;
65
-
66
- declare class AutofocusDirective implements OnChanges {
67
- private el;
68
- autoFocus: boolean | string;
69
- constructor(el: ElementRef);
70
- ngOnChanges(): void;
71
- static ɵfac: i0.ɵɵFactoryDeclaration<AutofocusDirective, never>;
72
- static ɵdir: i0.ɵɵDirectiveDeclaration<AutofocusDirective, "[appAutofocus]", never, { "autoFocus": { "alias": "appAutofocus"; "required": false; }; }, {}, never, never, true, never>;
73
- }
74
-
75
- declare class RtlLang implements OnChanges {
76
- private el;
77
- private renderer;
78
- lang: string;
79
- constructor(el: ElementRef, renderer: Renderer2);
80
- ngOnChanges(changes: SimpleChanges): void;
81
- static ɵfac: i0.ɵɵFactoryDeclaration<RtlLang, never>;
82
- static ɵdir: i0.ɵɵDirectiveDeclaration<RtlLang, "[appRtlLang]", never, { "lang": { "alias": "appRtlLang"; "required": false; }; }, {}, never, never, true, never>;
83
- }
84
-
85
- declare class TafqeetPipe implements PipeTransform {
86
- transform(value: number, currencyName?: string): string;
87
- private toArabicWords;
88
- static ɵfac: i0.ɵɵFactoryDeclaration<TafqeetPipe, never>;
89
- static ɵpipe: i0.ɵɵPipeDeclaration<TafqeetPipe, "tafqeet", true>;
90
- }
91
-
92
- declare class TimeAgoWithFullDatePipe implements PipeTransform {
93
- private datePipe;
94
- constructor(datePipe: DatePipe);
95
- transform(value: Date | string | null): string;
96
- static ɵfac: i0.ɵɵFactoryDeclaration<TimeAgoWithFullDatePipe, never>;
97
- static ɵpipe: i0.ɵɵPipeDeclaration<TimeAgoWithFullDatePipe, "timeAgoWithFullDate", true>;
98
- }
99
-
100
- interface ActionDef<T> {
101
- name: string;
102
- icon?: string;
103
- label?: string;
104
- styleClass?: string;
105
- action?: (item: T) => void | Promise<void>;
106
- }
107
-
108
- declare class AttachmentDto {
109
- id?: number;
110
- binaryObjectId?: string;
111
- description?: string;
112
- mimeType?: string | any;
113
- fileName?: string;
114
- base64?: string;
115
- caption?: string;
116
- link?: string;
117
- }
118
-
119
- interface ButtonConfig {
120
- icon: string;
121
- label: string;
122
- position?: 'top' | 'bottom';
123
- variant: 'text' | 'outlined' | 'raised' | 'rounded';
124
- severity: 'primary' | 'secondary' | 'success' | 'info' | 'warn' | 'danger' | 'help' | 'contrast';
125
- size: 'small' | 'normal' | 'large';
126
- actionName?: string;
127
- permission?: string;
128
- }
129
-
130
- interface ColumnDef<T> {
131
- header: string;
132
- /** تقييد المفاتيح لتكون من خصائص T */
133
- field: keyof T | string;
134
- width?: string;
135
- pipe?: (value: any) => string;
136
- clickable?: boolean;
137
- hoverable?: boolean;
138
- clickAction?: (row: T, event?: MouseEvent) => void;
139
- /** تنسيق مخصص للخلية: إن وُجد يُستخدم بدل field/pipe */
140
- formatter?: (row: T) => string;
141
- isCardVisible?: boolean;
142
- onCellMouseEnter?: (row: T, event: MouseEvent) => void;
143
- onCellMouseLeave?: (row: T, event: MouseEvent) => void;
144
- fixed?: boolean;
145
- }
146
-
147
- type FilterType = 'text' | 'number' | 'select' | 'date';
148
- interface FilterDef<T> {
149
- /** اسم الحقل في بياناتك */
150
- field: keyof T;
151
- /** نص العنوان للعرض */
152
- label: string;
153
- /** نوع البحث */
154
- type: FilterType;
155
- /** للقوائم المنسدلة فقط */
156
- options?: {
157
- label: string;
158
- value: any;
159
- }[];
160
- }
161
-
162
- interface PaginatedResult<T> {
163
- items: T[];
164
- totalCount: number;
165
- }
166
-
167
- declare namespace Rest {
168
- type Config = Partial<{
169
- apiName: string;
170
- skipHandleError: boolean;
171
- skipAddingHeader: boolean;
172
- observe: Observe;
173
- httpParamEncoder?: HttpParameterCodec;
174
- }>;
175
- const enum Observe {
176
- Body = "body",
177
- Events = "events",
178
- Response = "response"
179
- }
180
- const enum ResponseType {
181
- ArrayBuffer = "arraybuffer",
182
- Blob = "blob",
183
- JSON = "json",
184
- Text = "text"
185
- }
186
- type Params = HttpParams | {
187
- [param: string]: any;
188
- };
189
- interface Request<T> {
190
- body?: T;
191
- headers?: HttpHeaders | {
192
- [header: string]: string | string[];
193
- };
194
- method: string;
195
- params?: Params;
196
- reportProgress?: boolean;
197
- responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
198
- url: string;
199
- withCredentials?: boolean;
200
- }
201
- }
202
-
203
- declare class RestService {
204
- protected options: Root;
205
- protected http: HttpClient;
206
- private environment;
207
- constructor(options: Root, http: HttpClient);
208
- protected getApiFromStore(apiName: string | undefined): string;
209
- handleError(err: any): Observable<any>;
210
- request<T, R>(request: HttpRequest<T> | Rest.Request<T>, config?: Rest.Config, api?: string): Observable<R>;
211
- private getHttpClient;
212
- private getParams;
213
- private removeDuplicateSlashes;
214
- static ɵfac: i0.ɵɵFactoryDeclaration<RestService, never>;
215
- static ɵprov: i0.ɵɵInjectableDeclaration<RestService>;
216
- }
217
- declare function isUndefinedOrEmptyString(value: unknown): boolean;
218
-
219
- declare class BaseService {
220
- restService: RestService;
221
- apiName: string;
222
- moduleName: string;
223
- constructor(restService: RestService);
224
- get: (id: string) => rxjs.Observable<any>;
225
- getList: (input: any, endpoint?: string) => rxjs.Observable<PaginatedResult<any>>;
226
- create: (input: any) => rxjs.Observable<any>;
227
- update: (id: string, input: any) => rxjs.Observable<any>;
228
- delete: (id: string) => rxjs.Observable<void>;
229
- static ɵfac: i0.ɵɵFactoryDeclaration<BaseService, never>;
230
- static ɵprov: i0.ɵɵInjectableDeclaration<BaseService>;
231
- }
232
-
233
- interface CrudService<T, F = any> {
234
- getAll(): Observable<T[]>;
235
- getPage(pageIndex: number, pageSize: number, filters: Partial<F>, sort?: string): Observable<PaginatedResult<T>>;
236
- getById(id: any): Observable<T>;
237
- create(item: Partial<T>): Observable<T>;
238
- update(id: any, item: Partial<T>): Observable<T>;
239
- delete(id: any): Observable<void>;
240
- }
241
-
242
- /**
243
- * GenericService<T, K>:
244
- * - T = نوع الكائن (Model)
245
- * - K = نوع المفتاح الأساسي (ID)، افتراضي number
246
- *
247
- * يحتوي على جميع دوال الـ CRUD القياسية للتوريث في الخدمات المتخصصة.
248
- */
249
- declare abstract class GenericService<T, K = number> implements CrudService<T, Record<string, any>> {
250
- protected http: HttpClient;
251
- /**
252
- * ✏️ على كل خدمة فرعية أن تعرّف هذا:
253
- * مثال: protected baseUrl = 'https://api.example.com/api/jobtyps';
254
- */
255
- protected abstract baseUrl: string;
256
- constructor(http: HttpClient);
257
- /**
258
- * جلب كل السجلات
259
- */
260
- getAll(): Observable<T[]>;
261
- /**
262
- * جلب سجل واحد بناءً على المعرف
263
- */
264
- getById(id: K): Observable<T>;
265
- /**
266
- * إنشاء سجل جديد
267
- */
268
- create(item: Partial<T>): Observable<T>;
269
- /**
270
- * تحديث سجل موجود
271
- */
272
- update(id: K, item: Partial<T>): Observable<T>;
273
- /**
274
- * حذف سجل
275
- */
276
- delete(id: K): Observable<void>;
277
- /** endpoint قابل للتخصيص — يمكن للفرع override–ها */
278
- protected getPageUrl(): string;
279
- /**
280
- * جلب صفحة من البيانات مع دعم الفلاتر والفرز
281
- * @param pageIndex صفر-based
282
- * @param pageSize عدد السجلات
283
- * @param filters كائن Partial<T> أو Record<string,any>
284
- * @param sort نص الفرز، مثلاً "eiNa:desc"
285
- */
286
- getPage(pageIndex: number, pageSize: number, filters?: Record<string, any>, sort?: string): Observable<PaginatedResult<T>>;
287
- }
288
-
289
- declare const REQUEST: InjectionToken<Request<express_serve_static_core.ParamsDictionary, any, any, qs.ParsedQs, Record<string, any>>>;
290
- declare class SsrCookieService {
291
- private document;
292
- private platformId;
293
- private request;
294
- private readonly documentIsAccessible;
295
- static initialUrl: string;
296
- constructor(document: Document, platformId: any, request: Request);
297
- /**
298
- * Get cookie Regular Expression
299
- *
300
- * @param name Cookie name
301
- * @returns property RegExp
302
- *
303
- * @author: Stepan Suvorov
304
- * @since: 1.0.0
305
- */
306
- static getCookieRegExp(name: string): RegExp;
307
- /**
308
- * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).
309
- *
310
- * @param encodedURIComponent A value representing an encoded URI component.
311
- *
312
- * @returns The unencoded version of an encoded component of a Uniform Resource Identifier (URI).
313
- *
314
- * @author: Stepan Suvorov
315
- * @since: 1.0.0
316
- */
317
- static safeDecodeURIComponent(encodedURIComponent: string): string;
318
- /**
319
- * Return `true` if {@link Document} is accessible, otherwise return `false`
320
- *
321
- * @param name Cookie name
322
- * @returns boolean - whether cookie with specified name exists
323
- *
324
- * @author: Stepan Suvorov
325
- * @since: 1.0.0
326
- */
327
- check(name: string): boolean;
328
- isDocumentIsAccessible(): boolean;
329
- get url(): string;
330
- /**
331
- * Get cookies by name
332
- *
333
- * @param name Cookie name
334
- * @returns property value
335
- *
336
- * @author: Stepan Suvorov
337
- * @since: 1.0.0
338
- */
339
- get(name: string): string;
340
- /**
341
- * Get all cookies in JSON format
342
- *
343
- * @returns all the cookies in json
344
- *
345
- * @author: Stepan Suvorov
346
- * @since: 1.0.0
347
- */
348
- getAll(): {
349
- [key: string]: string;
350
- };
351
- /**
352
- * Set cookie based on provided information
353
- *
354
- * @param name Cookie name
355
- * @param value Cookie value
356
- * @param expires Number of days until the cookies expires or an actual `Date`
357
- * @param path Cookie path
358
- * @param domain Cookie domain
359
- * @param secure Secure flag
360
- * @param sameSite OWASP same site token `Lax`, `None`, or `Strict`. Defaults to `Lax`
361
- * @param partitioned Partitioned flag
362
- *
363
- * @author: Stepan Suvorov
364
- * @since: 1.0.0
365
- */
366
- set(name: string, value: string, expires?: number | Date, path?: string, domain?: string, secure?: boolean, sameSite?: 'Lax' | 'None' | 'Strict', partitioned?: boolean): void;
367
- /**
368
- * Set cookie based on provided information
369
- *
370
- * Cookie's parameters:
371
- * <pre>
372
- * expires Number of days until the cookies expires or an actual `Date`
373
- * path Cookie path
374
- * domain Cookie domain
375
- * secure Cookie secure flag
376
- * sameSite OWASP same site token `Lax`, `None`, or `Strict`. Defaults to `Lax`
377
- * </pre>
378
- *
379
- * @param name Cookie name
380
- * @param value Cookie value
381
- * @param options Body with cookie's params
382
- *
383
- * @author: Stepan Suvorov
384
- * @since: 1.0.0
385
- */
386
- set(name: string, value: string, options?: {
387
- expires?: number | Date;
388
- path?: string;
389
- domain?: string;
390
- secure?: boolean;
391
- sameSite?: 'Lax' | 'None' | 'Strict';
392
- partitioned?: boolean;
393
- }): void;
394
- /**
395
- * Delete cookie by name
396
- *
397
- * @param name Cookie name
398
- * @param path Cookie path
399
- * @param domain Cookie domain
400
- * @param secure Cookie secure flag
401
- * @param sameSite Cookie sameSite flag - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
402
- *
403
- * @author: Stepan Suvorov
404
- * @since: 1.0.0
405
- */
406
- delete(name: string, path?: string, domain?: string, secure?: boolean, sameSite?: 'Lax' | 'None' | 'Strict'): void;
407
- /**
408
- * Delete all cookies
409
- *
410
- * @param path Cookie path
411
- * @param domain Cookie domain
412
- * @param secure Is the Cookie secure
413
- * @param sameSite Is the cookie same site
414
- *
415
- * @author: Stepan Suvorov
416
- * @since: 1.0.0
417
- */
418
- deleteAll(path?: string, domain?: string, secure?: boolean, sameSite?: 'Lax' | 'None' | 'Strict'): void;
419
- static ɵfac: i0.ɵɵFactoryDeclaration<SsrCookieService, [null, null, { optional: true; }]>;
420
- static ɵprov: i0.ɵɵInjectableDeclaration<SsrCookieService>;
421
- }
422
-
423
- declare class SwalService {
424
- /** رسالة تأكيد قبل تنفيذ إجراء */
425
- confirm(title?: string, text?: string, confirmButtonText?: string, cancelButtonText?: string): Promise<SweetAlertResult>;
426
- /** رسالة نجاح */
427
- success(title: string, text?: string, timer?: number): Promise<SweetAlertResult>;
428
- /** رسالة خطأ */
429
- error(title: string, text?: string, footer?: string): Promise<SweetAlertResult>;
430
- /** رسالة معلومات */
431
- info(title: string, text?: string): Promise<SweetAlertResult>;
432
- /** عرض نافذة SweetAlert2 بأي خيارات تريد */
433
- alert(options: SweetAlertOptions): Promise<SweetAlertResult>;
434
- /** Toast بسيط قابل لإعادة الاستخدام */
435
- toast(title: string, icon?: SweetAlertIcon, position?: SweetAlertOptions['position'], timer?: number): void;
436
- static ɵfac: i0.ɵɵFactoryDeclaration<SwalService, never>;
437
- static ɵprov: i0.ɵɵInjectableDeclaration<SwalService>;
438
- }
439
-
440
- declare function provideEnvironmentConfig(config: EnvironmentConfig): Provider;
441
-
442
- declare function withFormlyFieldInput(): ConfigOption;
443
-
444
- interface FormlyFieldProps extends FormlyFieldProps$1 {
445
- hideRequiredMarker?: boolean;
446
- hideLabel?: boolean;
447
- }
448
- declare class FormlyWrapperFormField extends FieldWrapper<FormlyFieldConfig<FormlyFieldProps>> {
449
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyWrapperFormField, never>;
450
- static ɵcmp: i0.ɵɵComponentDeclaration<FormlyWrapperFormField, "formly-wrapper-primeng-form-field", never, {}, {}, never, never, false, never>;
451
- }
452
- declare class FormlyWrapperFormFieldNo extends FieldWrapper<FormlyFieldConfig<FormlyFieldProps>> {
453
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyWrapperFormFieldNo, never>;
454
- static ɵcmp: i0.ɵɵComponentDeclaration<FormlyWrapperFormFieldNo, "formly-wrapper-primeng-form-field-no", never, {}, {}, never, never, false, never>;
455
- }
456
-
457
- declare class FormlyFormFieldModule {
458
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyFormFieldModule, never>;
459
- static ɵmod: i0.ɵɵNgModuleDeclaration<FormlyFormFieldModule, [typeof FormlyWrapperFormField, typeof FormlyWrapperFormFieldNo], [typeof i1.CommonModule, typeof i2.ReactiveFormsModule, typeof i5.FormlyModule, typeof i5$1.TranslateModule, typeof i5$1.TranslatePipe], [typeof FormlyWrapperFormField]>;
460
- static ɵinj: i0.ɵɵInjectorDeclaration<FormlyFormFieldModule>;
461
- }
462
-
463
- declare class FormlyInputModule {
464
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyInputModule, never>;
465
- static ɵmod: i0.ɵɵNgModuleDeclaration<FormlyInputModule, never, [typeof i1.CommonModule, typeof i2.ReactiveFormsModule, typeof i3.InputTextModule, typeof FormlyFormFieldModule, typeof i5.FormlyModule], never>;
466
- static ɵinj: i0.ɵɵInjectorDeclaration<FormlyInputModule>;
467
- }
468
-
469
- declare function withFormlyFormField(): ConfigOption;
470
-
471
- interface InputProps extends FormlyFieldProps {
472
- showButtons?: boolean;
473
- autofocus?: boolean;
474
- useGrouping?: boolean;
475
- }
476
- interface FormlyInputFieldConfig extends FormlyFieldConfig<InputProps> {
477
- type: 'input' | Type<FormlyFieldInput>;
478
- }
479
- declare class FormlyFieldInput extends FieldType<FieldTypeConfig<InputProps>> implements AfterViewInit {
480
- inputElement?: ElementRef<HTMLInputElement>;
481
- inputNumberElement?: any;
482
- ngAfterViewInit(): void;
483
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyFieldInput, never>;
484
- static ɵcmp: i0.ɵɵComponentDeclaration<FormlyFieldInput, "formly-field-primeng-input", never, {}, {}, never, never, true, never>;
485
- }
486
-
487
- declare function withFormlyFieldRadio(): ConfigOption;
488
-
489
- type RadioProps = FormlyFieldProps;
490
- interface FormlyRadioFieldConfig extends FormlyFieldConfig<RadioProps> {
491
- type: 'radio' | Type<FormlyFieldRadio>;
492
- }
493
- declare class FormlyFieldRadio extends FieldType<FieldTypeConfig<RadioProps>> {
494
- get disabledControl(): UntypedFormControl;
495
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyFieldRadio, never>;
496
- static ɵcmp: i0.ɵɵComponentDeclaration<FormlyFieldRadio, "formly-field-primeng-radio", never, {}, {}, never, never, false, never>;
497
- }
498
-
499
- declare class FormlyRadioModule {
500
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyRadioModule, never>;
501
- static ɵmod: i0.ɵɵNgModuleDeclaration<FormlyRadioModule, [typeof FormlyFieldRadio], [typeof i1.CommonModule, typeof i2.ReactiveFormsModule, typeof i4.RadioButtonModule, typeof FormlyFormFieldModule, typeof i6.FormlySelectModule, typeof i5.FormlyModule], never>;
502
- static ɵinj: i0.ɵɵInjectorDeclaration<FormlyRadioModule>;
503
- }
504
-
505
- declare function withFormlyFieldSelect(): ConfigOption;
506
-
507
- declare class FormlySelectModule {
508
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlySelectModule, never>;
509
- static ɵmod: i0.ɵɵNgModuleDeclaration<FormlySelectModule, never, [typeof i1.CommonModule, typeof i2.ReactiveFormsModule, typeof i3$1.SelectModule, typeof FormlyFormFieldModule, typeof i6.FormlySelectModule, typeof i5.FormlyModule], never>;
510
- static ɵinj: i0.ɵɵInjectorDeclaration<FormlySelectModule>;
511
- }
512
-
513
- interface SelectProps extends FormlyFieldProps, FormlyFieldSelectProps {
514
- appendTo?: Select['appendTo'];
515
- filter?: boolean;
516
- filterBy?: string;
517
- }
518
- interface FormlySelectFieldConfig extends FormlyFieldConfig<SelectProps> {
519
- type: 'select' | Type<FormlyFieldSelect>;
520
- }
521
- declare class FormlyFieldSelect extends FieldType<FieldTypeConfig<SelectProps>> {
522
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyFieldSelect, never>;
523
- static ɵcmp: i0.ɵɵComponentDeclaration<FormlyFieldSelect, "formly-field-primeng-select", never, {}, {}, never, never, true, never>;
524
- }
525
-
526
- declare function withFormlyFieldCheckbox(): ConfigOption;
527
-
528
- declare class FormlyCheckboxModule {
529
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyCheckboxModule, never>;
530
- static ɵmod: i0.ɵɵNgModuleDeclaration<FormlyCheckboxModule, never, [typeof i1.CommonModule, typeof i2.ReactiveFormsModule, typeof i3$2.CheckboxModule, typeof FormlyFormFieldModule, typeof i5.FormlyModule], never>;
531
- static ɵinj: i0.ɵɵInjectorDeclaration<FormlyCheckboxModule>;
532
- }
533
-
534
- interface FormlyCheckboxFieldConfig extends FormlyFieldConfig<FormlyFieldProps> {
535
- type: 'checkbox' | Type<FormlyFieldCheckbox>;
536
- }
537
- declare class FormlyFieldCheckbox extends FieldType<FieldTypeConfig<FormlyFieldProps>> {
538
- defaultOptions: {
539
- props: {
540
- hideLabel: boolean;
541
- };
542
- };
543
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyFieldCheckbox, never>;
544
- static ɵcmp: i0.ɵɵComponentDeclaration<FormlyFieldCheckbox, "formly-field-primeng-checkbox", never, {}, {}, never, never, true, never>;
545
- }
546
-
547
- declare function withFormlyFieldTextArea(): ConfigOption;
548
-
549
- declare class FormlyTextAreaModule {
550
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyTextAreaModule, never>;
551
- static ɵmod: i0.ɵɵNgModuleDeclaration<FormlyTextAreaModule, never, [typeof i1.CommonModule, typeof i2.ReactiveFormsModule, typeof i3$3.TextareaModule, typeof FormlyFormFieldModule, typeof i5.FormlyModule], never>;
552
- static ɵinj: i0.ɵɵInjectorDeclaration<FormlyTextAreaModule>;
553
- }
554
-
555
- interface TextAreaProps extends FormlyFieldProps {
556
- }
557
- interface FormlyTextAreaFieldConfig extends FormlyFieldConfig<TextAreaProps> {
558
- type: 'textarea' | Type<FormlyFieldTextArea>;
559
- }
560
- declare class FormlyFieldTextArea extends FieldType<FieldTypeConfig<TextAreaProps>> {
561
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyFieldTextArea, never>;
562
- static ɵcmp: i0.ɵɵComponentDeclaration<FormlyFieldTextArea, "formly-field-primeng-textarea", never, {}, {}, never, never, true, never>;
563
- }
564
-
565
- declare function withFormlyFieldDatepicker(): ConfigOption;
566
-
567
- declare class FormlyDatepickerModule {
568
- static ɵfac: i0.ɵɵFactoryDeclaration<FormlyDatepickerModule, never>;
569
- static ɵmod: i0.ɵɵNgModuleDeclaration<FormlyDatepickerModule, never, [typeof i1.CommonModule, typeof i2.ReactiveFormsModule, typeof i3$4.DatePickerModule, typeof FormlyFormFieldModule, typeof i5.FormlyModule], never>;
570
- static ɵinj: i0.ɵɵInjectorDeclaration<FormlyDatepickerModule>;
571
- }
572
-
573
- declare abstract class BaseCrud<T, F = any> {
574
- list: T[];
575
- paginator: boolean;
576
- canLoad: boolean;
577
- loading: boolean;
578
- errorMsg: string;
579
- first: number;
580
- rows: number;
581
- totalRecords: number;
582
- searchGlobal: string;
583
- sort?: string;
584
- pageFilters: Partial<F>;
585
- currentFilters: Partial<F>;
586
- mode: string;
587
- scrollHeight: string;
588
- private swalService;
589
- protected dialogRef: DynamicDialogRef;
590
- abstract service: BaseService;
591
- abstract dialogService: DialogService;
592
- abstract actions: ActionDef<T>[];
593
- abstract formFields: FormlyFieldConfig[];
594
- abstract idField: keyof T;
595
- dialogVisible: boolean;
596
- drawerVisible: boolean;
597
- selectedItem: T | any;
598
- defaultModel: T | any;
599
- isViewMode: boolean;
600
- isEditMode: boolean;
601
- displayMode: 'drawer' | 'dialog' | 'route' | Partial<Record<'add' | 'edit' | 'view', 'drawer' | 'dialog' | 'route'>>;
602
- private router;
603
- private route;
604
- loadPage(pageIndex: number, pageSize: number): void;
605
- onSearch(filters?: any): void;
606
- onPageChange(event: {
607
- first?: number;
608
- rows?: number;
609
- sort?: string;
610
- filters?: Record<string, any>;
611
- }): void;
612
- protected openEditor(item: T | null, mode: 'add' | 'edit' | 'view'): void;
613
- visibleChange(value: boolean): void;
614
- onTableAction(event: {
615
- name: string;
616
- row: T | null;
617
- }): void;
618
- protected openDrawer(item: T | null, mode: string): void;
619
- openDeactivationReason(model: any): void;
620
- onDelete(item: any): void;
621
- get columns(): FormlyFieldConfig[];
622
- get filters(): FormlyFieldConfig[];
623
- static ɵfac: i0.ɵɵFactoryDeclaration<BaseCrud<any, any>, never>;
624
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseCrud<any, any>, never, never, {}, {}, never, never, true, never>;
625
- }
626
-
627
- declare const DEFAULT_CONTROL_CLASS: string;
628
- interface SelectOption {
629
- label: string;
630
- value: any;
631
- icon?: string;
632
- }
633
- declare function numberField(key: string, label: string, required?: boolean, className?: string): FormlyFieldConfig;
634
- declare function textField(key: string, label: string, required?: boolean, className?: string, extraTemplateOptions?: {
635
- [key: string]: any;
636
- }): FormlyFieldConfig;
637
- declare function textField2(key: string, label: string, required?: boolean, className?: string, expressions?: FormlyFieldConfig['expressions']): FormlyFieldConfig;
638
- declare function textareaField(key: string, label: string, rows?: number, className?: string): FormlyFieldConfig;
639
- interface SelectFieldOptions {
640
- key: string;
641
- label: string;
642
- options?: SelectOption[] | Observable<SelectOption[]>;
643
- className?: string;
644
- defaultValue?: any;
645
- required?: boolean;
646
- fullWidth?: boolean;
647
- }
648
- declare function selectField({ key, label, options, className, defaultValue, fullWidth, required, }: SelectFieldOptions): FormlyFieldConfig;
649
- declare function checkboxField(key: string, label: string, required?: boolean, className?: string): FormlyFieldConfig;
650
-
651
- export { AttachmentDto, AutofocusDirective, BaseCrud, BaseService, CORE_OPTIONS, DEFAULT_CONTROL_CLASS, ENVIRONMENT, FormlyCheckboxModule, FormlyDatepickerModule, FormlyFieldCheckbox, FormlyFieldInput, FormlyFieldRadio, FormlyFieldSelect, FormlyFieldTextArea, FormlyFormFieldModule, FormlyInputModule, FormlyRadioModule, FormlySelectModule, FormlyTextAreaModule, FormlyWrapperFormField, GeneralResponse, GenericService, ListResultDto, PagedResultDto, REQUEST, Rest, RestService, RtlLang, SsrCookieService, SwalService, TafqeetPipe, TimeAgoWithFullDatePipe, checkHasProp, checkboxField, coreOptionsFactory, isUndefinedOrEmptyString, numberField, provideEnvironmentConfig, selectField, textField, textField2, textareaField, withFormlyFieldCheckbox, withFormlyFieldDatepicker, withFormlyFieldInput, withFormlyFieldRadio, withFormlyFieldSelect, withFormlyFieldTextArea, withFormlyFormField };
652
- export type { ActionDef, ButtonConfig, ColumnDef, CrudService, EnvironmentConfig, FilterDef, FilterType, FormlyCheckboxFieldConfig, FormlyFieldProps, FormlyInputFieldConfig, FormlyRadioFieldConfig, FormlySelectFieldConfig, FormlyTextAreaFieldConfig, PaginatedResult, Root, SelectFieldOptions, SelectOption };
8
+ export { NgCore };
@@ -0,0 +1,3 @@
1
+ # @elite.framework/ng.core/models
2
+
3
+ Secondary entry point of `@elite.framework/ng.core`. It can be used by importing from `@elite.framework/ng.core/models`.