cloud-ide-layout 1.0.197 → 1.0.199

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.
Files changed (14) hide show
  1. package/fesm2022/{cloud-ide-layout-cloud-ide-layout-BR5F10rp.mjs → cloud-ide-layout-cloud-ide-layout-Deblu8LO.mjs} +42 -5
  2. package/fesm2022/cloud-ide-layout-cloud-ide-layout-Deblu8LO.mjs.map +1 -0
  3. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-Z6CVGUD0.mjs → cloud-ide-layout-dashboard-manager.component-Cp31ZkHK.mjs} +2 -2
  4. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-Z6CVGUD0.mjs.map → cloud-ide-layout-dashboard-manager.component-Cp31ZkHK.mjs.map} +1 -1
  5. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BMtGe5Hj.mjs → cloud-ide-layout-drawer-theme.component-DdCKzQqW.mjs} +2 -2
  6. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BMtGe5Hj.mjs.map → cloud-ide-layout-drawer-theme.component-DdCKzQqW.mjs.map} +1 -1
  7. package/fesm2022/{cloud-ide-layout-home-wrapper.component-yBUZQiWN.mjs → cloud-ide-layout-home-wrapper.component-BMW2OdjT.mjs} +2 -2
  8. package/fesm2022/{cloud-ide-layout-home-wrapper.component-yBUZQiWN.mjs.map → cloud-ide-layout-home-wrapper.component-BMW2OdjT.mjs.map} +1 -1
  9. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-B6H0UYkd.mjs → cloud-ide-layout-sidedrawer-notes.component-DScabglS.mjs} +2 -2
  10. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-B6H0UYkd.mjs.map → cloud-ide-layout-sidedrawer-notes.component-DScabglS.mjs.map} +1 -1
  11. package/fesm2022/cloud-ide-layout.mjs +1 -1
  12. package/index.d.ts +4 -0
  13. package/package.json +1 -1
  14. package/fesm2022/cloud-ide-layout-cloud-ide-layout-BR5F10rp.mjs.map +0 -1
@@ -937,6 +937,7 @@ class CideLytSharedService {
937
937
  router = inject(Router);
938
938
  // Import AppStateHelperService for sidebar sync
939
939
  appState = inject(AppStateHelperService);
940
+ appStateService = inject(AppStateService);
940
941
  // Route change subscription for cleanup
941
942
  routeSubscription;
942
943
  pageDataSubscription;
@@ -953,6 +954,12 @@ class CideLytSharedService {
953
954
  this.pageDataSubscription?.unsubscribe();
954
955
  this.handleRouteChange();
955
956
  });
957
+ // Listen for entity changes and clear cache
958
+ // This ensures that when switching entities, we don't serve stale data/rights from the old entity
959
+ this.appStateService.registerEntityChangeHandler((entity) => {
960
+ console.log('🔄 SHARED SERVICE: Entity changed, clearing page data cache');
961
+ this.clearAllCache();
962
+ });
956
963
  }
957
964
  /**
958
965
  * Register tab management callback from request service
@@ -4674,6 +4681,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
4674
4681
  * to persist component state, especially for tabbed navigation.
4675
4682
  */
4676
4683
  class CustomRouteReuseStrategy {
4684
+ injector = inject(Injector);
4677
4685
  storedRoutes = {};
4678
4686
  routesToDestroy = new Set(); // Keys marked for destruction (do not store)
4679
4687
  // Generates a unique key for a route.
@@ -4707,6 +4715,27 @@ class CustomRouteReuseStrategy {
4707
4715
  const hasChildren = route.firstChild !== null;
4708
4716
  const shouldDetach = hasComponent && !hasChildren;
4709
4717
  const pathKey = this.getPathKey(route);
4718
+ // Check if this page is configured to NOT use tabs (sytm_layout_request.status === false)
4719
+ // We check cached page data from SharedService
4720
+ if (shouldDetach) {
4721
+ try {
4722
+ // Lazy inject to avoid circular dependency (Router -> Strategy -> Shared -> Router)
4723
+ const sharedService = this.injector.get(CideLytSharedService);
4724
+ const pageCode = route.data['sypg_page_code'] || route.queryParams['sypg_page_code'];
4725
+ if (pageCode) {
4726
+ // Check cache directly (synchronous)
4727
+ const cachedData = sharedService.getCachedPageData(pageCode);
4728
+ const requestStatus = cachedData?.data?.theme?.sytm_layout?.sytm_layout_request?.status;
4729
+ if (requestStatus === false) {
4730
+ console.log(`🚫 [shouldDetach] Preventing detach for ${pathKey} because request layout is disabled (e.g. Home page)`);
4731
+ return false;
4732
+ }
4733
+ }
4734
+ }
4735
+ catch (e) {
4736
+ // Ignore errors if service not ready
4737
+ }
4738
+ }
4710
4739
  console.log(`🔍 [shouldDetach] Route: ${pathKey}, hasComponent: ${hasComponent}, hasChildren: ${hasChildren}, shouldDetach: ${shouldDetach}`);
4711
4740
  return shouldDetach;
4712
4741
  }
@@ -4868,7 +4897,15 @@ class CustomRouteReuseStrategy {
4868
4897
  getAllStoredRouteKeys() {
4869
4898
  return Object.keys(this.storedRoutes);
4870
4899
  }
4900
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CustomRouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4901
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CustomRouteReuseStrategy, providedIn: 'root' });
4871
4902
  }
