cloud-ide-layout 1.0.8 → 1.0.10

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 (83) hide show
  1. package/README.md +34 -448
  2. package/fesm2022/{cloud-ide-layout-cloud-ide-layout-D3xzVSNA.mjs → cloud-ide-layout-cloud-ide-layout-DLceZY3Y.mjs} +335 -343
  3. package/fesm2022/{cloud-ide-layout-cloud-ide-layout-D3xzVSNA.mjs.map → cloud-ide-layout-cloud-ide-layout-DLceZY3Y.mjs.map} +1 -1
  4. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BSUFE_o2.mjs → cloud-ide-layout-drawer-theme.component-Bn5--C_Q.mjs} +69 -67
  5. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BSUFE_o2.mjs.map → cloud-ide-layout-drawer-theme.component-Bn5--C_Q.mjs.map} +1 -1
  6. package/fesm2022/{cloud-ide-layout-home-wrapper.component-Dr4MO4MB.mjs → cloud-ide-layout-home-wrapper.component-Bo-4LNLx.mjs} +56 -51
  7. package/fesm2022/{cloud-ide-layout-home-wrapper.component-Dr4MO4MB.mjs.map → cloud-ide-layout-home-wrapper.component-Bo-4LNLx.mjs.map} +1 -1
  8. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-BWx03JYS.mjs → cloud-ide-layout-sidedrawer-notes.component-BmadMzdl.mjs} +28 -32
  9. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-BWx03JYS.mjs.map → cloud-ide-layout-sidedrawer-notes.component-BmadMzdl.mjs.map} +1 -1
  10. package/fesm2022/cloud-ide-layout.mjs +1 -1
  11. package/index.d.ts +579 -3
  12. package/package.json +4 -6
  13. package/esm2022/cloud-ide-layout.mjs +0 -5
  14. package/esm2022/lib/cloud-ide-layout.component.mjs +0 -16
  15. package/esm2022/lib/cloud-ide-layout.routes.mjs +0 -28
  16. package/esm2022/lib/cloud-ide-layout.service.mjs +0 -14
  17. package/esm2022/lib/layout/console/console-wrapper/console-wrapper.component.mjs +0 -11
  18. package/esm2022/lib/layout/console/console.service.mjs +0 -28
  19. package/esm2022/lib/layout/footer/footer-wrapper/footer-wrapper.component.mjs +0 -20
  20. package/esm2022/lib/layout/footer/footer.service.mjs +0 -28
  21. package/esm2022/lib/layout/header/header-wrapper/header-wrapper.component.mjs +0 -84
  22. package/esm2022/lib/layout/header/header.service.mjs +0 -28
  23. package/esm2022/lib/layout/home/home-wrapper/home-wrapper.component.mjs +0 -198
  24. package/esm2022/lib/layout/layout/layout-wrapper/layout-wrapper.component.mjs +0 -28
  25. package/esm2022/lib/layout/request/request-wrapper/request-wrapper.component.mjs +0 -60
  26. package/esm2022/lib/layout/request/request.service.mjs +0 -235
  27. package/esm2022/lib/layout/request/tab-content/tab-content.component.mjs +0 -84
  28. package/esm2022/lib/layout/shared/shared-wrapper/shared-wrapper.component.mjs +0 -49
  29. package/esm2022/lib/layout/shared/shared.service.mjs +0 -508
  30. package/esm2022/lib/layout/sidebar/sidebar-wrapper/sidebar-wrapper.component.mjs +0 -488
  31. package/esm2022/lib/layout/sidebar/sidebar.service.mjs +0 -35
  32. package/esm2022/lib/layout/sidedrawer/cide-lyt-drawer-base.class.mjs +0 -40
  33. package/esm2022/lib/layout/sidedrawer/drawer-theme/drawer-theme.component.mjs +0 -296
  34. package/esm2022/lib/layout/sidedrawer/sidedrawer-notes/sidedrawer-notes.component.mjs +0 -175
  35. package/esm2022/lib/layout/sidedrawer/sidedrawer-notes/sidedrawer-notes.service.mjs +0 -51
  36. package/esm2022/lib/layout/sidedrawer/sidedrawer-wrapper/sidedrawer-wrapper.component.mjs +0 -257
  37. package/esm2022/lib/layout/sidedrawer/sidedrawer.service.mjs +0 -70
  38. package/esm2022/lib/services/app-state/app-state-helper.service.mjs +0 -222
  39. package/esm2022/lib/services/app-state/app-state.service.mjs +0 -256
  40. package/esm2022/lib/services/app-state/index.mjs +0 -3
  41. package/esm2022/lib/services/cache-manager/cache-manager.service.mjs +0 -112
  42. package/esm2022/lib/services/file-manager/file-manager.service.mjs +0 -21
  43. package/esm2022/lib/services/tab-state.service.mjs +0 -128
  44. package/esm2022/lib/services/theme/theme.service.mjs +0 -151
  45. package/esm2022/lib/services/user-status/user-status.service.mjs +0 -135
  46. package/esm2022/lib/utils/custom-route-reuse-strategy.mjs +0 -61
  47. package/esm2022/lib/utils/index.mjs +0 -2
  48. package/esm2022/public-api.mjs +0 -18
  49. package/lib/cloud-ide-layout.component.d.ts +0 -5
  50. package/lib/cloud-ide-layout.routes.d.ts +0 -3
  51. package/lib/cloud-ide-layout.service.d.ts +0 -6
  52. package/lib/layout/console/console-wrapper/console-wrapper.component.d.ts +0 -5
  53. package/lib/layout/console/console.service.d.ts +0 -9
  54. package/lib/layout/footer/footer-wrapper/footer-wrapper.component.d.ts +0 -9
  55. package/lib/layout/footer/footer.service.d.ts +0 -9
  56. package/lib/layout/header/header-wrapper/header-wrapper.component.d.ts +0 -25
  57. package/lib/layout/header/header.service.d.ts +0 -9
  58. package/lib/layout/home/home-wrapper/home-wrapper.component.d.ts +0 -94
  59. package/lib/layout/layout/layout-wrapper/layout-wrapper.component.d.ts +0 -5
  60. package/lib/layout/request/request-wrapper/request-wrapper.component.d.ts +0 -14
  61. package/lib/layout/request/request.service.d.ts +0 -60
  62. package/lib/layout/request/tab-content/tab-content.component.d.ts +0 -19
  63. package/lib/layout/shared/shared-wrapper/shared-wrapper.component.d.ts +0 -17
  64. package/lib/layout/shared/shared.service.d.ts +0 -114
  65. package/lib/layout/sidebar/sidebar-wrapper/sidebar-wrapper.component.d.ts +0 -140
  66. package/lib/layout/sidebar/sidebar.service.d.ts +0 -12
  67. package/lib/layout/sidedrawer/cide-lyt-drawer-base.class.d.ts +0 -16
  68. package/lib/layout/sidedrawer/drawer-theme/drawer-theme.component.d.ts +0 -71
  69. package/lib/layout/sidedrawer/sidedrawer-notes/sidedrawer-notes.component.d.ts +0 -48
  70. package/lib/layout/sidedrawer/sidedrawer-notes/sidedrawer-notes.service.d.ts +0 -13
  71. package/lib/layout/sidedrawer/sidedrawer-wrapper/sidedrawer-wrapper.component.d.ts +0 -30
  72. package/lib/layout/sidedrawer/sidedrawer.service.d.ts +0 -30
  73. package/lib/services/app-state/app-state-helper.service.d.ts +0 -150
  74. package/lib/services/app-state/app-state.service.d.ts +0 -85
  75. package/lib/services/app-state/index.d.ts +0 -3
  76. package/lib/services/cache-manager/cache-manager.service.d.ts +0 -64
  77. package/lib/services/file-manager/file-manager.service.d.ts +0 -9
  78. package/lib/services/tab-state.service.d.ts +0 -79
  79. package/lib/services/theme/theme.service.d.ts +0 -71
  80. package/lib/services/user-status/user-status.service.d.ts +0 -57
  81. package/lib/utils/custom-route-reuse-strategy.d.ts +0 -15
  82. package/lib/utils/index.d.ts +0 -1
  83. package/public-api.d.ts +0 -12
