cloud-ide-layout 1.0.186 → 1.0.188

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-BCJjrfC0.mjs → cloud-ide-layout-cloud-ide-layout-uA8lWEih.mjs} +40 -12
  2. package/fesm2022/cloud-ide-layout-cloud-ide-layout-uA8lWEih.mjs.map +1 -0
  3. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-DjW9OfwB.mjs → cloud-ide-layout-dashboard-manager.component-DRi08LTz.mjs} +2 -2
  4. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-DjW9OfwB.mjs.map → cloud-ide-layout-dashboard-manager.component-DRi08LTz.mjs.map} +1 -1
  5. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BNhurhcP.mjs → cloud-ide-layout-drawer-theme.component-BfbYAsrL.mjs} +2 -2
  6. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BNhurhcP.mjs.map → cloud-ide-layout-drawer-theme.component-BfbYAsrL.mjs.map} +1 -1
  7. package/fesm2022/{cloud-ide-layout-home-wrapper.component-zMo-VP1V.mjs → cloud-ide-layout-home-wrapper.component-35VCCHPu.mjs} +2 -2
  8. package/fesm2022/{cloud-ide-layout-home-wrapper.component-zMo-VP1V.mjs.map → cloud-ide-layout-home-wrapper.component-35VCCHPu.mjs.map} +1 -1
  9. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-DJxIg1zW.mjs → cloud-ide-layout-sidedrawer-notes.component-fmRM4jbS.mjs} +2 -2
  10. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-DJxIg1zW.mjs.map → cloud-ide-layout-sidedrawer-notes.component-fmRM4jbS.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-BCJjrfC0.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.
@@ -5216,6 +5222,28 @@ class CideLytRequestService {
5216
5222
  this.requestVisible = false;
5217
5223
  document.querySelector(`#cide-lyt-request-wrapper`)?.classList.add('cide-lyt-request-wrapper-hide');
5218
5224
  document.querySelector(`body`)?.classList.remove('cide-lyt-request-exist');
5225
+ // IMPORTANT: Clear all tabs and their stored component states when hiding request wrapper
5226
+ // This ensures that when user navigates back later, components start fresh
5227
+ const currentTabs = this.tabsSignal();
5228
+ if (currentTabs.length > 0) {
5229
+ console.log('🧹 REQUEST SERVICE - Clearing all tabs because request wrapper is being hidden');
5230
+ // Clear all tabs from TabStateService
5231
+ currentTabs.forEach(tab => {
5232
+ this.tabStateService.removeTab(tab.id);
5233
+ });
5234
+ // Clear ALL stored routes from route reuse strategy to destroy component instances
5235
+ if (this.routeReuseStrategy instanceof CustomRouteReuseStrategy) {
5236
+ this.routeReuseStrategy.clearAllStoredRoutes();
5237
+ console.log('✅ REQUEST SERVICE - All stored routes cleared');
5238
+ }
5239
+ // Clear all tabs from signals
5240
+ this.tabsSignal.set([]);
5241
+ this.activeTabIdSignal.set(null);
5242
+ this.tabStateService.setActiveTab(null);
5243
+ // Clear sidedrawer
5244
+ this.sidedrawerService.updateDrawerItems(undefined);
5245
+ console.log('✅ REQUEST SERVICE - All tabs cleared, components will start fresh on next visit');
5246
+ }
5219
5247
  }
5220
5248
  // Show Request
5221
5249
  showRequest() {
@@ -5362,8 +5390,8 @@ class CideLytSidedrawerWrapperComponent {
5362
5390
  }
5363
5391
  ngOnInit() {
5364
5392
  // Initialize the component map (You'd likely populate this from a config or service)
5365
- this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-DJxIg1zW.mjs').then(m => m.CideLytSidedrawerNotesComponent);
5366
- this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-BNhurhcP.mjs').then(m => m.CideLytDrawerThemeComponent);
5393
+ this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-fmRM4jbS.mjs').then(m => m.CideLytSidedrawerNotesComponent);
5394
+ this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-BfbYAsrL.mjs').then(m => m.CideLytDrawerThemeComponent);
5367
5395
  }
5368
5396
  async loadComponent(configFor) {
5369
5397
  console.log('🔍 SIDEDRAWER - Loading component:', configFor, 'Current tab:', this.currentTabId);
@@ -7055,7 +7083,7 @@ const layoutControlPannelChildRoutes = [{
7055
7083
  },
7056
7084
  {
7057
7085
  path: "home",
7058
- loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-zMo-VP1V.mjs').then(c => c.CideLytHomeWrapperComponent),
7086
+ loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-35VCCHPu.mjs').then(c => c.CideLytHomeWrapperComponent),
7059
7087
  canActivate: [authGuard],
7060
7088
  data: {
7061
7089
  sypg_page_code: "cide_lyt_home" // Used by RequestService to fetch tab properties
@@ -7063,7 +7091,7 @@ const layoutControlPannelChildRoutes = [{
7063
7091
  },
7064
7092
  {
7065
7093
  path: "dashboard-manager",
7066
- loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-DjW9OfwB.mjs').then(c => c.DashboardManagerComponent),
7094
+ loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-DRi08LTz.mjs').then(c => c.DashboardManagerComponent),
7067
7095
  canActivate: [authGuard],
7068
7096
  data: {
7069
7097
  sypg_page_code: "cide_lyt_dashboard_manager"
@@ -8887,4 +8915,4 @@ var floatingEntitySelection_component = /*#__PURE__*/Object.freeze({
8887
8915
  */
8888
8916
 
8889
8917
  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 };
8890
- //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-BCJjrfC0.mjs.map
8918
+ //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-uA8lWEih.mjs.map