4903
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CustomRouteReuseStrategy, decorators: [{
4904
+ type: Injectable,
4905
+ args: [{
4906
+ providedIn: 'root'
4907
+ }]
4908
+ }] });
4872
4909
 
4873
4910
  /**
4874
4911
  * Creates the default state for a new tab.
@@ -5439,8 +5476,8 @@ class CideLytSidedrawerWrapperComponent {
5439
5476
  }
5440
5477
  ngOnInit() {
5441
5478
  // Initialize the component map (You'd likely populate this from a config or service)
5442
- this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-B6H0UYkd.mjs').then(m => m.CideLytSidedrawerNotesComponent);
5443
- this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-BMtGe5Hj.mjs').then(m => m.CideLytDrawerThemeComponent);
5479
+ this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-DScabglS.mjs').then(m => m.CideLytSidedrawerNotesComponent);
5480
+ this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-DdCKzQqW.mjs').then(m => m.CideLytDrawerThemeComponent);
5444
5481
  }
5445
5482
  async loadComponent(configFor) {
5446
5483
  console.log('🔍 SIDEDRAWER - Loading component:', configFor, 'Current tab:', this.currentTabId);
@@ -7132,7 +7169,7 @@ const layoutControlPannelChildRoutes = [{
7132
7169
  },
7133
7170
  {
7134
7171
  path: "home",
7135
- loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-yBUZQiWN.mjs').then(c => c.CideLytHomeWrapperComponent),
7172
+ loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-BMW2OdjT.mjs').then(c => c.CideLytHomeWrapperComponent),
7136
7173
  canActivate: [authGuard],
7137
7174
  data: {
7138
7175
  sypg_page_code: "cide_lyt_home" // Used by RequestService to fetch tab properties
@@ -7140,7 +7177,7 @@ const layoutControlPannelChildRoutes = [{
7140
7177
  },
7141
7178
  {
7142
7179
  path: "dashboard-manager",
7143
- loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-Z6CVGUD0.mjs').then(c => c.DashboardManagerComponent),
7180
+ loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-Cp31ZkHK.mjs').then(c => c.DashboardManagerComponent),
7144
7181
  canActivate: [authGuard],
7145
7182
  data: {
7146
7183
  sypg_page_code: "cide_lyt_dashboard_manager"
@@ -8964,4 +9001,4 @@ var floatingEntitySelection_component = /*#__PURE__*/Object.freeze({
8964
9001
  */
8965
9002
 
8966
9003
  export { AppStateHelperService as A, CideLytSharedWrapperComponent as C, ENVIRONMENT_CONFIG as E, NotificationSettingsService as N, RightsService as R, CideLytSidebarService as a, CideLytSidedrawerService as b, CideLytThemeService as c, CloudIdeLayoutService as d, CloudIdeLayoutComponent as e, CideLytSharedService as f, ComponentContextService as g, layoutControlPannelChildRoutes as h, CustomRouteReuseStrategy as i, AppStateService as j, CideLytUserStatusService as k, layoutRoutes as l, CacheManagerService as m, CideLytFileManagerService as n, CideLytFloatingEntityRightsSharingComponent as o, processThemeVariable as p, CideLytFloatingEntityRightsSharingService as q, CideLytFloatingEntitySelectionComponent as r, setCSSVariable as s, themeFactory as t, CideLytFloatingEntitySelectionService as u };
8967
- //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-BR5F10rp.mjs.map
9004
+ //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-Deblu8LO.mjs.map