@memberjunction/ng-dashboard-viewer 5.4.0 → 5.5.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.
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-breadcrumb.component.d.ts","sourceRoot":"","sources":["../../../src/lib/breadcrumb/dashboard-breadcrumb.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,YAAY,EAEZ,iBAAiB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;;AAE7F;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAOa,4BAA4B;IA6EzB,OAAO,CAAC,GAAG;IAxEvB,kDAAkD;IAClD,OAAO,CAAC,WAAW,CAAmC;IAEtD,IACI,UAAU,CAAC,KAAK,EAAE,yBAAyB,EAAE,EAIhD;IACD,IAAI,UAAU,IAAI,yBAAyB,EAAE,CAE5C;IAED,wCAAwC;IACxC,OAAO,CAAC,kBAAkB,CAAuB;IAEjD,IACI,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAKzC;IACD,IAAI,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAErC;IAED,4DAA4D;IACnD,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAE3D,8CAA8C;IACrC,QAAQ,SAA4B;IAE7C,yCAAyC;IAChC,SAAS,SAAgB;IAElC,4DAA4D;IACnD,iBAAiB,UAAS;IAEnC,uDAAuD;IAC9C,aAAa,UAAQ;IAE9B,kEAAkE;IACzD,OAAO,UAAQ;IAExB,wCAAwC;IAC/B,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAY;IAM7C,+DAA+D;IACrD,QAAQ,wCAA+C;IAEjE,+DAA+D;IACrD,aAAa,oCAA2C;IAMlE,qDAAqD;IAC9C,WAAW,EAAE,yBAAyB,EAAE,CAAM;IAErD,4CAA4C;IACrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAa;gBAM7C,GAAG,EAAE,iBAAiB;IAM1C;;OAEG;IACI,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAOlD;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,yBAAyB,GAAG,IAAI,CAG7D;IAMM,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAQ7D,WAAW,IAAI,IAAI;IAKnB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IA2BzD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,yBAAyB,GAAG,MAAM;IAQnF,OAAO,CAAC,iBAAiB;yCAhKhB,4BAA4B;2CAA5B,4BAA4B;CAyLxC"}
1
+ {"version":3,"file":"dashboard-breadcrumb.component.d.ts","sourceRoot":"","sources":["../../../src/lib/breadcrumb/dashboard-breadcrumb.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,YAAY,EAEZ,iBAAiB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;;AAG7F;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAOa,4BAA4B;IA6EzB,OAAO,CAAC,GAAG;IAxEvB,kDAAkD;IAClD,OAAO,CAAC,WAAW,CAAmC;IAEtD,IACI,UAAU,CAAC,KAAK,EAAE,yBAAyB,EAAE,EAIhD;IACD,IAAI,UAAU,IAAI,yBAAyB,EAAE,CAE5C;IAED,wCAAwC;IACxC,OAAO,CAAC,kBAAkB,CAAuB;IAEjD,IACI,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAKzC;IACD,IAAI,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAErC;IAED,4DAA4D;IACnD,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAE3D,8CAA8C;IACrC,QAAQ,SAA4B;IAE7C,yCAAyC;IAChC,SAAS,SAAgB;IAElC,4DAA4D;IACnD,iBAAiB,UAAS;IAEnC,uDAAuD;IAC9C,aAAa,UAAQ;IAE9B,kEAAkE;IACzD,OAAO,UAAQ;IAExB,wCAAwC;IAC/B,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAY;IAM7C,+DAA+D;IACrD,QAAQ,wCAA+C;IAEjE,+DAA+D;IACrD,aAAa,oCAA2C;IAMlE,qDAAqD;IAC9C,WAAW,EAAE,yBAAyB,EAAE,CAAM;IAErD,4CAA4C;IACrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAa;gBAM7C,GAAG,EAAE,iBAAiB;IAM1C;;OAEG;IACI,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAOlD;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,yBAAyB,GAAG,IAAI,CAG7D;IAMM,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAQ7D,WAAW,IAAI,IAAI;IAKnB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IA2BzD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,yBAAyB,GAAG,MAAM;IAQnF,OAAO,CAAC,iBAAiB;yCAhKhB,4BAA4B;2CAA5B,4BAA4B;CAyLxC"}
@@ -1,4 +1,5 @@
1
1
  import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import { UUIDsEqual } from '@memberjunction/global';
2
3
  import * as i0 from "@angular/core";
3
4
  function DashboardBreadcrumbComponent_Conditional_0_For_6_Template(rf, ctx) { if (rf & 1) {
4
5
  const _r3 = i0.ɵɵgetCurrentView();
@@ -129,7 +130,7 @@ export class DashboardBreadcrumbComponent {
129
130
  */
130
131
  OnNavigate(categoryId) {
131
132
  const category = categoryId
132
- ? this.Categories.find(c => c.ID === categoryId) || null
133
+ ? this.Categories.find(c => UUIDsEqual(c.ID, categoryId)) || null
133
134
  : null;
134
135
  this.Navigate.emit({ CategoryId: categoryId, Category: category });
135
136
  }
@@ -145,7 +146,7 @@ export class DashboardBreadcrumbComponent {
145
146
  get CurrentCategory() {
146
147
  if (!this._currentCategoryId)
147
148
  return null;
148
- return this.Categories.find(c => c.ID === this._currentCategoryId) || null;
149
+ return this.Categories.find(c => UUIDsEqual(c.ID, this._currentCategoryId)) || null;
149
150
  }
150
151
  // ========================================
151
152
  // Drag and Drop
@@ -203,7 +204,7 @@ export class DashboardBreadcrumbComponent {
203
204
  const path = [];
204
205
  let currentId = this._currentCategoryId;
205
206
  while (currentId) {
206
- const category = this.Categories.find(c => c.ID === currentId);
207
+ const category = this.Categories.find(c => UUIDsEqual(c.ID, currentId));
207
208
  if (category) {
208
209
  path.unshift(category);
209
210
  currentId = category.ParentID;
@@ -248,5 +249,5 @@ export class DashboardBreadcrumbComponent {
248
249
  }], DashboardDrop: [{
249
250
  type: Output
250
251
  }] }); })();
251
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardBreadcrumbComponent, { className: "DashboardBreadcrumbComponent", filePath: "src/lib/breadcrumb/dashboard-breadcrumb.component.ts", lineNumber: 39 }); })();
252
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardBreadcrumbComponent, { className: "DashboardBreadcrumbComponent", filePath: "src/lib/breadcrumb/dashboard-breadcrumb.component.ts", lineNumber: 40 }); })();
252
253
  //# sourceMappingURL=dashboard-breadcrumb.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-breadcrumb.component.js","sourceRoot":"","sources":["../../../src/lib/breadcrumb/dashboard-breadcrumb.component.ts","../../../src/lib/breadcrumb/dashboard-breadcrumb.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ChangeDetectorRef\n} from '@angular/core';\nimport { MJDashboardCategoryEntity, MJDashboardEntity } from '@memberjunction/core-entities';\n\n/**\n * Event emitted when a breadcrumb item is clicked for navigation\n */\nexport interface BreadcrumbNavigateEvent {\n CategoryId: string | null;\n Category: MJDashboardCategoryEntity | null;\n}\n\n/**\n * Event emitted when a dashboard is dropped on a breadcrumb item\n */\nexport interface BreadcrumbDropEvent {\n TargetCategoryId: string | null;\n DashboardIds: string[];\n}\n\n/**\n * Reusable breadcrumb navigation component for dashboards.\n * Shows hierarchical path from root to current location.\n * Supports drag-and-drop of dashboards onto breadcrumb items.\n */\n@Component({\n standalone: false,\n selector: 'mj-dashboard-breadcrumb',\n templateUrl: './dashboard-breadcrumb.component.html',\n styleUrls: ['./dashboard-breadcrumb.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DashboardBreadcrumbComponent {\n // ========================================\n // Inputs\n // ========================================\n\n /** All categories for building breadcrumb path */\n private _categories: MJDashboardCategoryEntity[] = [];\n\n @Input()\n set Categories(value: MJDashboardCategoryEntity[]) {\n this._categories = value || [];\n // Rebuild breadcrumbs when categories change (they may load after CurrentCategoryId is set)\n this.updateBreadcrumbs();\n }\n get Categories(): MJDashboardCategoryEntity[] {\n return this._categories;\n }\n\n /** Current category ID (null = root) */\n private _currentCategoryId: string | null = null;\n\n @Input()\n set CurrentCategoryId(value: string | null) {\n if (value !== this._currentCategoryId) {\n this._currentCategoryId = value;\n this.updateBreadcrumbs();\n }\n }\n get CurrentCategoryId(): string | null {\n return this._currentCategoryId;\n }\n\n /** Current dashboard (when viewing a specific dashboard) */\n @Input() CurrentDashboard: MJDashboardEntity | null = null;\n\n /** Icon class for the root breadcrumb item */\n @Input() RootIcon = 'fa-solid fa-gauge-high';\n\n /** Label for the root breadcrumb item */\n @Input() RootLabel = 'Dashboards';\n\n /** Whether to show the current dashboard name at the end */\n @Input() ShowDashboardName = false;\n\n /** Whether to allow drag-drop onto breadcrumb items */\n @Input() AllowDragDrop = true;\n\n /** Whether breadcrumb is visible (e.g., hide during edit mode) */\n @Input() Visible = true;\n\n /** Size variant: 'normal' or 'large' */\n @Input() Size: 'normal' | 'large' = 'normal';\n\n // ========================================\n // Outputs\n // ========================================\n\n /** Emitted when a breadcrumb item is clicked for navigation */\n @Output() Navigate = new EventEmitter<BreadcrumbNavigateEvent>();\n\n /** Emitted when dashboards are dropped on a breadcrumb item */\n @Output() DashboardDrop = new EventEmitter<BreadcrumbDropEvent>();\n\n // ========================================\n // State\n // ========================================\n\n /** Breadcrumb trail from root to current category */\n public Breadcrumbs: MJDashboardCategoryEntity[] = [];\n\n /** Category ID being hovered during drag */\n public DragOverCategoryId: string | null | undefined = undefined;\n\n // ========================================\n // Constructor\n // ========================================\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n // ========================================\n // Public Methods\n // ========================================\n\n /**\n * Navigate to a category\n */\n public OnNavigate(categoryId: string | null): void {\n const category = categoryId\n ? this.Categories.find(c => c.ID === categoryId) || null\n : null;\n this.Navigate.emit({ CategoryId: categoryId, Category: category });\n }\n\n /**\n * Check if we're at the root level\n */\n public get IsAtRoot(): boolean {\n return !this._currentCategoryId;\n }\n\n /**\n * Get the current category\n */\n public get CurrentCategory(): MJDashboardCategoryEntity | null {\n if (!this._currentCategoryId) return null;\n return this.Categories.find(c => c.ID === this._currentCategoryId) || null;\n }\n\n // ========================================\n // Drag and Drop\n // ========================================\n\n public OnDragOver(categoryId: string | null, event: DragEvent): void {\n if (!this.AllowDragDrop) return;\n event.preventDefault();\n event.dataTransfer!.dropEffect = 'move';\n this.DragOverCategoryId = categoryId;\n this.cdr.markForCheck();\n }\n\n public OnDragLeave(): void {\n this.DragOverCategoryId = undefined;\n this.cdr.markForCheck();\n }\n\n public OnDrop(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 this.DashboardDrop.emit({\n TargetCategoryId: categoryId,\n DashboardIds: dragData.ids\n });\n }\n } catch {\n // Invalid drag data\n }\n }\n\n this.DragOverCategoryId = undefined;\n this.cdr.markForCheck();\n }\n\n // ========================================\n // Track By\n // ========================================\n\n public TrackByCategory(_index: number, category: MJDashboardCategoryEntity): string {\n return category.ID;\n }\n\n // ========================================\n // Private Methods\n // ========================================\n\n private updateBreadcrumbs(): void {\n this.Breadcrumbs = [];\n\n if (!this._currentCategoryId) {\n this.cdr.markForCheck();\n return;\n }\n\n // Build the path from current category to root\n const path: MJDashboardCategoryEntity[] = [];\n let currentId: string | null = this._currentCategoryId;\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 this.cdr.markForCheck();\n }\n}\n","<!-- Dashboard Breadcrumb Component -->\n@if (Visible) {\n <div\n class=\"dashboard-breadcrumb\"\n [class.large]=\"Size === 'large'\"\n >\n <!-- Root item -->\n <button\n class=\"breadcrumb-item root\"\n [class.drop-target]=\"DragOverCategoryId === null\"\n (click)=\"OnNavigate(null)\"\n (dragover)=\"OnDragOver(null, $event)\"\n (dragleave)=\"OnDragLeave()\"\n (drop)=\"OnDrop(null, $event)\">\n <i [class]=\"RootIcon\"></i>\n <span>{{ RootLabel }}</span>\n </button>\n <!-- Category path -->\n @for (crumb of Breadcrumbs; track TrackByCategory($index, crumb); let last = $last) {\n <i class=\"fa-solid fa-chevron-right breadcrumb-separator\"></i>\n <button\n class=\"breadcrumb-item\"\n [class.current]=\"last && !ShowDashboardName\"\n [class.drop-target]=\"DragOverCategoryId === crumb.ID\"\n (click)=\"!last || ShowDashboardName ? OnNavigate(crumb.ID) : null\"\n (dragover)=\"OnDragOver(crumb.ID, $event)\"\n (dragleave)=\"OnDragLeave()\"\n (drop)=\"OnDrop(crumb.ID, $event)\">\n <i class=\"fa-solid fa-folder\"></i>\n <span>{{ crumb.Name }}</span>\n </button>\n }\n <!-- Dashboard name (when viewing a specific dashboard) -->\n @if (ShowDashboardName && CurrentDashboard) {\n <i class=\"fa-solid fa-chevron-right breadcrumb-separator\"></i>\n <span class=\"breadcrumb-item current dashboard-name\">\n <i class=\"fa-solid fa-chart-line\"></i>\n <span>{{ CurrentDashboard.Name }}</span>\n </span>\n }\n </div>\n}\n"]}
