@memberjunction/ng-dashboard-viewer 5.3.0 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/index.test.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/breadcrumb/dashboard-breadcrumb.component.js.map +1 -1
- package/dist/lib/config-dialogs/confirm-dialog.component.js.map +1 -1
- package/dist/lib/config-dialogs/index.js.map +1 -1
- package/dist/lib/config-panels/artifact-config-panel.component.js.map +1 -1
- package/dist/lib/config-panels/base-config-panel.js.map +1 -1
- package/dist/lib/config-panels/index.js.map +1 -1
- package/dist/lib/config-panels/query-config-panel.component.js.map +1 -1
- package/dist/lib/config-panels/view-config-panel.component.js.map +1 -1
- package/dist/lib/config-panels/weburl-config-panel.component.js.map +1 -1
- package/dist/lib/dashboard-browser/dashboard-browser.component.js.map +1 -1
- package/dist/lib/dashboard-browser/index.js.map +1 -1
- package/dist/lib/dashboard-viewer/dashboard-viewer.component.js.map +1 -1
- package/dist/lib/dashboard-viewer.module.js.map +1 -1
- package/dist/lib/dialogs/add-panel-dialog/add-panel-dialog.component.js.map +1 -1
- package/dist/lib/dialogs/edit-part-dialog/edit-part-dialog.component.js.map +1 -1
- package/dist/lib/models/dashboard-types.js.map +1 -1
- package/dist/lib/parts/artifact-part.component.js.map +1 -1
- package/dist/lib/parts/base-dashboard-part.js.map +1 -1
- package/dist/lib/parts/index.js.map +1 -1
- package/dist/lib/parts/query-part.component.js.map +1 -1
- package/dist/lib/parts/view-part.component.js.map +1 -1
- package/dist/lib/parts/weburl-part.component.js.map +1 -1
- package/dist/lib/services/golden-layout-wrapper.service.js.map +1 -1
- package/dist/public-api.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-browser.component.js","sourceRoot":"","sources":["../../../src/lib/dashboard-browser/dashboard-browser.component.ts","../../../src/lib/dashboard-browser/dashboard-browser.component.html"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dashboard-browser.component.js","sourceRoot":"","sources":["../../../src/lib/dashboard-browser/dashboard-browser.component.ts","../../../src/lib/dashboard-browser/dashboard-browser.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnInit,\n OnDestroy,\n ChangeDetectorRef,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { MJDashboardEntity, MJDashboardCategoryEntity, DashboardUserPermissions } from '@memberjunction/core-entities';\n\n// ========================================\n// Event Types\n// ========================================\n\n/**\n * View mode for the dashboard browser\n */\nexport type DashboardBrowserViewMode = 'cards' | 'list';\n\n/**\n * Event emitted when a dashboard is selected for viewing\n */\nexport interface DashboardOpenEvent {\n Dashboard: MJDashboardEntity;\n OpenInNewTab: boolean;\n}\n\n/**\n * Event emitted when a dashboard is selected for editing\n */\nexport interface DashboardEditEvent {\n Dashboard: MJDashboardEntity;\n}\n\n/**\n * Event emitted when dashboards are requested for deletion\n */\nexport interface DashboardDeleteEvent {\n Dashboards: MJDashboardEntity[];\n}\n\n/**\n * Event emitted when dashboards are requested to be moved to a folder\n */\nexport interface DashboardMoveEvent {\n Dashboards: MJDashboardEntity[];\n TargetCategoryId: string | null;\n}\n\n/**\n * Event emitted when the category filter changes\n */\nexport interface CategoryChangeEvent {\n CategoryId: string | null;\n Category: MJDashboardCategoryEntity | null;\n}\n\n/**\n * Event emitted when view mode changes\n */\nexport interface ViewModeChangeEvent {\n Mode: DashboardBrowserViewMode;\n}\n\n/**\n * Event emitted when a new dashboard should be created\n */\nexport interface DashboardCreateEvent {\n CategoryId: string | null;\n}\n\n/**\n * Event emitted when a new category should be created\n */\nexport interface CategoryCreateEvent {\n ParentCategoryId: string | null;\n Name: string;\n Description: string | null;\n}\n\n/**\n * Event emitted when a category should be deleted\n */\nexport interface CategoryDeleteEvent {\n Category: MJDashboardCategoryEntity;\n IncludeContents: boolean;\n}\n\n/**\n * Event emitted when view preference should be persisted\n */\nexport interface ViewPreferenceChangeEvent {\n ViewMode: DashboardBrowserViewMode;\n}\n\n/**\n * Generic dashboard browser component.\n * Displays dashboards in card or list view with multi-select, filtering, and bulk actions.\n *\n * This component is GENERIC and has no routing dependencies.\n * All navigation and persistence events are bubbled up for the parent to handle.\n */\n@Component({\n standalone: false,\n selector: 'mj-dashboard-browser',\n templateUrl: './dashboard-browser.component.html',\n styleUrls: ['./dashboard-browser.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DashboardBrowserComponent implements OnInit, OnDestroy {\n // ========================================\n // Inputs\n // ========================================\n\n /** All dashboards to display */\n private _dashboards: MJDashboardEntity[] = [];\n\n @Input()\n set Dashboards(value: MJDashboardEntity[]) {\n this._dashboards = value || [];\n this.applyFilters();\n }\n get Dashboards(): MJDashboardEntity[] {\n return this._dashboards;\n }\n\n /** All categories for filtering */\n private _categories: MJDashboardCategoryEntity[] = [];\n\n @Input()\n set Categories(value: MJDashboardCategoryEntity[]) {\n this._categories = value || [];\n // Update child categories when categories change (async loading)\n this.updateChildCategories();\n this.cdr.markForCheck();\n }\n get Categories(): MJDashboardCategoryEntity[] {\n return this._categories;\n }\n\n /** Currently selected category ID (for deep linking) */\n private _selectedCategoryId: string | null = null;\n\n @Input()\n set SelectedCategoryId(value: string | null) {\n if (value !== this._selectedCategoryId) {\n this._selectedCategoryId = value;\n this.applyFilters();\n }\n }\n get SelectedCategoryId(): string | null {\n return this._selectedCategoryId;\n }\n\n /** Initial view mode */\n private _viewMode: DashboardBrowserViewMode = 'cards';\n\n @Input()\n set ViewMode(value: DashboardBrowserViewMode) {\n if (value !== this._viewMode) {\n this._viewMode = value;\n this.cdr.markForCheck();\n }\n }\n get ViewMode(): DashboardBrowserViewMode {\n return this._viewMode;\n }\n\n /** Whether the browser is in loading state */\n @Input() IsLoading = false;\n\n /** Whether to show the create button */\n @Input() ShowCreateButton = true;\n\n /** Whether to allow multi-select (enables selection mode toggle) */\n @Input() AllowMultiSelect = true;\n\n /** Whether to allow drag and drop */\n @Input() AllowDragDrop = true;\n\n /** Whether currently in selection mode (checkboxes visible) */\n public IsSelectionMode = false;\n\n /** Title to display in the header */\n @Input() Title = 'Dashboards';\n\n /** Icon class for the header */\n @Input() IconClass = 'fa-solid fa-gauge-high';\n\n /**\n * Map of dashboard ID to user permissions.\n * Used to show shared indicators and control edit/delete button visibility.\n */\n private _dashboardPermissions: Map<string, DashboardUserPermissions> = new Map();\n\n @Input()\n set DashboardPermissions(value: Map<string, DashboardUserPermissions> | null) {\n this._dashboardPermissions = value || new Map();\n this.cdr.markForCheck();\n }\n get DashboardPermissions(): Map<string, DashboardUserPermissions> {\n return this._dashboardPermissions;\n }\n\n /**\n * Map of dashboard ID to effective category ID for display.\n * Used to show shared dashboards in the user's chosen category instead of owner's category.\n * If a dashboard ID is not in this map, its actual CategoryID is used.\n * Use empty string '' to indicate root/uncategorized.\n */\n private _effectiveCategoryMap: Map<string, string | null> = new Map();\n\n @Input()\n set EffectiveCategoryMap(value: Map<string, string | null> | null) {\n this._effectiveCategoryMap = value || new Map();\n this.applyFilters();\n }\n get EffectiveCategoryMap(): Map<string, string | null> {\n return this._effectiveCategoryMap;\n }\n\n // ========================================\n // Outputs\n // ========================================\n\n /** Emitted when a dashboard is opened for viewing */\n @Output() DashboardOpen = new EventEmitter<DashboardOpenEvent>();\n\n /** Emitted when a dashboard is opened for editing */\n @Output() DashboardEdit = new EventEmitter<DashboardEditEvent>();\n\n /** Emitted when dashboards are requested for deletion */\n @Output() DashboardDelete = new EventEmitter<DashboardDeleteEvent>();\n\n /** Emitted when dashboards are requested to move to a folder */\n @Output() DashboardMove = new EventEmitter<DashboardMoveEvent>();\n\n /** Emitted when a new dashboard should be created */\n @Output() DashboardCreate = new EventEmitter<DashboardCreateEvent>();\n\n /** Emitted when a new category should be created */\n @Output() CategoryCreate = new EventEmitter<CategoryCreateEvent>();\n\n /** Emitted when a category should be deleted */\n @Output() CategoryDelete = new EventEmitter<CategoryDeleteEvent>();\n\n /** Emitted when the category filter changes */\n @Output() CategoryChange = new EventEmitter<CategoryChangeEvent>();\n\n /** Emitted when view mode changes (for persistence) */\n @Output() ViewModeChange = new EventEmitter<ViewModeChangeEvent>();\n\n /** Emitted when view preference should be persisted */\n @Output() ViewPreferenceChange = new EventEmitter<ViewPreferenceChangeEvent>();\n\n // ========================================\n // State\n // ========================================\n\n /** Filtered dashboards based on search and category */\n public FilteredDashboards: MJDashboardEntity[] = [];\n\n /** Current search text */\n public SearchText = '';\n\n /** Set of selected dashboard IDs */\n public SelectedIds = new Set<string>();\n\n /** Last clicked dashboard ID (for shift-click range selection) */\n private lastClickedId: string | null = null;\n\n /** Whether delete confirmation dialog is visible */\n public ShowDeleteConfirm = false;\n\n /** Whether move-to-folder dialog is visible */\n public ShowMoveDialog = false;\n\n /** Dashboards pending deletion (for confirm dialog) */\n public DashboardsPendingDelete: MJDashboardEntity[] = [];\n\n /** Currently dragging dashboard ID */\n public DraggingId: string | null = null;\n\n /** Drop target category ID */\n public DropTargetCategoryId: string | null = null;\n\n /** Whether the \"New\" dropdown menu is open */\n public ShowNewMenu = false;\n\n /** Whether the create category dialog is visible */\n public ShowCreateCategoryDialog = false;\n\n /** New category form values */\n public NewCategoryName = '';\n public NewCategoryDescription = '';\n\n /** Child categories of the current folder */\n public ChildCategories: MJDashboardCategoryEntity[] = [];\n\n /** Filtered child categories (based on search) */\n public FilteredChildCategories: MJDashboardCategoryEntity[] = [];\n\n /** Breadcrumb trail from root to current category */\n public Breadcrumbs: MJDashboardCategoryEntity[] = [];\n\n /** Whether the delete category dialog is visible */\n public ShowDeleteCategoryConfirm = false;\n\n /** Category pending deletion */\n public CategoryPendingDelete: MJDashboardCategoryEntity | null = null;\n\n /** Whether to include contents when deleting category */\n public DeleteCategoryIncludeContents = false;\n\n /** Drop target category ID for drag-over highlighting on category cards */\n public DragOverChildCategoryId: string | null = null;\n\n private readonly destroy$ = new Subject<void>();\n\n // ========================================\n // Constructor\n // ========================================\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n // ========================================\n // Lifecycle\n // ========================================\n\n ngOnInit(): void {\n this.applyFilters();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n // ========================================\n // Public Methods - View Mode\n // ========================================\n\n /**\n * Toggle between card and list view\n */\n public ToggleViewMode(): void {\n this.ViewMode = this.ViewMode === 'cards' ? 'list' : 'cards';\n this.ViewModeChange.emit({ Mode: this.ViewMode });\n this.ViewPreferenceChange.emit({ ViewMode: this.ViewMode });\n }\n\n /**\n * Set view mode explicitly\n */\n public SetViewMode(mode: DashboardBrowserViewMode): void {\n if (mode !== this.ViewMode) {\n this.ViewMode = mode;\n this.ViewModeChange.emit({ Mode: mode });\n this.ViewPreferenceChange.emit({ ViewMode: mode });\n }\n }\n\n // ========================================\n // Public Methods - Filtering\n // ========================================\n\n /**\n * Handle search text change\n */\n public OnSearchChange(): void {\n this.applyFilters();\n }\n\n /**\n * Clear search text\n */\n public ClearSearch(): void {\n this.SearchText = '';\n this.applyFilters();\n }\n\n /**\n * Handle category filter change\n */\n public OnCategoryChange(categoryId: string | null): void {\n this._selectedCategoryId = categoryId;\n const category = categoryId\n ? this.Categories.find(c => c.ID === categoryId) || null\n : null;\n this.CategoryChange.emit({ CategoryId: categoryId, Category: category });\n this.applyFilters();\n }\n\n /**\n * Clear all filters\n */\n public ClearFilters(): void {\n this.SearchText = '';\n this._selectedCategoryId = null;\n this.CategoryChange.emit({ CategoryId: null, Category: null });\n this.applyFilters();\n }\n\n /**\n * Navigate into a category folder\n */\n public NavigateToCategory(categoryId: string | null): void {\n this._selectedCategoryId = categoryId;\n const category = categoryId\n ? this.Categories.find(c => c.ID === categoryId) || null\n : null;\n this.CategoryChange.emit({ CategoryId: categoryId, Category: category });\n this.applyFilters();\n }\n\n /**\n * Navigate up to parent category\n */\n public NavigateUp(): void {\n if (!this._selectedCategoryId) return;\n\n const currentCategory = this.Categories.find(c => c.ID === this._selectedCategoryId);\n const parentId = currentCategory?.ParentID || null;\n this.NavigateToCategory(parentId);\n }\n\n /**\n * Check if we're at the root level\n */\n public get IsAtRoot(): boolean {\n return !this._selectedCategoryId;\n }\n\n /**\n * Get the current category (for display)\n */\n public get CurrentCategory(): MJDashboardCategoryEntity | null {\n if (!this._selectedCategoryId) return null;\n return this.Categories.find(c => c.ID === this._selectedCategoryId) || null;\n }\n\n // ========================================\n // Public Methods - Selection\n // ========================================\n\n /**\n * Handle dashboard click with multi-select support\n */\n public OnDashboardClick(dashboard: MJDashboardEntity, event: MouseEvent): void {\n if (!this.AllowMultiSelect) {\n // Single select mode - just open the dashboard\n this.DashboardOpen.emit({ Dashboard: dashboard, OpenInNewTab: event.ctrlKey || event.metaKey });\n return;\n }\n\n if (event.shiftKey && this.lastClickedId) {\n // Shift-click: range selection\n this.selectRange(this.lastClickedId, dashboard.ID);\n } else if (event.ctrlKey || event.metaKey) {\n // Ctrl/Cmd-click: toggle selection\n this.ToggleSelection(dashboard.ID);\n } else {\n // Normal click: if not selected, open; if selected with others, open\n if (this.SelectedIds.size <= 1) {\n this.SelectedIds.clear();\n this.DashboardOpen.emit({ Dashboard: dashboard, OpenInNewTab: false });\n } else if (this.SelectedIds.has(dashboard.ID)) {\n // Clicking on one of multiple selected items - open just this one\n this.SelectedIds.clear();\n this.DashboardOpen.emit({ Dashboard: dashboard, OpenInNewTab: false });\n } else {\n // Clicking on unselected item - clear selection and open\n this.SelectedIds.clear();\n this.DashboardOpen.emit({ Dashboard: dashboard, OpenInNewTab: false });\n }\n }\n\n this.lastClickedId = dashboard.ID;\n this.cdr.markForCheck();\n }\n\n /**\n * Handle double-click to edit\n */\n public OnDashboardDoubleClick(dashboard: MJDashboardEntity, event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.DashboardEdit.emit({ Dashboard: dashboard });\n }\n\n /**\n * Check if a dashboard is selected\n */\n public IsSelected(dashboardId: string): boolean {\n return this.SelectedIds.has(dashboardId);\n }\n\n /**\n * Select all visible dashboards\n */\n public SelectAll(): void {\n this.SelectedIds.clear();\n for (const dashboard of this.FilteredDashboards) {\n this.SelectedIds.add(dashboard.ID);\n }\n this.cdr.markForCheck();\n }\n\n /**\n * Clear all selections\n */\n public ClearSelection(): void {\n this.SelectedIds.clear();\n this.lastClickedId = null;\n this.cdr.markForCheck();\n }\n\n /**\n * Enter selection mode (show checkboxes)\n */\n public EnterSelectionMode(): void {\n if (!this.AllowMultiSelect) return;\n this.IsSelectionMode = true;\n this.cdr.markForCheck();\n }\n\n /**\n * Exit selection mode (hide checkboxes and clear selections)\n */\n public ExitSelectionMode(): void {\n this.IsSelectionMode = false;\n this.SelectedIds.clear();\n this.lastClickedId = null;\n this.cdr.markForCheck();\n }\n\n /**\n * Toggle selection mode\n */\n public ToggleSelectionMode(): void {\n if (this.IsSelectionMode) {\n this.ExitSelectionMode();\n } else {\n this.EnterSelectionMode();\n }\n }\n\n /**\n * Get count of selected dashboards\n */\n public get SelectedCount(): number {\n return this.SelectedIds.size;\n }\n\n /**\n * Get selected dashboards\n */\n public GetSelectedDashboards(): MJDashboardEntity[] {\n return this.Dashboards.filter(d => this.SelectedIds.has(d.ID));\n }\n\n // ========================================\n // Public Methods - Actions\n // ========================================\n\n /**\n * Toggle the \"New\" dropdown menu\n */\n public ToggleNewMenu(): void {\n this.ShowNewMenu = !this.ShowNewMenu;\n }\n\n /**\n * Close the \"New\" dropdown menu\n */\n public CloseNewMenu(): void {\n this.ShowNewMenu = false;\n }\n\n /**\n * Request to create a new dashboard\n */\n public OnCreateDashboard(): void {\n this.CloseNewMenu();\n this.DashboardCreate.emit({ CategoryId: this.SelectedCategoryId });\n }\n\n /**\n * Open the create category dialog\n */\n public OpenCreateCategoryDialog(): void {\n this.CloseNewMenu();\n this.NewCategoryName = '';\n this.NewCategoryDescription = '';\n this.ShowCreateCategoryDialog = true;\n this.cdr.markForCheck();\n }\n\n /**\n * Close the create category dialog\n */\n public CloseCreateCategoryDialog(): void {\n this.ShowCreateCategoryDialog = false;\n this.NewCategoryName = '';\n this.NewCategoryDescription = '';\n this.cdr.markForCheck();\n }\n\n /**\n * Confirm category creation\n */\n public ConfirmCreateCategory(): void {\n if (!this.NewCategoryName.trim()) return;\n\n this.CategoryCreate.emit({\n ParentCategoryId: this.SelectedCategoryId,\n Name: this.NewCategoryName.trim(),\n Description: this.NewCategoryDescription.trim() || null\n });\n this.CloseCreateCategoryDialog();\n }\n\n /**\n * Open edit dialog for single dashboard via context menu\n */\n public OnEditDashboard(dashboard: MJDashboardEntity, event: Event): void {\n event.stopPropagation();\n this.DashboardEdit.emit({ Dashboard: dashboard });\n }\n\n /**\n * Request to delete a single dashboard\n */\n public OnDeleteDashboard(dashboard: MJDashboardEntity, event: Event): void {\n event.stopPropagation();\n this.DashboardsPendingDelete = [dashboard];\n this.ShowDeleteConfirm = true;\n this.cdr.markForCheck();\n }\n\n /**\n * Request to delete selected dashboards.\n * Only includes dashboards the user has permission to delete.\n */\n public OnDeleteSelected(): void {\n if (this.SelectedIds.size === 0) return;\n\n // Only include dashboards the user can delete\n this.DashboardsPendingDelete = this.GetDeletableSelectedDashboards();\n\n if (this.DashboardsPendingDelete.length === 0) {\n // No deletable dashboards selected\n return;\n }\n\n this.ShowDeleteConfirm = true;\n this.cdr.markForCheck();\n }\n\n /**\n * Confirm deletion\n */\n public ConfirmDelete(): void {\n if (this.DashboardsPendingDelete.length > 0) {\n this.DashboardDelete.emit({ Dashboards: this.DashboardsPendingDelete });\n // Clear selection for deleted items\n for (const d of this.DashboardsPendingDelete) {\n this.SelectedIds.delete(d.ID);\n }\n }\n this.CloseDeleteConfirm();\n // Exit selection mode after bulk operation\n this.ExitSelectionMode();\n }\n\n /**\n * Cancel deletion\n */\n public CloseDeleteConfirm(): void {\n this.ShowDeleteConfirm = false;\n this.DashboardsPendingDelete = [];\n this.cdr.markForCheck();\n }\n\n /**\n * Open move-to-folder dialog for selected dashboards\n */\n public OnMoveSelected(): void {\n if (this.SelectedIds.size === 0) return;\n this.ShowMoveDialog = true;\n this.cdr.markForCheck();\n }\n\n /**\n * Confirm move to folder\n */\n public ConfirmMove(targetCategoryId: string | null): void {\n const dashboards = this.GetSelectedDashboards();\n if (dashboards.length > 0) {\n this.DashboardMove.emit({\n Dashboards: dashboards,\n TargetCategoryId: targetCategoryId\n });\n }\n this.CloseMoveDialog();\n // Exit selection mode after bulk operation\n this.ExitSelectionMode();\n }\n\n /**\n * Cancel move\n */\n public CloseMoveDialog(): void {\n this.ShowMoveDialog = false;\n this.cdr.markForCheck();\n }\n\n // ========================================\n // Public Methods - Category Actions\n // ========================================\n\n /**\n * Request to delete a category\n */\n public OnDeleteCategory(category: MJDashboardCategoryEntity, event: Event): void {\n event.stopPropagation();\n this.CategoryPendingDelete = category;\n this.DeleteCategoryIncludeContents = false;\n this.ShowDeleteCategoryConfirm = true;\n this.cdr.markForCheck();\n }\n\n /**\n * Confirm category deletion\n */\n public ConfirmDeleteCategory(): void {\n if (this.CategoryPendingDelete) {\n this.CategoryDelete.emit({\n Category: this.CategoryPendingDelete,\n IncludeContents: this.DeleteCategoryIncludeContents\n });\n }\n this.CloseDeleteCategoryConfirm();\n }\n\n /**\n * Cancel category deletion\n */\n public CloseDeleteCategoryConfirm(): void {\n this.ShowDeleteCategoryConfirm = false;\n this.CategoryPendingDelete = null;\n this.DeleteCategoryIncludeContents = false;\n this.cdr.markForCheck();\n }\n\n /**\n * Get count of dashboards and sub-categories in a category\n */\n public GetCategoryContentCount(category: MJDashboardCategoryEntity): { dashboards: number; categories: number } {\n const dashboards = this.Dashboards.filter(d => d.CategoryID === category.ID).length;\n const categories = this.Categories.filter(c => c.ParentID === category.ID).length;\n return { dashboards, categories };\n }\n\n // ========================================\n // Public Methods - Drag and Drop\n // ========================================\n\n /**\n * Handle drag start\n */\n public OnDragStart(dashboard: MJDashboardEntity, event: DragEvent): void {\n if (!this.AllowDragDrop) return;\n\n this.DraggingId = dashboard.ID;\n\n // If dragging an unselected item, select only it\n if (!this.SelectedIds.has(dashboard.ID)) {\n this.SelectedIds.clear();\n this.SelectedIds.add(dashboard.ID);\n }\n\n // Set drag data\n const dragData = {\n type: 'dashboards',\n ids: Array.from(this.SelectedIds)\n };\n event.dataTransfer?.setData('application/json', JSON.stringify(dragData));\n event.dataTransfer!.effectAllowed = 'move';\n\n // Create custom drag image for list view (smaller than full row)\n if (this._viewMode === 'list' && event.dataTransfer) {\n const dragPreview = this.createDragPreview(dashboard);\n document.body.appendChild(dragPreview);\n event.dataTransfer.setDragImage(dragPreview, 12, 12);\n // Clean up the preview element after drag starts\n setTimeout(() => dragPreview.remove(), 0);\n }\n\n this.cdr.markForCheck();\n }\n\n /**\n * Create a compact drag preview element\n */\n private createDragPreview(dashboard: MJDashboardEntity): HTMLElement {\n const count = this.SelectedIds.size;\n const preview = document.createElement('div');\n preview.style.cssText = `\n position: absolute;\n left: -9999px;\n top: -9999px;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #5c6bc0;\n color: white;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 4px 12px rgba(0,0,0,0.3);\n white-space: nowrap;\n `;\n\n const icon = document.createElement('i');\n icon.className = 'fa-solid fa-chart-line';\n preview.appendChild(icon);\n\n const text = document.createElement('span');\n text.textContent = count > 1 ? `${count} dashboards` : dashboard.Name;\n preview.appendChild(text);\n\n return preview;\n }\n\n /**\n * Handle drag end\n */\n public OnDragEnd(): void {\n this.DraggingId = null;\n this.DropTargetCategoryId = null;\n this.cdr.markForCheck();\n }\n\n /**\n * Handle drag over category\n */\n public OnDragOverCategory(categoryId: string | null, event: DragEvent): void {\n if (!this.AllowDragDrop) return;\n event.preventDefault();\n event.dataTransfer!.dropEffect = 'move';\n this.DropTargetCategoryId = categoryId;\n this.cdr.markForCheck();\n }\n\n /**\n * Handle drag leave category\n */\n public OnDragLeaveCategory(): void {\n this.DropTargetCategoryId = null;\n this.cdr.markForCheck();\n }\n\n /**\n * Handle drop on category\n */\n public OnDropOnCategory(categoryId: string | null, event: DragEvent): void {\n if (!this.AllowDragDrop) return;\n event.preventDefault();\n\n const data = event.dataTransfer?.getData('application/json');\n if (data) {\n try {\n const dragData = JSON.parse(data);\n if (dragData.type === 'dashboards' && dragData.ids?.length > 0) {\n const dashboards = this.Dashboards.filter(d => dragData.ids.includes(d.ID));\n if (dashboards.length > 0) {\n this.DashboardMove.emit({\n Dashboards: dashboards,\n TargetCategoryId: categoryId\n });\n }\n }\n } catch {\n // Invalid drag data\n }\n }\n\n this.DraggingId = null;\n this.DropTargetCategoryId = null;\n this.cdr.markForCheck();\n }\n\n // ========================================\n // Public Methods - Helpers\n // ========================================\n\n /**\n * Get category name for a dashboard\n */\n public GetCategoryName(categoryId: string | null): string {\n if (!categoryId) return 'Uncategorized';\n const category = this.Categories.find(c => c.ID === categoryId);\n return category?.Name || 'Unknown';\n }\n\n /**\n * Format date for display\n */\n public FormatDate(date: Date): string {\n if (!date) return '';\n const d = new Date(date);\n const now = new Date();\n const diffMs = now.getTime() - d.getTime();\n const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24));\n\n if (diffDays === 0) {\n return 'Today';\n } else if (diffDays === 1) {\n return 'Yesterday';\n } else if (diffDays < 7) {\n return `${diffDays} days ago`;\n } else {\n return d.toLocaleDateString();\n }\n }\n\n /**\n * Track by function for ngFor\n */\n public TrackByDashboard(_index: number, dashboard: MJDashboardEntity): string {\n return dashboard.ID;\n }\n\n /**\n * Track by function for categories\n */\n public TrackByCategory(_index: number, category: MJDashboardCategoryEntity): string {\n return category.ID;\n }\n\n // ========================================\n // Public Methods - Category Helpers\n // ========================================\n\n /**\n * Gets the effective category ID for a dashboard for display purposes.\n * For shared dashboards, this may differ from the actual CategoryID\n * based on the user's DashboardCategoryLink.\n */\n public GetEffectiveCategoryId(dashboard: MJDashboardEntity): string | null {\n // If we have an effective category mapping, use it\n if (this._effectiveCategoryMap.has(dashboard.ID)) {\n return this._effectiveCategoryMap.get(dashboard.ID) ?? null;\n }\n // Otherwise use the dashboard's actual category\n return dashboard.CategoryID || null;\n }\n\n // ========================================\n // Public Methods - Permission Checks\n // ========================================\n\n /**\n * Check if a dashboard is shared with the current user (not owned)\n */\n public IsShared(dashboardId: string): boolean {\n const perms = this._dashboardPermissions.get(dashboardId);\n // If permissions exist and user is not owner but can read, it's shared\n return perms ? !perms.IsOwner && perms.CanRead : false;\n }\n\n /**\n * Check if user can edit a dashboard\n */\n public CanEdit(dashboardId: string): boolean {\n const perms = this._dashboardPermissions.get(dashboardId);\n // Default to true if no permissions provided (backwards compatibility)\n return perms ? perms.CanEdit : true;\n }\n\n /**\n * Check if user can delete a dashboard\n */\n public CanDelete(dashboardId: string): boolean {\n const perms = this._dashboardPermissions.get(dashboardId);\n // Default to true if no permissions provided (backwards compatibility)\n return perms ? perms.CanDelete : true;\n }\n\n /**\n * Check if any of the currently selected dashboards can be deleted.\n * Returns true only if at least one selected dashboard can be deleted.\n * Used to enable/disable the bulk delete button in selection mode.\n */\n public get CanDeleteAnySelected(): boolean {\n if (this.SelectedIds.size === 0) return false;\n\n for (const id of this.SelectedIds) {\n if (this.CanDelete(id)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the list of selected dashboards that can be deleted.\n * Filters out dashboards the user doesn't have permission to delete.\n */\n public GetDeletableSelectedDashboards(): MJDashboardEntity[] {\n return this.GetSelectedDashboards().filter(d => this.CanDelete(d.ID));\n }\n\n /**\n * Highlight matching search text in a string\n * Returns HTML with <mark> tags around matches\n */\n public HighlightMatch(text: string): string {\n if (!this.SearchText.trim() || !text) return text;\n\n const search = this.SearchText.trim();\n const regex = new RegExp(`(${this.escapeRegex(search)})`, 'gi');\n return text.replace(regex, '<mark>$1</mark>');\n }\n\n /**\n * Escape special regex characters\n */\n private escapeRegex(str: string): string {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n }\n\n // ========================================\n // Drag and Drop on Category Cards\n // ========================================\n\n /**\n * Handle drag over a category card\n */\n public OnDragOverChildCategory(categoryId: string, event: DragEvent): void {\n if (!this.AllowDragDrop || !this.DraggingId) return;\n event.preventDefault();\n event.stopPropagation();\n event.dataTransfer!.dropEffect = 'move';\n this.DragOverChildCategoryId = categoryId;\n this.cdr.markForCheck();\n }\n\n /**\n * Handle drag leave from a category card\n */\n public OnDragLeaveChildCategory(): void {\n this.DragOverChildCategoryId = null;\n this.cdr.markForCheck();\n }\n\n /**\n * Handle drop on a category card\n */\n public OnDropOnChildCategory(categoryId: string, event: DragEvent): void {\n if (!this.AllowDragDrop) return;\n event.preventDefault();\n event.stopPropagation();\n\n const data = event.dataTransfer?.getData('application/json');\n if (data) {\n try {\n const dragData = JSON.parse(data);\n if (dragData.type === 'dashboards' && dragData.ids?.length > 0) {\n const dashboards = this.Dashboards.filter(d => dragData.ids.includes(d.ID));\n if (dashboards.length > 0) {\n this.DashboardMove.emit({\n Dashboards: dashboards,\n TargetCategoryId: categoryId\n });\n // Exit selection mode after move\n this.ExitSelectionMode();\n }\n }\n } catch {\n // Invalid drag data\n }\n }\n\n this.DraggingId = null;\n this.DragOverChildCategoryId = null;\n this.DropTargetCategoryId = null;\n this.cdr.markForCheck();\n }\n\n /**\n * Handle drop from breadcrumb component\n */\n public OnBreadcrumbDrop(event: { TargetCategoryId: string | null; DashboardIds: string[] }): void {\n const dashboards = this.Dashboards.filter(d => event.DashboardIds.includes(d.ID));\n if (dashboards.length > 0) {\n this.DashboardMove.emit({\n Dashboards: dashboards,\n TargetCategoryId: event.TargetCategoryId\n });\n // Exit selection mode after move\n this.ExitSelectionMode();\n }\n }\n\n // ========================================\n // Private Methods\n // ========================================\n\n private applyFilters(): void {\n let filtered = [...this._dashboards];\n\n // Filter out non-Config dashboards (Code and Dynamic Code types are not viewable/editable in browser)\n filtered = filtered.filter(d => d.Type === 'Config');\n\n // Filter by search text\n if (this.SearchText.trim()) {\n const search = this.SearchText.toLowerCase();\n filtered = filtered.filter(d =>\n d.Name.toLowerCase().includes(search) ||\n (d.Description || '').toLowerCase().includes(search)\n );\n }\n\n // Filter by current folder (category)\n // When at root (null), show only uncategorized dashboards\n // When in a category, show only dashboards directly in that category\n // Uses effective category (from EffectiveCategoryMap) for shared dashboards\n if (this._selectedCategoryId) {\n filtered = filtered.filter(d => this.GetEffectiveCategoryId(d) === this._selectedCategoryId);\n } else {\n // At root level, show only uncategorized dashboards (effective CategoryID is null or empty)\n filtered = filtered.filter(d => !this.GetEffectiveCategoryId(d));\n }\n\n this.FilteredDashboards = filtered;\n this.updateChildCategories();\n this.updateBreadcrumbs();\n this.cdr.markForCheck();\n }\n\n /**\n * Update the list of child categories for the current folder\n */\n private updateChildCategories(): void {\n // Find categories that are children of the current category\n // Handle both null and undefined ParentID for root-level categories\n if (this._selectedCategoryId) {\n this.ChildCategories = this.Categories.filter(c => c.ParentID === this._selectedCategoryId);\n } else {\n // At root level - show categories with no parent (null or undefined)\n this.ChildCategories = this.Categories.filter(c => !c.ParentID);\n }\n\n // Apply search filter to categories if search text exists\n if (this.SearchText.trim()) {\n const search = this.SearchText.toLowerCase();\n this.FilteredChildCategories = this.ChildCategories.filter(c =>\n c.Name.toLowerCase().includes(search) ||\n (c.Description || '').toLowerCase().includes(search)\n );\n } else {\n this.FilteredChildCategories = [...this.ChildCategories];\n }\n }\n\n /**\n * Update breadcrumb trail from root to current category\n */\n private updateBreadcrumbs(): void {\n this.Breadcrumbs = [];\n\n if (!this._selectedCategoryId) return;\n\n // Build the path from current category to root\n const path: MJDashboardCategoryEntity[] = [];\n let currentId: string | null = this._selectedCategoryId;\n\n while (currentId) {\n const category = this.Categories.find(c => c.ID === currentId);\n if (category) {\n path.unshift(category);\n currentId = category.ParentID;\n } else {\n break;\n }\n }\n\n this.Breadcrumbs = path;\n }\n\n /**\n * Toggle selection for a single dashboard\n */\n public ToggleSelection(dashboardId: string): void {\n if (this.SelectedIds.has(dashboardId)) {\n this.SelectedIds.delete(dashboardId);\n } else {\n this.SelectedIds.add(dashboardId);\n }\n this.cdr.markForCheck();\n }\n\n private selectRange(fromId: string, toId: string): void {\n const fromIndex = this.FilteredDashboards.findIndex(d => d.ID === fromId);\n const toIndex = this.FilteredDashboards.findIndex(d => d.ID === toId);\n\n if (fromIndex === -1 || toIndex === -1) return;\n\n const start = Math.min(fromIndex, toIndex);\n const end = Math.max(fromIndex, toIndex);\n\n for (let i = start; i <= end; i++) {\n this.SelectedIds.add(this.FilteredDashboards[i].ID);\n }\n }\n}\n","<!-- Dashboard Browser Component -->\n<div class=\"dashboard-browser\" [class.loading]=\"IsLoading\">\n <!-- Toolbar Row: Breadcrumb + Actions -->\n <div class=\"browser-toolbar\">\n <!-- Breadcrumb Navigation -->\n <mj-dashboard-breadcrumb\n [Categories]=\"Categories\"\n [CurrentCategoryId]=\"SelectedCategoryId\"\n [RootIcon]=\"IconClass\"\n [RootLabel]=\"Title\"\n [AllowDragDrop]=\"AllowDragDrop && (DraggingId !== null || IsSelectionMode)\"\n Size=\"large\"\n (Navigate)=\"NavigateToCategory($event.CategoryId)\"\n (DashboardDrop)=\"OnBreadcrumbDrop($event)\">\n </mj-dashboard-breadcrumb>\n\n <!-- Right-side Actions -->\n <div class=\"toolbar-actions\">\n <!-- Dashboard count -->\n <span class=\"dashboard-count\">{{ FilteredDashboards.length }} dashboards</span>\n\n <!-- View Toggle -->\n <div class=\"view-toggle\">\n <button\n class=\"toggle-btn\"\n [class.active]=\"ViewMode === 'cards'\"\n (click)=\"SetViewMode('cards')\"\n title=\"Card View\">\n <i class=\"fa-solid fa-grip\"></i>\n </button>\n <button\n class=\"toggle-btn\"\n [class.active]=\"ViewMode === 'list'\"\n (click)=\"SetViewMode('list')\"\n title=\"List View\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n </div>\n\n <!-- Selection Mode Toggle & Bulk Actions -->\n @if (AllowMultiSelect) {\n <!-- Enter Selection Mode Button (when not in selection mode) -->\n @if (!IsSelectionMode && FilteredDashboards.length > 0) {\n <button\n class=\"select-mode-btn\"\n (click)=\"EnterSelectionMode()\"\n title=\"Select multiple dashboards\">\n <i class=\"fa-solid fa-check-double\"></i>\n Select\n </button>\n }\n <!-- Selection Mode Toolbar (when in selection mode) -->\n @if (IsSelectionMode) {\n <div class=\"selection-toolbar\">\n <span class=\"selected-count\">{{ SelectedCount }} selected</span>\n <button class=\"action-btn\" (click)=\"SelectAll()\" title=\"Select all\">\n <i class=\"fa-solid fa-check-double\"></i>\n </button>\n <button class=\"action-btn\" (click)=\"OnMoveSelected()\" title=\"Move to folder\" [disabled]=\"SelectedCount === 0\">\n <i class=\"fa-solid fa-folder-open\"></i>\n </button>\n <button class=\"action-btn danger\" (click)=\"OnDeleteSelected()\" title=\"Delete selected\" [disabled]=\"!CanDeleteAnySelected\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n <button class=\"action-btn\" (click)=\"ExitSelectionMode()\" title=\"Exit selection mode\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n }\n\n <!-- New Dropdown Button -->\n @if (ShowCreateButton) {\n <div class=\"new-dropdown\">\n <button\n class=\"btn-primary\"\n (click)=\"ToggleNewMenu(); $event.stopPropagation()\">\n <i class=\"fa-solid fa-plus\"></i>\n New\n <i class=\"fa-solid fa-caret-down dropdown-caret\"></i>\n </button>\n @if (ShowNewMenu) {\n <div class=\"dropdown-menu\">\n <button class=\"dropdown-item\" (click)=\"OnCreateDashboard()\">\n <i class=\"fa-solid fa-chart-line\"></i>\n Dashboard\n </button>\n <button class=\"dropdown-item\" (click)=\"OpenCreateCategoryDialog()\">\n <i class=\"fa-solid fa-folder-plus\"></i>\n Category\n </button>\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Click-away overlay for dropdown -->\n @if (ShowNewMenu) {\n <div class=\"dropdown-backdrop\" (click)=\"CloseNewMenu()\"></div>\n }\n\n <!-- Filters -->\n <div class=\"browser-filters\">\n <div class=\"search-box\">\n <i class=\"fa-solid fa-search\"></i>\n <input\n type=\"text\"\n [(ngModel)]=\"SearchText\"\n (input)=\"OnSearchChange()\"\n placeholder=\"Search dashboards...\">\n @if (SearchText) {\n <button\n class=\"clear-btn\"\n (click)=\"ClearSearch()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n\n @if (SearchText) {\n <button\n class=\"clear-filters-btn\"\n (click)=\"ClearSearch()\">\n <i class=\"fa-solid fa-filter-circle-xmark\"></i>\n Clear Search\n </button>\n }\n </div>\n\n <!-- Loading Overlay -->\n @if (IsLoading) {\n <div class=\"loading-overlay\">\n <mj-loading text=\"Loading dashboards...\"></mj-loading>\n </div>\n }\n\n <!-- Card View -->\n @if (ViewMode === 'cards' && (FilteredChildCategories.length > 0 || FilteredDashboards.length > 0)) {\n <div class=\"dashboard-grid\">\n <!-- Category Folders -->\n @for (category of FilteredChildCategories; track TrackByCategory($index, category)) {\n <div\n class=\"dashboard-card category-card\"\n [class.drop-target]=\"DragOverChildCategoryId === category.ID\"\n (click)=\"NavigateToCategory(category.ID)\"\n (dblclick)=\"$event.stopPropagation()\"\n (dragover)=\"OnDragOverChildCategory(category.ID, $event)\"\n (dragleave)=\"OnDragLeaveChildCategory()\"\n (drop)=\"OnDropOnChildCategory(category.ID, $event)\">\n <div class=\"card-header\">\n <div class=\"card-icon folder-icon\">\n <i class=\"fa-solid fa-folder\"></i>\n </div>\n <div class=\"card-actions\">\n <button\n class=\"action-btn danger\"\n title=\"Delete category\"\n (click)=\"OnDeleteCategory(category, $event)\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n </div>\n </div>\n <div class=\"card-content\">\n <h3 class=\"card-title\" [innerHTML]=\"HighlightMatch(category.Name)\"></h3>\n @if (category.Description) {\n <p class=\"card-description\" [innerHTML]=\"HighlightMatch(category.Description)\">\n </p>\n }\n <div class=\"card-meta\">\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-folder-tree\"></i>\n Category\n </span>\n </div>\n </div>\n </div>\n }\n <!-- Dashboard Cards -->\n @for (dashboard of FilteredDashboards; track TrackByDashboard($index, dashboard)) {\n <div\n class=\"dashboard-card\"\n [class.selected]=\"IsSelected(dashboard.ID)\"\n [class.dragging]=\"DraggingId === dashboard.ID\"\n [draggable]=\"AllowDragDrop\"\n (click)=\"OnDashboardClick(dashboard, $event)\"\n (dblclick)=\"OnDashboardDoubleClick(dashboard, $event)\"\n (dragstart)=\"OnDragStart(dashboard, $event)\"\n (dragend)=\"OnDragEnd()\">\n <!-- Selection checkbox in top-right corner -->\n @if (IsSelectionMode) {\n <div\n class=\"card-select-area\"\n (click)=\"ToggleSelection(dashboard.ID); $event.stopPropagation()\">\n <input\n type=\"checkbox\"\n [checked]=\"IsSelected(dashboard.ID)\"\n (change)=\"$event.stopPropagation()\">\n </div>\n }\n <div class=\"card-header\">\n <div class=\"card-icon\">\n <i class=\"fa-solid fa-chart-line\"></i>\n </div>\n <div class=\"card-actions\">\n @if (CanEdit(dashboard.ID)) {\n <button\n class=\"action-btn\"\n title=\"Edit\"\n (click)=\"OnEditDashboard(dashboard, $event)\">\n <i class=\"fa-solid fa-edit\"></i>\n </button>\n }\n @if (CanDelete(dashboard.ID)) {\n <button\n class=\"action-btn danger\"\n title=\"Delete\"\n (click)=\"OnDeleteDashboard(dashboard, $event)\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n }\n </div>\n </div>\n <div class=\"card-content\">\n <h3 class=\"card-title\">\n <span [innerHTML]=\"HighlightMatch(dashboard.Name)\"></span>\n @if (IsShared(dashboard.ID)) {\n <span class=\"shared-badge\" title=\"Shared with you\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n </span>\n }\n </h3>\n @if (dashboard.Description) {\n <p class=\"card-description\" [innerHTML]=\"HighlightMatch(dashboard.Description)\">\n </p>\n }\n <div class=\"card-meta\">\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-clock\"></i>\n {{ FormatDate(dashboard.__mj_UpdatedAt) }}\n </span>\n </div>\n </div>\n </div>\n }\n </div>\n }\n\n <!-- List View -->\n @if (ViewMode === 'list' && (FilteredChildCategories.length > 0 || FilteredDashboards.length > 0)) {\n <div class=\"dashboard-list\">\n <div class=\"list-header\">\n @if (IsSelectionMode) {\n <div class=\"list-col checkbox-col\">\n <input\n type=\"checkbox\"\n [checked]=\"SelectedCount === FilteredDashboards.length && FilteredDashboards.length > 0\"\n [indeterminate]=\"SelectedCount > 0 && SelectedCount < FilteredDashboards.length\"\n (change)=\"SelectedCount === FilteredDashboards.length ? ClearSelection() : SelectAll()\">\n </div>\n }\n <div class=\"list-col name-col\">Name</div>\n <div class=\"list-col type-col\">Type</div>\n <div class=\"list-col date-col\">Modified</div>\n <div class=\"list-col actions-col\">Actions</div>\n </div>\n <!-- Category Rows -->\n @for (category of FilteredChildCategories; track TrackByCategory($index, category)) {\n <div\n class=\"list-row category-row\"\n [class.drop-target]=\"DragOverChildCategoryId === category.ID\"\n (click)=\"NavigateToCategory(category.ID)\"\n (dragover)=\"OnDragOverChildCategory(category.ID, $event)\"\n (dragleave)=\"OnDragLeaveChildCategory()\"\n (drop)=\"OnDropOnChildCategory(category.ID, $event)\">\n @if (IsSelectionMode) {\n <div class=\"list-col checkbox-col\">\n <!-- Empty placeholder for alignment -->\n </div>\n }\n <div class=\"list-col name-col\">\n <i class=\"fa-solid fa-folder row-icon folder-icon\"></i>\n <span class=\"dashboard-name\" [innerHTML]=\"HighlightMatch(category.Name)\"></span>\n </div>\n <div class=\"list-col type-col\">\n Category\n </div>\n <div class=\"list-col date-col\">\n <!-- No date for categories -->\n </div>\n <div class=\"list-col actions-col\" (click)=\"$event.stopPropagation()\">\n <button\n class=\"action-btn danger\"\n title=\"Delete category\"\n (click)=\"OnDeleteCategory(category, $event)\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n </div>\n </div>\n }\n <!-- Dashboard Rows -->\n @for (dashboard of FilteredDashboards; track TrackByDashboard($index, dashboard)) {\n <div\n class=\"list-row\"\n [class.selected]=\"IsSelected(dashboard.ID)\"\n [class.dragging]=\"DraggingId === dashboard.ID\"\n [draggable]=\"AllowDragDrop\"\n (click)=\"OnDashboardClick(dashboard, $event)\"\n (dblclick)=\"OnDashboardDoubleClick(dashboard, $event)\"\n (dragstart)=\"OnDragStart(dashboard, $event)\"\n (dragend)=\"OnDragEnd()\">\n @if (IsSelectionMode) {\n <div class=\"list-col checkbox-col\" (click)=\"$event.stopPropagation()\">\n <input\n type=\"checkbox\"\n [checked]=\"IsSelected(dashboard.ID)\"\n (change)=\"ToggleSelection(dashboard.ID)\">\n </div>\n }\n <div class=\"list-col name-col\">\n <i class=\"fa-solid fa-chart-line row-icon\"></i>\n <span class=\"dashboard-name\" [innerHTML]=\"HighlightMatch(dashboard.Name)\"></span>\n @if (IsShared(dashboard.ID)) {\n <span class=\"shared-badge\" title=\"Shared with you\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n </span>\n }\n </div>\n <div class=\"list-col type-col\">\n Dashboard\n </div>\n <div class=\"list-col date-col\">\n {{ FormatDate(dashboard.__mj_UpdatedAt) }}\n </div>\n <div class=\"list-col actions-col\" (click)=\"$event.stopPropagation()\">\n @if (CanEdit(dashboard.ID)) {\n <button\n class=\"action-btn\"\n title=\"Edit\"\n (click)=\"OnEditDashboard(dashboard, $event)\">\n <i class=\"fa-solid fa-edit\"></i>\n </button>\n }\n @if (CanDelete(dashboard.ID)) {\n <button\n class=\"action-btn danger\"\n title=\"Delete\"\n (click)=\"OnDeleteDashboard(dashboard, $event)\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n }\n </div>\n </div>\n }\n </div>\n }\n\n <!-- Empty State -->\n @if (FilteredDashboards.length === 0 && FilteredChildCategories.length === 0 && !IsLoading) {\n <div class=\"empty-state\">\n <div class=\"empty-state-content\">\n <!-- First-time user experience (no dashboards at all) -->\n @if (IsAtRoot && Dashboards.length === 0) {\n <div class=\"empty-illustration\">\n <div class=\"illustration-bg\">\n <i class=\"fa-solid fa-gauge-high main-icon\"></i>\n </div>\n <div class=\"illustration-accent accent-1\"><i class=\"fa-solid fa-chart-line\"></i></div>\n <div class=\"illustration-accent accent-2\"><i class=\"fa-solid fa-chart-bar\"></i></div>\n <div class=\"illustration-accent accent-3\"><i class=\"fa-solid fa-chart-pie\"></i></div>\n </div>\n <h2 class=\"empty-title\">Welcome to Dashboards</h2>\n <p class=\"empty-description\">\n Create custom dashboards to visualize your data, track key metrics, and monitor important information all in one place.\n </p>\n @if (ShowCreateButton) {\n <div class=\"empty-actions\">\n <button class=\"btn-primary large\" (click)=\"OnCreateDashboard()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create Your First Dashboard\n </button>\n </div>\n }\n <div class=\"empty-features\">\n <div class=\"feature-item\">\n <i class=\"fa-solid fa-table-cells\"></i>\n <span>Customizable layouts</span>\n </div>\n <div class=\"feature-item\">\n <i class=\"fa-solid fa-database\"></i>\n <span>Connect to your data</span>\n </div>\n <div class=\"feature-item\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n <span>Share with your team</span>\n </div>\n </div>\n }\n <!-- Folder is empty -->\n @if (!IsAtRoot && !SearchText) {\n <div class=\"empty-icon folder-empty\">\n <i class=\"fa-solid fa-folder-open\"></i>\n </div>\n <h3 class=\"empty-title\">This folder is empty</h3>\n <p class=\"empty-description\">\n Add dashboards or create sub-folders to organize your content.\n </p>\n @if (ShowCreateButton) {\n <div class=\"empty-actions\">\n <button class=\"btn-primary\" (click)=\"OnCreateDashboard()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create Dashboard\n </button>\n </div>\n }\n }\n <!-- Root has dashboards but none uncategorized -->\n @if (IsAtRoot && Dashboards.length > 0 && !SearchText) {\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-folder-tree\"></i>\n </div>\n <h3 class=\"empty-title\">No uncategorized dashboards</h3>\n <p class=\"empty-description\">\n All your dashboards are organized into folders. Browse the folders above or create a new dashboard here.\n </p>\n @if (ShowCreateButton) {\n <div class=\"empty-actions\">\n <button class=\"btn-primary\" (click)=\"OnCreateDashboard()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create Dashboard\n </button>\n </div>\n }\n }\n <!-- Search returned no results -->\n @if (SearchText) {\n <div class=\"empty-icon search-empty\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n </div>\n <h3 class=\"empty-title\">No results found</h3>\n <p class=\"empty-description\">\n No dashboards or folders match \"<strong>{{ SearchText }}</strong>\". Try a different search term.\n </p>\n <div class=\"empty-actions\">\n <button class=\"btn-secondary\" (click)=\"ClearSearch()\">\n <i class=\"fa-solid fa-times\"></i>\n Clear Search\n </button>\n </div>\n }\n </div>\n </div>\n }\n\n <!-- Category Drop Zones (for drag and drop) -->\n @if (DraggingId && Categories.length > 0) {\n <div class=\"category-drop-zones\">\n <div class=\"drop-zone-header\">Drop to move to category:</div>\n <div class=\"drop-zones\">\n <div\n class=\"drop-zone\"\n [class.active]=\"DropTargetCategoryId === null\"\n (dragover)=\"OnDragOverCategory(null, $event)\"\n (dragleave)=\"OnDragLeaveCategory()\"\n (drop)=\"OnDropOnCategory(null, $event)\">\n <i class=\"fa-solid fa-folder-open\"></i>\n Uncategorized\n </div>\n @for (cat of Categories; track TrackByCategory($index, cat)) {\n <div\n class=\"drop-zone\"\n [class.active]=\"DropTargetCategoryId === cat.ID\"\n (dragover)=\"OnDragOverCategory(cat.ID, $event)\"\n (dragleave)=\"OnDragLeaveCategory()\"\n (drop)=\"OnDropOnCategory(cat.ID, $event)\">\n <i class=\"fa-solid fa-folder\"></i>\n {{ cat.Name }}\n </div>\n }\n </div>\n </div>\n }\n\n <!-- Delete Confirmation Dialog -->\n <mj-confirm-dialog\n [visible]=\"ShowDeleteConfirm\"\n type=\"danger\"\n title=\"Delete Dashboard{{ DashboardsPendingDelete.length > 1 ? 's' : '' }}\"\n [message]=\"DashboardsPendingDelete.length === 1\n ? 'Are you sure you want to delete \\'' + DashboardsPendingDelete[0].Name + '\\'? This action cannot be undone.'\n : 'Are you sure you want to delete ' + DashboardsPendingDelete.length + ' dashboards? This action cannot be undone.'\"\n confirmText=\"Delete\"\n cancelText=\"Cancel\"\n (confirmed)=\"ConfirmDelete()\"\n (cancelled)=\"CloseDeleteConfirm()\">\n </mj-confirm-dialog>\n\n <!-- Move to Folder Dialog -->\n @if (ShowMoveDialog) {\n <div class=\"move-dialog-overlay\" (click)=\"CloseMoveDialog()\">\n <div class=\"move-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"dialog-header\">\n <h3>Move to Category</h3>\n <button class=\"close-btn\" (click)=\"CloseMoveDialog()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n <div class=\"dialog-content\">\n <p>Move {{ SelectedCount }} dashboard{{ SelectedCount > 1 ? 's' : '' }} to:</p>\n <div class=\"category-list\">\n <div\n class=\"category-option\"\n (click)=\"ConfirmMove(null)\">\n <i class=\"fa-solid fa-folder-open\"></i>\n Uncategorized\n </div>\n @for (cat of Categories; track TrackByCategory($index, cat)) {\n <div\n class=\"category-option\"\n (click)=\"ConfirmMove(cat.ID)\">\n <i class=\"fa-solid fa-folder\"></i>\n {{ cat.Name }}\n </div>\n }\n </div>\n </div>\n <div class=\"dialog-footer\">\n <button class=\"btn-secondary\" (click)=\"CloseMoveDialog()\">Cancel</button>\n </div>\n </div>\n </div>\n }\n\n <!-- Create Category Dialog -->\n @if (ShowCreateCategoryDialog) {\n <div class=\"create-category-dialog-overlay\" (click)=\"CloseCreateCategoryDialog()\">\n <div class=\"create-category-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"dialog-header\">\n <h3>\n <i class=\"fa-solid fa-folder-plus\"></i>\n Create Category\n </h3>\n <button class=\"close-btn\" (click)=\"CloseCreateCategoryDialog()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n <div class=\"dialog-content\">\n <div class=\"form-field\">\n <label for=\"category-name\">Name *</label>\n <input\n type=\"text\"\n id=\"category-name\"\n [(ngModel)]=\"NewCategoryName\"\n placeholder=\"Enter category name\"\n (keyup.enter)=\"ConfirmCreateCategory()\">\n </div>\n <div class=\"form-field\">\n <label for=\"category-description\">Description</label>\n <textarea\n id=\"category-description\"\n [(ngModel)]=\"NewCategoryDescription\"\n placeholder=\"Optional description\"\n rows=\"3\"></textarea>\n </div>\n </div>\n <div class=\"dialog-footer\">\n <button\n class=\"btn-primary\"\n (click)=\"ConfirmCreateCategory()\"\n [disabled]=\"!NewCategoryName.trim()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create\n </button>\n <button class=\"btn-secondary\" (click)=\"CloseCreateCategoryDialog()\">Cancel</button>\n </div>\n </div>\n </div>\n }\n\n <!-- Delete Category Confirmation Dialog -->\n @if (ShowDeleteCategoryConfirm) {\n <div class=\"delete-category-dialog-overlay\" (click)=\"CloseDeleteCategoryConfirm()\">\n <div class=\"delete-category-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"dialog-header danger\">\n <h3>\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n Delete Category\n </h3>\n <button class=\"close-btn\" (click)=\"CloseDeleteCategoryConfirm()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n @if (CategoryPendingDelete) {\n <div class=\"dialog-content\">\n <div class=\"warning-message\">\n <p>\n You are about to delete the category <strong>\"{{ CategoryPendingDelete.Name }}\"</strong>.\n </p>\n @if (GetCategoryContentCount(CategoryPendingDelete); as counts) {\n @if (counts.dashboards > 0 || counts.categories > 0) {\n <p class=\"content-warning\">\n <i class=\"fa-solid fa-warning\"></i>\n This category contains:\n </p>\n }\n @if (counts.dashboards > 0 || counts.categories > 0) {\n <ul class=\"content-list\">\n @if (counts.dashboards > 0) {\n <li>\n <i class=\"fa-solid fa-chart-line\"></i>\n {{ counts.dashboards }} dashboard{{ counts.dashboards !== 1 ? 's' : '' }}\n </li>\n }\n @if (counts.categories > 0) {\n <li>\n <i class=\"fa-solid fa-folder\"></i>\n {{ counts.categories }} sub-categor{{ counts.categories !== 1 ? 'ies' : 'y' }}\n </li>\n }\n </ul>\n }\n }\n </div>\n <div class=\"confirmation-checkbox\">\n <label class=\"checkbox-label\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"DeleteCategoryIncludeContents\">\n <span class=\"checkbox-text\">\n I understand this will permanently delete this category and all its contents. This action cannot be undone.\n </span>\n </label>\n </div>\n </div>\n }\n <div class=\"dialog-footer\">\n <button\n class=\"btn-danger\"\n (click)=\"ConfirmDeleteCategory()\"\n [disabled]=\"!DeleteCategoryIncludeContents\">\n <i class=\"fa-solid fa-trash\"></i>\n Delete Category\n </button>\n <button class=\"btn-secondary\" (click)=\"CloseDeleteCategoryConfirm()\">Cancel</button>\n </div>\n </div>\n </div>\n }\n</div>\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/dashboard-browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/dashboard-browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC","sourcesContent":["export * from './dashboard-browser.component';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-viewer.component.js","sourceRoot":"","sources":["../../../src/lib/dashboard-viewer/dashboard-viewer.component.ts","../../../src/lib/dashboard-viewer/dashboard-viewer.component.html"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dashboard-viewer.component.js","sourceRoot":"","sources":["../../../src/lib/dashboard-viewer/dashboard-viewer.component.ts","../../../src/lib/dashboard-viewer/dashboard-viewer.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnDestroy,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n ApplicationRef,\n Injector,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n Type,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Metadata, RunView } from '@memberjunction/core';\nimport { MJGlobal } from '@memberjunction/global';\nimport { DashboardEngine, MJDashboardEntity, MJDashboardPartTypeEntity, MJDashboardCategoryEntity } from '@memberjunction/core-entities';\nimport { BreadcrumbNavigateEvent } from '../breadcrumb/dashboard-breadcrumb.component';\nimport { ResolvedLayoutConfig } from 'golden-layout';\nimport {\n DashboardConfig,\n DashboardPanel,\n PanelConfig,\n PanelInteractionEvent,\n DashboardConfigChangedEvent,\n LayoutChangedEvent,\n DashboardNavRequestEvent,\n createDefaultDashboardConfig,\n generatePanelId,\n extractPanelsFromLayout,\n findPanelInLayout\n} from '../models/dashboard-types';\nimport { GoldenLayoutWrapperService, LayoutLocation } from '../services/golden-layout-wrapper.service';\nimport { BaseDashboardPart } from '../parts/base-dashboard-part';\n\n/**\n * Main dashboard viewer component.\n * Renders a configurable dashboard with draggable/resizable panels using Golden Layout.\n *\n * This component is GENERIC and has no routing dependencies.\n * Navigation events are bubbled up for the parent component to handle.\n */\n@Component({\n standalone: false,\n selector: 'mj-dashboard-viewer',\n templateUrl: './dashboard-viewer.component.html',\n styleUrls: ['./dashboard-viewer.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DashboardViewerComponent implements OnDestroy {\n // ========================================\n // Inputs\n // ========================================\n\n private _dashboard: MJDashboardEntity | null = null;\n private _dashboardId: string | null = null;\n\n /** The dashboard entity to display */\n @Input()\n set dashboard(value: MJDashboardEntity | null) {\n const previous = this._dashboard;\n this._dashboard = value;\n if (value && value !== previous) {\n this.onDashboardChanged();\n }\n }\n get dashboard(): MJDashboardEntity | null {\n return this._dashboard;\n }\n\n /** Alternative: Load dashboard by ID */\n @Input()\n set dashboardId(value: string | null) {\n const previous = this._dashboardId;\n this._dashboardId = value;\n if (value && value !== previous) {\n this.loadDashboardById(value);\n }\n }\n get dashboardId(): string | null {\n return this._dashboardId;\n }\n\n /** Whether the dashboard is in edit mode */\n private _isEditing = false;\n\n @Input()\n set isEditing(value: boolean) {\n const previous = this._isEditing;\n this._isEditing = value;\n // When isEditing changes (and layout exists), reinitialize to apply GL settings\n if (value !== previous && this._glService) {\n console.log('[DashboardViewer] isEditing changed from', previous, 'to', value);\n this.updatePanelEditModes();\n }\n }\n get isEditing(): boolean {\n return this._isEditing;\n }\n\n /** Whether to show the toolbar */\n private _showToolbar = true;\n\n @Input()\n set showToolbar(value: boolean) {\n this._showToolbar = value;\n }\n get showToolbar(): boolean {\n return this._showToolbar;\n }\n\n /** Whether to auto-save layout changes */\n private _autoSave = false;\n\n @Input()\n set autoSave(value: boolean) {\n this._autoSave = value;\n }\n get autoSave(): boolean {\n return this._autoSave;\n }\n\n /** Whether to show the breadcrumb navigation */\n @Input() showBreadcrumb = true;\n\n /** Whether to show the \"Open in Tab\" button (for embedded dashboards) */\n @Input() showOpenInTabButton = false;\n\n /** Whether to show the Edit button */\n @Input() showEditButton = true;\n\n /** All categories for breadcrumb path resolution */\n @Input() Categories: MJDashboardCategoryEntity[] = [];\n\n /**\n * Computed: Should the toolbar be visible?\n * Auto-hides when showToolbar=false OR when all toolbar elements are disabled\n */\n public get shouldShowToolbar(): boolean {\n if (!this._showToolbar) {\n return false;\n }\n // If all elements are hidden, hide the toolbar entirely\n return this.showBreadcrumb || this.showOpenInTabButton || this.showEditButton;\n }\n\n // ========================================\n // Outputs\n // ========================================\n\n /** Emitted when dashboard configuration changes */\n @Output() configChanged = new EventEmitter<DashboardConfigChangedEvent>();\n\n /** Emitted when a panel requests navigation to another resource */\n @Output() navigationRequested = new EventEmitter<DashboardNavRequestEvent>();\n\n /** Emitted when a panel interaction occurs */\n @Output() panelInteraction = new EventEmitter<PanelInteractionEvent>();\n\n /** Emitted when the dashboard is saved */\n @Output() dashboardSaved = new EventEmitter<MJDashboardEntity>();\n\n /** Emitted when an error occurs */\n @Output() error = new EventEmitter<{ message: string; error?: Error }>();\n\n /** Emitted when edit mode changes */\n @Output() editModeChanged = new EventEmitter<boolean>();\n\n /** Emitted when user navigates via breadcrumb */\n @Output() breadcrumbNavigate = new EventEmitter<BreadcrumbNavigateEvent>();\n\n /** Emitted when user clicks \"Open in Tab\" button */\n @Output() openInTab = new EventEmitter<{ dashboardId: string; dashboardName: string }>();\n\n // ========================================\n // View Children\n // ========================================\n\n @ViewChild('layoutContainer', { static: true }) layoutContainer!: ElementRef<HTMLElement>;\n\n // ========================================\n // State\n // ========================================\n\n public isLoading = false;\n public config: DashboardConfig | null = null;\n public partTypes: MJDashboardPartTypeEntity[] = [];\n public hasUnsavedChanges = false;\n\n /**\n * Helper to check if layout has any panels (for template use).\n * Panels are stored in componentState within the layout tree.\n */\n public get hasPanels(): boolean {\n return extractPanelsFromLayout(this.config?.layout ?? null).length > 0;\n }\n\n private readonly _destroy$ = new Subject<void>();\n private readonly _panelComponents = new Map<string, { wrapper: HTMLElement; componentRef?: ComponentRef<BaseDashboardPart> }>();\n private _glService: GoldenLayoutWrapperService | null = null;\n\n /** Promise that resolves when part types are loaded - used to ensure layout waits for part types */\n private _partTypesLoaded: Promise<void> | null = null;\n\n // ========================================\n // Constructor\n // ========================================\n\n constructor(\n private readonly cdr: ChangeDetectorRef,\n private readonly appRef: ApplicationRef,\n private readonly injector: Injector,\n private readonly environmentInjector: EnvironmentInjector\n ) {\n // Store the promise so layout initialization can wait for it\n this._partTypesLoaded = this.loadPartTypes();\n }\n\n // ========================================\n // Lifecycle\n // ========================================\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n this.destroyLayout();\n }\n\n // ========================================\n // Public Methods\n // ========================================\n\n /**\n * Toggle edit mode\n */\n public toggleEditMode(): void {\n this.isEditing = !this.isEditing;\n this.editModeChanged.emit(this.isEditing);\n this.updatePanelEditModes();\n }\n\n /**\n * Add a new panel to the dashboard.\n * The panel is stored in GL's componentState - no separate panels array.\n */\n public async addPanel(\n partTypeId: string,\n panelConfig: PanelConfig,\n title: string,\n icon?: string,\n location?: LayoutLocation\n ): Promise<void> {\n if (!this.config || !this._glService) {\n return;\n }\n\n const partType = this.partTypes.find(pt => pt.ID === partTypeId);\n if (!partType) {\n this.error.emit({ message: `Unknown panel type: ${partTypeId}` });\n return;\n }\n\n const panel: DashboardPanel = {\n id: generatePanelId(),\n partTypeId,\n title,\n icon: icon || partType.Icon || 'fa-solid fa-window-maximize',\n config: panelConfig\n };\n\n // Add to Golden Layout - panel data stored in componentState\n this._glService.addPanel(panel, location);\n\n // Sync the layout config from Golden Layout to capture the new panel\n // The layout IS the source of truth - it contains the panel in componentState\n const currentLayout = this._glService.getLayoutConfig();\n if (currentLayout) {\n this.config.layout = currentLayout;\n }\n\n this.markDirty();\n }\n\n /**\n * Remove a panel from the dashboard.\n * Panels live in GL's componentState, so removing from GL removes the panel.\n */\n public removePanel(panelId: string): void {\n if (!this.config || !this._glService) return;\n\n // Remove from layout (panel data is in componentState)\n this._glService.removePanel(panelId);\n\n // Sync layout config to persist the removal\n const currentLayout = this._glService.getLayoutConfig();\n if (currentLayout) {\n this.config.layout = currentLayout;\n }\n\n // Destroy component\n this.destroyPanelComponent(panelId);\n\n this.markDirty();\n }\n\n /**\n * Save the current dashboard configuration\n */\n public async save(): Promise<boolean> {\n if (!this._dashboard || !this.config) return false;\n\n try {\n this.isLoading = true;\n this.cdr.detectChanges();\n\n // Update the layout config from Golden Layout\n if (this._glService) {\n const glConfig = this._glService.getLayoutConfig();\n if (glConfig) {\n this.config.layout = glConfig;\n }\n }\n\n // Save to UIConfigDetails\n this._dashboard.UIConfigDetails = JSON.stringify(this.config);\n const saved = await this._dashboard.Save();\n\n if (saved) {\n this.hasUnsavedChanges = false;\n this.dashboardSaved.emit(this._dashboard);\n }\n\n return saved;\n } catch (err) {\n const error = err instanceof Error ? err : new Error(String(err));\n this.error.emit({ message: 'Failed to save dashboard', error });\n return false;\n } finally {\n this.isLoading = false;\n this.cdr.detectChanges();\n }\n }\n\n /**\n * Refresh all panels\n */\n public async refreshAllPanels(): Promise<void> {\n // For placeholder implementation, reinitialize the layout\n if (this._glService) {\n await this.initializeLayout();\n }\n }\n\n /**\n * Get the current configuration\n */\n public getConfig(): DashboardConfig | null {\n return this.config;\n }\n\n /**\n * Get available part types\n */\n public getPartTypes(): MJDashboardPartTypeEntity[] {\n return this.partTypes;\n }\n\n /**\n * Get a panel by ID.\n * Extracts panel from the layout's componentState (single source of truth).\n */\n public getPanel(panelId: string): DashboardPanel | null {\n return findPanelInLayout(this.config?.layout ?? null, panelId);\n }\n\n /**\n * Get the part type for a panel\n */\n public getPartTypeForPanel(panelId: string): MJDashboardPartTypeEntity | null {\n const panel = this.getPanel(panelId);\n if (!panel) return null;\n return this.partTypes.find(pt => pt.ID === panel.partTypeId) ?? null;\n }\n\n /**\n * Update a panel's configuration.\n * Since panels live in componentState within the layout, we need to\n * update the layout tree directly or reinitialize with updated data.\n */\n public updatePanelConfig(panelId: string, newConfig: PanelConfig, title?: string, icon?: string): void {\n if (!this.config || !this._glService) return;\n\n // Get current layout which contains all panel data\n const currentLayout = this._glService.getLayoutConfig();\n if (!currentLayout) return;\n\n // Update panel in the layout tree\n this.updatePanelInLayout(currentLayout, panelId, newConfig, title, icon);\n this.config.layout = currentLayout;\n\n this.markDirty();\n\n // Reinitialize layout to reflect the updated panel\n this.initializeLayout();\n }\n\n /**\n * Recursively update a panel's config within the layout tree\n */\n private updatePanelInLayout(\n layout: ResolvedLayoutConfig,\n panelId: string,\n newConfig: PanelConfig,\n title?: string,\n icon?: string\n ): void {\n if (!layout.root) return;\n\n const updateNode = (node: ResolvedLayoutConfig['root']): void => {\n if (!node) return;\n\n // If this is a component with matching panelId\n if (node.type === 'component') {\n const componentNode = node as unknown as { componentState?: DashboardPanel; title?: string };\n if (componentNode.componentState?.id === panelId) {\n componentNode.componentState.config = newConfig;\n if (title) {\n componentNode.componentState.title = title;\n componentNode.title = title;\n }\n if (icon) componentNode.componentState.icon = icon;\n }\n }\n\n // Recursively process children\n const containerNode = node as unknown as { content?: ResolvedLayoutConfig['root'][] };\n if (containerNode.content && Array.isArray(containerNode.content)) {\n for (const child of containerNode.content) {\n updateNode(child);\n }\n }\n };\n\n updateNode(layout.root);\n }\n\n /**\n * Handle add panel button click - emits event for parent to show dialog\n */\n public onAddPanelClick(): void {\n // Emit interaction event for parent to handle\n // Parent should show AddPanelDialog and call addPanel() with result\n this.panelInteraction.emit({\n panelId: '',\n interactionType: 'custom',\n payload: { action: 'add-panel-requested', partTypes: this.partTypes }\n });\n }\n\n /**\n * Handle \"Open in Tab\" button click - emits event for parent to open dashboard in its own tab\n */\n public onOpenInTabClick(): void {\n if (this._dashboard) {\n this.openInTab.emit({\n dashboardId: this._dashboard.ID,\n dashboardName: this._dashboard.Name\n });\n }\n }\n\n /**\n * Handle breadcrumb navigation\n */\n public onBreadcrumbNavigate(event: BreadcrumbNavigateEvent): void {\n this.breadcrumbNavigate.emit(event);\n }\n\n // ========================================\n // Private Methods - Initialization\n // ========================================\n\n private async loadPartTypes(): Promise<void> {\n try {\n await DashboardEngine.Instance.Config(false);\n this.partTypes = DashboardEngine.Instance.DashboardPartTypes;\n } catch (err) {\n console.error('Failed to load dashboard part types:', err);\n }\n }\n\n private async loadDashboardById(id: string): Promise<void> {\n try {\n this.isLoading = true;\n this.cdr.detectChanges();\n\n const md = new Metadata();\n const dashboard = await md.GetEntityObject<MJDashboardEntity>('MJ: Dashboards');\n const loaded = await dashboard.Load(id);\n\n if (loaded) {\n this._dashboard = dashboard;\n this.onDashboardChanged();\n } else {\n this.error.emit({ message: `Dashboard not found: ${id}` });\n }\n } catch (err) {\n const error = err instanceof Error ? err : new Error(String(err));\n this.error.emit({ message: 'Failed to load dashboard', error });\n } finally {\n this.isLoading = false;\n this.cdr.detectChanges();\n }\n }\n\n private async onDashboardChanged(): Promise<void> {\n if (!this._dashboard) return;\n\n // Parse or create config\n this.config = this.parseOrCreateConfig();\n\n // Wait for part types to be loaded before initializing layout\n // This ensures partTypes array is populated when createPanelComponent is called\n if (this._partTypesLoaded) {\n await this._partTypesLoaded;\n }\n\n // Initialize layout\n this.initializeLayout();\n }\n\n private parseOrCreateConfig(): DashboardConfig {\n if (!this._dashboard?.UIConfigDetails) {\n return createDefaultDashboardConfig();\n }\n\n try {\n const parsed = JSON.parse(this._dashboard.UIConfigDetails);\n\n // Validate it has the expected structure (layout + settings)\n if (parsed.layout !== undefined && parsed.settings) {\n return parsed as DashboardConfig;\n }\n\n // Invalid format, return default\n console.warn('[DashboardViewer] Invalid config format, using default');\n return createDefaultDashboardConfig();\n } catch {\n return createDefaultDashboardConfig();\n }\n }\n\n // ========================================\n // Private Methods - Layout\n // ========================================\n\n private initializeLayout(): void {\n if (!this.config || !this.layoutContainer?.nativeElement) {\n return;\n }\n\n // Destroy existing layout\n this.destroyLayout();\n\n // Create new Golden Layout service\n this._glService = new GoldenLayoutWrapperService();\n\n // Subscribe to layout events\n this.subscribeToLayoutEvents();\n\n // Panel factory - called by GL when it binds a component\n // The panel comes directly from GL's componentState (single source of truth)\n const panelFactory = (panel: DashboardPanel, container: HTMLElement) => {\n this.createPanelComponent(panel, container);\n };\n\n // Initialize with saved layout (or null for empty dashboard)\n // Golden Layout's native ResolvedLayoutConfig is the source of truth\n // Panel data is embedded in each component's componentState\n this._glService.initialize(\n this.layoutContainer.nativeElement,\n this.config.layout,\n panelFactory,\n this.isEditing\n );\n\n // After GL.initialize() completes, all components from the saved layout\n // have been synchronously bound via the panelFactory callback.\n // However, Angular needs time to complete change detection and render\n // the dynamic components. A single delayed updateSize() ensures GL\n // recalculates dimensions after Angular has finished rendering.\n setTimeout(() => {\n this._glService?.updateSize();\n this.cdr.detectChanges();\n }, 100);\n }\n\n /** Flag to prevent panel removal during layout reinit */\n private _isReinitializing = false;\n\n private destroyLayout(): void {\n // Set flag to prevent onPanelClosed from removing panels during reinit\n this._isReinitializing = true;\n\n // Destroy all panel components\n this._panelComponents.forEach((entry, panelId) => {\n this.destroyPanelComponent(panelId);\n });\n this._panelComponents.clear();\n\n // Destroy Golden Layout\n if (this._glService) {\n this._glService.destroy();\n this._glService = null;\n }\n\n this._isReinitializing = false;\n }\n\n private subscribeToLayoutEvents(): void {\n if (!this._glService) return;\n\n this._glService.onLayoutChanged\n .pipe(takeUntil(this._destroy$))\n .subscribe((event: LayoutChangedEvent) => {\n this.onLayoutChanged(event);\n });\n\n this._glService.onPanelClosed\n .pipe(takeUntil(this._destroy$))\n .subscribe((panelId: string) => {\n this.onPanelClosed(panelId);\n });\n\n this._glService.onPanelSelected\n .pipe(takeUntil(this._destroy$))\n .subscribe((panelId: string) => {\n this.onPanelSelected(panelId);\n });\n }\n\n private onLayoutChanged(event: LayoutChangedEvent): void {\n if (this.config) {\n this.config.layout = event.layout;\n this.markDirty();\n\n // Map layout change types to config change types\n const changeType = event.changeType === 'close' ? 'panel-removed' : 'layout';\n this.configChanged.emit({\n config: this.config,\n changeType\n });\n }\n }\n\n private onPanelClosed(panelId: string): void {\n // Skip panel removal during layout reinit (panels are being recreated, not actually closed)\n if (this._isReinitializing) {\n return;\n }\n\n // Sync layout config - panel was removed from GL's tree\n if (this.config && this._glService) {\n const currentLayout = this._glService.getLayoutConfig();\n if (currentLayout) {\n this.config.layout = currentLayout;\n }\n }\n\n // Destroy component\n this.destroyPanelComponent(panelId);\n this.markDirty();\n }\n\n private onPanelSelected(panelId: string): void {\n // Could be used to highlight selected panel in edit mode\n }\n\n // ========================================\n // Private Methods - Panel Components\n // ========================================\n\n /**\n * Create a panel component from the DashboardPanel data.\n * Panel comes directly from GL's componentState - no lookup needed.\n */\n private createPanelComponent(panel: DashboardPanel, container: HTMLElement): void {\n const partType = this.partTypes.find(pt => pt.ID === panel.partTypeId);\n\n // Create the panel wrapper with header and content\n const wrapper = document.createElement('div');\n wrapper.className = 'dashboard-part-wrapper';\n wrapper.style.cssText = 'display: flex; flex-direction: column; height: 100%; background: #fff;';\n\n // Only show header in edit mode - GL tabs already display the title in view mode\n if (this.isEditing) {\n const header = this.createPartHeader(panel, panel.id);\n wrapper.appendChild(header);\n }\n\n // Create content area\n const content = document.createElement('div');\n content.className = 'dashboard-part-content';\n content.style.cssText = 'flex: 1; overflow: auto; min-height: 0;';\n\n // Try to create dynamic component via ClassFactory\n const componentRef = this.createDynamicPartComponent(panel, partType, content);\n\n if (!componentRef) {\n // Fallback to static rendering if no DriverClass or component creation failed\n this.renderPartContent(panel, content, partType);\n }\n\n wrapper.appendChild(content);\n container.appendChild(wrapper);\n\n // Store reference for cleanup\n this._panelComponents.set(panel.id, { wrapper, componentRef: componentRef || undefined });\n }\n\n /**\n * Create a dynamic part component using ClassFactory\n */\n private createDynamicPartComponent(\n panel: DashboardPanel,\n partType: MJDashboardPartTypeEntity | undefined,\n container: HTMLElement\n ): ComponentRef<BaseDashboardPart> | null {\n if (!partType?.DriverClass) {\n return null;\n }\n\n try {\n // Use ClassFactory to create instance and get the component class\n const partInstance = MJGlobal.Instance.ClassFactory.CreateInstance<BaseDashboardPart>(\n BaseDashboardPart,\n partType.DriverClass\n );\n\n if (!partInstance) {\n return null;\n }\n\n // Get the Angular component class from the instance\n // The constructor is a concrete class that extends BaseDashboardPart\n const componentClass = (partInstance as object).constructor as Type<BaseDashboardPart>;\n\n // Create the component dynamically\n const componentRef = createComponent(componentClass, {\n environmentInjector: this.environmentInjector,\n elementInjector: this.injector\n });\n\n // Set inputs on the component\n const instance = componentRef.instance;\n instance.Panel = panel;\n instance.PartType = partType;\n instance.IsEditing = this.isEditing;\n\n // Subscribe to events\n instance.ConfigureRequested.subscribe(() => {\n this.onConfigurePart(panel.id);\n });\n instance.RemoveRequested.subscribe(() => {\n this.onRemovePart(panel.id);\n });\n instance.NavigationRequested.subscribe((event: DashboardNavRequestEvent) => {\n this.navigationRequested.emit(event);\n });\n\n // Attach component to DOM\n container.appendChild(componentRef.location.nativeElement);\n\n // Attach to Angular's change detection\n this.appRef.attachView(componentRef.hostView);\n\n return componentRef;\n } catch (error) {\n console.error('[DashboardViewer] Failed to create dynamic component:', error);\n return null;\n }\n }\n\n private createPartHeader(panel: DashboardPanel, panelId: string): HTMLElement {\n const header = document.createElement('div');\n header.className = 'dashboard-part-header';\n header.style.cssText = `\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n border-bottom: 1px solid #e0e0e0;\n min-height: 40px;\n `;\n\n // Icon and title\n const titleSection = document.createElement('div');\n titleSection.style.cssText = 'display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0;';\n titleSection.innerHTML = `\n <i class=\"${panel.icon || 'fa-solid fa-puzzle-piece'}\" style=\"color: #5c6bc0; font-size: 14px;\"></i>\n <span style=\"font-weight: 500; font-size: 14px; color: #333; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\">${panel.title}</span>\n `;\n header.appendChild(titleSection);\n\n // Action buttons (only in edit mode)\n if (this.isEditing) {\n const actions = document.createElement('div');\n actions.style.cssText = 'display: flex; gap: 4px;';\n\n // Configure button\n const configBtn = document.createElement('button');\n configBtn.className = 'part-action-btn';\n configBtn.title = 'Configure';\n configBtn.style.cssText = `\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #666;\n cursor: pointer;\n transition: all 0.15s;\n `;\n configBtn.innerHTML = '<i class=\"fa-solid fa-cog\" style=\"font-size: 12px;\"></i>';\n configBtn.addEventListener('click', () => this.onConfigurePart(panelId));\n configBtn.addEventListener('mouseenter', () => {\n configBtn.style.background = '#e0e0e0';\n configBtn.style.color = '#333';\n });\n configBtn.addEventListener('mouseleave', () => {\n configBtn.style.background = 'transparent';\n configBtn.style.color = '#666';\n });\n\n // Remove button\n const removeBtn = document.createElement('button');\n removeBtn.className = 'part-action-btn';\n removeBtn.title = 'Remove';\n removeBtn.style.cssText = `\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #666;\n cursor: pointer;\n transition: all 0.15s;\n `;\n removeBtn.innerHTML = '<i class=\"fa-solid fa-times\" style=\"font-size: 12px;\"></i>';\n removeBtn.addEventListener('click', () => this.onRemovePart(panelId));\n removeBtn.addEventListener('mouseenter', () => {\n removeBtn.style.background = '#ffebee';\n removeBtn.style.color = '#d32f2f';\n });\n removeBtn.addEventListener('mouseleave', () => {\n removeBtn.style.background = 'transparent';\n removeBtn.style.color = '#666';\n });\n\n actions.appendChild(configBtn);\n actions.appendChild(removeBtn);\n header.appendChild(actions);\n }\n\n return header;\n }\n\n private renderPartContent(panel: DashboardPanel, container: HTMLElement, partType: MJDashboardPartTypeEntity | undefined): void {\n const config = panel.config;\n\n switch (config?.type) {\n case 'WebURL':\n this.renderWebURLPart(panel, container, config);\n break;\n case 'View':\n this.renderViewPart(panel, container, config);\n break;\n case 'Query':\n this.renderQueryPart(panel, container, config);\n break;\n case 'Artifact':\n this.renderArtifactPart(panel, container, config);\n break;\n default:\n this.renderPlaceholderPart(panel, container, partType);\n }\n }\n\n private renderWebURLPart(panel: DashboardPanel, container: HTMLElement, config: PanelConfig): void {\n const url = config['url'] as string | undefined;\n if (!url) {\n container.innerHTML = `\n <div style=\"display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: #666; text-align: center; padding: 24px;\">\n <i class=\"fa-solid fa-globe\" style=\"font-size: 48px; color: #ccc; margin-bottom: 16px;\"></i>\n <h4 style=\"margin: 0 0 8px 0; color: #333;\">No URL Configured</h4>\n <p style=\"margin: 0; font-size: 13px;\">Click the configure button to set a URL for this part.</p>\n </div>\n `;\n return;\n }\n\n const sandboxMode = config['sandboxMode'] as string | undefined;\n // Determine sandbox permissions based on mode\n let sandbox = 'allow-scripts allow-same-origin allow-forms allow-popups';\n if (sandboxMode === 'strict') {\n sandbox = 'allow-scripts';\n } else if (sandboxMode === 'permissive') {\n sandbox = 'allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-top-navigation';\n }\n\n const iframe = document.createElement('iframe');\n iframe.src = url;\n iframe.style.cssText = 'width: 100%; height: 100%; border: none;';\n iframe.sandbox.value = sandbox;\n if (config['allowFullscreen'] !== false) {\n iframe.allowFullscreen = true;\n }\n iframe.title = panel.title;\n\n container.appendChild(iframe);\n }\n\n private renderViewPart(panel: DashboardPanel, container: HTMLElement, config: PanelConfig): void {\n const viewId = config['viewId'] as string | undefined;\n const entityName = config['entityName'] as string | undefined;\n if (!viewId && !entityName) {\n container.innerHTML = `\n <div style=\"display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: #666; text-align: center; padding: 24px;\">\n <i class=\"fa-solid fa-table\" style=\"font-size: 48px; color: #ccc; margin-bottom: 16px;\"></i>\n <h4 style=\"margin: 0 0 8px 0; color: #333;\">No View Selected</h4>\n <p style=\"margin: 0; font-size: 13px;\">Click configure to select a view for this part.</p>\n </div>\n `;\n return;\n }\n\n const viewInfo = viewId ? viewId.substring(0, 8) + '...' : entityName;\n const displayModeValue = config['displayMode'] as string | undefined;\n const displayMode = displayModeValue === 'grid' ? 'Grid View' : displayModeValue === 'cards' ? 'Card View' : 'Timeline View';\n container.innerHTML = `\n <div style=\"display: flex; flex-direction: column; height: 100%; background: #fff;\">\n <div style=\"padding: 16px 20px; border-bottom: 1px solid #e0e0e0; background: #fafafa;\">\n <div style=\"display: flex; align-items: center; gap: 12px;\">\n <i class=\"fa-solid fa-table\" style=\"font-size: 20px; color: #5c6bc0;\"></i>\n <div>\n <div style=\"font-weight: 500; color: #333; font-size: 14px;\">Entity View</div>\n <div style=\"font-size: 12px; color: #666;\">${entityName || 'View ' + viewInfo}</div>\n </div>\n <span style=\"margin-left: auto; padding: 4px 10px; background: #e3f2fd; color: #1976d2; border-radius: 12px; font-size: 11px; font-weight: 500;\">${displayMode}</span>\n </div>\n </div>\n <div style=\"flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #999; padding: 24px;\">\n <i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 24px; margin-bottom: 12px;\"></i>\n <p style=\"margin: 0; font-size: 13px;\">Entity grid loading...</p>\n <p style=\"margin: 8px 0 0 0; font-size: 11px; color: #bbb;\">Full implementation pending Angular integration</p>\n </div>\n </div>\n `;\n }\n\n private renderQueryPart(panel: DashboardPanel, container: HTMLElement, config: PanelConfig): void {\n const queryId = config['queryId'] as string | undefined;\n const queryName = config['queryName'] as string | undefined;\n if (!queryId && !queryName) {\n container.innerHTML = `\n <div style=\"display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: #666; text-align: center; padding: 24px;\">\n <i class=\"fa-solid fa-database\" style=\"font-size: 48px; color: #ccc; margin-bottom: 16px;\"></i>\n <h4 style=\"margin: 0 0 8px 0; color: #333;\">No Query Selected</h4>\n <p style=\"margin: 0; font-size: 13px;\">Click configure to select a query for this part.</p>\n </div>\n `;\n return;\n }\n\n const autoRefreshSeconds = (config['autoRefreshSeconds'] as number) || 0;\n const queryInfo = queryName || (queryId ? queryId.substring(0, 8) + '...' : 'Unknown');\n container.innerHTML = `\n <div style=\"display: flex; flex-direction: column; height: 100%; background: #fff;\">\n <div style=\"padding: 16px 20px; border-bottom: 1px solid #e0e0e0; background: #fafafa;\">\n <div style=\"display: flex; align-items: center; gap: 12px;\">\n <i class=\"fa-solid fa-database\" style=\"font-size: 20px; color: #5c6bc0;\"></i>\n <div>\n <div style=\"font-weight: 500; color: #333; font-size: 14px;\">Query Results</div>\n <div style=\"font-size: 12px; color: #666;\">${queryInfo}</div>\n </div>\n <span style=\"margin-left: auto; padding: 4px 10px; background: #e8f5e9; color: #388e3c; border-radius: 12px; font-size: 11px; font-weight: 500;\">${autoRefreshSeconds > 0 ? 'Refresh: ' + autoRefreshSeconds + 's' : 'Manual refresh'}</span>\n </div>\n </div>\n <div style=\"flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #999; padding: 24px;\">\n <i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 24px; margin-bottom: 12px;\"></i>\n <p style=\"margin: 0; font-size: 13px;\">Query grid loading...</p>\n <p style=\"margin: 8px 0 0 0; font-size: 11px; color: #bbb;\">Full implementation pending Angular integration</p>\n </div>\n </div>\n `;\n }\n\n private renderArtifactPart(panel: DashboardPanel, container: HTMLElement, config: PanelConfig): void {\n const artifactId = config['artifactId'] as string | undefined;\n if (!artifactId) {\n container.innerHTML = `\n <div style=\"display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: #666; text-align: center; padding: 24px;\">\n <i class=\"fa-solid fa-cube\" style=\"font-size: 48px; color: #ccc; margin-bottom: 16px;\"></i>\n <h4 style=\"margin: 0 0 8px 0; color: #333;\">No Artifact Selected</h4>\n <p style=\"margin: 0; font-size: 13px;\">Click configure to select an artifact for this part.</p>\n </div>\n `;\n return;\n }\n\n const versionNumber = config['versionNumber'] as number | undefined;\n const artifactInfo = artifactId.substring(0, 8) + '...';\n const versionInfo = versionNumber ? `v${versionNumber}` : 'Latest';\n container.innerHTML = `\n <div style=\"display: flex; flex-direction: column; height: 100%; background: #fff;\">\n <div style=\"padding: 16px 20px; border-bottom: 1px solid #e0e0e0; background: #fafafa;\">\n <div style=\"display: flex; align-items: center; gap: 12px;\">\n <i class=\"fa-solid fa-cube\" style=\"font-size: 20px; color: #5c6bc0;\"></i>\n <div>\n <div style=\"font-weight: 500; color: #333; font-size: 14px;\">Artifact</div>\n <div style=\"font-size: 12px; color: #666;\">ID: ${artifactInfo}</div>\n </div>\n <span style=\"margin-left: auto; padding: 4px 10px; background: #fce4ec; color: #c2185b; border-radius: 12px; font-size: 11px; font-weight: 500;\">${versionInfo}</span>\n </div>\n </div>\n <div style=\"flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #999; padding: 24px;\">\n <i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 24px; margin-bottom: 12px;\"></i>\n <p style=\"margin: 0; font-size: 13px;\">Artifact viewer loading...</p>\n <p style=\"margin: 8px 0 0 0; font-size: 11px; color: #bbb;\">Full implementation pending Angular integration</p>\n </div>\n </div>\n `;\n }\n\n private renderPlaceholderPart(panel: DashboardPanel, container: HTMLElement, partType: MJDashboardPartTypeEntity | undefined): void {\n const partTypeName = partType?.Name || 'Custom';\n container.innerHTML = `\n <div style=\"display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: #666; text-align: center; padding: 24px;\">\n <i class=\"fa-solid fa-puzzle-piece\" style=\"font-size: 48px; color: #ccc; margin-bottom: 16px;\"></i>\n <h4 style=\"margin: 0 0 8px 0; color: #333;\">${partTypeName} Part</h4>\n <p style=\"margin: 0; font-size: 13px;\">This part type is not yet fully implemented.</p>\n </div>\n `;\n }\n\n private onConfigurePart(panelId: string): void {\n // Emit event for parent to handle configuration\n this.panelInteraction.emit({\n panelId,\n interactionType: 'custom',\n payload: { action: 'configure-part-requested' }\n });\n }\n\n private onRemovePart(panelId: string): void {\n // Emit event for parent to show confirmation dialog\n const panel = findPanelInLayout(this.config?.layout ?? null, panelId);\n this.panelInteraction.emit({\n panelId,\n interactionType: 'custom',\n payload: {\n action: 'remove-part-requested',\n panelTitle: panel?.title || 'this part'\n }\n });\n }\n\n /**\n * Confirm removal of a panel (called by parent after confirmation dialog)\n */\n public confirmRemovePanel(panelId: string): void {\n this.removePanel(panelId);\n }\n\n private destroyPanelComponent(panelId: string): void {\n const entry = this._panelComponents.get(panelId);\n if (entry) {\n // Destroy the Angular component if present\n if (entry.componentRef) {\n this.appRef.detachView(entry.componentRef.hostView);\n entry.componentRef.destroy();\n }\n this._panelComponents.delete(panelId);\n }\n }\n\n private updatePanelEditModes(): void {\n // Update IsEditing on all dynamic components\n this._panelComponents.forEach((entry) => {\n if (entry.componentRef) {\n entry.componentRef.instance.IsEditing = this.isEditing;\n }\n });\n\n // Save current layout before reinitializing (preserves user's arrangement)\n if (this._glService && this.config) {\n const currentLayout = this._glService.getLayoutConfig();\n if (currentLayout) {\n this.config.layout = currentLayout;\n }\n }\n\n // Reinitialize layout to apply new Golden Layout settings (edit mode lock/unlock)\n if (this._glService) {\n this.initializeLayout();\n }\n }\n\n // ========================================\n // Private Methods - State\n // ========================================\n\n private markDirty(): void {\n this.hasUnsavedChanges = true;\n\n if (this.autoSave && this.config) {\n this.save();\n }\n }\n}\n","<!-- Dashboard Viewer Component -->\n<div class=\"dashboard-viewer\" [class.editing]=\"isEditing\" [class.has-toolbar]=\"shouldShowToolbar\">\n <!-- Breadcrumb Navigation (hidden in edit mode) -->\n @if (showBreadcrumb && !isEditing && dashboard) {\n <mj-dashboard-breadcrumb\n [Categories]=\"Categories\"\n [CurrentCategoryId]=\"dashboard.CategoryID\"\n [CurrentDashboard]=\"dashboard\"\n [ShowDashboardName]=\"true\"\n [AllowDragDrop]=\"false\"\n Size=\"large\"\n RootIcon=\"fa-solid fa-gauge-high\"\n RootLabel=\"Dashboards\"\n (Navigate)=\"onBreadcrumbNavigate($event)\">\n </mj-dashboard-breadcrumb>\n }\n\n <!-- Toolbar (auto-hides when all elements are disabled) -->\n @if (shouldShowToolbar) {\n <div class=\"dashboard-toolbar\">\n <div class=\"toolbar-left\">\n @if (dashboard && (isEditing || !showBreadcrumb)) {\n <span class=\"dashboard-title\">\n <i class=\"fa-solid fa-chart-line\"></i>\n {{ dashboard.Name }}\n </span>\n }\n </div>\n <div class=\"toolbar-center\">\n @if (hasUnsavedChanges && isEditing) {\n <span class=\"unsaved-indicator\">\n <i class=\"fa-solid fa-circle\"></i>\n Unsaved changes\n </span>\n }\n </div>\n <div class=\"toolbar-right\">\n <!-- Open in New Tab button (when embedded) -->\n @if (showOpenInTabButton && !isEditing) {\n <button\n class=\"toolbar-button\"\n (click)=\"onOpenInTabClick()\"\n title=\"Open in its own tab\">\n <i class=\"fa-solid fa-up-right-from-square\"></i>\n Open in Tab\n </button>\n }\n @if (isEditing) {\n <button\n class=\"toolbar-button\"\n (click)=\"onAddPanelClick()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Part\n </button>\n }\n @if (showEditButton) {\n <button\n class=\"toolbar-button\"\n [class.active]=\"isEditing\"\n (click)=\"toggleEditMode()\">\n <i class=\"fa-solid fa-edit\"></i>\n {{ isEditing ? 'Editing' : 'Edit' }}\n </button>\n }\n @if (isEditing && hasUnsavedChanges) {\n <button\n class=\"toolbar-button primary\"\n (click)=\"save()\">\n <i class=\"fa-solid fa-save\"></i>\n Save\n </button>\n }\n </div>\n </div>\n }\n\n <!-- Loading Overlay -->\n @if (isLoading) {\n <div class=\"loading-overlay\">\n <mj-loading text=\"Loading dashboard...\"></mj-loading>\n </div>\n }\n\n <!-- Layout Container -->\n <div class=\"layout-container\" #layoutContainer>\n <!-- Golden Layout will render panels here -->\n </div>\n\n <!-- Empty State -->\n @if (!hasPanels && !isLoading) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-layer-group\"></i>\n </div>\n <h3>No parts configured</h3>\n <p>This dashboard has no parts yet. Add your first part to start visualizing your data.</p>\n @if (isEditing) {\n <button class=\"add-part-button\" (click)=\"onAddPanelClick()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Your First Part\n </button>\n }\n </div>\n }\n</div>\n"]}
|