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
package/README.md CHANGED
@@ -1,477 +1,63 @@
1
- # Cloud IDE Layout Library
1
+ # CloudIdeLayout
2
2
 
3
- The Cloud IDE Layout library provides reusable layout components and services for CIDE-LMS applications. It includes responsive layouts, navigation components, and layout management utilities.
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.1.0.
4
4
 
5
- ## Features
5
+ ## Code scaffolding
6
6
 
7
- - **Layout Components**
8
- - Main Application Shell
9
- - Responsive Sidebar
10
- - Header with Navigation
11
- - Footer
12
- - Content Area
13
- - Home Page Layout
14
- - Side Drawer
15
- - Console
16
- - **Navigation Components**
17
- - Menu System
18
- - Breadcrumbs
19
- - Tabs
20
- - **Layout Services**
21
- - Shared Layout Service
22
- - Home Service
23
- - Sidebar State Management
24
- - Responsive Breakpoints
25
- - Theme Management
26
- - **Dynamic Content**
27
- - Page-specific layouts based on configuration
28
- - Content loading from API
29
- - Title management
30
-
31
- ## Installation
7
+ Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
32
8
 
33
9
  ```bash
34
- npm install @cide-lms/cloud-ide-layout
35
- ```
36
-
37
- ### Dependencies
38
-
39
- This library depends on:
40
- - Angular 17+
41
- - cloud-ide-element (for UI components)
42
- - cloud-ide-lms-model (for data models)
43
-
44
- ## Usage
45
-
46
- ### Basic Layout
47
-
48
- ```typescript
49
- import { CloudIdeLayoutComponent } from 'cloud-ide-layout';
50
-
51
- @Component({
52
- standalone: true,
53
- imports: [CloudIdeLayoutComponent],
54
- template: `
55
- <cide-lyt-wrapper></cide-lyt-wrapper>
56
- `
57
- })
58
- export class AppComponent { }
59
- ```
60
-
61
- ### Home Page Layout
62
-
63
- ```typescript
64
- import { CideLytHomeWrapperComponent } from 'cloud-ide-layout';
65
-
66
- @Component({
67
- standalone: true,
68
- imports: [CideLytHomeWrapperComponent],
69
- template: `
70
- <cide-lyt-home-wrapper></cide-lyt-home-wrapper>
71
- `
72
- })
73
- export class HomePageComponent { }
74
- ```
75
-
76
- ## Component Documentation
77
-
78
- ### Main Components
79
-
80
- - [Cloud IDE Layout Component](./src/lib/README.md) - Main wrapper and entry point
81
- - [Layout Wrapper Component](./src/lib/layout/layout/layout-wrapper/README.md) - Core layout structure
82
- - [Home Wrapper Component](./src/lib/layout/home/home-wrapper/README.md) - Home page layout
83
-
84
- ### Base Components
85
-
86
- - [Shared Wrapper Component](./src/lib/layout/shared/shared-wrapper/README.md) - Base component for page layouts
87
-
88
- ### Services
89
-
90
- - [Shared Layout Service](./src/lib/layout/shared/README.md) - Core service for layout management
91
- - [Home Layout Service](./src/lib/layout/home/README.md) - Home page specific service
92
-
93
- ## Advanced Usage
94
-
95
- ### Creating a Custom Page Layout
96
-
97
- You can extend the shared wrapper component to create custom page layouts:
98
-
99
- ```typescript
100
- import { Component } from '@angular/core';
101
- import { CideLytSharedWrapperComponent, CideLytSharedWrapperSetupParam } from 'cloud-ide-layout';
102
- import { CideLytSharedService } from 'cloud-ide-layout';
103
-
104
- @Component({
105
- selector: 'app-custom-page',
106
- standalone: true,
107
- imports: [],
108
- templateUrl: './custom-page.component.html',
109
- styleUrl: './custom-page.component.css'
110
- })
111
- export class CustomPageComponent extends CideLytSharedWrapperComponent {
112
- public override shared_wrapper_setup_param: Partial<CideLytSharedWrapperSetupParam> = {
113
- sypg_page_code: "custom_page_code"
114
- }
115
-
116
- constructor(sharedService: CideLytSharedService) {
117
- super(sharedService);
118
- }
119
-
120
- // Add custom functionality here
121
- }
122
- ```
123
-
124
- ### Working with Page Data
125
-
126
- The shared wrapper component automatically loads page data based on the configured page code:
127
-
128
- ```typescript
129
- // In your component that extends CideLytSharedWrapperComponent
130
- ngAfterViewInit() {
131
- // Access page data loaded by parent class
132
- console.log('Page data:', this.page_data);
133
-
134
- // Access specific page elements
135
- const pageTitle = this.page_data?.page?.sypg_title;
136
- const pageConfig = this.page_data?.config;
137
- }
138
- ```
139
-
140
- ## Architecture
141
-
142
- ### Component Hierarchy
143
-
144
- ```
145
- CloudIdeLayoutComponent
146
- └── CideLytLayoutWrapperComponent
147
- ├── HeaderWrapperComponent
148
- ├── SidebarWrapperComponent
149
- ├── SidedrawerWrapperComponent
150
- ├── Router Outlet (Content Area)
151
- │ └── CideLytHomeWrapperComponent (and other page components)
152
- ├── FooterWrapperComponent
153
- └── ConsoleWrapperComponent
154
- ```
155
-
156
- ### Service Relationships
157
-
158
- ```
159
- CloudIdeLayoutService
160
- ├── CideLytSharedService
161
- │ ├── CideLytHomeService
162
- │ ├── CideLytSidebarService
163
- │ ├── CideLytHeaderService
164
- │ ├── CideLytFooterService
165
- │ └── CideLytConsoleService
166
- └── CideElementsService (from cloud-ide-element)
10
+ ng generate component component-name
167
11
  ```
