cloud-ide-layout 1.0.126 → 1.0.127

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 (16) hide show
  1. package/fesm2022/{cloud-ide-layout-cloud-ide-layout-DdMf1j7_.mjs → cloud-ide-layout-cloud-ide-layout-DbpsfwGe.mjs} +6 -6
  2. package/fesm2022/cloud-ide-layout-cloud-ide-layout-DbpsfwGe.mjs.map +1 -0
  3. package/fesm2022/{cloud-ide-layout-dashboard-manager.component-C8rnVZpP.mjs → cloud-ide-layout-dashboard-manager.component-kxaTXwF9.mjs} +6 -6
  4. package/fesm2022/cloud-ide-layout-dashboard-manager.component-kxaTXwF9.mjs.map +1 -0
  5. package/fesm2022/{cloud-ide-layout-drawer-theme.component-DV0QsDsO.mjs → cloud-ide-layout-drawer-theme.component-Ds-NA9V5.mjs} +2 -2
  6. package/fesm2022/{cloud-ide-layout-drawer-theme.component-DV0QsDsO.mjs.map → cloud-ide-layout-drawer-theme.component-Ds-NA9V5.mjs.map} +1 -1
  7. package/fesm2022/{cloud-ide-layout-floating-entity-selection.component-DteJtUqk.mjs → cloud-ide-layout-floating-entity-selection.component-DBN6s10p.mjs} +2 -2
  8. package/fesm2022/{cloud-ide-layout-floating-entity-selection.component-DteJtUqk.mjs.map → cloud-ide-layout-floating-entity-selection.component-DBN6s10p.mjs.map} +1 -1
  9. package/fesm2022/{cloud-ide-layout-home-wrapper.component-DjRHVU59.mjs → cloud-ide-layout-home-wrapper.component-BiAqARMO.mjs} +2 -2
  10. package/fesm2022/{cloud-ide-layout-home-wrapper.component-DjRHVU59.mjs.map → cloud-ide-layout-home-wrapper.component-BiAqARMO.mjs.map} +1 -1
  11. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-C2tOsEC4.mjs → cloud-ide-layout-sidedrawer-notes.component-BX-MuUmp.mjs} +2 -2
  12. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-C2tOsEC4.mjs.map → cloud-ide-layout-sidedrawer-notes.component-BX-MuUmp.mjs.map} +1 -1
  13. package/fesm2022/cloud-ide-layout.mjs +1 -1
  14. package/package.json +1 -1
  15. package/fesm2022/cloud-ide-layout-cloud-ide-layout-DdMf1j7_.mjs.map +0 -1
  16. package/fesm2022/cloud-ide-layout-dashboard-manager.component-C8rnVZpP.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud-ide-layout-dashboard-manager.component-C8rnVZpP.mjs","sources":["../../../projects/cloud-ide-layout/src/lib/components/dashboard-manager/dashboard-manager.component.ts"],"sourcesContent":["import { Component, OnInit, inject, signal, computed } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CideLytSharedWrapperComponent } from '../../layout/shared/shared-wrapper/shared-wrapper.component';\r\nimport { DashboardCardsService } from '../../services/dashboard-cards.service';\r\nimport {\r\n CoreDashboardCards,\r\n MDashboardCards,\r\n DashboardCardsSaveUpdatePayload,\r\n DashboardCardsListResponse,\r\n controllerResponse\r\n} from 'cloud-ide-lms-model';\r\nimport {\r\n CideEleDataGridComponent,\r\n CideEleButtonComponent,\r\n CideInputComponent,\r\n CideSelectComponent,\r\n NotificationService,\r\n ConfirmationService,\r\n GridEvent,\r\n GridConfiguration,\r\n GridColumn\r\n} from 'cloud-ide-element';\r\n\r\ninterface ApiEndpoint {\r\n endpoint: string;\r\n method: string;\r\n description: string;\r\n category: string;\r\n}\r\n\r\n@Component({\r\n selector: 'cide-lyt-dashboard-manager',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CideLytSharedWrapperComponent,\r\n CideEleDataGridComponent,\r\n CideEleButtonComponent,\r\n CideInputComponent,\r\n CideSelectComponent\r\n ],\r\n template: `\r\n <cide-lyt-shared-wrapper [shared_wrapper_setup_param]=\"shared_wrapper_setup_param\">\r\n <div class=\"tw-p-4 tw-space-y-4\">\r\n <!-- Header -->\r\n <div class=\"tw-flex tw-justify-between tw-items-center\">\r\n <h2 class=\"tw-text-2xl tw-font-bold\">Dashboard Manager</h2>\r\n <cide-ele-button\r\n [label]=\"'Add New Card'\"\r\n leftIcon=\"add\"\r\n (click)=\"openAddCardModal()\"\r\n variant=\"primary\">\r\n </cide-ele-button>\r\n </div>\r\n\r\n <!-- Cards Grid -->\r\n <cide-ele-data-grid\r\n [config]=\"gridConfig()\"\r\n (gridEvent)=\"onGridEvent($event)\">\r\n </cide-ele-data-grid>\r\n\r\n <!-- Add/Edit Card Modal -->\r\n @if (showModal()) {\r\n <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\">\r\n <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\">\r\n <h3 class=\"tw-text-xl tw-font-bold tw-mb-4\">\r\n {{ editingCard() ? 'Edit Card' : 'Add New Card' }}\r\n </h3>\r\n \r\n <form (ngSubmit)=\"saveCard()\" class=\"tw-space-y-4\">\r\n <div class=\"tw-grid tw-grid-cols-2 tw-gap-4\">\r\n <div>\r\n <label class=\"tw-block tw-text-sm tw-font-medium tw-mb-1\">Title *</label>\r\n <cide-ele-input\r\n [(ngModel)]=\"cardForm.title\"\r\n [name]=\"'title'\"\r\n [required]=\"true\"\r\n [placeholder]=\"'Enter card title'\">\r\n </cide-ele-input>\r\n </div>\r\n \r\n <div>\r\n <label class=\"tw-block tw-text-sm tw-font-medium tw-mb-1\">Type *</label>\r\n <cide-ele-select\r\n [ngModel]=\"cardForm.type || 'custom'\"\r\n (ngModelChange)=\"onTypeChange($event)\"\r\n [options]=\"cardTypes\"\r\n [required]=\"true\">\r\n </cide-ele-select>\r\n </div>\r\n </div>\r\n\r\n <div>\r\n <label class=\"tw-block tw-text-sm tw-font-medium tw-mb-1\">Description</label>\r\n <cide-ele-input\r\n [(ngModel)]=\"cardForm.description\"\r\n [name]=\"'description'\"\r\n [type]=\"'text'\"\r\n [placeholder]=\"'Enter card description'\">\r\n </cide-ele-input>\r\n </div>\r\n\r\n <div>\r\n <label class=\"tw-block tw-text-sm tw-font-medium tw-mb-1\">API Endpoint</label>\r\n <cide-ele-select\r\n [ngModel]=\"cardForm.apiEndpoint\"\r\n (ngModelChange)=\"onApiEndpointChange($event)\"\r\n [options]=\"apiEndpointsOptions()\"\r\n [placeholder]=\"'Select API endpoint'\">\r\n </cide-ele-select>\r\n </div>\r\n\r\n <div class=\"tw-grid tw-grid-cols-2 tw-gap-4\">\r\n <div>\r\n <label class=\"tw-block tw-text-sm tw-font-medium tw-mb-1\">Icon</label>\r\n <cide-ele-input\r\n [(ngModel)]=\"cardForm.icon\"\r\n [name]=\"'icon'\"\r\n [placeholder]=\"'e.g., dashboard, analytics'\">\r\n </cide-ele-input>\r\n </div>\r\n \r\n <div>\r\n <label class=\"tw-block tw-text-sm tw-font-medium tw-mb-1\">Color</label>\r\n <cide-ele-input\r\n [(ngModel)]=\"cardForm.color\"\r\n [name]=\"'color'\"\r\n [type]=\"'text'\"\r\n [placeholder]=\"'#3B82F6'\">\r\n </cide-ele-input>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tw-grid tw-grid-cols-4 tw-gap-4\">\r\n <div>\r\n <label class=\"tw-block tw-text-sm tw-font-medium tw-mb-1\">Row</label>\r\n <cide-ele-input\r\n [(ngModel)]=\"cardForm.position.row\"\r\n [name]=\"'row'\"\r\n [type]=\"'number'\"\r\n [min]=\"1\">\r\n </cide-ele-input>\r\n </div>\r\n \r\n <div>\r\n <label class=\"tw-block tw-text-sm tw-font-medium tw-mb-1\">Col</label>\r\n <cide-ele-input\r\n [(ngModel)]=\"cardForm.position.col\"\r\n [name]=\"'col'\"\r\n [type]=\"'number'\"\r\n [min]=\"1\">\r\n </cide-ele-input>\r\n </div>\r\n \r\n <div>\r\n <label class=\"tw-block tw-text-sm tw-font-medium tw-mb-1\">Col Span</label>\r\n <cide-ele-input\r\n [(ngModel)]=\"cardForm.position.colspan\"\r\n [name]=\"'colspan'\"\r\n [type]=\"'number'\"\r\n [min]=\"1\"\r\n [max]=\"12\">\r\n </cide-ele-input>\r\n </div>\r\n \r\n <div>\r\n <label class=\"tw-block tw-text-sm tw-font-medium tw-mb-1\">Row Span</label>\r\n <cide-ele-input\r\n [(ngModel)]=\"cardForm.position.rowspan\"\r\n [name]=\"'rowspan'\"\r\n [type]=\"'number'\"\r\n [min]=\"1\">\r\n </cide-ele-input>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tw-flex tw-gap-2 tw-pt-4\">\r\n <cide-ele-button\r\n [label]=\"'Cancel'\"\r\n variant=\"secondary\"\r\n (click)=\"closeModal()\">\r\n </cide-ele-button>\r\n <cide-ele-button\r\n [label]=\"'Save'\"\r\n variant=\"primary\"\r\n [type]=\"'submit'\">\r\n </cide-ele-button>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </cide-lyt-shared-wrapper>\r\n `\r\n})\r\nexport class DashboardManagerComponent implements OnInit {\r\n protected dashboardCardsService = inject(DashboardCardsService);\r\n protected notificationService = inject(NotificationService);\r\n protected confirmationService = inject(ConfirmationService);\r\n\r\n shared_wrapper_setup_param = {\r\n sypg_page_code: \"cide_lyt_dashboard_manager\"\r\n };\r\n\r\n cardsList = signal<CoreDashboardCards[]>([]);\r\n loading = signal(false);\r\n showModal = signal(false);\r\n editingCard = signal<CoreDashboardCards | null>(null);\r\n apiEndpoints = signal<ApiEndpoint[]>([]);\r\n\r\n gridConfig = computed<GridConfiguration<CoreDashboardCards>>(() => ({\r\n id: 'dashboard-cards-grid',\r\n columns: [\r\n {\r\n key: 'cdc_title',\r\n header: 'Title',\r\n type: 'text',\r\n sortable: true\r\n },\r\n {\r\n key: 'cdc_type',\r\n header: 'Type',\r\n type: 'text',\r\n sortable: true\r\n },\r\n {\r\n key: 'cdc_api_endpoint',\r\n header: 'API Endpoint',\r\n type: 'text'\r\n },\r\n {\r\n key: 'cdc_visible',\r\n header: 'Visible',\r\n type: 'status',\r\n statusConfig: {\r\n activeValue: true,\r\n activeLabel: 'Visible',\r\n inactiveLabel: 'Hidden',\r\n activeClass: 'tw-bg-green-100 tw-text-green-800',\r\n inactiveClass: 'tw-bg-gray-100 tw-text-gray-800'\r\n }\r\n },\r\n {\r\n key: 'actions',\r\n header: 'Actions',\r\n type: 'actions',\r\n actions: [\r\n {\r\n key: 'edit',\r\n label: 'Edit',\r\n icon: 'edit',\r\n variant: 'primary',\r\n onClick: 'edit'\r\n },\r\n {\r\n key: 'delete',\r\n label: 'Delete',\r\n icon: 'delete',\r\n variant: 'danger',\r\n onClick: 'delete'\r\n },\r\n {\r\n key: 'toggle',\r\n label: 'Toggle Visibility',\r\n icon: 'visibility',\r\n variant: 'outline',\r\n onClick: 'toggle'\r\n }\r\n ]\r\n }\r\n ] as GridColumn[],\r\n data: this.cardsList(),\r\n pagination: {\r\n enabled: true,\r\n pageSize: 10,\r\n pageSizeOptions: [10, 25, 50, 100],\r\n showQuickJump: true,\r\n showPageInfo: true,\r\n showRefresh: true\r\n },\r\n search: {\r\n enabled: true,\r\n placeholder: 'Search cards...',\r\n searchableColumns: ['cdc_title', 'cdc_type', 'cdc_api_endpoint']\r\n },\r\n loading: {\r\n useDefer: true,\r\n skeletonRows: 5,\r\n showOverlay: false\r\n },\r\n responsive: true,\r\n striped: false,\r\n bordered: true,\r\n compact: true\r\n }));\r\n\r\n cardTypes = [\r\n { value: 'stats', label: 'Stats' },\r\n { value: 'chart', label: 'Chart' },\r\n { value: 'table', label: 'Table' },\r\n { value: 'module-card', label: 'Module Card' },\r\n { value: 'activity-feed', label: 'Activity Feed' },\r\n { value: 'events', label: 'Events' },\r\n { value: 'custom', label: 'Custom' }\r\n ];\r\n\r\n cardForm = {\r\n title: '',\r\n description: '',\r\n type: 'custom' as CoreDashboardCards['cdc_type'],\r\n apiEndpoint: '',\r\n icon: '',\r\n color: '#3B82F6',\r\n position: {\r\n row: 1,\r\n col: 1,\r\n colspan: 1,\r\n rowspan: 1\r\n }\r\n };\r\n\r\n apiEndpointsOptions = computed(() => {\r\n return this.apiEndpoints().map(api => ({\r\n value: api.endpoint,\r\n label: `${api.method} ${api.endpoint} - ${api.description}`\r\n }));\r\n });\r\n\r\n ngOnInit(): void {\r\n this.loadCards();\r\n this.loadApiEndpoints();\r\n }\r\n\r\n loadCards(): void {\r\n this.loading.set(true);\r\n this.dashboardCardsService.getDashboardCardsList({}).subscribe({\r\n next: (response) => {\r\n if (response.success && response.data) {\r\n // Map DashboardCardsListResponse to CoreDashboardCards\r\n const mappedCards: CoreDashboardCards[] = response.data.map((card: DashboardCardsListResponse) => ({\r\n ...card,\r\n cdc_entity_id_syen: card.cdc_entity_id_syen?._id || card.cdc_entity_id_syen,\r\n cdc_created_by_user: card.cdc_created_by_user?._id || card.cdc_created_by_user,\r\n cdc_modified_by_user: card.cdc_modified_by_user?._id || card.cdc_modified_by_user\r\n } as CoreDashboardCards));\r\n this.cardsList.set(mappedCards);\r\n }\r\n this.loading.set(false);\r\n },\r\n error: (error) => {\r\n console.error('Error loading cards:', error);\r\n this.notificationService.error('Error loading dashboard cards');\r\n this.loading.set(false);\r\n }\r\n });\r\n }\r\n\r\n loadApiEndpoints(): void {\r\n this.dashboardCardsService.getApiList().subscribe({\r\n next: (response: controllerResponse) => {\r\n if (response.success && response.data) {\r\n this.apiEndpoints.set(response.data as ApiEndpoint[]);\r\n }\r\n },\r\n error: (error) => {\r\n console.error('Error loading API endpoints:', error);\r\n }\r\n });\r\n }\r\n\r\n openAddCardModal(): void {\r\n this.editingCard.set(null);\r\n this.cardForm = {\r\n title: '',\r\n description: '',\r\n type: 'custom',\r\n apiEndpoint: '',\r\n icon: '',\r\n color: '#3B82F6',\r\n position: {\r\n row: 1,\r\n col: 1,\r\n colspan: 1,\r\n rowspan: 1\r\n }\r\n };\r\n this.showModal.set(true);\r\n }\r\n\r\n editCard(card: CoreDashboardCards): void {\r\n this.editingCard.set(card);\r\n this.cardForm = {\r\n title: card.cdc_title || '',\r\n description: card.cdc_description || '',\r\n type: card.cdc_type || 'custom',\r\n apiEndpoint: card.cdc_api_endpoint || '',\r\n icon: card.cdc_icon || '',\r\n color: card.cdc_color || '#3B82F6',\r\n position: card.cdc_position && typeof card.cdc_position === 'object' && \r\n 'row' in card.cdc_position && 'col' in card.cdc_position &&\r\n 'colspan' in card.cdc_position && 'rowspan' in card.cdc_position\r\n ? {\r\n row: card.cdc_position.row || 1,\r\n col: card.cdc_position.col || 1,\r\n colspan: card.cdc_position.colspan || 1,\r\n rowspan: card.cdc_position.rowspan || 1\r\n }\r\n : {\r\n row: 1,\r\n col: 1,\r\n colspan: 1,\r\n rowspan: 1\r\n }\r\n };\r\n this.showModal.set(true);\r\n }\r\n\r\n closeModal(): void {\r\n this.showModal.set(false);\r\n this.editingCard.set(null);\r\n }\r\n\r\n saveCard(): void {\r\n const payload: DashboardCardsSaveUpdatePayload = {\r\n core_dashboard_cards: {\r\n _id: this.editingCard()?._id,\r\n cdc_title: this.cardForm.title,\r\n cdc_description: this.cardForm.description,\r\n cdc_type: this.cardForm.type,\r\n cdc_api_endpoint: this.cardForm.apiEndpoint,\r\n cdc_icon: this.cardForm.icon,\r\n cdc_color: this.cardForm.color,\r\n cdc_position: this.cardForm.position,\r\n cdc_visible: true,\r\n cdc_draggable: true\r\n }\r\n };\r\n\r\n this.dashboardCardsService.saveUpdateDashboardCard(payload).subscribe({\r\n next: (response) => {\r\n if (response.success) {\r\n this.notificationService.success(\r\n this.editingCard() ? 'Card updated successfully' : 'Card created successfully'\r\n );\r\n this.closeModal();\r\n this.loadCards();\r\n } else {\r\n this.notificationService.error(response.message || 'Error saving card');\r\n }\r\n },\r\n error: (error) => {\r\n console.error('Error saving card:', error);\r\n this.notificationService.error('Error saving card');\r\n }\r\n });\r\n }\r\n\r\n deleteCard(card: CoreDashboardCards): void {\r\n if (!card._id) return;\r\n\r\n this.confirmationService.ask({\r\n title: 'Delete Card',\r\n message: `Are you sure you want to delete \"${card.cdc_title}\"?`,\r\n type: 'danger',\r\n icon: 'delete_forever',\r\n confirmText: 'Delete',\r\n cancelText: 'Cancel'\r\n }).then((confirmed) => {\r\n if (confirmed) {\r\n this.dashboardCardsService.deleteDashboardCard(card._id!).subscribe({\r\n next: (response) => {\r\n if (response.success) {\r\n this.notificationService.success('Card deleted successfully');\r\n this.loadCards();\r\n } else {\r\n this.notificationService.error(response.message || 'Error deleting card');\r\n }\r\n },\r\n error: (error) => {\r\n console.error('Error deleting card:', error);\r\n this.notificationService.error('Error deleting card');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n toggleVisibility(card: CoreDashboardCards): void {\r\n const payload: DashboardCardsSaveUpdatePayload = {\r\n core_dashboard_cards: {\r\n _id: card._id,\r\n cdc_visible: !card.cdc_visible\r\n }\r\n };\r\n\r\n this.dashboardCardsService.saveUpdateDashboardCard(payload).subscribe({\r\n next: (response) => {\r\n if (response.success) {\r\n this.loadCards();\r\n }\r\n },\r\n error: (error) => {\r\n console.error('Error toggling visibility:', error);\r\n this.notificationService.error('Error updating card');\r\n }\r\n });\r\n }\r\n\r\n onGridEvent(event: GridEvent<CoreDashboardCards>): void {\r\n if (event.type === 'action' && event.action) {\r\n const card = event.data as CoreDashboardCards;\r\n \r\n if (event.action.key === 'edit') {\r\n this.editCard(card);\r\n } else if (event.action.key === 'delete') {\r\n this.deleteCard(card);\r\n } else if (event.action.key === 'toggle') {\r\n this.toggleVisibility(card);\r\n }\r\n }\r\n }\r\n\r\n onTypeChange(value: string | number | string[]): void {\r\n this.cardForm.type = value as CoreDashboardCards['cdc_type'];\r\n }\r\n\r\n onApiEndpointChange(value: string | number | string[]): void {\r\n this.cardForm.apiEndpoint = String(value);\r\n }\r\n}\r\n\r\n"],"names":[],"mappings":"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"}