@flusys/ng-shared 3.0.1 → 4.0.0-rc
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 +161 -23
- package/fesm2022/flusys-ng-shared.mjs +1540 -387
- package/fesm2022/flusys-ng-shared.mjs.map +1 -1
- package/package.json +2 -2
- package/types/flusys-ng-shared.d.ts +231 -128
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import * as rxjs from 'rxjs';
|
|
1
2
|
import { Observable } from 'rxjs';
|
|
2
3
|
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { Signal, Injector, ResourceRef, model, OnDestroy, ElementRef, TemplateRef, DestroyRef, InjectionToken } from '@angular/core';
|
|
4
|
+
import { Signal, PipeTransform, Provider, Injector, ResourceRef, model, OnDestroy, ElementRef, TemplateRef, DestroyRef, InjectionToken } from '@angular/core';
|
|
5
|
+
import * as i3 from '@angular/router';
|
|
6
|
+
import { ResolveFn, CanActivateFn, Router, ActivatedRoute } from '@angular/router';
|
|
4
7
|
import * as i1 from '@angular/common';
|
|
5
8
|
import * as i2 from '@angular/forms';
|
|
6
9
|
import { ControlValueAccessor } from '@angular/forms';
|
|
7
|
-
import * as i3 from '@angular/router';
|
|
8
|
-
import { CanActivateFn, Router, ActivatedRoute } from '@angular/router';
|
|
9
10
|
import * as i1$1 from 'primeng/autocomplete';
|
|
10
11
|
import * as i2$1 from 'primeng/avatar';
|
|
11
12
|
import * as i3$1 from 'primeng/button';
|
|
@@ -50,8 +51,8 @@ import * as i40 from 'primeng/colorpicker';
|
|
|
50
51
|
import * as _flusys_ng_shared from '@flusys/ng-shared';
|
|
51
52
|
import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';
|
|
52
53
|
import { FormValueControl } from '@angular/forms/signals';
|
|
53
|
-
import { MessageService, ConfirmationService } from 'primeng/api';
|
|
54
54
|
import * as _flusys_ng_core from '@flusys/ng-core';
|
|
55
|
+
import { MessageService, ConfirmationService } from 'primeng/api';
|
|
55
56
|
|
|
56
57
|
declare const USER_PERMISSIONS: {
|
|
57
58
|
readonly CREATE: "user.create";
|
|
@@ -153,6 +154,24 @@ declare const NOTIFICATION_PERMISSIONS: {
|
|
|
153
154
|
readonly UPDATE: "notification.update";
|
|
154
155
|
readonly DELETE: "notification.delete";
|
|
155
156
|
};
|
|
157
|
+
declare const LANGUAGE_PERMISSIONS: {
|
|
158
|
+
readonly CREATE: "language.create";
|
|
159
|
+
readonly READ: "language.read";
|
|
160
|
+
readonly UPDATE: "language.update";
|
|
161
|
+
readonly DELETE: "language.delete";
|
|
162
|
+
};
|
|
163
|
+
declare const TRANSLATION_KEY_PERMISSIONS: {
|
|
164
|
+
readonly CREATE: "translation-key.create";
|
|
165
|
+
readonly READ: "translation-key.read";
|
|
166
|
+
readonly UPDATE: "translation-key.update";
|
|
167
|
+
readonly DELETE: "translation-key.delete";
|
|
168
|
+
};
|
|
169
|
+
declare const TRANSLATION_PERMISSIONS: {
|
|
170
|
+
readonly CREATE: "translation.create";
|
|
171
|
+
readonly READ: "translation.read";
|
|
172
|
+
readonly UPDATE: "translation.update";
|
|
173
|
+
readonly DELETE: "translation.delete";
|
|
174
|
+
};
|
|
156
175
|
declare const PERMISSIONS: {
|
|
157
176
|
readonly USER: {
|
|
158
177
|
readonly CREATE: "user.create";
|
|
@@ -254,9 +273,29 @@ declare const PERMISSIONS: {
|
|
|
254
273
|
readonly UPDATE: "notification.update";
|
|
255
274
|
readonly DELETE: "notification.delete";
|
|
256
275
|
};
|
|
276
|
+
readonly LANGUAGE: {
|
|
277
|
+
readonly CREATE: "language.create";
|
|
278
|
+
readonly READ: "language.read";
|
|
279
|
+
readonly UPDATE: "language.update";
|
|
280
|
+
readonly DELETE: "language.delete";
|
|
281
|
+
};
|
|
282
|
+
readonly TRANSLATION_KEY: {
|
|
283
|
+
readonly CREATE: "translation-key.create";
|
|
284
|
+
readonly READ: "translation-key.read";
|
|
285
|
+
readonly UPDATE: "translation-key.update";
|
|
286
|
+
readonly DELETE: "translation-key.delete";
|
|
287
|
+
};
|
|
288
|
+
readonly TRANSLATION: {
|
|
289
|
+
readonly CREATE: "translation.create";
|
|
290
|
+
readonly READ: "translation.read";
|
|
291
|
+
readonly UPDATE: "translation.update";
|
|
292
|
+
readonly DELETE: "translation.delete";
|
|
293
|
+
};
|
|
257
294
|
};
|
|
258
295
|
type PermissionCode = (typeof PERMISSIONS)[keyof typeof PERMISSIONS][keyof (typeof PERMISSIONS)[keyof typeof PERMISSIONS]];
|
|
259
296
|
|
|
297
|
+
declare const SHARED_MESSAGES: Record<string, string>;
|
|
298
|
+
|
|
260
299
|
/**
|
|
261
300
|
* Base entity interface - matches backend Identity entity
|
|
262
301
|
*/
|
|
@@ -355,12 +394,8 @@ interface IPagination {
|
|
|
355
394
|
pageSize: number;
|
|
356
395
|
currentPage: number;
|
|
357
396
|
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
}
|
|
361
|
-
interface IFilter {
|
|
362
|
-
[key: string]: string | number | boolean | null | undefined | string[] | number[];
|
|
363
|
-
}
|
|
397
|
+
type ISort = Record<string, 'ASC' | 'DESC'>;
|
|
398
|
+
type IFilter = Record<string, string | number | boolean | null | undefined | string[] | number[]>;
|
|
364
399
|
interface IFilterData {
|
|
365
400
|
filter?: IFilter;
|
|
366
401
|
pagination?: IPagination;
|
|
@@ -411,6 +446,8 @@ interface IValidationError {
|
|
|
411
446
|
interface ISingleResponse<T> {
|
|
412
447
|
success: boolean;
|
|
413
448
|
message: string;
|
|
449
|
+
messageKey?: string;
|
|
450
|
+
messageParams?: Record<string, unknown>;
|
|
414
451
|
data?: T;
|
|
415
452
|
_meta?: IRequestMeta;
|
|
416
453
|
}
|
|
@@ -420,6 +457,8 @@ interface ISingleResponse<T> {
|
|
|
420
457
|
interface IListResponse<T> {
|
|
421
458
|
success: boolean;
|
|
422
459
|
message: string;
|
|
460
|
+
messageKey?: string;
|
|
461
|
+
messageParams?: Record<string, unknown>;
|
|
423
462
|
data?: T[];
|
|
424
463
|
meta: IPaginationMeta;
|
|
425
464
|
_meta?: IRequestMeta;
|
|
@@ -430,6 +469,8 @@ interface IListResponse<T> {
|
|
|
430
469
|
interface IBulkResponse<T> {
|
|
431
470
|
success: boolean;
|
|
432
471
|
message: string;
|
|
472
|
+
messageKey?: string;
|
|
473
|
+
messageParams?: Record<string, unknown>;
|
|
433
474
|
data?: T[];
|
|
434
475
|
meta: IBulkMeta;
|
|
435
476
|
_meta?: IRequestMeta;
|
|
@@ -440,6 +481,8 @@ interface IBulkResponse<T> {
|
|
|
440
481
|
interface IMessageResponse {
|
|
441
482
|
success: boolean;
|
|
442
483
|
message: string;
|
|
484
|
+
messageKey?: string;
|
|
485
|
+
messageParams?: Record<string, unknown>;
|
|
443
486
|
_meta?: IRequestMeta;
|
|
444
487
|
}
|
|
445
488
|
/**
|
|
@@ -448,7 +491,8 @@ interface IMessageResponse {
|
|
|
448
491
|
interface IErrorResponse {
|
|
449
492
|
success: false;
|
|
450
493
|
message: string;
|
|
451
|
-
|
|
494
|
+
messageKey?: string;
|
|
495
|
+
messageParams?: Record<string, unknown>;
|
|
452
496
|
errors?: IValidationError[];
|
|
453
497
|
_meta?: IRequestMeta;
|
|
454
498
|
}
|
|
@@ -510,9 +554,6 @@ interface IFileData {
|
|
|
510
554
|
createdAt: Date;
|
|
511
555
|
}
|
|
512
556
|
|
|
513
|
-
/**
|
|
514
|
-
* Basic file info for selectors and displays
|
|
515
|
-
*/
|
|
516
557
|
interface IFileBasicInfo {
|
|
517
558
|
id: string;
|
|
518
559
|
name: string;
|
|
@@ -520,9 +561,23 @@ interface IFileBasicInfo {
|
|
|
520
561
|
size: string;
|
|
521
562
|
url: string | null;
|
|
522
563
|
}
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
564
|
+
interface IUploadedFile {
|
|
565
|
+
id?: string;
|
|
566
|
+
name: string;
|
|
567
|
+
key: string;
|
|
568
|
+
size: number;
|
|
569
|
+
contentType: string;
|
|
570
|
+
}
|
|
571
|
+
interface IFolderBasicInfo {
|
|
572
|
+
id: string;
|
|
573
|
+
name: string;
|
|
574
|
+
slug: string;
|
|
575
|
+
}
|
|
576
|
+
interface IStorageConfigBasicInfo {
|
|
577
|
+
id: string;
|
|
578
|
+
name: string;
|
|
579
|
+
isDefault: boolean;
|
|
580
|
+
}
|
|
526
581
|
interface IFileUploadOptions {
|
|
527
582
|
storageConfigId?: string;
|
|
528
583
|
folderPath?: string;
|
|
@@ -530,42 +585,22 @@ interface IFileUploadOptions {
|
|
|
530
585
|
maxHeight?: number;
|
|
531
586
|
quality?: number;
|
|
532
587
|
compress?: boolean;
|
|
588
|
+
isPrivate?: boolean;
|
|
533
589
|
}
|
|
534
|
-
|
|
535
|
-
* Uploaded file response
|
|
536
|
-
*/
|
|
537
|
-
interface IUploadedFile {
|
|
538
|
-
id?: string;
|
|
539
|
-
name: string;
|
|
540
|
-
key: string;
|
|
541
|
-
size: number;
|
|
542
|
-
contentType: string;
|
|
543
|
-
}
|
|
544
|
-
/**
|
|
545
|
-
* Filter params for file selector
|
|
546
|
-
*/
|
|
547
|
-
interface IFileSelectFilter {
|
|
590
|
+
interface ISelectFilter {
|
|
548
591
|
page: number;
|
|
549
592
|
pageSize: number;
|
|
550
593
|
search: string;
|
|
594
|
+
}
|
|
595
|
+
interface IFileSelectFilter extends ISelectFilter {
|
|
551
596
|
contentTypes?: string[];
|
|
552
597
|
folderId?: string;
|
|
598
|
+
storageConfigId?: string;
|
|
553
599
|
}
|
|
554
|
-
/**
|
|
555
|
-
* Function type for loading files
|
|
556
|
-
*/
|
|
557
600
|
type LoadFilesFn = (filter: IFileSelectFilter) => Observable<IListResponse<IFileBasicInfo>>;
|
|
558
|
-
/**
|
|
559
|
-
* Function type for uploading a file
|
|
560
|
-
*/
|
|
561
601
|
type UploadFileFn = (file: File, options?: IFileUploadOptions) => Observable<ISingleResponse<IUploadedFile>>;
|
|
562
|
-
|
|
563
|
-
* Function type for getting file URLs (presigned URL refresh)
|
|
564
|
-
*/
|
|
602
|
+
type UploadMultipleFilesFn = (files: File[], options?: IFileUploadOptions) => Observable<ISingleResponse<IUploadedFile[]>>;
|
|
565
603
|
type GetFileUrlsFn = (fileIds: string[]) => Observable<ISingleResponse<IFileBasicInfo[]>>;
|
|
566
|
-
/**
|
|
567
|
-
* Common file type filters
|
|
568
|
-
*/
|
|
569
604
|
declare const FILE_TYPE_FILTERS: {
|
|
570
605
|
readonly IMAGES: readonly ["image/jpeg", "image/png", "image/gif", "image/webp", "image/svg+xml"];
|
|
571
606
|
readonly DOCUMENTS: readonly ["application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"];
|
|
@@ -573,21 +608,9 @@ declare const FILE_TYPE_FILTERS: {
|
|
|
573
608
|
readonly AUDIO: readonly ["audio/mpeg", "audio/wav", "audio/ogg", "audio/webm"];
|
|
574
609
|
readonly ALL: string[];
|
|
575
610
|
};
|
|
576
|
-
/**
|
|
577
|
-
* Get accept string for file input from content types
|
|
578
|
-
*/
|
|
579
611
|
declare function getAcceptString(contentTypes: string[]): string;
|
|
580
|
-
/**
|
|
581
|
-
* Check if file matches allowed content types
|
|
582
|
-
*/
|
|
583
612
|
declare function isFileTypeAllowed(file: File, allowedTypes: string[]): boolean;
|
|
584
|
-
/**
|
|
585
|
-
* Get file icon class based on content type
|
|
586
|
-
*/
|
|
587
613
|
declare function getFileIconClass(contentType: string): string;
|
|
588
|
-
/**
|
|
589
|
-
* Format file size for display
|
|
590
|
-
*/
|
|
591
614
|
declare function formatFileSize(sizeInKb: string | number): string;
|
|
592
615
|
|
|
593
616
|
/**
|
|
@@ -687,31 +710,6 @@ interface IProfilePermissionProvider {
|
|
|
687
710
|
getUserRoles(userId: string, branchId?: string): Observable<ISingleResponse<IProfileRoleInfo[]>>;
|
|
688
711
|
getUserActions(userId: string, branchId?: string): Observable<ISingleResponse<IProfileActionInfo[]>>;
|
|
689
712
|
}
|
|
690
|
-
/**
|
|
691
|
-
* Uploaded file result with file manager ID
|
|
692
|
-
*/
|
|
693
|
-
interface IProfileUploadResult {
|
|
694
|
-
id: string;
|
|
695
|
-
name: string;
|
|
696
|
-
key: string;
|
|
697
|
-
size: number;
|
|
698
|
-
contentType: string;
|
|
699
|
-
}
|
|
700
|
-
/**
|
|
701
|
-
* Profile Upload Options
|
|
702
|
-
*/
|
|
703
|
-
interface IProfileUploadOptions {
|
|
704
|
-
folderPath?: string;
|
|
705
|
-
compress?: boolean;
|
|
706
|
-
maxWidth?: number;
|
|
707
|
-
maxHeight?: number;
|
|
708
|
-
}
|
|
709
|
-
/**
|
|
710
|
-
* Profile Upload Provider Interface - Provides file upload functionality for profile pictures.
|
|
711
|
-
*/
|
|
712
|
-
interface IProfileUploadProvider {
|
|
713
|
-
uploadProfilePicture(file: File, options?: IProfileUploadOptions): Observable<ISingleResponse<IProfileUploadResult>>;
|
|
714
|
-
}
|
|
715
713
|
/**
|
|
716
714
|
* Base user interface for list operations
|
|
717
715
|
*/
|
|
@@ -771,6 +769,24 @@ interface IUserListProvider<T extends IUserListItem = IUserListItem> {
|
|
|
771
769
|
enrichListData?(users: T[]): Observable<T[]>;
|
|
772
770
|
getExtraFilters?(): IUserListFilter[];
|
|
773
771
|
}
|
|
772
|
+
/**
|
|
773
|
+
* File Provider Interface - Provides file loading and upload functionality.
|
|
774
|
+
* Used by FileSelectorDialogComponent to load files and handle uploads.
|
|
775
|
+
*/
|
|
776
|
+
interface IFileProvider {
|
|
777
|
+
/** Load files with filtering and pagination */
|
|
778
|
+
loadFiles(filter: IFileSelectFilter): Observable<IListResponse<IFileBasicInfo>>;
|
|
779
|
+
/** Upload a single file and register in file manager */
|
|
780
|
+
uploadFile(file: File, options?: IFileUploadOptions): Observable<ISingleResponse<IUploadedFile>>;
|
|
781
|
+
/** Upload multiple files at once (more efficient batch upload) */
|
|
782
|
+
uploadMultipleFiles?(files: File[], options?: IFileUploadOptions): Observable<ISingleResponse<IUploadedFile[]>>;
|
|
783
|
+
/** Get file URLs by IDs (for refreshing presigned URLs) */
|
|
784
|
+
getFileUrls?(fileIds: string[]): Observable<ISingleResponse<IFileBasicInfo[]>>;
|
|
785
|
+
/** Load folders for folder selector (optional) */
|
|
786
|
+
loadFolders?(filter: ISelectFilter): Observable<IListResponse<IFolderBasicInfo>>;
|
|
787
|
+
/** Load storage configs for config selector (optional) */
|
|
788
|
+
loadStorageConfigs?(filter: ISelectFilter): Observable<IListResponse<IStorageConfigBasicInfo>>;
|
|
789
|
+
}
|
|
774
790
|
|
|
775
791
|
declare enum ContactTypeEnum {
|
|
776
792
|
PHONE = 1,
|
|
@@ -963,6 +979,35 @@ declare class PreventDefaultDirective {
|
|
|
963
979
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PreventDefaultDirective, "[appPreventDefault]", never, { "eventType": { "alias": "eventType"; "required": false; "isSignal": true; }; "preventKey": { "alias": "preventKey"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
|
|
964
980
|
}
|
|
965
981
|
|
|
982
|
+
declare class TranslatePipe implements PipeTransform {
|
|
983
|
+
private readonly translateAdapter;
|
|
984
|
+
private readonly fallbackMessages;
|
|
985
|
+
transform(key: string, params?: Record<string, string | number>): string;
|
|
986
|
+
private getFromFallback;
|
|
987
|
+
private interpolate;
|
|
988
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TranslatePipe, never>;
|
|
989
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<TranslatePipe, "translate", true>;
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
interface IResolverModuleConfig {
|
|
993
|
+
modules: string[];
|
|
994
|
+
fallbackMessages?: Record<string, string>;
|
|
995
|
+
}
|
|
996
|
+
declare function resolveTranslationModule(config: IResolverModuleConfig): ResolveFn<boolean>;
|
|
997
|
+
|
|
998
|
+
/**
|
|
999
|
+
* Provide fallback localization when @flusys/ng-localization is not used.
|
|
1000
|
+
* Uses hardcoded fallback messages registered by route resolvers.
|
|
1001
|
+
*
|
|
1002
|
+
* @example
|
|
1003
|
+
* ```typescript
|
|
1004
|
+
* providers: [
|
|
1005
|
+
* ...provideFallbackLocalization(),
|
|
1006
|
+
* ]
|
|
1007
|
+
* ```
|
|
1008
|
+
*/
|
|
1009
|
+
declare function provideFallbackLocalization(): Provider[];
|
|
1010
|
+
|
|
966
1011
|
declare class AngularModule {
|
|
967
1012
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AngularModule, never>;
|
|
968
1013
|
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AngularModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.RouterOutlet, typeof i3.RouterLink, typeof i3.RouterLinkActive, typeof IsEmptyImageDirective, typeof i1.NgOptimizedImage, typeof i1.NgComponentOutlet, typeof PreventDefaultDirective], [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.RouterOutlet, typeof i3.RouterLink, typeof i3.RouterLinkActive, typeof IsEmptyImageDirective, typeof i1.NgOptimizedImage, typeof i1.NgComponentOutlet, typeof PreventDefaultDirective]>;
|
|
@@ -1156,11 +1201,13 @@ declare class IconComponent {
|
|
|
1156
1201
|
declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null> implements OnDestroy {
|
|
1157
1202
|
private readonly document;
|
|
1158
1203
|
private readonly appRef;
|
|
1204
|
+
private readonly translateAdapter;
|
|
1159
1205
|
private readonly onDocumentClickBound;
|
|
1160
1206
|
readonly pSelectRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
1161
1207
|
readonly overlayTemplate: _angular_core.Signal<TemplateRef<unknown>>;
|
|
1162
1208
|
private overlayViewRef;
|
|
1163
1209
|
readonly placeHolder: _angular_core.InputSignal<string>;
|
|
1210
|
+
readonly displayPlaceholder: _angular_core.Signal<string>;
|
|
1164
1211
|
readonly isEditMode: _angular_core.InputSignal<boolean>;
|
|
1165
1212
|
readonly isLoading: _angular_core.InputSignal<boolean>;
|
|
1166
1213
|
readonly total: _angular_core.InputSignal<number | undefined>;
|
|
@@ -1185,6 +1232,7 @@ declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null>
|
|
|
1185
1232
|
selectValue(event: CheckboxChangeEvent, option: IDropDown): void;
|
|
1186
1233
|
changeSelectAll(event: CheckboxChangeEvent): void;
|
|
1187
1234
|
clear(event: Event): void;
|
|
1235
|
+
private t;
|
|
1188
1236
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LazyMultiSelectComponent, never>;
|
|
1189
1237
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LazyMultiSelectComponent, "lib-lazy-multi-select", never, { "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; "isEditMode": { "alias": "isEditMode"; "required": true; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": true; "isSignal": true; }; "total": { "alias": "total"; "required": true; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": true; "isSignal": true; }; "selectDataList": { "alias": "selectDataList"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onSearch": "onSearch"; "onPagination": "onPagination"; }, never, never, true, never>;
|
|
1190
1238
|
}
|
|
@@ -1199,11 +1247,13 @@ declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null>
|
|
|
1199
1247
|
*/
|
|
1200
1248
|
declare class LazySelectComponent extends BaseFormControl<string | null> {
|
|
1201
1249
|
private readonly destroyRef;
|
|
1250
|
+
private readonly translateAdapter;
|
|
1202
1251
|
private readonly onScrollBound;
|
|
1203
1252
|
private scrollTargetEl;
|
|
1204
1253
|
private isDestroyed;
|
|
1205
1254
|
readonly scrollContainer: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
1206
1255
|
readonly placeHolder: _angular_core.InputSignal<string>;
|
|
1256
|
+
readonly displayPlaceholder: _angular_core.Signal<string>;
|
|
1207
1257
|
readonly optionLabel: _angular_core.InputSignal<string>;
|
|
1208
1258
|
readonly optionValue: _angular_core.InputSignal<string>;
|
|
1209
1259
|
readonly isEditMode: _angular_core.InputSignal<boolean>;
|
|
@@ -1220,6 +1270,7 @@ declare class LazySelectComponent extends BaseFormControl<string | null> {
|
|
|
1220
1270
|
onScroll(event: Event): void;
|
|
1221
1271
|
showPanel(): void;
|
|
1222
1272
|
onBlur(): void;
|
|
1273
|
+
private t;
|
|
1223
1274
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LazySelectComponent, never>;
|
|
1224
1275
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LazySelectComponent, "lib-lazy-select", never, { "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": true; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": true; "isSignal": true; }; "isEditMode": { "alias": "isEditMode"; "required": true; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": true; "isSignal": true; }; "total": { "alias": "total"; "required": true; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": true; "isSignal": true; }; "selectDataList": { "alias": "selectDataList"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onSearch": "onSearch"; "onPagination": "onPagination"; }, never, never, true, never>;
|
|
1225
1276
|
}
|
|
@@ -1235,6 +1286,7 @@ declare abstract class BaseUserSelectComponent {
|
|
|
1235
1286
|
protected readonly destroyRef: DestroyRef;
|
|
1236
1287
|
protected readonly injector: Injector;
|
|
1237
1288
|
protected readonly userProvider: IUserProvider;
|
|
1289
|
+
protected readonly translateAdapter: _flusys_ng_core.ITranslateAdapter | null;
|
|
1238
1290
|
protected abortController: AbortController | null;
|
|
1239
1291
|
readonly loadUsers: _angular_core.InputSignal<LoadUsersFn | undefined>;
|
|
1240
1292
|
readonly placeHolder: _angular_core.InputSignal<string>;
|
|
@@ -1249,6 +1301,7 @@ declare abstract class BaseUserSelectComponent {
|
|
|
1249
1301
|
readonly pagination: _angular_core.WritableSignal<IPagination>;
|
|
1250
1302
|
readonly searchTerm: _angular_core.WritableSignal<string>;
|
|
1251
1303
|
readonly dropdownUsers: _angular_core.Signal<IDropDown[]>;
|
|
1304
|
+
readonly displayPlaceholder: _angular_core.Signal<string>;
|
|
1252
1305
|
constructor();
|
|
1253
1306
|
/** Setup effect to track value changes and emit selection events */
|
|
1254
1307
|
protected abstract setupValueEffect(): void;
|
|
@@ -1259,6 +1312,7 @@ declare abstract class BaseUserSelectComponent {
|
|
|
1259
1312
|
protected fetchUsers(append?: boolean): Promise<void>;
|
|
1260
1313
|
/** Load users from USER_PROVIDER with active filter */
|
|
1261
1314
|
private loadUsersFromProvider;
|
|
1315
|
+
protected t(key: string, variables?: Record<string, string | number>): string;
|
|
1262
1316
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseUserSelectComponent, never>;
|
|
1263
1317
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseUserSelectComponent, never, never, { "loadUsers": { "alias": "loadUsers"; "required": false; "isSignal": true; }; "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; "isEditMode": { "alias": "isEditMode"; "required": true; "isSignal": true; }; "filterActive": { "alias": "filterActive"; "required": false; "isSignal": true; }; "additionalFilters": { "alias": "additionalFilters"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; }, { "onError": "onError"; }, never, never, true, never>;
|
|
1264
1318
|
}
|
|
@@ -1337,11 +1391,33 @@ declare class UserMultiSelectComponent extends BaseUserSelectComponent {
|
|
|
1337
1391
|
/**
|
|
1338
1392
|
* File Uploader Component - Drag & drop file upload with type filtering.
|
|
1339
1393
|
*
|
|
1340
|
-
*
|
|
1394
|
+
* Uses FILE_PROVIDER when available (no inputs needed).
|
|
1395
|
+
* Optionally pass `uploadFile` to override the provider.
|
|
1396
|
+
*
|
|
1397
|
+
* @example
|
|
1398
|
+
* ```html
|
|
1399
|
+
* <!-- Using FILE_PROVIDER (recommended) -->
|
|
1400
|
+
* <lib-file-uploader
|
|
1401
|
+
* [acceptTypes]="['image/*']"
|
|
1402
|
+
* (fileUploaded)="onFileUploaded($event)"
|
|
1403
|
+
* />
|
|
1404
|
+
*
|
|
1405
|
+
* <!-- Custom upload function -->
|
|
1406
|
+
* <lib-file-uploader
|
|
1407
|
+
* [uploadFile]="customUploadFn"
|
|
1408
|
+
* (fileUploaded)="onFileUploaded($event)"
|
|
1409
|
+
* />
|
|
1410
|
+
* ```
|
|
1341
1411
|
*/
|
|
1342
1412
|
declare class FileUploaderComponent {
|
|
1343
1413
|
private readonly messageService;
|
|
1344
|
-
readonly
|
|
1414
|
+
private readonly translateAdapter;
|
|
1415
|
+
private readonly fileProvider;
|
|
1416
|
+
readonly uploadFile: _angular_core.InputSignal<UploadFileFn | undefined>;
|
|
1417
|
+
readonly uploadMultipleFiles: _angular_core.InputSignal<UploadMultipleFilesFn | undefined>;
|
|
1418
|
+
readonly hasUploadCapability: _angular_core.Signal<boolean>;
|
|
1419
|
+
private getUploadFn;
|
|
1420
|
+
private getUploadMultipleFn;
|
|
1345
1421
|
readonly acceptTypes: _angular_core.InputSignal<string[]>;
|
|
1346
1422
|
readonly multiple: _angular_core.InputSignal<boolean>;
|
|
1347
1423
|
readonly maxFiles: _angular_core.InputSignal<number>;
|
|
@@ -1368,67 +1444,55 @@ declare class FileUploaderComponent {
|
|
|
1368
1444
|
private handleFiles;
|
|
1369
1445
|
removeFile(file: File): void;
|
|
1370
1446
|
uploadFiles(files?: File[]): Promise<void>;
|
|
1447
|
+
private uploadBatch;
|
|
1448
|
+
private uploadSequential;
|
|
1371
1449
|
getFileIcon(file: File): string;
|
|
1372
1450
|
formatSize(bytes: number): string;
|
|
1451
|
+
private t;
|
|
1373
1452
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploaderComponent, never>;
|
|
1374
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploaderComponent, "lib-file-uploader", never, { "uploadFile": { "alias": "uploadFile"; "required": true; "isSignal": true; }; "acceptTypes": { "alias": "acceptTypes"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "maxSizeMb": { "alias": "maxSizeMb"; "required": false; "isSignal": true; }; "uploadOptions": { "alias": "uploadOptions"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showPreview": { "alias": "showPreview"; "required": false; "isSignal": true; }; "autoUpload": { "alias": "autoUpload"; "required": false; "isSignal": true; }; }, { "fileUploaded": "fileUploaded"; "filesUploaded": "filesUploaded"; "onError": "onError"; "fileSelected": "fileSelected"; }, never, never, true, never>;
|
|
1453
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploaderComponent, "lib-file-uploader", never, { "uploadFile": { "alias": "uploadFile"; "required": false; "isSignal": true; }; "uploadMultipleFiles": { "alias": "uploadMultipleFiles"; "required": false; "isSignal": true; }; "acceptTypes": { "alias": "acceptTypes"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "maxSizeMb": { "alias": "maxSizeMb"; "required": false; "isSignal": true; }; "uploadOptions": { "alias": "uploadOptions"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showPreview": { "alias": "showPreview"; "required": false; "isSignal": true; }; "autoUpload": { "alias": "autoUpload"; "required": false; "isSignal": true; }; }, { "fileUploaded": "fileUploaded"; "filesUploaded": "filesUploaded"; "onError": "onError"; "fileSelected": "fileSelected"; }, never, never, true, never>;
|
|
1375
1454
|
}
|
|
1376
1455
|
|
|
1377
1456
|
/**
|
|
1378
|
-
* File Selector Dialog -
|
|
1457
|
+
* File Selector Dialog - Self-contained file browser with upload support.
|
|
1379
1458
|
*
|
|
1380
|
-
*
|
|
1459
|
+
* Uses FILE_PROVIDER internally - no external functions needed.
|
|
1460
|
+
* Just configure with inputs and handle selection events.
|
|
1381
1461
|
*
|
|
1382
1462
|
* Features:
|
|
1383
1463
|
* - Search with debouncing
|
|
1384
|
-
* - File type filtering
|
|
1464
|
+
* - File type filtering (acceptTypes)
|
|
1465
|
+
* - Folder filtering
|
|
1385
1466
|
* - Infinite scroll pagination
|
|
1386
1467
|
* - Single or multiple selection
|
|
1468
|
+
* - Built-in file upload (withUploader)
|
|
1387
1469
|
* - File preview with icons
|
|
1388
1470
|
*
|
|
1389
1471
|
* @example
|
|
1390
|
-
* ```typescript
|
|
1391
|
-
* // In component
|
|
1392
|
-
* readonly fileService = inject(FileManagerApiService);
|
|
1393
|
-
*
|
|
1394
|
-
* readonly loadFiles: LoadFilesFn = (filter) =>
|
|
1395
|
-
* this.fileService.getAll(filter.search, {
|
|
1396
|
-
* pagination: { currentPage: filter.page, pageSize: filter.pageSize },
|
|
1397
|
-
* filter: { contentTypes: filter.contentTypes },
|
|
1398
|
-
* }).pipe(
|
|
1399
|
-
* map(res => ({
|
|
1400
|
-
* ...res,
|
|
1401
|
-
* data: res.data?.map(f => ({
|
|
1402
|
-
* id: f.id,
|
|
1403
|
-
* name: f.name,
|
|
1404
|
-
* contentType: f.contentType,
|
|
1405
|
-
* size: f.size,
|
|
1406
|
-
* url: f.url
|
|
1407
|
-
* }))
|
|
1408
|
-
* }))
|
|
1409
|
-
* );
|
|
1410
|
-
* ```
|
|
1411
|
-
*
|
|
1412
1472
|
* ```html
|
|
1413
1473
|
* <lib-file-selector-dialog
|
|
1414
|
-
* [(visible)]="
|
|
1415
|
-
* [loadFiles]="loadFiles"
|
|
1474
|
+
* [(visible)]="showSelector"
|
|
1416
1475
|
* [acceptTypes]="['image/*']"
|
|
1417
|
-
* [multiple]="
|
|
1418
|
-
*
|
|
1476
|
+
* [multiple]="true"
|
|
1477
|
+
* [withUploader]="true"
|
|
1478
|
+
* (filesSelected)="onFilesSelected($event)"
|
|
1419
1479
|
* />
|
|
1420
1480
|
* ```
|
|
1421
1481
|
*/
|
|
1422
1482
|
declare class FileSelectorDialogComponent {
|
|
1423
1483
|
private readonly destroyRef;
|
|
1484
|
+
private readonly translateAdapter;
|
|
1485
|
+
readonly fileProvider: _flusys_ng_shared.IFileProvider | null;
|
|
1424
1486
|
private abortController;
|
|
1425
1487
|
private searchDebounceTimer;
|
|
1426
|
-
readonly
|
|
1427
|
-
readonly header: _angular_core.InputSignal<string>;
|
|
1488
|
+
readonly header: _angular_core.InputSignal<string | undefined>;
|
|
1428
1489
|
readonly acceptTypes: _angular_core.InputSignal<string[]>;
|
|
1429
1490
|
readonly multiple: _angular_core.InputSignal<boolean>;
|
|
1491
|
+
readonly dialogHeader: _angular_core.Signal<string>;
|
|
1430
1492
|
readonly maxSelection: _angular_core.InputSignal<number>;
|
|
1431
1493
|
readonly pageSize: _angular_core.InputSignal<number>;
|
|
1494
|
+
readonly folderId: _angular_core.InputSignal<string | undefined>;
|
|
1495
|
+
readonly withUploader: _angular_core.InputSignal<boolean>;
|
|
1432
1496
|
readonly visible: _angular_core.ModelSignal<boolean>;
|
|
1433
1497
|
readonly fileSelected: _angular_core.OutputEmitterRef<IFileBasicInfo>;
|
|
1434
1498
|
readonly filesSelected: _angular_core.OutputEmitterRef<IFileBasicInfo[]>;
|
|
@@ -1440,7 +1504,19 @@ declare class FileSelectorDialogComponent {
|
|
|
1440
1504
|
readonly total: _angular_core.WritableSignal<number | undefined>;
|
|
1441
1505
|
readonly pagination: _angular_core.WritableSignal<IPagination>;
|
|
1442
1506
|
readonly searchTerm: _angular_core.WritableSignal<string>;
|
|
1443
|
-
readonly
|
|
1507
|
+
readonly folders: _angular_core.WritableSignal<IFolderBasicInfo[]>;
|
|
1508
|
+
readonly selectedFolderId: _angular_core.WritableSignal<string | null>;
|
|
1509
|
+
readonly foldersLoading: _angular_core.WritableSignal<boolean>;
|
|
1510
|
+
readonly foldersPagination: _angular_core.WritableSignal<IPagination>;
|
|
1511
|
+
readonly foldersTotal: _angular_core.WritableSignal<number | undefined>;
|
|
1512
|
+
readonly storageConfigs: _angular_core.WritableSignal<IStorageConfigBasicInfo[]>;
|
|
1513
|
+
readonly selectedStorageConfigId: _angular_core.WritableSignal<string | null>;
|
|
1514
|
+
readonly storageConfigsLoading: _angular_core.WritableSignal<boolean>;
|
|
1515
|
+
readonly storageConfigsPagination: _angular_core.WritableSignal<IPagination>;
|
|
1516
|
+
readonly storageConfigsTotal: _angular_core.WritableSignal<number | undefined>;
|
|
1517
|
+
readonly effectiveStorageConfigId: _angular_core.Signal<string | undefined>;
|
|
1518
|
+
readonly uploadFileFn: (file: File, options?: IFileUploadOptions) => rxjs.Observable<_flusys_ng_shared.ISingleResponse<IUploadedFile>>;
|
|
1519
|
+
readonly uploadMultipleFilesFn: ((files: File[], options?: IFileUploadOptions) => rxjs.Observable<_flusys_ng_shared.ISingleResponse<IUploadedFile[]>>) | undefined;
|
|
1444
1520
|
constructor();
|
|
1445
1521
|
onSearchChange(value: string): void;
|
|
1446
1522
|
onScroll(event: Event): void;
|
|
@@ -1453,10 +1529,22 @@ declare class FileSelectorDialogComponent {
|
|
|
1453
1529
|
onCancel(): void;
|
|
1454
1530
|
onConfirm(): void;
|
|
1455
1531
|
onDialogHide(): void;
|
|
1532
|
+
onFolderChange(folderId: string | null): void;
|
|
1533
|
+
onFolderSearch(event: {
|
|
1534
|
+
filter: string;
|
|
1535
|
+
}): void;
|
|
1536
|
+
loadFolders(search?: string): Promise<void>;
|
|
1537
|
+
onStorageConfigChange(configId: string | null): void;
|
|
1538
|
+
onStorageConfigSearch(event: {
|
|
1539
|
+
filter: string;
|
|
1540
|
+
}): void;
|
|
1541
|
+
loadStorageConfigs(search?: string): Promise<void>;
|
|
1542
|
+
onFileUploaded(uploadedFile: IUploadedFile): void;
|
|
1456
1543
|
private resetState;
|
|
1457
1544
|
private fetchFiles;
|
|
1545
|
+
private t;
|
|
1458
1546
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileSelectorDialogComponent, never>;
|
|
1459
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileSelectorDialogComponent, "lib-file-selector-dialog", never, { "
|
|
1547
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileSelectorDialogComponent, "lib-file-selector-dialog", never, { "header": { "alias": "header"; "required": false; "isSignal": true; }; "acceptTypes": { "alias": "acceptTypes"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "maxSelection": { "alias": "maxSelection"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "folderId": { "alias": "folderId"; "required": false; "isSignal": true; }; "withUploader": { "alias": "withUploader"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "fileSelected": "fileSelected"; "filesSelected": "filesSelected"; "closed": "closed"; "onError": "onError"; }, never, never, true, never>;
|
|
1460
1548
|
}
|
|
1461
1549
|
|
|
1462
1550
|
/**
|
|
@@ -1512,14 +1600,6 @@ declare const AUTH_STATE_PROVIDER: InjectionToken<IAuthStateProvider>;
|
|
|
1512
1600
|
* Use with `inject(PROFILE_PERMISSION_PROVIDER, { optional: true })`.
|
|
1513
1601
|
*/
|
|
1514
1602
|
declare const PROFILE_PERMISSION_PROVIDER: InjectionToken<IProfilePermissionProvider>;
|
|
1515
|
-
/**
|
|
1516
|
-
* Profile Upload Provider Token
|
|
1517
|
-
*
|
|
1518
|
-
* Provides file upload functionality for profile pictures.
|
|
1519
|
-
* Optional - if not configured or storage not enabled, upload section is hidden.
|
|
1520
|
-
* Use with `inject(PROFILE_UPLOAD_PROVIDER, { optional: true })`.
|
|
1521
|
-
*/
|
|
1522
|
-
declare const PROFILE_UPLOAD_PROVIDER: InjectionToken<IProfileUploadProvider>;
|
|
1523
1603
|
/**
|
|
1524
1604
|
* User List Provider Token
|
|
1525
1605
|
*
|
|
@@ -1534,6 +1614,20 @@ declare const PROFILE_UPLOAD_PROVIDER: InjectionToken<IProfileUploadProvider>;
|
|
|
1534
1614
|
* ]
|
|
1535
1615
|
*/
|
|
1536
1616
|
declare const USER_LIST_PROVIDER: InjectionToken<IUserListProvider<IUserListItem>>;
|
|
1617
|
+
/**
|
|
1618
|
+
* File Provider Token
|
|
1619
|
+
*
|
|
1620
|
+
* Provides file loading and upload functionality for file selectors.
|
|
1621
|
+
* Optional - if not configured, file selector requires loadFiles/uploadFile inputs.
|
|
1622
|
+
* Use with `inject(FILE_PROVIDER, { optional: true })`.
|
|
1623
|
+
*
|
|
1624
|
+
* @example
|
|
1625
|
+
* // In app.config.ts
|
|
1626
|
+
* providers: [
|
|
1627
|
+
* { provide: FILE_PROVIDER, useClass: StorageFileProvider },
|
|
1628
|
+
* ]
|
|
1629
|
+
*/
|
|
1630
|
+
declare const FILE_PROVIDER: InjectionToken<IFileProvider>;
|
|
1537
1631
|
|
|
1538
1632
|
/**
|
|
1539
1633
|
* Permission Guard - Single permission or ILogicNode check.
|
|
@@ -1587,8 +1681,7 @@ declare function allPermissionsGuard(permissions: string[], redirectTo?: string)
|
|
|
1587
1681
|
* @Component({
|
|
1588
1682
|
* selector: 'app-product-form',
|
|
1589
1683
|
* standalone: true,
|
|
1590
|
-
*
|
|
1591
|
-
* template: `...`
|
|
1684
|
+
* * template: `...`
|
|
1592
1685
|
* })
|
|
1593
1686
|
* export class ProductFormComponent extends BaseFormPage<IProduct, IProductFormModel> {
|
|
1594
1687
|
* private readonly productService = inject(ProductApiService);
|
|
@@ -1655,6 +1748,7 @@ declare abstract class BaseFormPage<T, TFormModel> {
|
|
|
1655
1748
|
protected readonly route: ActivatedRoute;
|
|
1656
1749
|
protected readonly messageService: MessageService;
|
|
1657
1750
|
protected readonly destroyRef: DestroyRef;
|
|
1751
|
+
protected readonly translateAdapter: _flusys_ng_core.ITranslateAdapter | null;
|
|
1658
1752
|
protected readonly routeParams: Signal<i3.ParamMap | undefined>;
|
|
1659
1753
|
protected initialized: boolean;
|
|
1660
1754
|
/** Loading state for async operations */
|
|
@@ -1727,6 +1821,10 @@ declare abstract class BaseFormPage<T, TFormModel> {
|
|
|
1727
1821
|
* @param detail The error message to display
|
|
1728
1822
|
*/
|
|
1729
1823
|
protected showError(detail: string): void;
|
|
1824
|
+
/**
|
|
1825
|
+
* Translate a key using the adapter, fallback to key if not available.
|
|
1826
|
+
*/
|
|
1827
|
+
protected t(key: string, variables?: Record<string, string | number>): string;
|
|
1730
1828
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseFormPage<any, any>, never>;
|
|
1731
1829
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseFormPage<any, any>, never, never, {}, {}, never, never, true, never>;
|
|
1732
1830
|
}
|
|
@@ -1760,6 +1858,7 @@ declare abstract class BaseListPage<T> {
|
|
|
1760
1858
|
protected readonly appConfig: _flusys_ng_core.IAppConfig;
|
|
1761
1859
|
protected readonly confirmationService: ConfirmationService;
|
|
1762
1860
|
protected readonly destroyRef: DestroyRef;
|
|
1861
|
+
protected readonly translateAdapter: _flusys_ng_core.ITranslateAdapter | null;
|
|
1763
1862
|
/** Items list */
|
|
1764
1863
|
readonly items: _angular_core.WritableSignal<T[]>;
|
|
1765
1864
|
/** Loading state */
|
|
@@ -1830,6 +1929,10 @@ declare abstract class BaseListPage<T> {
|
|
|
1830
1929
|
* Show warning toast message
|
|
1831
1930
|
*/
|
|
1832
1931
|
protected showWarn(detail: string, summary?: string): void;
|
|
1932
|
+
/**
|
|
1933
|
+
* Translate a key using the adapter, fallback to key if not available.
|
|
1934
|
+
*/
|
|
1935
|
+
protected t(key: string, variables?: Record<string, string | number>): string;
|
|
1833
1936
|
/**
|
|
1834
1937
|
* Delete an item with confirmation dialog
|
|
1835
1938
|
* @param item The item to delete
|
|
@@ -1912,5 +2015,5 @@ interface ScrollPaginationConfig {
|
|
|
1912
2015
|
*/
|
|
1913
2016
|
declare function checkScrollPagination(event: Event, config: ScrollPaginationConfig): IPagination | null;
|
|
1914
2017
|
|
|
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,
|
|
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,
|
|
2018
|
+
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_PROVIDER, FILE_TYPE_FILTERS, FOLDER_PERMISSIONS, FORM_PERMISSIONS, FileSelectorDialogComponent, FileUploaderComponent, FileUrlService, HasPermissionDirective, IconComponent, IconTypeEnum, IsEmptyImageDirective, LANGUAGE_PERMISSIONS, LazyMultiSelectComponent, LazySelectComponent, NOTIFICATION_PERMISSIONS, PERMISSIONS, PROFILE_PERMISSION_PROVIDER, PermissionValidatorService, PlatformService, PreventDefaultDirective, PrimeModule, ROLE_ACTION_PERMISSIONS, ROLE_PERMISSIONS, SHARED_MESSAGES, STORAGE_CONFIG_PERMISSIONS, TRANSLATION_KEY_PERMISSIONS, TRANSLATION_PERMISSIONS, TranslatePipe, 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, provideFallbackLocalization, provideValueAccessor, resolveTranslationModule };
|
|
2019
|
+
export type { ApiResponse, DeleteType, FilesResponseDto, GetFileUrlsFn, IActionNode, IActivatable, IApiService, IAuthStateProvider, IBaseEntity, IBulkMeta, IBulkResponse, ICompanyApiProvider, ICompanyBasicInfo, IDeleteData, IDropDown, IErrorResponse, IFileBasicInfo, IFileData, IFileProvider, IFileSelectFilter, IFileUploadOptions, IFilter, IFilterData, IFolderBasicInfo, IGroupNode, IListResponse, ILoggedUserInfo, ILogicNode, ILoginResponse, ILoginUserData, IMessageResponse, IMetadata, IOrderable, IPagination, IPaginationMeta, IProfileActionInfo, IProfilePermissionProvider, IProfileRoleInfo, IRefreshTokenResponse, IRequestMeta, IResolverModuleConfig, ISelectFilter, ISingleResponse, ISoftDeletable, ISort, IStorageConfigBasicInfo, ITimestampable, IUploadedFile, IUserBasicInfo, IUserBranchPayload, IUserBranchPermission, IUserCompanyPayload, IUserListAction, IUserListColumn, IUserListFilter, IUserListItem, IUserListProvider, IUserPermissionProvider, IUserProvider, IUserSelectFilter, IValidationError, LoadFilesFn, LoadUsersFn, PermissionCode, ScrollPaginationConfig, ServiceName, UploadFileFn, UploadMultipleFilesFn };
|