168
12
 
169
- ### Inheritance Tree
13
+ For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
170
14
 
171
- The wrapper components follow this inheritance pattern:
172
-
173
- ```
174
- CideLytSharedWrapperComponent (Base)
175
- └── CideLytHomeWrapperComponent
176
- (Other specialized wrapper components)
177
- ```
178
-
179
- ## API Reference
180
-
181
- ### Components
182
-
183
- #### CloudIdeLayoutComponent
184
- - **Selector**: `cide-lyt-wrapper`
185
- - **Purpose**: Main entry point component
186
-
187
- #### CideLytLayoutWrapperComponent
188
- - **Selector**: `cide-lyt-layout-wrapper`
189
- - **Purpose**: Layout structure component
190
-
191
- #### CideLytHomeWrapperComponent
192
- - **Selector**: `cide-lyt-home-wrapper`
193
- - **Purpose**: Home page specific layout
194
- - **Configuration**: `shared_wrapper_setup_param.sypg_page_code = "cide_lyt_home"`
195
-
196
- #### CideLytSharedWrapperComponent
197
- - **Selector**: `cide-lyt-shared-wrapper`
198
- - **Purpose**: Base component for page layouts
199
- - **Methods**:
200
- - `loadPageData()`
201
- - `setTitle(title: string)`
202
-
203
- ### Services
204
-
205
- #### CloudIdeLayoutService
206
- - **Purpose**: Main library service
207
-
208
- #### CideLytSharedService
209
- - **Purpose**: Shared functionality service
210
- - **Methods**:
211
- - `loadPageData(body: MDesignConfig): Observable<designConfigControllerResponse>`
212
- - `setPageData(response: designConfigControllerResponse, payload: Partial<CideLytSharedWrapperSetupParam>): void`
213
- - `getPageData(key: string): designConfigControllerResponse | undefined`
214
-
215
- #### CideLytHomeService
216
- - **Purpose**: Home page specific service
217
-
218
- ## Contributing
219
-
220
- Guidelines for contributing to this library:
221
-
222
- 1. Follow Angular best practices and coding standards
223
- 2. Ensure components are standalone and properly encapsulated
224
- 3. Write unit tests for all components and services
225
- 4. Update documentation when adding new features
226
- 5. Follow the existing architecture patterns
227
-
228
- ## License
229
-
230
- MIT
231
-
232
- ```typescript
233
- import { Component } from '@angular/core';
234
- import { CloudIdeLayoutModule } from '@cide-lms/cloud-ide-layout';
235
-
236
- @Component({
237
- selector: 'app-root',
238
- template: `
239
- <cloud-ide-layout>
240
- <cloud-ide-header>
241
- <h1>CIDE-LMS</h1>
242
- <div class="user-menu">...</div>
243
- </cloud-ide-header>
244
-
245
- <cloud-ide-sidebar [items]="navigationItems">
246
- <!-- Optional custom sidebar content -->
247
- </cloud-ide-sidebar>
248
-
249
- <cloud-ide-content>
250
- <router-outlet></router-outlet>
251
- </cloud-ide-content>
252
-
253
- <cloud-ide-footer>
254
- &copy; 2025 CIDE-LMS
255
- </cloud-ide-footer>
256
- </cloud-ide-layout>
257
- `
258
- })
259
- export class AppComponent {
260
- navigationItems = [
261
- { label: 'Dashboard', icon: 'dashboard', route: '/dashboard' },
262
- { label: 'Courses', icon: 'school', route: '/courses' },
263
- { label: 'Calendar', icon: 'calendar', route: '/calendar' },
264
- { label: 'Messages', icon: 'message', route: '/messages', badge: '5' },
265
- {
266
- label: 'Settings',
267
- icon: 'settings',
268
- children: [
269
- { label: 'Profile', route: '/settings/profile' },
270
- { label: 'Account', route: '/settings/account' }
271
- ]
272
- }
273
- ];
274
- }
275
- ```
276
-
277
- ### Sidebar Service
278
-
279
- ```typescript
280
- import { Component } from '@angular/core';
281
- import { CloudIdeLayoutService } from '@cide-lms/cloud-ide-layout';
282
-
283
- @Component({
284
- selector: 'app-header',
285
- template: `
286
- <button (click)="toggleSidebar()">
287
- <cloud-ide-icon name="menu"></cloud-ide-icon>
288
- </button>
289
- `
290
- })
291
- export class HeaderComponent {
292
- constructor(private layoutService: CloudIdeLayoutService) {}
293
-
294
- toggleSidebar() {
295
- this.layoutService.toggleSidebar();
296
- }
297
- }
298
- ```
299
-
300
- ### Responsive Breakpoints
301
-
302
- ```typescript
303
- import { Component, OnInit, OnDestroy } from '@angular/core';
304
- import { CloudIdeLayoutService, BreakpointState } from '@cide-lms/cloud-ide-layout';
305
- import { Subscription } from 'rxjs';
306
-
307
- @Component({
308
- selector: 'app-responsive-component',
309
- template: `
310
- <div [class.compact]="isMobile">
311
- <!-- Content that adjusts based on screen size -->
312
- </div>
313
- `
314
- })
315
- export class ResponsiveComponent implements OnInit, OnDestroy {
316
- isMobile = false;
317
- private breakpointSubscription: Subscription;
318
-
319
- constructor(private layoutService: CloudIdeLayoutService) {}
320
-
321
- ngOnInit() {
322
- this.breakpointSubscription = this.layoutService.breakpointState$.subscribe(
323
- (state: BreakpointState) => {
324
- this.isMobile = state.isMobile;
325
- }
326
- );
327
- }
328
-
329
- ngOnDestroy() {
330
- this.breakpointSubscription?.unsubscribe();
331
- }
332
- }
15
+ ```bash
16
+ ng generate --help
333
17
  ```
334
18
 
335
- ### Theme Management
19
+ ## Building
336
20
 
337
- ```typescript
338
- import { Component } from '@angular/core';
339
- import { CloudIdeLayoutService, ThemeMode } from '@cide-lms/cloud-ide-layout';
21
+ To build the library, run:
340
22
 
