cloud-ide-layout 1.0.192 → 1.0.194

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 (13) hide show
  1. package/fesm2022/{cloud-ide-layout-cloud-ide-layout-ClcC017r.mjs → cloud-ide-layout-cloud-ide-layout-CsY3Ygak.mjs} +20 -9
  2. package/fesm2022/cloud-ide-layout-cloud-ide-layout-CsY3Ygak.mjs.map +1 -0
  3. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-m0dwpUhX.mjs → cloud-ide-layout-dashboard-manager.component-BYQI6-FO.mjs} +2 -2
  4. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-m0dwpUhX.mjs.map → cloud-ide-layout-dashboard-manager.component-BYQI6-FO.mjs.map} +1 -1
  5. package/fesm2022/{cloud-ide-layout-drawer-theme.component-CBrHfZ62.mjs → cloud-ide-layout-drawer-theme.component-KLkC4yub.mjs} +2 -2
  6. package/fesm2022/{cloud-ide-layout-drawer-theme.component-CBrHfZ62.mjs.map → cloud-ide-layout-drawer-theme.component-KLkC4yub.mjs.map} +1 -1
  7. package/fesm2022/{cloud-ide-layout-home-wrapper.component-ZgFNWqdK.mjs → cloud-ide-layout-home-wrapper.component-71YgePtl.mjs} +2 -2
  8. package/fesm2022/{cloud-ide-layout-home-wrapper.component-ZgFNWqdK.mjs.map → cloud-ide-layout-home-wrapper.component-71YgePtl.mjs.map} +1 -1
  9. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-CpXEOOfa.mjs → cloud-ide-layout-sidedrawer-notes.component-DIJLes0w.mjs} +2 -2
  10. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-CpXEOOfa.mjs.map → cloud-ide-layout-sidedrawer-notes.component-DIJLes0w.mjs.map} +1 -1
  11. package/fesm2022/cloud-ide-layout.mjs +1 -1
  12. package/package.json +1 -1
  13. package/fesm2022/cloud-ide-layout-cloud-ide-layout-ClcC017r.mjs.map +0 -1
@@ -4678,10 +4678,14 @@ class CustomRouteReuseStrategy {
4678
4678
  // Generates a unique key for a route.
4679
4679
  // This key includes sorted query parameters to ensure distinct states for tabs differing by query params.
4680
4680
  getPathKey(route) {
4681
+ // Debug: log the route tree
4682
+ const segments = route.pathFromRoot.map(r => r.url.map(segment => segment.path).join('/'));
4683
+ console.log('🔑 [getPathKey] Route segments:', segments);
4681
4684
  let path = route.pathFromRoot
4682
4685
  .map(r => r.url.map(segment => segment.path).join('/'))
4683
4686
  .filter(p => p.length > 0)
4684
4687
  .join('/');
4688
+ console.log('🔑 [getPathKey] Generated path:', path);
4685
4689
  // Always append query parameters to the key for tab-based navigation
4686
4690
  // This ensures each unique route + params combination gets its own stored component
4687
4691
  if (route.queryParamMap.keys.length > 0) {
@@ -4691,16 +4695,23 @@ class CustomRouteReuseStrategy {
4691
4695
  .join('&');
4692
4696
  path += '?' + queryParams;
4693
4697
  }
4698
+ console.log('🔑 [getPathKey] Final key:', path);
4694
4699
  return path;
4695
4700
  }
4696
4701
  // Determines if this route (and its subtree) should be detached to be reused later.
4697
4702
  // IMPORTANT: We ALWAYS detach routes to support tab-based navigation
4698
4703
  // This ensures components are preserved when switching between tabs
4699
4704
  shouldDetach(route) {
4700
- // Always detach routes to preserve component state for tab navigation
4701
- // Previously this only detached routes with reuseTab: true flag,
4702
- // but dynamic tab routes don't have this flag set
4703
- return true;
4705
+ // CRITICAL: Only detach LEAF routes (routes with no children)
4706
+ // When navigating to /control-panel/teacher/view/123, Angular calls this for:
4707
+ // 1. /control-panel (has children) - should NOT detach
4708
+ // 2. /teacher (has children) - should NOT detach
4709
+ // 3. /view/123 (leaf route) - SHOULD detach
4710
+ // We only want to store the deepest/final route, not parent routes
4711
+ const hasChildren = route.firstChild !== null;
4712
+ const shouldDetach = !hasChildren; // Only detach if no children
4713
+ console.log(`🔍 [shouldDetach] Route: ${this.getPathKey(route)}, hasChildren: ${hasChildren}, shouldDetach: ${shouldDetach}`);
4714
+ return shouldDetach;
4704
4715
  }
4705
4716
  // Stores the detached route.
4706
4717
  // IMPORTANT: We ALWAYS store routes to support tab-based navigation
@@ -5399,8 +5410,8 @@ class CideLytSidedrawerWrapperComponent {
5399
5410
  }
5400
5411
  ngOnInit() {
5401
5412
  // Initialize the component map (You'd likely populate this from a config or service)
5402
- this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-CpXEOOfa.mjs').then(m => m.CideLytSidedrawerNotesComponent);
5403
- this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-CBrHfZ62.mjs').then(m => m.CideLytDrawerThemeComponent);
5413
+ this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-DIJLes0w.mjs').then(m => m.CideLytSidedrawerNotesComponent);
5414
+ this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-KLkC4yub.mjs').then(m => m.CideLytDrawerThemeComponent);
5404
5415
  }
5405
5416
  async loadComponent(configFor) {
5406
5417
  console.log('🔍 SIDEDRAWER - Loading component:', configFor, 'Current tab:', this.currentTabId);
@@ -7092,7 +7103,7 @@ const layoutControlPannelChildRoutes = [{
7092
7103
  },
7093
7104
  {
7094
7105
  path: "home",
7095
- loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-ZgFNWqdK.mjs').then(c => c.CideLytHomeWrapperComponent),
7106
+ loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-71YgePtl.mjs').then(c => c.CideLytHomeWrapperComponent),
7096
7107
  canActivate: [authGuard],
7097
7108
  data: {
7098
7109
  sypg_page_code: "cide_lyt_home" // Used by RequestService to fetch tab properties
@@ -7100,7 +7111,7 @@ const layoutControlPannelChildRoutes = [{
7100
7111
  },
7101
7112
  {
7102
7113
  path: "dashboard-manager",
7103
- loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-m0dwpUhX.mjs').then(c => c.DashboardManagerComponent),
7114
+ loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-BYQI6-FO.mjs').then(c => c.DashboardManagerComponent),
7104
7115
  canActivate: [authGuard],
7105
7116
  data: {
7106
7117
  sypg_page_code: "cide_lyt_dashboard_manager"
@@ -8924,4 +8935,4 @@ var floatingEntitySelection_component = /*#__PURE__*/Object.freeze({
8924
8935
  */
8925
8936
 
8926
8937
  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 };
8927
- //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-ClcC017r.mjs.map
8938
+ //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-CsY3Ygak.mjs.map