@flusys/ng-shared 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +282 -344
- package/fesm2022/flusys-ng-shared.mjs +113 -232
- package/fesm2022/flusys-ng-shared.mjs.map +1 -1
- package/package.json +2 -2
- package/types/flusys-ng-shared.d.ts +57 -182
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flusys/ng-shared",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Shared components and utilities for FLUSYS Angular packages",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"peerDependencies": {
|
|
7
7
|
"@angular/common": ">=21.0.0",
|
|
8
8
|
"@angular/core": ">=21.0.0",
|
|
9
9
|
"@angular/forms": ">=21.0.0",
|
|
10
|
-
"@flusys/ng-core": ">=3.0.
|
|
10
|
+
"@flusys/ng-core": ">=3.0.1",
|
|
11
11
|
"@primeuix/themes": ">=1.0.0",
|
|
12
12
|
"primeicons": ">=7.0.0",
|
|
13
13
|
"primeng": ">=21.0.0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { Signal, Injector, ResourceRef, model, ElementRef, DestroyRef, InjectionToken } from '@angular/core';
|
|
3
|
+
import { Signal, Injector, ResourceRef, model, OnDestroy, ElementRef, TemplateRef, DestroyRef, InjectionToken } from '@angular/core';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import * as i2 from '@angular/forms';
|
|
6
6
|
import { ControlValueAccessor } from '@angular/forms';
|
|
@@ -41,25 +41,18 @@ import * as i31 from 'primeng/tabs';
|
|
|
41
41
|
import * as i32 from 'primeng/tag';
|
|
42
42
|
import * as i33 from 'primeng/textarea';
|
|
43
43
|
import * as i34 from 'primeng/toast';
|
|
44
|
-
import * as i35 from 'primeng/
|
|
45
|
-
import * as i36 from 'primeng/
|
|
46
|
-
import * as i37 from 'primeng/
|
|
44
|
+
import * as i35 from 'primeng/togglebutton';
|
|
45
|
+
import * as i36 from 'primeng/toggleswitch';
|
|
46
|
+
import * as i37 from 'primeng/tooltip';
|
|
47
|
+
import * as i38 from 'primeng/treetable';
|
|
48
|
+
import * as i39 from 'primeng/progressspinner';
|
|
49
|
+
import * as i40 from 'primeng/colorpicker';
|
|
47
50
|
import * as _flusys_ng_shared from '@flusys/ng-shared';
|
|
48
51
|
import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';
|
|
49
52
|
import { FormValueControl } from '@angular/forms/signals';
|
|
50
53
|
import { MessageService, ConfirmationService } from 'primeng/api';
|
|
51
54
|
import * as _flusys_ng_core from '@flusys/ng-core';
|
|
52
55
|
|
|
53
|
-
/**
|
|
54
|
-
* Centralized Permission Codes
|
|
55
|
-
*
|
|
56
|
-
* Single source of truth for all permission codes used across the application.
|
|
57
|
-
* Use these constants instead of hardcoded strings to prevent typos and enable easy refactoring.
|
|
58
|
-
*
|
|
59
|
-
* Naming Convention: <entity>.<action>
|
|
60
|
-
* - entity: The resource being accessed (e.g., user, role, company)
|
|
61
|
-
* - action: The operation being performed (create, read, update, delete, assign)
|
|
62
|
-
*/
|
|
63
56
|
declare const USER_PERMISSIONS: {
|
|
64
57
|
readonly CREATE: "user.create";
|
|
65
58
|
readonly READ: "user.read";
|
|
@@ -142,9 +135,24 @@ declare const FORM_PERMISSIONS: {
|
|
|
142
135
|
readonly UPDATE: "form.update";
|
|
143
136
|
readonly DELETE: "form.delete";
|
|
144
137
|
};
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
138
|
+
declare const EVENT_PERMISSIONS: {
|
|
139
|
+
readonly CREATE: "event.create";
|
|
140
|
+
readonly READ: "event.read";
|
|
141
|
+
readonly UPDATE: "event.update";
|
|
142
|
+
readonly DELETE: "event.delete";
|
|
143
|
+
};
|
|
144
|
+
declare const EVENT_PARTICIPANT_PERMISSIONS: {
|
|
145
|
+
readonly CREATE: "event-participant.create";
|
|
146
|
+
readonly READ: "event-participant.read";
|
|
147
|
+
readonly UPDATE: "event-participant.update";
|
|
148
|
+
readonly DELETE: "event-participant.delete";
|
|
149
|
+
};
|
|
150
|
+
declare const NOTIFICATION_PERMISSIONS: {
|
|
151
|
+
readonly CREATE: "notification.create";
|
|
152
|
+
readonly READ: "notification.read";
|
|
153
|
+
readonly UPDATE: "notification.update";
|
|
154
|
+
readonly DELETE: "notification.delete";
|
|
155
|
+
};
|
|
148
156
|
declare const PERMISSIONS: {
|
|
149
157
|
readonly USER: {
|
|
150
158
|
readonly CREATE: "user.create";
|
|
@@ -228,6 +236,24 @@ declare const PERMISSIONS: {
|
|
|
228
236
|
readonly UPDATE: "form.update";
|
|
229
237
|
readonly DELETE: "form.delete";
|
|
230
238
|
};
|
|
239
|
+
readonly EVENT: {
|
|
240
|
+
readonly CREATE: "event.create";
|
|
241
|
+
readonly READ: "event.read";
|
|
242
|
+
readonly UPDATE: "event.update";
|
|
243
|
+
readonly DELETE: "event.delete";
|
|
244
|
+
};
|
|
245
|
+
readonly EVENT_PARTICIPANT: {
|
|
246
|
+
readonly CREATE: "event-participant.create";
|
|
247
|
+
readonly READ: "event-participant.read";
|
|
248
|
+
readonly UPDATE: "event-participant.update";
|
|
249
|
+
readonly DELETE: "event-participant.delete";
|
|
250
|
+
};
|
|
251
|
+
readonly NOTIFICATION: {
|
|
252
|
+
readonly CREATE: "notification.create";
|
|
253
|
+
readonly READ: "notification.read";
|
|
254
|
+
readonly UPDATE: "notification.update";
|
|
255
|
+
readonly DELETE: "notification.delete";
|
|
256
|
+
};
|
|
231
257
|
};
|
|
232
258
|
type PermissionCode = (typeof PERMISSIONS)[keyof typeof PERMISSIONS][keyof (typeof PERMISSIONS)[keyof typeof PERMISSIONS]];
|
|
233
259
|
|
|
@@ -945,26 +971,15 @@ declare class AngularModule {
|
|
|
945
971
|
|
|
946
972
|
declare class PrimeModule {
|
|
947
973
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PrimeModule, never>;
|
|
948
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<PrimeModule, never, never, [typeof i1$1.AutoCompleteModule, typeof i2$1.AvatarModule, typeof i3$1.ButtonModule, typeof i4.CardModule, typeof i5.CheckboxModule, typeof i6.ConfirmDialogModule, typeof i7.DatePickerModule, typeof i8.DialogModule, typeof i9.DividerModule, typeof i10.FileUploadModule, typeof i11.IconFieldModule, typeof i12.ImageModule, typeof i13.InputIconModule, typeof i14.InputNumberModule, typeof i15.InputTextModule, typeof i16.ListboxModule, typeof i17.MultiSelectModule, typeof i18.PaginatorModule, typeof i19.PanelModule, typeof i20.PasswordModule, typeof i21.PopoverModule, typeof i22.ProgressBarModule, typeof i23.RadioButtonModule, typeof i24.RippleModule, typeof i25.SelectButtonModule, typeof i26.SelectModule, typeof i27.SkeletonModule, typeof i28.SplitButtonModule, typeof i29.StepsModule, typeof i30.TableModule, typeof i31.TabsModule, typeof i32.TagModule, typeof i33.TextareaModule, typeof i34.ToastModule, typeof i35.
|
|
974
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<PrimeModule, never, never, [typeof i1$1.AutoCompleteModule, typeof i2$1.AvatarModule, typeof i3$1.ButtonModule, typeof i4.CardModule, typeof i5.CheckboxModule, typeof i6.ConfirmDialogModule, typeof i7.DatePickerModule, typeof i8.DialogModule, typeof i9.DividerModule, typeof i10.FileUploadModule, typeof i11.IconFieldModule, typeof i12.ImageModule, typeof i13.InputIconModule, typeof i14.InputNumberModule, typeof i15.InputTextModule, typeof i16.ListboxModule, typeof i17.MultiSelectModule, typeof i18.PaginatorModule, typeof i19.PanelModule, typeof i20.PasswordModule, typeof i21.PopoverModule, typeof i22.ProgressBarModule, typeof i23.RadioButtonModule, typeof i24.RippleModule, typeof i25.SelectButtonModule, typeof i26.SelectModule, typeof i27.SkeletonModule, typeof i28.SplitButtonModule, typeof i29.StepsModule, typeof i30.TableModule, typeof i31.TabsModule, typeof i32.TagModule, typeof i33.TextareaModule, typeof i34.ToastModule, typeof i35.ToggleButtonModule, typeof i36.ToggleSwitchModule, typeof i37.TooltipModule, typeof i38.TreeTableModule, typeof i39.ProgressSpinnerModule, typeof i40.ColorPickerModule]>;
|
|
949
975
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<PrimeModule>;
|
|
950
976
|
}
|
|
951
977
|
|
|
952
|
-
|
|
953
|
-
type ServiceName = 'auth' | 'administration' | 'iam' | 'storage' | 'formBuilder' | 'email';
|
|
978
|
+
type ServiceName = 'auth' | 'administration' | 'iam' | 'storage' | 'formBuilder' | 'email' | 'eventManager' | 'notification';
|
|
954
979
|
|
|
955
980
|
/**
|
|
956
981
|
* Service interface for CRUD operations.
|
|
957
|
-
* Matches NestJS shared API controller endpoints
|
|
958
|
-
*
|
|
959
|
-
* | Angular Method | HTTP | NestJS Endpoint | Response Type |
|
|
960
|
-
* |------------------|--------|------------------------|------------------------|
|
|
961
|
-
* | insert() | POST | /{resource}/insert | ISingleResponse<T> |
|
|
962
|
-
* | insertMany() | POST | /{resource}/insert-many| IBulkResponse<T> |
|
|
963
|
-
* | findById() | POST | /{resource}/get/:id | ISingleResponse<T> |
|
|
964
|
-
* | getAll() | POST | /{resource}/get-all | IListResponse<T> |
|
|
965
|
-
* | update() | POST | /{resource}/update | ISingleResponse<T> |
|
|
966
|
-
* | updateMany() | POST | /{resource}/update-many| IBulkResponse<T> |
|
|
967
|
-
* | delete() | POST | /{resource}/delete | IMessageResponse |
|
|
982
|
+
* Matches NestJS shared API controller endpoints (all POST, RPC-style).
|
|
968
983
|
*/
|
|
969
984
|
interface IApiService<DtoT, InterfaceT> {
|
|
970
985
|
insert(dto: DtoT): Observable<ISingleResponse<InterfaceT>>;
|
|
@@ -978,51 +993,15 @@ interface IApiService<DtoT, InterfaceT> {
|
|
|
978
993
|
/**
|
|
979
994
|
* Abstract base class for API services using Angular 21 resource() API.
|
|
980
995
|
* Provides signal-based reactive data fetching with automatic loading states.
|
|
981
|
-
* Response types match FLUSYS_NEST backend DTOs.
|
|
982
|
-
*
|
|
983
|
-
* ## Endpoint Mapping
|
|
984
|
-
*
|
|
985
|
-
* All endpoints use POST method (RPC-style API):
|
|
986
|
-
* - `POST /{resource}/insert` - Create single item
|
|
987
|
-
* - `POST /{resource}/insert-many` - Create multiple items
|
|
988
|
-
* - `POST /{resource}/get/:id` - Get single item by ID
|
|
989
|
-
* - `POST /{resource}/get-all?q=` - List with pagination/filter
|
|
990
|
-
* - `POST /{resource}/update` - Update single item
|
|
991
|
-
* - `POST /{resource}/update-many` - Update multiple items
|
|
992
|
-
* - `POST /{resource}/delete` - Delete/restore/permanent delete
|
|
993
996
|
*
|
|
994
997
|
* @example
|
|
995
998
|
* ```typescript
|
|
996
|
-
* // Define service with global apiBaseUrl
|
|
997
999
|
* @Injectable({ providedIn: 'root' })
|
|
998
1000
|
* export class UserService extends ApiResourceService<UserDto, User> {
|
|
999
1001
|
* constructor() {
|
|
1000
1002
|
* super('auth/users', inject(HttpClient));
|
|
1001
1003
|
* }
|
|
1002
1004
|
* }
|
|
1003
|
-
*
|
|
1004
|
-
* // Define service with feature-specific baseUrl
|
|
1005
|
-
* @Injectable({ providedIn: 'root' })
|
|
1006
|
-
* export class FormService extends ApiResourceService<FormDto, Form> {
|
|
1007
|
-
* constructor() {
|
|
1008
|
-
* super('form', inject(HttpClient), 'formBuilder');
|
|
1009
|
-
* // URL: services.formBuilder.baseUrl + '/form'
|
|
1010
|
-
* }
|
|
1011
|
-
* }
|
|
1012
|
-
*
|
|
1013
|
-
* // In component - use signals
|
|
1014
|
-
* userService = inject(UserService);
|
|
1015
|
-
* users = this.userService.data; // Signal<User[]>
|
|
1016
|
-
* isLoading = this.userService.isLoading; // Signal<boolean>
|
|
1017
|
-
* total = this.userService.total; // Signal<number>
|
|
1018
|
-
*
|
|
1019
|
-
* // Trigger fetch
|
|
1020
|
-
* this.userService.fetchList('search', { pagination: { currentPage: 0, pageSize: 10 } });
|
|
1021
|
-
*
|
|
1022
|
-
* // CRUD operations
|
|
1023
|
-
* await this.userService.insertAsync({ name: 'John', email: 'john@example.com' });
|
|
1024
|
-
* await this.userService.updateAsync({ id: '123', name: 'John Updated' });
|
|
1025
|
-
* await this.userService.deleteAsync({ id: '123', type: 'delete' });
|
|
1026
1005
|
* ```
|
|
1027
1006
|
*/
|
|
1028
1007
|
declare abstract class ApiResourceService<DtoT, InterfaceT> implements IApiService<DtoT, InterfaceT> {
|
|
@@ -1030,149 +1009,41 @@ declare abstract class ApiResourceService<DtoT, InterfaceT> implements IApiServi
|
|
|
1030
1009
|
protected readonly injector: Injector;
|
|
1031
1010
|
protected readonly http: HttpClient;
|
|
1032
1011
|
protected readonly moduleApiName: string;
|
|
1033
|
-
/** Current search term */
|
|
1034
1012
|
readonly searchTerm: _angular_core.WritableSignal<string>;
|
|
1035
|
-
/** Current filter and pagination state */
|
|
1036
1013
|
readonly filterData: _angular_core.WritableSignal<IFilterData>;
|
|
1037
|
-
/**
|
|
1038
|
-
* Resource for list data - lazy initialized to prevent auto-fetch on service injection.
|
|
1039
|
-
* Call initListResource() or any list method (fetchList, reload, etc.) to initialize.
|
|
1040
|
-
*/
|
|
1041
1014
|
private _listResource;
|
|
1042
|
-
/** Whether the list resource has been initialized */
|
|
1043
1015
|
private _resourceInitialized;
|
|
1044
|
-
/**
|
|
1045
|
-
* Signal to track resource initialization for computed signals.
|
|
1046
|
-
* This allows computed signals to re-evaluate when the resource is created.
|
|
1047
|
-
* Without this, computed signals would not detect when _listResource changes from null.
|
|
1048
|
-
*/
|
|
1049
1016
|
private readonly _resourceInitSignal;
|
|
1050
|
-
/** Get or create the list resource (lazy initialization) */
|
|
1051
1017
|
get listResource(): ResourceRef<IListResponse<InterfaceT> | undefined>;
|
|
1052
|
-
/**
|
|
1053
|
-
* Initialize the list resource. Called automatically when accessing listResource
|
|
1054
|
-
* or any list-related computed signals/methods.
|
|
1055
|
-
* Uses runInInjectionContext to support lazy initialization outside constructor.
|
|
1056
|
-
*/
|
|
1057
1018
|
initListResource(): void;
|
|
1058
|
-
/**
|
|
1059
|
-
* Whether data is currently loading.
|
|
1060
|
-
* Tracks _resourceInitSignal to re-evaluate when resource is created.
|
|
1061
|
-
*/
|
|
1062
1019
|
readonly isLoading: _angular_core.Signal<boolean>;
|
|
1063
|
-
/**
|
|
1064
|
-
* List data array.
|
|
1065
|
-
* Tracks _resourceInitSignal to re-evaluate when resource is created.
|
|
1066
|
-
*/
|
|
1067
1020
|
readonly data: _angular_core.Signal<InterfaceT[]>;
|
|
1068
|
-
/**
|
|
1069
|
-
* Total count of items.
|
|
1070
|
-
* Tracks _resourceInitSignal to re-evaluate when resource is created.
|
|
1071
|
-
*/
|
|
1072
1021
|
readonly total: _angular_core.Signal<number>;
|
|
1073
|
-
/**
|
|
1074
|
-
* Pagination metadata.
|
|
1075
|
-
* Tracks _resourceInitSignal to re-evaluate when resource is created.
|
|
1076
|
-
*/
|
|
1077
1022
|
readonly pageInfo: _angular_core.Signal<_flusys_ng_shared.IPaginationMeta | undefined>;
|
|
1078
|
-
/**
|
|
1079
|
-
* Whether there are more pages.
|
|
1080
|
-
* Tracks _resourceInitSignal to re-evaluate when resource is created.
|
|
1081
|
-
*/
|
|
1082
1023
|
readonly hasMore: _angular_core.Signal<boolean>;
|
|
1083
|
-
/**
|
|
1084
|
-
* @param moduleApiName - The API resource path (e.g., 'form' for /form-builder/form)
|
|
1085
|
-
* @param http - HttpClient instance
|
|
1086
|
-
* @param serviceName - Optional service name for feature-specific base URL (e.g., 'formBuilder')
|
|
1087
|
-
*/
|
|
1088
1024
|
constructor(moduleApiName: string, http: HttpClient, serviceName?: ServiceName);
|
|
1089
1025
|
protected getHttpOptions(endpoint: string, params?: HttpParams): {
|
|
1090
1026
|
params?: HttpParams | undefined;
|
|
1091
1027
|
headers: HttpHeaders;
|
|
1092
1028
|
};
|
|
1093
|
-
/**
|
|
1094
|
-
* Fetch list data (triggers resource initialization and reload)
|
|
1095
|
-
*/
|
|
1096
1029
|
fetchList(search?: string, filter?: Partial<IFilterData>): void;
|
|
1097
|
-
/**
|
|
1098
|
-
* Update pagination
|
|
1099
|
-
*/
|
|
1100
1030
|
setPagination(pagination: IPagination): void;
|
|
1101
|
-
/**
|
|
1102
|
-
* Go to next page
|
|
1103
|
-
*/
|
|
1104
1031
|
nextPage(): void;
|
|
1105
|
-
/**
|
|
1106
|
-
* Reset to first page
|
|
1107
|
-
*/
|
|
1108
1032
|
resetPagination(): void;
|
|
1109
|
-
/**
|
|
1110
|
-
* Reload current data
|
|
1111
|
-
*/
|
|
1112
1033
|
reload(): void;
|
|
1113
|
-
/**
|
|
1114
|
-
* Insert single item (Observable)
|
|
1115
|
-
* POST /{resource}/insert
|
|
1116
|
-
*/
|
|
1117
1034
|
insert(dto: DtoT): Observable<ISingleResponse<InterfaceT>>;
|
|
1118
|
-
/**
|
|
1119
|
-
* Insert multiple items (Observable)
|
|
1120
|
-
* POST /{resource}/insert-many
|
|
1121
|
-
*/
|
|
1122
1035
|
insertMany(dtos: DtoT[]): Observable<IBulkResponse<InterfaceT>>;
|
|
1123
|
-
/**
|
|
1124
|
-
* Find single item by ID (Observable)
|
|
1125
|
-
* POST /{resource}/get/:id
|
|
1126
|
-
*/
|
|
1127
1036
|
findById(id: string, select?: string[]): Observable<ISingleResponse<InterfaceT>>;
|
|
1128
|
-
/**
|
|
1129
|
-
* Get all items with pagination (Observable)
|
|
1130
|
-
* POST /{resource}/get-all?q=search
|
|
1131
|
-
*/
|
|
1132
1037
|
getAll(search: string, filter: IFilterData): Observable<IListResponse<InterfaceT>>;
|
|
1133
|
-
/**
|
|
1134
|
-
* Update single item (Observable)
|
|
1135
|
-
* POST /{resource}/update
|
|
1136
|
-
*/
|
|
1137
1038
|
update(dto: DtoT): Observable<ISingleResponse<InterfaceT>>;
|
|
1138
|
-
/**
|
|
1139
|
-
* Update multiple items (Observable)
|
|
1140
|
-
* POST /{resource}/update-many
|
|
1141
|
-
*/
|
|
1142
1039
|
updateMany(dtos: DtoT[]): Observable<IBulkResponse<InterfaceT>>;
|
|
1143
|
-
/**
|
|
1144
|
-
* Delete items (Observable)
|
|
1145
|
-
* POST /{resource}/delete
|
|
1146
|
-
* @param deleteDto - { id: string | string[], type: 'delete' | 'restore' | 'permanent' }
|
|
1147
|
-
*/
|
|
1148
1040
|
delete(deleteDto: IDeleteData): Observable<IMessageResponse>;
|
|
1149
|
-
|
|
1150
|
-
* Fetch paginated list (async)
|
|
1151
|
-
*/
|
|
1152
|
-
protected fetchAllAsync(search: string, filter: IFilterData): Promise<IListResponse<InterfaceT>>;
|
|
1153
|
-
/**
|
|
1154
|
-
* Find single item by ID (async)
|
|
1155
|
-
*/
|
|
1041
|
+
getAllAsync(filter: IFilterData, search?: string): Promise<IListResponse<InterfaceT>>;
|
|
1156
1042
|
findByIdAsync(id: string, select?: string[]): Promise<ISingleResponse<InterfaceT>>;
|
|
1157
|
-
/**
|
|
1158
|
-
* Insert single item (async)
|
|
1159
|
-
*/
|
|
1160
1043
|
insertAsync(dto: DtoT): Promise<ISingleResponse<InterfaceT>>;
|
|
1161
|
-
/**
|
|
1162
|
-
* Insert multiple items (async)
|
|
1163
|
-
*/
|
|
1164
1044
|
insertManyAsync(dtos: DtoT[]): Promise<IBulkResponse<InterfaceT>>;
|
|
1165
|
-
/**
|
|
1166
|
-
* Update single item (async)
|
|
1167
|
-
*/
|
|
1168
1045
|
updateAsync(dto: DtoT): Promise<ISingleResponse<InterfaceT>>;
|
|
1169
|
-
/**
|
|
1170
|
-
* Update multiple items (async)
|
|
1171
|
-
*/
|
|
1172
1046
|
updateManyAsync(dtos: DtoT[]): Promise<IBulkResponse<InterfaceT>>;
|
|
1173
|
-
/**
|
|
1174
|
-
* Delete items (async)
|
|
1175
|
-
*/
|
|
1176
1047
|
deleteAsync(deleteDto: IDeleteData): Promise<IMessageResponse>;
|
|
1177
1048
|
}
|
|
1178
1049
|
|
|
@@ -1282,11 +1153,13 @@ declare class IconComponent {
|
|
|
1282
1153
|
* - Reactive forms: `[formControl]="ctrl"` or `formControlName="field"`
|
|
1283
1154
|
* - Signal forms: `[formField]="formTree.field"`
|
|
1284
1155
|
*/
|
|
1285
|
-
declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null> {
|
|
1286
|
-
private readonly
|
|
1156
|
+
declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null> implements OnDestroy {
|
|
1157
|
+
private readonly document;
|
|
1158
|
+
private readonly appRef;
|
|
1287
1159
|
private readonly onDocumentClickBound;
|
|
1288
|
-
private isDestroyed;
|
|
1289
1160
|
readonly pSelectRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
1161
|
+
readonly overlayTemplate: _angular_core.Signal<TemplateRef<unknown>>;
|
|
1162
|
+
private overlayViewRef;
|
|
1290
1163
|
readonly placeHolder: _angular_core.InputSignal<string>;
|
|
1291
1164
|
readonly isEditMode: _angular_core.InputSignal<boolean>;
|
|
1292
1165
|
readonly isLoading: _angular_core.InputSignal<boolean>;
|
|
@@ -1301,12 +1174,14 @@ declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null>
|
|
|
1301
1174
|
readonly selectedValueDisplay: _angular_core.Signal<string>;
|
|
1302
1175
|
readonly isSelectAll: _angular_core.Signal<boolean>;
|
|
1303
1176
|
constructor();
|
|
1177
|
+
ngOnDestroy(): void;
|
|
1304
1178
|
onScroll(event: Event): void;
|
|
1305
|
-
onSelectClick(
|
|
1179
|
+
onSelectClick(): void;
|
|
1180
|
+
private openOverlay;
|
|
1181
|
+
private closeOverlay;
|
|
1306
1182
|
onOverlayClick(event: Event): void;
|
|
1307
1183
|
private handleDocumentClick;
|
|
1308
1184
|
isSelected(data: IDropDown): boolean;
|
|
1309
|
-
key(option: IDropDown): string;
|
|
1310
1185
|
selectValue(event: CheckboxChangeEvent, option: IDropDown): void;
|
|
1311
1186
|
changeSelectAll(event: CheckboxChangeEvent): void;
|
|
1312
1187
|
clear(event: Event): void;
|
|
@@ -2037,5 +1912,5 @@ interface ScrollPaginationConfig {
|
|
|
2037
1912
|
*/
|
|
2038
1913
|
declare function checkScrollPagination(event: Event, config: ScrollPaginationConfig): IPagination | null;
|
|
2039
1914
|
|
|
2040
|
-
export { ACTION_PERMISSIONS, AUTH_STATE_PROVIDER, AngularModule, ApiResourceService, ApiResourceService as ApiService, BRANCH_PERMISSIONS, BaseFormControl, BaseFormPage, BaseListPage, BaseUserSelectComponent, COMPANY_ACTION_PERMISSIONS, COMPANY_API_PROVIDER, COMPANY_PERMISSIONS, ContactTypeEnum, CookieService, EMAIL_CONFIG_PERMISSIONS, EMAIL_TEMPLATE_PERMISSIONS, EditModeElementChangerDirective, FILE_PERMISSIONS, FILE_TYPE_FILTERS, FOLDER_PERMISSIONS, FORM_PERMISSIONS, FileSelectorDialogComponent, FileUploaderComponent, FileUrlService, HasPermissionDirective, IconComponent, IconTypeEnum, IsEmptyImageDirective, LazyMultiSelectComponent, LazySelectComponent, PERMISSIONS, PROFILE_PERMISSION_PROVIDER, PROFILE_UPLOAD_PROVIDER, PermissionValidatorService, PlatformService, PreventDefaultDirective, PrimeModule, ROLE_ACTION_PERMISSIONS, ROLE_PERMISSIONS, STORAGE_CONFIG_PERMISSIONS, USER_ACTION_PERMISSIONS, USER_LIST_PROVIDER, USER_PERMISSIONS, USER_PERMISSION_PROVIDER, USER_PROVIDER, USER_ROLE_PERMISSIONS, UserMultiSelectComponent, UserSelectComponent, allPermissionsGuard, anyPermissionGuard, checkScrollPagination, evaluateLogicNode, evaluatePermission, formatFileSize, getAcceptString, getFileIconClass, hasAllPermissions, hasAnyPermission, hasPermission, isFileTypeAllowed, permissionGuard, provideValueAccessor };
|
|
1915
|
+
export { ACTION_PERMISSIONS, AUTH_STATE_PROVIDER, AngularModule, ApiResourceService, ApiResourceService as ApiService, BRANCH_PERMISSIONS, BaseFormControl, BaseFormPage, BaseListPage, BaseUserSelectComponent, COMPANY_ACTION_PERMISSIONS, COMPANY_API_PROVIDER, COMPANY_PERMISSIONS, ContactTypeEnum, CookieService, EMAIL_CONFIG_PERMISSIONS, EMAIL_TEMPLATE_PERMISSIONS, EVENT_PARTICIPANT_PERMISSIONS, EVENT_PERMISSIONS, EditModeElementChangerDirective, FILE_PERMISSIONS, FILE_TYPE_FILTERS, FOLDER_PERMISSIONS, FORM_PERMISSIONS, FileSelectorDialogComponent, FileUploaderComponent, FileUrlService, HasPermissionDirective, IconComponent, IconTypeEnum, IsEmptyImageDirective, LazyMultiSelectComponent, LazySelectComponent, NOTIFICATION_PERMISSIONS, PERMISSIONS, PROFILE_PERMISSION_PROVIDER, PROFILE_UPLOAD_PROVIDER, PermissionValidatorService, PlatformService, PreventDefaultDirective, PrimeModule, ROLE_ACTION_PERMISSIONS, ROLE_PERMISSIONS, STORAGE_CONFIG_PERMISSIONS, USER_ACTION_PERMISSIONS, USER_LIST_PROVIDER, USER_PERMISSIONS, USER_PERMISSION_PROVIDER, USER_PROVIDER, USER_ROLE_PERMISSIONS, UserMultiSelectComponent, UserSelectComponent, allPermissionsGuard, anyPermissionGuard, checkScrollPagination, evaluateLogicNode, evaluatePermission, formatFileSize, getAcceptString, getFileIconClass, hasAllPermissions, hasAnyPermission, hasPermission, isFileTypeAllowed, permissionGuard, provideValueAccessor };
|
|
2041
1916
|
export type { ApiResponse, DeleteType, FilesResponseDto, GetFileUrlsFn, IActionNode, IActivatable, IApiService, IAuthStateProvider, IBaseEntity, IBulkMeta, IBulkResponse, ICompanyApiProvider, ICompanyBasicInfo, IDeleteData, IDropDown, IErrorResponse, IFileBasicInfo, IFileData, IFileSelectFilter, IFileUploadOptions, IFilter, IFilterData, IGroupNode, IListResponse, ILoggedUserInfo, ILogicNode, ILoginResponse, ILoginUserData, IMessageResponse, IMetadata, IOrderable, IPagination, IPaginationMeta, IProfileActionInfo, IProfilePermissionProvider, IProfileRoleInfo, IProfileUploadOptions, IProfileUploadProvider, IProfileUploadResult, IRefreshTokenResponse, IRequestMeta, ISingleResponse, ISoftDeletable, ISort, ITimestampable, IUploadedFile, IUserBasicInfo, IUserBranchPayload, IUserBranchPermission, IUserCompanyPayload, IUserListAction, IUserListColumn, IUserListFilter, IUserListItem, IUserListProvider, IUserPermissionProvider, IUserProvider, IUserSelectFilter, IValidationError, LoadFilesFn, LoadUsersFn, PermissionCode, ScrollPaginationConfig, ServiceName, UploadFileFn };
|