cloud-ide-layout 1.0.128 → 1.0.129

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 (18) hide show
  1. package/fesm2022/{cloud-ide-layout-cloud-ide-layout-rUYm3HK3.mjs → cloud-ide-layout-cloud-ide-layout-BTybdTmB.mjs} +44 -23
  2. package/fesm2022/{cloud-ide-layout-cloud-ide-layout-rUYm3HK3.mjs.map → cloud-ide-layout-cloud-ide-layout-BTybdTmB.mjs.map} +1 -1
  3. package/fesm2022/cloud-ide-layout-dashboard-cards.service-BbJ4rb2S.mjs.map +1 -1
  4. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-B07pZGyf.mjs → cloud-ide-layout-dashboard-manager.component-BBLAswxu.mjs} +308 -308
  5. package/fesm2022/cloud-ide-layout-dashboard-manager.component-BBLAswxu.mjs.map +1 -0
  6. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BEZtWw5o.mjs → cloud-ide-layout-drawer-theme.component-ButcOElJ.mjs} +2 -2
  7. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BEZtWw5o.mjs.map → cloud-ide-layout-drawer-theme.component-ButcOElJ.mjs.map} +1 -1
  8. package/fesm2022/{cloud-ide-layout-floating-entity-selection.component-BKoJPKEE.mjs → cloud-ide-layout-floating-entity-selection.component-CXj1uIaR.mjs} +2 -2
  9. package/fesm2022/{cloud-ide-layout-floating-entity-selection.component-BKoJPKEE.mjs.map → cloud-ide-layout-floating-entity-selection.component-CXj1uIaR.mjs.map} +1 -1
  10. package/fesm2022/cloud-ide-layout-home-wrapper.component-B-sD0ic5.mjs +272 -0
  11. package/fesm2022/cloud-ide-layout-home-wrapper.component-B-sD0ic5.mjs.map +1 -0
  12. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-CaFNYLdT.mjs → cloud-ide-layout-sidedrawer-notes.component-DMnaN5vv.mjs} +2 -2
  13. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-CaFNYLdT.mjs.map → cloud-ide-layout-sidedrawer-notes.component-DMnaN5vv.mjs.map} +1 -1
  14. package/fesm2022/cloud-ide-layout.mjs +1 -1
  15. package/package.json +1 -1
  16. package/fesm2022/cloud-ide-layout-dashboard-manager.component-B07pZGyf.mjs.map +0 -1
  17. package/fesm2022/cloud-ide-layout-home-wrapper.component-Cwzqvnkc.mjs +0 -272
  18. package/fesm2022/cloud-ide-layout-home-wrapper.component-Cwzqvnkc.mjs.map +0 -1
@@ -3,7 +3,7 @@ import { inject, signal, computed, Component } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import * as i1 from '@angular/forms';
5
5
  import { FormsModule } from '@angular/forms';
6
- import { C as CideLytSharedWrapperComponent } from './cloud-ide-layout-cloud-ide-layout-rUYm3HK3.mjs';
6
+ import { C as CideLytSharedWrapperComponent } from './cloud-ide-layout-cloud-ide-layout-BTybdTmB.mjs';
7
7
  import { D as DashboardCardsService } from './cloud-ide-layout-dashboard-cards.service-BbJ4rb2S.mjs';
8
8
  import { NotificationService, ConfirmationService, CideEleDataGridComponent, CideEleButtonComponent, CideInputComponent, CideSelectComponent } from 'cloud-ide-element';
9
9
 
@@ -323,159 +323,159 @@ class DashboardManagerComponent {
323
323
  this.cardForm.apiEndpoint = String(value);
324
324
  }
