@flusys/ng-shared 8.1.2 → 8.1.4
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flusys/ng-shared",
|
|
3
|
-
"version": "8.1.
|
|
3
|
+
"version": "8.1.4",
|
|
4
4
|
"description": "Shared components and utilities for FLUSYS Angular packages",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"peerDependencies": {
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"@angular/core": ">=22.0.0",
|
|
9
9
|
"@angular/forms": ">=22.0.0",
|
|
10
10
|
"@angular/router": ">=22.0.0",
|
|
11
|
-
"@flusys/ng-core": ">=8.1.
|
|
12
|
-
"@flusys/ng-ui": ">=8.1.
|
|
11
|
+
"@flusys/ng-core": ">=8.1.4",
|
|
12
|
+
"@flusys/ng-ui": ">=8.1.4",
|
|
13
13
|
"rxjs": "^7.8.0"
|
|
14
14
|
},
|
|
15
15
|
"sideEffects": false,
|
|
@@ -572,6 +572,14 @@ interface ICompanyBasicInfo {
|
|
|
572
572
|
name: string;
|
|
573
573
|
slug?: string;
|
|
574
574
|
}
|
|
575
|
+
/**
|
|
576
|
+
* Branch basic info for dropdowns and display
|
|
577
|
+
*/
|
|
578
|
+
interface IBranchBasicInfo {
|
|
579
|
+
id: string;
|
|
580
|
+
name: string;
|
|
581
|
+
slug?: string;
|
|
582
|
+
}
|
|
575
583
|
/**
|
|
576
584
|
* Company API Provider Interface
|
|
577
585
|
*/
|
|
@@ -581,6 +589,10 @@ interface ICompanyApiProvider {
|
|
|
581
589
|
pageSize?: number;
|
|
582
590
|
search?: string;
|
|
583
591
|
}): Observable<IListResponse<ICompanyBasicInfo>>;
|
|
592
|
+
/** Resolve basic display info for a specific set of company IDs (e.g. reverse permission lookups) */
|
|
593
|
+
getCompaniesByIds?(ids: string[]): Observable<IListResponse<ICompanyBasicInfo>>;
|
|
594
|
+
/** Resolve basic display info for a specific set of branch IDs (e.g. reverse permission lookups) */
|
|
595
|
+
getBranchesByIds?(ids: string[]): Observable<IListResponse<IBranchBasicInfo>>;
|
|
584
596
|
}
|
|
585
597
|
/**
|
|
586
598
|
* User role info for profile display
|
|
@@ -1183,11 +1195,13 @@ declare class FileSelectorDialogComponent {
|
|
|
1183
1195
|
readonly searchTerm: _angular_core.WritableSignal<string>;
|
|
1184
1196
|
readonly folders: _angular_core.WritableSignal<IFolderBasicInfo[]>;
|
|
1185
1197
|
readonly selectedFolderId: _angular_core.WritableSignal<string | null>;
|
|
1198
|
+
readonly selectedFolderObject: _angular_core.WritableSignal<IFolderBasicInfo | null>;
|
|
1186
1199
|
readonly foldersLoading: _angular_core.WritableSignal<boolean>;
|
|
1187
1200
|
readonly foldersPagination: _angular_core.WritableSignal<IPagination>;
|
|
1188
1201
|
readonly foldersTotal: _angular_core.WritableSignal<number | undefined>;
|
|
1189
1202
|
readonly storageConfigs: _angular_core.WritableSignal<IStorageConfigBasicInfo[]>;
|
|
1190
1203
|
readonly selectedStorageConfigId: _angular_core.WritableSignal<string | null>;
|
|
1204
|
+
readonly selectedStorageConfigObject: _angular_core.WritableSignal<IStorageConfigBasicInfo | null>;
|
|
1191
1205
|
readonly storageConfigsLoading: _angular_core.WritableSignal<boolean>;
|
|
1192
1206
|
readonly storageConfigsPagination: _angular_core.WritableSignal<IPagination>;
|
|
1193
1207
|
readonly storageConfigsTotal: _angular_core.WritableSignal<number | undefined>;
|
|
@@ -1296,11 +1310,13 @@ declare class InlineSvgComponent {
|
|
|
1296
1310
|
declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null> implements OnDestroy {
|
|
1297
1311
|
private readonly document;
|
|
1298
1312
|
private readonly appRef;
|
|
1313
|
+
private readonly overlayStack;
|
|
1299
1314
|
private readonly translateAdapter;
|
|
1300
1315
|
private readonly onDocumentClickBound;
|
|
1301
1316
|
readonly pSelectRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
1302
1317
|
readonly overlayTemplate: _angular_core.Signal<TemplateRef<unknown>>;
|
|
1303
1318
|
private overlayViewRef;
|
|
1319
|
+
private detachOverlayPosition;
|
|
1304
1320
|
readonly placeHolder: _angular_core.InputSignal<string>;
|
|
1305
1321
|
readonly showClear: _angular_core.InputSignal<boolean>;
|
|
1306
1322
|
readonly displayPlaceholder: _angular_core.Signal<string>;
|
|
@@ -1309,7 +1325,18 @@ declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null>
|
|
|
1309
1325
|
readonly total: _angular_core.InputSignal<number | undefined>;
|
|
1310
1326
|
readonly pagination: _angular_core.InputSignal<IPagination>;
|
|
1311
1327
|
readonly selectDataList: _angular_core.InputSignal<IDropDown[]>;
|
|
1328
|
+
/**
|
|
1329
|
+
* Full option objects for the currently selected values, supplied by the
|
|
1330
|
+
* caller (or a subclass like UserMultiSelectComponent). Pinned into
|
|
1331
|
+
* `mergedDataList` (deduped by `value`) so chips/labels/checkboxes survive
|
|
1332
|
+
* a later search/page reload that replaces `selectDataList()` without the
|
|
1333
|
+
* selection having changed. This component renders its own overlay list
|
|
1334
|
+
* (it does not build on f-multiselect), so the merge has to happen here.
|
|
1335
|
+
*/
|
|
1336
|
+
readonly selectedObjects: _angular_core.InputSignal<IDropDown[]>;
|
|
1312
1337
|
readonly value: _angular_core.ModelSignal<string[] | null>;
|
|
1338
|
+
private readonly selectedObjectEntries;
|
|
1339
|
+
readonly mergedDataList: _angular_core.Signal<IDropDown[]>;
|
|
1313
1340
|
readonly onSearch: _angular_core.OutputEmitterRef<string>;
|
|
1314
1341
|
readonly onPagination: _angular_core.OutputEmitterRef<IPagination>;
|
|
1315
1342
|
readonly searchTerm: _angular_core.WritableSignal<string>;
|
|
@@ -1331,7 +1358,7 @@ declare class LazyMultiSelectComponent extends BaseFormControl<string[] | null>
|
|
|
1331
1358
|
clear(event: Event): void;
|
|
1332
1359
|
private t;
|
|
1333
1360
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LazyMultiSelectComponent, never>;
|
|
1334
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LazyMultiSelectComponent, "lib-lazy-multi-select", never, { "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "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>;
|
|
1361
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LazyMultiSelectComponent, "lib-lazy-multi-select", never, { "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "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; }; "selectedObjects": { "alias": "selectedObjects"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onSearch": "onSearch"; "onPagination": "onPagination"; }, never, never, true, never>;
|
|
1335
1362
|
}
|
|
1336
1363
|
|
|
1337
1364
|
/**
|
|
@@ -1359,6 +1386,13 @@ declare class LazySelectComponent extends BaseFormControl<string | null> {
|
|
|
1359
1386
|
readonly total: _angular_core.InputSignal<number | undefined>;
|
|
1360
1387
|
readonly pagination: _angular_core.InputSignal<IPagination>;
|
|
1361
1388
|
readonly selectDataList: _angular_core.InputSignal<IDropDown[]>;
|
|
1389
|
+
/**
|
|
1390
|
+
* Full option object for the current value, supplied by the caller (or a
|
|
1391
|
+
* subclass like UserSelectComponent). Forwarded to f-select's own
|
|
1392
|
+
* `selectedObject` input so the label survives a later search/page reload
|
|
1393
|
+
* that replaces `selectDataList()` without the value having changed.
|
|
1394
|
+
*/
|
|
1395
|
+
readonly selectedObject: _angular_core.InputSignal<unknown>;
|
|
1362
1396
|
readonly value: _angular_core.ModelSignal<string | null>;
|
|
1363
1397
|
readonly onSearch: _angular_core.OutputEmitterRef<string>;
|
|
1364
1398
|
readonly onPagination: _angular_core.OutputEmitterRef<IPagination>;
|
|
@@ -1369,7 +1403,7 @@ declare class LazySelectComponent extends BaseFormControl<string | null> {
|
|
|
1369
1403
|
showPanel(): void;
|
|
1370
1404
|
private t;
|
|
1371
1405
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LazySelectComponent, never>;
|
|
1372
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LazySelectComponent, "lib-lazy-select", never, { "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "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>;
|
|
1406
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LazySelectComponent, "lib-lazy-select", never, { "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "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; }; "selectedObject": { "alias": "selectedObject"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onSearch": "onSearch"; "onPagination": "onPagination"; }, never, never, true, never>;
|
|
1373
1407
|
}
|
|
1374
1408
|
|
|
1375
1409
|
interface RouterTabItem {
|
|
@@ -1411,6 +1445,17 @@ declare abstract class BaseUserSelectComponent {
|
|
|
1411
1445
|
readonly pagination: _angular_core.WritableSignal<IPagination>;
|
|
1412
1446
|
readonly searchTerm: _angular_core.WritableSignal<string>;
|
|
1413
1447
|
readonly dropdownUsers: _angular_core.Signal<IDropDown[]>;
|
|
1448
|
+
private readonly _knownUsers;
|
|
1449
|
+
protected toDropDown(user: IUserBasicInfo): IDropDown;
|
|
1450
|
+
/** Resolves a single previously-seen user id, even if it's no longer in `users()`. */
|
|
1451
|
+
protected resolveKnownUser(id: string | null | undefined): IDropDown | null;
|
|
1452
|
+
/** Resolves multiple previously-seen user ids, even if no longer in `users()`. */
|
|
1453
|
+
protected resolveKnownUsers(ids: string[]): IDropDown[];
|
|
1454
|
+
/** Same as resolveKnownUser, but returns the raw IUserBasicInfo (for outputs like userSelected). */
|
|
1455
|
+
protected resolveKnownUserRaw(id: string | null | undefined): IUserBasicInfo | null;
|
|
1456
|
+
/** Same as resolveKnownUsers, but returns the raw IUserBasicInfo[] (for outputs like usersSelected). */
|
|
1457
|
+
protected resolveKnownUsersRaw(ids: string[]): IUserBasicInfo[];
|
|
1458
|
+
private rememberUsers;
|
|
1414
1459
|
readonly displayPlaceholder: _angular_core.Signal<string>;
|
|
1415
1460
|
constructor();
|
|
1416
1461
|
/** Setup effect to track value changes and emit selection events */
|
|
@@ -1459,6 +1504,7 @@ declare class UserMultiSelectComponent extends BaseUserSelectComponent {
|
|
|
1459
1504
|
readonly showClear: _angular_core.InputSignal<boolean>;
|
|
1460
1505
|
readonly value: _angular_core.ModelSignal<string[] | null>;
|
|
1461
1506
|
readonly usersSelected: _angular_core.OutputEmitterRef<IUserBasicInfo[]>;
|
|
1507
|
+
readonly selectedObjects: _angular_core.Signal<_flusys_ng_shared.IDropDown[]>;
|
|
1462
1508
|
protected setupValueEffect(): void;
|
|
1463
1509
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserMultiSelectComponent, never>;
|
|
1464
1510
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserMultiSelectComponent, "lib-user-multi-select", never, { "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "usersSelected": "usersSelected"; }, never, never, true, never>;
|
|
@@ -1495,6 +1541,7 @@ declare class UserSelectComponent extends BaseUserSelectComponent {
|
|
|
1495
1541
|
readonly showClear: _angular_core.InputSignal<boolean>;
|
|
1496
1542
|
readonly value: _angular_core.ModelSignal<string | null>;
|
|
1497
1543
|
readonly userSelected: _angular_core.OutputEmitterRef<IUserBasicInfo | null>;
|
|
1544
|
+
readonly selectedObject: _angular_core.Signal<_flusys_ng_shared.IDropDown | null>;
|
|
1498
1545
|
protected setupValueEffect(): void;
|
|
1499
1546
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserSelectComponent, never>;
|
|
1500
1547
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserSelectComponent, "lib-user-select", never, { "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "userSelected": "userSelected"; }, never, never, true, never>;
|
|
@@ -1670,4 +1717,4 @@ interface ScrollPaginationConfig {
|
|
|
1670
1717
|
declare function checkScrollPagination(event: Event, config: ScrollPaginationConfig): IPagination | null;
|
|
1671
1718
|
|
|
1672
1719
|
export { ACTION_PERMISSIONS, AUTH_STATE_PROVIDER, ApiResourceService, ApiResourceService as ApiService, BRANCH_PERMISSIONS, BaseFormComponent, BaseFormControl, BaseFormTemplateDirective, BaseListComponent, BaseListTemplateDirective, BaseUserSelectComponent, COMPANY_ACTION_PERMISSIONS, COMPANY_API_PROVIDER, COMPANY_PERMISSIONS, CookieService, EMAIL_CONFIG_PERMISSIONS, EMAIL_TEMPLATE_PERMISSIONS, EVENT_PERMISSIONS, EditModeElementChangerDirective, FILE_PERMISSIONS, FILE_PROVIDER, FILE_TYPE_FILTERS, FOLDER_PERMISSIONS, FORM_PERMISSIONS, FORM_RESULT_PERMISSIONS, FaviconService, FileSelectorDialogComponent, FileUploaderComponent, FileUrlService, HasPermissionDirective, IconComponent, IconTypeEnum, InlineSvgComponent, IsEmptyImageDirective, LANGUAGE_PERMISSIONS, LazyMultiSelectComponent, LazySelectComponent, NOTIFICATION_PERMISSIONS, PERMISSIONS, PROFILE_PERMISSION_PROVIDER, PermissionValidatorService, PlatformService, PreventDefaultDirective, ROLE_ACTION_PERMISSIONS, ROLE_PERMISSIONS, RouterTabsComponent, SHARED_MESSAGES, SKIP_ERROR_TOAST, SOCIAL_AUTH_CONFIG_PERMISSIONS, STORAGE_CONFIG_PERMISSIONS, TRANSLATION_KEY_PERMISSIONS, TRANSLATION_PERMISSIONS, TranslatePipe, TranslateService, UPLOAD_CONFIG_PERMISSIONS, USER_ACTION_PERMISSIONS, USER_PERMISSIONS, USER_PERMISSION_PROVIDER, USER_PROVIDER, USER_ROLE_PERMISSIONS, UserMultiSelectComponent, UserSelectComponent, allPermissionsGuard, anyPermissionGuard, authenticatedGuard, checkScrollPagination, errorCatchingInterceptor, evaluateLogicNode, evaluatePermission, formatFileSize, formatInTimezone, getAcceptString, getFileIconClass, getUserTimezone, hasAllPermissions, hasAnyPermission, hasPermission, isFileTypeAllowed, localToUtc, permissionGuard, provideValueAccessor, resolveTranslationModule, utcToLocal };
|
|
1673
|
-
export type { ActionSeverity, DeleteType, FilesResponseDto, FormFieldType, IActionNode, IActivatable, IApiService, IAuthStateProvider, IBaseEntity, IBulkMeta, IBulkResponse, ICompanyApiProvider, ICompanyBasicInfo, IDeleteData, IDropDown, IFileBasicInfo, IFileProvider, IFileSelectFilter, IFileUploadOptions, IFilter, IFilterData, IFolderBasicInfo, IFormField, IFormSelectOption, IGroupNode, IListResponse, ILoggedUserInfo, ILogicNode, IMessageResponse, IOrderable, IPagination, IPaginationMeta, IProfileActionInfo, IProfilePermissionProvider, IProfileRoleInfo, IRequestMeta, IResolverModuleConfig, ISelectFilter, ISingleResponse, ISoftDeletable, ISort, IStorageConfigBasicInfo, ITableAction, ITableColumn, ITagConfig, ITimestampable, IUploadedFile, IUserBasicInfo, IUserBranchPermission, IUserCompanyInfo, IUserPermissionProvider, IUserProvider, IUserSelectFilter, LoadUsersFn, PermissionCode, RouterTabItem, ScrollPaginationConfig, TableColumnType, UploadFileFn, UploadMultipleFilesFn };
|
|
1720
|
+
export type { ActionSeverity, DeleteType, FilesResponseDto, FormFieldType, IActionNode, IActivatable, IApiService, IAuthStateProvider, IBaseEntity, IBranchBasicInfo, IBulkMeta, IBulkResponse, ICompanyApiProvider, ICompanyBasicInfo, IDeleteData, IDropDown, IFileBasicInfo, IFileProvider, IFileSelectFilter, IFileUploadOptions, IFilter, IFilterData, IFolderBasicInfo, IFormField, IFormSelectOption, IGroupNode, IListResponse, ILoggedUserInfo, ILogicNode, IMessageResponse, IOrderable, IPagination, IPaginationMeta, IProfileActionInfo, IProfilePermissionProvider, IProfileRoleInfo, IRequestMeta, IResolverModuleConfig, ISelectFilter, ISingleResponse, ISoftDeletable, ISort, IStorageConfigBasicInfo, ITableAction, ITableColumn, ITagConfig, ITimestampable, IUploadedFile, IUserBasicInfo, IUserBranchPermission, IUserCompanyInfo, IUserPermissionProvider, IUserProvider, IUserSelectFilter, LoadUsersFn, PermissionCode, RouterTabItem, ScrollPaginationConfig, TableColumnType, UploadFileFn, UploadMultipleFilesFn };
|