cloud-ide-layout 1.0.178 → 1.0.179

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-Dmny5YH7.mjs → cloud-ide-layout-cloud-ide-layout-BlLjLM3N.mjs} +37 -28
  2. package/fesm2022/cloud-ide-layout-cloud-ide-layout-BlLjLM3N.mjs.map +1 -0
  3. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-VUHtS7Oq.mjs → cloud-ide-layout-dashboard-manager.component-DWxN9ReS.mjs} +2 -2
  4. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-VUHtS7Oq.mjs.map → cloud-ide-layout-dashboard-manager.component-DWxN9ReS.mjs.map} +1 -1
  5. package/fesm2022/{cloud-ide-layout-drawer-theme.component-B08bRsuV.mjs → cloud-ide-layout-drawer-theme.component-D4qmt25K.mjs} +2 -2
  6. package/fesm2022/{cloud-ide-layout-drawer-theme.component-B08bRsuV.mjs.map → cloud-ide-layout-drawer-theme.component-D4qmt25K.mjs.map} +1 -1
  7. package/fesm2022/{cloud-ide-layout-home-wrapper.component-Cmq9HGPt.mjs → cloud-ide-layout-home-wrapper.component-DeR1T21C.mjs} +2 -2
  8. package/fesm2022/{cloud-ide-layout-home-wrapper.component-Cmq9HGPt.mjs.map → cloud-ide-layout-home-wrapper.component-DeR1T21C.mjs.map} +1 -1
  9. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-c7SI5coP.mjs → cloud-ide-layout-sidedrawer-notes.component-BuDfM6ms.mjs} +2 -2
  10. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-c7SI5coP.mjs.map → cloud-ide-layout-sidedrawer-notes.component-BuDfM6ms.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-Dmny5YH7.mjs.map +0 -1
@@ -4810,10 +4810,23 @@ class CustomRouteReuseStrategy {
4810
4810
  }
4811
4811
  }
4812
4812
  // Clears all stored routes (useful for cleanup)
