cloud-ide-layout 1.0.195 → 1.0.197
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.
- package/fesm2022/{cloud-ide-layout-cloud-ide-layout-Bg2j0XfT.mjs → cloud-ide-layout-cloud-ide-layout-BR5F10rp.mjs} +38 -5
- package/fesm2022/cloud-ide-layout-cloud-ide-layout-BR5F10rp.mjs.map +1 -0
- package/fesm2022/{cloud-ide-layout-dashboard-manager.component-DP7G62qH.mjs → cloud-ide-layout-dashboard-manager.component-Z6CVGUD0.mjs} +2 -2
- package/fesm2022/{cloud-ide-layout-dashboard-manager.component-DP7G62qH.mjs.map → cloud-ide-layout-dashboard-manager.component-Z6CVGUD0.mjs.map} +1 -1
- package/fesm2022/{cloud-ide-layout-drawer-theme.component--ZkrhILT.mjs → cloud-ide-layout-drawer-theme.component-BMtGe5Hj.mjs} +2 -2
- package/fesm2022/{cloud-ide-layout-drawer-theme.component--ZkrhILT.mjs.map → cloud-ide-layout-drawer-theme.component-BMtGe5Hj.mjs.map} +1 -1
- package/fesm2022/{cloud-ide-layout-home-wrapper.component-CY567Tsp.mjs → cloud-ide-layout-home-wrapper.component-yBUZQiWN.mjs} +2 -2
- package/fesm2022/{cloud-ide-layout-home-wrapper.component-CY567Tsp.mjs.map → cloud-ide-layout-home-wrapper.component-yBUZQiWN.mjs.map} +1 -1
- package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-HMa0q-AC.mjs → cloud-ide-layout-sidedrawer-notes.component-B6H0UYkd.mjs} +2 -2
- package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-HMa0q-AC.mjs.map → cloud-ide-layout-sidedrawer-notes.component-B6H0UYkd.mjs.map} +1 -1
- package/fesm2022/cloud-ide-layout.mjs +1 -1
- package/index.d.ts +2 -0
- package/package.json +1 -1
- package/fesm2022/cloud-ide-layout-cloud-ide-layout-Bg2j0XfT.mjs.map +0 -1
|
@@ -4675,6 +4675,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
4675
4675
|
*/
|
|
4676
4676
|
class CustomRouteReuseStrategy {
|
|
4677
4677
|
storedRoutes = {};
|
|
4678
|
+
routesToDestroy = new Set(); // Keys marked for destruction (do not store)
|
|
4678
4679
|
// Generates a unique key for a route.
|
|
4679
4680
|
// This key includes sorted query parameters to ensure distinct states for tabs differing by query params.
|
|
4680
4681
|
getPathKey(route) {
|
|
@@ -4713,11 +4714,29 @@ class CustomRouteReuseStrategy {
|
|
|
4713
4714
|
// IMPORTANT: We ALWAYS store routes to support tab-based navigation
|
|
4714
4715
|
store(route, handle) {
|
|
4715
4716
|
const pathKey = this.getPathKey(route);
|
|
4717
|
+
// If this route is marked for destruction, DO NOT store it, and destroy the handle immediately
|
|
4718
|
+
if (pathKey && this.routesToDestroy.has(pathKey)) {
|
|
4719
|
+
console.log(`🚫 [RouteReuseStrategy] Prevented storage of closed route: ${pathKey}`);
|
|
4720
|
+
this.routesToDestroy.delete(pathKey); // Cleanup
|
|
4721
|
+
if (handle) {
|
|
4722
|
+
// Destroy the handle immediately
|
|
4723
|
+
const componentRef = handle.componentRef || handle.component;
|
|
4724
|
+
if (componentRef && typeof componentRef.destroy === 'function') {
|
|
4725
|
+
componentRef.destroy();
|
|
4726
|
+
}
|
|
4727
|
+
}
|
|
4728
|
+
return;
|
|
4729
|
+
}
|
|
4716
4730
|
if (handle && pathKey) {
|
|
4717
4731
|
this.storedRoutes[pathKey] = handle;
|
|
4718
4732
|
console.log(`📦 [RouteReuseStrategy] Stored route: ${pathKey}`);
|
|
4719
4733
|
}
|
|
4720
4734
|
}
|
|
4735
|
+
// Mark a route key to NOT be stored (used when closing an active tab)
|
|
4736
|
+
doNotStore(pathKey) {
|
|
4737
|
+
this.routesToDestroy.add(pathKey);
|
|
4738
|
+
console.log(`💀 [RouteReuseStrategy] Marked route for destruction (will not store): ${pathKey}`);
|
|
4739
|
+
}
|
|
4721
4740
|
// Determines if this route (and its subtree) should be reattached.
|
|
4722
4741
|
shouldAttach(route) {
|
|
4723
4742
|
const pathKey = this.getPathKey(route);
|
|
@@ -5148,12 +5167,26 @@ class CideLytRequestService {
|
|
|
5148
5167
|
}
|
|
5149
5168
|
// Clear the stored route and destroy the component instance
|
|
5150
5169
|
this.routeReuseStrategy.clearStoredRoute(pathKey);
|
|
5170
|
+
// IMPORTANT: Mark this key to NOT be stored again (fixing active tab race condition)
|
|
5171
|
+
this.routeReuseStrategy.doNotStore(pathKey);
|
|
5151
5172
|
// Also try clearing without query params in case the route wasn't marked for reuse
|
|
5152
5173
|
// This ensures we catch all possible pathKey variations
|
|
5153
5174
|
const pathKeyWithoutParams = tabToClose.route.startsWith('/') ? tabToClose.route.substring(1) : tabToClose.route;
|
|
5154
5175
|
if (pathKeyWithoutParams !== pathKey) {
|
|
5155
5176
|
this.routeReuseStrategy.clearStoredRoute(pathKeyWithoutParams);
|
|
5156
5177
|
}
|
|
5178
|
+
// FUZZY MATCHING: Clear any stored route that starts with our route path
|
|
5179
|
+
const fuzzyMatches = allKeys.filter(key => key.startsWith(pathKey) || key.startsWith(pathKeyWithoutParams) ||
|
|
5180
|
+
pathKey.startsWith(key) || pathKeyWithoutParams.startsWith(key));
|
|
5181
|
+
if (fuzzyMatches.length > 0) {
|
|
5182
|
+
console.log('🎯 [CLOSE TAB] Found fuzzy matches:', fuzzyMatches);
|
|
5183
|
+
fuzzyMatches.forEach(key => {
|
|
5184
|
+
this.routeReuseStrategy.clearStoredRoute(key);
|
|
5185
|
+
this.routeReuseStrategy.doNotStore(key);
|
|
5186
|
+
});
|
|
5187
|
+
}
|
|
5188
|
+
const remainingKeys = this.routeReuseStrategy.getAllStoredRouteKeys();
|
|
5189
|
+
console.log('📋 [CLOSE TAB] Remaining after clearing:', remainingKeys);
|
|
5157
5190
|
// Force a route refresh to ensure clean component state
|
|
5158
5191
|
// This prevents old data from persisting when the same route is reopened
|
|
5159
5192
|
console.log(`🧹 REQUEST SERVICE: Cleared stored route for ${pathKey} and destroyed component instance`);
|
|
@@ -5406,8 +5439,8 @@ class CideLytSidedrawerWrapperComponent {
|
|
|
5406
5439
|
}
|
|
5407
5440
|
ngOnInit() {
|
|
5408
5441
|
// Initialize the component map (You'd likely populate this from a config or service)
|
|
5409
|
-
this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-
|
|
5410
|
-
this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component
|
|
5442
|
+
this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-B6H0UYkd.mjs').then(m => m.CideLytSidedrawerNotesComponent);
|
|
5443
|
+
this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-BMtGe5Hj.mjs').then(m => m.CideLytDrawerThemeComponent);
|
|
5411
5444
|
}
|
|
5412
5445
|
async loadComponent(configFor) {
|
|
5413
5446
|
console.log('🔍 SIDEDRAWER - Loading component:', configFor, 'Current tab:', this.currentTabId);
|
|
@@ -7099,7 +7132,7 @@ const layoutControlPannelChildRoutes = [{
|
|
|
7099
7132
|
},
|
|
7100
7133
|
{
|
|
7101
7134
|
path: "home",
|
|
7102
|
-
loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-
|
|
7135
|
+
loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-yBUZQiWN.mjs').then(c => c.CideLytHomeWrapperComponent),
|
|
7103
7136
|
canActivate: [authGuard],
|
|
7104
7137
|
data: {
|
|
7105
7138
|
sypg_page_code: "cide_lyt_home" // Used by RequestService to fetch tab properties
|
|
@@ -7107,7 +7140,7 @@ const layoutControlPannelChildRoutes = [{
|
|
|
7107
7140
|
},
|
|
7108
7141
|
{
|
|
7109
7142
|
path: "dashboard-manager",
|
|
7110
|
-
loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-
|
|
7143
|
+
loadComponent: () => import('./cloud-ide-layout-dashboard-manager.component-Z6CVGUD0.mjs').then(c => c.DashboardManagerComponent),
|
|
7111
7144
|
canActivate: [authGuard],
|
|
7112
7145
|
data: {
|
|
7113
7146
|
sypg_page_code: "cide_lyt_dashboard_manager"
|
|
@@ -8931,4 +8964,4 @@ var floatingEntitySelection_component = /*#__PURE__*/Object.freeze({
|
|
|
8931
8964
|
*/
|
|
8932
8965
|
|
|
8933
8966
|
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 };
|
|
8934
|
-
//# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-
|
|
8967
|
+
//# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-BR5F10rp.mjs.map
|