@@ -1,61 +0,0 @@
1
- /**
2
- * A custom route reuse strategy that allows storing and retrieving routes
3
- * to persist component state, especially for tabbed navigation.
4
- */
5
- export class CustomRouteReuseStrategy {
6
- constructor() {
7
- this.storedRoutes = {};
8
- }
9
- // Generates a unique key for a route.
10
- // For routes marked with 'reuseTab', this key includes sorted query parameters
11
- // to ensure distinct states for tabs differing by query params.
12
- getPathKey(route) {
13
- let path = route.pathFromRoot
14
- .map(r => r.url.map(segment => segment.path).join('/'))
15
- .filter(p => p.length > 0)
16
- .join('/');
17
- // If the route is marked for tab reuse and has query parameters,
18
- // append them to the key in a sorted, consistent manner.
19
- if (route.data && route.data['reuseTab'] && route.queryParamMap.keys.length > 0) {
20
- const queryParams = route.queryParamMap.keys
21
- .sort() // Ensure consistent order of query parameters
22
- .map(key => `${key}=${route.queryParamMap.get(key)}`)
23
- .join('&');
24
- path += '?' + queryParams;
25
- }
26
- return path;
27
- }
28
- // Determines if this route (and its subtree) should be detached to be reused later.
29
- shouldDetach(route) {
30
- return !!(route.data && route.data['reuseTab']);
31
- }
32
- // Stores the detached route.
33
- store(route, handle) {
34
- const pathKey = this.getPathKey(route);
35
- if (handle && route.data && route.data['reuseTab'] && pathKey) {
36
- this.storedRoutes[pathKey] = handle;
37
- }
38
- }
39
- // Determines if this route (and its subtree) should be reattached.
40
- shouldAttach(route) {
41
- const pathKey = this.getPathKey(route);
42
- return !!pathKey && !!this.storedRoutes[pathKey];
43
- }
44
- // Retrieves the previously stored route.
45
- retrieve(route) {
46
- const pathKey = this.getPathKey(route);
47
- if (!pathKey || !this.storedRoutes[pathKey]) {
48
- return null;
49
- }
50
- return this.storedRoutes[pathKey];
51
- }
52
- // Determines if a route should be reused.
53
- shouldReuseRoute(future, curr) {
54
- return future.routeConfig === curr.routeConfig;
55
- }
56
- // Clears a stored route, typically when a tab is closed.
57
- clearStoredRoute(pathKey) {
58
- delete this.storedRoutes[pathKey];
59
- }
60
- }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJvdXRlLXJldXNlLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xvdWQtaWRlLWxheW91dC9zcmMvbGliL3V0aWxzL2N1c3RvbS1yb3V0ZS1yZXVzZS1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQXJDO1FBQ1UsaUJBQVksR0FBMkMsRUFBRSxDQUFDO0lBNERwRSxDQUFDO0lBMURDLHNDQUFzQztJQUN0QywrRUFBK0U7SUFDL0UsZ0VBQWdFO0lBQ3hELFVBQVUsQ0FBQyxLQUE2QjtRQUM5QyxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWTthQUMxQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdEQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7YUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWIsaUVBQWlFO1FBQ2pFLHlEQUF5RDtRQUN6RCxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEYsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJO2lCQUN6QyxJQUFJLEVBQUUsQ0FBQyw4Q0FBOEM7aUJBQ3JELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7aUJBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNiLElBQUksSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxvRkFBb0Y7SUFDcEYsWUFBWSxDQUFDLEtBQTZCO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixLQUFLLENBQUMsS0FBNkIsRUFBRSxNQUFrQztRQUNyRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM5RCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxZQUFZLENBQUMsS0FBNkI7UUFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELHlDQUF5QztJQUN6QyxRQUFRLENBQUMsS0FBNkI7UUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzVDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsMENBQTBDO0lBQzFDLGdCQUFnQixDQUFDLE1BQThCLEVBQUUsSUFBNEI7UUFDM0UsT0FBTyxNQUFNLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDakQsQ0FBQztJQUVELHlEQUF5RDtJQUNsRCxnQkFBZ0IsQ0FBQyxPQUFlO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBEZXRhY2hlZFJvdXRlSGFuZGxlLCBSb3V0ZVJldXNlU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuLyoqXHJcbiAqIEEgY3VzdG9tIHJvdXRlIHJldXNlIHN0cmF0ZWd5IHRoYXQgYWxsb3dzIHN0b3JpbmcgYW5kIHJldHJpZXZpbmcgcm91dGVzXHJcbiAqIHRvIHBlcnNpc3QgY29tcG9uZW50IHN0YXRlLCBlc3BlY2lhbGx5IGZvciB0YWJiZWQgbmF2aWdhdGlvbi5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21Sb3V0ZVJldXNlU3RyYXRlZ3kgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xyXG4gIHByaXZhdGUgc3RvcmVkUm91dGVzOiB7IFtrZXk6IHN0cmluZ106IERldGFjaGVkUm91dGVIYW5kbGUgfSA9IHt9O1xyXG5cclxuICAvLyBHZW5lcmF0ZXMgYSB1bmlxdWUga2V5IGZvciBhIHJvdXRlLlxyXG4gIC8vIEZvciByb3V0ZXMgbWFya2VkIHdpdGggJ3JldXNlVGFiJywgdGhpcyBrZXkgaW5jbHVkZXMgc29ydGVkIHF1ZXJ5IHBhcmFtZXRlcnNcclxuICAvLyB0byBlbnN1cmUgZGlzdGluY3Qgc3RhdGVzIGZvciB0YWJzIGRpZmZlcmluZyBieSBxdWVyeSBwYXJhbXMuXHJcbiAgcHJpdmF0ZSBnZXRQYXRoS2V5KHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogc3RyaW5nIHtcclxuICAgIGxldCBwYXRoID0gcm91dGUucGF0aEZyb21Sb290XHJcbiAgICAgIC5tYXAociA9PiByLnVybC5tYXAoc2VnbWVudCA9PiBzZWdtZW50LnBhdGgpLmpvaW4oJy8nKSlcclxuICAgICAgLmZpbHRlcihwID0+IHAubGVuZ3RoID4gMClcclxuICAgICAgLmpvaW4oJy8nKTtcclxuXHJcbiAgICAvLyBJZiB0aGUgcm91dGUgaXMgbWFya2VkIGZvciB0YWIgcmV1c2UgYW5kIGhhcyBxdWVyeSBwYXJhbWV0ZXJzLFxyXG4gICAgLy8gYXBwZW5kIHRoZW0gdG8gdGhlIGtleSBpbiBhIHNvcnRlZCwgY29uc2lzdGVudCBtYW5uZXIuXHJcbiAgICBpZiAocm91dGUuZGF0YSAmJiByb3V0ZS5kYXRhWydyZXVzZVRhYiddICYmIHJvdXRlLnF1ZXJ5UGFyYW1NYXAua2V5cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gcm91dGUucXVlcnlQYXJhbU1hcC5rZXlzXHJcbiAgICAgICAgLnNvcnQoKSAvLyBFbnN1cmUgY29uc2lzdGVudCBvcmRlciBvZiBxdWVyeSBwYXJhbWV0ZXJzXHJcbiAgICAgICAgLm1hcChrZXkgPT4gYCR7a2V5fT0ke3JvdXRlLnF1ZXJ5UGFyYW1NYXAuZ2V0KGtleSl9YClcclxuICAgICAgICAuam9pbignJicpO1xyXG4gICAgICBwYXRoICs9ICc/JyArIHF1ZXJ5UGFyYW1zO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhdGg7XHJcbiAgfVxyXG5cclxuICAvLyBEZXRlcm1pbmVzIGlmIHRoaXMgcm91dGUgKGFuZCBpdHMgc3VidHJlZSkgc2hvdWxkIGJlIGRldGFjaGVkIHRvIGJlIHJldXNlZCBsYXRlci5cclxuICBzaG91bGREZXRhY2gocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIShyb3V0ZS5kYXRhICYmIHJvdXRlLmRhdGFbJ3JldXNlVGFiJ10pO1xyXG4gIH1cclxuXHJcbiAgLy8gU3RvcmVzIHRoZSBkZXRhY2hlZCByb3V0ZS5cclxuICBzdG9yZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgaGFuZGxlOiBEZXRhY2hlZFJvdXRlSGFuZGxlIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGF0aEtleSA9IHRoaXMuZ2V0UGF0aEtleShyb3V0ZSk7XHJcbiAgICBpZiAoaGFuZGxlICYmIHJvdXRlLmRhdGEgJiYgcm91dGUuZGF0YVsncmV1c2VUYWInXSAmJiBwYXRoS2V5KSB7XHJcbiAgICAgIHRoaXMuc3RvcmVkUm91dGVzW3BhdGhLZXldID0gaGFuZGxlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRGV0ZXJtaW5lcyBpZiB0aGlzIHJvdXRlIChhbmQgaXRzIHN1YnRyZWUpIHNob3VsZCBiZSByZWF0dGFjaGVkLlxyXG4gIHNob3VsZEF0dGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGF0aEtleSA9IHRoaXMuZ2V0UGF0aEtleShyb3V0ZSk7XHJcbiAgICByZXR1cm4gISFwYXRoS2V5ICYmICEhdGhpcy5zdG9yZWRSb3V0ZXNbcGF0aEtleV07XHJcbiAgfVxyXG5cclxuICAvLyBSZXRyaWV2ZXMgdGhlIHByZXZpb3VzbHkgc3RvcmVkIHJvdXRlLlxyXG4gIHJldHJpZXZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogRGV0YWNoZWRSb3V0ZUhhbmRsZSB8IG51bGwge1xyXG4gICAgY29uc3QgcGF0aEtleSA9IHRoaXMuZ2V0UGF0aEtleShyb3V0ZSk7XHJcbiAgICBpZiAoIXBhdGhLZXkgfHwgIXRoaXMuc3RvcmVkUm91dGVzW3BhdGhLZXldKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkUm91dGVzW3BhdGhLZXldO1xyXG4gIH1cclxuXHJcbiAgLy8gRGV0ZXJtaW5lcyBpZiBhIHJvdXRlIHNob3VsZCBiZSByZXVzZWQuXHJcbiAgc2hvdWxkUmV1c2VSb3V0ZShmdXR1cmU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnI6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmdXR1cmUucm91dGVDb25maWcgPT09IGN1cnIucm91dGVDb25maWc7XHJcbiAgfVxyXG5cclxuICAvLyBDbGVhcnMgYSBzdG9yZWQgcm91dGUsIHR5cGljYWxseSB3aGVuIGEgdGFiIGlzIGNsb3NlZC5cclxuICBwdWJsaWMgY2xlYXJTdG9yZWRSb3V0ZShwYXRoS2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGRlbGV0ZSB0aGlzLnN0b3JlZFJvdXRlc1twYXRoS2V5XTtcclxuICB9XHJcbn0iXX0=
@@ -1,2 +0,0 @@
1
- export * from './custom-route-reuse-strategy';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbG91ZC1pZGUtbGF5b3V0L3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3VzdG9tLXJvdXRlLXJldXNlLXN0cmF0ZWd5JzsiXX0=
@@ -1,18 +0,0 @@
1
- /*
2
- * Public API Surface of cloud-ide-layout
3
- */
4
- export * from './lib/cloud-ide-layout.service';
5
- export * from './lib/cloud-ide-layout.component';
6
- export * from './lib/layout/shared/shared-wrapper/shared-wrapper.component';
7
- export * from './lib/layout/shared/shared.service';
8
- export * from './lib/cloud-ide-layout.routes';
9
- export * from './lib/utils';
10
- export * from './lib/utils/custom-route-reuse-strategy';
11
- // App State Management
12
- export * from './lib/services/app-state/app-state.service';
13
- export * from './lib/services/app-state';
14
- export * from './lib/services/user-status/user-status.service';
15
- export * from './lib/services/theme/theme.service';
16
- // Modern Page Data Management (Legacy code removed)
17
- export * from './lib/services/cache-manager/cache-manager.service';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nsb3VkLWlkZS1sYXlvdXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCx1QkFBdUI7QUFDdkIsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxvREFBb0Q7QUFDcEQsY0FBYyxvREFBb0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY2xvdWQtaWRlLWxheW91dFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Nsb3VkLWlkZS1sYXlvdXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbG91ZC1pZGUtbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYXlvdXQvc2hhcmVkL3NoYXJlZC13cmFwcGVyL3NoYXJlZC13cmFwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYXlvdXQvc2hhcmVkL3NoYXJlZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Nsb3VkLWlkZS1sYXlvdXQucm91dGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2N1c3RvbS1yb3V0ZS1yZXVzZS1zdHJhdGVneSc7XG5cbi8vIEFwcCBTdGF0ZSBNYW5hZ2VtZW50XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hcHAtc3RhdGUvYXBwLXN0YXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXBwLXN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3VzZXItc3RhdHVzL3VzZXItc3RhdHVzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdGhlbWUvdGhlbWUuc2VydmljZSc7XG5cbi8vIE1vZGVybiBQYWdlIERhdGEgTWFuYWdlbWVudCAoTGVnYWN5IGNvZGUgcmVtb3ZlZClcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NhY2hlLW1hbmFnZXIvY2FjaGUtbWFuYWdlci5zZXJ2aWNlJzsiXX0=
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CloudIdeLayoutComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<CloudIdeLayoutComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<CloudIdeLayoutComponent, "cide-lyt-wrapper", never, {}, {}, never, never, true, never>;
5
- }
@@ -1,3 +0,0 @@
1
- import { Route } from '@angular/router';
2
- export declare const layoutRoutes: Route;
3
- export declare const layoutControlPannelChildRoutes: Route[];
@@ -1,6 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CloudIdeLayoutService {
3
- constructor();
4
- static ɵfac: i0.ɵɵFactoryDeclaration<CloudIdeLayoutService, never>;
5
- static ɵprov: i0.ɵɵInjectableDeclaration<CloudIdeLayoutService>;
6
- }
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CideLytConsoleWrapperComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytConsoleWrapperComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<CideLytConsoleWrapperComponent, "cide-lyt-console-wrapper", never, {}, {}, never, never, true, never>;
5
- }
@@ -1,9 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CideLytConsoleService {
3
- headerVisible: boolean;
4
- constructor();
5
- hideConsole(): void;
6
- showConsole(): void;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytConsoleService, never>;
8
- static ɵprov: i0.ɵɵInjectableDeclaration<CideLytConsoleService>;
9
- }
@@ -1,9 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CideLytFooterWrapperComponent {
3
- footerSetupData: {
4
- cide_lyt_footer_height: number;
5
- };
6
- constructor();
7
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytFooterWrapperComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<CideLytFooterWrapperComponent, "cide-lyt-footer-wrapper", never, {}, {}, never, never, true, never>;
9
- }
@@ -1,9 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CideLytFooterService {
3
- footerVisible: boolean;
4
- constructor();
5
- hideFooter(): void;
6
- showFooter(): void;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytFooterService, never>;
8
- static ɵprov: i0.ɵɵInjectableDeclaration<CideLytFooterService>;
9
- }
@@ -1,25 +0,0 @@
1
- import { AfterViewInit } from '@angular/core';
2
- import { fileManagerResponseData } from 'cloud-ide-lms-model';
3
- import { CideLytSharedWrapperComponent, CideLytSharedWrapperSetupParam } from '../../shared/shared-wrapper/shared-wrapper.component';
4
- import * as i0 from "@angular/core";
5
- export declare class CideLytHeaderWrapperComponent extends CideLytSharedWrapperComponent implements AfterViewInit {
6
- shared_wrapper_setup_param: Partial<CideLytSharedWrapperSetupParam>;
7
- protected syen_photo: Partial<fileManagerResponseData>;
8
- private headerService;
9
- private fileManagerService;
10
- private router;
11
- constructor();
12
- ngAfterViewInit(): void;
13
- /**
14
- * Handles logo click to navigate back to control panel home
15
- */
16
- onLogoClick(): void;
17
- /**
18
- * Updates the tooltip position based on mouse event
19
- * Similar to the sidebar tooltip positioning
20
- * @param event Mouse event from icon hover
21
- */
22
- updateTooltipPosition(event: MouseEvent): void;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytHeaderWrapperComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<CideLytHeaderWrapperComponent, "cide-lyt-header-wrapper", never, {}, {}, never, never, true, never>;
25
- }
@@ -1,9 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CideLytHeaderService {
3
- headerVisible: boolean;
4
- constructor();
5
- hideHeader(): void;
6
- showHeader(): void;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytHeaderService, never>;
8
- static ɵprov: i0.ɵɵInjectableDeclaration<CideLytHeaderService>;
9
- }
@@ -1,94 +0,0 @@
1
- import { CideLytSharedWrapperComponent, CideLytSharedWrapperSetupParam } from '../../shared/shared-wrapper/shared-wrapper.component';
2
- import { OnInit, ElementRef, AfterViewInit } from '@angular/core';
3
- import { SafeHtml } from '@angular/platform-browser';
4
- import { menuResponseData } from 'cloud-ide-lms-model';
5
- import { CideLytRequestService } from '../../request/request.service';
6
- import { AppStateHelperService } from '../../../services/app-state/app-state-helper.service';
7
- import * as i0 from "@angular/core";
8
- interface CardItem {
9
- text?: string;
10
- title?: string;
11
- subtext?: string;
12
- details?: string;
13
- subject?: string;
14
- grade?: string;
15
- color?: string;
16
- name?: string;
17
- officeHours?: string;
18
- messageLink?: string;
19
- appointmentLink?: string;
20
- professor?: string;
21
- colorTheme?: string;
22
- date?: {
23
- month: string;
24
- day: string;
25
- };
26
- themeColor?: string;
27
- topic?: string;
28
- forum?: string;
29
- lastPost?: string;
30
- iconSVG?: string;
31
- safeIconSVG?: SafeHtml;
32
- }
33
- interface CardStat {
34
- label: string;
35
- value: string;
36
- gradient?: string;
37
- valueClass?: string;
38
- }
39
- interface Card {
40
- id: string;
41
- title: string;
42
- type: string;
43
- colSpan: string;
44
- accentColor: string;
45
- urgentText?: string;
46
- insightTag?: string;
47
- items?: CardItem[];
48
- stats?: CardStat[];
49
- progress?: string;
50
- description?: string;
51
- link?: {
52
- text: string;
53
- href: string;
54
- };
55
- }
56
- interface ModulesSectionConfig {
57
- title: string;
58
- viewAllLinkText: string;
59
- viewAllLinkHref: string;
60
- showViewAllLink: boolean;
61
- }
62
- export declare class CideLytHomeWrapperComponent extends CideLytSharedWrapperComponent implements OnInit, AfterViewInit {
63
- private requestService;
64
- shared_wrapper_setup_param: Partial<CideLytSharedWrapperSetupParam>;
65
- private readonly sidebarService;
66
- private readonly sanitizer;
67
- private readonly renderer;
68
- private readonly cdr;
69
- protected appState: AppStateHelperService;
70
- private readonly router;
71
- private moduleStylePresets;
72
- constructor(requestService: CideLytRequestService);
73
- modulesContainerRef: ElementRef<HTMLDivElement>;
74
- scrollPrevModuleBtnRef: ElementRef<HTMLButtonElement>;
75
- scrollNextModuleBtnRef: ElementRef<HTMLButtonElement>;
76
- cardsContainerElRef: ElementRef<HTMLDivElement>;
77
- modulesSectionConfig: ModulesSectionConfig;
78
- modulesData: (menuResponseData & {
79
- accentColor?: string;
80
- pillCount?: number;
81
- })[];
82
- draggedItem: HTMLElement | null;
83
- placeholder: HTMLElement | null;
84
- ngOnInit(): void;
85
- openModule(module: menuResponseData): void;
86
- ngAfterViewInit(): void;
87
- private loadModules;
88
- cardsData: Card[];
89
- setupModuleScroller(): void;
90
- setupDragAndDrop(): void;
91
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytHomeWrapperComponent, never>;
92
- static ɵcmp: i0.ɵɵComponentDeclaration<CideLytHomeWrapperComponent, "cide-lyt-home-wrapper", never, {}, {}, never, never, true, never>;
93
- }
94
- export {};
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CideLytLayoutWrapperComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytLayoutWrapperComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<CideLytLayoutWrapperComponent, "cide-lyt-layout-wrapper", never, {}, {}, never, never, true, never>;
5
- }
@@ -1,14 +0,0 @@
1
- import { ElementRef, QueryList, AfterViewInit } from '@angular/core';
2
- import { CideLytRequestService } from '../request.service';
3
- import * as i0 from "@angular/core";
4
- export declare class CideLytRequestWrapperComponent implements AfterViewInit {
5
- requestService: CideLytRequestService;
6
- requestItemElements: QueryList<ElementRef>;
7
- requestItems: import("@angular/core").Signal<import("../request.service").TabInfo[]>;
8
- constructor(requestService: CideLytRequestService);
9
- ngAfterViewInit(): void;
10
- private applyAnimations;
11
- applyFlickerEffect(event: Event): void;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytRequestWrapperComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<CideLytRequestWrapperComponent, "cide-lyt-request-wrapper", never, {}, {}, never, never, true, never>;
14
- }
@@ -1,60 +0,0 @@
1
- import { WritableSignal, Signal } from '@angular/core';
2
- import { ISytmLayout } from 'cloud-ide-lms-model';
3
- import * as i0 from "@angular/core";
4
- export interface TabInfo {
5
- id: string;
6
- title: string;
7
- route: string;
8
- params?: Record<string, unknown>;
9
- active: boolean;
10
- sytm_page_id_sypg: string;
11
- themeId: string;
12
- loadedComponent?: unknown;
13
- scrollTop?: number;
14
- scrollLeft?: number;
15
- layout?: ISytmLayout;
16
- }
17
- interface PageDataResponse {
18
- data?: {
19
- page?: {
20
- sypg_title?: string;
21
- };
22
- };
23
- }
24
- export declare class CideLytRequestService {
25
- requestVisible: boolean;
26
- tabsSignal: WritableSignal<TabInfo[]>;
27
- activeTabIdSignal: WritableSignal<string | null>;
28
- tabs: Signal<TabInfo[]>;
29
- activeTabId: Signal<string | null>;
30
- activeTab: Signal<TabInfo | undefined>;
31
- private router;
32
- private routeReuseStrategy;
33
- private tabStateService;
34
- private sidedrawerService;
35
- private sharedService;
36
- constructor();
37
- /**
38
- * Handle request visibility changes from shared service
39
- */
40
- private handleRequestVisibility;
41
- /**
42
- * Handle sidebar sync when tab becomes active
43
- */
44
- private handleSidebarSync;
45
- /**
46
- * Handle route-based tab management - called by shared service
47
- * This method checks for existing tabs and creates/activates as needed
48
- */
49
- handleRouteBasedTabManagement(currentRoutePath: string, queryParams: Record<string, unknown>, layout: ISytmLayout, pageData: PageDataResponse, pageCode: string): void;
50
- addTab(title: string, route: string, params?: Record<string, unknown>, layout?: ISytmLayout): string;
51
- activateTab(tabId: string): void;
52
- closeTab(id: string): void;
53
- hideRequest(): void;
54
- showRequest(): void;
55
- private generateId;
56
- updateTabScrollPosition(tabId: string, scrollTop: number, scrollLeft: number): void;
57
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytRequestService, never>;
58
- static ɵprov: i0.ɵɵInjectableDeclaration<CideLytRequestService>;
59
- }
60
- export {};
@@ -1,19 +0,0 @@
1
- import { ElementRef, AfterViewInit, ChangeDetectorRef } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import { CideLytRequestService } from '../request.service';
4
- import * as i0 from "@angular/core";
5
- export declare class TabContentComponent implements AfterViewInit {
6
- private requestService;
7
- private router;
8
- private cdr;
9
- scrollContainerRef: ElementRef<HTMLDivElement>;
10
- private currentActiveTabId;
11
- private isRestoringScroll;
12
- constructor(requestService: CideLytRequestService, router: Router, // Inject Router to listen for NavigationEnd
13
- cdr: ChangeDetectorRef);
14
- ngAfterViewInit(): void;
15
- onScroll(): void;
16
- private restoreScrollPosition;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<TabContentComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<TabContentComponent, "cide-lyt-tab-content", never, {}, {}, never, never, true, never>;
19
- }
@@ -1,17 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { designConfigResponseData } from 'cloud-ide-lms-model';
3
- import { AppStateHelperService } from '../../../services/app-state/app-state-helper.service';
4
- import * as i0 from "@angular/core";
5
- export declare class CideLytSharedWrapperComponent implements OnInit {
6
- shared_wrapper_setup_param: Partial<CideLytSharedWrapperSetupParam>;
7
- page_data: designConfigResponseData;
8
- private sharedService;
9
- private sidedrawerService;
10
- protected appState: AppStateHelperService;
11
- ngOnInit(): void;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytSharedWrapperComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<CideLytSharedWrapperComponent, "cide-lyt-shared-wrapper", never, {}, {}, never, never, true, never>;
14
- }
15
- export interface CideLytSharedWrapperSetupParam {
16
- sypg_page_code: string;
17
- }
@@ -1,114 +0,0 @@
1
- import { designConfigControllerResponse, ISytmLayout, MDesignConfig } from 'cloud-ide-lms-model';
2
- import { Observable } from 'rxjs';
3
- import { Title } from '@angular/platform-browser';
4
- import { CideLytSharedWrapperSetupParam } from './shared-wrapper/shared-wrapper.component';
5
- import * as i0 from "@angular/core";
6
- interface CachedPageData {
7
- request: Partial<CideLytSharedWrapperSetupParam>;
8
- response: designConfigControllerResponse;
9
- timestamp: number;
10
- ttl: number;
11
- }
12
- export declare class CideLytSharedService {
13
- private pageDataCacheSignal;
14
- private loadingStateSignal;
15
- readonly pageDataCache: import("@angular/core").Signal<{
16
- [key: string]: CachedPageData;
17
- }>;
18
- readonly loadingStates: import("@angular/core").Signal<{
19
- [key: string]: boolean;
20
- }>;
21
- readonly cacheInfo: import("@angular/core").Signal<{
22
- totalCached: number;
23
- validCached: number;
24
- expiredCached: number;
25
- }>;
26
- private inflightRequests;
27
- private readonly DEFAULT_CACHE_TTL;
28
- private elementService;
29
- private http;
30
- titleService: Title;
31
- private sidebarService;
32
- private headerService;
33
- private footerService;
34
- private consoleService;
35
- private sidedrawerService;
36
- private router;
37
- private appState;
38
- private routeSubscription?;
39
- private pageDataSubscription?;
40
- private tabManagementCallback?;
41
- private requestVisibilityCallback?;
42
- constructor();
43
- /**
44
- * Register tab management callback from request service
45
- * This allows shared service to call request service without circular dependency
46
- */
47
- registerTabManagement(callback: (currentRoutePath: string, queryParams: Record<string, unknown>, layout: ISytmLayout, pageData: designConfigControllerResponse, pageCode: string) => void): void;
48
- /**
49
- * Register request visibility callback from request service
50
- * This allows shared service to control request wrapper visibility
51
- */
52
- registerRequestVisibility(callback: (show: boolean) => void): void;
53
- /**
54
- * Enhanced loadPageData with caching and deduplication
55
- * @param body - Request payload
56
- * @param forceRefresh - Force API call even if cached data exists
57
- * @param customTTL - Custom cache TTL in milliseconds
58
- */
59
- loadPageData(body: MDesignConfig, forceRefresh?: boolean, customTTL?: number): Observable<designConfigControllerResponse>;
60
- /**
61
- * Consolidated method to load and process page data
62
- * This replaces the separate calls in request service and shared wrapper
63
- */
64
- loadAndProcessPageData(body: MDesignConfig, options?: {
65
- forceRefresh?: boolean;
66
- customTTL?: number;
67
- setTitle?: boolean;
68
- setSidebarContext?: boolean;
69
- updateLayout?: boolean;
70
- }): Observable<designConfigControllerResponse>;
71
- /**
72
- * Get cached page data without making API call
73
- */
74
- getCachedPageData(pageCode: string): designConfigControllerResponse | null;
75
- /**
76
- * Check if loading for a specific page code
77
- */
78
- isLoading(pageCode: string): boolean;
79
- /**
80
- * Invalidate cache for specific page code
81
- */
82
- invalidateCache(pageCode: string): void;
83
- /**
84
- * Clear all cached data
85
- */
86
- clearAllCache(): void;
87
- /**
88
- * Preload page data for better performance
89
- */
90
- preloadPageData(pageCodes: string[]): void;
91
- private hasValidCache;
92
- private isCacheValid;
93
- private cachePageData;
94
- private setLoadingState;
95
- private cleanExpiredCache;
96
- setPageData(page_data_response: designConfigControllerResponse, page_data_payload: Partial<CideLytSharedWrapperSetupParam>): void;
97
- /**
98
- * Handle route changes - moved from request service for better architecture
99
- * This method loads page data and calls request service to manage tabs
100
- */
101
- private handleRouteChange;
102
- /**
103
- * Handle tab request by calling request service
104
- */
105
- private handleTabRequest;
106
- /**
107
- * Sync the active menu in the sidebar based on the loaded page data.
108
- * This ensures the correct module is highlighted in the sidebar.
109
- */
110
- private syncSidebarActiveMenu;
111
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytSharedService, never>;
112
- static ɵprov: i0.ɵɵInjectableDeclaration<CideLytSharedService>;
113
- }
114
- export {};
@@ -1,140 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { menuResponseData } from 'cloud-ide-lms-model';
3
- import { AppStateHelperService } from '../../../services/app-state';
4
- import { CideLytUserStatusService, type UserStatus } from '../../../services/user-status/user-status.service';
5
- import * as i0 from "@angular/core";
6
- export declare class CideLytSidebarWrapperComponent implements OnInit {
7
- sidebarSetupData: {
8
- cide_lyt_sidebar_width: number;
9
- };
10
- isCollapsed: boolean;
11
- darkMode: boolean;
12
- showUserMenu: boolean;
13
- showOptions: boolean;
14
- showNotifications: boolean;
15
- showNotificationsPanel: boolean;
16
- searchText: string;
17
- isExpanded: boolean;
18
- searchResults: {
19
- icon: string;
20
- title: string;
21
- }[];
22
- collapsedSections: {
23
- [key: string]: boolean;
24
- };
25
- expandedSections: {
26
- [key: string]: boolean;
27
- };
28
- animateSections: boolean[];
29
- lastScrollTop: number;
30
- scrolledPast: boolean[];
31
- core_system_menu: menuResponseData[];
32
- core_system_module: menuResponseData[];
33
- activeModuleId: string;
34
- hoverModuleId: string;
35
- animateItems: boolean;
36
- moduleLoadComplete: boolean;
37
- menuLoadComplete: boolean;
38
- loadingMenus: boolean;
39
- get selectedModuleMenus(): menuResponseData[];
40
- /**
41
- * Gets the CSS classes for the user status indicator
42
- * Uses the injected user status service
43
- */
44
- getUserStatusClass(): string;
45
- /**
46
- * Gets the tooltip text for the user status
47
- * Uses the injected user status service
48
- */
49
- getUserStatusText(): string;
50
- /**
51
- * Sets the user status (delegates to service)
52
- * @param status The new status to set
53
- * @param message Optional custom status message
54
- */
55
- setUserStatus(status: UserStatus, message?: string): void;
56
- /**
57
- * Gets the current user status data
58
- */
59
- get currentUserStatus(): import("../../../services/user-status/user-status.service").UserStatusData;
60
- /**
61
- * Gets the icon for the currently active module
62
- * @returns The icon name for the active module or a default icon
63
- */
64
- getActiveModuleIcon(): string;
65
- onMenuClick(menu: menuResponseData): void;
66
- /**
67
- * Toggle section expand/collapse state
68
- */
69
- toggleSection(sectionId: string): void;
70
- /**
71
- * Check if section is expanded
72
- */
73
- isSectionExpanded(sectionId: string): boolean;
74
- private sidebarService;
75
- private elementRef;
76
- appState: AppStateHelperService;
77
- private router;
78
- protected userStatusService: CideLytUserStatusService;
79
- constructor();
80
- ngOnInit(): void;
81
- /**
82
- * Load menus for a specific module
83
- * @param module The module to load menus for
84
- */
85
- loadMenusForModule(module: menuResponseData): void;
86
- toggleSidebar(): void;
87
- toggleUserMenu(): void;
88
- /**
89
- * Sets the active menu item with animation
90
- * @param moduleId The ID of the module to set as active
91
- */
92
- setActiveMenu(moduleId: string): void;
93
- /**
94
- * Sets the active menu item by index with animation
95
- * @param index The index of the menu item
96
- */
97
- setActiveMenuByIndex(index: number): void;
98
- /**
99
- * Public method to set active module by ID from external components
100
- * This is useful when you want to programmatically set the active module
101
- * @param moduleId The ID of the module to set as active
102
- * @returns boolean indicating if the module was found and set as active
103
- */
104
- setActiveModuleById(moduleId: string): boolean;
105
- /**
106
- * Public method to get the currently active module ID
107
- * @returns The ID of the currently active module, or empty string if none
108
- */
109
- getActiveModuleId(): string;
110
- /**
111
- * Tracks hover state for enhanced visual feedback
112
- * @param moduleId The ID of the hovered module, or empty string for none
113
- */
114
- onItemHover(moduleId: string): void;
115
- /**
116
- * Adds subtle animations when opening dropdown menus
117
- * @param menuId The ID of the menu element
118
- */
119
- animateMenuOpen(menuId: string): void;
120
- /**
121
- * Updates tooltip position for more accurate placement
122
- * @param event MouseEvent from hovering
123
- * @param tooltip The tooltip element
124
- */
125
- updateTooltipPosition(event: MouseEvent, tooltipIndex: number): void;
126
- toggleNotificationsPanel(): void;
127
- toggleTheme(): void;
128
- toggleOptions(): void;
129
- /**
130
- * Toggle old-style collapsed sections (for backwards compatibility)
131
- */
132
- toggleCollapsedSection(section: string): void;
133
- isSectionCollapsed(section: string): boolean;
134
- onSearch(): void;
135
- onScroll(event: Event): void;
136
- resetAnimations(): void;
137
- onDocumentClick(event: MouseEvent): void;
138
- static ɵfac: i0.ɵɵFactoryDeclaration<CideLytSidebarWrapperComponent, never>;
139
- static ɵcmp: i0.ɵɵComponentDeclaration<CideLytSidebarWrapperComponent, "cide-lyt-sidebar-wrapper", never, {}, {}, never, never, true, never>;
140
- }