@memberjunction/ng-dashboards 5.3.1 → 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/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
- package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
- package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
- package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
- package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
- package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
- package/dist/AI/index.js.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
- package/dist/APIKeys/api-applications-panel.component.js +2 -2
- package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.js +2 -2
- package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.js +2 -2
- package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-list.component.js +2 -2
- package/dist/APIKeys/api-key-list.component.js.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.js +2 -2
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/APIKeys/api-scopes-panel.component.js +2 -2
- package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
- package/dist/APIKeys/api-usage-panel.component.js +2 -2
- package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
- package/dist/APIKeys/index.js.map +1 -1
- package/dist/Actions/components/actions-list-view.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/categories-list-view.component.js.map +1 -1
- package/dist/Actions/components/code-management.component.js.map +1 -1
- package/dist/Actions/components/entity-integration.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/executions-list-view.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
- package/dist/Actions/components/explorer/index.js.map +1 -1
- package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
- package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
- package/dist/Actions/components/security-permissions.component.js.map +1 -1
- package/dist/Actions/index.js.map +1 -1
- package/dist/Actions/services/action-explorer-state.service.js.map +1 -1
- package/dist/Communication/communication-dashboard.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -1
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
- package/dist/ComponentStudio/index.js.map +1 -1
- package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -1
- package/dist/ComponentStudio/services/component-version.service.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/Credentials/credentials-dashboard.component.js.map +1 -1
- package/dist/Credentials/index.js.map +1 -1
- package/dist/Credentials/pipes/group-by.pipe.js.map +1 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
- package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +25 -3
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +158 -34
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +57 -23
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +600 -445
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
- package/dist/DataExplorer/index.js.map +1 -1
- package/dist/DataExplorer/models/explorer-state.interface.d.ts +25 -0
- package/dist/DataExplorer/models/explorer-state.interface.d.ts.map +1 -1
- package/dist/DataExplorer/models/explorer-state.interface.js +6 -1
- package/dist/DataExplorer/models/explorer-state.interface.js.map +1 -1
- package/dist/DataExplorer/services/explorer-state.service.d.ts +21 -3
- package/dist/DataExplorer/services/explorer-state.service.d.ts.map +1 -1
- package/dist/DataExplorer/services/explorer-state.service.js +70 -36
- package/dist/DataExplorer/services/explorer-state.service.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +2 -2
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-application.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +20 -5
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +128 -79
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
- package/dist/Lists/index.js.map +1 -1
- package/dist/Lists/services/list-set-operations.service.js.map +1 -1
- package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -1
- package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
- package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -1
- package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
- package/dist/MCP/index.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/MCP/mcp-filter-panel.component.js.map +1 -1
- package/dist/MCP/mcp-resource.component.js.map +1 -1
- package/dist/MCP/mcp.module.js.map +1 -1
- package/dist/MCP/services/mcp-tools.service.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/index.js.map +1 -1
- package/dist/Scheduling/components/job-slideout.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
- package/dist/SystemDiagnostics/index.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +3 -3
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/index.js.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-review.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
- package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
- package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
- package/dist/Testing/services/testing-instrumentation.service.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/index.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/VersionHistory/index.js.map +1 -1
- package/dist/__tests__/dashboards.test.js.map +1 -1
- package/dist/module.js.map +1 -1
- package/dist/public-api.js.map +1 -1
- package/dist/shared/pipes/highlight-search.pipe.js.map +1 -1
- package/dist/shared/pipes/index.js.map +1 -1
- package/dist/shared/shared-pipes.module.js.map +1 -1
- package/package.json +38 -38
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"home-dashboard.component.js","sourceRoot":"","sources":["../../src/Home/home-dashboard.component.ts","../../src/Home/home-dashboard.component.html"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"home-dashboard.component.js","sourceRoot":"","sources":["../../src/Home/home-dashboard.component.ts","../../src/Home/home-dashboard.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, AfterViewInit, OnDestroy, ChangeDetectorRef, ViewChild, ChangeDetectionStrategy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseResourceComponent, NavigationService, RecentAccessService, RecentAccessItem } from '@memberjunction/ng-shared';\nimport { RegisterClass } from '@memberjunction/global';\nimport { Metadata, CompositeKey, EntityRecordNameInput } from '@memberjunction/core';\nimport { ResourceData, MJUserFavoriteEntity, MJUserNotificationEntity, UserInfoEngine } from '@memberjunction/core-entities';\nimport { ApplicationManager, BaseApplication } from '@memberjunction/ng-base-application';\nimport { UserAppConfigComponent } from '@memberjunction/ng-explorer-settings';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\n\n/**\n * Cached app data with pre-computed values for optimal rendering performance\n */\ninterface AppDisplayData {\n app: BaseApplication;\n color: string;\n icon: string;\n navItemsCount: number;\n navItemsPreview: { Label: string; Icon: string }[];\n showMoreItems: boolean;\n moreItemsCount: number;\n}\n\n/**\n * Home Dashboard - Personalized home screen showing all available applications\n * with quick access navigation and configuration options.\n *\n * Uses OnPush change detection and cached computed values for optimal performance.\n * Registered as a BaseResourceComponent so it can be used as a Custom resource type\n * in nav items, allowing users to return to the Home dashboard after viewing orphan resources.\n */\n@Component({\n standalone: false,\n selector: 'mj-home-dashboard',\n templateUrl: './home-dashboard.component.html',\n styleUrls: ['./home-dashboard.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n@RegisterClass(BaseResourceComponent, 'HomeDashboard')\nexport class HomeDashboardComponent extends BaseResourceComponent implements AfterViewInit, OnDestroy {\n private destroy$ = new Subject<void>();\n private metadata = new Metadata();\n\n @ViewChild('appConfigDialog') appConfigDialog!: UserAppConfigComponent;\n\n // State\n public isLoading = true;\n public apps: BaseApplication[] = [];\n public appsDisplayData: AppDisplayData[] = []; // Pre-computed display data\n public currentUser: { Name: string; Email: string } | null = null;\n public showConfigDialog = false;\n\n // Favorites\n public favorites: MJUserFavoriteEntity[] = [];\n public favoritesLoading = true;\n\n // Recents\n public recentItems: RecentAccessItem[] = [];\n public recentsLoading = true;\n\n // Notifications\n public unreadNotifications: MJUserNotificationEntity[] = [];\n public notificationsLoading = true;\n\n // Sidebar state - default closed on all screen sizes\n public sidebarOpen = false;\n\n // Cached icon lookups to avoid repeated method calls\n private favoriteIconCache = new Map<string, string>();\n private resourceIconCache = new Map<string, string>();\n\n // Resolved display names for favorites (keyed by favorite ID)\n public favoriteDisplayNames = new Map<string, string>();\n\n /**\n * Check if sidebar has any content to show\n */\n get hasSidebarContent(): boolean {\n return this.unreadNotifications.length > 0 ||\n this.favorites.length > 0 ||\n this.recentItems.length > 0 ||\n this.favoritesLoading ||\n this.recentsLoading;\n }\n\n /**\n * Toggle sidebar visibility\n */\n toggleSidebar(): void {\n this.sidebarOpen = !this.sidebarOpen;\n }\n\n /**\n * Check if current device is mobile (width <= 768px)\n */\n private isMobileDevice(): boolean {\n return typeof window !== 'undefined' && window.innerWidth <= 768;\n }\n\n constructor(\n private appManager: ApplicationManager,\n private navigationService: NavigationService,\n private recentAccessService: RecentAccessService,\n private cdr: ChangeDetectorRef\n ) {\n super();\n }\n\n async GetResourceDisplayName(data: ResourceData): Promise<string> {\n return 'Home';\n }\n\n async GetResourceIconClass(data: ResourceData): Promise<string> {\n return '';\n }\n\n async ngAfterViewInit(): Promise<void> {\n // Get current user info\n this.currentUser = {\n Name: this.metadata.CurrentUser?.Name || 'User',\n Email: this.metadata.CurrentUser?.Email || ''\n };\n\n // Subscribe to loading state from ApplicationManager\n this.appManager.Loading\n .pipe(takeUntil(this.destroy$))\n .subscribe(loading => {\n // Only update isLoading if manager is actively loading\n // (we start with isLoading=true and only set to false when we have apps)\n if (loading) {\n this.isLoading = true;\n this.cdr.markForCheck();\n }\n });\n\n // Subscribe to applications list, filtering out the Home app\n this.appManager.Applications\n .pipe(takeUntil(this.destroy$))\n .subscribe(async apps => {\n // Exclude the Home app from the list (users are already on Home)\n this.apps = apps.filter(app => app.Name !== 'Home');\n\n // Pre-compute display data for all apps\n await this.computeAppsDisplayData();\n\n this.isLoading = false;\n this.NotifyLoadComplete();\n\n this.cdr.markForCheck();\n });\n\n // Subscribe to unread notifications\n MJNotificationService.Notifications$\n .pipe(takeUntil(this.destroy$))\n .subscribe(notifications => {\n this.unreadNotifications = notifications.filter(n => n.Unread).slice(0, 5);\n this.notificationsLoading = false;\n this.cdr.markForCheck();\n });\n\n // Subscribe to recent items\n this.recentAccessService.RecentItems\n .pipe(takeUntil(this.destroy$))\n .subscribe(items => {\n this.recentItems = this.deduplicateRecents(items).slice(0, 5);\n this.recentsLoading = false;\n this.cdr.markForCheck();\n });\n\n // Favorites and recents load asynchronously in the sidebar\n this.NotifyLoadComplete();\n\n // Load favorites and recents asynchronously (don't block rendering)\n this.loadFavorites();\n this.loadRecents();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * Get a greeting based on time of day\n */\n get greeting(): string {\n const hour = new Date().getHours();\n if (hour < 12) return 'Good morning';\n if (hour < 17) return 'Good afternoon';\n return 'Good evening';\n }\n\n /**\n * Get formatted date string\n */\n get formattedDate(): string {\n return new Date().toLocaleDateString('en-US', {\n weekday: 'long',\n month: 'long',\n day: 'numeric'\n });\n }\n\n /**\n * Navigate to an application\n */\n async onAppClick(app: BaseApplication): Promise<void> {\n // Use NavigationService to switch to the app (handles tab creation if needed)\n await this.navigationService.SwitchToApp(app.ID);\n }\n\n /**\n * Open app configuration dialog\n */\n openConfigDialog(): void {\n this.showConfigDialog = true;\n setTimeout(() => {\n if (this.appConfigDialog) {\n this.appConfigDialog.Open();\n }\n }, 0);\n }\n\n /**\n * Handle when config is saved\n */\n onConfigSaved(): void {\n this.showConfigDialog = false;\n }\n\n /**\n * Pre-compute display data for all apps to avoid repeated calculations during change detection\n */\n private async computeAppsDisplayData(): Promise<void> {\n this.appsDisplayData = await Promise.all(this.apps.map(async app => {\n const navItems = await app.GetNavItems();\n const navItemsCount = navItems.length;\n const navItemsPreview = navItems.slice(0, 3).map(item => ({\n Label: item.Label,\n Icon: item.Icon || 'fa-solid fa-circle'\n }));\n\n return {\n app,\n color: app.GetColor() || '#1976d2',\n icon: app.Icon || 'fa-solid fa-cube',\n navItemsCount,\n navItemsPreview,\n showMoreItems: navItemsCount > 3,\n moreItemsCount: navItemsCount - 3\n };\n }));\n }\n\n /**\n * Track function for apps loop\n */\n trackByApp(_index: number, item: AppDisplayData): string {\n return item.app.ID;\n }\n\n /**\n * Track function for nav items preview\n */\n trackByNavItem(_index: number, item: { Label: string; Icon: string }): string {\n return item.Label;\n }\n\n /**\n * Load user favorites from UserInfoEngine (cached) and resolve record display names\n */\n private async loadFavorites(): Promise<void> {\n try {\n this.favoritesLoading = true;\n\n // Get first 10 favorites (already ordered by __mj_CreatedAt DESC in engine)\n this.favorites = UserInfoEngine.Instance.UserFavorites.slice(0, 10);\n\n // Batch-resolve record names for all favorites\n await this.resolveFavoriteNames();\n } catch (error) {\n console.error('Error loading favorites:', error);\n } finally {\n this.favoritesLoading = false;\n this.cdr.markForCheck();\n }\n }\n\n /**\n * Batch-resolve record display names for favorites using GetEntityRecordNames()\n */\n private async resolveFavoriteNames(): Promise<void> {\n const nameInputs: EntityRecordNameInput[] = [];\n const favoriteIdByKey = new Map<string, string>(); // map key -> favorite ID\n\n for (const fav of this.favorites) {\n if (!fav.Entity || !fav.RecordID) continue;\n const compositeKey = this.buildCompositeKeyForRecord(fav.Entity, fav.RecordID);\n if (!compositeKey) continue;\n\n nameInputs.push({ EntityName: fav.Entity, CompositeKey: compositeKey });\n favoriteIdByKey.set(`${fav.Entity}||${compositeKey.ToConcatenatedString()}`, fav.ID);\n }\n\n if (nameInputs.length === 0) return;\n\n try {\n const nameResults = await this.metadata.GetEntityRecordNames(nameInputs);\n for (const result of nameResults) {\n if (result.Success && result.RecordName) {\n const key = `${result.EntityName}||${result.CompositeKey.ToConcatenatedString()}`;\n const favId = favoriteIdByKey.get(key);\n if (favId) {\n this.favoriteDisplayNames.set(favId, result.RecordName);\n }\n }\n }\n } catch (error) {\n console.warn('Failed to resolve favorite record names:', error);\n }\n }\n\n /**\n * Build a CompositeKey for a record. RecordID may be stored as either:\n * - Concatenated format: \"FieldName|Value\" or \"Field1|Val1||Field2|Val2\"\n * - Plain value: just the raw value (e.g. a GUID)\n */\n private buildCompositeKeyForRecord(entityName: string, recordId: string): CompositeKey | null {\n if (!recordId) return null;\n\n // If recordId contains '|', it's in concatenated format\n if (recordId.includes('|')) {\n try {\n const compositeKey = new CompositeKey();\n compositeKey.LoadFromConcatenatedString(recordId);\n if (compositeKey.KeyValuePairs.length > 0) return compositeKey;\n } catch {\n // Fall through to entity-based lookup\n }\n }\n\n // Plain value — look up entity primary key field(s) to construct the key\n const entityInfo = this.metadata.Entities.find(e => e.Name === entityName);\n if (!entityInfo) return null;\n\n const pkField = entityInfo.FirstPrimaryKey;\n if (!pkField) return null;\n\n const compositeKey = new CompositeKey();\n compositeKey.KeyValuePairs = [{ FieldName: pkField.Name, Value: recordId }];\n return compositeKey;\n }\n\n /**\n * Get the display name for a favorite (resolved name or entity name fallback)\n */\n getFavoriteDisplayName(favorite: MJUserFavoriteEntity): string {\n return this.favoriteDisplayNames.get(favorite.ID) || favorite.Entity || favorite.RecordID;\n }\n\n /**\n * Load recent items via the RecentAccessService\n */\n private async loadRecents(): Promise<void> {\n try {\n this.recentsLoading = true;\n this.cdr.markForCheck();\n await this.recentAccessService.loadRecentItems(10);\n } catch (error) {\n console.error('Error loading recents:', error);\n } finally {\n this.recentsLoading = false;\n this.cdr.markForCheck();\n }\n }\n\n /**\n * Navigate to a favorite item using NavigationService\n */\n onFavoriteClick(favorite: MJUserFavoriteEntity): void {\n // Navigate based on entity type using NavigationService\n const entityName = favorite.Entity?.toLowerCase();\n const recordId = favorite.RecordID;\n\n if (entityName === 'dashboards') {\n this.navigationService.OpenDashboard(recordId, 'Dashboard');\n } else if (entityName === 'user views') {\n this.navigationService.OpenView(recordId, 'View');\n } else if (entityName === 'reports') {\n this.navigationService.OpenReport(recordId, 'Report');\n } else if (entityName?.includes('artifact')) {\n this.navigationService.OpenArtifact(recordId, 'Artifact');\n } else {\n // Default: navigate to record\n const compositeKey = new CompositeKey();\n compositeKey.LoadFromSingleKeyValuePair('ID', recordId);\n this.navigationService.OpenEntityRecord(favorite.Entity, compositeKey);\n }\n }\n\n /**\n * Navigate to a recent item using NavigationService\n */\n onRecentClick(item: RecentAccessItem): void {\n // Use recordName if available, otherwise fall back to generic titles\n const name = item.recordName;\n\n switch (item.resourceType) {\n case 'view':\n this.navigationService.OpenView(item.recordId, name || 'View');\n break;\n case 'dashboard':\n this.navigationService.OpenDashboard(item.recordId, name || 'Dashboard');\n break;\n case 'artifact':\n this.navigationService.OpenArtifact(item.recordId, name || 'Artifact');\n break;\n case 'report':\n this.navigationService.OpenReport(item.recordId, name || 'Report');\n break;\n default:\n // Regular record\n const compositeKey = new CompositeKey();\n compositeKey.LoadFromSingleKeyValuePair('ID', item.recordId);\n this.navigationService.OpenEntityRecord(item.entityName, compositeKey);\n }\n }\n\n /**\n * Navigate to a notification using NavigationService\n */\n onNotificationClick(notification: MJUserNotificationEntity): void {\n // Navigate to the notifications view using NavigationService\n this.navigationService.OpenDynamicView('MJ: User Notifications');\n }\n\n /**\n * Get icon for an entity by name, using entity metadata Icon field (cached)\n */\n getEntityIconByName(entityName: string): string {\n if (!entityName) return 'fa-solid fa-file';\n\n const cached = this.resourceIconCache.get(entityName);\n if (cached) return cached;\n\n const entityInfo = this.metadata.Entities.find(e => e.Name === entityName);\n const icon = entityInfo ? this.resolveEntityIcon(entityInfo.Icon) : 'fa-solid fa-file';\n\n this.resourceIconCache.set(entityName, icon);\n return icon;\n }\n\n /**\n * Resolve an entity's Icon field to a full Font Awesome class string\n */\n private resolveEntityIcon(icon: string | undefined): string {\n if (!icon) return 'fa-solid fa-table';\n\n // Already has a style prefix\n if (icon.startsWith('fa-solid') || icon.startsWith('fa-regular') ||\n icon.startsWith('fa-light') || icon.startsWith('fa-brands') ||\n icon.startsWith('fa ')) {\n return icon;\n }\n // Has fa- prefix but no style\n if (icon.startsWith('fa-')) {\n return `fa-solid ${icon}`;\n }\n // Just an icon name like \"table\" or \"users\"\n return `fa-solid fa-${icon}`;\n }\n\n /**\n * Format a date for display (pure function, safe to call in template)\n */\n formatDate(date: Date): string {\n if (!date) return '';\n const now = new Date();\n const diff = now.getTime() - new Date(date).getTime();\n const days = Math.floor(diff / (1000 * 60 * 60 * 24));\n\n if (days === 0) return 'Today';\n if (days === 1) return 'Yesterday';\n if (days < 7) return `${days} days ago`;\n return new Date(date).toLocaleDateString();\n }\n\n /**\n * Track function for favorites\n */\n trackByFavorite(_index: number, item: MJUserFavoriteEntity): string {\n return item.ID;\n }\n\n /**\n * Remove duplicate recent items (same entity + recordId). Keeps the first occurrence.\n */\n private deduplicateRecents(items: RecentAccessItem[]): RecentAccessItem[] {\n const seen = new Set<string>();\n return items.filter(item => {\n const key = `${item.entityName}-${item.recordId}`;\n if (seen.has(key)) {\n return false;\n }\n seen.add(key);\n return true;\n });\n }\n\n /**\n * Track function for recent items\n */\n trackByRecent(_index: number, item: RecentAccessItem): string {\n return `${item.entityName}-${item.recordId}`;\n }\n\n /**\n * Track function for notifications\n */\n trackByNotification(_index: number, item: MJUserNotificationEntity): string {\n return item.ID;\n }\n}\n","<div class=\"home-dashboard\" [class.sidebar-open]=\"sidebarOpen && hasSidebarContent\">\n <!-- Main Content Area -->\n <div class=\"main-content\">\n <!-- Header Section -->\n <div class=\"home-header\">\n <div class=\"greeting-section\">\n <h1>{{ greeting }}, {{ currentUser?.Name }}</h1>\n <p class=\"date\">{{ formattedDate }}</p>\n </div>\n </div>\n\n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading your applications...\" size=\"large\"></mj-loading>\n </div>\n }\n\n <!-- Apps Grid -->\n @if (!isLoading) {\n <div class=\"apps-section\">\n <h2 class=\"section-title\">\n <i class=\"fa-solid fa-grid-2\"></i>\n Your Applications\n </h2>\n <div class=\"apps-grid\">\n @for (appData of appsDisplayData; track trackByApp($index, appData)) {\n <div\n class=\"app-card\"\n [style.--app-color]=\"appData.color\"\n (click)=\"onAppClick(appData.app)\">\n <!-- App Icon -->\n <div class=\"app-icon-wrapper\">\n <div class=\"app-icon\">\n <i [class]=\"appData.icon\"></i>\n </div>\n </div>\n <!-- App Info -->\n <div class=\"app-info\">\n <h3 class=\"app-name\">{{ appData.app.Name }}</h3>\n @if (appData.app.Description) {\n <p class=\"app-description\">{{ appData.app.Description }}</p>\n }\n <!-- Nav Items Preview -->\n @if (appData.navItemsCount > 0) {\n <div class=\"nav-preview\">\n @for (item of appData.navItemsPreview; track trackByNavItem($index, item)) {\n <div class=\"nav-item-chip\">\n <i [class]=\"item.Icon\"></i>\n <span>{{ item.Label }}</span>\n </div>\n }\n @if (appData.showMoreItems) {\n <span class=\"more-items\">\n +{{ appData.moreItemsCount }} more\n </span>\n }\n </div>\n }\n </div>\n <!-- Hover Arrow -->\n <div class=\"app-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n }\n </div>\n <!-- Empty State -->\n @if (apps.length === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-folder-open\"></i>\n </div>\n <h3>No Applications Available</h3>\n <p>You don't have any applications configured yet.</p>\n <button kendoButton\n themeColor=\"primary\"\n (click)=\"openConfigDialog()\">\n <i class=\"fa-solid fa-gear\"></i>\n Configure Applications\n </button>\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Collapsible Right Sidebar -->\n @if (hasSidebarContent) {\n <div class=\"quick-access-sidebar\">\n <div class=\"sidebar-header\">\n <h3>\n <i class=\"fa-solid fa-bolt\"></i>\n Quick Access\n </h3>\n <button class=\"sidebar-close-btn\" (click)=\"toggleSidebar()\" title=\"Close panel\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"sidebar-content\">\n <!-- Unread Notifications Section -->\n @if (unreadNotifications.length > 0) {\n <div class=\"sidebar-section notifications-section\">\n <h4 class=\"sidebar-section-title\">\n <i class=\"fa-solid fa-bell\"></i>\n Notifications\n <span class=\"section-badge\">{{ unreadNotifications.length }}</span>\n </h4>\n <div class=\"sidebar-items\">\n @for (notification of unreadNotifications; track trackByNotification($index, notification)) {\n <div\n class=\"sidebar-item notification-item\"\n (click)=\"onNotificationClick(notification)\">\n <div class=\"sidebar-item-info\">\n <span class=\"sidebar-item-title\">{{ notification.Title }}</span>\n <span class=\"sidebar-item-subtitle\">{{ notification.Message | slice:0:40 }}{{ (notification.Message?.length || 0) > 40 ? '...' : '' }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <!-- Favorites Section -->\n @if (favorites.length > 0 || favoritesLoading) {\n <div class=\"sidebar-section favorites-section\">\n <h4 class=\"sidebar-section-title\">\n <i class=\"fa-solid fa-star\"></i>\n Favorites\n </h4>\n @if (!favoritesLoading) {\n <div class=\"sidebar-items\">\n @for (favorite of favorites; track trackByFavorite($index, favorite)) {\n <div\n class=\"sidebar-item favorite-item\"\n (click)=\"onFavoriteClick(favorite)\">\n <div class=\"sidebar-item-icon\">\n <i [class]=\"getEntityIconByName(favorite.Entity)\"></i>\n </div>\n <div class=\"sidebar-item-info\">\n <span class=\"sidebar-item-title\">{{ getFavoriteDisplayName(favorite) }}</span>\n <span class=\"sidebar-item-subtitle\">{{ favorite.Entity }}</span>\n </div>\n </div>\n }\n </div>\n }\n @if (favoritesLoading) {\n <div class=\"sidebar-loading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading...</span>\n </div>\n }\n </div>\n }\n <!-- Recents Section -->\n @if (recentItems.length > 0 || recentsLoading) {\n <div class=\"sidebar-section recents-section\">\n <h4 class=\"sidebar-section-title\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n Recent\n </h4>\n @if (!recentsLoading) {\n <div class=\"sidebar-items\">\n @for (item of recentItems; track trackByRecent($index, item)) {\n <div\n class=\"sidebar-item recent-item\"\n (click)=\"onRecentClick(item)\">\n <div class=\"sidebar-item-icon\">\n <i [class]=\"getEntityIconByName(item.entityName)\"></i>\n </div>\n <div class=\"sidebar-item-info\">\n <span class=\"sidebar-item-title\">{{ item.recordName || item.recordId }}</span>\n <span class=\"sidebar-item-subtitle\">{{ item.entityName }} · {{ formatDate(item.latestAt) }}</span>\n </div>\n </div>\n }\n </div>\n }\n @if (recentsLoading) {\n <div class=\"sidebar-loading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading...</span>\n </div>\n }\n </div>\n }\n <!-- Empty sidebar state -->\n @if (!favoritesLoading && !recentsLoading && unreadNotifications.length === 0 && favorites.length === 0 && recentItems.length === 0) {\n <div class=\"sidebar-empty\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No quick access items</p>\n </div>\n }\n </div>\n </div>\n }\n\n <!-- Quick Access FAB Toggle (Fixed Button) -->\n @if (hasSidebarContent && !sidebarOpen) {\n <button class=\"sidebar-fab-toggle\"\n (click)=\"toggleSidebar()\"\n title=\"Quick Access\">\n <i class=\"fa-solid fa-bolt\"></i>\n @if (unreadNotifications.length > 0) {\n <span class=\"fab-badge\">{{ unreadNotifications.length }}</span>\n }\n </button>\n }\n\n <!-- App Configuration Dialog -->\n <mj-user-app-config\n #appConfigDialog\n [(ShowDialog)]=\"showConfigDialog\"\n (ConfigSaved)=\"onConfigSaved()\">\n </mj-user-app-config>\n</div>\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lists-browse-resource.component.js","sourceRoot":"","sources":["../../../src/Lists/components/lists-browse-resource.component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lists-browse-resource.component.js","sourceRoot":"","sources":["../../../src/Lists/components/lists-browse-resource.component.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAA4C,YAAY,EAAE,MAAM,eAAe,CAAC;AACrH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;;;;;;;;;;;;IAkDjB,kCAAqD;IAAxB,wLAAS,oBAAa,KAAC;IAClD,wBAAiC;IACnC,iBAAS;;;IAWP,kCAA4B;IAAA,YAAY;IAAA,iBAAS;;;IAAzC,oCAAmB;IAAC,cAAY;IAAZ,iCAAY;;;IAYxC,kCAA4B;IAAA,YAAY;IAAA,iBAAS;;;IAAzC,oCAAmB;IAAC,cAAY;IAAZ,iCAAY;;;IAiChD,+BAA+B;IAC7B,iCAA+D;IACjE,iBAAM;;;;IAMJ,AADF,+BAAyB,cACe;IAEpC,AADA,0BAA2B,WACW;IACxC,iBAAM;IACN,0BAAI;IAAA,4BAAY;IAAA,iBAAK;IACrB,yBAAG;IAAA,qFAAqE;IAAA,iBAAI;IAE1E,AADF,+BAAkC,cACN;IACxB,yBAAwC;IACxC,6BAAM;IAAA,8CAA6B;IACrC,AADqC,iBAAO,EACtC;IACN,gCAA0B;IACxB,yBAAwC;IACxC,6BAAM;IAAA,yCAAwB;IAChC,AADgC,iBAAO,EACjC;IACN,gCAA0B;IACxB,yBAAwC;IACxC,6BAAM;IAAA,2CAA0B;IAEpC,AADE,AADkC,iBAAO,EACnC,EACF;IACN,mCAA2D;IAA1B,yLAAS,sBAAe,KAAC;IACxD,wBAAgC;IAChC,yCACF;IACF,AADE,iBAAS,EACL;;;;IAMJ,AADF,+BAAsC,cACS;IAC3C,wBAA+C;IACjD,iBAAM;IACN,0BAAI;IAAA,gCAAgB;IAAA,iBAAK;IACzB,yBAAG;IAAA,oDAAoC;IAAA,iBAAI;IAC3C,6BAAsB;IAAA,qDAAqC;IAAA,iBAAI;IAC/D,kCAAmD;IAAzB,wLAAS,qBAAc,KAAC;IAAC,kCAAiB;IACtE,AADsE,iBAAS,EACzE;;;IAeI,kCAA4B;IAAA,YAAY;IAAA,iBAAS;;;IAAzC,oCAAmB;IAAC,cAAY;IAAZ,iCAAY;;;IAoC5B,gCAAwB;IAAA,YAAyB;IAAA,iBAAO;;;IAAhC,cAAyB;IAAzB,+CAAyB;;;IAYnD,gCAAgC;IAC9B,wBAAuC;IACvC,gCAA0B;IAAA,YAAuB;IACnD,AADmD,iBAAO,EACnD;;;IADqB,eAAuB;IAAvB,6CAAuB;;;IAInD,gCAA8B;IAC5B,wBAAgC;IAClC,iBAAO;;;IATT,2IAA+B;IAM/B,2IAAiC;;;IANjC,sDAKC;IACD,cAIC;IAJD,wDAIC;;;IAGD,gCAA8B;IAC5B,wBAAgC;IAClC,iBAAO;;;;IAWP,kCAGuB;IADrB,oRAAS,qCAA0B,KAAC;IAEpC,wBAAyD;IAC3D,iBAAS;;;;IAxDf,8BAKa;IAHX,AADA,uOAAS,yBAAc,KAAC,0OACP,yBAAc,KAAC;IAM5B,AADF,AADF,8BAAqC,cACZ,cACgF;IACnG,oBAAgD;IAClD,iBAAM;IAEJ,AADF,+BAA0B,eACA;IAAA,YAAkB;IAAA,iBAAO;IACjD,4HAA6B;IAKnC,AADE,AADE,iBAAM,EACF,EACH;IAEH,AADF,8BAAuC,gBACV;IAAA,aAAmB;IAChD,AADgD,iBAAO,EAClD;IACL,+BAAsC;IAAA,aAAkB;IAAA,iBAAK;IAC7D,+BAAwC;IACtC,kHAAoC;IAapC,8HAAyB;IAK3B,iBAAK;IAEH,AADF,+BAAsC,gBACkB;IACpD,aACF;IACF,AADE,iBAAO,EACJ;IACL,+BAAwC;IAAA,aAAwC;IAAA,iBAAK;IACrF,+BAAwC;IACtC,gIAAoB;IASxB,AADE,iBAAK,EACF;;;;;IAnDwB,eAA0D;IAA1D,8EAA0D;IAC5E,cAAwC;IAAxC,wDAAwC;IAGnB,eAAkB;IAAlB,wCAAkB;IAC1C,cAEC;IAFD,oDAEC;IAKsB,eAAmB;IAAnB,yCAAmB;IAEV,eAAkB;IAAlB,wCAAkB;IAEtD,eAYC;IAZD,uEAYC;IACD,cAIC;IAJD,iDAIC;IAGwB,eAA4B;IAA5B,yCAA4B;IACnD,cACF;IADE,8EACF;IAEsC,eAAwC;IAAxC,qEAAwC;IAE9E,eAOC;IAPD,4CAOC;;;IApEL,AADF,AADF,AADF,AADF,+BAAyB,gBACqB,YACnC,SACD,aAC+B;IAAA,oBAAI;IAAA,iBAAK;IAC1C,8BAAmC;IAAA,sBAAM;IAAA,iBAAK;IAC9C,8BAAkC;IAAA,qBAAK;IAAA,iBAAK;IAC5C,+BAAoC;IAAA,uBAAM;IAAA,iBAAK;IAC/C,+BAAkC;IAAA,sBAAK;IAAA,iBAAK;IAC5C,+BAAoC;IAAA,wBAAO;IAAA,iBAAK;IACZ,AAApC,+BAAoC,gBAAsB;IAAA,wBAAO;IAErE,AADE,AAD0E,AAAP,iBAAO,EAAK,EAC1E,EACC;IACR,8BAAO;IACL,0IA6DC;IAGP,AADE,AADE,iBAAQ,EACF,EACJ;;;IAhEA,gBA6DC;IA7DD,mCA6DC;;;;IAqBK,AADF,+BAAuB,kBACyC;IAArC,kRAAS,qCAA0B,KAAC;IAC3D,wBAAyD;IAE7D,AADE,iBAAS,EACL;;;IAMN,6BAA4B;IAAA,YAAyB;IAAA,iBAAI;;;IAA7B,cAAyB;IAAzB,+CAAyB;;;IAqBjD,iCAAgG;IAC9F,wBAAuC;IACzC,iBAAO;;;IAFqB,qFAAmE;;;IADjG,2IAA+B;;IAA/B,8CAIC;;;;IA7CT,+BAKkB;IAFhB,AADA,uOAAS,yBAAc,KAAC,0OACP,yBAAc,KAAC;IAI9B,AADF,+BAAyB,cAC8E;IACnG,oBAAgD;IAClD,iBAAM;IACN,0HAAoB;IAOtB,iBAAM;IAEJ,AADF,+BAAuB,aACE;IAAA,YAAkB;IAAA,iBAAK;IAC9C,wHAA6B;IAI3B,AADF,+BAAuB,gBACG;IACtB,yBAAoC;IACpC,aACF;IAAA,iBAAO;IACP,iCAAwB;IACtB,0BAAmC;IACnC,aACF;IAEJ,AADE,AADE,iBAAO,EACH,EACF;IAEJ,AADF,iCAAyB,iBAC8B;IACnD,0BAAgC;IAChC,aACF;IAAA,iBAAO;IACP,iCAA+B;IAC7B,iHAAoC;IAOpC,kCAAwB;IAAA,aAAwC;IAGtE,AADE,AADE,AADkE,iBAAO,EACnE,EACF,EACF;;;;;IA3CqB,eAA0D;IAA1D,8EAA0D;IAC5E,cAAwC;IAAxC,wDAAwC;IAE7C,cAMC;IAND,2CAMC;IAGsB,eAAkB;IAAlB,wCAAkB;IACzC,cAEC;IAFD,oDAEC;IAIG,eACF;IADE,oDACF;IAGE,eACF;IADE,iGACF;IAIsB,eAA4B;IAA5B,yCAA4B;IAElD,eACF;IADE,8EACF;IAEE,eAMC;IAND,uEAMC;IACuB,eAAwC;IAAxC,qEAAwC;;;IAjD1E,+BAAuD;IACrD,yIAoDC;IACH,iBAAM;;;IArDJ,cAoDC;IApDD,mCAoDC;;;IAOC,wBAAyG;;;IAAzG,4HAA0F;;;;;IAAnC,AAAxC,2DAAwC,iEAAiC;;;IAF5F,+BAA2B;IACzB,kJAEC;IACH,iBAAM;;;IAHJ,cAEC;IAFD,kCAEC;;;;IA9JH,AADF,AADF,+BAA4B,cACE,eACC;IAAA,YAAsE;IAAA,iBAAO;IAEtG,AADF,+BAA0B,YACjB;IAAA,qBAAK;IAAA,iBAAQ;IACpB,kCAGoC;IAFlC,qTAA0B;IAC1B,8MAAiB,2BAAoB,KAAC;IAEtC,2HAEC;IAGP,AADE,AADE,iBAAS,EACL,EACF;IAEN,wGAA4B;IAkF5B,uGAA2B;IA0D3B,uGAAgC;IAOlC,iBAAM;;;IAjKyB,eAAsE;IAAtE,6GAAsE;IAI7F,eAA0B;IAA1B,mDAA0B;IAG1B,cAEC;IAFD,iCAEC;IAKP,eAgFC;IAhFD,uDAgFC;IAED,cAwDC;IAxDD,sDAwDC;IAED,cAMC;IAND,2DAMC;;;;IASC,gCAEiC;IAA/B,8OAAS,+BAAoB,KAAC;IAE9B,AADA,oBAA4F,aACjB;IAC3E,iCAA4B;IAAA,YAAsB;IAAA,iBAAO;IACzD,iCAA6B;IAAA,YAAgC;IAC/D,AAD+D,iBAAO,EAChE;;;;IAJD,cAAoF;IAApF,6FAAoF;IACzD,cAAwC;IAAxC,qDAAwC;IAC1C,eAAsB;IAAtB,4CAAsB;IACrB,eAAgC;IAAhC,6DAAgC;;;;IAM/D,gCAEiC;IAA/B,8OAAS,+BAAoB,KAAC;IAE9B,AADA,oBAA4F,aAC3D;IACjC,iCAA4B;IAAA,6BAAa;IAAA,iBAAO;IAChD,iCAA6B;IAAA,YAAqB;IACpD,AADoD,iBAAO,EACrD;;;IAJD,cAAoF;IAApF,6FAAoF;IAG1D,eAAqB;IAArB,2CAAqB;;;IAsBxC,4BAAM;IAAC,YAA2B;IAAA,iBAAO;;;IAAlC,cAA2B;IAA3B,qDAA2B;;;;IAMpC,AADF,gCAA0B,kBACwC;IAArC,iRAAS,qCAA0B,KAAC;IAC7D,wBAAyD;IAE7D,AADE,iBAAS,EACL;;;;IAvBV,gCAKkB;IAFhB,AADA,sOAAS,yBAAc,KAAC,yOACP,yBAAc,KAAC;IAGhC,+BAAqG;IACnG,oBAAgD;IAClD,iBAAM;IAEJ,AADF,gCAAuB,eACG;IAAA,YAAkB;IAAA,iBAAO;IACjD,iCAAwB;IACtB,YACA;IAAA,sHAAqB;IAIzB,AADE,iBAAO,EACH;IACN,0HAAoB;IAOtB,iBAAM;;;;IAnBmB,cAA0D;IAA1D,8EAA0D;IAC5E,cAAwC;IAAxC,wDAAwC;IAGnB,eAAkB;IAAlB,wCAAkB;IAExC,eACA;IADA,0FACA;IAAA,cAEC;IAFD,4CAEC;IAGL,cAMC;IAND,2CAMC;;;IA1BP,gCAAwC;IACtC,wIA2BC;IACH,iBAAM;;;IA5BJ,cA2BC;IA3BD,6BA2BC;;;IAOD,wBAAkH;;;IAAlH,2HAAmG;;;;;;IAA5C,AAAxC,2DAAwC,iFAA0C;;;IADnG,iJAEC;;;IAFD,gCAEC;;;IA/DL,gCAAkE;IAEhE,sGAAqB;IAYrB,sGAA+C;IAY/C,sGAAuB;IAkCvB,0FAAuB;IAKzB,iBAAM;;;;IAjEwB,mDAAmC;IAE/D,cASC;IATD,4CASC;IAGD,cASC;IATD,0EASC;IAGD,cA+BC;IA/BD,8CA+BC;IAGD,cAIC;IAJD,8CAIC;;;;IAMH,gCAA+D;IAA7B,sLAAS,yBAAkB,KAAC;IAAC,iBAAM;;;;IAInE,AADF,gCAAuF,kBACtC;IAArB,yLAAS,iBAAU,KAAC;IAC5C,yBAA+B;IAC/B,sBACF;IAAA,iBAAS;IACT,mCAAsD;IAA5B,yLAAS,wBAAiB,KAAC;IACnD,wBAAuC;IACvC,uBACF;IAAA,iBAAS;IACT,mCAAoD;IAA1B,yLAAS,sBAAe,KAAC;IACjD,yBAAgC;IAChC,2BACF;IAAA,iBAAS;IACT,4BAAgC;IAChC,oCAA+D;IAA9B,0LAAS,0BAAmB,KAAC;IAC5D,0BAAiC;IACjC,yBACF;IACF,AADE,iBAAS,EACL;;;IAlBkD,AAA9B,gDAA6B,mCAA+B;;;;IAuBtF,gCAAyD;IAA9B,sLAAS,0BAAmB,KAAC;IAAC,iBAAM;;;;IA6BvD,AADF,gCAAwB,YACf;IAAA,wBAAQ;IAAA,iBAAQ;IAErB,AADF,gCAAmC,oBAQV;IAJrB,6UAA8B;IAE9B,AADA,8NAAiB,6BAAsB,KAAC,sOAC/B,0CAA+B,KAAC;IAI/C,AADE,AARE,iBAOuB,EACnB,EACF;;;IANA,eAA8B;IAA9B,uDAA8B;;;IAUlC,AADF,gCAAwB,YACf;IAAA,sBAAM;IAAA,iBAAQ;IACrB,6BAA4E;IAC9E,iBAAM;;;IADe,eAA0B;IAA1B,+CAA0B;;;IAQ3C,mCAA2B;IAAA,YAAmB;IAAA,iBAAS;;;IAA/C,oCAAkB;IAAC,cAAmB;IAAnB,yCAAmB;;;IAWhD,yBAA2C;;;;IA3D/C,AADF,AADF,+BAA0B,eACE,SACpB;IAAA,YAAiD;IAAA,iBAAK;IAC1D,mCAA0D;IAA9B,yLAAS,0BAAmB,KAAC;IACvD,wBAAiC;IAErC,AADE,iBAAS,EACL;IAGF,AADF,AADF,gCAAwB,eACE,YACf;IAAA,sBAAM;IAAA,iBAAQ;IACrB,mCAIuB;IAFrB,oTAAyB;IAG7B,AALE,iBAIuB,EACnB;IAEJ,AADF,iCAAwB,aACf;IAAA,4BAAW;IAAA,iBAAQ;IAC1B,sCAIS;IAHP,qUAAgC;IAIpC,AADW,iBAAW,EAChB;IACN,wGAAoB;IAepB,wGAAmB;IAOjB,AADF,iCAAwB,aACf;IAAA,yBAAQ;IAAA,iBAAQ;IACvB,oCAA4D;IAApD,mUAAgC;IACtC,oCAAyB;IAAA,4BAAW;IAAA,iBAAS;IAC7C,8HAEC;IAGP,AADE,AADE,iBAAS,EACL,EACF;IAEJ,AADF,iCAA0B,mBAIuD;IAD7E,0LAAS,iBAAU,KAAC;IAEpB,sGAAgB;IAGhB,aACF;IAAA,iBAAS;IACT,oCAAkF;IAApD,0LAAS,0BAAmB,KAAC;IAAuB,uBAAM;IAE5F,AADE,AAD0F,iBAAS,EAC7F,EACF;;;IAjEE,eAAiD;IAAjD,0EAAiD;IAUjD,eAAyB;IAAzB,kDAAyB;IAOzB,eAAgC;IAAhC,yDAAgC;IAKpC,cAcC;IAdD,+CAcC;IACD,cAKC;IALD,8CAKC;IAGS,eAAgC;IAAhC,yDAAgC;IAC9B,cAAgB;IAAhB,8BAAgB;IACxB,eAEC;IAFD,oCAEC;IAQH,eAA4E;IAA5E,oHAA4E;IAC5E,cAEC;IAFD,2CAEC;IACD,cACF;IADE,uGACF;IAC4D,cAAqB;IAArB,0CAAqB;;;;IAOrF,gCAAoD;IAAzB,sLAAS,qBAAc,KAAC;IAAC,iBAAM;;;IAiBlD,yBAA2C;;;;IAZ/C,AADF,AADF,+BAAyC,eACb,SACpB;IAAA,2BAAW;IAAA,iBAAK;IACpB,mCAAqD;IAAzB,yLAAS,qBAAc,KAAC;IAClD,wBAAiC;IAErC,AADE,iBAAS,EACL;IAEJ,AADF,gCAAwB,QACnB;IAAA,kDAAiC;IAAA,8BAAQ;IAAA,aAAkB;IAAA,iBAAS;IAAA,oBAAE;IAAA,iBAAI;IAC7E,+BAAwB;IAAA,6DAA4C;IACtE,AADsE,iBAAI,EACpE;IAEJ,AADF,iCAA0B,mBACkD;IAA/C,0LAAS,mBAAY,KAAC;IAC/C,sGAAkB;IAGlB,aACF;IAAA,iBAAS;IACT,oCAA+E;IAAjD,0LAAS,qBAAc,KAAC;IAAyB,uBAAM;IAEzF,AADE,AADuF,iBAAS,EAC1F,EACF;;;IAZ0C,gBAAkB;IAAlB,2CAAkB;IAIZ,eAAuB;IAAvB,4CAAuB;IACvE,cAEC;IAFD,6CAEC;IACD,cACF;IADE,6EACF;IACuD,cAAuB;IAAvB,4CAAuB;;;;IAOlF,iDAI6B;IAA3B,AADA,mNAAY,8BAAuB,KAAC,4LAC1B,sBAAe,KAAC;IAC5B,iBAAuB;;;IAHrB,AADA,iDAA4B,mCACD;;;;IAiBvB,gCAEiC;IAA/B,0NAAS,+BAAoB,KAAC;IAC9B,YACF;IAAA,iBAAM;;;IADJ,cACF;IADE,gDACF;;;IAGA,gCAA4B;IAC1B,mCACF;IAAA,iBAAM;;;;IAZV,AANF,gCAK4D,eACY;IAAhC,sLAAS,4BAAqB,KAAC;IAAC,iBAAM;IAC5E,gCAA2F;IACzF,yHAMC;IACD,sGAAyC;IAM7C,AADE,iBAAM,EACF;;;IAjBJ,AADA,AADA,8DAA2C,kDACE,oDACE;IAC/C,yEAAyD;IAEpB,eAAqD;IAArD,qEAAqD;IACxF,cAMC;IAND,0CAMC;IACD,eAIC;IAJD,mEAIC;;AA0lCN,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,qBAAqB;IAmElD;IACA;IACA;IACA;IACA;IAtEF,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;IAEvC,SAAS,GAAG,IAAI,CAAC;IACjB,UAAU,GAAG,EAAE,CAAC;IAChB,QAAQ,GAAa,MAAM,CAAC;IAC5B,cAAc,GAAG,KAAK,CAAC;IACvB,aAAa,GAAG,MAAM,CAAC;IACvB,YAAY,GAAG,MAAM,CAAC;IAEtB,QAAQ,GAAqB,EAAE,CAAC;IAChC,aAAa,GAAqB,EAAE,CAAC;IACrC,UAAU,GAA2B,EAAE,CAAC;IACxC,YAAY,GAAmB,EAAE,CAAC;IAClC,cAAc,GAA+C,EAAE,CAAC;IAChE,iBAAiB,GAAwC,EAAE,CAAC;IAC5D,oBAAoB,GAAwC,EAAE,CAAC;IAE/D,aAAa,GAA2C,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACjG,YAAY,GAA2C;QACrD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE;QACnC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;QACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;KACpC,CAAC;IACF,WAAW,GAA2C;QACpD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAC/B,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;QAC9C,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;QACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;KACpC,CAAC;IAEF,qBAAqB;IACrB,eAAe,GAAG,KAAK,CAAC;IACxB,YAAY,GAAG,CAAC,CAAC;IACjB,YAAY,GAAG,CAAC,CAAC;IACjB,mBAAmB,GAA0B,IAAI,CAAC;IAElD,2BAA2B;IAC3B,gBAAgB,GAAG,KAAK,CAAC;IACzB,WAAW,GAAwB,IAAI,CAAC;IACxC,WAAW,GAAG,EAAE,CAAC;IACjB,kBAAkB,GAAG,EAAE,CAAC;IACxB,gBAAgB,GAAG,EAAE,CAAC;IACtB,kBAAkB,GAAkB,IAAI,CAAC;IACzC,gBAAgB,GAAG,EAAE,CAAC;IACtB,kBAAkB,GAAG,KAAK,CAAC;IAC3B,sBAAsB,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAEzE,4BAA4B;IAC5B,iBAAiB,GAAG,KAAK,CAAC;IAC1B,cAAc,GAAG,EAAE,CAAC;IACpB,YAAY,GAAwB,IAAI,CAAC;IAEzC,mBAAmB;IACnB,QAAQ,GAAG,KAAK,CAAC;IACjB,UAAU,GAAG,KAAK,CAAC;IAEnB,uBAAuB;IACvB,eAAe,GAAG,KAAK,CAAC;IACxB,iBAAiB,GAAiC,IAAI,CAAC;IAE/C,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;IAChD,aAAa,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC/C,WAAW,GAAsC,IAAI,GAAG,EAAE,CAAC;IAC3D,aAAa,GAAG,EAAE,CAAC;IAE3B,YACU,GAAsB,EACtB,UAAsB,EACtB,mBAA0C,EAC1C,UAAsB,EACtB,kBAAsC;QAE9C,KAAK,EAAE,CAAC;QANA,QAAG,GAAH,GAAG,CAAmB;QACtB,eAAU,GAAV,UAAU,CAAY;QACtB,wBAAmB,GAAnB,mBAAmB,CAAuB;QAC1C,eAAU,GAAV,UAAU,CAAY;QACtB,uBAAkB,GAAlB,kBAAkB,CAAoB;IAGhD,CAAC;IAGD,eAAe,CAAC,KAAiB;QAC/B,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAGD,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC;YAE9C,6DAA6D;YAC7D,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,CAAC,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC;gBACpF;oBACE,UAAU,EAAE,WAAW;oBACvB,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,eAAe;iBAC5B;gBACD;oBACE,UAAU,EAAE,qBAAqB;oBACjC,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,eAAe;iBAC5B;gBACD;oBACE,UAAU,EAAE,kBAAkB;oBAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC;oBAClB,UAAU,EAAE,QAAQ;iBACrB;gBACD;oBACE,UAAU,EAAE,WAAW;oBACvB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;oBACtB,UAAU,EAAE,QAAQ;iBACrB;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,OAAyB,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAA2B,CAAC;YAC7E,MAAM,OAAO,GAAG,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAA8B,CAAC;YAC3E,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAwC,CAAC;YAEjF,qBAAqB;YACrB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;YAED,qCAAqC;YACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEhE,iBAAiB;YACjB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YAED,uBAAuB;YACvB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;YAED,oBAAoB;YACpB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;YAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;YAEpC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,mBAAmB,CAAC,CAAC;YAC1E,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC,iBAAiB,GAAG,QAAQ;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;iBAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;iBACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAExD,mBAAmB;YACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;gBAC5C,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC1B,OAAO;oBACL,IAAI;oBACJ,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;oBACvC,UAAU;oBACV,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,SAAS;oBAChD,OAAO,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa;iBAC5C,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,8BAA8B;YAC9B,IAAI,CAAC,aAAa,GAAG;gBACnB,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE;gBACtC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;aAClE,CAAC;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,sCAAsC;YACtC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,UAAkC;QAC5D,MAAM,MAAM,GAA+C,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAErD,MAAM,eAAe,GAAG,CAAC,GAAyB,EAAE,KAAa,EAAE,EAAE;YACnE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAEjE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/D,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,iBAAiB;QACvB,MAAM,SAAS,GAAmB,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;QAEtD,kCAAkC;QAClC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE;gBACxB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,uBAAuB;QACvB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;YACxC,IAAI,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpD,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,MAAM,kBAAkB,GAAqB,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,OAAO,CAAC;gBAChB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,IAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,mBAAmB,CAAC,MAAc;QAChC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEO,YAAY;QAClB,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhC,eAAe;QACf,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;YAClC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,gBAAgB;QAChB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC7E,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC5C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC5C,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YAClC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO;QACP,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACnB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;oBACxD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;oBACxD,OAAO,KAAK,GAAG,KAAK,CAAC;gBACvB,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBAChE,MAAM;QACV,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,IAAkB;QAC/B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,sBAAsB,CAAC,IAAkB;QACvC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;IAC1D,CAAC;IAED,aAAa,CAAC,UAAkB;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,mBAAmB,CAAC;IACnE,CAAC;IAEO,mBAAmB,CAAC,UAAkB;QAC5C,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;YACrD,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SACtD,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,UAAU,CAAC,IAAU;QACnB,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE5D,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;QACnC,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC;QACvC,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,GAAG,QAAQ,WAAW,CAAC;QAChD,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAChC,CAAC;IAED,QAAQ,CAAC,IAAoB;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,YAAY,CAAC,KAAY,EAAE,IAAoB;QAC7C,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,KAAmB,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,YAAY,CAAC,MAAoC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC5D,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,YAA8B;QAC/C,MAAM,IAAI,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;QAC1C,MAAM,cAAc,GAAG,GAAG,CAAC;QAC3B,MAAM,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;QAChD,MAAM,SAAS,GAAG,UAAU,GAAG,cAAc,IAAI,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC;QAE3E,IAAI,CAAC,sBAAsB,GAAG;YAC5B,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;YACxD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS;SACV,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QAEtC,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;QACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YAEzB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAAe,WAAW,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,GAAG,GAAG,eAAe,CAAC,IAAI,SAAS,CAAC;YAChD,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;YAClD,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;YAC5C,OAAO,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;YAChD,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,WAAY,CAAC,EAAE,CAAC;YAEpC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,0BAA0B,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7F,OAAO;YACT,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,OAAO,CAAqB;gBACvD,UAAU,EAAE,kBAAkB;gBAC9B,WAAW,EAAE,aAAa,eAAe,CAAC,EAAE,GAAG;gBAC/C,UAAU,EAAE,eAAe;aAC5B,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAAqB,kBAAkB,CAAC,CAAC;oBACjF,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACjC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;oBACvC,IAAI,SAAS;wBAAE,WAAW,EAAE,CAAC;gBAC/B,CAAC;gBACD,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAC/C,wBAAwB,WAAW,QAAQ,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EACzE,SAAS,EACT,IAAI,CACL,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,8BAA8B,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACrG,CAAC;YAED,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,2CAA2C,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAChH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,IAAI,QAAQ,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC9F,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,IAAI,wBAAwB,CAAC;gBACpF,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;gBACnE,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,0BAA0B,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC7G,CAAC;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,wBAAwB,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3G,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAEzB,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,IAAkB,CAAC;YAEvB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CAAe,WAAW,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,WAAY,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACxC,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;YACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;YAElD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAC/C,SAAS,CAAC,CAAC,CAAC,IAAI,QAAQ,WAAW,CAAC,CAAC,CAAC,IAAI,QAAQ,WAAW,EAC7D,SAAS,EACT,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,IAAI,wBAAwB,CAAC;gBAC5E,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC/C,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9D,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAC/C,aAAa,MAAM,UAAU,YAAY,EAAE,EAC3C,OAAO,EACP,IAAI,CACL,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,sBAAsB,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACzG,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG;YACvB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACxB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,eAAe,CAAC,OAA8B;QAC5C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,oCAAoC;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,0DAA0D;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE9D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClF,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAmB;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAmB;QAC5C,OAAO,wBAAwB,CAAC;IAClC,CAAC;6GA3sBU,mBAAmB;6DAAnB,mBAAmB;YAAnB,8FAAA,2BAAuB,0BAAJ,6FAAnB,iBAAa,0BAAM;;;YArmDtB,AADF,AADF,AAFF,8BAAoC,aAEP,aACD,aACI;YACxB,uBAAsC;YACtC,0BAAI;YAAA,qBAAK;YACX,AADW,iBAAK,EACV;YACN,iCAAqD;YAA1B,sIAAS,mBAAe,KAAC;YAClD,uBAAgC;YAChC,4BAAM;YAAA,yBAAQ;YAElB,AADE,AADgB,iBAAO,EACd,EACL;YAGJ,AADF,+BAA4B,eACF;YACtB,yBAAkC;YAClC,kCAI6C;YAD3C,yPAAwB;YACxB,4JAAiB,0BAAsB,KAAC;YAJ1C,iBAI6C;YAC7C,2FAAkB;YAKpB,iBAAM;YAGJ,AADF,gCAA0B,kBAKE;YAHxB,gQAA2B;YAC3B,6JAAiB,+BAA2B,KAAC;YAG7C,8GAEC;YAEL,AADE,iBAAS,EACL;YAGJ,AADF,gCAA0B,kBAKG;YAHzB,kQAA4B;YAC5B,6JAAiB,gCAA4B,KAAC;YAG9C,8GAEC;YAEL,AADE,iBAAS,EACL;YAGJ,AADF,gCAA+B,kBAKR;YADnB,uIAAS,gBAAY,OAAO,CAAC,KAAC;YAE9B,yBAAsC;YACxC,iBAAS;YACT,mCAIoB;YADlB,uIAAS,gBAAY,MAAM,CAAC,KAAC;YAE7B,yBAAgC;YAClC,iBAAS;YACT,mCAIwB;YADtB,uIAAS,gBAAY,WAAW,CAAC,KAAC;YAElC,yBAAuC;YAI/C,AADE,AADE,AADE,iBAAS,EACL,EACF,EACF;YAGN,wFAAiB;YAOjB,yFAA2C;YA8B3C,yFAAuE;YAavE,yFAA8C;YAwK9C,uHAAqE;YAsErE,wFAAuB;YAGvB,yFAAuB;YAuBvB,wFAAwB;YAGxB,0FAAwB;YAwExB,wFAAyB;YAGzB,yFAAyB;YAyBzB,yGAAyB;YAUzB,yFAA0C;YAwB5C,iBAAM;;YA/fI,gBAAwB;YAAxB,8CAAwB;YAE1B,cAIC;YAJD,0CAIC;YAKC,eAA2B;YAA3B,iDAA2B;YAI3B,cAEC;YAFD,+BAEC;YAMD,eAA4B;YAA5B,kDAA4B;YAI5B,cAEC;YAFD,gCAEC;YAOD,eAAqC;YAArC,kDAAqC;YAOrC,eAAoC;YAApC,iDAAoC;YAOpC,eAAyC;YAAzC,sDAAyC;YAUjD,eAIC;YAJD,yCAIC;YAGD,cA2BC;YA3BD,uEA2BC;YAGD,cAUC;YAVD,uGAUC;YAGD,cAqKC;YArKD,0EAqKC;YAyED,eAEC;YAFD,+CAEC;YACD,cAoBC;YApBD,+CAoBC;YAGD,cAEC;YAFD,gDAEC;YACD,cAqEC;YArED,gDAqEC;YAGD,cAEC;YAFD,iDAEC;YACD,cAsBC;YAtBD,iDAsBC;YAGD,cAOC;YAPD,iDAOC;YAGD,cAuBC;YAvBD,sEAuBC;;;AAulCM,mBAAmB;IA9mD/B,aAAa,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;GA8mD/C,mBAAmB,CA4sB/B;;iFA5sBY,mBAAmB;cA7mD/B,SAAS;6BACI,KAAK,YACP,0BAA0B,YAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqhBP,iBAmlCY,iBAAiB,CAAC,IAAI;;kBA8EpC,YAAY;mBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;kBAUzC,YAAY;mBAAC,yBAAyB;;kFAtF5B,mBAAmB","sourcesContent":["import { Component, ViewEncapsulation, ChangeDetectorRef, OnDestroy, ElementRef, HostListener } from '@angular/core';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseResourceComponent } from '@memberjunction/ng-shared';\nimport { ResourceData, MJListCategoryEntity } from '@memberjunction/core-entities';\nimport { MJListEntity, MJListDetailEntity } from '@memberjunction/core-entities';\nimport { Metadata, RunView } from '@memberjunction/core';\nimport { Subject } from 'rxjs';\nimport { TabService } from '@memberjunction/ng-base-application';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { ListSharingService, ListSharingSummary, ListShareDialogConfig, ListShareDialogResult } from '@memberjunction/ng-list-management';\ninterface BrowseListItem {\n list: MJListEntity;\n itemCount: number;\n entityName: string;\n ownerName: string;\n isOwner: boolean;\n sharingInfo?: ListSharingSummary;\n}\n\ninterface CategoryNode {\n category: MJListCategoryEntity | null;\n lists: BrowseListItem[];\n children: CategoryNode[];\n isExpanded: boolean;\n}\n\ntype ViewMode = 'table' | 'card' | 'hierarchy';\n\n@RegisterClass(BaseResourceComponent, 'ListsBrowseResource')\n@Component({\n standalone: false,\n selector: 'mj-lists-browse-resource',\n template: `\n <div class=\"lists-browse-container\">\n <!-- Header -->\n <div class=\"browse-header\">\n <div class=\"header-row\">\n <div class=\"header-title\">\n <i class=\"fa-solid fa-list-check\"></i>\n <h2>Lists</h2>\n </div>\n <button class=\"btn-create\" (click)=\"createNewList()\">\n <i class=\"fa-solid fa-plus\"></i>\n <span>New List</span>\n </button>\n </div>\n \n <div class=\"header-actions\">\n <div class=\"search-box\">\n <i class=\"fa-solid fa-search\"></i>\n <input\n type=\"text\"\n placeholder=\"Search lists...\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"onSearchChange($event)\" />\n @if (searchTerm) {\n <button class=\"clear-search\" (click)=\"clearSearch()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n \n <div class=\"filter-group\">\n <select\n [(ngModel)]=\"selectedOwner\"\n (ngModelChange)=\"onOwnerFilterChange($event)\"\n class=\"filter-select\"\n title=\"Filter by owner\">\n @for (opt of ownerOptions; track opt) {\n <option [value]=\"opt.value\">{{opt.name}}</option>\n }\n </select>\n </div>\n \n <div class=\"filter-group\">\n <select\n [(ngModel)]=\"selectedEntity\"\n (ngModelChange)=\"onEntityFilterChange($event)\"\n class=\"filter-select\"\n title=\"Filter by entity\">\n @for (opt of entityOptions; track opt) {\n <option [value]=\"opt.value\">{{opt.name}}</option>\n }\n </select>\n </div>\n \n <div class=\"view-toggle-group\">\n <button\n class=\"view-toggle\"\n [class.active]=\"viewMode === 'table'\"\n (click)=\"setViewMode('table')\"\n title=\"Table view\">\n <i class=\"fa-solid fa-table-list\"></i>\n </button>\n <button\n class=\"view-toggle\"\n [class.active]=\"viewMode === 'card'\"\n (click)=\"setViewMode('card')\"\n title=\"Card view\">\n <i class=\"fa-solid fa-grip\"></i>\n </button>\n <button\n class=\"view-toggle\"\n [class.active]=\"viewMode === 'hierarchy'\"\n (click)=\"setViewMode('hierarchy')\"\n title=\"Category view\">\n <i class=\"fa-solid fa-folder-tree\"></i>\n </button>\n </div>\n </div>\n </div>\n \n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading lists...\" size=\"medium\"></mj-loading>\n </div>\n }\n \n <!-- Empty State - No Lists -->\n @if (!isLoading && allLists.length === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-state-icon-wrapper\">\n <div class=\"icon-bg\"></div>\n <i class=\"fa-solid fa-list-check\"></i>\n </div>\n <h3>No Lists Yet</h3>\n <p>Lists help you organize and track groups of records across your data.</p>\n <div class=\"empty-state-features\">\n <div class=\"feature-item\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <span>Group records from any entity</span>\n </div>\n <div class=\"feature-item\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <span>Organize with categories</span>\n </div>\n <div class=\"feature-item\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <span>Quick access from any view</span>\n </div>\n </div>\n <button class=\"btn-create-large\" (click)=\"createNewList()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create Your First List\n </button>\n </div>\n }\n \n <!-- Empty State - No Results -->\n @if (!isLoading && allLists.length > 0 && filteredLists.length === 0) {\n <div class=\"empty-state search-empty\">\n <div class=\"empty-state-icon-wrapper search\">\n <i class=\"fa-solid fa-filter-circle-xmark\"></i>\n </div>\n <h3>No Results Found</h3>\n <p>No lists match your current filters.</p>\n <p class=\"empty-hint\">Try adjusting your search or filters.</p>\n <button class=\"btn-clear\" (click)=\"clearFilters()\">Clear All Filters</button>\n </div>\n }\n \n <!-- Results Content -->\n @if (!isLoading && filteredLists.length > 0) {\n <div class=\"browse-content\">\n <div class=\"results-header\">\n <span class=\"result-count\">{{filteredLists.length}} list{{filteredLists.length !== 1 ? 's' : ''}}</span>\n <div class=\"sort-options\">\n <label>Sort:</label>\n <select\n [(ngModel)]=\"selectedSort\"\n (ngModelChange)=\"onSortChange($event)\"\n class=\"filter-select sort-select\">\n @for (opt of sortOptions; track opt) {\n <option [value]=\"opt.value\">{{opt.name}}</option>\n }\n </select>\n </div>\n </div>\n <!-- Table View -->\n @if (viewMode === 'table') {\n <div class=\"lists-table\">\n <table role=\"grid\" aria-label=\"Lists table\">\n <thead>\n <tr>\n <th class=\"col-name\" scope=\"col\">Name</th>\n <th class=\"col-entity\" scope=\"col\">Entity</th>\n <th class=\"col-items\" scope=\"col\">Items</th>\n <th class=\"col-sharing\" scope=\"col\">Shared</th>\n <th class=\"col-owner\" scope=\"col\">Owner</th>\n <th class=\"col-updated\" scope=\"col\">Updated</th>\n <th class=\"col-actions\" scope=\"col\"><span class=\"sr-only\">Actions</span></th>\n </tr>\n </thead>\n <tbody>\n @for (item of filteredLists; track item) {\n <tr\n (click)=\"openList(item)\"\n (keydown.enter)=\"openList(item)\"\n class=\"list-row\"\n tabindex=\"0\"\n role=\"row\">\n <td class=\"col-name\" role=\"gridcell\">\n <div class=\"name-cell\">\n <div class=\"list-icon\" [style.background-color]=\"getEntityColor(item.entityName)\" aria-hidden=\"true\">\n <i [class]=\"getEntityIcon(item.entityName)\"></i>\n </div>\n <div class=\"name-content\">\n <span class=\"list-name\">{{item.list.Name}}</span>\n @if (item.list.Description) {\n <span class=\"list-desc\">{{item.list.Description}}</span>\n }\n </div>\n </div>\n </td>\n <td class=\"col-entity\" role=\"gridcell\">\n <span class=\"entity-badge\">{{item.entityName}}</span>\n </td>\n <td class=\"col-items\" role=\"gridcell\">{{item.itemCount}}</td>\n <td class=\"col-sharing\" role=\"gridcell\">\n @if (item.sharingInfo; as sharing) {\n @if (sharing.totalShares > 0) {\n <span class=\"sharing-indicator\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n <span class=\"share-count\">{{sharing.totalShares}}</span>\n </span>\n }\n @if (sharing.totalShares === 0) {\n <span class=\"sharing-private\">\n <i class=\"fa-solid fa-lock\"></i>\n </span>\n }\n }\n @if (!item.sharingInfo) {\n <span class=\"sharing-private\">\n <i class=\"fa-solid fa-lock\"></i>\n </span>\n }\n </td>\n <td class=\"col-owner\" role=\"gridcell\">\n <span class=\"owner-name\" [class.is-me]=\"item.isOwner\">\n {{item.isOwner ? 'You' : item.ownerName}}\n </span>\n </td>\n <td class=\"col-updated\" role=\"gridcell\">{{formatDate(item.list.__mj_UpdatedAt)}}</td>\n <td class=\"col-actions\" role=\"gridcell\">\n @if (item.isOwner) {\n <button\n class=\"action-btn\"\n (click)=\"openListMenu($event, item)\"\n title=\"More options\">\n <i class=\"fa-solid fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </button>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n <!-- Card View -->\n @if (viewMode === 'card') {\n <div class=\"lists-grid\" role=\"list\" aria-label=\"Lists\">\n @for (item of filteredLists; track item) {\n <div\n class=\"list-card\"\n (click)=\"openList(item)\"\n (keydown.enter)=\"openList(item)\"\n tabindex=\"0\"\n role=\"listitem\">\n <div class=\"card-header\">\n <div class=\"card-icon\" [style.background-color]=\"getEntityColor(item.entityName)\" aria-hidden=\"true\">\n <i [class]=\"getEntityIcon(item.entityName)\"></i>\n </div>\n @if (item.isOwner) {\n <div class=\"card-menu\">\n <button class=\"menu-btn\" (click)=\"openListMenu($event, item)\">\n <i class=\"fa-solid fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </button>\n </div>\n }\n </div>\n <div class=\"card-body\">\n <h3 class=\"card-title\">{{item.list.Name}}</h3>\n @if (item.list.Description) {\n <p class=\"card-description\">{{item.list.Description}}</p>\n }\n <div class=\"card-meta\">\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-database\"></i>\n {{item.entityName}}\n </span>\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-hashtag\"></i>\n {{item.itemCount}} item{{item.itemCount !== 1 ? 's' : ''}}\n </span>\n </div>\n </div>\n <div class=\"card-footer\">\n <span class=\"owner-tag\" [class.is-me]=\"item.isOwner\">\n <i class=\"fa-solid fa-user\"></i>\n {{item.isOwner ? 'You' : item.ownerName}}\n </span>\n <div class=\"card-footer-right\">\n @if (item.sharingInfo; as sharing) {\n @if (sharing.totalShares > 0) {\n <span class=\"sharing-badge\" [title]=\"'Shared with ' + sharing.totalShares + ' user(s)/role(s)'\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n </span>\n }\n }\n <span class=\"date-info\">{{formatDate(item.list.__mj_UpdatedAt)}}</span>\n </div>\n </div>\n </div>\n }\n </div>\n }\n <!-- Hierarchy View -->\n @if (viewMode === 'hierarchy') {\n <div class=\"category-tree\">\n @for (node of categoryTree; track node) {\n <ng-container *ngTemplateOutlet=\"categoryNodeTemplate; context: { node: node, depth: 0 }\"></ng-container>\n }\n </div>\n }\n </div>\n }\n \n <!-- Category Node Template -->\n <ng-template #categoryNodeTemplate let-node=\"node\" let-depth=\"depth\">\n <div class=\"category-section\" [style.margin-left.px]=\"depth * 20\">\n <!-- Category Header -->\n @if (node.category) {\n <div\n class=\"category-header\"\n (click)=\"toggleCategory(node)\">\n <i [class]=\"node.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'\"></i>\n <i class=\"fa-solid fa-folder\" [class.fa-folder-open]=\"node.isExpanded\"></i>\n <span class=\"category-name\">{{node.category.Name}}</span>\n <span class=\"category-count\">{{getListCountInCategory(node)}}</span>\n </div>\n }\n \n <!-- Uncategorized Header -->\n @if (!node.category && node.lists.length > 0) {\n <div\n class=\"category-header uncategorized\"\n (click)=\"toggleCategory(node)\">\n <i [class]=\"node.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'\"></i>\n <i class=\"fa-solid fa-inbox\"></i>\n <span class=\"category-name\">Uncategorized</span>\n <span class=\"category-count\">{{node.lists.length}}</span>\n </div>\n }\n \n <!-- Lists in this category -->\n @if (node.isExpanded) {\n <div class=\"category-lists\" role=\"list\">\n @for (item of node.lists; track item) {\n <div\n class=\"list-row hierarchy-row\"\n (click)=\"openList(item)\"\n (keydown.enter)=\"openList(item)\"\n tabindex=\"0\"\n role=\"listitem\">\n <div class=\"list-icon\" [style.background-color]=\"getEntityColor(item.entityName)\" aria-hidden=\"true\">\n <i [class]=\"getEntityIcon(item.entityName)\"></i>\n </div>\n <div class=\"list-info\">\n <span class=\"list-name\">{{item.list.Name}}</span>\n <span class=\"list-meta\">\n {{item.entityName}} · {{item.itemCount}} items\n @if (!item.isOwner) {\n <span> · {{item.ownerName}}</span>\n }\n </span>\n </div>\n @if (item.isOwner) {\n <div class=\"list-actions\">\n <button class=\"action-btn\" (click)=\"openListMenu($event, item)\">\n <i class=\"fa-solid fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </button>\n </div>\n }\n </div>\n }\n </div>\n }\n \n <!-- Child categories -->\n @if (node.isExpanded) {\n @for (child of node.children; track child) {\n <ng-container *ngTemplateOutlet=\"categoryNodeTemplate; context: { node: child, depth: depth + 1 }\"></ng-container>\n }\n }\n </div>\n </ng-template>\n \n <!-- Context Menu -->\n @if (showContextMenu) {\n <div class=\"context-menu-overlay\" (click)=\"closeContextMenu()\"></div>\n }\n @if (showContextMenu) {\n <div class=\"context-menu\" [style.top.px]=\"contextMenuY\" [style.left.px]=\"contextMenuX\">\n <button class=\"menu-item\" (click)=\"editList()\">\n <i class=\"fa-solid fa-pen\"></i>\n Edit\n </button>\n <button class=\"menu-item\" (click)=\"openShareDialog()\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n Share\n </button>\n <button class=\"menu-item\" (click)=\"duplicateList()\">\n <i class=\"fa-solid fa-copy\"></i>\n Duplicate\n </button>\n <div class=\"menu-divider\"></div>\n <button class=\"menu-item danger\" (click)=\"confirmDeleteList()\">\n <i class=\"fa-solid fa-trash\"></i>\n Delete\n </button>\n </div>\n }\n \n <!-- Create/Edit Dialog -->\n @if (showCreateDialog) {\n <div class=\"modal-overlay\" (click)=\"closeCreateDialog()\"></div>\n }\n @if (showCreateDialog) {\n <div class=\"modal-dialog\">\n <div class=\"modal-header\">\n <h3>{{editingList ? 'Edit List' : 'Create New List'}}</h3>\n <button class=\"modal-close\" (click)=\"closeCreateDialog()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <div class=\"form-group\">\n <label>Name *</label>\n <input\n type=\"text\"\n [(ngModel)]=\"newListName\"\n placeholder=\"Enter list name\"\n class=\"form-input\" />\n </div>\n <div class=\"form-group\">\n <label>Description</label>\n <textarea\n [(ngModel)]=\"newListDescription\"\n placeholder=\"Optional description\"\n class=\"form-input\"\n rows=\"3\"></textarea>\n </div>\n @if (!editingList) {\n <div class=\"form-group\">\n <label>Entity *</label>\n <div class=\"custom-select-wrapper\">\n <input\n #entityInput\n type=\"text\"\n [(ngModel)]=\"entitySearchTerm\"\n (ngModelChange)=\"filterEntities($event)\"\n (focus)=\"openEntityDropdown(entityInput)\"\n placeholder=\"Search and select an entity\"\n class=\"form-input\" />\n </div>\n </div>\n }\n @if (editingList) {\n <div class=\"form-group\">\n <label>Entity</label>\n <input type=\"text\" [value]=\"entitySearchTerm\" class=\"form-input\" disabled />\n </div>\n }\n <div class=\"form-group\">\n <label>Category</label>\n <select [(ngModel)]=\"selectedCategoryId\" class=\"form-input\">\n <option [ngValue]=\"null\">No category</option>\n @for (cat of flatCategories; track cat) {\n <option [ngValue]=\"cat.ID\">{{cat.displayName}}</option>\n }\n </select>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n class=\"btn-primary\"\n (click)=\"saveList()\"\n [disabled]=\"!newListName || (!editingList && !selectedEntityId) || isSaving\">\n @if (isSaving) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n {{isSaving ? 'Saving...' : (editingList ? 'Save' : 'Create')}}\n </button>\n <button class=\"btn-secondary\" (click)=\"closeCreateDialog()\" [disabled]=\"isSaving\">Cancel</button>\n </div>\n </div>\n }\n \n <!-- Delete Confirmation Dialog -->\n @if (showDeleteConfirm) {\n <div class=\"modal-overlay\" (click)=\"cancelDelete()\"></div>\n }\n @if (showDeleteConfirm) {\n <div class=\"modal-dialog confirm-dialog\">\n <div class=\"modal-header\">\n <h3>Delete List</h3>\n <button class=\"modal-close\" (click)=\"cancelDelete()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <p>Are you sure you want to delete \"<strong>{{deleteListName}}</strong>\"?</p>\n <p class=\"warning-text\">This will also remove all items in the list.</p>\n </div>\n <div class=\"modal-footer\">\n <button class=\"btn-danger\" (click)=\"deleteList()\" [disabled]=\"isDeleting\">\n @if (isDeleting) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n {{isDeleting ? 'Deleting...' : 'Delete'}}\n </button>\n <button class=\"btn-secondary\" (click)=\"cancelDelete()\" [disabled]=\"isDeleting\">Cancel</button>\n </div>\n </div>\n }\n \n <!-- Share Dialog -->\n @if (shareDialogConfig) {\n <mj-list-share-dialog\n [config]=\"shareDialogConfig\"\n [visible]=\"showShareDialog\"\n (complete)=\"onShareComplete($event)\"\n (cancel)=\"onShareCancel()\">\n </mj-list-share-dialog>\n }\n \n <!-- Entity Dropdown Portal -->\n @if (showEntityDropdown && !editingList) {\n <div\n class=\"entity-dropdown-portal\"\n [style.top.px]=\"entityDropdownPosition.top\"\n [style.left.px]=\"entityDropdownPosition.left\"\n [style.width.px]=\"entityDropdownPosition.width\"\n [class.dropdown-above]=\"entityDropdownPosition.openAbove\">\n <div class=\"entity-dropdown-backdrop\" (click)=\"closeEntityDropdown()\"></div>\n <div class=\"entity-dropdown-content\" [class.open-above]=\"entityDropdownPosition.openAbove\">\n @for (entity of filteredEntitiesList; track entity) {\n <div\n class=\"dropdown-item\"\n (click)=\"selectEntity(entity)\">\n {{entity.Name}}\n </div>\n }\n @if (filteredEntitiesList.length === 0) {\n <div class=\"dropdown-empty\">\n No entities found\n </div>\n }\n </div>\n </div>\n }\n </div>\n `,\n styles: [`\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-browse-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n overflow: hidden;\n }\n\n /* Header */\n .browse-header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n }\n\n .header-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: #2196F3;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 200px;\n max-width: 300px;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: #999;\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid #ddd;\n border-radius: 20px;\n font-size: 14px;\n width: 100%;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n }\n\n .filter-group {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .filter-group label {\n font-size: 13px;\n color: #666;\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n background: white;\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid #ddd;\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: white;\n border: none;\n border-right: 1px solid #ddd;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:last-child {\n border-right: none;\n }\n\n .view-toggle:hover {\n background: #f5f5f5;\n }\n\n .view-toggle.active {\n background: #2196F3;\n color: white;\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: #1976D2;\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 480px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 120px;\n height: 120px;\n border-radius: 50%;\n background: linear-gradient(135deg, rgba(33, 150, 243, 0.1) 0%, rgba(33, 150, 243, 0.05) 100%);\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: #2196F3;\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: #9e9e9e;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: #333;\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: #666;\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: #999 !important;\n font-size: 13px !important;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 28px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: #555;\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: #4CAF50 !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);\n color: white;\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px rgba(33, 150, 243, 0.3);\n }\n\n .btn-create-large:hover {\n background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.4);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: #f0f0f0;\n border: none;\n border-radius: 6px;\n color: #666;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: #e0e0e0;\n }\n\n /* Content */\n .browse-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .results-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n }\n\n .result-count {\n font-size: 14px;\n color: #666;\n }\n\n .sort-options {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .sort-options label {\n font-size: 13px;\n color: #666;\n }\n\n /* Table View */\n .lists-table {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n }\n\n .lists-table table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .lists-table th {\n text-align: left;\n padding: 12px 16px;\n font-size: 12px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n font-size: 14px;\n color: #333;\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: #f5f5f5;\n }\n\n .list-row:focus {\n background: #e8f4fd;\n }\n\n .list-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\n }\n\n .list-row:last-child td {\n border-bottom: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n .col-name { width: 30%; }\n .col-entity { width: 15%; }\n .col-items { width: 8%; text-align: center; }\n .col-sharing { width: 8%; text-align: center; }\n .col-owner { width: 14%; }\n .col-updated { width: 15%; }\n .col-actions { width: 10%; text-align: right; }\n\n /* Sharing indicators */\n .sharing-indicator {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: #2196F3;\n font-size: 13px;\n }\n\n .sharing-indicator i {\n font-size: 14px;\n }\n\n .share-count {\n font-weight: 500;\n }\n\n .sharing-private {\n color: #999;\n font-size: 13px;\n }\n\n .sharing-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n background: #e3f2fd;\n border-radius: 50%;\n color: #2196F3;\n font-size: 11px;\n }\n\n .card-footer-right {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .name-cell {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .list-icon {\n width: 36px;\n height: 36px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .name-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .list-name {\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-desc {\n font-size: 12px;\n color: #999;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .entity-badge {\n display: inline-block;\n padding: 2px 8px;\n background: #e8f4fd;\n border-radius: 4px;\n font-size: 12px;\n color: #1976D2;\n }\n\n .owner-name {\n color: #666;\n }\n\n .owner-name.is-me {\n color: #2196F3;\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: #e0e0e0;\n color: #666;\n }\n\n /* Card View */\n .lists-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .list-card {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s, outline 0.1s;\n outline: 2px solid transparent;\n }\n\n .list-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(0,0,0,0.12);\n }\n\n .list-card:focus {\n outline: 2px solid #2196F3;\n outline-offset: 2px;\n }\n\n .list-card:focus:not(:focus-visible) {\n outline: none;\n }\n\n .list-card:focus-visible {\n outline: 2px solid #2196F3;\n outline-offset: 2px;\n }\n\n .card-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px 16px 0;\n }\n\n .card-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: #f5f5f5;\n color: #666;\n }\n\n .card-body {\n padding: 12px 16px;\n }\n\n .card-title {\n margin: 0 0 4px;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: #666;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta {\n display: flex;\n gap: 16px;\n }\n\n .meta-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #999;\n }\n\n .card-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-top: 1px solid #f0f0f0;\n background: #fafafa;\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: #666;\n }\n\n .owner-tag.is-me {\n color: #2196F3;\n }\n\n .date-info {\n font-size: 12px;\n color: #999;\n }\n\n /* Hierarchy View */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .category-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .category-header:hover {\n background: #f5f5f5;\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: #999;\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: #ffc107;\n }\n\n .category-header.uncategorized .fa-inbox {\n color: #999;\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: #333;\n }\n\n .category-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid #f0f0f0;\n }\n\n .hierarchy-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px 12px 40px;\n cursor: pointer;\n transition: background 0.2s;\n outline: none;\n }\n\n .hierarchy-row:hover {\n background: #f5f5f5;\n }\n\n .hierarchy-row:focus {\n background: #e3f2fd;\n }\n\n .hierarchy-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: #999;\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .hierarchy-row:hover .list-actions {\n opacity: 1;\n }\n\n /* Context Menu */\n .context-menu-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n }\n\n .context-menu {\n position: fixed;\n background: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\n min-width: 160px;\n padding: 4px 0;\n z-index: 1000;\n }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 16px;\n background: none;\n border: none;\n text-align: left;\n font-size: 14px;\n color: #333;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: #f5f5f5;\n }\n\n .menu-item.danger {\n color: #d32f2f;\n }\n\n .menu-item.danger:hover {\n background: #ffebee;\n }\n\n .menu-divider {\n height: 1px;\n background: #e0e0e0;\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n width: 500px;\n max-width: 90vw;\n max-height: 90vh;\n overflow: hidden;\n z-index: 1001;\n }\n\n .confirm-dialog {\n width: 400px;\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: #f0f0f0;\n color: #666;\n }\n\n .modal-body {\n padding: 20px;\n max-height: 60vh;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0 0 8px;\n color: #333;\n }\n\n .warning-text {\n color: #d32f2f !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #d32f2f;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: #c62828;\n }\n\n /* Form Styles */\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group:last-child {\n margin-bottom: 0;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n transition: border-color 0.2s, box-shadow 0.2s;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .form-input:disabled {\n background: #f5f5f5;\n color: #999;\n }\n\n textarea.form-input {\n resize: vertical;\n min-height: 80px;\n }\n\n select.form-input {\n cursor: pointer;\n }\n\n .custom-select-wrapper {\n position: relative;\n }\n\n /* Portal Dropdown */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002;\n }\n\n .entity-dropdown-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\n }\n\n .entity-dropdown-content.open-above {\n position: absolute;\n bottom: 0;\n }\n\n .dropdown-item {\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n font-size: 14px;\n color: #333;\n }\n\n .dropdown-item:hover {\n background: #e3f2fd;\n }\n\n .dropdown-item:first-child {\n border-radius: 6px 6px 0 0;\n }\n\n .dropdown-item:last-child {\n border-radius: 0 0 6px 6px;\n }\n\n .dropdown-empty {\n padding: 10px 12px;\n color: #999;\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .header-row {\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .header-actions {\n flex-direction: column;\n align-items: stretch;\n }\n\n .search-box {\n max-width: none;\n }\n\n .filter-group {\n width: 100%;\n }\n\n .filter-select {\n flex: 1;\n width: 100%;\n }\n\n .view-toggle-group {\n justify-content: center;\n }\n\n .lists-table {\n overflow-x: auto;\n }\n\n .col-entity, .col-items, .col-updated {\n display: none;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n `],\n encapsulation: ViewEncapsulation.None\n})\nexport class ListsBrowseResource extends BaseResourceComponent implements OnDestroy {\n private destroy$ = new Subject<void>();\n\n isLoading = true;\n searchTerm = '';\n viewMode: ViewMode = 'card';\n selectedEntity = 'all';\n selectedOwner = 'mine';\n selectedSort = 'name';\n\n allLists: BrowseListItem[] = [];\n filteredLists: BrowseListItem[] = [];\n categories: MJListCategoryEntity[] = [];\n categoryTree: CategoryNode[] = [];\n flatCategories: Array<{ ID: string; displayName: string }> = [];\n availableEntities: Array<{ ID: string; Name: string }> = [];\n filteredEntitiesList: Array<{ ID: string; Name: string }> = [];\n\n entityOptions: Array<{ name: string; value: string }> = [{ name: 'All Entities', value: 'all' }];\n ownerOptions: Array<{ name: string; value: string }> = [\n { name: 'My Lists', value: 'mine' },\n { name: 'All Lists', value: 'all' },\n { name: 'Others', value: 'others' }\n ];\n sortOptions: Array<{ name: string; value: string }> = [\n { name: 'Name', value: 'name' },\n { name: 'Recently Updated', value: 'updated' },\n { name: 'Most Items', value: 'items' },\n { name: 'Entity', value: 'entity' }\n ];\n\n // Context menu state\n showContextMenu = false;\n contextMenuX = 0;\n contextMenuY = 0;\n selectedContextItem: BrowseListItem | null = null;\n\n // Create/Edit dialog state\n showCreateDialog = false;\n editingList: MJListEntity | null = null;\n newListName = '';\n newListDescription = '';\n selectedEntityId = '';\n selectedCategoryId: string | null = null;\n entitySearchTerm = '';\n showEntityDropdown = false;\n entityDropdownPosition = { top: 0, left: 0, width: 0, openAbove: false };\n\n // Delete confirmation state\n showDeleteConfirm = false;\n deleteListName = '';\n listToDelete: MJListEntity | null = null;\n\n // Operation states\n isSaving = false;\n isDeleting = false;\n\n // Sharing dialog state\n showShareDialog = false;\n shareDialogConfig: ListShareDialogConfig | null = null;\n\n private entityColorMap: Map<string, string> = new Map();\n private entityIconMap: Map<string, string> = new Map();\n private categoryMap: Map<string, MJListCategoryEntity> = new Map();\n private currentUserId = '';\n\n constructor(\n private cdr: ChangeDetectorRef,\n private tabService: TabService,\n private notificationService: MJNotificationService,\n private elementRef: ElementRef,\n private listSharingService: ListSharingService\n ) {\n super();\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent) {\n if (this.showEntityDropdown) {\n const target = event.target as HTMLElement;\n if (!target.closest('.custom-select-wrapper')) {\n this.showEntityDropdown = false;\n }\n }\n }\n\n @HostListener('document:keydown.escape')\n onEscapeKey() {\n if (this.showContextMenu) {\n this.closeContextMenu();\n }\n if (this.showCreateDialog) {\n this.closeCreateDialog();\n }\n if (this.showDeleteConfirm) {\n this.cancelDelete();\n }\n if (this.showEntityDropdown) {\n this.closeEntityDropdown();\n }\n }\n\n async ngOnInit() {\n await this.loadData();\n this.NotifyLoadComplete();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n async loadData() {\n this.isLoading = true;\n\n try {\n const md = new Metadata();\n const rv = new RunView();\n this.currentUserId = md.CurrentUser?.ID || '';\n\n // Load all lists, categories, details, and users in parallel\n const [listsResult, categoriesResult, detailsResult, usersResult] = await rv.RunViews([\n {\n EntityName: 'MJ: Lists',\n OrderBy: 'Name',\n ResultType: 'entity_object'\n },\n {\n EntityName: 'MJ: List Categories',\n OrderBy: 'Name',\n ResultType: 'entity_object'\n },\n {\n EntityName: 'MJ: List Details',\n Fields: ['ListID'],\n ResultType: 'simple'\n },\n {\n EntityName: 'MJ: Users',\n Fields: ['ID', 'Name'],\n ResultType: 'simple'\n }\n ]);\n\n if (!listsResult.Success) {\n console.error('Failed to load lists');\n return;\n }\n\n const lists = listsResult.Results as MJListEntity[];\n this.categories = (categoriesResult.Results || []) as MJListCategoryEntity[];\n const details = (detailsResult.Results || []) as Array<{ ListID: string }>;\n const users = (usersResult.Results || []) as Array<{ ID: string; Name: string }>;\n\n // Build category map\n this.categoryMap.clear();\n for (const cat of this.categories) {\n this.categoryMap.set(cat.ID, cat);\n }\n\n // Build flat categories for dropdown\n this.flatCategories = this.buildFlatCategories(this.categories);\n\n // Build user map\n const userMap = new Map<string, string>();\n for (const user of users) {\n userMap.set(user.ID, user.Name);\n }\n\n // Count items per list\n const itemCounts = new Map<string, number>();\n for (const detail of details) {\n const count = itemCounts.get(detail.ListID) || 0;\n itemCounts.set(detail.ListID, count + 1);\n }\n\n // Build entity info\n const entities = md.Entities;\n const entitySet = new Set<string>();\n\n for (const entity of entities) {\n this.entityColorMap.set(entity.Name, this.generateEntityColor(entity.Name));\n this.entityIconMap.set(entity.Name, entity.Icon || 'fa-solid fa-table');\n }\n\n // Build available entities for dropdown\n this.availableEntities = entities\n .filter(e => e.IncludeInAPI)\n .map(e => ({ ID: e.ID, Name: e.Name }))\n .sort((a, b) => a.Name.localeCompare(b.Name));\n this.filteredEntitiesList = [...this.availableEntities];\n\n // Build list items\n this.allLists = lists.map(list => {\n const entityName = list.Entity || 'Unknown';\n entitySet.add(entityName);\n return {\n list,\n itemCount: itemCounts.get(list.ID) || 0,\n entityName,\n ownerName: userMap.get(list.UserID) || 'Unknown',\n isOwner: list.UserID === this.currentUserId\n };\n });\n\n // Build entity filter options\n this.entityOptions = [\n { name: 'All Entities', value: 'all' },\n ...Array.from(entitySet).sort().map(e => ({ name: e, value: e }))\n ];\n\n this.applyFilters();\n this.buildCategoryTree();\n\n // Load sharing info in the background\n this.loadSharingInfo();\n } catch (error) {\n console.error('Error loading lists:', error);\n } finally {\n this.isLoading = false;\n this.cdr.detectChanges();\n }\n }\n\n private buildFlatCategories(categories: MJListCategoryEntity[]): Array<{ ID: string; displayName: string }> {\n const result: Array<{ ID: string; displayName: string }> = [];\n const topLevel = categories.filter(c => !c.ParentID);\n\n const processCategory = (cat: MJListCategoryEntity, level: number) => {\n const indent = '\\u00A0\\u00A0'.repeat(level);\n result.push({ ID: cat.ID, displayName: `${indent}${cat.Name}` });\n\n const children = categories.filter(c => c.ParentID === cat.ID);\n for (const child of children) {\n processCategory(child, level + 1);\n }\n };\n\n for (const cat of topLevel) {\n processCategory(cat, 0);\n }\n\n return result;\n }\n\n private buildCategoryTree() {\n const rootNodes: CategoryNode[] = [];\n const categoryNodes = new Map<string, CategoryNode>();\n\n // Create nodes for all categories\n for (const cat of this.categories) {\n categoryNodes.set(cat.ID, {\n category: cat,\n lists: [],\n children: [],\n isExpanded: true\n });\n }\n\n // Build tree structure\n for (const cat of this.categories) {\n const node = categoryNodes.get(cat.ID)!;\n if (cat.ParentID && categoryNodes.has(cat.ParentID)) {\n categoryNodes.get(cat.ParentID)!.children.push(node);\n } else {\n rootNodes.push(node);\n }\n }\n\n // Assign lists to categories\n const uncategorizedLists: BrowseListItem[] = [];\n for (const item of this.filteredLists) {\n if (item.list.CategoryID && categoryNodes.has(item.list.CategoryID)) {\n categoryNodes.get(item.list.CategoryID)!.lists.push(item);\n } else {\n uncategorizedLists.push(item);\n }\n }\n\n // Add uncategorized node if there are uncategorized lists\n if (uncategorizedLists.length > 0) {\n rootNodes.unshift({\n category: null,\n lists: uncategorizedLists,\n children: [],\n isExpanded: true\n });\n }\n\n this.categoryTree = rootNodes;\n }\n\n setViewMode(mode: ViewMode) {\n this.viewMode = mode;\n }\n\n onSearchChange(_term: string) {\n this.applyFilters();\n this.buildCategoryTree();\n }\n\n onEntityFilterChange(_value: string) {\n this.applyFilters();\n this.buildCategoryTree();\n }\n\n onOwnerFilterChange(_value: string) {\n this.applyFilters();\n this.buildCategoryTree();\n }\n\n onSortChange(_value: string) {\n this.applyFilters();\n this.buildCategoryTree();\n }\n\n clearSearch() {\n this.searchTerm = '';\n this.applyFilters();\n this.buildCategoryTree();\n }\n\n clearFilters() {\n this.searchTerm = '';\n this.selectedEntity = 'all';\n this.selectedOwner = 'mine';\n this.applyFilters();\n this.buildCategoryTree();\n }\n\n private applyFilters() {\n let result = [...this.allLists];\n\n // Owner filter\n if (this.selectedOwner === 'mine') {\n result = result.filter(item => item.isOwner);\n } else if (this.selectedOwner === 'others') {\n result = result.filter(item => !item.isOwner);\n }\n\n // Search filter\n if (this.searchTerm) {\n const term = this.searchTerm.toLowerCase();\n result = result.filter(item =>\n item.list.Name.toLowerCase().includes(term) ||\n (item.list.Description && item.list.Description.toLowerCase().includes(term)) ||\n item.entityName.toLowerCase().includes(term) ||\n item.ownerName.toLowerCase().includes(term)\n );\n }\n\n // Entity filter\n if (this.selectedEntity !== 'all') {\n result = result.filter(item => item.entityName === this.selectedEntity);\n }\n\n // Sort\n switch (this.selectedSort) {\n case 'name':\n result.sort((a, b) => a.list.Name.localeCompare(b.list.Name));\n break;\n case 'updated':\n result.sort((a, b) => {\n const dateA = new Date(a.list.__mj_UpdatedAt).getTime();\n const dateB = new Date(b.list.__mj_UpdatedAt).getTime();\n return dateB - dateA;\n });\n break;\n case 'items':\n result.sort((a, b) => b.itemCount - a.itemCount);\n break;\n case 'entity':\n result.sort((a, b) => a.entityName.localeCompare(b.entityName));\n break;\n }\n\n this.filteredLists = result;\n }\n\n toggleCategory(node: CategoryNode) {\n node.isExpanded = !node.isExpanded;\n }\n\n getListCountInCategory(node: CategoryNode): number {\n let count = node.lists.length;\n for (const child of node.children) {\n count += this.getListCountInCategory(child);\n }\n return count;\n }\n\n getEntityColor(entityName: string): string {\n return this.entityColorMap.get(entityName) || '#607D8B';\n }\n\n getEntityIcon(entityName: string): string {\n return this.entityIconMap.get(entityName) || 'fa-solid fa-table';\n }\n\n private generateEntityColor(entityName: string): string {\n let hash = 0;\n for (let i = 0; i < entityName.length; i++) {\n hash = entityName.charCodeAt(i) + ((hash << 5) - hash);\n }\n const colors = [\n '#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#F44336',\n '#00BCD4', '#795548', '#607D8B', '#E91E63', '#3F51B5'\n ];\n return colors[Math.abs(hash) % colors.length];\n }\n\n formatDate(date: Date): string {\n if (!date) return '';\n const now = new Date();\n const d = new Date(date);\n const diffMs = now.getTime() - d.getTime();\n const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24));\n\n if (diffDays === 0) return 'Today';\n if (diffDays === 1) return 'Yesterday';\n if (diffDays < 7) return `${diffDays} days ago`;\n return d.toLocaleDateString();\n }\n\n openList(item: BrowseListItem) {\n const appId = this.Data?.Configuration?.applicationId || '';\n this.tabService.OpenList(item.list.ID, item.list.Name, appId);\n }\n\n openListMenu(event: Event, item: BrowseListItem) {\n event.stopPropagation();\n const mouseEvent = event as MouseEvent;\n this.selectedContextItem = item;\n this.contextMenuX = mouseEvent.clientX;\n this.contextMenuY = mouseEvent.clientY;\n this.showContextMenu = true;\n }\n\n closeContextMenu() {\n this.showContextMenu = false;\n this.selectedContextItem = null;\n }\n\n createNewList() {\n this.editingList = null;\n this.newListName = '';\n this.newListDescription = '';\n this.selectedEntityId = '';\n this.entitySearchTerm = '';\n this.selectedCategoryId = null;\n this.showEntityDropdown = false;\n this.showCreateDialog = true;\n }\n\n editList() {\n if (!this.selectedContextItem) return;\n\n const list = this.selectedContextItem.list;\n this.editingList = list;\n this.newListName = list.Name;\n this.newListDescription = list.Description || '';\n this.selectedEntityId = list.EntityID;\n this.entitySearchTerm = list.Entity || '';\n this.selectedCategoryId = list.CategoryID || null;\n this.showCreateDialog = true;\n this.closeContextMenu();\n }\n\n selectEntity(entity: { ID: string; Name: string }) {\n this.selectedEntityId = entity.ID;\n this.entitySearchTerm = entity.Name;\n this.showEntityDropdown = false;\n }\n\n filterEntities(term: string) {\n const lowerTerm = term.toLowerCase();\n this.filteredEntitiesList = this.availableEntities.filter(e =>\n e.Name.toLowerCase().includes(lowerTerm)\n );\n }\n\n openEntityDropdown(inputElement: HTMLInputElement) {\n const rect = inputElement.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const dropdownHeight = 200;\n const spaceBelow = viewportHeight - rect.bottom;\n const openAbove = spaceBelow < dropdownHeight && rect.top > dropdownHeight;\n\n this.entityDropdownPosition = {\n top: openAbove ? rect.top - dropdownHeight : rect.bottom,\n left: rect.left,\n width: rect.width,\n openAbove\n };\n this.showEntityDropdown = true;\n this.filteredEntitiesList = [...this.availableEntities];\n }\n\n closeEntityDropdown() {\n this.showEntityDropdown = false;\n }\n\n async duplicateList() {\n if (!this.selectedContextItem) return;\n\n const listToDuplicate = this.selectedContextItem.list;\n this.closeContextMenu();\n\n this.isLoading = true;\n this.cdr.detectChanges();\n\n try {\n const md = new Metadata();\n const rv = new RunView();\n\n const newList = await md.GetEntityObject<MJListEntity>('MJ: Lists');\n newList.Name = `${listToDuplicate.Name} (Copy)`;\n newList.Description = listToDuplicate.Description;\n newList.EntityID = listToDuplicate.EntityID;\n newList.CategoryID = listToDuplicate.CategoryID;\n newList.UserID = md.CurrentUser!.ID;\n\n const listSaved = await newList.Save();\n if (!listSaved) {\n this.notificationService.CreateSimpleNotification('Failed to duplicate list', 'error', 4000);\n return;\n }\n\n const itemsResult = await rv.RunView<MJListDetailEntity>({\n EntityName: 'MJ: List Details',\n ExtraFilter: `ListID = '${listToDuplicate.ID}'`,\n ResultType: 'entity_object'\n });\n\n if (itemsResult.Success && itemsResult.Results.length > 0) {\n let copiedCount = 0;\n for (const item of itemsResult.Results) {\n const newItem = await md.GetEntityObject<MJListDetailEntity>('MJ: List Details');\n newItem.ListID = newList.ID;\n newItem.RecordID = item.RecordID;\n newItem.Sequence = item.Sequence;\n const itemSaved = await newItem.Save();\n if (itemSaved) copiedCount++;\n }\n this.notificationService.CreateSimpleNotification(\n `List duplicated with ${copiedCount} item${copiedCount !== 1 ? 's' : ''}`,\n 'success',\n 3000\n );\n } else {\n this.notificationService.CreateSimpleNotification('List duplicated successfully', 'success', 3000);\n }\n\n await this.loadData();\n } catch (error) {\n console.error('Error duplicating list:', error);\n this.notificationService.CreateSimpleNotification('Error duplicating list. Please try again.', 'error', 4000);\n } finally {\n this.isLoading = false;\n this.cdr.detectChanges();\n }\n }\n\n confirmDeleteList() {\n if (!this.selectedContextItem) return;\n this.listToDelete = this.selectedContextItem.list;\n this.deleteListName = this.selectedContextItem.list.Name;\n this.showDeleteConfirm = true;\n this.closeContextMenu();\n }\n\n cancelDelete() {\n this.showDeleteConfirm = false;\n this.listToDelete = null;\n this.deleteListName = '';\n }\n\n async deleteList() {\n if (!this.listToDelete) return;\n\n const listToDelete = this.listToDelete;\n const listName = listToDelete.Name;\n\n this.isDeleting = true;\n this.cdr.detectChanges();\n\n try {\n const deleted = await listToDelete.Delete();\n if (deleted) {\n this.notificationService.CreateSimpleNotification(`\"${listName}\" deleted`, 'success', 3000);\n } else {\n const errorMessage = listToDelete.LatestResult?.Message || 'Unknown error occurred';\n console.error('Failed to delete list:', listToDelete.LatestResult);\n this.notificationService.CreateSimpleNotification(`Failed to delete list: ${errorMessage}`, 'error', 6000);\n }\n this.cancelDelete();\n await this.loadData();\n } catch (error) {\n console.error('Error deleting list:', error);\n const errorMessage = error instanceof Error ? error.message : String(error);\n this.notificationService.CreateSimpleNotification(`Error deleting list: ${errorMessage}`, 'error', 6000);\n } finally {\n this.isDeleting = false;\n this.cdr.detectChanges();\n }\n }\n\n closeCreateDialog() {\n this.showCreateDialog = false;\n this.editingList = null;\n this.showEntityDropdown = false;\n }\n\n async saveList() {\n this.isSaving = true;\n this.cdr.detectChanges();\n\n const isEditing = !!this.editingList;\n const listName = this.newListName;\n\n try {\n const md = new Metadata();\n let list: MJListEntity;\n\n if (this.editingList) {\n list = this.editingList;\n } else {\n list = await md.GetEntityObject<MJListEntity>('MJ: Lists');\n list.UserID = md.CurrentUser!.ID;\n list.EntityID = this.selectedEntityId;\n }\n\n list.Name = this.newListName;\n list.Description = this.newListDescription || null;\n list.CategoryID = this.selectedCategoryId || null;\n\n const saved = await list.Save();\n if (saved) {\n this.notificationService.CreateSimpleNotification(\n isEditing ? `\"${listName}\" updated` : `\"${listName}\" created`,\n 'success',\n 3000\n );\n this.closeCreateDialog();\n await this.loadData();\n } else {\n const errorMessage = list.LatestResult?.Message || 'Unknown error occurred';\n const action = isEditing ? 'update' : 'create';\n console.error(`Failed to ${action} list:`, list.LatestResult);\n this.notificationService.CreateSimpleNotification(\n `Failed to ${action} list: ${errorMessage}`,\n 'error',\n 6000\n );\n }\n } catch (error) {\n console.error('Error saving list:', error);\n const errorMessage = error instanceof Error ? error.message : String(error);\n this.notificationService.CreateSimpleNotification(`Error saving list: ${errorMessage}`, 'error', 6000);\n } finally {\n this.isSaving = false;\n this.cdr.detectChanges();\n }\n }\n\n // Sharing methods\n openShareDialog() {\n if (!this.selectedContextItem) return;\n\n const item = this.selectedContextItem;\n this.shareDialogConfig = {\n listId: item.list.ID,\n listName: item.list.Name,\n currentUserId: this.currentUserId,\n isOwner: item.isOwner\n };\n this.showShareDialog = true;\n this.closeContextMenu();\n }\n\n onShareComplete(_result: ListShareDialogResult) {\n this.showShareDialog = false;\n this.shareDialogConfig = null;\n // Reload sharing info for all lists\n this.loadSharingInfo();\n this.cdr.detectChanges();\n }\n\n onShareCancel() {\n this.showShareDialog = false;\n this.shareDialogConfig = null;\n }\n\n private async loadSharingInfo() {\n // Load sharing summaries for all lists that the user owns\n const ownedLists = this.allLists.filter(item => item.isOwner);\n\n for (const item of ownedLists) {\n try {\n const summary = await this.listSharingService.getListSharingSummary(item.list.ID);\n item.sharingInfo = summary;\n } catch (error) {\n console.error(`Error loading sharing info for list ${item.list.ID}:`, error);\n }\n }\n\n this.cdr.detectChanges();\n }\n\n async GetResourceDisplayName(_data: ResourceData): Promise<string> {\n return 'Lists';\n }\n\n async GetResourceIconClass(_data: ResourceData): Promise<string> {\n return 'fa-solid fa-list-check';\n }\n}\n"]}
|