cloud-ide-layout 1.0.26 → 1.0.29
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/fesm2022/cloud-ide-layout-cloud-ide-layout-fFpax85Q.mjs +4825 -0
- package/fesm2022/cloud-ide-layout-cloud-ide-layout-fFpax85Q.mjs.map +1 -0
- package/fesm2022/{cloud-ide-layout-drawer-theme.component-CdUqFP29.mjs → cloud-ide-layout-drawer-theme.component-pkp7jxWh.mjs} +2 -2
- package/fesm2022/{cloud-ide-layout-drawer-theme.component-CdUqFP29.mjs.map → cloud-ide-layout-drawer-theme.component-pkp7jxWh.mjs.map} +1 -1
- package/fesm2022/cloud-ide-layout-floating-entity-selection.component-Bc0v8QwM.mjs +519 -0
- package/fesm2022/cloud-ide-layout-floating-entity-selection.component-Bc0v8QwM.mjs.map +1 -0
- package/fesm2022/{cloud-ide-layout-home-wrapper.component-DegRTEPv.mjs → cloud-ide-layout-home-wrapper.component-dMUR71rr.mjs} +6 -6
- package/fesm2022/cloud-ide-layout-home-wrapper.component-dMUR71rr.mjs.map +1 -0
- package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-meLfK8As.mjs → cloud-ide-layout-sidedrawer-notes.component-BBUtvGht.mjs} +2 -2
- package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-meLfK8As.mjs.map → cloud-ide-layout-sidedrawer-notes.component-BBUtvGht.mjs.map} +1 -1
- package/fesm2022/cloud-ide-layout.mjs +1 -1
- package/index.d.ts +177 -11
- package/package.json +1 -1
- package/fesm2022/cloud-ide-layout-cloud-ide-layout-o_bwZvM8.mjs +0 -3933
- package/fesm2022/cloud-ide-layout-cloud-ide-layout-o_bwZvM8.mjs.map +0 -1
- package/fesm2022/cloud-ide-layout-home-wrapper.component-DegRTEPv.mjs.map +0 -1
package/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnInit, InjectionToken,
|
|
3
|
-
import { AuthUserMst, menuResponseData, CoreSystemEntity, designConfigResponseData, designConfigControllerResponse, ISytmLayout, MDesignConfig, IEnvironmentConfig, SystemThemeControllerRespoonse, SystemThemesListControllerRespoonse, MSystemThemeUserPreferencesRequest, SystemThemeUserPreferencesControllerRespoonse, MFileManager, fileManagerControllerResponse } from 'cloud-ide-lms-model';
|
|
2
|
+
import { OnInit, InjectionToken, Signal } from '@angular/core';
|
|
3
|
+
import { AuthUserMst, menuResponseData, CoreSystemEntity, designConfigResponseData, designConfigControllerResponse, ISytmLayout, MDesignConfig, IEnvironmentConfig, SystemThemeControllerRespoonse, SystemThemesListControllerRespoonse, MSystemThemeUserPreferencesRequest, SystemThemeUserPreferencesControllerRespoonse, MFileManager, fileManagerControllerResponse, CoreEntityAccessPassManagement, MCoreEntityAccessPassManagement, CoreEntityAccessPassManagementControllerResponse, MCoreEntityAccessPassManagementGetByIdPayload, CoreEntityAccessPassManagementByIdControllerResponse, MCoreEntityAccessPassManagementInsertUpdate, CoreEntityAccessPassManagementInsertUpdateControllerResponse, MCoreEntityAccessPassManagementDeletePayload, CoreEntityAccessPassManagementDeleteControllerResponse, MCoreEntityAccessPassManagementToggleStatusPayload, CoreEntityAccessPassManagementToggleStatusControllerResponse } from 'cloud-ide-lms-model';
|
|
4
4
|
import * as rxjs from 'rxjs';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
6
|
+
import { CideEleBreadcrumbComponent } from 'cloud-ide-element';
|
|
6
7
|
import { Title } from '@angular/platform-browser';
|
|
7
8
|
import { Route, RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router';
|
|
8
9
|
import { FormGroup } from '@angular/forms';
|
|
@@ -167,18 +168,43 @@ declare class AppStateHelperService {
|
|
|
167
168
|
}
|
|
168
169
|
|
|
169
170
|
declare class CideLytSharedWrapperComponent implements OnInit {
|
|
170
|
-
|
|
171
|
+
breadcrumb: _angular_core.Signal<CideEleBreadcrumbComponent | undefined>;
|
|
172
|
+
shared_wrapper_setup_param: _angular_core.InputSignal<Partial<CideLytSharedWrapperSetupParam>>;
|
|
173
|
+
breadcrumb_data: _angular_core.InputSignal<BreadcrumbItem[]>;
|
|
171
174
|
page_data: designConfigResponseData;
|
|
172
175
|
private sharedService;
|
|
173
176
|
private sidedrawerService;
|
|
174
177
|
protected appState: AppStateHelperService;
|
|
178
|
+
private additionalBreadcrumbItems;
|
|
179
|
+
private fullBreadcrumbItems;
|
|
180
|
+
constructor();
|
|
175
181
|
ngOnInit(): void;
|
|
182
|
+
/**
|
|
183
|
+
* Add additional breadcrumb items that will be appended after the default Module > Current Page path
|
|
184
|
+
* @param items Array of breadcrumb items to append
|
|
185
|
+
*/
|
|
186
|
+
addBreadcrumbItems(items: BreadcrumbItem[]): void;
|
|
187
|
+
/**
|
|
188
|
+
* Clear additional breadcrumb items (keeps only default Module > Current Page)
|
|
189
|
+
*/
|
|
190
|
+
clearAdditionalBreadcrumbItems(): void;
|
|
191
|
+
/**
|
|
192
|
+
* Set additional breadcrumb items (replaces any existing additional items)
|
|
193
|
+
* @param items Array of breadcrumb items to set
|
|
194
|
+
*/
|
|
195
|
+
setBreadcrumbItems(items: BreadcrumbItem[]): void;
|
|
176
196
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideLytSharedWrapperComponent, never>;
|
|
177
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideLytSharedWrapperComponent, "cide-lyt-shared-wrapper", never, {}, {}, never,
|
|
197
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideLytSharedWrapperComponent, "cide-lyt-shared-wrapper", never, { "shared_wrapper_setup_param": { "alias": "shared_wrapper_setup_param"; "required": false; "isSignal": true; }; "breadcrumb_data": { "alias": "breadcrumb_data"; "required": false; "isSignal": true; }; }, {}, never, ["[breadcrumb-actions]", "*"], true, never>;
|
|
178
198
|
}
|
|
179
199
|
interface CideLytSharedWrapperSetupParam {
|
|
180
200
|
sypg_page_code: string;
|
|
181
201
|
}
|
|
202
|
+
interface BreadcrumbItem {
|
|
203
|
+
id: string;
|
|
204
|
+
label: string;
|
|
205
|
+
icon?: string;
|
|
206
|
+
url?: string;
|
|
207
|
+
}
|
|
182
208
|
|
|
183
209
|
interface CachedPageData {
|
|
184
210
|
request: Partial<CideLytSharedWrapperSetupParam>;
|
|
@@ -222,6 +248,16 @@ declare class CideLytSharedService {
|
|
|
222
248
|
* This allows shared service to call request service without circular dependency
|
|
223
249
|
*/
|
|
224
250
|
registerTabManagement(callback: (currentRoutePath: string, queryParams: Record<string, unknown>, layout: ISytmLayout, pageData: designConfigControllerResponse, pageCode: string) => void): void;
|
|
251
|
+
/**
|
|
252
|
+
* Fetch breadcrumb navigation items for a page code from backend
|
|
253
|
+
* Expected response shape: data.path: Array<{ id|_id|code, title|name|sypg_title, icon?, url|path|sypg_path }>
|
|
254
|
+
*/
|
|
255
|
+
getBreadcrumbNavigation(pageCode: string): Observable<Array<{
|
|
256
|
+
id: string;
|
|
257
|
+
label: string;
|
|
258
|
+
icon?: string;
|
|
259
|
+
path?: string;
|
|
260
|
+
}>>;
|
|
225
261
|
/**
|
|
226
262
|
* Register request visibility callback from request service
|
|
227
263
|
* This allows shared service to control request wrapper visibility
|
|
@@ -589,31 +625,98 @@ declare class CideLytFileManagerService {
|
|
|
589
625
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideLytFileManagerService>;
|
|
590
626
|
}
|
|
591
627
|
|
|
628
|
+
interface EntityWithPermissions extends CoreSystemEntity {
|
|
629
|
+
permissions: CoreEntityAccessPassManagement | null;
|
|
630
|
+
canView: boolean;
|
|
631
|
+
canEdit: boolean;
|
|
632
|
+
isOwner: boolean;
|
|
633
|
+
isActive: boolean;
|
|
634
|
+
}
|
|
592
635
|
declare class CideLytFloatingEntityRightsSharingComponent implements OnInit {
|
|
593
|
-
data: any
|
|
594
|
-
close:
|
|
595
|
-
save:
|
|
636
|
+
data: _angular_core.InputSignal<any>;
|
|
637
|
+
close: _angular_core.OutputEmitterRef<void>;
|
|
638
|
+
save: _angular_core.OutputEmitterRef<any>;
|
|
639
|
+
private pendingUpdates;
|
|
640
|
+
pendingChangesCount: _angular_core.WritableSignal<number>;
|
|
641
|
+
private entityDataCache;
|
|
642
|
+
private readonly CACHE_DURATION;
|
|
596
643
|
private fb;
|
|
644
|
+
private entityService;
|
|
645
|
+
private entityAccessPassService;
|
|
646
|
+
private appState;
|
|
597
647
|
selectedTab: _angular_core.WritableSignal<"user" | "hierarchy">;
|
|
598
648
|
entities: _angular_core.WritableSignal<CoreSystemEntity[]>;
|
|
599
649
|
selectedEntityId: _angular_core.WritableSignal<string>;
|
|
600
650
|
entitiesLoading: _angular_core.WritableSignal<boolean>;
|
|
601
651
|
accessPassLoading: _angular_core.WritableSignal<boolean>;
|
|
602
652
|
saving: _angular_core.WritableSignal<boolean>;
|
|
653
|
+
currentAccessPass: _angular_core.WritableSignal<CoreEntityAccessPassManagement | null>;
|
|
654
|
+
accessPassList: _angular_core.WritableSignal<CoreEntityAccessPassManagement[]>;
|
|
603
655
|
hierarchy: _angular_core.WritableSignal<CoreSystemEntity[]>;
|
|
604
656
|
hierarchyLoading: _angular_core.WritableSignal<boolean>;
|
|
657
|
+
entityPermissionsMap: _angular_core.Signal<Map<string, CoreEntityAccessPassManagement>>;
|
|
658
|
+
entitiesWithPermissions: _angular_core.Signal<EntityWithPermissions[]>;
|
|
605
659
|
rightsForm: FormGroup;
|
|
606
660
|
ngOnInit(): void;
|
|
661
|
+
/**
|
|
662
|
+
* Track pending changes for batch update
|
|
663
|
+
*/
|
|
664
|
+
private trackPendingChanges;
|
|
665
|
+
/**
|
|
666
|
+
* Get original values for an entity
|
|
667
|
+
*/
|
|
668
|
+
private getOriginalValuesForEntity;
|
|
669
|
+
/**
|
|
670
|
+
* Check if there are actual changes between current and original values
|
|
671
|
+
*/
|
|
672
|
+
private hasActualChanges;
|
|
673
|
+
/**
|
|
674
|
+
* Clear pending changes for a specific entity
|
|
675
|
+
*/
|
|
676
|
+
private clearPendingChanges;
|
|
677
|
+
/**
|
|
678
|
+
* Clear all pending changes
|
|
679
|
+
*/
|
|
680
|
+
private clearAllPendingChanges;
|
|
681
|
+
/**
|
|
682
|
+
* Check if cached data exists and is still valid
|
|
683
|
+
*/
|
|
684
|
+
private getCachedEntityData;
|
|
685
|
+
/**
|
|
686
|
+
* Cache entity data
|
|
687
|
+
*/
|
|
688
|
+
private setCachedEntityData;
|
|
689
|
+
/**
|
|
690
|
+
* Clear cache for specific entity (useful after updates)
|
|
691
|
+
*/
|
|
692
|
+
private clearEntityCache;
|
|
693
|
+
/**
|
|
694
|
+
* Clear all cached data
|
|
695
|
+
*/
|
|
696
|
+
private clearAllCache;
|
|
697
|
+
/**
|
|
698
|
+
* Check if entity has pending changes
|
|
699
|
+
*/
|
|
700
|
+
hasPendingChanges(entityId: string): boolean;
|
|
701
|
+
constructor();
|
|
607
702
|
selectTab(tab: 'user' | 'hierarchy'): void;
|
|
608
703
|
private initializeForm;
|
|
609
704
|
loadEntities(): Promise<void>;
|
|
610
|
-
loadHierarchy(): Promise<void>;
|
|
611
705
|
selectEntity(entityId: string): void;
|
|
706
|
+
/**
|
|
707
|
+
* Populate form with cached data
|
|
708
|
+
*/
|
|
709
|
+
private populateFormWithCachedData;
|
|
710
|
+
/**
|
|
711
|
+
* Set form values based on data or defaults
|
|
712
|
+
*/
|
|
713
|
+
private setFormValues;
|
|
714
|
+
loadRightsForSelectedEntity(entityId: string): Promise<void>;
|
|
612
715
|
loadAccessPassData(): Promise<void>;
|
|
613
716
|
saveRights(): Promise<void>;
|
|
614
717
|
onCancel(): void;
|
|
615
718
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideLytFloatingEntityRightsSharingComponent, never>;
|
|
616
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideLytFloatingEntityRightsSharingComponent, "cide-lyt-floating-entity-rights-sharing", never, { "data": { "alias": "data"; "required": false; }; }, { "close": "close"; "save": "save"; }, never, never, true, never>;
|
|
719
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideLytFloatingEntityRightsSharingComponent, "cide-lyt-floating-entity-rights-sharing", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; }, { "close": "close"; "save": "save"; }, never, never, true, never>;
|
|
617
720
|
}
|
|
618
721
|
|
|
619
722
|
interface EntityRightsSharingData {
|
|
@@ -623,10 +726,14 @@ interface EntityRightsSharingData {
|
|
|
623
726
|
}
|
|
624
727
|
declare class CideLytFloatingEntityRightsSharingService {
|
|
625
728
|
private containerService;
|
|
729
|
+
private http;
|
|
730
|
+
private entityAccessPassListSubject;
|
|
731
|
+
entityAccessPassList$: Observable<CoreEntityAccessPassManagement[]>;
|
|
732
|
+
constructor();
|
|
626
733
|
/**
|
|
627
734
|
* Show entity rights sharing in floating container
|
|
628
735
|
*/
|
|
629
|
-
show(data?: EntityRightsSharingData): Promise<string>;
|
|
736
|
+
show(data?: Signal<EntityRightsSharingData>): Promise<string>;
|
|
630
737
|
/**
|
|
631
738
|
* Hide entity rights sharing
|
|
632
739
|
*/
|
|
@@ -635,9 +742,68 @@ declare class CideLytFloatingEntityRightsSharingService {
|
|
|
635
742
|
* Register the entity rights sharing component
|
|
636
743
|
*/
|
|
637
744
|
private registerEntityRightsSharingComponent;
|
|
745
|
+
/**
|
|
746
|
+
* Get entity access pass management list from API
|
|
747
|
+
*/
|
|
748
|
+
getEntityAccessPassList(body: MCoreEntityAccessPassManagement): Observable<CoreEntityAccessPassManagementControllerResponse>;
|
|
749
|
+
/**
|
|
750
|
+
* Get entity access pass management by ID
|
|
751
|
+
*/
|
|
752
|
+
getEntityAccessPassById(payload: MCoreEntityAccessPassManagementGetByIdPayload): Observable<CoreEntityAccessPassManagementByIdControllerResponse>;
|
|
753
|
+
/**
|
|
754
|
+
* Insert or update entity access pass management
|
|
755
|
+
*/
|
|
756
|
+
insertUpdateEntityAccessPass(payload: MCoreEntityAccessPassManagementInsertUpdate): Observable<CoreEntityAccessPassManagementInsertUpdateControllerResponse>;
|
|
757
|
+
/**
|
|
758
|
+
* Delete entity access pass management
|
|
759
|
+
*/
|
|
760
|
+
deleteEntityAccessPass(payload: MCoreEntityAccessPassManagementDeletePayload): Observable<CoreEntityAccessPassManagementDeleteControllerResponse>;
|
|
761
|
+
/**
|
|
762
|
+
* Toggle entity access pass management status
|
|
763
|
+
*/
|
|
764
|
+
toggleEntityAccessPassStatus(payload: MCoreEntityAccessPassManagementToggleStatusPayload): Observable<CoreEntityAccessPassManagementToggleStatusControllerResponse>;
|
|
765
|
+
/**
|
|
766
|
+
* Get entity access pass management for specific user and entity
|
|
767
|
+
* @param userId - User ID
|
|
768
|
+
* @param entityId - Entity ID (the entity context)
|
|
769
|
+
* @param coreEntityAccessPassManagement - The table name (e.g., 'core_entity_access_pass_management_sycad')
|
|
770
|
+
* @param accessPassTo - Optional: The primary _id of the specific record whose access is being managed
|
|
771
|
+
*/
|
|
772
|
+
getEntityAccessPassForUserAndEntity(userId: string, entityId: string, coreEntityAccessPassManagement: string, accessPassTo?: string): Observable<CoreEntityAccessPassManagementControllerResponse>;
|
|
773
|
+
/**
|
|
774
|
+
* Create or update entity access pass for user and entity
|
|
775
|
+
* @param userId - User ID
|
|
776
|
+
* @param entityId - Entity ID (the entity context)
|
|
777
|
+
* @param accessPassTo - The primary _id of the specific record whose access is being managed (e.g., address _id from core_user_contact_addresses)
|
|
778
|
+
* @param coreEntityAccessPassManagement - The table name (e.g., 'core_entity_access_pass_management_sycad')
|
|
779
|
+
* @param rights - The access rights to be granted
|
|
780
|
+
* @param existingId - Optional: Existing access pass ID for updates
|
|
781
|
+
*/
|
|
782
|
+
saveEntityAccessPassForUserAndEntity(userId: string, entityId: string, accessPassTo: string, coreEntityAccessPassManagement: string, rights: {
|
|
783
|
+
can_view?: boolean;
|
|
784
|
+
can_edit?: boolean;
|
|
785
|
+
is_owner?: boolean;
|
|
786
|
+
syepm_isactive?: boolean;
|
|
787
|
+
}, existingId?: string): Observable<CoreEntityAccessPassManagementInsertUpdateControllerResponse>;
|
|
788
|
+
/**
|
|
789
|
+
* Refresh the entity access pass list
|
|
790
|
+
*/
|
|
791
|
+
private refreshEntityAccessPassList;
|
|
792
|
+
/**
|
|
793
|
+
* Handle HTTP errors
|
|
794
|
+
*/
|
|
795
|
+
private handleError;
|
|
796
|
+
/**
|
|
797
|
+
* Get current entity access pass list
|
|
798
|
+
*/
|
|
799
|
+
getCurrentEntityAccessPassList(): CoreEntityAccessPassManagement[];
|
|
800
|
+
/**
|
|
801
|
+
* Clear entity access pass list
|
|
802
|
+
*/
|
|
803
|
+
clearEntityAccessPassList(): void;
|
|
638
804
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideLytFloatingEntityRightsSharingService, never>;
|
|
639
805
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideLytFloatingEntityRightsSharingService>;
|
|
640
806
|
}
|
|
641
807
|
|
|
642
808
|
export { AppStateHelperService, AppStateService, CacheManagerService, CideLytFileManagerService, CideLytFloatingEntityRightsSharingComponent, CideLytFloatingEntityRightsSharingService, CideLytSharedService, CideLytSharedWrapperComponent, CideLytThemeService, CideLytUserStatusService, CloudIdeLayoutComponent, CloudIdeLayoutService, CustomRouteReuseStrategy, ENVIRONMENT_CONFIG, layoutControlPannelChildRoutes, layoutRoutes, processThemeVariable, setCSSVariable, themeFactory };
|
|
643
|
-
export type { AppState, CideLytSharedWrapperSetupParam, EntityRightsSharingData, Theme, UserStatus, UserStatusData };
|
|
809
|
+
export type { AppState, BreadcrumbItem, CideLytSharedWrapperSetupParam, EntityRightsSharingData, Theme, UserStatus, UserStatusData };
|