325
325
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DashboardManagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
326
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: DashboardManagerComponent, isStandalone: true, selector: "cide-lyt-dashboard-manager", ngImport: i0, template: `
327
- <cide-lyt-shared-wrapper [shared_wrapper_setup_param]="shared_wrapper_setup_param">
328
- <div class="tw-p-4 tw-space-y-4">
329
- <!-- Header -->
330
- <div class="tw-flex tw-justify-between tw-items-center">
331
- <h2 class="tw-text-2xl tw-font-bold">Dashboard Manager</h2>
332
- <cide-ele-button
333
- [label]="'Add New Card'"
334
- leftIcon="add"
335
- (click)="openAddCardModal()"
336
- variant="primary">
337
- </cide-ele-button>
338
- </div>
339
-
340
- <!-- Cards Grid -->
341
- <cide-ele-data-grid
342
- [config]="gridConfig()"
343
- (gridEvent)="onGridEvent($event)">
344
- </cide-ele-data-grid>
345
-
346
- <!-- Add/Edit Card Modal -->
347
- @if (showModal()) {
348
- <div class="tw-fixed tw-inset-0 tw-bg-black tw-bg-opacity-50 tw-flex tw-items-center tw-justify-center tw-z-50">
349
- <div class="tw-bg-white tw-rounded-lg tw-p-6 tw-max-w-2xl tw-w-full tw-max-h-[90vh] tw-overflow-y-auto">
350
- <h3 class="tw-text-xl tw-font-bold tw-mb-4">
351
- {{ editingCard() ? 'Edit Card' : 'Add New Card' }}
352
- </h3>
353
-
354
- <form (ngSubmit)="saveCard()" class="tw-space-y-4">
355
- <div class="tw-grid tw-grid-cols-2 tw-gap-4">
356
- <div>
357
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Title</label>
358
- <cide-ele-input
359
- [(ngModel)]="cardForm.title"
360
- [name]="'title'"
361
- [required]="true"
362
- [placeholder]="'Enter card title'">
363
- </cide-ele-input>
364
- </div>
365
-
366
- <div>
367
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Type</label>
368
- <cide-ele-select
369
- [ngModel]="cardForm.type || 'custom'"
370
- (ngModelChange)="onTypeChange($event)"
371
- [options]="cardTypes"
372
- [required]="true">
373
- </cide-ele-select>
374
- </div>
375
- </div>
376
-
377
- <div>
378
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Description</label>
379
- <cide-ele-input
380
- [(ngModel)]="cardForm.description"
381
- [name]="'description'"
382
- [type]="'text'"
383
- [placeholder]="'Enter card description'">
384
- </cide-ele-input>
385
- </div>
386
-
387
- <div>
388
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">API Endpoint</label>
389
- <cide-ele-select
390
- [ngModel]="cardForm.apiEndpoint"
391
- (ngModelChange)="onApiEndpointChange($event)"
392
- [options]="apiEndpointsOptions()"
393
- [placeholder]="'Select API endpoint'">
394
- </cide-ele-select>
395
- </div>
396
-
397
- <div class="tw-grid tw-grid-cols-2 tw-gap-4">
398
- <div>
399
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Icon</label>
400
- <cide-ele-input
401
- [(ngModel)]="cardForm.icon"
402
- [name]="'icon'"
403
- [placeholder]="'e.g., dashboard, analytics'">
404
- </cide-ele-input>
405
- </div>
406
-
407
- <div>
408
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Color</label>
409
- <cide-ele-input
410
- [(ngModel)]="cardForm.color"
411
- [name]="'color'"
412
- [type]="'text'"
413
- [placeholder]="'#3B82F6'">
414
- </cide-ele-input>
415
- </div>
416
- </div>
417
-
418
- <div class="tw-grid tw-grid-cols-4 tw-gap-4">
419
- <div>
420
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Row</label>
421
- <cide-ele-input
422
- [(ngModel)]="cardForm.position.row"
423
- [name]="'row'"
424
- [type]="'number'"
425
- [min]="1">
426
- </cide-ele-input>
427
- </div>
428
-
429
- <div>
430
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Col</label>
431
- <cide-ele-input
432
- [(ngModel)]="cardForm.position.col"
433
- [name]="'col'"
434
- [type]="'number'"
435
- [min]="1">
436
- </cide-ele-input>
437
- </div>
438
-
439
- <div>
440
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Col Span</label>
441
- <cide-ele-input
442
- [(ngModel)]="cardForm.position.colspan"
443
- [name]="'colspan'"
444
- [type]="'number'"
445
- [min]="1"
446
- [max]="12">
447
- </cide-ele-input>
448
- </div>
449
-
450
- <div>
451
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Row Span</label>
452
- <cide-ele-input
453
- [(ngModel)]="cardForm.position.rowspan"
454
- [name]="'rowspan'"
455
- [type]="'number'"
456
- [min]="1">
457
- </cide-ele-input>
458
- </div>
459
- </div>
460
-
461
- <div class="tw-flex tw-gap-2 tw-pt-4">
462
- <cide-ele-button
463
- [label]="'Cancel'"
464
- variant="secondary"
465
- (click)="closeModal()">
466
- </cide-ele-button>
467
- <cide-ele-button
468
- [label]="'Save'"
469
- variant="primary"
470
- [type]="'submit'">
471
- </cide-ele-button>
472
- </div>
473
- </form>
474
- </div>
475
- </div>
476
- }
477
- </div>
478
- </cide-lyt-shared-wrapper>
326
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: DashboardManagerComponent, isStandalone: true, selector: "cide-lyt-dashboard-manager", ngImport: i0, template: `
327
+ <cide-lyt-shared-wrapper [shared_wrapper_setup_param]="shared_wrapper_setup_param">
328
+ <div class="tw-p-4 tw-space-y-4">
329
+ <!-- Header -->
330
+ <div class="tw-flex tw-justify-between tw-items-center">
331
+ <h2 class="tw-text-2xl tw-font-bold">Dashboard Manager</h2>
332
+ <cide-ele-button
333
+ [label]="'Add New Card'"
334
+ leftIcon="add"
335
+ (click)="openAddCardModal()"
336
+ variant="primary">
337
+ </cide-ele-button>
338
+ </div>
339
+
340
+ <!-- Cards Grid -->
341
+ <cide-ele-data-grid
342
+ [config]="gridConfig()"
343
+ (gridEvent)="onGridEvent($event)">
344
+ </cide-ele-data-grid>
345
+
346
+ <!-- Add/Edit Card Modal -->
347
+ @if (showModal()) {
348
+ <div class="tw-fixed tw-inset-0 tw-bg-black tw-bg-opacity-50 tw-flex tw-items-center tw-justify-center tw-z-50">
349
+ <div class="tw-bg-white tw-rounded-lg tw-p-6 tw-max-w-2xl tw-w-full tw-max-h-[90vh] tw-overflow-y-auto">
350
+ <h3 class="tw-text-xl tw-font-bold tw-mb-4">
351
+ {{ editingCard() ? 'Edit Card' : 'Add New Card' }}
352
+ </h3>
353
+
354
+ <form (ngSubmit)="saveCard()" class="tw-space-y-4">
355
+ <div class="tw-grid tw-grid-cols-2 tw-gap-4">
356
+ <div>
357
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Title</label>
358
+ <cide-ele-input
359
+ [(ngModel)]="cardForm.title"
360
+ [name]="'title'"
361
+ [required]="true"
362
+ [placeholder]="'Enter card title'">
363
+ </cide-ele-input>
364
+ </div>
365
+
366
+ <div>
367
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Type</label>
368
+ <cide-ele-select
369
+ [ngModel]="cardForm.type || 'custom'"
370
+ (ngModelChange)="onTypeChange($event)"
371
+ [options]="cardTypes"
372
+ [required]="true">
373
+ </cide-ele-select>
374
+ </div>
375
+ </div>
376
+
377
+ <div>
378
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Description</label>
379
+ <cide-ele-input
380
+ [(ngModel)]="cardForm.description"
381
+ [name]="'description'"
382
+ [type]="'text'"
383
+ [placeholder]="'Enter card description'">
384
+ </cide-ele-input>
385
+ </div>
386
+
387
+ <div>
388
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">API Endpoint</label>
389
+ <cide-ele-select
390
+ [ngModel]="cardForm.apiEndpoint"
391
+ (ngModelChange)="onApiEndpointChange($event)"
392
+ [options]="apiEndpointsOptions()"
393
+ [placeholder]="'Select API endpoint'">
394
+ </cide-ele-select>
395
+ </div>
396
+
397
+ <div class="tw-grid tw-grid-cols-2 tw-gap-4">
398
+ <div>
399
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Icon</label>
400
+ <cide-ele-input
401
+ [(ngModel)]="cardForm.icon"
402
+ [name]="'icon'"
403
+ [placeholder]="'e.g., dashboard, analytics'">
404
+ </cide-ele-input>
405
+ </div>
406
+
407
+ <div>
408
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Color</label>
409
+ <cide-ele-input
410
+ [(ngModel)]="cardForm.color"
411
+ [name]="'color'"
412
+ [type]="'text'"
413
+ [placeholder]="'#3B82F6'">
414
+ </cide-ele-input>
415
+ </div>
416
+ </div>
417
+
418
+ <div class="tw-grid tw-grid-cols-4 tw-gap-4">
419
+ <div>
420
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Row</label>
421
+ <cide-ele-input
422
+ [(ngModel)]="cardForm.position.row"
423
+ [name]="'row'"
424
+ [type]="'number'"
425
+ [min]="1">
426
+ </cide-ele-input>
427
+ </div>
428
+
429
+ <div>
430
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Col</label>
431
+ <cide-ele-input
432
+ [(ngModel)]="cardForm.position.col"
433
+ [name]="'col'"
434
+ [type]="'number'"
435
+ [min]="1">
436
+ </cide-ele-input>
437
+ </div>
438
+
439
+ <div>
440
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Col Span</label>
441
+ <cide-ele-input
442
+ [(ngModel)]="cardForm.position.colspan"
443
+ [name]="'colspan'"
444
+ [type]="'number'"
445
+ [min]="1"
446
+ [max]="12">
447
+ </cide-ele-input>
448
+ </div>
449
+
450
+ <div>
451
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Row Span</label>
452
+ <cide-ele-input
453
+ [(ngModel)]="cardForm.position.rowspan"
454
+ [name]="'rowspan'"
455
+ [type]="'number'"
456
+ [min]="1">
457
+ </cide-ele-input>
458
+ </div>
459
+ </div>
460
+
461
+ <div class="tw-flex tw-gap-2 tw-pt-4">
462
+ <cide-ele-button
463
+ [label]="'Cancel'"
464
+ variant="secondary"
465
+ (click)="closeModal()">
466
+ </cide-ele-button>
467
+ <cide-ele-button
468
+ [label]="'Save'"
469
+ variant="primary"
470
+ [type]="'submit'">
471
+ </cide-ele-button>
472
+ </div>
473
+ </form>
474
+ </div>
475
+ </div>
476
+ }
477
+ </div>
478
+ </cide-lyt-shared-wrapper>
479
479
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: CideLytSharedWrapperComponent, selector: "cide-lyt-shared-wrapper", inputs: ["shared_wrapper_setup_param", "breadcrumb_data"] }, { kind: "component", type: CideEleDataGridComponent, selector: "cide-ele-data-grid", inputs: ["config", "templateRenderers", "customFormatters", "actionHandlers", "serverSidePagination", "totalServerItems", "currentServerPage", "currentServerPageSize", "dragDropEnabled"], outputs: ["gridEvent"] }, { kind: "component", type: CideEleButtonComponent, selector: "button[cideEleButton], a[cideEleButton], cide-ele-button", inputs: ["label", "variant", "size", "type", "shape", "elevation", "disabled", "id", "loading", "fullWidth", "leftIcon", "rightIcon", "customClass", "tooltip", "ariaLabel", "testId", "routerLink", "routerExtras", "preventDoubleClick", "animated"], outputs: ["btnClick", "doubleClick"] }, { kind: "component", type: CideInputComponent, selector: "cide-ele-input", inputs: ["fill", "label", "labelHide", "disabled", "clearInput", "labelPlacement", "labelDir", "placeholder", "leadingIcon", "trailingIcon", "helperText", "helperTextCollapse", "hideHelperAndErrorText", "errorText", "maxlength", "minlength", "required", "autocapitalize", "autocomplete", "type", "width", "id", "ngModel", "option", "min", "max", "step", "size"], outputs: ["ngModelChange"] }, { kind: "component", type: CideSelectComponent, selector: "cide-ele-select", inputs: ["label", "labelHide", "placeholder", "helperText", "errorText", "required", "disabled", "id", "ngModel", "size", "fill", "labelPlacement", "labelDir", "leadingIcon", "trailingIcon", "clearInput", "options", "multiple", "searchable", "showSearchInput", "loading", "valueKey", "labelKey", "treeView"], outputs: ["ngModelChange", "change", "searchChange"] }] });
480
480
  }