4813
+ // This method ensures all component instances are destroyed and removed from DOM
4813
4814
  clearAllStoredRoutes() {
4814
- Object.keys(this.storedRoutes).forEach(pathKey => {
4815
+ const routeKeys = Object.keys(this.storedRoutes);
4816
+ console.log(`🧹 [RouteReuseStrategy] Clearing ${routeKeys.length} stored route(s) to remove components from DOM`);
4817
+ routeKeys.forEach(pathKey => {
4815
4818
  this.clearStoredRoute(pathKey);
4816
4819
  });
4820
+ // Double-check that all routes are cleared
4821
+ const remainingRoutes = Object.keys(this.storedRoutes).length;
4822
+ if (remainingRoutes > 0) {
4823
+ console.warn(`⚠️ [RouteReuseStrategy] ${remainingRoutes} route(s) still remain after clearing. Force clearing...`);
4824
+ // Force clear any remaining routes
4825
+ Object.keys(this.storedRoutes).forEach(pathKey => {
4826
+ delete this.storedRoutes[pathKey];
4827
+ });
4828
+ }
4829
+ console.log(`✅ [RouteReuseStrategy] All stored routes cleared. Components should be removed from DOM.`);
4817
4830
  }
4818
4831
  // Gets the count of stored routes (useful for debugging)
4819
4832
  getStoredRoutesCount() {
@@ -5165,7 +5178,8 @@ class CideLytRequestService {
5165
5178
  // Clear sidedrawer as no tabs are open
5166
5179
  this.sidedrawerService.updateDrawerItems(undefined);
5167
5180
  // Redirect to home screen when all tabs are closed
5168
- this.router.navigate(['/control-panel']);
5181
+ // Use replaceUrl to prevent back navigation to closed tabs and ensure clean state
5182
+ this.router.navigate(['/control-panel'], { replaceUrl: true });
5169
5183
  }
5170
5184
  this.tabsSignal.set(newTabs);
5171
5185
  // Request wrapper visibility is now controlled by layout configuration
@@ -5174,6 +5188,10 @@ class CideLytRequestService {
5174
5188
  /**
5175
5189
  * Close all tabs and navigate to home
5176
5190
  * This is used when entity changes to ensure all components are destroyed and refreshed
5191
+ * IMPORTANT: This method ensures all tab components are removed from DOM by:
5192
+ * 1. Clearing all stored routes from route reuse strategy (destroys component instances)
5193
+ * 2. Clearing all tabs from TabStateService
5194
+ * 3. Navigating to home to clear router outlet
5177
5195
  */
5178
5196
  closeAllTabs() {
5179
5197
  console.log('🧹 REQUEST SERVICE: Closing all tabs due to entity change');
@@ -5181,35 +5199,26 @@ class CideLytRequestService {
5181
5199
  // Close all floating containers first
5182
5200
  this.floatingContainerService.hideAll();
5183
5201
  console.log('🧹 REQUEST SERVICE: Closed all floating containers');
5184
- // Clear all tabs from TabStateService
5202
+ // Clear all tabs from TabStateService first
5185
5203
  currentTabs.forEach(tab => {
5186
5204
  this.tabStateService.removeTab(tab.id);
5187
- // Clear stored routes from route reuse strategy
5188
- if (this.routeReuseStrategy instanceof CustomRouteReuseStrategy) {
5189
- let pathKey = tab.route.startsWith('/') ? tab.route.substring(1) : tab.route;
5190
- if (tab.params && Object.keys(tab.params).length > 0) {
5191
- const queryParamsString = Object.keys(tab.params)
5192
- .sort()
5193
- .map(key => `${key}=${tab.params[key]}`)
5194
- .join('&');
5195
- pathKey += '?' + queryParamsString;
5196
- }
5197
- this.routeReuseStrategy.clearStoredRoute(pathKey);
5198
- // Also clear without query params
5199
- const pathKeyWithoutParams = tab.route.startsWith('/') ? tab.route.substring(1) : tab.route;
5200
- if (pathKeyWithoutParams !== pathKey) {
5201
- this.routeReuseStrategy.clearStoredRoute(pathKeyWithoutParams);
5202
- }
5203
- }
5204
5205
  });
5205
- // Clear all tabs
5206
+ // Clear ALL stored routes from route reuse strategy
5207
+ // This ensures all component instances are destroyed and removed from DOM
5208
+ if (this.routeReuseStrategy instanceof CustomRouteReuseStrategy) {
5209
+ console.log('🧹 REQUEST SERVICE: Clearing all stored routes to remove components from DOM');
5210
+ this.routeReuseStrategy.clearAllStoredRoutes();
5211
+ console.log('✅ REQUEST SERVICE: All stored routes cleared, components destroyed');
5212
+ }
5213
+ // Clear all tabs from signals
5206
5214
  this.tabsSignal.set([]);
5207
5215
  this.activeTabIdSignal.set(null);
5208
5216
  this.tabStateService.setActiveTab(null);
5209
5217
  // Clear sidedrawer
5210
5218
  this.sidedrawerService.updateDrawerItems(undefined);
5211
- // Navigate to home
5212
- this.router.navigate(['/control-panel']);
5219
+ // Navigate to home - this ensures router outlet is cleared and any remaining components are removed
5220
+ // Use replaceUrl to prevent back navigation to closed tabs
5221
+ this.router.navigate(['/control-panel'], { replaceUrl: true });
5213
5222
  console.log('✅ REQUEST SERVICE: All tabs and floating containers closed, navigated to home');
5214
5223
  }
5215
5224
  // Hide Request
@@ -5364,8 +5373,8 @@ class CideLytSidedrawerWrapperComponent {
5364
5373
  }
5365
5374
  ngOnInit() {
5366
5375
  // Initialize the component map (You'd likely populate this from a config or service)
5367
- this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-c7SI5coP.mjs').then(m => m.CideLytSidedrawerNotesComponent);
5368
- this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-B08bRsuV.mjs').then(m => m.CideLytDrawerThemeComponent);
5376
+ this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-BuDfM6ms.mjs').then(m => m.CideLytSidedrawerNotesComponent);
5377
+ this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-D4qmt25K.mjs').then(m => m.CideLytDrawerThemeComponent);
5369
5378
  }
5370
5379
  async loadComponent(configFor) {
5371
5380
  console.log('🔍 SIDEDRAWER - Loading component:', configFor, 'Current tab:', this.currentTabId);
@@ -7057,7 +7066,7 @@ const layoutControlPannelChildRoutes = [{
7057
7066
  },
7058
7067
  {
7059
7068
  path: "home",
7060
- loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-Cmq9HGPt.mjs').then(c => c.CideLytHomeWrapperComponent),
7069
+ loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-DeR1T21C.mjs').then(c => c.CideLytHomeWrapperComponent),
7061
7070
  canActivate: [authGuard],
7062
7071
  data: {
7063
7072
  sypg_page_code: "cide_lyt_home" // Used by RequestService to fetch tab properties
@@ -7065,7 +7074,7 @@ const layoutControlPannelChildRoutes = [{
7065
7074
  },
7066
7075
  {
7067
7076
  path: "dashboard-manager",
7068
- loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-VUHtS7Oq.mjs').then(c => c.DashboardManagerComponent),
7077
+ loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-DWxN9ReS.mjs').then(c => c.DashboardManagerComponent),
7069
7078
  canActivate: [authGuard],
7070
7079
  data: {
7071
7080
  sypg_page_code: "cide_lyt_dashboard_manager"
@@ -8889,4 +8898,4 @@ var floatingEntitySelection_component = /*#__PURE__*/Object.freeze({
8889
8898
  */
8890
8899
 
8891
8900
  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 };
8892
- //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-Dmny5YH7.mjs.map
8901
+ //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-BlLjLM3N.mjs.map