cloud-ide-layout 1.0.194 → 1.0.196

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-CsY3Ygak.mjs → cloud-ide-layout-cloud-ide-layout-DNJnD_Vr.mjs} +20 -13
  2. package/fesm2022/cloud-ide-layout-cloud-ide-layout-DNJnD_Vr.mjs.map +1 -0
  3. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-BYQI6-FO.mjs → cloud-ide-layout-dashboard-manager.component-BC7_konM.mjs} +2 -2
  4. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-BYQI6-FO.mjs.map → cloud-ide-layout-dashboard-manager.component-BC7_konM.mjs.map} +1 -1
  5. package/fesm2022/{cloud-ide-layout-drawer-theme.component-KLkC4yub.mjs → cloud-ide-layout-drawer-theme.component-kfMpJ8HO.mjs} +2 -2
  6. package/fesm2022/{cloud-ide-layout-drawer-theme.component-KLkC4yub.mjs.map → cloud-ide-layout-drawer-theme.component-kfMpJ8HO.mjs.map} +1 -1
  7. package/fesm2022/{cloud-ide-layout-home-wrapper.component-71YgePtl.mjs → cloud-ide-layout-home-wrapper.component-Bcw1UvWD.mjs} +2 -2
  8. package/fesm2022/{cloud-ide-layout-home-wrapper.component-71YgePtl.mjs.map → cloud-ide-layout-home-wrapper.component-Bcw1UvWD.mjs.map} +1 -1
  9. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-DIJLes0w.mjs → cloud-ide-layout-sidedrawer-notes.component-i21oz3ul.mjs} +2 -2
  10. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-DIJLes0w.mjs.map → cloud-ide-layout-sidedrawer-notes.component-i21oz3ul.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-CsY3Ygak.mjs.map +0 -1
@@ -4702,15 +4702,11 @@ class CustomRouteReuseStrategy {
4702
4702
  // IMPORTANT: We ALWAYS detach routes to support tab-based navigation
4703
4703
  // This ensures components are preserved when switching between tabs
4704
4704
  shouldDetach(route) {
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
4705
+ const hasComponent = !!route.component || !!route.routeConfig?.loadComponent;
4711
4706
  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}`);
4707
+ const shouldDetach = hasComponent && !hasChildren;
4708
+ const pathKey = this.getPathKey(route);
4709
+ console.log(`🔍 [shouldDetach] Route: ${pathKey}, hasComponent: ${hasComponent}, hasChildren: ${hasChildren}, shouldDetach: ${shouldDetach}`);
4714
4710
  return shouldDetach;
4715
4711
  }
4716
4712
  // Stores the detached route.
@@ -5158,6 +5154,17 @@ class CideLytRequestService {
5158
5154
  if (pathKeyWithoutParams !== pathKey) {
5159
5155
  this.routeReuseStrategy.clearStoredRoute(pathKeyWithoutParams);
5160
5156
  }
5157
+ // FUZZY MATCHING: Clear any stored route that starts with our route path
5158
+ const fuzzyMatches = allKeys.filter(key => key.startsWith(pathKey) || key.startsWith(pathKeyWithoutParams) ||
5159
+ pathKey.startsWith(key) || pathKeyWithoutParams.startsWith(key));
5160
+ if (fuzzyMatches.length > 0) {
5161
+ console.log('🎯 [CLOSE TAB] Found fuzzy matches:', fuzzyMatches);
5162
+ fuzzyMatches.forEach(key => {
5163
+ this.routeReuseStrategy.clearStoredRoute(key);
5164
+ });
5165
+ }
5166
+ const remainingKeys = this.routeReuseStrategy.getAllStoredRouteKeys();
5167
+ console.log('📋 [CLOSE TAB] Remaining after clearing:', remainingKeys);
5161
5168
  // Force a route refresh to ensure clean component state
5162
5169
  // This prevents old data from persisting when the same route is reopened
5163
5170
  console.log(`🧹 REQUEST SERVICE: Cleared stored route for ${pathKey} and destroyed component instance`);
@@ -5410,8 +5417,8 @@ class CideLytSidedrawerWrapperComponent {
5410
5417
  }
5411
5418
  ngOnInit() {
5412
5419
  // Initialize the component map (You'd likely populate this from a config or service)
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);
5420
+ this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-i21oz3ul.mjs').then(m => m.CideLytSidedrawerNotesComponent);
5421
+ this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-kfMpJ8HO.mjs').then(m => m.CideLytDrawerThemeComponent);
5415
5422
  }
5416
5423
  async loadComponent(configFor) {
5417
5424
  console.log('🔍 SIDEDRAWER - Loading component:', configFor, 'Current tab:', this.currentTabId);
@@ -7103,7 +7110,7 @@ const layoutControlPannelChildRoutes = [{
7103
7110
  },
7104
7111
  {
7105
7112
  path: "home",
7106
- loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-71YgePtl.mjs').then(c => c.CideLytHomeWrapperComponent),
7113
+ loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-Bcw1UvWD.mjs').then(c => c.CideLytHomeWrapperComponent),
7107
7114
  canActivate: [authGuard],
7108
7115
  data: {
7109
7116
  sypg_page_code: "cide_lyt_home" // Used by RequestService to fetch tab properties
@@ -7111,7 +7118,7 @@ const layoutControlPannelChildRoutes = [{
7111
7118
  },
7112
7119
  {
7113
7120
  path: "dashboard-manager",
7114
- loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-BYQI6-FO.mjs').then(c => c.DashboardManagerComponent),
7121
+ loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-BC7_konM.mjs').then(c => c.DashboardManagerComponent),
7115
7122
  canActivate: [authGuard],
7116
7123
  data: {
7117
7124
  sypg_page_code: "cide_lyt_dashboard_manager"
@@ -8935,4 +8942,4 @@ var floatingEntitySelection_component = /*#__PURE__*/Object.freeze({
8935
8942
  */
8936
8943
 
8937
8944
  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 };
8938
- //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-CsY3Ygak.mjs.map
8945
+ //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-DNJnD_Vr.mjs.map