341
- @Component({
342
- selector: 'app-theme-toggle',
343
- template: `
344
- <button (click)="toggleTheme()">
345
- <cloud-ide-icon [name]="isDarkMode ? 'light_mode' : 'dark_mode'"></cloud-ide-icon>
346
- {{ isDarkMode ? 'Light Mode' : 'Dark Mode' }}
347
- </button>
348
- `
349
- })
350
- export class ThemeToggleComponent {
351
- isDarkMode = false;
352
-
353
- constructor(private layoutService: CloudIdeLayoutService) {
354
- this.layoutService.currentTheme$.subscribe(theme => {
355
- this.isDarkMode = theme === ThemeMode.DARK;
356
- });
357
- }
358
-
359
- toggleTheme() {
360
- this.layoutService.toggleTheme();
361
- }
362
- }
23
+ ```bash
24
+ ng build cloud-ide-layout
363
25
  ```
364
26
 
365
- ## API Reference
27
+ This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
366
28
 
367
- ### Components
29
+ ### Publishing the Library
368
30
 
369
- | Component | Description |
370
- |---------------------|-----------------------------------------------------------|
371
- | CloudIdeLayout | Main layout container |
372
- | CloudIdeHeader | Application header with customizable content |
373
- | CloudIdeSidebar | Navigation sidebar with collapsible menu |
374
- | CloudIdeContent | Main content area |
375
- | CloudIdeFooter | Application footer |
376
- | CloudIdeBreadcrumbs | Breadcrumb navigation component |
377
- | CloudIdeTabs | Tabbed interface component |
31
+ Once the project is built, you can publish your library by following these steps:
378
32
 
