cloud-ide-core 2.0.5 → 2.0.7

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/index.d.ts CHANGED
@@ -3,8 +3,8 @@ import * as _angular_core from '@angular/core';
3
3
  import { TemplateRef, OnInit, OnDestroy, AfterViewInit } from '@angular/core';
4
4
  import * as _angular_forms from '@angular/forms';
5
5
  import { FormGroup, FormArray } from '@angular/forms';
6
- import { ICoreSyme, MMenuListPayload, menuListControllerResponse, menuByIdControllerResponse, menuDeleteControllerResponse, ICoreSydept, MDepartment, departmentControllerResponse, departmentByIdControllerResponse, departmentDeleteControllerResponse, MDepartmentToggleStatusPayload, departmentToggleStatusControllerResponse, ICoreSydsg, ICoreSydsgl, MDesignation, designationControllerResponse, designationInsertUpdateControllerResponse, designationByIdControllerResponse, designationDeleteControllerResponse, MGradeLevel, gradeLevelControllerResponse, gradeLevelByIdControllerResponse, ICoreSypg, ICoreSytm, ICoreSythDrawer, ICoreSype, MSystemPages, systemPagesControllerResponse, MSystemPagesInsertUpdatePayload, systemPagesInsertUpdateControllerResponse, systemPagesByIdControllerResponse, systemPagesDeleteControllerResponse, MSystemPagesToggleStatusPayload, systemPagesToggleStatusControllerResponse, MSystemPagesCheckCodeExistsPayload, systemPagesCheckCodeExistsControllerResponse, MSystemPagesTheme, systemPagesThemeControllerResponse, MSystemPagesThemeInsertUpdatePayload, systemPagesThemeInsertUpdateControllerResponse, systemPagesThemeByIdControllerResponse, systemPagesThemeByPageIdControllerResponse, systemPagesThemeDeleteControllerResponse, MSystemPagesThemeToggleStatusPayload, systemPagesThemeToggleStatusControllerResponse, MPageElements, pageElementsControllerResponse, MPageElementsInsertUpdatePayload, pageElementsInsertUpdateControllerResponse, pageElementsByIdControllerResponse, pageElementsByPageIdControllerResponse, pageElementsMappingByPageIdControllerResponse, MPageElementsMappingInsertUpdatePayload, pageElementsMappingInsertUpdateControllerResponse, pageElementsMappingDeleteControllerResponse, pageElementsDeleteControllerResponse, MPageElementsToggleStatusPayload, pageElementsToggleStatusControllerResponse, AuthUserCoreUserContactAddresses, AuthUserCoreUserDocuments, AuthUserCoreUserFamilyDetails, AuthUserCoreEntityMapping, CoreSystemEntityListResponse, ICoreSygms, pinCodeSelectResponseData, ICoreSyctr, AuthUserMstListPayload, authUserMstListControllerResponse, AuthUserMst, selectSearchType, CoreSystemEntity, entityControllerResponse, MEntity, ICoreSygmt, MGeneralMasterType, generalMasterTypeListControllerResponse, generalMasterTypeInsertUpdateControllerResponse, generalMasterTypeByIdControllerResponse, generalMasterTypeDeleteControllerResponse, MGeneralMasterTypeToggleStatusPayload, generalMasterTypeToggleStatusControllerResponse, IGeneralMasterListRequest, generalMasterListControllerResponse, generalMasterInsertUpdateControllerResponse, generalMasterByIdControllerResponse, generalMasterDeleteControllerResponse, generalMasterToggleStatusControllerResponse } from 'cloud-ide-lms-model';
7
- import { TemplateContext, GridConfiguration, GridEvent, DropdownItem, TabItem, CideEleDataGridComponent } from 'cloud-ide-element';
6
+ import { ICoreSyme, ICoreSygms, MMenuListPayload, menuListControllerResponse, menuByIdControllerResponse, menuDeleteControllerResponse, MMenuChangeSequencePayload, menuChangeSequenceControllerResponse, ICoreSydept, MDepartment, departmentControllerResponse, departmentByIdControllerResponse, departmentDeleteControllerResponse, MDepartmentToggleStatusPayload, departmentToggleStatusControllerResponse, ICoreSydsg, ICoreSydsgl, MDesignation, designationControllerResponse, designationInsertUpdateControllerResponse, designationByIdControllerResponse, designationDeleteControllerResponse, designationToggleStatusControllerResponse, MGradeLevel, gradeLevelControllerResponse, MGradeLevelGetByIdPayload, gradeLevelByIdControllerResponse, gradeLevelDeleteControllerResponse, gradeLevelToggleStatusControllerResponse, MGradeLevelChangeSequencePayload, gradeLevelChangeSequenceControllerResponse, ICoreSypg, ICoreSytm, ICoreSythDrawer, ICoreSype, MSystemPages, systemPagesControllerResponse, MSystemPagesInsertUpdatePayload, systemPagesInsertUpdateControllerResponse, systemPagesByIdControllerResponse, systemPagesDeleteControllerResponse, MSystemPagesToggleStatusPayload, systemPagesToggleStatusControllerResponse, MSystemPagesCheckCodeExistsPayload, systemPagesCheckCodeExistsControllerResponse, MSystemPagesTheme, systemPagesThemeControllerResponse, MSystemPagesThemeInsertUpdatePayload, systemPagesThemeInsertUpdateControllerResponse, systemPagesThemeByIdControllerResponse, systemPagesThemeByPageIdControllerResponse, systemPagesThemeDeleteControllerResponse, MSystemPagesThemeToggleStatusPayload, systemPagesThemeToggleStatusControllerResponse, MPageElements, pageElementsControllerResponse, MPageElementsInsertUpdatePayload, pageElementsInsertUpdateControllerResponse, pageElementsByIdControllerResponse, pageElementsByPageIdControllerResponse, pageElementsMappingByPageIdControllerResponse, MPageElementsMappingInsertUpdatePayload, pageElementsMappingInsertUpdateControllerResponse, pageElementsMappingDeleteControllerResponse, pageElementsDeleteControllerResponse, MPageElementsToggleStatusPayload, pageElementsToggleStatusControllerResponse, AuthUserCoreUserContactAddresses, AuthUserCoreUserDocuments, AuthUserCoreUserFamilyDetails, AuthUserCoreEntityMapping, AuthUserMst, selectSearchType, CoreSystemEntityListResponse, CoreUserRoleResponse, pinCodeSelectResponseData, ICoreSyctr, AuthUserMstListPayload, authUserMstListControllerResponse, MUserRole, userRoleControllerResponse, MUserRoleGetByIdPayload, userRoleByIdControllerResponse, MUserRoleWithRightsPayload, userRoleInsertUpdateControllerResponse, MUserRoleDeletePayload, userRoleDeleteControllerResponse, MUserRoleToggleStatusPayload, userRoleToggleStatusControllerResponse, CoreSystemEntity, entityControllerResponse, MEntity, ICoreSygmt, MGeneralMasterType, generalMasterTypeListControllerResponse, generalMasterTypeInsertUpdateControllerResponse, generalMasterTypeByIdControllerResponse, generalMasterTypeDeleteControllerResponse, MGeneralMasterTypeToggleStatusPayload, generalMasterTypeToggleStatusControllerResponse, IGeneralMasterListRequest, generalMasterListControllerResponse, generalMasterInsertUpdateControllerResponse, generalMasterByIdControllerResponse, generalMasterDeleteControllerResponse, generalMasterToggleStatusControllerResponse } from 'cloud-ide-lms-model';
7
+ import { TemplateContext, GridConfiguration, GridEvent, DropdownItem, FileUploadData, TabItem, CideEleDataGridComponent, DropdownConfig } from 'cloud-ide-element';
8
8
  import { HttpClient } from '@angular/common/http';
9
9
  import { Observable } from 'rxjs';
10
10
  import { AppStateHelperService } from 'cloud-ide-layout';
@@ -22,19 +22,25 @@ declare class CloudIdeCoreComponent {
22
22
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CloudIdeCoreComponent, "cide-core", never, {}, {}, never, never, true, never>;
23
23
  }
24
24
 
