cloud-ide-core 1.0.4 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import { Route, Router } from '@angular/router';
2
2
  import * as _angular_core from '@angular/core';
3
- import { TemplateRef, OnInit, AfterViewInit } from '@angular/core';
3
+ import { TemplateRef, OnInit, AfterViewInit, OnDestroy } 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, MMenu, 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, AuthUserMst } from 'cloud-ide-lms-model';
7
- import { TemplateContext, GridConfiguration, GridEvent, DropdownItem, CideEleDataGridComponent } from 'cloud-ide-element';
6
+ import { ICoreSyme, MMenuListPayload, menuListControllerResponse, menuByIdControllerResponse, menuDeleteControllerResponse, MMenu, 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 } from 'cloud-ide-lms-model';
7
+ import { TemplateContext, GridConfiguration, GridEvent, DropdownItem, TabItem, CideEleDataGridComponent } from 'cloud-ide-element';
8
8
  import { HttpClient } from '@angular/common/http';
9
9
  import { Observable } from 'rxjs';
10
+ import { AppStateHelperService } from 'cloud-ide-layout';
10
11
 
11
12
  declare const coreRoutes: Route[];
12
13
 
@@ -46,7 +47,7 @@ declare class MenuListComponent {
46
47
  quickAddForm: _angular_forms.FormGroup<{
47
48
  syme_title: _angular_forms.FormControl<string>;
48
49
  syme_desc: _angular_forms.FormControl<string>;
49
- syme_type: _angular_forms.FormControl<"module" | "section" | "menu" | "title">;
50
+ syme_type: _angular_forms.FormControl<"title" | "module" | "section" | "menu">;
50
51
  syme_id_syme: _angular_forms.FormControl<string>;
51
52
  syme_path: _angular_forms.FormControl<string>;
52
53
  syme_icon: _angular_forms.FormControl<string>;
@@ -1735,52 +1736,163 @@ declare class PageControlsService {
1735
1736
  }
1736
1737
 
1737
1738
  declare class UserCreateComponent implements OnInit {
1739
+ private destroyRef;
1738
1740
  private fb;
1739
1741
  private userMasterService;
1740
- private entitySelectService;
1742
+ private entityService;
1741
1743
  private roleSelectService;
1742
- private designationSelectService;
1743
- private departmentSelectService;
1744
+ private designationService;
1745
+ private departmentService;
1746
+ private generalMasterService;
1747
+ private pinCodeService;
1748
+ private countryService;
1749
+ private router;
1750
+ private route;
1751
+ private appState;
1744
1752
  userMasterForm: FormGroup;
1745
1753
  activeTab: _angular_core.WritableSignal<string>;
1746
1754
  loading: _angular_core.WritableSignal<boolean>;
1747
- contactAddresses: _angular_core.WritableSignal<any[]>;
1748
- documents: _angular_core.WritableSignal<any[]>;
1749
- familyDetails: _angular_core.WritableSignal<any[]>;
1750
- entityMappings: _angular_core.WritableSignal<any[]>;
1755
+ error: _angular_core.WritableSignal<string | null>;
1756
+ userId: _angular_core.WritableSignal<string>;
1757
+ isEditMode: _angular_core.WritableSignal<boolean>;
1758
+ showPasswordFields: _angular_core.WritableSignal<boolean>;
1759
+ contactAddresses: _angular_core.WritableSignal<AuthUserCoreUserContactAddresses[]>;
1760
+ documents: _angular_core.WritableSignal<AuthUserCoreUserDocuments[]>;
1761
+ familyDetails: _angular_core.WritableSignal<AuthUserCoreUserFamilyDetails[]>;
1762
+ entityMappings: _angular_core.WritableSignal<AuthUserCoreEntityMapping[]>;
1751
1763
  menuRightsMap: _angular_core.WritableSignal<{
1752
1764
  [mappingIndex: string]: any[];
1753
1765
  }>;
1754
1766
  constructor();
1767
+ get entityMappingsFormArray(): FormArray;
1768
+ get contactAddressesFormArray(): FormArray;
1769
+ get documentsFormArray(): FormArray;
1770
+ get familyDetailsFormArray(): FormArray;
1771
+ private createEntityMappingFormGroup;
1772
+ private createContactAddressFormGroup;
1773
+ private createDocumentFormGroup;
1774
+ private createFamilyDetailFormGroup;
1755
1775
  userTabs(): {
1756
1776
  id: string;
1757
1777
  label: string;
1758
1778
  icon: string;
1759
1779
  }[];
1760
- entityOptions: _angular_core.WritableSignal<any[]>;
1780
+ entityOptions: _angular_core.WritableSignal<CoreSystemEntityListResponse[]>;
1761
1781
  roleOptions: _angular_core.WritableSignal<any[]>;
1762
- designationOptions: _angular_core.WritableSignal<any[]>;
1763
- departmentOptions: _angular_core.WritableSignal<any[]>;
1782
+ designationOptions: _angular_core.WritableSignal<{
1783
+ [entityId: string]: ICoreSydsg[];
1784
+ }>;
1785
+ departmentOptions: _angular_core.WritableSignal<{
1786
+ [entityId: string]: ICoreSydept[];
1787
+ }>;
1764
1788
  menuOptions: _angular_core.WritableSignal<any[]>;
1765
1789
  permissionOptions: _angular_core.WritableSignal<any[]>;
1766
1790
  entityRoleMap: _angular_core.WritableSignal<{
1767
1791
  [entityId: string]: any[];
1768
1792
  }>;
1793
+ addressTypeOptions: _angular_core.WritableSignal<ICoreSygms[]>;
1794
+ documentTypeOptions: _angular_core.WritableSignal<ICoreSygms[]>;
1795
+ photoGroupOptions: _angular_core.WritableSignal<any[]>;
1796
+ documentVerificationStatusOptions: _angular_core.WritableSignal<ICoreSygms[]>;
1797
+ documentKycStatusOptions: _angular_core.WritableSignal<ICoreSygms[]>;
1798
+ bloodGroupOptions: _angular_core.WritableSignal<ICoreSygms[]>;
1799
+ relationshipOptionsData: _angular_core.WritableSignal<ICoreSygms[]>;
1800
+ addressPostalCodes: _angular_core.WritableSignal<{
1801
+ [addressIndex: number]: pinCodeSelectResponseData[];
1802
+ }>;
1803
+ addressCountries: _angular_core.WritableSignal<{
1804
+ [addressIndex: number]: ICoreSyctr[];
1805
+ }>;
1806
+ addressPostalCodesLoading: _angular_core.WritableSignal<{
1807
+ [addressIndex: number]: boolean;
1808
+ }>;
1809
+ addressCountriesLoading: _angular_core.WritableSignal<{
1810
+ [addressIndex: number]: boolean;
1811
+ }>;
1812
+ postalCodeDataCache: _angular_core.WritableSignal<{
1813
+ [addressIndex: number]: pinCodeSelectResponseData[];
1814
+ }>;
1769
1815
  ngOnInit(): void;
1816
+ /**
1817
+ * Initialize component
1818
+ */
1819
+ private initializeComponent;
1820
+ /**
1821
+ * Setup form subscriptions
1822
+ */
1823
+ private setupFormSubscriptions;
1824
+ /**
1825
+ * Set entity ID from app state for new user creation
1826
+ */
1827
+ private setEntityIdFromAppState;
1828
+ /**
1829
+ * Update password validation based on create/edit mode
1830
+ */
1831
+ private updatePasswordValidation;
1832
+ /**
1833
+ * Custom validator for password confirmation
1834
+ */
1835
+ private passwordMatchValidator;
1836
+ /**
1837
+ * Check if password update is required (edit mode with password fields filled or triggered)
1838
+ */
1839
+ isPasswordUpdateRequired(): boolean;
1840
+ /**
1841
+ * Add default entity mapping with active entity
1842
+ */
1843
+ private addDefaultEntityMapping;
1844
+ /**
1845
+ * Load user data for edit mode
1846
+ */
1847
+ private loadUserData;
1848
+ /**
1849
+ * Populate form with user data
1850
+ */
1851
+ private populateFormWithUserData;
1770
1852
  private loadDropdownOptions;
1771
- addressTypeOptions(): {
1772
- value: string;
1773
- label: string;
1774
- }[];
1775
- relationshipOptions(): {
1776
- value: string;
1777
- label: string;
1778
- }[];
1779
- onTabChange(tab: any): void;
1853
+ relationshipOptions(): ICoreSygms[];
1854
+ onTabChange(tab: TabItem): void;
1780
1855
  addEntityMapping(): void;
1781
1856
  removeEntityMapping(index: number): void;
1782
- onEntityChange(mappingIndex: number, event: any): void;
1857
+ onEntityChange(mappingIndex: number, event: AuthUserCoreEntityMapping): void;
1858
+ /**
1859
+ * Trigger update of entity dropdowns to reflect changes in selected entities
1860
+ */
1861
+ private triggerEntityDropdownUpdate;
1862
+ onDepartmentChange(event: ICoreSydept): void;
1783
1863
  getRoleOptionsForEntity(mappingIndex: number): any[];
1864
+ /**
1865
+ * Get filtered entity options with disabled state for already selected entities in other mappings
1866
+ * @param currentMappingIndex The index of the current mapping being edited
1867
+ * @returns Entity options with disabled state for already selected entities
1868
+ */
1869
+ getFilteredEntityOptions(currentMappingIndex: number): (CoreSystemEntityListResponse & {
1870
+ disabled?: boolean;
1871
+ })[];
1872
+ /**
1873
+ * Check if all entities are already selected in other mappings
1874
+ * @param currentMappingIndex The index of the current mapping being edited
1875
+ * @returns True if all entities are already selected
1876
+ */
1877
+ isAllEntitiesSelected(currentMappingIndex: number): boolean;
1878
+ /**
1879
+ * Check if all entities are already mapped (for disabling Add Entity Mapping button)
1880
+ * @returns True if all entities are already mapped
1881
+ */
1882
+ isAllEntitiesMapped(): boolean;
1883
+ /**
1884
+ * Clear department selection for a specific mapping
1885
+ */
1886
+ private clearDepartmentForMapping;
1887
+ /**
1888
+ * Load departments for a specific entity
1889
+ */
1890
+ private loadDepartmentsForEntity;
1891
+ /**
1892
+ * Get department options for a specific entity mapping
1893
+ */
1894
+ getDepartmentOptionsForEntity(mappingIndex: number): ICoreSydept[];
1895
+ getDesignationOptionsForEntity(mappingIndex: number): ICoreSydsg[];
1784
1896
  addPermissionException(mappingIndex: number): void;
1785
1897
  removePermissionException(mappingIndex: number, exceptionIndex: number): void;
1786
1898
  private removePermissionExceptionControls;
@@ -1795,6 +1907,16 @@ declare class UserCreateComponent implements OnInit {
1795
1907
  onDefaultEntityChange(mappingIndex: number, event: any): void;
1796
1908
  getDefaultEntityName(): string;
1797
1909
  hasDefaultEntity(): boolean;
1910
+ getUserFullName(): string;
1911
+ generateFullName(): void;
1912
+ onNameFieldChange(): void;
1913
+ getUserUsername(): string;
1914
+ getUserEmail(): string;
1915
+ getUserMobile(): string;
1916
+ getUserActivePeriod(): string;
1917
+ getUserActiveStatus(): boolean;
1918
+ getUserPhoto(): string | null;
1919
+ getEntityMappingCount(): number;
1798
1920
  addContactAddress(): void;
1799
1921
  removeContactAddress(index: number): void;
1800
1922
  addDocument(): void;
@@ -1803,159 +1925,171 @@ declare class UserCreateComponent implements OnInit {
1803
1925
  removeFamilyDetail(index: number): void;
1804
1926
  onSubmit(): void;
1805
1927
  resetForm(): void;
1806
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserCreateComponent, never>;
1807
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserCreateComponent, "cide-core-user-create", never, {}, {}, never, never, true, never>;
1808
- }
1809
-
1810
- declare class CideAdmUserMasterService {
1811
- private http;
1812
1928
  /**
1813
- * Save or update user master data using proper API endpoint
1814
- * @param data - User master data to save
1815
- * @returns Observable of the save response
1929
+ * Go back to user list
1816
1930
  */
1817
- saveUpdateUserMaster(data: any): Observable<any>;
1931
+ goBackToUserList(): void;
1818
1932
  /**
1819
- * Get user master by ID
1820
- * @param userId - User ID to fetch
1821
- * @returns Observable of user master data
1933
+ * Cancel form and optionally navigate back
1822
1934
  */
1823
- getUserMasterById(userId: string): Observable<any>;
1935
+ cancelForm(): void;
1824
1936
  /**
1825
- * Update user master data
1826
- * @param userId - User ID to update
1827
- * @param data - Updated user master data
1828
- * @returns Observable of the update response
1937
+ * Get page title based on mode
1829
1938
  */
1830
- updateUserMaster(userId: string, data: any): Observable<any>;
1939
+ getPageTitle(): string;
1831
1940
  /**
1832
- * Delete user master
1833
- * @param userId - User ID to delete
1834
- * @returns Observable of the delete response
1941
+ * Check if password fields should be shown in the UI
1835
1942
  */
1836
- deleteUserMaster(userId: string): Observable<any>;
1837
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideAdmUserMasterService, never>;
1838
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideAdmUserMasterService>;
1839
- }
1840
-
1841
- declare class CideAdmUserMasterListService {
1842
- private http;
1943
+ shouldShowPasswordFields(): boolean;
1843
1944
  /**
1844
- * Get list of users using the proper API endpoint
1845
- * @param body - Payload for filtering/pagination
1846
- * @returns Observable of response
1945
+ * Get password field label based on mode
1847
1946
  */
1848
- getUserList(body: any): Observable<any>;
1947
+ getPasswordFieldLabel(): string;
1849
1948
  /**
1850
- * Get user list with default parameters
1851
- * @returns Observable of response
1949
+ * Get password confirmation field label based on mode
1852
1950
  */
1853
- getAllUsers(): Observable<any>;
1951
+ getPasswordConfirmLabel(): string;
1854
1952
  /**
1855
- * Get filtered user list
1856
- * @param filters - Filter parameters
1857
- * @returns Observable of response
1953
+ * Get password validation error message
1858
1954
  */
1859
- getFilteredUsers(filters: any): Observable<any>;
1955
+ getPasswordError(): string | null;
1860
1956
  /**
1861
- * Toggle user status
1862
- * @param userId - User ID to toggle status
1863
- * @returns Observable of response
1957
+ * Get confirm password validation error message
1864
1958
  */
1865
- toggleUserStatus(userId: string): Observable<any>;
1959
+ getConfirmPasswordError(): string | null;
1866
1960
  /**
1867
- * Delete user
1868
- * @param userId - User ID to delete
1869
- * @returns Observable of response
1961
+ * Check if password field has error
1870
1962
  */
1871
- deleteUser(userId: string): Observable<any>;
1963
+ hasPasswordError(): boolean;
1872
1964
  /**
1873
- * Reset user password
1874
- * @param userId - User ID to reset password
1875
- * @returns Observable of response
1965
+ * Check if confirm password field has error
1876
1966
  */
1877
- resetUserPassword(userId: string): Observable<any>;
1967
+ hasConfirmPasswordError(): boolean;
1878
1968
  /**
1879
- * Private method to generate simulated response for testing
1880
- * This should be removed when actual API is implemented
1969
+ * Check if password fields have any input
1881
1970
  */
1882
- private generateSimulatedResponse;
1971
+ hasPasswordInput(): boolean;
1883
1972
  /**
1884
- * Generate test users data
1885
- * This should be removed when actual API is implemented
1973
+ * Trigger password update mode (for edit mode)
1886
1974
  */
1887
- private generateTestUsers;
1888
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideAdmUserMasterListService, never>;
1889
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideAdmUserMasterListService>;
1890
- }
1891
-
1892
- declare class EntitySelectService {
1893
- private http;
1975
+ triggerPasswordUpdate(): void;
1894
1976
  /**
1895
- * Get entity options for user master form
1896
- * @returns Observable of entity options
1977
+ * Cancel password update mode (for edit mode)
1897
1978
  */
1898
- getEntityOptions(): Observable<any>;
1979
+ cancelPasswordUpdate(): void;
1899
1980
  /**
1900
- * Get entity list with default parameters
1901
- * @returns Observable of entity list
1981
+ * Load countries for a specific address dropdown
1902
1982
  */
1903
- getAllEntities(): Observable<any>;
1904
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntitySelectService, never>;
1905
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<EntitySelectService>;
1906
- }
1907
-
1908
- declare class RoleSelectService {
1909
- private http;
1983
+ loadCountriesForAddress(addressIndex: number): void;
1910
1984
  /**
1911
- * Get role options for user master form
1912
- * @returns Observable of role options
1985
+ * Search countries with filter for a specific address
1913
1986
  */
1914
- getRoleOptions(): Observable<any>;
1987
+ onCountrySearch(event: any, addressIndex: number): void;
1915
1988
  /**
1916
- * Get role list with default parameters
1917
- * @returns Observable of role list
1989
+ * Search postal codes for a specific address
1918
1990
  */
1919
- getAllRoles(): Observable<any>;
1920
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RoleSelectService, never>;
1921
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<RoleSelectService>;
1922
- }
1923
-
1924
- declare class DesignationSelectService {
1925
- private http;
1991
+ onPostalCodeSearch(event: any, addressIndex: number): void;
1992
+ /**
1993
+ * Handle postal code selection to auto-fill city, state, country
1994
+ */
1995
+ onPostalCodeSelection(event: pinCodeSelectResponseData, addressIndex: number): void;
1996
+ /**
1997
+ * Check if a country is already in the dropdown for a specific address
1998
+ */
1999
+ private isCountryInDropdown;
2000
+ /**
2001
+ * Load a specific country for postal code auto-fill
2002
+ */
2003
+ private loadCountryForPostalCode;
2004
+ /**
2005
+ * Get postal code data from the API response cache
2006
+ */
2007
+ private getPostalCodeDataFromResponse;
1926
2008
  /**
1927
- * Get designation options for user master form
1928
- * @returns Observable of designation options
2009
+ * Load address types from general master service
1929
2010
  */
1930
- getDesignationOptions(): Observable<any>;
2011
+ private loadAddressTypes;
1931
2012
  /**
1932
- * Get designation list with default parameters
1933
- * @returns Observable of designation list
2013
+ * Load document types from general master service
1934
2014
  */
1935
- getAllDesignations(): Observable<any>;
1936
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DesignationSelectService, never>;
1937
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<DesignationSelectService>;
2015
+ private loadDocumentTypes;
2016
+ /**
2017
+ * Load photo groups
2018
+ */
2019
+ private loadPhotoGroups;
2020
+ /**
2021
+ * Load document verification status from general master service
2022
+ */
2023
+ private loadDocumentVerificationStatus;
2024
+ /**
2025
+ * Load document KYC status from general master service
2026
+ */
2027
+ private loadDocumentKycStatus;
2028
+ /**
2029
+ * Load blood groups from general master service
2030
+ */
2031
+ private loadBloodGroups;
2032
+ /**
2033
+ * Load relationship options from general master service
2034
+ */
2035
+ private loadRelationshipOptions;
2036
+ /**
2037
+ * Load dropdown data for existing addresses in edit mode
2038
+ */
2039
+ private loadDropdownDataForExistingAddresses;
2040
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserCreateComponent, never>;
2041
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserCreateComponent, "cide-core-user-create", never, {}, {}, never, never, true, never>;
1938
2042
  }
1939
2043
 
1940
- declare class DepartmentSelectService {
2044
+ type AuthUserMstCreatePayload = any;
2045
+ type AuthUserMstGetByIdPayload = any;
2046
+ type authUserMstCreateControllerResponse = any;
2047
+ type authUserMstGetByIdControllerResponse = any;
2048
+ declare class CideLytUserMasterService {
1941
2049
  private http;
1942
2050
  /**
1943
- * Get department options for user master form
1944
- * @returns Observable of department options
2051
+ * Save or update user master data using proper API endpoint
2052
+ * @param data - User master data to save (either form data or AuthUserMstCreatePayload)
2053
+ * @returns Observable of the save response
1945
2054
  */
1946
- getDepartmentOptions(): Observable<any>;
2055
+ saveUpdateUserMaster(data: AuthUserMstCreatePayload): Observable<authUserMstCreateControllerResponse>;
1947
2056
  /**
1948
- * Get department list with default parameters
1949
- * @returns Observable of department list
2057
+ * Get user master by ID
2058
+ * @returns Observable of user master data
2059
+ */
2060
+ getUserMasterById(payload: AuthUserMstGetByIdPayload): Observable<authUserMstGetByIdControllerResponse>;
2061
+ /**
2062
+ * Delete user master
2063
+ * @param userId - User ID to delete
2064
+ * @returns Observable of the delete response
1950
2065
  */
1951
- getAllDepartments(): Observable<any>;
1952
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DepartmentSelectService, never>;
1953
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<DepartmentSelectService>;
2066
+ deleteUserMaster(userId: string): Observable<any>;
2067
+ /**
2068
+ * Get list of users using the proper API endpoint
2069
+ * @param payload - AuthUserMstListPayload for filtering/pagination
2070
+ * @returns Observable of response
2071
+ */
2072
+ getUserList(payload: AuthUserMstListPayload): Observable<authUserMstListControllerResponse>;
2073
+ /**
2074
+ * Toggle user status
2075
+ * @param userId - User ID to toggle status
2076
+ * @returns Observable of response
2077
+ */
2078
+ toggleUserStatus(userId: string): Observable<any>;
2079
+ /**
2080
+ * Delete user
2081
+ * @param userId - User ID to delete
2082
+ * @returns Observable of response
2083
+ */
2084
+ deleteUser(userId: string): Observable<any>;
2085
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideLytUserMasterService, never>;
2086
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideLytUserMasterService>;
1954
2087
  }
1955
2088
 
1956
2089
  declare class UserListComponent implements OnInit, AfterViewInit {
1957
2090
  router: Router;
1958
- userMasterListService: CideAdmUserMasterListService;
2091
+ userMasterService: CideLytUserMasterService;
2092
+ appState: AppStateHelperService;
1959
2093
  gridComponent: CideEleDataGridComponent<any>;
1960
2094
  actionsTemplate: TemplateRef<any>;
1961
2095
  userDetailsTemplate: TemplateRef<any>;
@@ -1997,7 +2131,6 @@ declare class UserListComponent implements OnInit, AfterViewInit {
1997
2131
  onDeleteUserConfirmed(userId: string): void;
1998
2132
  private updateGridData;
1999
2133
  loadUsersFromServer(isRefresh?: boolean): void;
2000
- private loadTestData;
2001
2134
  onViewUser(user: any): void;
2002
2135
  onEditUser(user: any): void;
2003
2136
  onManageAddresses(user: any): void;
@@ -2019,6 +2152,22 @@ declare class UserListComponent implements OnInit, AfterViewInit {
2019
2152
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserListComponent, "cide-core-user-list", never, {}, {}, never, never, true, never>;
2020
2153
  }
2021
2154
 
2155
+ declare class RoleSelectService {
2156
+ private http;
2157
+ /**
2158
+ * Get role options for user master form
2159
+ * @returns Observable of role options
2160
+ */
2161
+ getRoleOptions(): Observable<any>;
2162
+ /**
2163
+ * Get role list with default parameters
2164
+ * @returns Observable of role list
2165
+ */
2166
+ getAllRoles(): Observable<any>;
2167
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RoleSelectService, never>;
2168
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<RoleSelectService>;
2169
+ }
2170
+
2022
2171
  declare class CideAdmUserAttributesComponent implements OnInit {
2023
2172
  private fb;
2024
2173
  private route;
@@ -2109,5 +2258,211 @@ declare class CideAdmUserFamilyDetailsComponent implements OnInit {
2109
2258
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideAdmUserFamilyDetailsComponent, "cide-adm-user-family-details", never, {}, {}, never, never, true, never>;
2110
2259
  }
2111
2260
 
2112
- export { CideAdmUserAttributesComponent, CideAdmUserContactAddressesComponent, CideAdmUserDocumentsComponent, CideAdmUserEntityAccessComponent, CideAdmUserFamilyDetailsComponent, CideAdmUserMasterListService, CideAdmUserMasterService, CloudIdeCoreComponent, CloudIdeCoreService, DepartmentListComponent, DepartmentManagementService, DepartmentSelectService, DesignationListComponent, DesignationManagementService, DesignationSelectService, EntitySelectService, GradeLevelListComponent, GradeLevelManagementService, MENU_TYPES, MenuListComponent, MenuManagementService, PageControlsComponent, PageControlsService, PageListComponent, PageManagementService, PageThemeComponent, PageThemeService, RoleSelectService, UserCreateComponent, UserListComponent, coreRoutes };
2261
+ interface DropdownOption {
2262
+ value: string;
2263
+ label: string;
2264
+ }
2265
+ declare class CideLytEntityCreateComponent implements OnInit, OnDestroy {
2266
+ entityForm: FormGroup;
2267
+ entityTypes: _angular_core.WritableSignal<DropdownOption[]>;
2268
+ currencies: _angular_core.WritableSignal<DropdownOption[]>;
2269
+ users: _angular_core.WritableSignal<DropdownOption[]>;
2270
+ postalCodes: _angular_core.WritableSignal<DropdownOption[]>;
2271
+ photoIdDocuments: _angular_core.WritableSignal<DropdownOption[]>;
2272
+ corporateCountries: _angular_core.WritableSignal<DropdownOption[]>;
2273
+ registeredCountries: _angular_core.WritableSignal<DropdownOption[]>;
2274
+ private pinCodeDataMap;
2275
+ private logoFile?;
2276
+ loading: _angular_core.WritableSignal<boolean>;
2277
+ error: _angular_core.WritableSignal<string | null>;
2278
+ success: _angular_core.WritableSignal<string | null>;
2279
+ postalCodesLoading: _angular_core.WritableSignal<boolean>;
2280
+ usersLoading: _angular_core.WritableSignal<boolean>;
2281
+ registeredCountriesLoading: _angular_core.WritableSignal<boolean>;
2282
+ corporateCountriesLoading: _angular_core.WritableSignal<boolean>;
2283
+ isEditMode: _angular_core.WritableSignal<boolean>;
2284
+ entityId: _angular_core.WritableSignal<string | null>;
2285
+ activeTab: _angular_core.WritableSignal<string>;
2286
+ entityTabs: _angular_core.WritableSignal<TabItem[]>;
2287
+ private entityService;
2288
+ private generalMasterService;
2289
+ private pinCodeService;
2290
+ private userService;
2291
+ private currencyService;
2292
+ private countryService;
2293
+ private appState;
2294
+ private fb;
2295
+ private route;
2296
+ private destroy$;
2297
+ private globalErrorHandler?;
2298
+ private globalRejectionHandler?;
2299
+ constructor();
2300
+ ngOnInit(): void;
2301
+ ngOnDestroy(): void;
2302
+ private checkForEntityId;
2303
+ private loadEntityData;
2304
+ private populateFormWithEntityData;
2305
+ private setupPostalCodeListeners;
2306
+ private populateAddressFromPinCode;
2307
+ loadDropdowns(): void;
2308
+ private transformGeneralMasterToDropdown;
2309
+ private transformCurrencyToDropdown;
2310
+ private transformUserToDropdown;
2311
+ private transformPinCodeToDropdown;
2312
+ private transformCountryToDropdown;
2313
+ getControl(controlName: string): _angular_forms.AbstractControl<any, any, any> | null;
2314
+ onPostalCodeSearch(event: selectSearchType): void;
2315
+ onUserSearch(event: selectSearchType): void;
2316
+ onCorporateCountrySearch(event: selectSearchType): void;
2317
+ onRegisteredCountrySearch(event: selectSearchType): void;
2318
+ onPostalCodeSelection(event: Event | string): void;
2319
+ hasError(controlName: string, errorType?: string): boolean;
2320
+ getErrorMessage(controlName: string): string;
2321
+ getFormValidationSummary(): string[];
2322
+ get isFormValid(): boolean;
2323
+ get currentMode(): string;
2324
+ get currentEntityId(): string | null;
2325
+ get pageTitle(): string;
2326
+ get pageSubtitle(): string;
2327
+ onFileChange(event: FileList | null): void;
2328
+ onTabChange(tab: TabItem): void;
2329
+ onSubmit(): void;
2330
+ onReset(): void;
2331
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideLytEntityCreateComponent, never>;
2332
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideLytEntityCreateComponent, "cide-adm-entity", never, {}, {}, never, never, true, never>;
2333
+ }
2334
+
2335
+ declare class CideLytEntityListComponent implements OnInit {
2336
+ router: Router;
2337
+ private entityService;
2338
+ gridComponent: _angular_core.Signal<CideEleDataGridComponent<CoreSystemEntityListResponse> | undefined>;
2339
+ entityDetailsRenderer: _angular_core.Signal<TemplateRef<TemplateContext<CoreSystemEntityListResponse>>>;
2340
+ entityTypeRenderer: _angular_core.Signal<TemplateRef<TemplateContext<CoreSystemEntityListResponse>>>;
2341
+ actionsDropdownRenderer: _angular_core.Signal<TemplateRef<TemplateContext<CoreSystemEntityListResponse>>>;
2342
+ entities: _angular_core.WritableSignal<CoreSystemEntityListResponse[]>;
2343
+ loading: _angular_core.WritableSignal<boolean>;
2344
+ error: _angular_core.WritableSignal<string | null>;
2345
+ searchQuery: _angular_core.WritableSignal<string>;
2346
+ currentPage: _angular_core.WritableSignal<number>;
2347
+ pageSize: _angular_core.WritableSignal<number>;
2348
+ totalItems: _angular_core.WritableSignal<number>;
2349
+ selectedEntityType: _angular_core.WritableSignal<string>;
2350
+ get selectedEntityTypeValue(): string;
2351
+ set selectedEntityTypeValue(value: string);
2352
+ totalPages: _angular_core.WritableSignal<number>;
2353
+ hasNextPage: _angular_core.WritableSignal<boolean>;
2354
+ hasPreviousPage: _angular_core.WritableSignal<boolean>;
2355
+ jumpToPage: number;
2356
+ loadStartTime: number;
2357
+ entityTypeOptions: _angular_core.WritableSignal<{
2358
+ value: string;
2359
+ label: string;
2360
+ }[]>;
2361
+ gridConfig: _angular_core.WritableSignal<GridConfiguration<CoreSystemEntityListResponse>>;
2362
+ templateRenderers: _angular_core.Signal<Record<string, TemplateRef<TemplateContext<CoreSystemEntityListResponse>>>>;
2363
+ getEntityTypeName(row: CoreSystemEntityListResponse): string;
2364
+ $any: (value: any) => any;
2365
+ getDropdownConfig(): {
2366
+ triggerIcon: string;
2367
+ triggerSize: "sm";
2368
+ usePortal: boolean;
2369
+ };
2370
+ getDropdownItems(entity: CoreSystemEntityListResponse): DropdownItem[];
2371
+ onDropdownItemClick(item: DropdownItem, entity: CoreSystemEntityListResponse): void;
2372
+ private editEntity;
2373
+ private deleteEntity;
2374
+ actionHandlers: {};
2375
+ ngOnInit(): void;
2376
+ onGridEvent(event: GridEvent<CoreSystemEntityListResponse>): void;
2377
+ private onEntityRowClick;
2378
+ private onEntityRefresh;
2379
+ private onEntitySearch;
2380
+ private onEntityPageChange;
2381
+ private onDeleteEntityConfirmed;
2382
+ private updateGridData;
2383
+ loadEntities(isRefresh?: boolean): void;
2384
+ private updatePaginationState;
2385
+ onSearch(): void;
2386
+ onFilterChange(): void;
2387
+ onPageChange(page: number | string): void;
2388
+ onPageSizeChange(): void;
2389
+ onRefresh(): void;
2390
+ onAddEntity(): void;
2391
+ onEditEntity(entity: CoreSystemEntityListResponse): void;
2392
+ onViewEntity(entity: CoreSystemEntityListResponse): void;
2393
+ onDeleteEntity(entity: CoreSystemEntityListResponse): void;
2394
+ getStatusClass(isActive: boolean): string;
2395
+ getStatusText(isActive: boolean): string;
2396
+ formatDate(date: Date | string | undefined): string;
2397
+ getPageNumbers(): number[];
2398
+ getItemRangeText(): string;
2399
+ trackByEntityId(index: number, entity: CoreSystemEntityListResponse): string;
2400
+ /**
2401
+ * Get enhanced page numbers with ellipsis for better navigation
2402
+ */
2403
+ getEnhancedPageNumbers(): (number | string)[];
2404
+ /**
2405
+ * Calculate progress percentage based on current position
2406
+ */
2407
+ getProgressPercentage(): number;
2408
+ /**
2409
+ * Jump to specific page functionality
2410
+ */
2411
+ onJumpToPage(): void;
2412
+ /**
2413
+ * Get simulated load time for performance display
2414
+ */
2415
+ getLoadTime(): number;
2416
+ /**
2417
+ * Get total data size for display
2418
+ */
2419
+ getTotalDataSize(): number;
2420
+ /**
2421
+ * Export current page entities
2422
+ */
2423
+ onExportCurrentPage(): void;
2424
+ /**
2425
+ * Export all entities
2426
+ */
2427
+ onExportAll(): void;
2428
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideLytEntityListComponent, never>;
2429
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideLytEntityListComponent, "cide-adm-entity-list", never, {}, {}, never, never, true, never>;
2430
+ }
2431
+
2432
+ /**
2433
+ * Entity Management Service for Core Project
2434
+ *
2435
+ * This service handles all entity management operations directly without dependencies on admin services.
2436
+ */
2437
+ declare class CideLytEntityManagementService {
2438
+ private http;
2439
+ /**
2440
+ * Save or update entity data using coreRoutesUrl?.entity endpoint
2441
+ * @param data - Entity data to save/update
2442
+ * @returns Observable of the save response
2443
+ */
2444
+ saveUpdateEntity(data: CoreSystemEntity): Observable<entityControllerResponse>;
2445
+ /**
2446
+ * Get entity by ID
2447
+ * @param entityId - ID of the entity to retrieve
2448
+ * @returns Observable of the entity data
2449
+ */
2450
+ getEntityById(entityId: string): Observable<entityControllerResponse>;
2451
+ /**
2452
+ * Get list of entities using the proper API endpoint
2453
+ * @param body - MEntity payload for filtering/pagination
2454
+ * @returns Observable of entityControllerResponse
2455
+ */
2456
+ getEntityList(body: MEntity): Observable<entityControllerResponse>;
2457
+ /**
2458
+ * Delete entity by ID
2459
+ * @param entityId - ID of the entity to delete
2460
+ * @returns Observable of the delete response
2461
+ */
2462
+ deleteEntity(entityId: string): Observable<entityControllerResponse>;
2463
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideLytEntityManagementService, never>;
2464
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideLytEntityManagementService>;
2465
+ }
2466
+
2467
+ export { CideAdmUserAttributesComponent, CideAdmUserContactAddressesComponent, CideAdmUserDocumentsComponent, CideAdmUserEntityAccessComponent, CideAdmUserFamilyDetailsComponent, CideLytEntityCreateComponent, CideLytEntityListComponent, CideLytEntityManagementService, CideLytUserMasterService, CloudIdeCoreComponent, CloudIdeCoreService, DepartmentListComponent, DepartmentManagementService, DesignationListComponent, DesignationManagementService, GradeLevelListComponent, GradeLevelManagementService, MENU_TYPES, MenuListComponent, MenuManagementService, PageControlsComponent, PageControlsService, PageListComponent, PageManagementService, PageThemeComponent, PageThemeService, RoleSelectService, UserCreateComponent, UserListComponent, coreRoutes };
2113
2468
  export type { MenuReorderRequest, MenuType };