481
481
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DashboardManagerComponent, decorators: [{
@@ -492,162 +492,162 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
492
492
  CideInputComponent,
493
493
  CideSelectComponent
494
494
  ],
495
- template: `
496
- <cide-lyt-shared-wrapper [shared_wrapper_setup_param]="shared_wrapper_setup_param">
497
- <div class="tw-p-4 tw-space-y-4">
498
- <!-- Header -->
499
- <div class="tw-flex tw-justify-between tw-items-center">
500
- <h2 class="tw-text-2xl tw-font-bold">Dashboard Manager</h2>
501
- <cide-ele-button
502
- [label]="'Add New Card'"
503
- leftIcon="add"
504
- (click)="openAddCardModal()"
505
- variant="primary">
506
- </cide-ele-button>
507
- </div>
508
-
509
- <!-- Cards Grid -->
510
- <cide-ele-data-grid
511
- [config]="gridConfig()"
512
- (gridEvent)="onGridEvent($event)">
513
- </cide-ele-data-grid>
514
-
515
- <!-- Add/Edit Card Modal -->
516
- @if (showModal()) {
517
- <div class="tw-fixed tw-inset-0 tw-bg-black tw-bg-opacity-50 tw-flex tw-items-center tw-justify-center tw-z-50">
518
- <div class="tw-bg-white tw-rounded-lg tw-p-6 tw-max-w-2xl tw-w-full tw-max-h-[90vh] tw-overflow-y-auto">
519
- <h3 class="tw-text-xl tw-font-bold tw-mb-4">
520
- {{ editingCard() ? 'Edit Card' : 'Add New Card' }}
521
- </h3>
522
-
523
- <form (ngSubmit)="saveCard()" class="tw-space-y-4">
524
- <div class="tw-grid tw-grid-cols-2 tw-gap-4">
525
- <div>
526
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Title</label>
527
- <cide-ele-input
528
- [(ngModel)]="cardForm.title"
529
- [name]="'title'"
530
- [required]="true"
531
- [placeholder]="'Enter card title'">
532
- </cide-ele-input>
533
- </div>
534
-
535
- <div>
536
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Type</label>
537
- <cide-ele-select
538
- [ngModel]="cardForm.type || 'custom'"
539
- (ngModelChange)="onTypeChange($event)"
540
- [options]="cardTypes"
541
- [required]="true">
542
- </cide-ele-select>
543
- </div>
544
- </div>
545
-
546
- <div>
547
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Description</label>
548
- <cide-ele-input
549
- [(ngModel)]="cardForm.description"
550
- [name]="'description'"
551
- [type]="'text'"
552
- [placeholder]="'Enter card description'">
553
- </cide-ele-input>
554
- </div>
555
-
556
- <div>
557
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">API Endpoint</label>
558
- <cide-ele-select
559
- [ngModel]="cardForm.apiEndpoint"
560
- (ngModelChange)="onApiEndpointChange($event)"
561
- [options]="apiEndpointsOptions()"
562
- [placeholder]="'Select API endpoint'">
563
- </cide-ele-select>
564
- </div>
565
-
566
- <div class="tw-grid tw-grid-cols-2 tw-gap-4">
567
- <div>
568
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Icon</label>
569
- <cide-ele-input
570
- [(ngModel)]="cardForm.icon"
571
- [name]="'icon'"
572
- [placeholder]="'e.g., dashboard, analytics'">
573
- </cide-ele-input>
574
- </div>
575
-
576
- <div>
577
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Color</label>
578
- <cide-ele-input
579
- [(ngModel)]="cardForm.color"
580
- [name]="'color'"
581
- [type]="'text'"
582
- [placeholder]="'#3B82F6'">
583
- </cide-ele-input>
584
- </div>
585
- </div>
586
-
587
- <div class="tw-grid tw-grid-cols-4 tw-gap-4">
588
- <div>
589
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Row</label>
590
- <cide-ele-input
591
- [(ngModel)]="cardForm.position.row"
592
- [name]="'row'"
593
- [type]="'number'"
594
- [min]="1">
595
- </cide-ele-input>
596
- </div>
597
-
598
- <div>
599
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Col</label>
600
- <cide-ele-input
601
- [(ngModel)]="cardForm.position.col"
602
- [name]="'col'"
603
- [type]="'number'"
604
- [min]="1">
605
- </cide-ele-input>
606
- </div>
607
-
608
- <div>
609
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Col Span</label>
610
- <cide-ele-input
611
- [(ngModel)]="cardForm.position.colspan"
612
- [name]="'colspan'"
613
- [type]="'number'"
614
- [min]="1"
615
- [max]="12">
616
- </cide-ele-input>
617
- </div>
618
-
619
- <div>
620
- <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Row Span</label>
621
- <cide-ele-input
622
- [(ngModel)]="cardForm.position.rowspan"
623
- [name]="'rowspan'"
624
- [type]="'number'"
625
- [min]="1">
626
- </cide-ele-input>
627
- </div>
628
- </div>
629
-
630
- <div class="tw-flex tw-gap-2 tw-pt-4">
631
- <cide-ele-button
632
- [label]="'Cancel'"
633
- variant="secondary"
634
- (click)="closeModal()">
635
- </cide-ele-button>
636
- <cide-ele-button
637
- [label]="'Save'"
638
- variant="primary"
639
- [type]="'submit'">
640
- </cide-ele-button>
641
- </div>
642
- </form>
643
- </div>
644
- </div>
645
- }
646
- </div>
647
- </cide-lyt-shared-wrapper>
495
+ template: `
496
+ <cide-lyt-shared-wrapper [shared_wrapper_setup_param]="shared_wrapper_setup_param">
497
+ <div class="tw-p-4 tw-space-y-4">
498
+ <!-- Header -->
499
+ <div class="tw-flex tw-justify-between tw-items-center">
500
+ <h2 class="tw-text-2xl tw-font-bold">Dashboard Manager</h2>
501
+ <cide-ele-button
502
+ [label]="'Add New Card'"
503
+ leftIcon="add"
504
+ (click)="openAddCardModal()"
505
+ variant="primary">
506
+ </cide-ele-button>
507
+ </div>
508
+
509
+ <!-- Cards Grid -->
510
+ <cide-ele-data-grid
511
+ [config]="gridConfig()"
512
+ (gridEvent)="onGridEvent($event)">
513
+ </cide-ele-data-grid>
514
+
515
+ <!-- Add/Edit Card Modal -->
516
+ @if (showModal()) {
517
+ <div class="tw-fixed tw-inset-0 tw-bg-black tw-bg-opacity-50 tw-flex tw-items-center tw-justify-center tw-z-50">
518
+ <div class="tw-bg-white tw-rounded-lg tw-p-6 tw-max-w-2xl tw-w-full tw-max-h-[90vh] tw-overflow-y-auto">
519
+ <h3 class="tw-text-xl tw-font-bold tw-mb-4">
520
+ {{ editingCard() ? 'Edit Card' : 'Add New Card' }}
521
+ </h3>
522
+
523
+ <form (ngSubmit)="saveCard()" class="tw-space-y-4">
524
+ <div class="tw-grid tw-grid-cols-2 tw-gap-4">
525
+ <div>
526
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Title</label>
527
+ <cide-ele-input
528
+ [(ngModel)]="cardForm.title"
529
+ [name]="'title'"
530
+ [required]="true"
531
+ [placeholder]="'Enter card title'">
532
+ </cide-ele-input>
533
+ </div>
534
+
535
+ <div>
536
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Type</label>
537
+ <cide-ele-select
538
+ [ngModel]="cardForm.type || 'custom'"
539
+ (ngModelChange)="onTypeChange($event)"
540
+ [options]="cardTypes"
541
+ [required]="true">
542
+ </cide-ele-select>
543
+ </div>
544
+ </div>
545
+
546
+ <div>
547
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Description</label>
548
+ <cide-ele-input
549
+ [(ngModel)]="cardForm.description"
550
+ [name]="'description'"
551
+ [type]="'text'"
552
+ [placeholder]="'Enter card description'">
553
+ </cide-ele-input>
554
+ </div>
555
+
556
+ <div>
557
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">API Endpoint</label>
558
+ <cide-ele-select
559
+ [ngModel]="cardForm.apiEndpoint"
560
+ (ngModelChange)="onApiEndpointChange($event)"
561
+ [options]="apiEndpointsOptions()"
562
+ [placeholder]="'Select API endpoint'">
563
+ </cide-ele-select>
564
+ </div>
565
+
566
+ <div class="tw-grid tw-grid-cols-2 tw-gap-4">
567
+ <div>
568
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Icon</label>
569
+ <cide-ele-input
570
+ [(ngModel)]="cardForm.icon"
571
+ [name]="'icon'"
572
+ [placeholder]="'e.g., dashboard, analytics'">
573
+ </cide-ele-input>
574
+ </div>
575
+
576
+ <div>
577
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Color</label>
578
+ <cide-ele-input
579
+ [(ngModel)]="cardForm.color"
580
+ [name]="'color'"
581
+ [type]="'text'"
582
+ [placeholder]="'#3B82F6'">
583
+ </cide-ele-input>
584
+ </div>
585
+ </div>
586
+
587
+ <div class="tw-grid tw-grid-cols-4 tw-gap-4">
588
+ <div>
589
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Row</label>
590
+ <cide-ele-input
591
+ [(ngModel)]="cardForm.position.row"
592
+ [name]="'row'"
593
+ [type]="'number'"
594
+ [min]="1">
595
+ </cide-ele-input>
596
+ </div>
597
+
598
+ <div>
599
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Col</label>
600
+ <cide-ele-input
601
+ [(ngModel)]="cardForm.position.col"
602
+ [name]="'col'"
603
+ [type]="'number'"
604
+ [min]="1">
605
+ </cide-ele-input>
606
+ </div>
607
+
608
+ <div>
609
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Col Span</label>
610
+ <cide-ele-input
611
+ [(ngModel)]="cardForm.position.colspan"
612
+ [name]="'colspan'"
613
+ [type]="'number'"
614
+ [min]="1"
615
+ [max]="12">
616
+ </cide-ele-input>
617
+ </div>
618
+
619
+ <div>
620
+ <label class="tw-block tw-text-sm tw-font-medium tw-mb-1">Row Span</label>
621
+ <cide-ele-input
622
+ [(ngModel)]="cardForm.position.rowspan"
623
+ [name]="'rowspan'"
624
+ [type]="'number'"
625
+ [min]="1">
626
+ </cide-ele-input>
627
+ </div>
628
+ </div>
629
+
630
+ <div class="tw-flex tw-gap-2 tw-pt-4">
631
+ <cide-ele-button
632
+ [label]="'Cancel'"
633
+ variant="secondary"
634
+ (click)="closeModal()">
635
+ </cide-ele-button>
636
+ <cide-ele-button
637
+ [label]="'Save'"
638
+ variant="primary"
639
+ [type]="'submit'">
640
+ </cide-ele-button>
641
+ </div>
642
+ </form>
643
+ </div>
644
+ </div>
645
+ }
646
+ </div>
647
+ </cide-lyt-shared-wrapper>
648
648
  `
649
649
  }]
650
650
  }] });
651
651
 
652
652
  export { DashboardManagerComponent };
653
- //# sourceMappingURL=cloud-ide-layout-dashboard-manager.component-B07pZGyf.mjs.map
653
+ //# sourceMappingURL=cloud-ide-layout-dashboard-manager.component-BBLAswxu.mjs.map