379
- ### CloudIdeLayoutService
33
+ 1. Navigate to the `dist` directory:
34
+ ```bash
35
+ cd dist/cloud-ide-layout
36
+ ```
380
37
 
381
- | Method/Property | Type | Description |
382
- |----------------------|------------------------|--------------------------------------------------|
383
- | toggleSidebar() | method | Toggles sidebar visibility |
384
- | setSidebarVisible() | method(boolean) | Sets sidebar visibility |
385
- | toggleTheme() | method | Toggles between light and dark mode |
386
- | setTheme() | method(ThemeMode) | Sets specific theme mode |
387
- | sidebarVisible$ | Observable\<boolean\> | Current sidebar visibility state |
388
- | currentTheme$ | Observable\<ThemeMode\> | Current theme mode |
389
- | breakpointState$ | Observable\<BreakpointState\> | Current responsive breakpoint information |
38
+ 2. Run the `npm publish` command to publish your library to the npm registry:
39
+ ```bash
40
+ npm publish
41
+ ```
390
42
 
391
- ## Customization
43
+ ## Running unit tests
392
44
 
393
- ### Theme Variables
45
+ To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
394
46
 
395
- The layout components use CSS variables for styling. You can override these in your application:
396
-
397
- ```scss
398
- :root {
399
- // Layout colors
400
- --cide-layout-bg: #f8fafc;
401
- --cide-layout-text: #1e293b;
402
- --cide-layout-sidebar-bg: #ffffff;
403
- --cide-layout-sidebar-text: #475569;
404
- --cide-layout-sidebar-active: #3b82f6;
405
- --cide-layout-header-bg: #ffffff;
406
- --cide-layout-header-text: #1e293b;
407
-
408
- // Spacing
409
- --cide-layout-header-height: 64px;
410
- --cide-layout-sidebar-width: 280px;
411
- --cide-layout-sidebar-collapsed-width: 72px;
412
- --cide-layout-footer-height: 48px;
413
-
414
- // Other
415
- --cide-layout-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
416
- --cide-layout-border-color: #e2e8f0;
417
- }
418
- ```
419
-
420
- ### Dark Mode Variables
421
-
422
- ```scss
423
- .dark-theme {
424
- --cide-layout-bg: #0f172a;
425
- --cide-layout-text: #f1f5f9;
426
- --cide-layout-sidebar-bg: #1e293b;
427
- --cide-layout-sidebar-text: #cbd5e1;
428
- --cide-layout-sidebar-active: #60a5fa;
429
- --cide-layout-header-bg: #1e293b;
430
- --cide-layout-header-text: #f1f5f9;
431
- --cide-layout-border-color: #334155;
432
- }
47
+ ```bash
48
+ ng test
433
49
  ```
434
50
 
435
- ## Layouts
51
+ ## Running end-to-end tests
436
52
 
437
- The library includes several predefined layout templates:
53
+ For end-to-end (e2e) testing, run:
438
54
 
439
- 1. **Standard Layout** - Header, sidebar, and content
440
- 2. **Dashboard Layout** - Header, sidebar, content with dashboard cards
441
- 3. **Learning Layout** - Optimized for learning content with adjustable sidebar
442
-
443
- To use a specific layout:
444
-
445
- ```typescript
446
- import { CloudIdeLayoutModule, LayoutType } from '@cide-lms/cloud-ide-layout';
447
-
448
- @Component({
449
- template: `
450
- <cloud-ide-layout [type]="LayoutType.DASHBOARD">
451
- <!-- Layout content -->
452
- </cloud-ide-layout>
453
- `
454
- })
455
- export class DashboardComponent {
456
- LayoutType = LayoutType; // Make enum available in template
457
- }
55
+ ```bash
56
+ ng e2e
458
57
  ```
459
58
 
460
- ## Installation
461
- To install the library in your project, follow these steps:
59
+ Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
462
60
 
463
- 1. **Install the Library**
464
- Run the following command to install the library:
465
- ```bash
466
- npm install cloud-ide-layout
467
- ```
61
+ ## Additional Resources
468
62
 
469
- 2. **Add Global Styles**
470
- Update the `styles` array in the `angular.json` file to include your global CSS file. For example:
471
- ```json
472
- "styles": [
473
- "src/styles.css",
474
- "node_modules/cloud-ide-layout/src/lib/assets/css/cide-lyt-style.scss"
475
- ]
476
- ```
477
- ```
63
+ For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.