1
+ {"version":3,"file":"dashboard-breadcrumb.component.js","sourceRoot":"","sources":["../../../src/lib/breadcrumb/dashboard-breadcrumb.component.ts","../../../src/lib/breadcrumb/dashboard-breadcrumb.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ChangeDetectorRef\n} from '@angular/core';\nimport { MJDashboardCategoryEntity, MJDashboardEntity } from '@memberjunction/core-entities';\nimport { UUIDsEqual } from '@memberjunction/global';\n\n/**\n * Event emitted when a breadcrumb item is clicked for navigation\n */\nexport interface BreadcrumbNavigateEvent {\n CategoryId: string | null;\n Category: MJDashboardCategoryEntity | null;\n}\n\n/**\n * Event emitted when a dashboard is dropped on a breadcrumb item\n */\nexport interface BreadcrumbDropEvent {\n TargetCategoryId: string | null;\n DashboardIds: string[];\n}\n\n/**\n * Reusable breadcrumb navigation component for dashboards.\n * Shows hierarchical path from root to current location.\n * Supports drag-and-drop of dashboards onto breadcrumb items.\n */\n@Component({\n standalone: false,\n selector: 'mj-dashboard-breadcrumb',\n templateUrl: './dashboard-breadcrumb.component.html',\n styleUrls: ['./dashboard-breadcrumb.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DashboardBreadcrumbComponent {\n // ========================================\n // Inputs\n // ========================================\n\n /** All categories for building breadcrumb path */\n private _categories: MJDashboardCategoryEntity[] = [];\n\n @Input()\n set Categories(value: MJDashboardCategoryEntity[]) {\n this._categories = value || [];\n // Rebuild breadcrumbs when categories change (they may load after CurrentCategoryId is set)\n this.updateBreadcrumbs();\n }\n get Categories(): MJDashboardCategoryEntity[] {\n return this._categories;\n }\n\n /** Current category ID (null = root) */\n private _currentCategoryId: string | null = null;\n\n @Input()\n set CurrentCategoryId(value: string | null) {\n if (value !== this._currentCategoryId) {\n this._currentCategoryId = value;\n this.updateBreadcrumbs();\n }\n }\n get CurrentCategoryId(): string | null {\n return this._currentCategoryId;\n }\n\n /** Current dashboard (when viewing a specific dashboard) */\n @Input() CurrentDashboard: MJDashboardEntity | null = null;\n\n /** Icon class for the root breadcrumb item */\n @Input() RootIcon = 'fa-solid fa-gauge-high';\n\n /** Label for the root breadcrumb item */\n @Input() RootLabel = 'Dashboards';\n\n /** Whether to show the current dashboard name at the end */\n @Input() ShowDashboardName = false;\n\n /** Whether to allow drag-drop onto breadcrumb items */\n @Input() AllowDragDrop = true;\n\n /** Whether breadcrumb is visible (e.g., hide during edit mode) */\n @Input() Visible = true;\n\n /** Size variant: 'normal' or 'large' */\n @Input() Size: 'normal' | 'large' = 'normal';\n\n // ========================================\n // Outputs\n // ========================================\n\n /** Emitted when a breadcrumb item is clicked for navigation */\n @Output() Navigate = new EventEmitter<BreadcrumbNavigateEvent>();\n\n /** Emitted when dashboards are dropped on a breadcrumb item */\n @Output() DashboardDrop = new EventEmitter<BreadcrumbDropEvent>();\n\n // ========================================\n // State\n // ========================================\n\n /** Breadcrumb trail from root to current category */\n public Breadcrumbs: MJDashboardCategoryEntity[] = [];\n\n /** Category ID being hovered during drag */\n public DragOverCategoryId: string | null | undefined = undefined;\n\n // ========================================\n // Constructor\n // ========================================\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n // ========================================\n // Public Methods\n // ========================================\n\n /**\n * Navigate to a category\n */\n public OnNavigate(categoryId: string | null): void {\n const category = categoryId\n ? this.Categories.find(c => UUIDsEqual(c.ID, categoryId)) || null\n : null;\n this.Navigate.emit({ CategoryId: categoryId, Category: category });\n }\n\n /**\n * Check if we're at the root level\n */\n public get IsAtRoot(): boolean {\n return !this._currentCategoryId;\n }\n\n /**\n * Get the current category\n */\n public get CurrentCategory(): MJDashboardCategoryEntity | null {\n if (!this._currentCategoryId) return null;\n return this.Categories.find(c => UUIDsEqual(c.ID, this._currentCategoryId)) || null;\n }\n\n // ========================================\n // Drag and Drop\n // ========================================\n\n public OnDragOver(categoryId: string | null, event: DragEvent): void {\n if (!this.AllowDragDrop) return;\n event.preventDefault();\n event.dataTransfer!.dropEffect = 'move';\n this.DragOverCategoryId = categoryId;\n this.cdr.markForCheck();\n }\n\n public OnDragLeave(): void {\n this.DragOverCategoryId = undefined;\n this.cdr.markForCheck();\n }\n\n public OnDrop(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 this.DashboardDrop.emit({\n TargetCategoryId: categoryId,\n DashboardIds: dragData.ids\n });\n }\n } catch {\n // Invalid drag data\n }\n }\n\n this.DragOverCategoryId = undefined;\n this.cdr.markForCheck();\n }\n\n // ========================================\n // Track By\n // ========================================\n\n public TrackByCategory(_index: number, category: MJDashboardCategoryEntity): string {\n return category.ID;\n }\n\n // ========================================\n // Private Methods\n // ========================================\n\n private updateBreadcrumbs(): void {\n this.Breadcrumbs = [];\n\n if (!this._currentCategoryId) {\n this.cdr.markForCheck();\n return;\n }\n\n // Build the path from current category to root\n const path: MJDashboardCategoryEntity[] = [];\n let currentId: string | null = this._currentCategoryId;\n\n while (currentId) {\n const category = this.Categories.find(c => UUIDsEqual(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 this.cdr.markForCheck();\n }\n}\n","<!-- Dashboard Breadcrumb Component -->\n@if (Visible) {\n <div\n class=\"dashboard-breadcrumb\"\n [class.large]=\"Size === 'large'\"\n >\n <!-- Root item -->\n <button\n class=\"breadcrumb-item root\"\n [class.drop-target]=\"DragOverCategoryId === null\"\n (click)=\"OnNavigate(null)\"\n (dragover)=\"OnDragOver(null, $event)\"\n (dragleave)=\"OnDragLeave()\"\n (drop)=\"OnDrop(null, $event)\">\n <i [class]=\"RootIcon\"></i>\n <span>{{ RootLabel }}</span>\n </button>\n <!-- Category path -->\n @for (crumb of Breadcrumbs; track TrackByCategory($index, crumb); let last = $last) {\n <i class=\"fa-solid fa-chevron-right breadcrumb-separator\"></i>\n <button\n class=\"breadcrumb-item\"\n [class.current]=\"last && !ShowDashboardName\"\n [class.drop-target]=\"DragOverCategoryId === crumb.ID\"\n (click)=\"!last || ShowDashboardName ? OnNavigate(crumb.ID) : null\"\n (dragover)=\"OnDragOver(crumb.ID, $event)\"\n (dragleave)=\"OnDragLeave()\"\n (drop)=\"OnDrop(crumb.ID, $event)\">\n <i class=\"fa-solid fa-folder\"></i>\n <span>{{ crumb.Name }}</span>\n </button>\n }\n <!-- Dashboard name (when viewing a specific dashboard) -->\n @if (ShowDashboardName && CurrentDashboard) {\n <i class=\"fa-solid fa-chevron-right breadcrumb-separator\"></i>\n <span class=\"breadcrumb-item current dashboard-name\">\n <i class=\"fa-solid fa-chart-line\"></i>\n <span>{{ CurrentDashboard.Name }}</span>\n </span>\n }\n </div>\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-browser.component.d.ts","sourceRoot":"","sources":["../../../src/lib/dashboard-browser/dashboard-browser.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-browser.component.d.ts","sourceRoot":"","sources":["../../../src/lib/dashboard-browser/dashboard-browser.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,YAAY,EACZ,MAAM,EACN,SAAS,EACT,iBAAiB,EAEpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;;AAOvH;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,iBAAiB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,wBAAwB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,wBAAwB,CAAC;CACtC;AAED;;;;;;GAMG;AACH,qBAOa,yBAA0B,YAAW,MAAM,EAAE,SAAS;IAsNnD,OAAO,CAAC,GAAG;IAjNvB,gCAAgC;IAChC,OAAO,CAAC,WAAW,CAA2B;IAE9C,IACI,UAAU,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAGxC;IACD,IAAI,UAAU,IAAI,iBAAiB,EAAE,CAEpC;IAED,mCAAmC;IACnC,OAAO,CAAC,WAAW,CAAmC;IAEtD,IACI,UAAU,CAAC,KAAK,EAAE,yBAAyB,EAAE,EAKhD;IACD,IAAI,UAAU,IAAI,yBAAyB,EAAE,CAE5C;IAED,wDAAwD;IACxD,OAAO,CAAC,mBAAmB,CAAuB;IAElD,IACI,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAK1C;IACD,IAAI,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAEtC;IAED,wBAAwB;IACxB,OAAO,CAAC,SAAS,CAAqC;IAEtD,IACI,QAAQ,CAAC,KAAK,EAAE,wBAAwB,EAK3C;IACD,IAAI,QAAQ,IAAI,wBAAwB,CAEvC;IAED,8CAA8C;IACrC,SAAS,UAAS;IAE3B,wCAAwC;IAC/B,gBAAgB,UAAQ;IAEjC,oEAAoE;IAC3D,gBAAgB,UAAQ;IAEjC,qCAAqC;IAC5B,aAAa,UAAQ;IAE9B,+DAA+D;IACxD,eAAe,UAAS;IAE/B,qCAAqC;IAC5B,KAAK,SAAgB;IAE9B,gCAAgC;IACvB,SAAS,SAA4B;IAE9C;;;OAGG;IACH,OAAO,CAAC,qBAAqB,CAAoD;IAEjF,IACI,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAAG,IAAI,EAG3E;IACD,IAAI,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAEhE;IAED;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB,CAAyC;IAEtE,IACI,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,EAGhE;IACD,IAAI,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAErD;IAMD,qDAAqD;IAC3C,aAAa,mCAA0C;IAEjE,qDAAqD;IAC3C,aAAa,mCAA0C;IAEjE,yDAAyD;IAC/C,eAAe,qCAA4C;IAErE,gEAAgE;IACtD,aAAa,mCAA0C;IAEjE,qDAAqD;IAC3C,eAAe,qCAA4C;IAErE,oDAAoD;IAC1C,cAAc,oCAA2C;IAEnE,gDAAgD;IACtC,cAAc,oCAA2C;IAEnE,+CAA+C;IACrC,cAAc,oCAA2C;IAEnE,uDAAuD;IAC7C,cAAc,oCAA2C;IAEnE,uDAAuD;IAC7C,oBAAoB,0CAAiD;IAM/E,uDAAuD;IAChD,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;IAEpD,0BAA0B;IACnB,UAAU,SAAM;IAEvB,oCAAoC;IAC7B,WAAW,cAAqB;IAEvC,kEAAkE;IAClE,OAAO,CAAC,aAAa,CAAuB;IAE5C,oDAAoD;IAC7C,iBAAiB,UAAS;IAEjC,+CAA+C;IACxC,cAAc,UAAS;IAE9B,uDAAuD;IAChD,uBAAuB,EAAE,iBAAiB,EAAE,CAAM;IAEzD,sCAAsC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAExC,8BAA8B;IACvB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElD,8CAA8C;IACvC,WAAW,UAAS;IAE3B,oDAAoD;IAC7C,wBAAwB,UAAS;IAExC,+BAA+B;IACxB,eAAe,SAAM;IACrB,sBAAsB,SAAM;IAEnC,6CAA6C;IACtC,eAAe,EAAE,yBAAyB,EAAE,CAAM;IAEzD,kDAAkD;IAC3C,uBAAuB,EAAE,yBAAyB,EAAE,CAAM;IAEjE,qDAAqD;IAC9C,WAAW,EAAE,yBAAyB,EAAE,CAAM;IAErD,oDAAoD;IAC7C,yBAAyB,UAAS;IAEzC,gCAAgC;IACzB,qBAAqB,EAAE,yBAAyB,GAAG,IAAI,CAAQ;IAEtE,yDAAyD;IAClD,6BAA6B,UAAS;IAE7C,2EAA2E;IACpE,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAErD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;gBAM5B,GAAG,EAAE,iBAAiB;IAM1C,QAAQ,IAAI,IAAI;IAIhB,WAAW,IAAI,IAAI;IASnB;;OAEG;IACI,cAAc,IAAI,IAAI;IAM7B;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI;IAYxD;;OAEG;IACI,cAAc,IAAI,IAAI;IAI7B;;OAEG;IACI,WAAW,IAAI,IAAI;IAK1B;;OAEG;IACI,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IASxD;;OAEG;IACI,YAAY,IAAI,IAAI;IAO3B;;OAEG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAS1D;;OAEG;IACI,UAAU,IAAI,IAAI;IAQzB;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,yBAAyB,GAAG,IAAI,CAG7D;IAMD;;OAEG;IACI,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAiC9E;;OAEG;IACI,sBAAsB,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAMpF;;OAEG;IACI,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI/C;;OAEG;IACI,SAAS,IAAI,IAAI;IAQxB;;OAEG;IACI,cAAc,IAAI,IAAI;IAM7B;;OAEG;IACI,kBAAkB,IAAI,IAAI;IAMjC;;OAEG;IACI,iBAAiB,IAAI,IAAI;IAOhC;;OAEG;IACI,mBAAmB,IAAI,IAAI;IAQlC;;OAEG;IACH,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED;;OAEG;IACI,qBAAqB,IAAI,iBAAiB,EAAE;IAQnD;;OAEG;IACI,aAAa,IAAI,IAAI;IAI5B;;OAEG;IACI,YAAY,IAAI,IAAI;IAI3B;;OAEG;IACI,iBAAiB,IAAI,IAAI;IAKhC;;OAEG;IACI,wBAAwB,IAAI,IAAI;IAQvC;;OAEG;IACI,yBAAyB,IAAI,IAAI;IAOxC;;OAEG;IACI,qBAAqB,IAAI,IAAI;IAWpC;;OAEG;IACI,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKxE;;OAEG;IACI,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAO1E;;;OAGG;IACI,gBAAgB,IAAI,IAAI;IAe/B;;OAEG;IACI,aAAa,IAAI,IAAI;IAa5B;;OAEG;IACI,kBAAkB,IAAI,IAAI;IAMjC;;OAEG;IACI,cAAc,IAAI,IAAI;IAM7B;;OAEG;IACI,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAazD;;OAEG;IACI,eAAe,IAAI,IAAI;IAS9B;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,yBAAyB,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAQhF;;OAEG;IACI,qBAAqB,IAAI,IAAI;IAUpC;;OAEG;IACI,0BAA0B,IAAI,IAAI;IAOzC;;OAEG;IACI,uBAAuB,CAAC,QAAQ,EAAE,yBAAyB,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAU/G;;OAEG;IACI,WAAW,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IA+BxE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACI,SAAS,IAAI,IAAI;IAMxB;;OAEG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAQ5E;;OAEG;IACI,mBAAmB,IAAI,IAAI;IAKlC;;OAEG;IACI,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IA+B1E;;OAEG;IACI,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAMzD;;OAEG;IACI,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAkBrC;;OAEG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,MAAM;IAI7E;;OAEG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,yBAAyB,GAAG,MAAM;IAQnF;;;;OAIG;IACI,sBAAsB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI;IAa1E;;OAEG;IACI,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAM7C;;OAEG;IACI,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAM5C;;OAEG;IACI,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAM9C;;;;OAIG;IACH,IAAW,oBAAoB,IAAI,OAAO,CASzC;IAED;;;OAGG;IACI,8BAA8B,IAAI,iBAAiB,EAAE;IAI5D;;;OAGG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ3C;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACI,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAS1E;;OAEG;IACI,wBAAwB,IAAI,IAAI;IAKvC;;OAEG;IACI,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IA+BxE;;OAEG;IACI,gBAAgB,CAAC,KAAK,EAAE;QAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAgBjG,OAAO,CAAC,YAAY;IAgCpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IASjD,OAAO,CAAC,WAAW;yCAxkCV,yBAAyB;2CAAzB,yBAAyB;CAqlCrC"}
@@ -1,5 +1,6 @@
1
1
  import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
+ import { UUIDsEqual } from '@memberjunction/global';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/forms";
5
6
  import * as i2 from "@memberjunction/ng-shared-generic";
@@ -956,7 +957,7 @@ export class DashboardBrowserComponent {
956
957
  OnCategoryChange(categoryId) {
957
958
  this._selectedCategoryId = categoryId;
958
959
  const category = categoryId
959
- ? this.Categories.find(c => c.ID === categoryId) || null
960
+ ? this.Categories.find(c => UUIDsEqual(c.ID, categoryId)) || null
960
961
  : null;
961
962
  this.CategoryChange.emit({ CategoryId: categoryId, Category: category });
962
963
  this.applyFilters();
@@ -976,7 +977,7 @@ export class DashboardBrowserComponent {
976
977
  NavigateToCategory(categoryId) {
977
978
  this._selectedCategoryId = categoryId;
978
979
  const category = categoryId
979
- ? this.Categories.find(c => c.ID === categoryId) || null
980
+ ? this.Categories.find(c => UUIDsEqual(c.ID, categoryId)) || null
980
981
  : null;
981
982
  this.CategoryChange.emit({ CategoryId: categoryId, Category: category });
982
983
  this.applyFilters();
@@ -987,7 +988,7 @@ export class DashboardBrowserComponent {
987
988
  NavigateUp() {
988
989
  if (!this._selectedCategoryId)
989
990
  return;
990
- const currentCategory = this.Categories.find(c => c.ID === this._selectedCategoryId);
991
+ const currentCategory = this.Categories.find(c => UUIDsEqual(c.ID, this._selectedCategoryId));
991
992
  const parentId = currentCategory?.ParentID || null;
992
993
  this.NavigateToCategory(parentId);
993
994
  }
@@ -1003,7 +1004,7 @@ export class DashboardBrowserComponent {
1003
1004
  get CurrentCategory() {
1004
1005
  if (!this._selectedCategoryId)
1005
1006
  return null;
1006
- return this.Categories.find(c => c.ID === this._selectedCategoryId) || null;
1007
+ return this.Categories.find(c => UUIDsEqual(c.ID, this._selectedCategoryId)) || null;
1007
1008
  }
1008
1009
  // ========================================
1009
1010
  // Public Methods - Selection
@@ -1296,8 +1297,8 @@ export class DashboardBrowserComponent {
1296
1297
  * Get count of dashboards and sub-categories in a category
1297
1298
  */
1298
1299
  GetCategoryContentCount(category) {
1299
- const dashboards = this.Dashboards.filter(d => d.CategoryID === category.ID).length;
1300
- const categories = this.Categories.filter(c => c.ParentID === category.ID).length;
1300
+ const dashboards = this.Dashboards.filter(d => UUIDsEqual(d.CategoryID, category.ID)).length;
1301
+ const categories = this.Categories.filter(c => UUIDsEqual(c.ParentID, category.ID)).length;
1301
1302
  return { dashboards, categories };
1302
1303
  }
1303
1304
  // ========================================
@@ -1400,7 +1401,7 @@ export class DashboardBrowserComponent {
1400
1401
  try {
1401
1402
  const dragData = JSON.parse(data);
1402
1403
  if (dragData.type === 'dashboards' && dragData.ids?.length > 0) {
1403
- const dashboards = this.Dashboards.filter(d => dragData.ids.includes(d.ID));
1404
+ const dashboards = this.Dashboards.filter(d => dragData.ids.some((id) => UUIDsEqual(id, d.ID)));
1404
1405
  if (dashboards.length > 0) {
1405
1406
  this.DashboardMove.emit({
1406
1407
  Dashboards: dashboards,
@@ -1426,7 +1427,7 @@ export class DashboardBrowserComponent {
1426
1427
  GetCategoryName(categoryId) {
1427
1428
  if (!categoryId)
1428
1429
  return 'Uncategorized';
1429
- const category = this.Categories.find(c => c.ID === categoryId);
1430
+ const category = this.Categories.find(c => UUIDsEqual(c.ID, categoryId));
1430
1431
  return category?.Name || 'Unknown';
1431
1432
  }
1432
1433
  /**
@@ -1581,7 +1582,7 @@ export class DashboardBrowserComponent {
1581
1582
  try {
1582
1583
  const dragData = JSON.parse(data);
1583
1584
  if (dragData.type === 'dashboards' && dragData.ids?.length > 0) {
1584
- const dashboards = this.Dashboards.filter(d => dragData.ids.includes(d.ID));
1585
+ const dashboards = this.Dashboards.filter(d => dragData.ids.some((id) => UUIDsEqual(id, d.ID)));
1585
1586
  if (dashboards.length > 0) {
1586
1587
  this.DashboardMove.emit({
1587
1588
  Dashboards: dashboards,
@@ -1605,7 +1606,7 @@ export class DashboardBrowserComponent {
1605
1606
  * Handle drop from breadcrumb component
1606
1607
  */
1607
1608
  OnBreadcrumbDrop(event) {
1608
- const dashboards = this.Dashboards.filter(d => event.DashboardIds.includes(d.ID));
1609
+ const dashboards = this.Dashboards.filter(d => event.DashboardIds.some(id => UUIDsEqual(id, d.ID)));
1609
1610
  if (dashboards.length > 0) {
1610
1611
  this.DashboardMove.emit({
1611
1612
  Dashboards: dashboards,
@@ -1651,7 +1652,7 @@ export class DashboardBrowserComponent {
1651
1652
  // Find categories that are children of the current category
1652
1653
  // Handle both null and undefined ParentID for root-level categories
1653
1654
  if (this._selectedCategoryId) {
1654
- this.ChildCategories = this.Categories.filter(c => c.ParentID === this._selectedCategoryId);
1655
+ this.ChildCategories = this.Categories.filter(c => UUIDsEqual(c.ParentID, this._selectedCategoryId));
1655
1656
  }
1656
1657
  else {
1657
1658
  // At root level - show categories with no parent (null or undefined)
@@ -1678,7 +1679,7 @@ export class DashboardBrowserComponent {
1678
1679
  const path = [];
1679
1680
  let currentId = this._selectedCategoryId;
1680
1681
  while (currentId) {
1681
- const category = this.Categories.find(c => c.ID === currentId);
1682
+ const category = this.Categories.find(c => UUIDsEqual(c.ID, currentId));
1682
1683
  if (category) {
1683
1684
  path.unshift(category);
1684
1685
  currentId = category.ParentID;
@@ -1702,8 +1703,8 @@ export class DashboardBrowserComponent {
1702
1703
  this.cdr.markForCheck();
1703
1704
  }
1704
1705
  selectRange(fromId, toId) {
1705
- const fromIndex = this.FilteredDashboards.findIndex(d => d.ID === fromId);
1706
- const toIndex = this.FilteredDashboards.findIndex(d => d.ID === toId);
1706
+ const fromIndex = this.FilteredDashboards.findIndex(d => UUIDsEqual(d.ID, fromId));
1707
+ const toIndex = this.FilteredDashboards.findIndex(d => UUIDsEqual(d.ID, toId));
1707
1708
  if (fromIndex === -1 || toIndex === -1)
1708
1709
  return;
1709
1710
  const start = Math.min(fromIndex, toIndex);
@@ -1844,5 +1845,5 @@ export class DashboardBrowserComponent {
1844
1845
  }], ViewPreferenceChange: [{
1845
1846
  type: Output
1846
1847
  }] }); })();
1847
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardBrowserComponent, { className: "DashboardBrowserComponent", filePath: "src/lib/dashboard-browser/dashboard-browser.component.ts", lineNumber: 113 }); })();
1848
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardBrowserComponent, { className: "DashboardBrowserComponent", filePath: "src/lib/dashboard-browser/dashboard-browser.component.ts", lineNumber: 114 }); })();
1848
1849
  //# sourceMappingURL=dashboard-browser.component.js.map