cloud-ide-layout 1.0.187 → 1.0.189

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-CSA4WioJ.mjs → cloud-ide-layout-cloud-ide-layout-DIJpoyUh.mjs} +22 -12
  2. package/fesm2022/cloud-ide-layout-cloud-ide-layout-DIJpoyUh.mjs.map +1 -0
  3. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-DM2Mo6P7.mjs → cloud-ide-layout-dashboard-manager.component-DiH09DkC.mjs} +2 -2
  4. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-DM2Mo6P7.mjs.map → cloud-ide-layout-dashboard-manager.component-DiH09DkC.mjs.map} +1 -1
  5. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BtIN5K29.mjs → cloud-ide-layout-drawer-theme.component-hGk6sdte.mjs} +2 -2
  6. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BtIN5K29.mjs.map → cloud-ide-layout-drawer-theme.component-hGk6sdte.mjs.map} +1 -1
  7. package/fesm2022/{cloud-ide-layout-home-wrapper.component-uqBqyF6Z.mjs → cloud-ide-layout-home-wrapper.component-BNhDALg_.mjs} +2 -2
  8. package/fesm2022/{cloud-ide-layout-home-wrapper.component-uqBqyF6Z.mjs.map → cloud-ide-layout-home-wrapper.component-BNhDALg_.mjs.map} +1 -1
  9. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-D_LnurNk.mjs → cloud-ide-layout-sidedrawer-notes.component-YWzmxwxW.mjs} +2 -2
  10. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-D_LnurNk.mjs.map → cloud-ide-layout-sidedrawer-notes.component-YWzmxwxW.mjs.map} +1 -1
  11. package/fesm2022/cloud-ide-layout.mjs +1 -1
  12. package/index.d.ts +1 -0
  13. package/package.json +1 -1
  14. package/fesm2022/cloud-ide-layout-cloud-ide-layout-CSA4WioJ.mjs.map +0 -1
@@ -4676,16 +4676,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
4676
4676
  class CustomRouteReuseStrategy {
4677
4677
  storedRoutes = {};
4678
4678
  // Generates a unique key for a route.
4679
- // For routes marked with 'reuseTab', this key includes sorted query parameters
4680
- // to ensure distinct states for tabs differing by query params.
4679
+ // This key includes sorted query parameters to ensure distinct states for tabs differing by query params.
4681
4680
  getPathKey(route) {
4682
4681
  let path = route.pathFromRoot
4683
4682
  .map(r => r.url.map(segment => segment.path).join('/'))
4684
4683
  .filter(p => p.length > 0)
4685
4684
  .join('/');
4686
- // If the route is marked for tab reuse and has query parameters,
4687
- // append them to the key in a sorted, consistent manner.
4688
- if (route.data && route.data['reuseTab'] && route.queryParamMap.keys.length > 0) {
4685
+ // Always append query parameters to the key for tab-based navigation
4686
+ // This ensures each unique route + params combination gets its own stored component
4687
+ if (route.queryParamMap.keys.length > 0) {
4689
4688
  const queryParams = route.queryParamMap.keys
4690
4689
  .sort() // Ensure consistent order of query parameters
4691
4690
  .map(key => `${key}=${route.queryParamMap.get(key)}`)
@@ -4695,14 +4694,21 @@ class CustomRouteReuseStrategy {
4695
4694
  return path;
4696
4695
  }
4697
4696
  // Determines if this route (and its subtree) should be detached to be reused later.
4697
+ // IMPORTANT: We ALWAYS detach routes to support tab-based navigation
4698
+ // This ensures components are preserved when switching between tabs
4698
4699
  shouldDetach(route) {
4699
- return !!(route.data && route.data['reuseTab']);
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;
4700
4704
  }
4701
4705
  // Stores the detached route.
4706
+ // IMPORTANT: We ALWAYS store routes to support tab-based navigation
4702
4707
  store(route, handle) {
4703
4708
  const pathKey = this.getPathKey(route);
4704
- if (handle && route.data && route.data['reuseTab'] && pathKey) {
4709
+ if (handle && pathKey) {
4705
4710
  this.storedRoutes[pathKey] = handle;
4711
+ console.log(`📦 [RouteReuseStrategy] Stored route: ${pathKey}`);
4706
4712
  }
4707
4713
  }
4708
4714
  // Determines if this route (and its subtree) should be reattached.
@@ -4832,6 +4838,10 @@ class CustomRouteReuseStrategy {
4832
4838
  getStoredRoutesCount() {
4833
4839
  return Object.keys(this.storedRoutes).length;
4834
4840
  }
4841
+ // Gets all stored route keys (useful for debugging)
4842
+ getAllStoredRouteKeys() {
4843
+ return Object.keys(this.storedRoutes);
4844
+ }
4835
4845
  }
4836
4846
 
4837
4847
  /**
@@ -5384,8 +5394,8 @@ class CideLytSidedrawerWrapperComponent {
5384
5394
  }
5385
5395
  ngOnInit() {
5386
5396
  // Initialize the component map (You'd likely populate this from a config or service)
5387
- this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-D_LnurNk.mjs').then(m => m.CideLytSidedrawerNotesComponent);
5388
- this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-BtIN5K29.mjs').then(m => m.CideLytDrawerThemeComponent);
5397
+ this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-YWzmxwxW.mjs').then(m => m.CideLytSidedrawerNotesComponent);
5398
+ this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-hGk6sdte.mjs').then(m => m.CideLytDrawerThemeComponent);
5389
5399
  }
5390
5400
  async loadComponent(configFor) {
5391
5401
  console.log('🔍 SIDEDRAWER - Loading component:', configFor, 'Current tab:', this.currentTabId);
@@ -7077,7 +7087,7 @@ const layoutControlPannelChildRoutes = [{
7077
7087
  },
7078
7088
  {
7079
7089
  path: "home",
7080
- loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-uqBqyF6Z.mjs').then(c => c.CideLytHomeWrapperComponent),
7090
+ loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-BNhDALg_.mjs').then(c => c.CideLytHomeWrapperComponent),
7081
7091
  canActivate: [authGuard],
7082
7092
  data: {
7083
7093
  sypg_page_code: "cide_lyt_home" // Used by RequestService to fetch tab properties
@@ -7085,7 +7095,7 @@ const layoutControlPannelChildRoutes = [{
7085
7095
  },
7086
7096
  {
7087
7097
  path: "dashboard-manager",
7088
- loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-DM2Mo6P7.mjs').then(c => c.DashboardManagerComponent),
7098
+ loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-DiH09DkC.mjs').then(c => c.DashboardManagerComponent),
7089
7099
  canActivate: [authGuard],
7090
7100
  data: {
7091
7101
  sypg_page_code: "cide_lyt_dashboard_manager"
@@ -8909,4 +8919,4 @@ var floatingEntitySelection_component = /*#__PURE__*/Object.freeze({
8909
8919
  */
8910
8920
 
8911
8921
  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 };
8912
- //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-CSA4WioJ.mjs.map
8922
+ //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-DIJpoyUh.mjs.map