25
- declare class CideCoreMenuListComponent {
25
+ declare class MenuListComponent {
26
26
  private destroyRef;
27
27
  private menuService;
28
+ private generalMasterService;
29
+ private generalMasterTypeService;
30
+ private notificationService;
28
31
  private fb;
29
32
  private router;
30
33
  menuDetailsRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<ICoreSyme>>>;
31
34
  menuTypeRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<ICoreSyme>>>;
35
+ permissionsRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<ICoreSyme>>>;
32
36
  actionsDropdownRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<ICoreSyme>>>;
33
37
  Math: Math;
34
38
  menuItems: _angular_core.WritableSignal<ICoreSyme[]>;
35
39
  loading: _angular_core.WritableSignal<boolean>;
36
40
  error: _angular_core.WritableSignal<string | null>;
37
41
  selectedItems: _angular_core.WritableSignal<string[]>;
42
+ permissions: _angular_core.WritableSignal<ICoreSygms[]>;
43
+ userRightsTypeId: _angular_core.WritableSignal<string | null>;
38
44
  searchTerm: _angular_core.WritableSignal<string>;
39
45
  selectedParentItem: _angular_core.WritableSignal<ICoreSyme | null>;
40
46
  retrievedMenuItem: _angular_core.WritableSignal<ICoreSyme | null>;
@@ -54,11 +60,16 @@ declare class CideCoreMenuListComponent {
54
60
  syme_link: _angular_forms.FormControl<string>;
55
61
  syme_isactive: _angular_forms.FormControl<boolean>;
56
62
  syme_order_by: _angular_forms.FormControl<number>;
63
+ syme_permissions_id_sygms: _angular_forms.FormControl<string[]>;
57
64
  }>;
58
65
  menuTypeOptions: _angular_core.Signal<{
59
66
  value: string;
60
67
  label: string;
61
68
  }[]>;
69
+ permissionOptions: _angular_core.Signal<{
70
+ value: string;
71
+ label: string;
72
+ }[]>;
62
73
  gridConfig: _angular_core.WritableSignal<GridConfiguration<ICoreSyme>>;
63
74
  templateRenderers: _angular_core.Signal<Record<string, TemplateRef<TemplateContext<ICoreSyme>>>>;
64
75
  /**
@@ -147,15 +158,27 @@ declare class CideCoreMenuListComponent {
147
158
  sourceIndex: number;
148
159
  targetIndex: number;
149
160
  newOrder: ICoreSyme[];
161
+ allOrders?: ICoreSyme[];
150
162
  }): void;
151
163
  /**
152
164
  * Update grid data after reordering
153
165
  */
154
166
  private updateGridDataAfterReorder;
155
167
  /**
156
- * Save menu order
168
+ * Save menu order using the change sequence API
169
+ * This method is called by the data grid when save-order action is triggered
170
+ * Handles both single-level and multi-level (hierarchical) menu structures
157
171
  */
158
172
  saveMenuOrder(): void;
173
+ /**
174
+ * Get all menu items including children from the current data structure
175
+ * This handles both hierarchical and flat menu structures
176
+ */
177
+ private getAllMenuItemsIncludingChildren;
178
+ /**
179
+ * Check if the data structure is flat (no children property) or hierarchical
180
+ */
181
+ private isFlatDataStructure;
159
182
  /**
160
183
  * Reset drag order to original state
161
184
  */
@@ -277,27 +300,48 @@ declare class CideCoreMenuListComponent {
277
300
  */
278
301
  getMenuTypeLabel(type: string): string;
279
302
  /**
280
- * Generate dropdown items for menu actions
303
+ * Test method to load sample data for debugging
304
+ */
305
+ loadTestData(): void;
306
+ /**
307
+ * Load user rights type ID from general master types
281
308
  */
282
- getDropdownItems(row: ICoreSyme): DropdownItem[];
309
+ private loadUserRightsTypeId;
283
310
  /**
284
- * Handle dropdown item click
311
+ * Load permissions from general master
285
312
  */
286
- onDropdownItemClick(item: DropdownItem, row: ICoreSyme): void;
313
+ private loadPermissions;
287
314
  /**
288
- * Close all dropdowns
315
+ * Get permission names from permission IDs
289
316
  */
290
- private closeAllDropdowns;
317
+ getPermissionNames(permissionIds: string[]): string;
291
318
  /**
292
- * Test method to load sample data for debugging
319
+ * Get permission by ID
293
320
  */
294
- loadTestData(): void;
295
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideCoreMenuListComponent, never>;
296
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideCoreMenuListComponent, "cide-core-menu-list", never, {}, {}, never, never, true, never>;
321
+ getPermissionById(permissionId: string): ICoreSygms | undefined;
322
+ /**
323
+ * Get all permission names for tooltip
324
+ */
325
+ getAllPermissionNames(permissionIds: string[]): string;
326
+ /**
327
+ * Handle menu type change - clear permissions for non-menu types
328
+ */
329
+ onMenuTypeChange(): void;
330
+ /**
331
+ * Get dropdown items for menu actions
332
+ */
333
+ getDropdownItems(menuItem: ICoreSyme): DropdownItem[];
334
+ /**
335
+ * Handle dropdown item click
336
+ */
337
+ onDropdownItemClick(item: DropdownItem, menuItem: ICoreSyme): void;
338
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuListComponent, never>;
339
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuListComponent, "cide-core-app-menu-list", never, {}, {}, never, never, true, never>;
297
340
  }
298
341
 
299
- declare class CideCoreMenuManagementService {
342
+ declare class MenuManagementService {
300
343
  private http;
344
+ private apiUrl;
301
345
  private menuListSubject;
302
346
  menuList$: Observable<ICoreSyme[]>;
303
347
  constructor(http: HttpClient);
@@ -345,6 +389,11 @@ declare class CideCoreMenuManagementService {
345
389
  * Toggle menu item active status
346
390
  */
347
391
  toggleMenuItemStatus(id: string): Observable<menuListControllerResponse>;
392
+ /**
393
+ * Change menu sequence
394
+ * PATCH ${coreRoutesUrl?.menu}/change-sequence - payload: menu sequence data, response: menuChangeSequenceControllerResponse
395
+ */
396
+ changeMenuSequence(payload: MMenuChangeSequencePayload): Observable<menuChangeSequenceControllerResponse>;
348
397
  /**
349
398
  * Get available menu types
350
399
  */
@@ -369,8 +418,8 @@ declare class CideCoreMenuManagementService {
369
418
  * Handle errors
370
419
  */
371
420
  private handleError;
372
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideCoreMenuManagementService, never>;
373
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideCoreMenuManagementService>;
421
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuManagementService, never>;
422
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<MenuManagementService>;
374
423
  }
375
424
 
376
425
  declare class CideCoreDepartmentListComponent {
@@ -634,6 +683,8 @@ declare class CideCoreDesignationListComponent {
634
683
  private appState;
635
684
  private fb;
636
685
  private router;
686
+ private notificationService;
687
+ private confirmationService;
637
688
  designationDetailsRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
638
689
  designationStatusRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
639
690
  actionsDropdownRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
@@ -678,7 +729,7 @@ declare class CideCoreDesignationListComponent {
678
729
  actionHandlers: {
679
730
  onEditDesignation: (row: ICoreSydsg) => void;
680
731
  onToggleDesignation: (row: ICoreSydsg) => void;
681
- onDeleteDesignation: (row: ICoreSydsg) => void;
732
+ onDeleteDesignation: (row: ICoreSydsg) => Promise<void>;
682
733
  onDesignationRowClick: (row: ICoreSydsg) => void;
683
734
  onDesignationRefresh: () => void;
684
735
  onAddChild: (row: ICoreSydsg) => void;
@@ -727,22 +778,46 @@ declare class CideCoreDesignationListComponent {
727
778
  loadGradeLevels(): void;
728
779
  /**
729
780
  * Build hierarchical tree structure from departments and designations
781
+ * Based on FK relationships: _id (PK) -> sydsg_prent_id_desg (FK) OR sydsg_department_id_sydpt (FK)
730
782
  */
731
783
  private buildHierarchicalData;
784
+ /**
785
+ * Extract and set departments and grade levels from populated designation data
786
+ */
787
+ private extractAndSetDepartmentsAndGradeLevels;
788
+ /**
789
+ * Extract unique departments from designation data (since department data is populated in API response)
790
+ */
791
+ private extractDepartmentsFromDesignations;
792
+ /**
793
+ * Build and add designation hierarchy to department hierarchy
794
+ * This method handles the complete designation hierarchy and adds it to the appropriate departments
795
+ */
796
+ private buildAndAddDesignationHierarchy;
797
+ /**
798
+ * Build designation hierarchy based on FK relationships
799
+ * PK: _id, FK: sydsg_prent_id_desg (if set) OR sydsg_department_id_sydpt (if no parent designation)
800
+ */
801
+ private buildDesignationHierarchy;
732
802
  /**
733
803
  * Build department hierarchy with parent-child relationships
734
804
  */
735
805
  private buildDepartmentHierarchy;
736
806
  /**
737
- * Add designations to their respective departments in the hierarchy
807
+ * Add designation hierarchy to department hierarchy
808
+ * Designations with department as parent (sydsg_department_id_sydpt) will be added to departments
738
809
  */
739
- private addDesignationsToDepartments;
810
+ private addDesignationHierarchyToDepartments;
740
811
  /**
741
- * Get grade level name by ID
812
+ * Recursively add children designations to a parent designation
813
+ */
814
+ private addDesignationChildren;
815
+ /**
816
+ * Get grade level name by ID or from designation data
742
817
  */
743
818
  private getGradeLevelName;
744
819
  /**
745
- * Update grid data with hierarchical structure
820
+ * Update grid data with hierarchical structure based on FK relationships
746
821
  */
747
822
  private updateGridData;
748
823
  /**
@@ -774,13 +849,17 @@ declare class CideCoreDesignationListComponent {
774
849
  */
775
850
  populateFormForEdit(designation: ICoreSydsg): void;
776
851
  /**
777
- * Delete designation
852
+ * Delete designation with confirmation modal
778
853
  */
779
- deleteDesignation(itemId: string): void;
854
+ deleteDesignation(itemId: string): Promise<void>;
780
855
  /**
781
856
  * Toggle designation status
782
857
  */
783
858
  toggleDesignationStatus(itemId: string): void;
859
+ /**
860
+ * Rename designation
861
+ */
862
+ renameDesignation(itemId: string, currentName: string): void;
784
863
  /**
785
864
  * Quick add or update designation using reactive form
786
865
  */
@@ -894,7 +973,7 @@ declare class CideCoreDesignationManagementService {
894
973
  /**
895
974
  * Toggle designation active status
896
975
  */
897
- toggleDesignationStatus(id: string): Observable<designationControllerResponse>;
976
+ toggleDesignationStatus(id: string): Observable<designationToggleStatusControllerResponse>;
898
977
  /**
899
978
  * Find designation by ID
900
979
  */
@@ -921,6 +1000,8 @@ declare class CideCoreGradeLevelListComponent {
921
1000
  private appState;
922
1001
  private fb;
923
1002
  private router;
1003
+ private notificationService;
1004
+ private confirmationService;
924
1005
  dragHandleRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
925
1006
  gradeLevelDetailsRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
926
1007
  gradeLevelStatusRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
@@ -933,7 +1014,6 @@ declare class CideCoreGradeLevelListComponent {
933
1014
  searchTerm: _angular_core.WritableSignal<string>;
934
1015
  retrievedGradeLevel: _angular_core.WritableSignal<ICoreSydsgl | null>;
935
1016
  isEditMode: _angular_core.WritableSignal<boolean>;
936
- originalOrder: _angular_core.WritableSignal<ICoreSydsgl[]>;
937
1017
  hasOrderChanged: _angular_core.WritableSignal<boolean>;
938
1018
  currentPage: _angular_core.WritableSignal<number>;
939
1019
  pageSize: _angular_core.WritableSignal<number>;
@@ -961,7 +1041,7 @@ declare class CideCoreGradeLevelListComponent {
961
1041
  actionHandlers: {
962
1042
  onEditGradeLevel: (row: ICoreSydsgl) => void;
963
1043
  onToggleGradeLevel: (row: ICoreSydsgl) => void;
964
- onDeleteGradeLevel: (row: ICoreSydsgl) => void;
1044
+ onDeleteGradeLevel: (row: ICoreSydsgl) => Promise<void>;
965
1045
  onGradeLevelRowClick: (row: ICoreSydsgl) => void;
966
1046
  onGradeLevelRefresh: () => void;
967
1047
  resetOrder: () => void;
@@ -1013,13 +1093,15 @@ declare class CideCoreGradeLevelListComponent {
1013
1093
  sourceIndex: number;
1014
1094
  targetIndex: number;
1015
1095
  newOrder: ICoreSydsgl[];
1096
+ allOrders?: ICoreSydsgl[];
1016
1097
  }): void;
1017
1098
  /**
1018
1099
  * Update grid data after reordering
1019
1100
  */
1020
1101
  private updateGridDataAfterReorder;
1021
1102
  /**
1022
- * Save grade level order
1103
+ * Save grade level order using the change sequence API
1104
+ * This method is called by the data grid when save-order action is triggered
1023
1105
  */
1024
1106
  saveGradeLevelOrder(): void;
1025
1107
  /**
@@ -1047,9 +1129,13 @@ declare class CideCoreGradeLevelListComponent {
1047
1129
  */
1048
1130
  populateFormForEdit(gradeLevel: ICoreSydsgl): void;
1049
1131
  /**
1050
- * Delete grade level
1132
+ * Delete grade level with confirmation dialog
1051
1133
  */
1052
- deleteGradeLevel(itemId: string): void;
1134
+ deleteGradeLevel(itemId: string): Promise<void>;
1135
+ /**
1136
+ * Delete multiple grade levels with confirmation dialog
1137
+ */
1138
+ deleteMultipleGradeLevels(): Promise<void>;
1053
1139
  /**
1054
1140
  * Toggle grade level status
1055
1141
  */
@@ -1138,16 +1224,12 @@ declare class CideCoreGradeLevelManagementService {
1138
1224
  * Get grade level by ID
1139
1225
  * GET ${coreRoutesUrl?.gradeLevel}/byId/:query - payload: { id }, response: gradeLevelByIdControllerResponse
1140
1226
  */
1141
- getGradeLevelById(id: string): Observable<gradeLevelByIdControllerResponse>;
1227
+ getGradeLevelById(payload: MGradeLevelGetByIdPayload): Observable<gradeLevelByIdControllerResponse>;
1142
1228
  /**
1143
1229
  * Delete grade level
1144
1230
  * DELETE ${coreRoutesUrl?.gradeLevel}/:query - payload: { id }, response: { success: boolean }
1145
1231
  */
1146
- deleteGradeLevel(id: string): Observable<{
1147
- success: boolean;
1148
- message?: string;
1149
- data?: unknown;
1150
- }>;
1232
+ deleteGradeLevel(id: string): Observable<gradeLevelDeleteControllerResponse>;
1151
1233
  /**
1152
1234
  * Delete multiple grade levels
1153
1235
  */
@@ -1158,8 +1240,14 @@ declare class CideCoreGradeLevelManagementService {
1158
1240
  }>;
1159
1241
  /**
1160
1242
  * Toggle grade level active status
1243
+ * PATCH ${coreRoutesUrl?.gradeLevel}/toggle-status - payload: { id }, response: gradeLevelToggleStatusControllerResponse
1244
+ */
1245
+ toggleGradeLevelStatus(id: string): Observable<gradeLevelToggleStatusControllerResponse>;
1246
+ /**
1247
+ * Change grade level sequence
1248
+ * PATCH ${coreRoutesUrl?.gradeLevel}/change-sequence - payload: MGradeLevelChangeSequencePayload, response: gradeLevelChangeSequenceControllerResponse
1161
1249
  */
1162
- toggleGradeLevelStatus(id: string): Observable<gradeLevelControllerResponse>;
1250
+ changeGradeLevelSequence(payload: MGradeLevelChangeSequencePayload): Observable<gradeLevelChangeSequenceControllerResponse>;
1163
1251
  /**
1164
1252
  * Find grade level by ID
1165
1253
  */
@@ -1280,7 +1368,6 @@ declare class CideCorePageThemeComponent implements OnInit {
1280
1368
  selectedItems: _angular_core.WritableSignal<string[]>;
1281
1369
  searchTerm: _angular_core.WritableSignal<string>;
1282
1370
  filteredThemes: _angular_core.Signal<ICoreSytm[]>;
1283
- getPreviewUrl(theme: ICoreSytm): string;
1284
1371
  onGallerySearchInput(event: Event): void;
1285
1372
  pageId: _angular_core.WritableSignal<string>;
1286
1373
  pageTitle: _angular_core.WritableSignal<string>;
@@ -1443,6 +1530,10 @@ declare class CideCorePageThemeComponent implements OnInit {
1443
1530
  * Set selected theme (only one can be selected per page)
1444
1531
  */
1445
1532
  setSelectedTheme(theme: ICoreSytm): void;
1533
+ getPreviewImageUploadData(): FileUploadData;
1534
+ onPreviewImageUploadSuccess(fileId: string): void;
1535
+ onPreviewImageUploadError(error: string): void;
1536
+ onPreviewImageUploadProgress(progress: number): void;
1446
1537
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideCorePageThemeComponent, never>;
1447
1538
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideCorePageThemeComponent, "cide-core-page-theme", never, {}, {}, never, never, true, never>;
1448
1539
  }
@@ -1703,37 +1794,79 @@ declare class CideCorePageControlsService {
1703
1794
  declare class CideCoreUserCreateComponent implements OnInit, OnDestroy {
1704
1795
  private destroyRef;
1705
1796
  private fb;
1797
+ private cdr;
1706
1798
  private userMasterService;
1707
1799
  private entityService;
1708
1800
  private designationService;
1709
1801
  private departmentService;
1710
1802
  private CideCoreGeneralMasterService;
1803
+ private generalMasterTypeService;
1711
1804
  private pinCodeService;
1712
1805
  private countryService;
1806
+ private userRoleService;
1807
+ private menuService;
1713
1808
  private router;
1714
1809
  private route;
1715
1810
  private appState;
1811
+ private floatingUploadService;
1716
1812
  userMasterForm: FormGroup;
1717
1813
  activeTab: _angular_core.WritableSignal<string>;
1718
1814
  loading: _angular_core.WritableSignal<boolean>;
1719
1815
  error: _angular_core.WritableSignal<string | null>;
1816
+ success: _angular_core.WritableSignal<string | null>;
1720
1817
  userId: _angular_core.WritableSignal<string>;
1721
1818
  isEditMode: _angular_core.WritableSignal<boolean>;
1722
1819
  showPasswordFields: _angular_core.WritableSignal<boolean>;
1820
+ profilePhotoPreview: _angular_core.WritableSignal<string | null>;
1723
1821
  contactAddresses: _angular_core.WritableSignal<AuthUserCoreUserContactAddresses[]>;
1724
1822
  documents: _angular_core.WritableSignal<AuthUserCoreUserDocuments[]>;
1725
1823
  familyDetails: _angular_core.WritableSignal<AuthUserCoreUserFamilyDetails[]>;
1726
1824
  entityMappings: _angular_core.WritableSignal<AuthUserCoreEntityMapping[]>;
1727
1825
  menuRightsMap: _angular_core.WritableSignal<{
1728
- [mappingIndex: string]: any[];
1826
+ [mappingIndex: string]: ICoreSyme[];
1729
1827
  }>;
1828
+ userRightsTypeId: _angular_core.WritableSignal<string | null>;
1829
+ permissions: _angular_core.WritableSignal<ICoreSygms[]>;
1830
+ Object: ObjectConstructor;
1831
+ /**
1832
+ * Get address type label for header display
1833
+ */
1834
+ getAddressTypeLabel(addressIndex: number): string;
1835
+ /**
1836
+ * Handle address type change to update header
1837
+ */
1838
+ onAddressTypeChange(addressIndex: number): void;
1839
+ /**
1840
+ * Get document type label for header display
1841
+ */
1842
+ getDocumentTypeLabel(documentIndex: number): string;
1843
+ /**
1844
+ * Handle document type change to update header
1845
+ */
1846
+ onDocumentTypeChange(documentIndex: number): void;
1847
+ /**
1848
+ * Handle document files selection
1849
+ */
1850
+ onDocumentFilesSelected(event: Event, documentIndex: number): void;
1851
+ /**
1852
+ * Get document group ID
1853
+ */
1854
+ getDocumentGroupId(documentIndex: number): string;
1855
+ /**
1856
+ * Get uploaded files for a document (legacy method for backward compatibility)
1857
+ */
1858
+ getDocumentFiles(documentIndex: number): any[];
1859
+ /**
1860
+ * Remove a file from document (legacy method for backward compatibility)
1861
+ */
1862
+ removeDocumentFile(documentIndex: number, fileName: string): void;
1730
1863
  constructor();
1731
1864
  get entityMappingsFormArray(): FormArray;
1732
1865
  get contactAddressesFormArray(): FormArray;
1733
1866
  get documentsFormArray(): FormArray;
1734
1867
  get familyDetailsFormArray(): FormArray;
1735
1868
  userSearchResults: _angular_core.WritableSignal<{
1736
- [familyIndex: number]: any[];
1869
+ [familyIndex: number]: AuthUserMst[];
1737
1870
  }>;
1738
1871
  userSearchLoading: _angular_core.WritableSignal<{
1739
1872
  [familyIndex: number]: boolean;
@@ -1749,23 +1882,29 @@ declare class CideCoreUserCreateComponent implements OnInit, OnDestroy {
1749
1882
  icon: string;
1750
1883
  }[];
1751
1884
  searchUsers(query?: string, familyIndex?: number): void;
1752
- userOptions(familyIndex?: number): any[];
1753
- onUserSearchChange(searchEvent: any, familyIndex: number): void;
1885
+ userOptions(familyIndex?: number): AuthUserMst[];
1886
+ onUserSearchChange(searchEvent: selectSearchType, familyIndex: number): void;
1754
1887
  loadInitialUsers(): void;
1755
- onUserSelectionChange(event: any, familyIndex: number): void;
1888
+ onUserSelectionChange(event: AuthUserMst, familyIndex: number): void;
1756
1889
  entityOptions: _angular_core.WritableSignal<CoreSystemEntityListResponse[]>;
1757
- roleOptions: _angular_core.WritableSignal<any[]>;
1890
+ roleOptions: _angular_core.WritableSignal<{
1891
+ [entityId: string]: CoreUserRoleResponse[];
1892
+ }>;
1758
1893
  designationOptions: _angular_core.WritableSignal<{
1759
1894
  [entityId: string]: ICoreSydsg[];
1760
1895
  }>;
1761
1896
  departmentOptions: _angular_core.WritableSignal<{
1762
1897
  [entityId: string]: ICoreSydept[];
1763
1898
  }>;
1764
- menuOptions: _angular_core.WritableSignal<any[]>;
1765
- permissionOptions: _angular_core.WritableSignal<any[]>;
1766
- entityRoleMap: _angular_core.WritableSignal<{
1767
- [entityId: string]: any[];
1768
- }>;
1899
+ menuOptions: _angular_core.WritableSignal<ICoreSyme[]>;
1900
+ rolePermissionsGridConfig: _angular_core.WritableSignal<GridConfiguration<any>>;
1901
+ selectedRoleId: _angular_core.WritableSignal<string | null>;
1902
+ selectedEntityIndex: _angular_core.WritableSignal<number | null>;
1903
+ menuDetailsRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>> | undefined>;
1904
+ permissionsCheckboxRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>> | undefined>;
1905
+ menuTypeRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>> | undefined>;
1906
+ menuRightsPermissionsRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>> | undefined>;
1907
+ permissionsRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>> | undefined>;
1769
1908
  addressTypeOptions: _angular_core.WritableSignal<ICoreSygms[]>;
1770
1909
  documentTypeOptions: _angular_core.WritableSignal<ICoreSygms[]>;
1771
1910
  photoGroupOptions: _angular_core.WritableSignal<any[]>;
@@ -1793,6 +1932,10 @@ declare class CideCoreUserCreateComponent implements OnInit, OnDestroy {
1793
1932
  * Initialize component
1794
1933
  */
1795
1934
  private initializeComponent;
1935
+ /**
1936
+ * Setup floating uploader with current user ID
1937
+ */
1938
+ private setupFloatingUploader;
1796
1939
  /**
1797
1940
  * Setup form subscriptions
1798
1941
  */
@@ -1864,23 +2007,158 @@ declare class CideCoreUserCreateComponent implements OnInit, OnDestroy {
1864
2007
  * Clear department selection for a specific mapping
1865
2008
  */
1866
2009
  private clearDepartmentForMapping;
2010
+ /**
2011
+ * Clear role selection for a specific mapping
2012
+ */
2013
+ private clearRoleForMapping;
1867
2014
  /**
1868
2015
  * Load departments for a specific entity
1869
2016
  */
1870
2017
  private loadDepartmentsForEntity;
2018
+ /**
2019
+ * Load roles for a specific entity
2020
+ */
2021
+ private loadRolesForEntity;
1871
2022
  /**
1872
2023
  * Get department options for a specific entity mapping
1873
2024
  */
1874
2025
  getDepartmentOptionsForEntity(mappingIndex: number): ICoreSydept[];
1875
2026
  getDesignationOptionsForEntity(mappingIndex: number): ICoreSydsg[];
2027
+ /**
2028
+ * Initialize role permissions grid configuration
2029
+ */
2030
+ private initializeRolePermissionsGrid;
2031
+ /**
2032
+ * Handle role selection change
2033
+ */
2034
+ onRoleChange(mappingIndex: number, roleId: string): void;
2035
+ /**
2036
+ * Load role permissions from API
2037
+ */
2038
+ private loadRolePermissions;
2039
+ /**
2040
+ * Update permission values for a specific menu row
2041
+ */
2042
+ updateMenuPermissionValues(mappingIndex: number, menuId: string): void;
2043
+ /**
2044
+ * Store role permissions for simple lookup
2045
+ */
2046
+ private storeRolePermissions;
2047
+ /**
2048
+ * Clear role permissions
2049
+ */
2050
+ private clearRolePermissions;
2051
+ /**
2052
+ * Find mapping index by entity mapping ID
2053
+ */
2054
+ private findMappingIndexByEntityMappingId;
2055
+ /**
2056
+ * Handle grid events for role permissions
2057
+ */
2058
+ onRolePermissionsGridEvent(event: GridEvent): void;
2059
+ /**
2060
+ * Get template renderers for role permissions grid
2061
+ */
2062
+ get templateRenderers(): {
2063
+ menuDetailsRenderer: TemplateRef<TemplateContext<Record<string, unknown>>> | undefined;
2064
+ permissionsCheckboxRenderer: TemplateRef<TemplateContext<Record<string, unknown>>> | undefined;
2065
+ menuTypeRenderer: TemplateRef<TemplateContext<Record<string, unknown>>> | undefined;
2066
+ };
2067
+ /**
2068
+ * Get permission by ID
2069
+ */
2070
+ getPermissionById(permissionId: string): any;
2071
+ /**
2072
+ * Check if permission is available in the selected role for a specific menu
2073
+ */
2074
+ isPermissionInRole(permissionId: string, mappingIndex: number, menuId?: string): boolean;
2075
+ /**
2076
+ * Get form control value for a permission
2077
+ */
2078
+ getFormControlValue(row: ICoreSyme, permissionId: string): boolean;
2079
+ /**
2080
+ * Handle permission change with type safety
2081
+ */
2082
+ onPermissionChangeSafe(checked: any, row: ICoreSyme, permissionId: string): void;
2083
+ /**
2084
+ * Handle permission change
2085
+ */
2086
+ onPermissionChange(checked: boolean, row: ICoreSyme, permissionId: string): void;
2087
+ /**
2088
+ * Handle permission change for specific mapping
2089
+ */
2090
+ onPermissionChangeForMapping(checked: boolean, row: any, permissionId: string, mappingIndex: number): void;
2091
+ /**
2092
+ * Get current mapping index (helper method)
2093
+ */
2094
+ private getCurrentMappingIndex;
2095
+ /**
2096
+ * Add role exception
2097
+ */
2098
+ addRoleException(mappingIndex: number, menuId: string, permissionId: string): void;
2099
+ /**
2100
+ * Remove role exception
2101
+ */
2102
+ removeRoleException(mappingIndex: number, menuId: string, permissionId: string): void;
2103
+ /**
2104
+ * Collect only changed role exceptions from entity mappings
2105
+ */
2106
+ collectRoleExceptions(): Array<{
2107
+ syusrex_user_entity_mapping_id_syenm: string;
2108
+ syusrex_role_id_syusrol: string;
2109
+ syusrex_role_permissions_id_sygms: string;
2110
+ syusrex_menu_id_syme: string;
2111
+ syusrex_isactive: boolean;
2112
+ _changeType: string;
2113
+ }>;
2114
+ /**
2115
+ * Check if permission is selected for a menu
2116
+ */
2117
+ isPermissionSelected(menuId: string, permissionId: string): boolean;
2118
+ /**
2119
+ * Handle permission checkbox change (read-only in this context)
2120
+ */
2121
+ onPermissionCheckboxChange(menuId: string, permissionId: string, isSelected: boolean): void;
2122
+ /**
2123
+ * Check if a menu has child menus with permissions
2124
+ */
2125
+ hasChildMenusWithPermissions(menuId: string): boolean;
2126
+ /**
2127
+ * Update menu rights grid data to force refresh
2128
+ */
2129
+ updateMenuRightsGridData(mappingIndex: number): void;
2130
+ /**
2131
+ * Get menu rights grid configuration for a specific mapping
2132
+ */
2133
+ getMenuRightsGridConfig(mappingIndex: number): GridConfiguration<any>;
2134
+ /**
2135
+ * Get template renderers for menu rights grid
2136
+ */
2137
+ getMenuRightsTemplateRenderers(mappingIndex: number): {
2138
+ menuDetailsRenderer: TemplateRef<TemplateContext<Record<string, unknown>>> | undefined;
2139
+ menuTypeRenderer: TemplateRef<TemplateContext<Record<string, unknown>>> | undefined;
2140
+ permissionsRenderer: TemplateRef<TemplateContext<Record<string, unknown>>> | undefined;
2141
+ };
2142
+ /**
2143
+ * Handle menu rights grid events
2144
+ */
2145
+ onMenuRightsGridEvent(event: GridEvent, mappingIndex: number): void;
1876
2146
  addPermissionException(mappingIndex: number): void;
1877
2147
  removePermissionException(mappingIndex: number, exceptionIndex: number): void;
1878
2148
  private removePermissionExceptionControls;
1879
2149
  getPermissionExceptions(mappingIndex: number): any[];
1880
- getMenuRightsForMapping(mappingIndex: number): any[];
2150
+ getMenuRightsForMapping(mappingIndex: number): ICoreSyme[];
1881
2151
  loadMenuRights(mappingIndex: number): void;
1882
2152
  refreshMenuRights(mappingIndex: number): void;
1883
2153
  clearMenuRightsForMapping(mappingIndex: number): void;
2154
+ /**
2155
+ * Load user rights type ID from general master types
2156
+ */
2157
+ private loadUserRightsTypeId;
2158
+ /**
2159
+ * Load permissions from general master
2160
+ */
2161
+ private loadPermissions;
1884
2162
  hasRoleRight(menuRight: any, permission: string): boolean;
1885
2163
  canOverrideRight(menuRight: any, permission: string): boolean;
1886
2164
  hasExceptionForMenu(mappingIndex: number, menuId: string): boolean;
@@ -1897,6 +2175,59 @@ declare class CideCoreUserCreateComponent implements OnInit, OnDestroy {
1897
2175
  getUserActiveStatus(): boolean;
1898
2176
  getUserPhoto(): string | null;
1899
2177
  getEntityMappingCount(): number;
2178
+ /**
2179
+ * Handle profile photo upload success
2180
+ */
2181
+ onProfilePhotoUploadSuccess(fileId: string): void;
2182
+ /**
2183
+ * Handle profile photo upload error
2184
+ */
2185
+ onProfilePhotoUploadError(error: string): void;
2186
+ /**
2187
+ * Handle profile photo upload progress
2188
+ */
2189
+ onProfilePhotoUploadProgress(progress: number): void;
2190
+ /**
2191
+ * Get upload data for profile photo
2192
+ */
2193
+ getProfilePhotoUploadData(): {
2194
+ altText: string;
2195
+ userId: string;
2196
+ permissions: string[];
2197
+ tags: string[];
2198
+ uploadType: string;
2199
+ };
2200
+ /**
2201
+ * Get upload data for document files with group ID
2202
+ */
2203
+ getDocumentUploadData(documentIndex: number): {
2204
+ altText: string;
2205
+ userId: string;
2206
+ groupId: any;
2207
+ permissions: string[];
2208
+ tags: string[];
2209
+ uploadType: string;
2210
+ documentIndex: number;
2211
+ documentType: any;
2212
+ documentNumber: any;
2213
+ };
2214
+ /**
2215
+ * Handle document upload success
2216
+ * For multiple file upload, uploadResponse is the group ID
2217
+ */
2218
+ onDocumentUploadSuccess(groupId: string, documentIndex: number): void;
2219
+ /**
2220
+ * Handle document upload error
2221
+ */
2222
+ onDocumentUploadError(error: any, documentIndex: number): void;
2223
+ /**
2224
+ * Handle document upload progress
2225
+ */
2226
+ onDocumentUploadProgress(progress: number, documentIndex: number): void;
2227
+ /**
2228
+ * Load profile photo preview for existing photos
2229
+ */
2230
+ private loadProfilePhotoPreview;
1900
2231
  addContactAddress(): void;
1901
2232
  removeContactAddress(index: number): void;
1902
2233
  addDocument(): void;
@@ -2009,6 +2340,10 @@ declare class CideCoreUserCreateComponent implements OnInit, OnDestroy {
2009
2340
  * Load relationship options from general master service
2010
2341
  */
2011
2342
  private loadRelationshipOptions;
2343
+ /**
2344
+ * Load menu options from API
2345
+ */
2346
+ private loadMenuOptions;
2012
2347
  /**
2013
2348
  * Load dropdown data for existing addresses in edit mode
2014
2349
  */
@@ -2234,6 +2569,372 @@ declare class CideCoreUserFamilyDetailsComponent implements OnInit {
2234
2569
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideCoreUserFamilyDetailsComponent, "cide-core-user-family-details", never, {}, {}, never, never, true, never>;
2235
2570
  }
2236
2571
 
2572
+ declare class CideCoreUserRoleService {
2573
+ private readonly http;
2574
+ /**
2575
+ * Get list of user roles
2576
+ * @param payload - Query parameters for filtering/pagination
2577
+ * @returns Observable of user role list response
2578
+ */
2579
+ getUserRoleList(payload: MUserRole): Observable<userRoleControllerResponse>;
2580
+ /**
2581
+ * Get user role by ID
2582
+ * @param payload - User role ID payload
2583
+ * @returns Observable of user role data
2584
+ */
2585
+ getUserRoleById(payload: MUserRoleGetByIdPayload): Observable<userRoleByIdControllerResponse>;
2586
+ /**
2587
+ * Create or update user role
2588
+ * @param data - User role data to save
2589
+ * @returns Observable of the save response
2590
+ */
2591
+ saveUpdateUserRole(data: MUserRoleWithRightsPayload): Observable<userRoleInsertUpdateControllerResponse>;
2592
+ /**
2593
+ * Delete user role
2594
+ * @param payload - User role ID payload
2595
+ * @returns Observable of the delete response
2596
+ */
2597
+ deleteUserRole(payload: MUserRoleDeletePayload): Observable<userRoleDeleteControllerResponse>;
2598
+ /**
2599
+ * Toggle user role status
2600
+ * @param payload - User role ID payload
2601
+ * @returns Observable of the toggle response
2602
+ */
2603
+ toggleUserRoleStatus(payload: MUserRoleToggleStatusPayload): Observable<userRoleToggleStatusControllerResponse>;
2604
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideCoreUserRoleService, never>;
2605
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideCoreUserRoleService>;
2606
+ }
2607
+
2608
+ interface UserRole {
2609
+ _id?: string;
2610
+ syusrol_role_name?: string;
2611
+ syusrol_role_description?: string;
2612
+ syusrol_role_entity_id_syen?: string | Entity;
2613
+ syusrol_isactive?: boolean;
2614
+ syusrol_islocked?: boolean;
2615
+ syusrol_created_by?: string;
2616
+ syusrol_created_at?: string | Date;
2617
+ syusrol_updated_by?: string;
2618
+ syusrol_updated_at?: string | Date;
2619
+ __v?: number;
2620
+ }
2621
+ interface UserRoleRight {
2622
+ _id?: string;
2623
+ syusrgt_role_id_syusrol?: string | UserRole;
2624
+ syusrgt_menu_id_syme?: string | Menu;
2625
+ syusrgt_role_permissions_id_sygms?: string | Permission;
2626
+ syusrgt_isactive?: boolean;
2627
+ syusrgt_created_by?: string;
2628
+ syusrgt_created_at?: string | Date;
2629
+ syusrgt_updated_by?: string;
2630
+ syusrgt_updated_at?: string | Date;
2631
+ __v?: number;
2632
+ }
2633
+ interface Entity {
2634
+ _id?: string;
2635
+ syen_name?: string;
2636
+ syen_code?: string;
2637
+ syen_description?: string;
2638
+ syen_isactive?: boolean;
2639
+ }
2640
+ interface Menu {
2641
+ _id?: string;
2642
+ syme_title?: string;
2643
+ syme_menu_name?: string;
2644
+ syme_menu_code?: string;
2645
+ syme_menu_description?: string;
2646
+ syme_desc?: string;
2647
+ syme_menu_url?: string;
2648
+ syme_path?: string;
2649
+ syme_icon?: string;
2650
+ syme_parent_id?: string;
2651
+ syme_isactive?: boolean;
2652
+ }
2653
+ interface Permission {
2654
+ _id?: string;
2655
+ sygms_name?: string;
2656
+ sygms_code?: string;
2657
+ sygms_description?: string;
2658
+ sygms_isactive?: boolean;
2659
+ }
2660
+ interface ApiResponse<T> {
2661
+ success: boolean;
2662
+ code: number;
2663
+ data: T;
2664
+ total?: number;
2665
+ pageIndex?: number;
2666
+ pageSize?: number;
2667
+ message?: string;
2668
+ }
2669
+ interface UserRoleWithRights {
2670
+ core_user_role: UserRole;
2671
+ core_user_role_rights: UserRoleRight[];
2672
+ }
2673
+ interface UserRoleListResponse {
2674
+ success: boolean;
2675
+ code: number;
2676
+ data: UserRole[];
2677
+ total: number;
2678
+ message: string;
2679
+ }
2680
+ interface UserRoleWithRightsResponse {
2681
+ success: boolean;
2682
+ code: number;
2683
+ data: UserRoleWithRights;
2684
+ message: string;
2685
+ }
2686
+
2687
+ declare class CideCoreUserRoleListComponent implements OnInit, OnDestroy {
2688
+ private readonly destroyRef;
2689
+ private readonly userRoleService;
2690
+ private readonly router;
2691
+ private readonly appState;
2692
+ private readonly notificationService;
2693
+ private readonly confirmationService;
2694
+ userRoleDetailsRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
2695
+ entityRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
2696
+ statusRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
2697
+ actionsDropdownRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>>>;
2698
+ userRoles: _angular_core.WritableSignal<UserRole[]>;
2699
+ loading: _angular_core.WritableSignal<boolean>;
2700
+ error: _angular_core.WritableSignal<string | null>;
2701
+ currentPage: _angular_core.WritableSignal<number>;
2702
+ pageSize: _angular_core.WritableSignal<number>;
2703
+ totalItems: _angular_core.WritableSignal<number>;
2704
+ totalPages: _angular_core.WritableSignal<number>;
2705
+ searchQuery: _angular_core.WritableSignal<string>;
2706
+ sortColumn: _angular_core.WritableSignal<string>;
2707
+ sortDirection: _angular_core.WritableSignal<"asc" | "desc">;
2708
+ selectedStatusFilter: _angular_core.WritableSignal<string>;
2709
+ get selectedStatusFilterValue(): string;
2710
+ set selectedStatusFilterValue(value: string);
2711
+ statusFilterOptions: _angular_core.WritableSignal<{
2712
+ value: string;
2713
+ label: string;
2714
+ }[]>;
2715
+ gridConfig: _angular_core.WritableSignal<GridConfiguration<UserRole>>;
2716
+ ngOnInit(): void;
2717
+ ngOnDestroy(): void;
2718
+ /**
2719
+ * Load user roles from API
2720
+ */
2721
+ loadUserRoles(): void;
2722
+ /**
2723
+ * Update grid data
2724
+ */
2725
+ private updateGridData;
2726
+ templateRenderers: _angular_core.Signal<Record<string, TemplateRef<TemplateContext<Record<string, unknown>>>>>;
2727
+ /**
2728
+ * Handle grid events
2729
+ */
2730
+ onGridEvent(event: GridEvent<UserRole>): void;
2731
+ onStatusFilterChange(): void;
2732
+ clearFilters(): void;
2733
+ createUserRole(): void;
2734
+ viewUserRole(userRole: UserRole): void;
2735
+ editUserRole(userRole: UserRole): void;
2736
+ deleteUserRole(userRole: UserRole): void;
2737
+ toggleUserRoleStatus(userRole: UserRole): void;
2738
+ /**
2739
+ * Get dropdown configuration
2740
+ */
2741
+ getDropdownConfig(): DropdownConfig;
2742
+ /**
2743
+ * Get action dropdown items
2744
+ */
2745
+ getActionDropdownItems(userRole: UserRole): DropdownItem[];
2746
+ /**
2747
+ * Handle dropdown item click
2748
+ */
2749
+ onDropdownItemClick(item: DropdownItem, userRole: UserRole): void;
2750
+ private handleExport;
2751
+ formatDate(date: string | Date): string;
2752
+ getStatusBadgeClass(userRole: UserRole): string;
2753
+ getStatusText(userRole: UserRole): string;
2754
+ getEntityName(entity: any): string;
2755
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideCoreUserRoleListComponent, never>;
2756
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideCoreUserRoleListComponent, "cide-core-user-role-list", never, {}, {}, never, never, true, never>;
2757
+ }
2758
+
2759
+ declare class CideCoreUserRoleFormComponent implements OnInit, OnDestroy {
2760
+ private readonly destroyRef;
2761
+ private readonly userRoleService;
2762
+ private readonly menuService;
2763
+ private readonly generalMasterService;
2764
+ private readonly generalMasterTypeService;
2765
+ private readonly router;
2766
+ private readonly route;
2767
+ private readonly appState;
2768
+ private readonly notificationService;
2769
+ private readonly confirmationService;
2770
+ private readonly fb;
2771
+ private readonly cdr;
2772
+ private destroy$;
2773
+ userRoleForm: FormGroup;
2774
+ roleRightsForm: FormGroup;
2775
+ loading: _angular_core.WritableSignal<boolean>;
2776
+ error: _angular_core.WritableSignal<string | null>;
2777
+ isEditMode: _angular_core.WritableSignal<boolean>;
2778
+ isViewMode: _angular_core.WritableSignal<boolean>;
2779
+ userRoleId: _angular_core.WritableSignal<string | null>;
2780
+ entities: _angular_core.WritableSignal<Entity[]>;
2781
+ menus: _angular_core.WritableSignal<Menu[]>;
2782
+ permissions: _angular_core.WritableSignal<Permission[]>;
2783
+ originalRights: _angular_core.WritableSignal<UserRoleRight[]>;
2784
+ userRightsTypeId: _angular_core.WritableSignal<string | null>;
2785
+ menuDetailsRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>> | undefined>;
2786
+ permissionsCheckboxRendererTemplate: _angular_core.Signal<TemplateRef<TemplateContext<Record<string, unknown>>> | undefined>;
2787
+ get formTitle(): string;
2788
+ get submitButtonText(): string;
2789
+ roleRightsGridConfig: _angular_core.WritableSignal<GridConfiguration<UserRoleRight>>;
2790
+ templateRenderers: _angular_core.Signal<Record<string, TemplateRef<TemplateContext<Record<string, unknown>>>>>;
2791
+ ngOnInit(): void;
2792
+ ngOnDestroy(): void;
2793
+ /**
2794
+ * Initialize the forms
2795
+ */
2796
+ private initializeForm;
2797
+ /**
2798
+ * Check for user role ID in query parameters
2799
+ */
2800
+ private checkForUserRoleId;
2801
+ /**
2802
+ * Load master data (menus, permissions)
2803
+ */
2804
+ private loadMasterData;
2805
+ /**
2806
+ * Load menus from API using the same service as menu listing
2807
+ */
2808
+ private loadMenusFromAPI;
2809
+ /**
2810
+ * Load user rights type ID from general master type service
2811
+ */
2812
+ private loadUserRightsTypeId;
2813
+ /**
2814
+ * Load permissions from general master service
2815
+ */
2816
+ private loadPermissions;
2817
+ /**
2818
+ * Load user role data
2819
+ */
2820
+ private loadUserRoleData;
2821
+ /**
2822
+ * Populate role rights form array
2823
+ */
2824
+ private populateRoleRights;
2825
+ /**
2826
+ * Create role right form group
2827
+ */
2828
+ private createRoleRightFormGroup;
2829
+ /**
2830
+ * Get role rights form array
2831
+ */
2832
+ get roleRightsArray(): FormArray;
2833
+ /**
2834
+ * Add new role right
2835
+ */
2836
+ addRoleRight(): void;
2837
+ /**
2838
+ * Remove role right
2839
+ */
2840
+ removeRoleRight(index: number): void;
2841
+ /**
2842
+ * Get entity name by ID
2843
+ */
2844
+ getEntityName(entityId: string): string;
2845
+ /**
2846
+ * Get menu name by ID
2847
+ */
2848
+ getMenuName(menuId: string): string;
2849
+ /**
2850
+ * Get permission name by ID
2851
+ */
2852
+ getPermissionName(permissionId: string): string;
2853
+ /**
2854
+ * Get permission names by IDs
2855
+ */
2856
+ getPermissionNames(permissionIds: string[]): string;
2857
+ /**
2858
+ * Edit role right (focus on the form row)
2859
+ */
2860
+ editRoleRight(index: number): void;
2861
+ /**
2862
+ * Toggle role right status
2863
+ */
2864
+ toggleRoleRightStatus(index: number): void;
2865
+ /**
2866
+ * Handle grid events
2867
+ */
2868
+ onRoleRightsGridEvent(event: GridEvent<UserRoleRight>): void;
2869
+ /**
2870
+ * Handle form submission
2871
+ */
2872
+ onSubmit(): void;
2873
+ /**
2874
+ * Get deleted rights IDs
2875
+ */
2876
+ private getDeletedRightsIds;
2877
+ /**
2878
+ * Save user role
2879
+ */
2880
+ private saveUserRole;
2881
+ /**
2882
+ * Handle cancel
2883
+ */
2884
+ onCancel(): void;
2885
+ /**
2886
+ * Handle permission checkbox change
2887
+ */
2888
+ onPermissionCheckboxChange(menuId: string, permissionId: string, isChecked: any): void;
2889
+ /**
2890
+ * Add a role right record for a specific permission
2891
+ */
2892
+ private addRoleRightForPermission;
2893
+ /**
2894
+ * Remove a role right record for a specific permission
2895
+ */
2896
+ private removeRoleRightForPermission;
2897
+ /**
2898
+ * Check if a permission is selected for a menu
2899
+ */
2900
+ isPermissionSelected(menuId: string, permissionId: string): boolean;
2901
+ /**
2902
+ * Get permission by ID
2903
+ */
2904
+ getPermissionById(permissionId: string): Permission | undefined;
2905
+ /**
2906
+ * Get selected permissions for a menu (for debugging)
2907
+ */
2908
+ getSelectedPermissionsForMenu(menuId: string): string;
2909
+ /**
2910
+ * Initialize role rights for all menu items
2911
+ * Note: We don't create role rights upfront - they are created only when permissions are selected
2912
+ */
2913
+ private initializeRoleRightsForAllMenus;
2914
+ /**
2915
+ * Check if the form has any role rights with permissions
2916
+ */
2917
+ hasAnyRoleRightsWithPermissions(): boolean;
2918
+ /**
2919
+ * Check if the form is ready to save
2920
+ */
2921
+ get isFormReadyToSave(): boolean;
2922
+ /**
2923
+ * Check if a parent menu has any child menus with assigned permissions
2924
+ */
2925
+ hasChildMenusWithPermissions(parentMenuId: string): boolean;
2926
+ /**
2927
+ * Show notification with proper change detection
2928
+ */
2929
+ private showNotification;
2930
+ /**
2931
+ * Check if a menu is a child of a parent menu
2932
+ */
2933
+ private isChildMenuOfParent;
2934
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideCoreUserRoleFormComponent, never>;
2935
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideCoreUserRoleFormComponent, "cide-core-user-role-form", never, {}, {}, never, never, true, never>;
2936
+ }
2937
+
2237
2938
  interface DropdownOption {
2238
2939
  value: string;
2239
2940
  label: string;
@@ -2244,7 +2945,6 @@ declare class CideCoreEntityCreateComponent implements OnInit, OnDestroy {
2244
2945
  currencies: _angular_core.WritableSignal<DropdownOption[]>;
2245
2946
  users: _angular_core.WritableSignal<DropdownOption[]>;
2246
2947
  postalCodes: _angular_core.WritableSignal<DropdownOption[]>;
2247
- photoIdDocuments: _angular_core.WritableSignal<DropdownOption[]>;
2248
2948
  corporateCountries: _angular_core.WritableSignal<DropdownOption[]>;
2249
2949
  registeredCountries: _angular_core.WritableSignal<DropdownOption[]>;
2250
2950
  private pinCodeDataMap;
@@ -2267,11 +2967,18 @@ declare class CideCoreEntityCreateComponent implements OnInit, OnDestroy {
2267
2967
  private currencyService;
2268
2968
  private countryService;
2269
2969
  private appState;
2970
+ private notificationService;
2270
2971
  private fb;
2271
2972
  private route;
2973
+ private router;
2974
+ private fileManagerService;
2272
2975
  private destroy$;
2273
2976
  private globalErrorHandler?;
2274
2977
  private globalRejectionHandler?;
2978
+ private postalCodeSearchSubject;
2979
+ private userSearchSubject;
2980
+ private corporateCountrySearchSubject;
2981
+ private registeredCountrySearchSubject;
2275
2982
  constructor();
2276
2983
  ngOnInit(): void;
2277
2984
  ngOnDestroy(): void;
@@ -2287,10 +2994,15 @@ declare class CideCoreEntityCreateComponent implements OnInit, OnDestroy {
2287
2994
  private transformPinCodeToDropdown;
2288
2995
  private transformCountryToDropdown;
2289
2996
  getControl(controlName: string): _angular_forms.AbstractControl<any, any, any> | null;
2997
+ private setupDebouncedSearch;
2290
2998
  onPostalCodeSearch(event: selectSearchType): void;
2999
+ private performPostalCodeSearch;
2291
3000
  onUserSearch(event: selectSearchType): void;
3001
+ private performUserSearch;
2292
3002
  onCorporateCountrySearch(event: selectSearchType): void;
3003
+ private performCorporateCountrySearch;
2293
3004
  onRegisteredCountrySearch(event: selectSearchType): void;
3005
+ private performRegisteredCountrySearch;
2294
3006
  onPostalCodeSelection(event: Event | string): void;
2295
3007
  hasError(controlName: string, errorType?: string): boolean;
2296
3008
  getErrorMessage(controlName: string): string;
@@ -2304,6 +3016,16 @@ declare class CideCoreEntityCreateComponent implements OnInit, OnDestroy {
2304
3016
  onTabChange(tab: TabItem): void;
2305
3017
  onSubmit(): void;
2306
3018
  onReset(): void;
3019
+ onImageUploadSuccess(uploadedId: string): void;
3020
+ onImageUploadError(error: string): void;
3021
+ onImageUploadProgress(progress: number): void;
3022
+ getUploadData(): {
3023
+ altText: string;
3024
+ userId: string;
3025
+ permissions: string[];
3026
+ tags: string[];
3027
+ uploadType: string;
3028
+ };
2307
3029
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideCoreEntityCreateComponent, never>;
2308
3030
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideCoreEntityCreateComponent, "cide-core-entity-create", never, {}, {}, never, never, true, never>;
2309
3031
  }
@@ -2338,14 +3060,12 @@ declare class CideCoreEntityListComponent implements OnInit {
2338
3060
  templateRenderers: _angular_core.Signal<Record<string, TemplateRef<TemplateContext<CoreSystemEntityListResponse>>>>;
2339
3061
  getEntityTypeName(row: CoreSystemEntityListResponse): string;
2340
3062
  $any: (value: any) => any;
2341
- getDropdownConfig(): {
2342
- triggerIcon: string;
2343
- triggerSize: "sm";
2344
- usePortal: boolean;
2345
- };
3063
+ getDropdownConfig(): {};
2346
3064
  getDropdownItems(entity: CoreSystemEntityListResponse): DropdownItem[];
2347
3065
  onDropdownItemClick(item: DropdownItem, entity: CoreSystemEntityListResponse): void;
2348
3066
  private editEntity;
3067
+ private addChildEntity;
3068
+ private toggleEntityStatus;
2349
3069
  private deleteEntity;
2350
3070
  actionHandlers: {};
2351
3071
  ngOnInit(): void;
@@ -2547,7 +3267,6 @@ declare class CideCoreGeneralMasterTypeComponent implements OnInit {
2547
3267
  getDropdownConfig(): {
2548
3268
  triggerIcon: string;
2549
3269
  triggerSize: "sm";
2550
- usePortal: boolean;
2551
3270
  };
2552
3271
  /**
2553
3272
  * Get dropdown items for actions
@@ -2712,11 +3431,7 @@ declare class CideCoreGeneralMasterComponent implements OnInit {
2712
3431
  /**
2713
3432
  * Get dropdown configuration with portal support
2714
3433
  */
2715
- getDropdownConfig(): {
2716
- triggerIcon: string;
2717
- triggerSize: "sm";
2718
- usePortal: boolean;
2719
- };
3434
+ getDropdownConfig(): {};
2720
3435
  /**
2721
3436
  * Get dropdown items for actions
2722
3437
  */
@@ -2878,4 +3593,5 @@ declare class CideCoreGeneralMasterService {
2878
3593
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideCoreGeneralMasterService>;
2879
3594
  }
2880
3595
 
2881
- export { CideCoreDepartmentListComponent, CideCoreDepartmentManagementService, CideCoreDesignationListComponent, CideCoreDesignationManagementService, CideCoreEntityCreateComponent, CideCoreEntityListComponent, CideCoreEntityManagementService, CideCoreGeneralMasterComponent, CideCoreGeneralMasterService, CideCoreGeneralMasterTypeComponent, CideCoreGeneralMasterTypeService, CideCoreGradeLevelListComponent, CideCoreGradeLevelManagementService, CideCoreMenuListComponent, CideCoreMenuManagementService, CideCorePageControlsComponent, CideCorePageControlsService, CideCorePageListComponent, CideCorePageManagementService, CideCorePageThemeComponent, CideCorePageThemeService, CideCoreRoleSelectService, CideCoreUserAttributesComponent, CideCoreUserContactAddressesComponent, CideCoreUserCreateComponent, CideCoreUserDocumentsComponent, CideCoreUserEntityAccessComponent, CideCoreUserFamilyDetailsComponent, CideCoreUserListComponent, CideCoreUserMasterService, CloudIdeCoreComponent, CloudIdeCoreService, coreRoutes };
3596
+ export { CideCoreDepartmentListComponent, CideCoreDepartmentManagementService, CideCoreDesignationListComponent, CideCoreDesignationManagementService, CideCoreEntityCreateComponent, CideCoreEntityListComponent, CideCoreEntityManagementService, CideCoreGeneralMasterComponent, CideCoreGeneralMasterService, CideCoreGeneralMasterTypeComponent, CideCoreGeneralMasterTypeService, CideCoreGradeLevelListComponent, CideCoreGradeLevelManagementService, CideCorePageControlsComponent, CideCorePageControlsService, CideCorePageListComponent, CideCorePageManagementService, CideCorePageThemeComponent, CideCorePageThemeService, CideCoreRoleSelectService, CideCoreUserAttributesComponent, CideCoreUserContactAddressesComponent, CideCoreUserCreateComponent, CideCoreUserDocumentsComponent, CideCoreUserEntityAccessComponent, CideCoreUserFamilyDetailsComponent, CideCoreUserListComponent, CideCoreUserMasterService, CideCoreUserRoleFormComponent, CideCoreUserRoleListComponent, CideCoreUserRoleService, CloudIdeCoreComponent, CloudIdeCoreService, MenuListComponent, MenuManagementService, coreRoutes };
3597
+ export type { ApiResponse, Entity, Menu, Permission, UserRole, UserRoleListResponse, UserRoleRight, UserRoleWithRights, UserRoleWithRightsResponse };