@memberjunction/ng-dashboards 6.2.0-edge.3 → 6.2.0-edge.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/dist/AI/components/analytics/realtime/realtime-transcripts-data.d.ts +4 -3
  2. package/dist/AI/components/analytics/realtime/realtime-transcripts-data.d.ts.map +1 -1
  3. package/dist/AI/components/analytics/realtime/realtime-transcripts-data.js +8 -5
  4. package/dist/AI/components/analytics/realtime/realtime-transcripts-data.js.map +1 -1
  5. package/dist/AI/components/duplicates/compare-value.component.d.ts +67 -0
  6. package/dist/AI/components/duplicates/compare-value.component.d.ts.map +1 -0
  7. package/dist/AI/components/duplicates/compare-value.component.js +168 -0
  8. package/dist/AI/components/duplicates/compare-value.component.js.map +1 -0
  9. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +49 -3
  10. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  11. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +287 -169
  12. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  13. package/dist/AI/components/duplicates/duplicate-detection-run-scope.d.ts +77 -0
  14. package/dist/AI/components/duplicates/duplicate-detection-run-scope.d.ts.map +1 -0
  15. package/dist/AI/components/duplicates/duplicate-detection-run-scope.js +116 -0
  16. package/dist/AI/components/duplicates/duplicate-detection-run-scope.js.map +1 -0
  17. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts +1 -0
  18. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
  19. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +16 -4
  20. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  21. package/dist/AI/components/tags/tags-resource.component.d.ts +2 -0
  22. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  23. package/dist/AI/components/tags/tags-resource.component.js +12 -6
  24. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  25. package/dist/AI/components/vectors/vector-index-auto.d.ts +29 -0
  26. package/dist/AI/components/vectors/vector-index-auto.d.ts.map +1 -0
  27. package/dist/AI/components/vectors/vector-index-auto.js +59 -0
  28. package/dist/AI/components/vectors/vector-index-auto.js.map +1 -0
  29. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +9 -0
  30. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  31. package/dist/AI/components/vectors/vector-management-resource.component.js +65 -20
  32. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  33. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  34. package/dist/Actions/components/actions-overview.component.js +7 -3
  35. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  36. package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -1
  37. package/dist/Actions/components/categories-list-view.component.js +3 -2
  38. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  39. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  40. package/dist/ComponentStudio/component-studio-dashboard.component.js +1 -0
  41. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  42. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +0 -3
  43. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -1
  44. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +5 -14
  45. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
  46. package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts.map +1 -1
  47. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +1 -0
  48. package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
  49. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  50. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +1 -0
  51. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  52. package/dist/Credentials/components/credentials-list-resource.component.d.ts +2 -0
  53. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  54. package/dist/Credentials/components/credentials-list-resource.component.js +12 -10
  55. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  56. package/dist/DashboardBrowser/dashboard-browser-agent-context.d.ts +14 -43
  57. package/dist/DashboardBrowser/dashboard-browser-agent-context.d.ts.map +1 -1
  58. package/dist/DashboardBrowser/dashboard-browser-agent-context.js +6 -29
  59. package/dist/DashboardBrowser/dashboard-browser-agent-context.js.map +1 -1
  60. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +174 -321
  61. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
  62. package/dist/DashboardBrowser/dashboard-browser-resource.component.js +522 -1195
  63. package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
  64. package/dist/DashboardBrowser/dashboard-library-filter.d.ts +116 -0
  65. package/dist/DashboardBrowser/dashboard-library-filter.d.ts.map +1 -0
  66. package/dist/DashboardBrowser/dashboard-library-filter.js +277 -0
  67. package/dist/DashboardBrowser/dashboard-library-filter.js.map +1 -0
  68. package/dist/DashboardBrowser/dashboard-share-dialog.component.d.ts +1 -1
  69. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
  70. package/dist/DashboardBrowser/dashboards-agent-tools.d.ts +26 -0
  71. package/dist/DashboardBrowser/dashboards-agent-tools.d.ts.map +1 -0
  72. package/dist/DashboardBrowser/dashboards-agent-tools.js +32 -0
  73. package/dist/DashboardBrowser/dashboards-agent-tools.js.map +1 -0
  74. package/dist/DashboardBrowser/dashboards-categories-resource.component.d.ts +58 -0
  75. package/dist/DashboardBrowser/dashboards-categories-resource.component.d.ts.map +1 -0
  76. package/dist/DashboardBrowser/dashboards-categories-resource.component.js +391 -0
  77. package/dist/DashboardBrowser/dashboards-categories-resource.component.js.map +1 -0
  78. package/dist/DashboardBrowser/dashboards-categories.helpers.d.ts +37 -0
  79. package/dist/DashboardBrowser/dashboards-categories.helpers.d.ts.map +1 -0
  80. package/dist/DashboardBrowser/dashboards-categories.helpers.js +68 -0
  81. package/dist/DashboardBrowser/dashboards-categories.helpers.js.map +1 -0
  82. package/dist/DashboardEditor/dashboard-editor.component.d.ts +295 -0
  83. package/dist/DashboardEditor/dashboard-editor.component.d.ts.map +1 -0
  84. package/dist/DashboardEditor/dashboard-editor.component.js +1022 -0
  85. package/dist/DashboardEditor/dashboard-editor.component.js.map +1 -0
  86. package/dist/DashboardEditor/dashboard-editor.types.d.ts +23 -0
  87. package/dist/DashboardEditor/dashboard-editor.types.d.ts.map +1 -0
  88. package/dist/DashboardEditor/dashboard-editor.types.js +3 -0
  89. package/dist/DashboardEditor/dashboard-editor.types.js.map +1 -0
  90. package/dist/DashboardEditor/dashboard-viewer-factory.d.ts +11 -0
  91. package/dist/DashboardEditor/dashboard-viewer-factory.d.ts.map +1 -0
  92. package/dist/DashboardEditor/dashboard-viewer-factory.js +17 -0
  93. package/dist/DashboardEditor/dashboard-viewer-factory.js.map +1 -0
  94. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +26 -0
  95. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  96. package/dist/DataExplorer/data-explorer-dashboard.component.js +302 -219
  97. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  98. package/dist/DataExplorer/services/explorer-state.service.d.ts +1 -1
  99. package/dist/DataExplorer/services/explorer-state.service.js +2 -5
  100. package/dist/DataExplorer/services/explorer-state.service.js.map +1 -1
  101. package/dist/FormBuilder/form-builder-resource.component.d.ts +0 -14
  102. package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -1
  103. package/dist/FormBuilder/form-builder-resource.component.js +7 -29
  104. package/dist/FormBuilder/form-builder-resource.component.js.map +1 -1
  105. package/dist/Home/home-agent-context.d.ts +29 -10
  106. package/dist/Home/home-agent-context.d.ts.map +1 -1
  107. package/dist/Home/home-agent-context.js +50 -24
  108. package/dist/Home/home-agent-context.js.map +1 -1
  109. package/dist/Home/home-dashboard-switcher.component.d.ts +95 -0
  110. package/dist/Home/home-dashboard-switcher.component.d.ts.map +1 -0
  111. package/dist/Home/home-dashboard-switcher.component.js +442 -0
  112. package/dist/Home/home-dashboard-switcher.component.js.map +1 -0
  113. package/dist/Home/home-dashboard.component.d.ts +330 -17
  114. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  115. package/dist/Home/home-dashboard.component.js +1702 -1014
  116. package/dist/Home/home-dashboard.component.js.map +1 -1
  117. package/dist/Home/home-menus.d.ts +38 -0
  118. package/dist/Home/home-menus.d.ts.map +1 -0
  119. package/dist/Home/home-menus.js +53 -0
  120. package/dist/Home/home-menus.js.map +1 -0
  121. package/dist/Home/home-pinned-dashboards.d.ts +33 -0
  122. package/dist/Home/home-pinned-dashboards.d.ts.map +1 -0
  123. package/dist/Home/home-pinned-dashboards.js +76 -0
  124. package/dist/Home/home-pinned-dashboards.js.map +1 -0
  125. package/dist/PredictiveStudio/components/ps-production.component.d.ts +5 -1
  126. package/dist/PredictiveStudio/components/ps-production.component.d.ts.map +1 -1
  127. package/dist/PredictiveStudio/components/ps-production.component.js +64 -41
  128. package/dist/PredictiveStudio/components/ps-production.component.js.map +1 -1
  129. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  130. package/dist/QueryBrowser/query-browser-resource.component.js +3 -2
  131. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  132. package/dist/RealtimeRecordings/realtime-recordings-dashboard.component.js +2 -2
  133. package/dist/RealtimeRecordings/realtime-recordings-dashboard.component.js.map +1 -1
  134. package/dist/TelephonyOperations/telephony-operations-dashboard.component.d.ts +1 -0
  135. package/dist/TelephonyOperations/telephony-operations-dashboard.component.d.ts.map +1 -1
  136. package/dist/TelephonyOperations/telephony-operations-dashboard.component.js +7 -0
  137. package/dist/TelephonyOperations/telephony-operations-dashboard.component.js.map +1 -1
  138. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  139. package/dist/Testing/components/testing-explorer.component.js +7 -7
  140. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  141. package/dist/ai-dashboards.module.d.ts +21 -20
  142. package/dist/ai-dashboards.module.d.ts.map +1 -1
  143. package/dist/ai-dashboards.module.js +4 -1
  144. package/dist/ai-dashboards.module.js.map +1 -1
  145. package/dist/core-dashboards.module.d.ts +69 -62
  146. package/dist/core-dashboards.module.d.ts.map +1 -1
  147. package/dist/core-dashboards.module.js +22 -2
  148. package/dist/core-dashboards.module.js.map +1 -1
  149. package/dist/data-explorer-dashboards.module.d.ts +1 -1
  150. package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
  151. package/dist/data-explorer-dashboards.module.js +3 -1
  152. package/dist/data-explorer-dashboards.module.js.map +1 -1
  153. package/dist/public-api.d.ts +2 -0
  154. package/dist/public-api.d.ts.map +1 -1
  155. package/dist/public-api.js +3 -0
  156. package/dist/public-api.js.map +1 -1
  157. package/dist/shared/dashboard-library-changes.d.ts +23 -0
  158. package/dist/shared/dashboard-library-changes.d.ts.map +1 -0
  159. package/dist/shared/dashboard-library-changes.js +26 -0
  160. package/dist/shared/dashboard-library-changes.js.map +1 -0
  161. package/dist/shared/dashboard-owner-names.d.ts +17 -0
  162. package/dist/shared/dashboard-owner-names.d.ts.map +1 -0
  163. package/dist/shared/dashboard-owner-names.js +65 -0
  164. package/dist/shared/dashboard-owner-names.js.map +1 -0
  165. package/dist/shared/dashboard-recents.d.ts +34 -0
  166. package/dist/shared/dashboard-recents.d.ts.map +1 -0
  167. package/dist/shared/dashboard-recents.js +87 -0
  168. package/dist/shared/dashboard-recents.js.map +1 -0
  169. package/dist/shared/dashboards-app-install.d.ts +59 -0
  170. package/dist/shared/dashboards-app-install.d.ts.map +1 -0
  171. package/dist/shared/dashboards-app-install.js +97 -0
  172. package/dist/shared/dashboards-app-install.js.map +1 -0
  173. package/dist/shared/dashboards-app.helpers.d.ts +42 -0
  174. package/dist/shared/dashboards-app.helpers.d.ts.map +1 -0
  175. package/dist/shared/dashboards-app.helpers.js +143 -0
  176. package/dist/shared/dashboards-app.helpers.js.map +1 -0
  177. package/package.json +69 -68
@@ -275,7 +275,7 @@ export declare class ExplorerStateService {
275
275
  */
276
276
  private loadFavoriteEntities;
277
277
  /**
278
- * Load recent records from User Record Logs with batch record name lookup using UserInfoEngine
278
+ * Load recent records from User Record Logs with batch record name lookup
279
279
  */
280
280
  private loadRecentRecords;
281
281
  /**
@@ -820,17 +820,14 @@ export class ExplorerStateService {
820
820
  }
821
821
  }
822
822
  /**
823
- * Load recent records from User Record Logs with batch record name lookup using UserInfoEngine
823
+ * Load recent records from User Record Logs with batch record name lookup
824
824
  */
825
825
  async loadRecentRecords() {
826
826
  try {
827
827
  const userId = this.metadata.CurrentUser?.ID;
828
828
  if (!userId)
829
829
  return;
830
- // Use UserInfoEngine for cached access to user record logs
831
- const engine = UserInfoEngine.Instance;
832
- // Get recent records, limited to MAX_RECENT_RECORDS
833
- const userRecordLogs = engine.UserRecordLogs.slice(0, MAX_RECENT_RECORDS);
830
+ const userRecordLogs = await UserInfoEngine.Instance.LoadRecentRecordLogs(MAX_RECENT_RECORDS, this.metadata.CurrentUser, this.metadata);
834
831
  const recentRecords = [];
835
832
  const recordNameInputs = [];
836
833
  const recordIndexMap = new Map(); // Map composite key to array index
@@ -1 +1 @@
1
- {"version":3,"file":"explorer-state.service.js","sourceRoot":"","sources":["../../../src/DataExplorer/services/explorer-state.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Metadata, RunView, CompositeKey, EntityRecordNameInput, IMetadataProvider } from '@memberjunction/core';\nimport { MJUserSettingEntity, MJUserFavoriteEntity, MJApplicationEntityEntity, UserInfoEngine } from '@memberjunction/core-entities';\nimport { DataExplorerState, DEFAULT_EXPLORER_STATE, RecentItem, FavoriteItem, EntityCacheEntry, BreadcrumbItem, DataExplorerFilter, FavoriteEntity, RecentRecordAccess, FavoriteRecord, DataExplorerViewMode } from '../models/explorer-state.interface';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nconst BASE_SETTING_KEY = 'DataExplorer.State';\nconst MAX_RECENT_ITEMS = 20;\nconst MAX_RECENT_ENTITIES = 10;\nconst MAX_RECENT_RECORDS = 10;\nconst MAX_ENTITY_CACHE_SIZE = 50; // LRU cache limit\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExplorerStateService {\n private state$ = new BehaviorSubject<DataExplorerState>(DEFAULT_EXPLORER_STATE);\n private _provider: IMetadataProvider | null = null;\n /** Set the metadata provider this service should use. Components should call this after injection. */\n public set Provider(value: IMetadataProvider | null) {\n this._provider = value;\n }\n public get Provider(): IMetadataProvider {\n return this._provider ?? Metadata.Provider;\n }\n private get metadata(): IMetadataProvider {\n return this.Provider;\n }\n private saveTimeout: ReturnType<typeof setTimeout> | null = null;\n\n /** Current context filter (determines which settings key to use) */\n private currentFilter: DataExplorerFilter | null = null;\n\n /** Computed breadcrumbs based on current state */\n private breadcrumbs$ = new BehaviorSubject<BreadcrumbItem[]>([]);\n\n /** Recent records loaded from User Record Logs */\n private recentRecords$ = new BehaviorSubject<RecentRecordAccess[]>([]);\n\n /** Favorite records loaded from User Favorites (non-entity favorites) */\n private favoriteRecords$ = new BehaviorSubject<FavoriteRecord[]>([]);\n\n /** Application entities with DefaultForNewUser info (loaded once per context) */\n private applicationEntities: MJApplicationEntityEntity[] = [];\n\n /** Set of entity IDs that have DefaultForNewUser=true */\n private defaultEntityIds = new Set<string>();\n\n constructor() {\n // Don't load state in constructor - wait for setContext to be called\n }\n\n /**\n * Set the context filter and load context-specific state.\n * Call this before using the service to ensure proper context isolation.\n */\n async SetContext(filter: DataExplorerFilter | null): Promise<void> {\n this.currentFilter = filter;\n await this.loadState();\n // Load application entities first (needed for filtering recent/favorite records)\n await this.loadApplicationEntities();\n // Then load the rest in parallel\n await Promise.all([\n this.loadFavoriteEntities(),\n this.loadFavoriteRecords(),\n this.loadRecentRecords()\n ]);\n this.updateBreadcrumbs();\n }\n\n /** @deprecated Use {@link SetContext}. */\n async setContext(filter: DataExplorerFilter | null): Promise<void> {\n return this.SetContext(filter);\n }\n\n /**\n * Get the storage key based on current context.\n * Uses application ID if available for context-specific storage.\n */\n private getSettingKey(): string {\n if (this.currentFilter?.applicationId) {\n return `${BASE_SETTING_KEY}.${this.currentFilter.applicationId}`;\n }\n return BASE_SETTING_KEY;\n }\n\n /**\n * Get observable of current state\n */\n get State(): Observable<DataExplorerState> {\n return this.state$.asObservable();\n }\n\n /**\n * Get current state value\n */\n get CurrentState(): DataExplorerState {\n return this.state$.value;\n }\n\n /**\n * Observable of current breadcrumbs\n */\n get Breadcrumbs(): Observable<BreadcrumbItem[]> {\n return this.breadcrumbs$.asObservable();\n }\n\n /**\n * Get current breadcrumbs value\n */\n get CurrentBreadcrumbs(): BreadcrumbItem[] {\n return this.breadcrumbs$.value;\n }\n\n /**\n * Get the current context filter\n */\n get CurrentFilter(): DataExplorerFilter | null {\n return this.currentFilter;\n }\n\n /**\n * Observable of recent records (from User Record Logs)\n */\n get RecentRecords(): Observable<RecentRecordAccess[]> {\n return this.recentRecords$.asObservable();\n }\n\n /**\n * Get current recent records value\n */\n get CurrentRecentRecords(): RecentRecordAccess[] {\n return this.recentRecords$.value;\n }\n\n /**\n * Observable of favorite records (from User Favorites, non-entity)\n */\n get FavoriteRecords(): Observable<FavoriteRecord[]> {\n return this.favoriteRecords$.asObservable();\n }\n\n /**\n * Get current favorite records value\n */\n get CurrentFavoriteRecords(): FavoriteRecord[] {\n return this.favoriteRecords$.value;\n }\n\n /**\n * Get the set of entity IDs with DefaultForNewUser=true\n */\n get DefaultEntityIds(): Set<string> {\n return this.defaultEntityIds;\n }\n\n /**\n * Update state partially\n */\n UpdateState(partial: Partial<DataExplorerState>): void {\n const newState = { ...this.state$.value, ...partial };\n this.state$.next(newState);\n this.updateBreadcrumbs();\n this.debouncedSave();\n }\n\n /** @deprecated Use {@link UpdateState}. */\n updateState(partial: Partial<DataExplorerState>): void {\n return this.UpdateState(partial);\n }\n\n /**\n * Set selected entity\n * Caches current entity's filter before switching, restores new entity's cached filter\n */\n SelectEntity(entityName: string | null): void {\n const currentState = this.state$.value;\n const entityCache = { ...currentState.entityCache };\n\n // Cache current entity's filter before switching (if we have a current entity)\n if (currentState.selectedEntityName && currentState.smartFilterPrompt) {\n entityCache[currentState.selectedEntityName] = {\n filterText: currentState.smartFilterPrompt,\n lastAccessed: Date.now()\n };\n }\n\n // Restore filter for new entity (if cached) or clear it\n let restoredFilter = '';\n if (entityName && entityCache[entityName]) {\n restoredFilter = entityCache[entityName].filterText;\n entityCache[entityName].lastAccessed = Date.now();\n }\n\n // Evict old entries if cache is too large (LRU)\n this.evictOldCacheEntries(entityCache);\n\n this.UpdateState({\n selectedEntityName: entityName,\n selectedViewId: null, // Reset view when entity changes\n smartFilterPrompt: restoredFilter, // Restore cached filter or empty\n selectedRecordId: null,\n detailPanelOpen: false,\n entityCache\n });\n }\n\n /** @deprecated Use {@link SelectEntity}. */\n selectEntity(entityName: string | null): void {\n return this.SelectEntity(entityName);\n }\n\n /**\n * Evict oldest cache entries if over limit (LRU eviction)\n */\n private evictOldCacheEntries(cache: Record<string, EntityCacheEntry>): void {\n const entries = Object.entries(cache);\n if (entries.length <= MAX_ENTITY_CACHE_SIZE) return;\n\n // Sort by lastAccessed (oldest first) and remove excess\n entries.sort((a, b) => a[1].lastAccessed - b[1].lastAccessed);\n const toRemove = entries.length - MAX_ENTITY_CACHE_SIZE;\n for (let i = 0; i < toRemove; i++) {\n delete cache[entries[i][0]];\n }\n }\n\n /**\n * Set selected view\n */\n SelectView(viewId: string | null): void {\n this.UpdateState({\n selectedViewId: viewId,\n viewModified: false // Reset modified state when selecting a different view\n });\n }\n\n /** @deprecated Use {@link SelectView}. */\n selectView(viewId: string | null): void {\n return this.SelectView(viewId);\n }\n\n /**\n * Mark the current view as modified (has unsaved changes)\n */\n SetViewModified(modified: boolean): void {\n this.UpdateState({ viewModified: modified });\n }\n\n /** @deprecated Use {@link SetViewModified}. */\n setViewModified(modified: boolean): void {\n return this.SetViewModified(modified);\n }\n\n /**\n * Toggle the view configuration panel\n */\n ToggleViewConfigPanel(): void {\n this.UpdateState({ viewConfigPanelOpen: !this.state$.value.viewConfigPanelOpen });\n }\n\n /** @deprecated Use {@link ToggleViewConfigPanel}. */\n toggleViewConfigPanel(): void {\n return this.ToggleViewConfigPanel();\n }\n\n /**\n * Open the view configuration panel\n */\n OpenViewConfigPanel(): void {\n this.UpdateState({ viewConfigPanelOpen: true });\n }\n\n /** @deprecated Use {@link OpenViewConfigPanel}. */\n openViewConfigPanel(): void {\n return this.OpenViewConfigPanel();\n }\n\n /**\n * Close the view configuration panel\n */\n CloseViewConfigPanel(): void {\n this.UpdateState({ viewConfigPanelOpen: false });\n }\n\n /** @deprecated Use {@link CloseViewConfigPanel}. */\n closeViewConfigPanel(): void {\n return this.CloseViewConfigPanel();\n }\n\n /**\n * Set view mode\n */\n SetViewMode(mode: DataExplorerViewMode): void {\n this.UpdateState({ viewMode: mode });\n }\n\n /** @deprecated Use {@link SetViewMode}. */\n setViewMode(mode: DataExplorerViewMode): void {\n return this.SetViewMode(mode);\n }\n\n /**\n * Set smart filter prompt\n * Also updates the entity cache for the current entity\n */\n SetSmartFilterPrompt(prompt: string): void {\n const currentState = this.state$.value;\n const entityCache = { ...currentState.entityCache };\n\n // Update cache for current entity\n if (currentState.selectedEntityName) {\n if (prompt) {\n entityCache[currentState.selectedEntityName] = {\n filterText: prompt,\n lastAccessed: Date.now()\n };\n } else {\n // Clear cache entry if filter is empty\n delete entityCache[currentState.selectedEntityName];\n }\n }\n\n this.UpdateState({ smartFilterPrompt: prompt, entityCache });\n }\n\n /** @deprecated Use {@link SetSmartFilterPrompt}. */\n setSmartFilterPrompt(prompt: string): void {\n return this.SetSmartFilterPrompt(prompt);\n }\n\n /**\n * Select a record and open detail panel\n * @param recordId The composite key string for the record\n * @param recordName Optional display name for the record (for breadcrumbs)\n */\n SelectRecord(recordId: string | null, recordName?: string): void {\n this.UpdateState({\n selectedRecordId: recordId,\n selectedRecordName: recordName || null,\n detailPanelOpen: recordId !== null\n });\n }\n\n /** @deprecated Use {@link SelectRecord}. */\n selectRecord(recordId: string | null, recordName?: string): void {\n return this.SelectRecord(recordId, recordName);\n }\n\n /**\n * Close detail panel\n */\n CloseDetailPanel(): void {\n this.UpdateState({\n detailPanelOpen: false,\n selectedRecordId: null,\n selectedRecordName: null\n });\n }\n\n /** @deprecated Use {@link CloseDetailPanel}. */\n closeDetailPanel(): void {\n return this.CloseDetailPanel();\n }\n\n /**\n * Toggle navigation panel collapsed state\n */\n ToggleNavigationPanel(): void {\n this.UpdateState({\n navigationPanelCollapsed: !this.state$.value.navigationPanelCollapsed\n });\n }\n\n /** @deprecated Use {@link ToggleNavigationPanel}. */\n toggleNavigationPanel(): void {\n return this.ToggleNavigationPanel();\n }\n\n /**\n * Expand navigation panel and ensure a specific section is expanded\n */\n ExpandAndFocusSection(section: 'favorites' | 'recent' | 'entities'): void {\n const updates: Partial<DataExplorerState> = {\n navigationPanelCollapsed: false\n };\n\n // Ensure the target section is expanded\n switch (section) {\n case 'favorites':\n updates.favoritesSectionExpanded = true;\n break;\n case 'recent':\n updates.recentSectionExpanded = true;\n break;\n case 'entities':\n updates.entitiesSectionExpanded = true;\n break;\n }\n\n this.UpdateState(updates);\n }\n\n /** @deprecated Use {@link ExpandAndFocusSection}. */\n expandAndFocusSection(section: 'favorites' | 'recent' | 'entities'): void {\n return this.ExpandAndFocusSection(section);\n }\n\n /**\n * Add item to recent history\n */\n AddRecentItem(item: Omit<RecentItem, 'timestamp'>): void {\n const recentItems = [...this.state$.value.recentItems];\n\n // Remove existing entry if present (match by entity and composite key)\n const existingIndex = recentItems.findIndex(\n r => r.entityName === item.entityName && r.compositeKeyString === item.compositeKeyString\n );\n if (existingIndex >= 0) {\n recentItems.splice(existingIndex, 1);\n }\n\n // Add to front with timestamp\n recentItems.unshift({\n ...item,\n timestamp: new Date()\n });\n\n // Trim to max size\n if (recentItems.length > MAX_RECENT_ITEMS) {\n recentItems.length = MAX_RECENT_ITEMS;\n }\n\n this.UpdateState({ recentItems });\n }\n\n /** @deprecated Use {@link AddRecentItem}. */\n addRecentItem(item: Omit<RecentItem, 'timestamp'>): void {\n return this.AddRecentItem(item);\n }\n\n /**\n * Add item to favorites\n */\n AddFavorite(item: FavoriteItem): void {\n const favorites = [...this.state$.value.favorites];\n\n // Check if already exists\n const exists = favorites.some(f =>\n f.type === item.type &&\n f.entityName === item.entityName &&\n f.compositeKeyString === item.compositeKeyString &&\n f.viewId === item.viewId\n );\n\n if (!exists) {\n favorites.push(item);\n this.UpdateState({ favorites });\n }\n }\n\n /** @deprecated Use {@link AddFavorite}. */\n addFavorite(item: FavoriteItem): void {\n return this.AddFavorite(item);\n }\n\n /**\n * Remove item from favorites\n */\n RemoveFavorite(item: FavoriteItem): void {\n const favorites = this.state$.value.favorites.filter(f =>\n !(f.type === item.type &&\n f.entityName === item.entityName &&\n f.compositeKeyString === item.compositeKeyString &&\n f.viewId === item.viewId)\n );\n this.UpdateState({ favorites });\n }\n\n /** @deprecated Use {@link RemoveFavorite}. */\n removeFavorite(item: FavoriteItem): void {\n return this.RemoveFavorite(item);\n }\n\n /**\n * Toggle section expanded state\n */\n ToggleSection(section: 'favorites' | 'recent' | 'entities' | 'views'): void {\n const key = `${section}SectionExpanded` as keyof DataExplorerState;\n this.UpdateState({ [key]: !this.state$.value[key] } as Partial<DataExplorerState>);\n }\n\n /** @deprecated Use {@link ToggleSection}. */\n toggleSection(section: 'favorites' | 'recent' | 'entities' | 'views'): void {\n return this.ToggleSection(section);\n }\n\n /**\n * Load state from UserSetting using UserInfoEngine for cached access\n */\n private async loadState(): Promise<void> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return;\n\n const settingKey = this.getSettingKey();\n const engine = UserInfoEngine.Instance;\n\n // Find the setting from cached user settings\n const setting = engine.UserSettings.find(s => s.Setting === settingKey);\n\n if (setting?.Value) {\n const savedState = JSON.parse(setting.Value) as Partial<DataExplorerState>;\n // Merge with defaults to handle new properties\n this.state$.next({ ...DEFAULT_EXPLORER_STATE, ...savedState });\n } else {\n // No saved state, use defaults\n this.state$.next({ ...DEFAULT_EXPLORER_STATE });\n }\n } catch (error) {\n console.warn('Failed to load Data Explorer state:', error);\n this.state$.next({ ...DEFAULT_EXPLORER_STATE });\n }\n }\n\n /**\n * Update breadcrumbs based on current state and filter\n */\n private updateBreadcrumbs(): void {\n const breadcrumbs: BreadcrumbItem[] = [];\n const state = this.state$.value;\n\n // Always add a root/home breadcrumb - use application name if available, otherwise \"All\"\n const rootLabel = this.currentFilter?.applicationName || 'All';\n breadcrumbs.push({\n label: rootLabel,\n type: 'application',\n icon: 'fa-solid fa-th-large'\n });\n\n // Add entity breadcrumb if selected\n if (state.selectedEntityName) {\n const entityInfo = this.metadata.Entities.find(e => e.Name.toLowerCase() === state.selectedEntityName?.toLowerCase());\n breadcrumbs.push({\n label: entityInfo?.DisplayNameOrName || state.selectedEntityName,\n type: 'entity',\n entityName: state.selectedEntityName,\n icon: entityInfo?.Icon ? this.formatEntityIcon(entityInfo.Icon) : 'fa-solid fa-table'\n });\n }\n\n // Add record breadcrumb if selected\n if (state.selectedRecordId && state.selectedRecordName) {\n breadcrumbs.push({\n label: state.selectedRecordName,\n type: 'record',\n entityName: state.selectedEntityName || undefined,\n compositeKeyString: state.selectedRecordId,\n icon: 'fa-solid fa-file-alt'\n });\n }\n\n this.breadcrumbs$.next(breadcrumbs);\n }\n\n /**\n * Format entity icon to ensure proper Font Awesome class format\n */\n private formatEntityIcon(icon: string): string {\n if (!icon) return 'fa-solid fa-table';\n if (icon.startsWith('fa-') || icon.startsWith('fa ')) {\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 return `fa-solid ${icon}`;\n }\n return `fa-solid fa-${icon}`;\n }\n\n /**\n * Debounced save to avoid too many writes\n */\n private debouncedSave(): void {\n if (this.saveTimeout) {\n clearTimeout(this.saveTimeout);\n }\n this.saveTimeout = setTimeout(() => {\n this.saveState();\n }, 1000);\n }\n\n /**\n * Save state to UserSetting using UserInfoEngine for cached lookup\n */\n private async saveState(): Promise<void> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return;\n\n const settingKey = this.getSettingKey();\n const md = this.Provider;\n const engine = UserInfoEngine.Instance;\n\n // Find existing setting from cached user settings\n let setting = engine.UserSettings.find(s => s.Setting === settingKey);\n\n if (!setting) {\n // Create new setting if not found\n setting = await md.GetEntityObject<MJUserSettingEntity>('MJ: User Settings');\n setting.UserID = userId;\n setting.Setting = settingKey;\n }\n\n setting.Value = JSON.stringify(this.state$.value);\n await setting.Save();\n } catch (error) {\n console.warn('Failed to save Data Explorer state:', error);\n }\n }\n\n /**\n * Navigate to a specific breadcrumb level.\n * Clears any selection deeper than the clicked breadcrumb.\n */\n NavigateToBreadcrumb(breadcrumb: BreadcrumbItem): void {\n switch (breadcrumb.type) {\n case 'application':\n // Clear entity and record selection (show home view)\n this.UpdateState({\n selectedEntityName: null,\n selectedViewId: null,\n selectedRecordId: null,\n selectedRecordName: null,\n smartFilterPrompt: '',\n detailPanelOpen: false\n });\n break;\n\n case 'entity':\n // Keep entity selected, clear record selection\n if (breadcrumb.entityName) {\n this.UpdateState({\n selectedRecordId: null,\n selectedRecordName: null,\n detailPanelOpen: false\n });\n }\n break;\n\n case 'record':\n // Already at record level, do nothing\n break;\n }\n }\n\n /** @deprecated Use {@link NavigateToBreadcrumb}. */\n navigateToBreadcrumb(breadcrumb: BreadcrumbItem): void {\n return this.NavigateToBreadcrumb(breadcrumb);\n }\n\n // ========================================\n // HOME SCREEN ENTITY MANAGEMENT\n // ========================================\n\n /**\n * Toggle between showing all entities or just common (DefaultForNewUser) entities\n */\n ToggleShowAllEntities(): void {\n this.UpdateState({ showAllEntities: !this.state$.value.showAllEntities });\n }\n\n /** @deprecated Use {@link ToggleShowAllEntities}. */\n toggleShowAllEntities(): void {\n return this.ToggleShowAllEntities();\n }\n\n // ========================================\n // Concept D: Application Groups + Quick Access\n // ========================================\n\n /**\n * Toggle the quick access (right) panel open/closed\n */\n ToggleQuickAccessPanel(): void {\n this.UpdateState({ quickAccessPanelOpen: !this.state$.value.quickAccessPanelOpen });\n }\n\n /** @deprecated Use {@link ToggleQuickAccessPanel}. */\n toggleQuickAccessPanel(): void {\n return this.ToggleQuickAccessPanel();\n }\n\n /**\n * Toggle a quick access section's expanded state\n */\n ToggleQuickAccessSection(sectionId: string): void {\n const sections = { ...this.state$.value.quickAccessSections };\n sections[sectionId] = sections[sectionId] === false; // default to expanded (true)\n this.UpdateState({ quickAccessSections: sections });\n }\n\n /** @deprecated Use {@link ToggleQuickAccessSection}. */\n toggleQuickAccessSection(sectionId: string): void {\n return this.ToggleQuickAccessSection(sectionId);\n }\n\n /**\n * Toggle an application group's expanded/collapsed state\n */\n ToggleAppGroupExpanded(appId: string): void {\n const expanded = [...this.state$.value.expandedAppGroups];\n const index = expanded.indexOf(appId);\n if (index >= 0) {\n expanded.splice(index, 1);\n } else {\n expanded.push(appId);\n }\n this.UpdateState({ expandedAppGroups: expanded });\n }\n\n /** @deprecated Use {@link ToggleAppGroupExpanded}. */\n toggleAppGroupExpanded(appId: string): void {\n return this.ToggleAppGroupExpanded(appId);\n }\n\n /**\n * Set the home view mode (all vs favorites)\n */\n SetHomeViewMode(mode: 'all' | 'favorites'): void {\n this.UpdateState({ homeViewMode: mode });\n }\n\n /** @deprecated Use {@link SetHomeViewMode}. */\n setHomeViewMode(mode: 'all' | 'favorites'): void {\n return this.SetHomeViewMode(mode);\n }\n\n /**\n * Track entity access - called when user navigates to an entity\n */\n TrackEntityAccess(entityName: string, entityId: string): void {\n const recentEntityAccesses = [...this.state$.value.recentEntityAccesses];\n\n // Find existing entry\n const existingIndex = recentEntityAccesses.findIndex(r => r.entityId === entityId);\n\n if (existingIndex >= 0) {\n // Update existing entry\n recentEntityAccesses[existingIndex] = {\n ...recentEntityAccesses[existingIndex],\n lastAccessed: new Date(),\n accessCount: recentEntityAccesses[existingIndex].accessCount + 1\n };\n // Move to front\n const [item] = recentEntityAccesses.splice(existingIndex, 1);\n recentEntityAccesses.unshift(item);\n } else {\n // Add new entry at front\n recentEntityAccesses.unshift({\n entityName,\n entityId,\n lastAccessed: new Date(),\n accessCount: 1\n });\n }\n\n // Trim to max size\n if (recentEntityAccesses.length > MAX_RECENT_ENTITIES) {\n recentEntityAccesses.length = MAX_RECENT_ENTITIES;\n }\n\n this.UpdateState({ recentEntityAccesses });\n }\n\n /** @deprecated Use {@link TrackEntityAccess}. */\n trackEntityAccess(entityName: string, entityId: string): void {\n return this.TrackEntityAccess(entityName, entityId);\n }\n\n /**\n * Add entity to favorites using User Favorites entity\n */\n async AddEntityToFavorites(entityName: string, entityId: string): Promise<boolean> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return false;\n\n // Check if already favorited\n const favorites = this.state$.value.favoriteEntities;\n if (favorites.some(f => f.entityId === entityId)) {\n return true; // Already favorited\n }\n\n // Get the Entities entity ID for favoriting\n const entitiesEntity = this.metadata.Entities.find(e => e.Name === 'MJ: Entities');\n if (!entitiesEntity) return false;\n\n // Create User Favorite record\n const md = this.Provider;\n const favorite = await md.GetEntityObject<MJUserFavoriteEntity>('MJ: User Favorites');\n favorite.UserID = userId;\n favorite.EntityID = entitiesEntity.ID;\n favorite.RecordID = entityId;\n\n const saved = await favorite.Save();\n if (saved) {\n // Update local state\n const favoriteEntities = [...favorites, {\n userFavoriteId: favorite.ID,\n entityName,\n entityId\n }];\n this.UpdateState({ favoriteEntities });\n }\n return saved;\n } catch (error) {\n console.warn('Failed to add entity to favorites:', error);\n return false;\n }\n }\n\n /** @deprecated Use {@link AddEntityToFavorites}. */\n async addEntityToFavorites(entityName: string, entityId: string): Promise<boolean> {\n return this.AddEntityToFavorites(entityName, entityId);\n }\n\n /**\n * Remove entity from favorites\n */\n async RemoveEntityFromFavorites(entityId: string): Promise<boolean> {\n try {\n const favorites = this.state$.value.favoriteEntities;\n const favorite = favorites.find(f => f.entityId === entityId);\n if (!favorite) return true; // Already not favorited\n\n // Delete User Favorite record\n const md = this.Provider;\n const favoriteEntity = await md.GetEntityObject<MJUserFavoriteEntity>('MJ: User Favorites');\n await favoriteEntity.Load(favorite.userFavoriteId);\n const deleted = await favoriteEntity.Delete();\n\n if (deleted) {\n // Update local state\n const favoriteEntities = favorites.filter(f => f.entityId !== entityId);\n this.UpdateState({ favoriteEntities });\n }\n return deleted;\n } catch (error) {\n console.warn('Failed to remove entity from favorites:', error);\n return false;\n }\n }\n\n /** @deprecated Use {@link RemoveEntityFromFavorites}. */\n async removeEntityFromFavorites(entityId: string): Promise<boolean> {\n return this.RemoveEntityFromFavorites(entityId);\n }\n\n /**\n * Check if an entity is favorited\n */\n IsEntityFavorited(entityId: string): boolean {\n return this.state$.value.favoriteEntities.some(f => f.entityId === entityId);\n }\n\n /** @deprecated Use {@link IsEntityFavorited}. */\n isEntityFavorited(entityId: string): boolean {\n return this.IsEntityFavorited(entityId);\n }\n\n /**\n * Load application entities with DefaultForNewUser information\n */\n private async loadApplicationEntities(): Promise<void> {\n try {\n if (!this.currentFilter?.applicationId) {\n this.applicationEntities = [];\n this.defaultEntityIds.clear();\n return;\n }\n\n const rv = RunView.FromMetadataProvider(this.Provider);\n const result = await rv.RunView<MJApplicationEntityEntity>({\n EntityName: 'MJ: Application Entities',\n ExtraFilter: `ApplicationID = '${this.currentFilter.applicationId}'`,\n ResultType: 'entity_object'\n });\n\n if (result.Success && result.Results) {\n this.applicationEntities = result.Results;\n this.defaultEntityIds.clear();\n for (const appEntity of result.Results) {\n if (appEntity.DefaultForNewUser) {\n this.defaultEntityIds.add(appEntity.EntityID);\n }\n }\n }\n } catch (error) {\n console.warn('Failed to load application entities:', error);\n }\n }\n\n /**\n * Load favorite entities from User Favorites using UserInfoEngine\n */\n private async loadFavoriteEntities(): Promise<void> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return;\n\n // Get the Entities entity to filter favorites\n const entitiesEntity = this.metadata.Entities.find(e => e.Name === 'MJ: Entities');\n if (!entitiesEntity) return;\n\n // Use UserInfoEngine for cached access to user favorites\n const engine = UserInfoEngine.Instance;\n\n // Filter to only entity favorites (where EntityID is the Entities entity)\n const entityFavorites = engine.UserFavorites.filter(f => UUIDsEqual(f.EntityID, entitiesEntity.ID));\n\n const favoriteEntities: FavoriteEntity[] = [];\n for (const fav of entityFavorites) {\n // Look up entity name from RecordID (which is the Entity.ID)\n const entity = this.metadata.Entities.find(e => UUIDsEqual(e.ID, fav.RecordID));\n if (entity) {\n favoriteEntities.push({\n userFavoriteId: fav.ID,\n entityName: entity.Name,\n entityId: fav.RecordID\n });\n }\n }\n this.UpdateState({ favoriteEntities });\n } catch (error) {\n console.warn('Failed to load favorite entities:', error);\n }\n }\n\n /**\n * Load recent records from User Record Logs with batch record name lookup using UserInfoEngine\n */\n private async loadRecentRecords(): Promise<void> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return;\n\n // Use UserInfoEngine for cached access to user record logs\n const engine = UserInfoEngine.Instance;\n\n // Get recent records, limited to MAX_RECENT_RECORDS\n const userRecordLogs = engine.UserRecordLogs.slice(0, MAX_RECENT_RECORDS);\n\n const recentRecords: RecentRecordAccess[] = [];\n const recordNameInputs: EntityRecordNameInput[] = [];\n const recordIndexMap: Map<string, number> = new Map(); // Map composite key to array index\n\n for (const log of userRecordLogs) {\n // Look up entity name from EntityID\n const entity = this.metadata.Entities.find(e => UUIDsEqual(e.ID, log.EntityID));\n if (entity) {\n // Filter by application context if applicable\n if (this.currentFilter?.applicationId && !this.applicationEntities.some(ae => UUIDsEqual(ae.EntityID, log.EntityID))) {\n continue; // Skip records from entities not in this application\n }\n\n const recordAccess: RecentRecordAccess = {\n entityName: entity.Name,\n entityId: log.EntityID,\n recordId: log.RecordID,\n latestAt: log.LatestAt,\n totalCount: log.TotalCount\n };\n const index = recentRecords.length;\n recentRecords.push(recordAccess);\n\n // Build composite key for batch name lookup\n const compositeKey = this.buildCompositeKeyForRecord(entity.Name, log.RecordID);\n if (compositeKey) {\n recordNameInputs.push({ EntityName: entity.Name, CompositeKey: compositeKey });\n // Use the canonical concatenated string as the map key for consistent matching\n recordIndexMap.set(`${entity.Name}||${compositeKey.ToConcatenatedString()}`, index);\n }\n }\n }\n\n // Batch fetch record names\n if (recordNameInputs.length > 0) {\n try {\n const nameResults = await this.metadata.GetEntityRecordNames(recordNameInputs);\n for (const nameResult of nameResults) {\n if (nameResult.Success && nameResult.RecordName) {\n const key = `${nameResult.EntityName}||${nameResult.CompositeKey.ToConcatenatedString()}`;\n const index = recordIndexMap.get(key);\n if (index !== undefined) {\n recentRecords[index].recordName = nameResult.RecordName;\n }\n }\n }\n } catch (nameError) {\n console.warn('Failed to load record names:', nameError);\n // Continue without names - they'll show record IDs\n }\n }\n\n this.recentRecords$.next(recentRecords);\n } catch (error) {\n console.warn('Failed to load recent records:', 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 * Detects the format and constructs the key accordingly.\n */\n private buildCompositeKeyForRecord(entityName: string, recordId: string): CompositeKey | null {\n if (!recordId) return null;\n const entityInfo = this.metadata.Entities.find(e => e.Name === entityName);\n // A plain value can only be resolved against the entity's real key column(s)\n if (!entityInfo && !recordId.includes(CompositeKey.DefaultValueDelimiter)) return null;\n const compositeKey = CompositeKey.FromURLSegment(entityInfo, recordId);\n return compositeKey.KeyValuePairs.length > 0 ? compositeKey : null;\n }\n\n /**\n * Refresh recent records (call after navigating to a record)\n */\n async RefreshRecentRecords(): Promise<void> {\n await this.loadRecentRecords();\n }\n\n /** @deprecated Use {@link RefreshRecentRecords}. */\n async refreshRecentRecords(): Promise<void> {\n return this.RefreshRecentRecords();\n }\n\n /**\n * Add or update a recent record locally (without DB refresh).\n * Call this when a record is selected to provide instant UI feedback.\n * The DB write happens separately via RecentAccessService.logAccess().\n *\n * @param entityName The entity name\n * @param entityId The entity ID\n * @param recordId The record ID (primary key value)\n * @param recordName Optional display name for the record\n */\n AddLocalRecentRecord(entityName: string, entityId: string, recordId: string, recordName?: string): void {\n // Filter by application context if applicable\n if (this.currentFilter?.applicationId && !this.applicationEntities.some(ae => UUIDsEqual(ae.EntityID, entityId))) {\n return; // Don't add records from entities not in this application\n }\n\n const currentRecords = [...this.recentRecords$.value];\n\n // Find existing entry\n const existingIndex = currentRecords.findIndex(\n r => r.entityId === entityId && r.recordId === recordId\n );\n\n const newRecord: RecentRecordAccess = {\n entityName,\n entityId,\n recordId,\n recordName,\n latestAt: new Date(),\n totalCount: existingIndex >= 0 ? currentRecords[existingIndex].totalCount + 1 : 1\n };\n\n if (existingIndex >= 0) {\n // Remove existing entry (will be re-added at front)\n currentRecords.splice(existingIndex, 1);\n }\n\n // Add to front\n currentRecords.unshift(newRecord);\n\n // Trim to max size\n if (currentRecords.length > MAX_RECENT_RECORDS) {\n currentRecords.length = MAX_RECENT_RECORDS;\n }\n\n this.recentRecords$.next(currentRecords);\n }\n\n /** @deprecated Use {@link AddLocalRecentRecord}. */\n addLocalRecentRecord(entityName: string, entityId: string, recordId: string, recordName?: string): void {\n return this.AddLocalRecentRecord(entityName, entityId, recordId, recordName);\n }\n\n /**\n * Load favorite records from User Favorites (non-entity favorites) with batch record name lookup using UserInfoEngine.\n * Filters to only include records from entities in the current application context.\n */\n private async loadFavoriteRecords(): Promise<void> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return;\n\n // Get the Entities entity to exclude entity favorites\n const entitiesEntity = this.metadata.Entities.find(e => e.Name === 'MJ: Entities');\n const entitiesEntityId = entitiesEntity?.ID || '';\n\n // Use UserInfoEngine for cached access to user favorites\n const engine = UserInfoEngine.Instance;\n\n // Filter to non-entity favorites (exclude favorites where EntityID is the Entities entity)\n const nonEntityFavorites = engine.UserFavorites.filter(f => !UUIDsEqual(f.EntityID, entitiesEntityId));\n\n const favoriteRecords: FavoriteRecord[] = [];\n const recordNameInputs: EntityRecordNameInput[] = [];\n const recordIndexMap: Map<string, number> = new Map();\n\n for (const fav of nonEntityFavorites) {\n // Look up entity info from the EntityID\n const entity = this.metadata.Entities.find(e => UUIDsEqual(e.ID, fav.EntityID));\n if (entity) {\n // Filter by application context if applicable\n if (this.currentFilter?.applicationId && !this.applicationEntities.some(ae => UUIDsEqual(ae.EntityID, fav.EntityID))) {\n continue; // Skip records from entities not in this application\n }\n\n const favoriteRecord: FavoriteRecord = {\n userFavoriteId: fav.ID,\n entityName: entity.Name,\n entityId: fav.EntityID,\n recordId: fav.RecordID\n };\n const index = favoriteRecords.length;\n favoriteRecords.push(favoriteRecord);\n\n // Build composite key for batch name lookup\n const compositeKey = this.buildCompositeKeyForRecord(entity.Name, fav.RecordID);\n if (compositeKey) {\n recordNameInputs.push({ EntityName: entity.Name, CompositeKey: compositeKey });\n // Use the canonical concatenated string as the map key for consistent matching\n recordIndexMap.set(`${entity.Name}||${compositeKey.ToConcatenatedString()}`, index);\n }\n }\n }\n\n // Batch fetch record names\n if (recordNameInputs.length > 0) {\n try {\n const nameResults = await this.metadata.GetEntityRecordNames(recordNameInputs);\n for (const nameResult of nameResults) {\n if (nameResult.Success && nameResult.RecordName) {\n const key = `${nameResult.EntityName}||${nameResult.CompositeKey.ToConcatenatedString()}`;\n const index = recordIndexMap.get(key);\n if (index !== undefined) {\n favoriteRecords[index].recordName = nameResult.RecordName;\n }\n }\n }\n } catch (nameError) {\n console.warn('Failed to load record names for favorites:', nameError);\n // Continue without names - they'll show record IDs\n }\n }\n\n this.favoriteRecords$.next(favoriteRecords);\n this.UpdateState({ favoriteRecords });\n } catch (error) {\n console.warn('Failed to load favorite records:', error);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"explorer-state.service.js","sourceRoot":"","sources":["../../../src/DataExplorer/services/explorer-state.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Metadata, RunView, CompositeKey, EntityRecordNameInput, IMetadataProvider } from '@memberjunction/core';\nimport { MJUserSettingEntity, MJUserFavoriteEntity, MJApplicationEntityEntity, UserInfoEngine } from '@memberjunction/core-entities';\nimport { DataExplorerState, DEFAULT_EXPLORER_STATE, RecentItem, FavoriteItem, EntityCacheEntry, BreadcrumbItem, DataExplorerFilter, FavoriteEntity, RecentRecordAccess, FavoriteRecord, DataExplorerViewMode } from '../models/explorer-state.interface';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nconst BASE_SETTING_KEY = 'DataExplorer.State';\nconst MAX_RECENT_ITEMS = 20;\nconst MAX_RECENT_ENTITIES = 10;\nconst MAX_RECENT_RECORDS = 10;\nconst MAX_ENTITY_CACHE_SIZE = 50; // LRU cache limit\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExplorerStateService {\n private state$ = new BehaviorSubject<DataExplorerState>(DEFAULT_EXPLORER_STATE);\n private _provider: IMetadataProvider | null = null;\n /** Set the metadata provider this service should use. Components should call this after injection. */\n public set Provider(value: IMetadataProvider | null) {\n this._provider = value;\n }\n public get Provider(): IMetadataProvider {\n return this._provider ?? Metadata.Provider;\n }\n private get metadata(): IMetadataProvider {\n return this.Provider;\n }\n private saveTimeout: ReturnType<typeof setTimeout> | null = null;\n\n /** Current context filter (determines which settings key to use) */\n private currentFilter: DataExplorerFilter | null = null;\n\n /** Computed breadcrumbs based on current state */\n private breadcrumbs$ = new BehaviorSubject<BreadcrumbItem[]>([]);\n\n /** Recent records loaded from User Record Logs */\n private recentRecords$ = new BehaviorSubject<RecentRecordAccess[]>([]);\n\n /** Favorite records loaded from User Favorites (non-entity favorites) */\n private favoriteRecords$ = new BehaviorSubject<FavoriteRecord[]>([]);\n\n /** Application entities with DefaultForNewUser info (loaded once per context) */\n private applicationEntities: MJApplicationEntityEntity[] = [];\n\n /** Set of entity IDs that have DefaultForNewUser=true */\n private defaultEntityIds = new Set<string>();\n\n constructor() {\n // Don't load state in constructor - wait for setContext to be called\n }\n\n /**\n * Set the context filter and load context-specific state.\n * Call this before using the service to ensure proper context isolation.\n */\n async SetContext(filter: DataExplorerFilter | null): Promise<void> {\n this.currentFilter = filter;\n await this.loadState();\n // Load application entities first (needed for filtering recent/favorite records)\n await this.loadApplicationEntities();\n // Then load the rest in parallel\n await Promise.all([\n this.loadFavoriteEntities(),\n this.loadFavoriteRecords(),\n this.loadRecentRecords()\n ]);\n this.updateBreadcrumbs();\n }\n\n /** @deprecated Use {@link SetContext}. */\n async setContext(filter: DataExplorerFilter | null): Promise<void> {\n return this.SetContext(filter);\n }\n\n /**\n * Get the storage key based on current context.\n * Uses application ID if available for context-specific storage.\n */\n private getSettingKey(): string {\n if (this.currentFilter?.applicationId) {\n return `${BASE_SETTING_KEY}.${this.currentFilter.applicationId}`;\n }\n return BASE_SETTING_KEY;\n }\n\n /**\n * Get observable of current state\n */\n get State(): Observable<DataExplorerState> {\n return this.state$.asObservable();\n }\n\n /**\n * Get current state value\n */\n get CurrentState(): DataExplorerState {\n return this.state$.value;\n }\n\n /**\n * Observable of current breadcrumbs\n */\n get Breadcrumbs(): Observable<BreadcrumbItem[]> {\n return this.breadcrumbs$.asObservable();\n }\n\n /**\n * Get current breadcrumbs value\n */\n get CurrentBreadcrumbs(): BreadcrumbItem[] {\n return this.breadcrumbs$.value;\n }\n\n /**\n * Get the current context filter\n */\n get CurrentFilter(): DataExplorerFilter | null {\n return this.currentFilter;\n }\n\n /**\n * Observable of recent records (from User Record Logs)\n */\n get RecentRecords(): Observable<RecentRecordAccess[]> {\n return this.recentRecords$.asObservable();\n }\n\n /**\n * Get current recent records value\n */\n get CurrentRecentRecords(): RecentRecordAccess[] {\n return this.recentRecords$.value;\n }\n\n /**\n * Observable of favorite records (from User Favorites, non-entity)\n */\n get FavoriteRecords(): Observable<FavoriteRecord[]> {\n return this.favoriteRecords$.asObservable();\n }\n\n /**\n * Get current favorite records value\n */\n get CurrentFavoriteRecords(): FavoriteRecord[] {\n return this.favoriteRecords$.value;\n }\n\n /**\n * Get the set of entity IDs with DefaultForNewUser=true\n */\n get DefaultEntityIds(): Set<string> {\n return this.defaultEntityIds;\n }\n\n /**\n * Update state partially\n */\n UpdateState(partial: Partial<DataExplorerState>): void {\n const newState = { ...this.state$.value, ...partial };\n this.state$.next(newState);\n this.updateBreadcrumbs();\n this.debouncedSave();\n }\n\n /** @deprecated Use {@link UpdateState}. */\n updateState(partial: Partial<DataExplorerState>): void {\n return this.UpdateState(partial);\n }\n\n /**\n * Set selected entity\n * Caches current entity's filter before switching, restores new entity's cached filter\n */\n SelectEntity(entityName: string | null): void {\n const currentState = this.state$.value;\n const entityCache = { ...currentState.entityCache };\n\n // Cache current entity's filter before switching (if we have a current entity)\n if (currentState.selectedEntityName && currentState.smartFilterPrompt) {\n entityCache[currentState.selectedEntityName] = {\n filterText: currentState.smartFilterPrompt,\n lastAccessed: Date.now()\n };\n }\n\n // Restore filter for new entity (if cached) or clear it\n let restoredFilter = '';\n if (entityName && entityCache[entityName]) {\n restoredFilter = entityCache[entityName].filterText;\n entityCache[entityName].lastAccessed = Date.now();\n }\n\n // Evict old entries if cache is too large (LRU)\n this.evictOldCacheEntries(entityCache);\n\n this.UpdateState({\n selectedEntityName: entityName,\n selectedViewId: null, // Reset view when entity changes\n smartFilterPrompt: restoredFilter, // Restore cached filter or empty\n selectedRecordId: null,\n detailPanelOpen: false,\n entityCache\n });\n }\n\n /** @deprecated Use {@link SelectEntity}. */\n selectEntity(entityName: string | null): void {\n return this.SelectEntity(entityName);\n }\n\n /**\n * Evict oldest cache entries if over limit (LRU eviction)\n */\n private evictOldCacheEntries(cache: Record<string, EntityCacheEntry>): void {\n const entries = Object.entries(cache);\n if (entries.length <= MAX_ENTITY_CACHE_SIZE) return;\n\n // Sort by lastAccessed (oldest first) and remove excess\n entries.sort((a, b) => a[1].lastAccessed - b[1].lastAccessed);\n const toRemove = entries.length - MAX_ENTITY_CACHE_SIZE;\n for (let i = 0; i < toRemove; i++) {\n delete cache[entries[i][0]];\n }\n }\n\n /**\n * Set selected view\n */\n SelectView(viewId: string | null): void {\n this.UpdateState({\n selectedViewId: viewId,\n viewModified: false // Reset modified state when selecting a different view\n });\n }\n\n /** @deprecated Use {@link SelectView}. */\n selectView(viewId: string | null): void {\n return this.SelectView(viewId);\n }\n\n /**\n * Mark the current view as modified (has unsaved changes)\n */\n SetViewModified(modified: boolean): void {\n this.UpdateState({ viewModified: modified });\n }\n\n /** @deprecated Use {@link SetViewModified}. */\n setViewModified(modified: boolean): void {\n return this.SetViewModified(modified);\n }\n\n /**\n * Toggle the view configuration panel\n */\n ToggleViewConfigPanel(): void {\n this.UpdateState({ viewConfigPanelOpen: !this.state$.value.viewConfigPanelOpen });\n }\n\n /** @deprecated Use {@link ToggleViewConfigPanel}. */\n toggleViewConfigPanel(): void {\n return this.ToggleViewConfigPanel();\n }\n\n /**\n * Open the view configuration panel\n */\n OpenViewConfigPanel(): void {\n this.UpdateState({ viewConfigPanelOpen: true });\n }\n\n /** @deprecated Use {@link OpenViewConfigPanel}. */\n openViewConfigPanel(): void {\n return this.OpenViewConfigPanel();\n }\n\n /**\n * Close the view configuration panel\n */\n CloseViewConfigPanel(): void {\n this.UpdateState({ viewConfigPanelOpen: false });\n }\n\n /** @deprecated Use {@link CloseViewConfigPanel}. */\n closeViewConfigPanel(): void {\n return this.CloseViewConfigPanel();\n }\n\n /**\n * Set view mode\n */\n SetViewMode(mode: DataExplorerViewMode): void {\n this.UpdateState({ viewMode: mode });\n }\n\n /** @deprecated Use {@link SetViewMode}. */\n setViewMode(mode: DataExplorerViewMode): void {\n return this.SetViewMode(mode);\n }\n\n /**\n * Set smart filter prompt\n * Also updates the entity cache for the current entity\n */\n SetSmartFilterPrompt(prompt: string): void {\n const currentState = this.state$.value;\n const entityCache = { ...currentState.entityCache };\n\n // Update cache for current entity\n if (currentState.selectedEntityName) {\n if (prompt) {\n entityCache[currentState.selectedEntityName] = {\n filterText: prompt,\n lastAccessed: Date.now()\n };\n } else {\n // Clear cache entry if filter is empty\n delete entityCache[currentState.selectedEntityName];\n }\n }\n\n this.UpdateState({ smartFilterPrompt: prompt, entityCache });\n }\n\n /** @deprecated Use {@link SetSmartFilterPrompt}. */\n setSmartFilterPrompt(prompt: string): void {\n return this.SetSmartFilterPrompt(prompt);\n }\n\n /**\n * Select a record and open detail panel\n * @param recordId The composite key string for the record\n * @param recordName Optional display name for the record (for breadcrumbs)\n */\n SelectRecord(recordId: string | null, recordName?: string): void {\n this.UpdateState({\n selectedRecordId: recordId,\n selectedRecordName: recordName || null,\n detailPanelOpen: recordId !== null\n });\n }\n\n /** @deprecated Use {@link SelectRecord}. */\n selectRecord(recordId: string | null, recordName?: string): void {\n return this.SelectRecord(recordId, recordName);\n }\n\n /**\n * Close detail panel\n */\n CloseDetailPanel(): void {\n this.UpdateState({\n detailPanelOpen: false,\n selectedRecordId: null,\n selectedRecordName: null\n });\n }\n\n /** @deprecated Use {@link CloseDetailPanel}. */\n closeDetailPanel(): void {\n return this.CloseDetailPanel();\n }\n\n /**\n * Toggle navigation panel collapsed state\n */\n ToggleNavigationPanel(): void {\n this.UpdateState({\n navigationPanelCollapsed: !this.state$.value.navigationPanelCollapsed\n });\n }\n\n /** @deprecated Use {@link ToggleNavigationPanel}. */\n toggleNavigationPanel(): void {\n return this.ToggleNavigationPanel();\n }\n\n /**\n * Expand navigation panel and ensure a specific section is expanded\n */\n ExpandAndFocusSection(section: 'favorites' | 'recent' | 'entities'): void {\n const updates: Partial<DataExplorerState> = {\n navigationPanelCollapsed: false\n };\n\n // Ensure the target section is expanded\n switch (section) {\n case 'favorites':\n updates.favoritesSectionExpanded = true;\n break;\n case 'recent':\n updates.recentSectionExpanded = true;\n break;\n case 'entities':\n updates.entitiesSectionExpanded = true;\n break;\n }\n\n this.UpdateState(updates);\n }\n\n /** @deprecated Use {@link ExpandAndFocusSection}. */\n expandAndFocusSection(section: 'favorites' | 'recent' | 'entities'): void {\n return this.ExpandAndFocusSection(section);\n }\n\n /**\n * Add item to recent history\n */\n AddRecentItem(item: Omit<RecentItem, 'timestamp'>): void {\n const recentItems = [...this.state$.value.recentItems];\n\n // Remove existing entry if present (match by entity and composite key)\n const existingIndex = recentItems.findIndex(\n r => r.entityName === item.entityName && r.compositeKeyString === item.compositeKeyString\n );\n if (existingIndex >= 0) {\n recentItems.splice(existingIndex, 1);\n }\n\n // Add to front with timestamp\n recentItems.unshift({\n ...item,\n timestamp: new Date()\n });\n\n // Trim to max size\n if (recentItems.length > MAX_RECENT_ITEMS) {\n recentItems.length = MAX_RECENT_ITEMS;\n }\n\n this.UpdateState({ recentItems });\n }\n\n /** @deprecated Use {@link AddRecentItem}. */\n addRecentItem(item: Omit<RecentItem, 'timestamp'>): void {\n return this.AddRecentItem(item);\n }\n\n /**\n * Add item to favorites\n */\n AddFavorite(item: FavoriteItem): void {\n const favorites = [...this.state$.value.favorites];\n\n // Check if already exists\n const exists = favorites.some(f =>\n f.type === item.type &&\n f.entityName === item.entityName &&\n f.compositeKeyString === item.compositeKeyString &&\n f.viewId === item.viewId\n );\n\n if (!exists) {\n favorites.push(item);\n this.UpdateState({ favorites });\n }\n }\n\n /** @deprecated Use {@link AddFavorite}. */\n addFavorite(item: FavoriteItem): void {\n return this.AddFavorite(item);\n }\n\n /**\n * Remove item from favorites\n */\n RemoveFavorite(item: FavoriteItem): void {\n const favorites = this.state$.value.favorites.filter(f =>\n !(f.type === item.type &&\n f.entityName === item.entityName &&\n f.compositeKeyString === item.compositeKeyString &&\n f.viewId === item.viewId)\n );\n this.UpdateState({ favorites });\n }\n\n /** @deprecated Use {@link RemoveFavorite}. */\n removeFavorite(item: FavoriteItem): void {\n return this.RemoveFavorite(item);\n }\n\n /**\n * Toggle section expanded state\n */\n ToggleSection(section: 'favorites' | 'recent' | 'entities' | 'views'): void {\n const key = `${section}SectionExpanded` as keyof DataExplorerState;\n this.UpdateState({ [key]: !this.state$.value[key] } as Partial<DataExplorerState>);\n }\n\n /** @deprecated Use {@link ToggleSection}. */\n toggleSection(section: 'favorites' | 'recent' | 'entities' | 'views'): void {\n return this.ToggleSection(section);\n }\n\n /**\n * Load state from UserSetting using UserInfoEngine for cached access\n */\n private async loadState(): Promise<void> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return;\n\n const settingKey = this.getSettingKey();\n const engine = UserInfoEngine.Instance;\n\n // Find the setting from cached user settings\n const setting = engine.UserSettings.find(s => s.Setting === settingKey);\n\n if (setting?.Value) {\n const savedState = JSON.parse(setting.Value) as Partial<DataExplorerState>;\n // Merge with defaults to handle new properties\n this.state$.next({ ...DEFAULT_EXPLORER_STATE, ...savedState });\n } else {\n // No saved state, use defaults\n this.state$.next({ ...DEFAULT_EXPLORER_STATE });\n }\n } catch (error) {\n console.warn('Failed to load Data Explorer state:', error);\n this.state$.next({ ...DEFAULT_EXPLORER_STATE });\n }\n }\n\n /**\n * Update breadcrumbs based on current state and filter\n */\n private updateBreadcrumbs(): void {\n const breadcrumbs: BreadcrumbItem[] = [];\n const state = this.state$.value;\n\n // Always add a root/home breadcrumb - use application name if available, otherwise \"All\"\n const rootLabel = this.currentFilter?.applicationName || 'All';\n breadcrumbs.push({\n label: rootLabel,\n type: 'application',\n icon: 'fa-solid fa-th-large'\n });\n\n // Add entity breadcrumb if selected\n if (state.selectedEntityName) {\n const entityInfo = this.metadata.Entities.find(e => e.Name.toLowerCase() === state.selectedEntityName?.toLowerCase());\n breadcrumbs.push({\n label: entityInfo?.DisplayNameOrName || state.selectedEntityName,\n type: 'entity',\n entityName: state.selectedEntityName,\n icon: entityInfo?.Icon ? this.formatEntityIcon(entityInfo.Icon) : 'fa-solid fa-table'\n });\n }\n\n // Add record breadcrumb if selected\n if (state.selectedRecordId && state.selectedRecordName) {\n breadcrumbs.push({\n label: state.selectedRecordName,\n type: 'record',\n entityName: state.selectedEntityName || undefined,\n compositeKeyString: state.selectedRecordId,\n icon: 'fa-solid fa-file-alt'\n });\n }\n\n this.breadcrumbs$.next(breadcrumbs);\n }\n\n /**\n * Format entity icon to ensure proper Font Awesome class format\n */\n private formatEntityIcon(icon: string): string {\n if (!icon) return 'fa-solid fa-table';\n if (icon.startsWith('fa-') || icon.startsWith('fa ')) {\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 return `fa-solid ${icon}`;\n }\n return `fa-solid fa-${icon}`;\n }\n\n /**\n * Debounced save to avoid too many writes\n */\n private debouncedSave(): void {\n if (this.saveTimeout) {\n clearTimeout(this.saveTimeout);\n }\n this.saveTimeout = setTimeout(() => {\n this.saveState();\n }, 1000);\n }\n\n /**\n * Save state to UserSetting using UserInfoEngine for cached lookup\n */\n private async saveState(): Promise<void> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return;\n\n const settingKey = this.getSettingKey();\n const md = this.Provider;\n const engine = UserInfoEngine.Instance;\n\n // Find existing setting from cached user settings\n let setting = engine.UserSettings.find(s => s.Setting === settingKey);\n\n if (!setting) {\n // Create new setting if not found\n setting = await md.GetEntityObject<MJUserSettingEntity>('MJ: User Settings');\n setting.UserID = userId;\n setting.Setting = settingKey;\n }\n\n setting.Value = JSON.stringify(this.state$.value);\n await setting.Save();\n } catch (error) {\n console.warn('Failed to save Data Explorer state:', error);\n }\n }\n\n /**\n * Navigate to a specific breadcrumb level.\n * Clears any selection deeper than the clicked breadcrumb.\n */\n NavigateToBreadcrumb(breadcrumb: BreadcrumbItem): void {\n switch (breadcrumb.type) {\n case 'application':\n // Clear entity and record selection (show home view)\n this.UpdateState({\n selectedEntityName: null,\n selectedViewId: null,\n selectedRecordId: null,\n selectedRecordName: null,\n smartFilterPrompt: '',\n detailPanelOpen: false\n });\n break;\n\n case 'entity':\n // Keep entity selected, clear record selection\n if (breadcrumb.entityName) {\n this.UpdateState({\n selectedRecordId: null,\n selectedRecordName: null,\n detailPanelOpen: false\n });\n }\n break;\n\n case 'record':\n // Already at record level, do nothing\n break;\n }\n }\n\n /** @deprecated Use {@link NavigateToBreadcrumb}. */\n navigateToBreadcrumb(breadcrumb: BreadcrumbItem): void {\n return this.NavigateToBreadcrumb(breadcrumb);\n }\n\n // ========================================\n // HOME SCREEN ENTITY MANAGEMENT\n // ========================================\n\n /**\n * Toggle between showing all entities or just common (DefaultForNewUser) entities\n */\n ToggleShowAllEntities(): void {\n this.UpdateState({ showAllEntities: !this.state$.value.showAllEntities });\n }\n\n /** @deprecated Use {@link ToggleShowAllEntities}. */\n toggleShowAllEntities(): void {\n return this.ToggleShowAllEntities();\n }\n\n // ========================================\n // Concept D: Application Groups + Quick Access\n // ========================================\n\n /**\n * Toggle the quick access (right) panel open/closed\n */\n ToggleQuickAccessPanel(): void {\n this.UpdateState({ quickAccessPanelOpen: !this.state$.value.quickAccessPanelOpen });\n }\n\n /** @deprecated Use {@link ToggleQuickAccessPanel}. */\n toggleQuickAccessPanel(): void {\n return this.ToggleQuickAccessPanel();\n }\n\n /**\n * Toggle a quick access section's expanded state\n */\n ToggleQuickAccessSection(sectionId: string): void {\n const sections = { ...this.state$.value.quickAccessSections };\n sections[sectionId] = sections[sectionId] === false; // default to expanded (true)\n this.UpdateState({ quickAccessSections: sections });\n }\n\n /** @deprecated Use {@link ToggleQuickAccessSection}. */\n toggleQuickAccessSection(sectionId: string): void {\n return this.ToggleQuickAccessSection(sectionId);\n }\n\n /**\n * Toggle an application group's expanded/collapsed state\n */\n ToggleAppGroupExpanded(appId: string): void {\n const expanded = [...this.state$.value.expandedAppGroups];\n const index = expanded.indexOf(appId);\n if (index >= 0) {\n expanded.splice(index, 1);\n } else {\n expanded.push(appId);\n }\n this.UpdateState({ expandedAppGroups: expanded });\n }\n\n /** @deprecated Use {@link ToggleAppGroupExpanded}. */\n toggleAppGroupExpanded(appId: string): void {\n return this.ToggleAppGroupExpanded(appId);\n }\n\n /**\n * Set the home view mode (all vs favorites)\n */\n SetHomeViewMode(mode: 'all' | 'favorites'): void {\n this.UpdateState({ homeViewMode: mode });\n }\n\n /** @deprecated Use {@link SetHomeViewMode}. */\n setHomeViewMode(mode: 'all' | 'favorites'): void {\n return this.SetHomeViewMode(mode);\n }\n\n /**\n * Track entity access - called when user navigates to an entity\n */\n TrackEntityAccess(entityName: string, entityId: string): void {\n const recentEntityAccesses = [...this.state$.value.recentEntityAccesses];\n\n // Find existing entry\n const existingIndex = recentEntityAccesses.findIndex(r => r.entityId === entityId);\n\n if (existingIndex >= 0) {\n // Update existing entry\n recentEntityAccesses[existingIndex] = {\n ...recentEntityAccesses[existingIndex],\n lastAccessed: new Date(),\n accessCount: recentEntityAccesses[existingIndex].accessCount + 1\n };\n // Move to front\n const [item] = recentEntityAccesses.splice(existingIndex, 1);\n recentEntityAccesses.unshift(item);\n } else {\n // Add new entry at front\n recentEntityAccesses.unshift({\n entityName,\n entityId,\n lastAccessed: new Date(),\n accessCount: 1\n });\n }\n\n // Trim to max size\n if (recentEntityAccesses.length > MAX_RECENT_ENTITIES) {\n recentEntityAccesses.length = MAX_RECENT_ENTITIES;\n }\n\n this.UpdateState({ recentEntityAccesses });\n }\n\n /** @deprecated Use {@link TrackEntityAccess}. */\n trackEntityAccess(entityName: string, entityId: string): void {\n return this.TrackEntityAccess(entityName, entityId);\n }\n\n /**\n * Add entity to favorites using User Favorites entity\n */\n async AddEntityToFavorites(entityName: string, entityId: string): Promise<boolean> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return false;\n\n // Check if already favorited\n const favorites = this.state$.value.favoriteEntities;\n if (favorites.some(f => f.entityId === entityId)) {\n return true; // Already favorited\n }\n\n // Get the Entities entity ID for favoriting\n const entitiesEntity = this.metadata.Entities.find(e => e.Name === 'MJ: Entities');\n if (!entitiesEntity) return false;\n\n // Create User Favorite record\n const md = this.Provider;\n const favorite = await md.GetEntityObject<MJUserFavoriteEntity>('MJ: User Favorites');\n favorite.UserID = userId;\n favorite.EntityID = entitiesEntity.ID;\n favorite.RecordID = entityId;\n\n const saved = await favorite.Save();\n if (saved) {\n // Update local state\n const favoriteEntities = [...favorites, {\n userFavoriteId: favorite.ID,\n entityName,\n entityId\n }];\n this.UpdateState({ favoriteEntities });\n }\n return saved;\n } catch (error) {\n console.warn('Failed to add entity to favorites:', error);\n return false;\n }\n }\n\n /** @deprecated Use {@link AddEntityToFavorites}. */\n async addEntityToFavorites(entityName: string, entityId: string): Promise<boolean> {\n return this.AddEntityToFavorites(entityName, entityId);\n }\n\n /**\n * Remove entity from favorites\n */\n async RemoveEntityFromFavorites(entityId: string): Promise<boolean> {\n try {\n const favorites = this.state$.value.favoriteEntities;\n const favorite = favorites.find(f => f.entityId === entityId);\n if (!favorite) return true; // Already not favorited\n\n // Delete User Favorite record\n const md = this.Provider;\n const favoriteEntity = await md.GetEntityObject<MJUserFavoriteEntity>('MJ: User Favorites');\n await favoriteEntity.Load(favorite.userFavoriteId);\n const deleted = await favoriteEntity.Delete();\n\n if (deleted) {\n // Update local state\n const favoriteEntities = favorites.filter(f => f.entityId !== entityId);\n this.UpdateState({ favoriteEntities });\n }\n return deleted;\n } catch (error) {\n console.warn('Failed to remove entity from favorites:', error);\n return false;\n }\n }\n\n /** @deprecated Use {@link RemoveEntityFromFavorites}. */\n async removeEntityFromFavorites(entityId: string): Promise<boolean> {\n return this.RemoveEntityFromFavorites(entityId);\n }\n\n /**\n * Check if an entity is favorited\n */\n IsEntityFavorited(entityId: string): boolean {\n return this.state$.value.favoriteEntities.some(f => f.entityId === entityId);\n }\n\n /** @deprecated Use {@link IsEntityFavorited}. */\n isEntityFavorited(entityId: string): boolean {\n return this.IsEntityFavorited(entityId);\n }\n\n /**\n * Load application entities with DefaultForNewUser information\n */\n private async loadApplicationEntities(): Promise<void> {\n try {\n if (!this.currentFilter?.applicationId) {\n this.applicationEntities = [];\n this.defaultEntityIds.clear();\n return;\n }\n\n const rv = RunView.FromMetadataProvider(this.Provider);\n const result = await rv.RunView<MJApplicationEntityEntity>({\n EntityName: 'MJ: Application Entities',\n ExtraFilter: `ApplicationID = '${this.currentFilter.applicationId}'`,\n ResultType: 'entity_object'\n });\n\n if (result.Success && result.Results) {\n this.applicationEntities = result.Results;\n this.defaultEntityIds.clear();\n for (const appEntity of result.Results) {\n if (appEntity.DefaultForNewUser) {\n this.defaultEntityIds.add(appEntity.EntityID);\n }\n }\n }\n } catch (error) {\n console.warn('Failed to load application entities:', error);\n }\n }\n\n /**\n * Load favorite entities from User Favorites using UserInfoEngine\n */\n private async loadFavoriteEntities(): Promise<void> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return;\n\n // Get the Entities entity to filter favorites\n const entitiesEntity = this.metadata.Entities.find(e => e.Name === 'MJ: Entities');\n if (!entitiesEntity) return;\n\n // Use UserInfoEngine for cached access to user favorites\n const engine = UserInfoEngine.Instance;\n\n // Filter to only entity favorites (where EntityID is the Entities entity)\n const entityFavorites = engine.UserFavorites.filter(f => UUIDsEqual(f.EntityID, entitiesEntity.ID));\n\n const favoriteEntities: FavoriteEntity[] = [];\n for (const fav of entityFavorites) {\n // Look up entity name from RecordID (which is the Entity.ID)\n const entity = this.metadata.Entities.find(e => UUIDsEqual(e.ID, fav.RecordID));\n if (entity) {\n favoriteEntities.push({\n userFavoriteId: fav.ID,\n entityName: entity.Name,\n entityId: fav.RecordID\n });\n }\n }\n this.UpdateState({ favoriteEntities });\n } catch (error) {\n console.warn('Failed to load favorite entities:', error);\n }\n }\n\n /**\n * Load recent records from User Record Logs with batch record name lookup\n */\n private async loadRecentRecords(): Promise<void> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return;\n\n const userRecordLogs = await UserInfoEngine.Instance.LoadRecentRecordLogs(\n MAX_RECENT_RECORDS,\n this.metadata.CurrentUser,\n this.metadata,\n );\n\n const recentRecords: RecentRecordAccess[] = [];\n const recordNameInputs: EntityRecordNameInput[] = [];\n const recordIndexMap: Map<string, number> = new Map(); // Map composite key to array index\n\n for (const log of userRecordLogs) {\n // Look up entity name from EntityID\n const entity = this.metadata.Entities.find(e => UUIDsEqual(e.ID, log.EntityID));\n if (entity) {\n // Filter by application context if applicable\n if (this.currentFilter?.applicationId && !this.applicationEntities.some(ae => UUIDsEqual(ae.EntityID, log.EntityID))) {\n continue; // Skip records from entities not in this application\n }\n\n const recordAccess: RecentRecordAccess = {\n entityName: entity.Name,\n entityId: log.EntityID,\n recordId: log.RecordID,\n latestAt: log.LatestAt,\n totalCount: log.TotalCount\n };\n const index = recentRecords.length;\n recentRecords.push(recordAccess);\n\n // Build composite key for batch name lookup\n const compositeKey = this.buildCompositeKeyForRecord(entity.Name, log.RecordID);\n if (compositeKey) {\n recordNameInputs.push({ EntityName: entity.Name, CompositeKey: compositeKey });\n // Use the canonical concatenated string as the map key for consistent matching\n recordIndexMap.set(`${entity.Name}||${compositeKey.ToConcatenatedString()}`, index);\n }\n }\n }\n\n // Batch fetch record names\n if (recordNameInputs.length > 0) {\n try {\n const nameResults = await this.metadata.GetEntityRecordNames(recordNameInputs);\n for (const nameResult of nameResults) {\n if (nameResult.Success && nameResult.RecordName) {\n const key = `${nameResult.EntityName}||${nameResult.CompositeKey.ToConcatenatedString()}`;\n const index = recordIndexMap.get(key);\n if (index !== undefined) {\n recentRecords[index].recordName = nameResult.RecordName;\n }\n }\n }\n } catch (nameError) {\n console.warn('Failed to load record names:', nameError);\n // Continue without names - they'll show record IDs\n }\n }\n\n this.recentRecords$.next(recentRecords);\n } catch (error) {\n console.warn('Failed to load recent records:', 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 * Detects the format and constructs the key accordingly.\n */\n private buildCompositeKeyForRecord(entityName: string, recordId: string): CompositeKey | null {\n if (!recordId) return null;\n const entityInfo = this.metadata.Entities.find(e => e.Name === entityName);\n // A plain value can only be resolved against the entity's real key column(s)\n if (!entityInfo && !recordId.includes(CompositeKey.DefaultValueDelimiter)) return null;\n const compositeKey = CompositeKey.FromURLSegment(entityInfo, recordId);\n return compositeKey.KeyValuePairs.length > 0 ? compositeKey : null;\n }\n\n /**\n * Refresh recent records (call after navigating to a record)\n */\n async RefreshRecentRecords(): Promise<void> {\n await this.loadRecentRecords();\n }\n\n /** @deprecated Use {@link RefreshRecentRecords}. */\n async refreshRecentRecords(): Promise<void> {\n return this.RefreshRecentRecords();\n }\n\n /**\n * Add or update a recent record locally (without DB refresh).\n * Call this when a record is selected to provide instant UI feedback.\n * The DB write happens separately via RecentAccessService.logAccess().\n *\n * @param entityName The entity name\n * @param entityId The entity ID\n * @param recordId The record ID (primary key value)\n * @param recordName Optional display name for the record\n */\n AddLocalRecentRecord(entityName: string, entityId: string, recordId: string, recordName?: string): void {\n // Filter by application context if applicable\n if (this.currentFilter?.applicationId && !this.applicationEntities.some(ae => UUIDsEqual(ae.EntityID, entityId))) {\n return; // Don't add records from entities not in this application\n }\n\n const currentRecords = [...this.recentRecords$.value];\n\n // Find existing entry\n const existingIndex = currentRecords.findIndex(\n r => r.entityId === entityId && r.recordId === recordId\n );\n\n const newRecord: RecentRecordAccess = {\n entityName,\n entityId,\n recordId,\n recordName,\n latestAt: new Date(),\n totalCount: existingIndex >= 0 ? currentRecords[existingIndex].totalCount + 1 : 1\n };\n\n if (existingIndex >= 0) {\n // Remove existing entry (will be re-added at front)\n currentRecords.splice(existingIndex, 1);\n }\n\n // Add to front\n currentRecords.unshift(newRecord);\n\n // Trim to max size\n if (currentRecords.length > MAX_RECENT_RECORDS) {\n currentRecords.length = MAX_RECENT_RECORDS;\n }\n\n this.recentRecords$.next(currentRecords);\n }\n\n /** @deprecated Use {@link AddLocalRecentRecord}. */\n addLocalRecentRecord(entityName: string, entityId: string, recordId: string, recordName?: string): void {\n return this.AddLocalRecentRecord(entityName, entityId, recordId, recordName);\n }\n\n /**\n * Load favorite records from User Favorites (non-entity favorites) with batch record name lookup using UserInfoEngine.\n * Filters to only include records from entities in the current application context.\n */\n private async loadFavoriteRecords(): Promise<void> {\n try {\n const userId = this.metadata.CurrentUser?.ID;\n if (!userId) return;\n\n // Get the Entities entity to exclude entity favorites\n const entitiesEntity = this.metadata.Entities.find(e => e.Name === 'MJ: Entities');\n const entitiesEntityId = entitiesEntity?.ID || '';\n\n // Use UserInfoEngine for cached access to user favorites\n const engine = UserInfoEngine.Instance;\n\n // Filter to non-entity favorites (exclude favorites where EntityID is the Entities entity)\n const nonEntityFavorites = engine.UserFavorites.filter(f => !UUIDsEqual(f.EntityID, entitiesEntityId));\n\n const favoriteRecords: FavoriteRecord[] = [];\n const recordNameInputs: EntityRecordNameInput[] = [];\n const recordIndexMap: Map<string, number> = new Map();\n\n for (const fav of nonEntityFavorites) {\n // Look up entity info from the EntityID\n const entity = this.metadata.Entities.find(e => UUIDsEqual(e.ID, fav.EntityID));\n if (entity) {\n // Filter by application context if applicable\n if (this.currentFilter?.applicationId && !this.applicationEntities.some(ae => UUIDsEqual(ae.EntityID, fav.EntityID))) {\n continue; // Skip records from entities not in this application\n }\n\n const favoriteRecord: FavoriteRecord = {\n userFavoriteId: fav.ID,\n entityName: entity.Name,\n entityId: fav.EntityID,\n recordId: fav.RecordID\n };\n const index = favoriteRecords.length;\n favoriteRecords.push(favoriteRecord);\n\n // Build composite key for batch name lookup\n const compositeKey = this.buildCompositeKeyForRecord(entity.Name, fav.RecordID);\n if (compositeKey) {\n recordNameInputs.push({ EntityName: entity.Name, CompositeKey: compositeKey });\n // Use the canonical concatenated string as the map key for consistent matching\n recordIndexMap.set(`${entity.Name}||${compositeKey.ToConcatenatedString()}`, index);\n }\n }\n }\n\n // Batch fetch record names\n if (recordNameInputs.length > 0) {\n try {\n const nameResults = await this.metadata.GetEntityRecordNames(recordNameInputs);\n for (const nameResult of nameResults) {\n if (nameResult.Success && nameResult.RecordName) {\n const key = `${nameResult.EntityName}||${nameResult.CompositeKey.ToConcatenatedString()}`;\n const index = recordIndexMap.get(key);\n if (index !== undefined) {\n favoriteRecords[index].recordName = nameResult.RecordName;\n }\n }\n }\n } catch (nameError) {\n console.warn('Failed to load record names for favorites:', nameError);\n // Continue without names - they'll show record IDs\n }\n }\n\n this.favoriteRecords$.next(favoriteRecords);\n this.UpdateState({ favoriteRecords });\n } catch (error) {\n console.warn('Failed to load favorite records:', error);\n }\n }\n}\n"]}
@@ -275,16 +275,6 @@ export declare class FormBuilderResourceComponent extends BaseResourceComponent
275
275
  */
276
276
  ChatPendingMessage: string | null;
277
277
  ChatPendingAttachments: unknown[] | null;
278
- /**
279
- * Thread state for the embedded chat. Mirrors the workspace shell's
280
- * pattern: chat-area emits `threadOpened` with a thread ID when the
281
- * user drills into a sub-thread, and `threadClosed` when they leave.
282
- * Forwarded back as `[threadId]` so the chat-area knows which thread
283
- * to render. Without these handlers, clicking a thread message in
284
- * the cockpit's chat appears to do nothing (the chat-area emits but
285
- * no one binds back).
286
- */
287
- ChatThreadId: string | null;
288
278
  /**
289
279
  * Pending artifact pointer for the chat-area to scroll to / highlight
290
280
  * after navigation. Set when an artifact link inside the chat is
@@ -678,10 +668,6 @@ export declare class FormBuilderResourceComponent extends BaseResourceComponent
678
668
  name: string;
679
669
  description: string;
680
670
  }): void;
681
- /** Thread drill-down: chat-area opened a sub-thread. Track ID so the chat-area renders it. */
682
- OnChatThreadOpened(threadId: string): void;
683
- /** Thread drill-down: chat-area closed the sub-thread. Clear ID. */
684
- OnChatThreadClosed(): void;
685
671
  /** Pending artifact handed off to the chat-area (e.g. via deep link) has been consumed. */
686
672
  OnChatPendingArtifactConsumed(): void;
687
673
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"form-builder-resource.component.d.ts","sourceRoot":"","sources":["../../src/FormBuilder/form-builder-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAIb,SAAS,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAmB,YAAY,EAA4C,MAAM,sBAAsB,CAAC;AAE3H,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAgG,MAAM,+BAA+B,CAAC;AAC3J,OAAO,KAAK,EAAiD,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAEzH,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,OAAO,EAGH,KAAK,iBAAiB,EACzB,MAAM,mDAAmD,CAAC;AAG3D,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACzB,MAAM,+CAA+C,CAAC;AAUvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;;AAU7G;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IAGnD;+EAC2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;qEACiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG5B,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,aAAa,CAAC,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;IACrE,iBAAiB;IACjB,aAAa,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,UAAU,GAAG,WAAW,CAAC;IAC1E,gEAAgE;IAChE,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB;yCACqC;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB;qEACiE;IACjE,SAAS,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,UAAU,oBAAoB;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;;;;;OAOG;IACH,cAAc,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IACzD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;uDAEmD;IACnD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;wEACoE;IACpE,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,6DAA6D;IAC7D,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAQa,4BACT,SAAQ,qBACR,YAAW,aAAa,EAAE,SAAS;IAEtB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5D,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhE,iBAAiB,UAAS;IAC1B,kBAAkB,UAAS;IAC3B,iBAAiB,UAAS;IAC1B,SAAS,UAAQ;IACjB,aAAa,EAAE,oBAAoB,EAAE,CAAM;IAC3C,cAAc,SAAM;IAG3B;wDACoD;IAC7C,kBAAkB,SAAM;IACxB,kBAAkB,UAAS;IAC3B,iBAAiB,UAAS;IAG1B,aAAa,EAAE,MAAM,GAAG,MAAM,CAAU;IAC/C,6DAA6D;IACtD,iBAAiB,SAAM;IAC9B;+EAC2E;IACpE,iBAAiB,EAAE,GAAG,CAAC,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC,CACjB;IACxC,aAAa,EAAE,cAAc,GAAG,aAAa,GAAG,UAAU,GAAG,WAAW,CAAkB;IACjG,sEAAsE;IAC/D,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAC9C,sCAAsC;IAC/B,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IACpD,YAAY,SAAK;IACjB,YAAY,SAAK;IACjB,eAAe,UAAS;IAC/B,yCAAyC;IAClC,wBAAwB,UAAS;IACjC,kBAAkB,SAAM;IAG/B;wEACoE;IAC7D,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjD,uEAAuE;IAChE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC1C,cAAc,SAAM;IACpB,cAAc,SAAM;IACpB,cAAc,UAAS;IAE9B;;;;OAIG;IACI,cAAc,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAa;IAEjE;;;OAGG;IACI,QAAQ,EAAE,mBAAmB,EAAE,CAAM;IAE5C;;;;;;;;OAQG;IACH,IAAW,sBAAsB,IAAI,mBAAmB,GAAG,IAAI,CAG9D;IACM,eAAe,UAAS;IACxB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7C;;;;;;;OAOG;IACI,aAAa,EAAE,UAAU,GAAG,IAAI,CAAQ;IACxC,mBAAmB,UAAS;IAC5B,kBAAkB,SAAM;IACxB,cAAc,UAAS;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,iBAAiB,UAAS;IAEjC;;;;;OAKG;IACI,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;IAE9C;;;;;;OAMG;IACI,cAAc,UAAS;IACvB,iBAAiB,SAAM;IACvB,oBAAoB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAEvE;;;;;;;OAOG;IACI,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAExD;;;;;;;OAOG;IACI,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEhD,OAAO,CAAC,sBAAsB,CAA6B;IAC3D,OAAO,CAAC,uBAAuB,CAA6B;IAC5D;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAA6B;IAEvD;;;;;;OAMG;IACI,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IACrD,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChD;;;;;OAKG;IACI,oBAAoB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC,CAAM;IAC9F,+BAA+B,UAAS;IACxC,qBAAqB,UAAQ;IAEpC;;;;;;;OAOG;IACI,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACzC,sBAAsB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAQ;IAEvD;;;;;;;;OAQG;IACI,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE1C;;;;;OAKG;IACI,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5C,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE9D;;;;OAIG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAGrC;IAED;;;;;OAKG;IACI,WAAW,SAAM;IACjB,aAAa,SAAM;IACnB,WAAW,SAAM;IAExB;;;;;OAKG;IACH,IAAW,aAAa,IAAI,OAAO,CAElC;IAEM,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,gBAAgB,SAAM;IACtB,SAAS,UAAS;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IACxC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAQ;IACtC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxC,YAAY,SAAM;IAClB,SAAS,UAAS;IAElB,kBAAkB,UAAS;IAC3B,kBAAkB,SAAM;IACxB,aAAa,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAGhF;;;;;;;;;;;;OAYG;IACI,aAAa,EAAE;QAClB,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;KACzB,GAAG,IAAI,CAAQ;IAET,sBAAsB,UAAS;IAC/B,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjD,4BAA4B,SAAM;IAClC,yBAAyB,SAAM;IACtC;;wCAEoC;IAC7B,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjD,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxD,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClD,4BAA4B,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,CAAQ;IAC9E,2BAA2B,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAQ;IACtE,4BAA4B,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAa;IACpE,8BAA8B,EAAE,MAAM,GAAG,SAAS,CAAa;IACtE;wEACoE;IAC7D,0BAA0B,UAAS;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqC;IACxE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAE3D;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IAE9D;;;;;;;OAOG;IACI,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElD;;;;;;OAMG;IACI,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEhD,OAAO,KAAK,QAAQ,GAEnB;IAKD,IAAW,WAAW,IAAI,QAAQ,GAAG,IAAI,CAExC;IAED,2CAA2C;IAC3C,IAAW,WAAW,IAAI,QAAQ,GAAG,IAAI,CAExC;IAEY,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAiG7B,WAAW,IAAI,IAAI;IAUnC;;;;;;;;;OASG;YACW,iBAAiB;IAgE/B;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAuClC;;;;;;;OAOG;YACW,eAAe;IAI7B;;;;;;;;;OASG;YACW,2BAA2B;IA6BzC;;;;;;;;;;OAUG;YACW,yBAAyB;IAgBvC;;;;;;;;;;;;OAYG;YACW,iBAAiB;IAmG/B;;;;;OAKG;IACH,IAAW,aAAa,IAAI,aAAa,CAAC,oBAAoB,CAAC,CA6C9D;IAED,6CAA6C;IAC7C,IAAW,aAAa,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAE9D;IAED;;;;OAIG;IACH,IAAW,UAAU,IAAI,aAAa,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,aAAa,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,KAAK,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAA;SAAE,CAAC,CAAC;KACvI,CAAC,CA6BD;IAED,0CAA0C;IAC1C,IAAW,UAAU,IAAI,aAAa,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,aAAa,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,KAAK,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAA;SAAE,CAAC,CAAC;KACvI,CAAC,CAED;IAED;;;;;OAKG;IACH,IAAW,mBAAmB,IAAI,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAiBrH;IAED,mDAAmD;IACnD,IAAW,mBAAmB,IAAI,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAErH;IAEM,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK1C,mBAAmB,IAAI,IAAI;IAM3B,0BAA0B,IAAI,IAAI;IAMlC,oBAAoB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAKpC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAO1C,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI;IAUnE,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI;IAMvF,aAAa,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAU9D,YAAY,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO;IAIjD,wBAAwB,IAAI,IAAI;IAQhC,uBAAuB,IAAI,IAAI;IAOtC;;;;OAIG;IACI,sBAAsB,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;KAAE,GAAG,IAAI;IAWlF,qEAAqE;IAC9D,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IASzE,gBAAgB,IAAI,IAAI;IAMlB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBrC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxC,iBAAiB,IAAI,IAAI;IAUzB,qBAAqB,IAAI,IAAI;IAiB7B,oBAAoB,IAAI,IAAI;IAO5B,cAAc,IAAI,IAAI;IAMtB,eAAe,IAAI,IAAI;IAKvB,cAAc,IAAI,IAAI;IAMtB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI;IAWnE;;;;;;OAMG;IACH,IAAW,WAAW,IAAI,OAAO,6CAA6C,EAAE,aAAa,GAAG,IAAI,CAkBnG;IAED;;;;OAIG;IACU,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD/C,iDAAiD;IACpC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/C,qEAAqE;IACrE,OAAO,CAAC,WAAW;IAUnB;;;;;OAKG;IACI,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKvD;;;;;OAKG;IACI,iBAAiB,IAAI,IAAI;IAWzB,mBAAmB,IAAI,IAAI;IAalC,wDAAwD;IAC3C,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9D;;;;OAIG;YACW,wBAAwB;IAsCtC,gFAAgF;IACnE,qBAAqB,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBtF;;;;;;OAMG;IACI,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAU3C,2CAA2C;IACpC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3C;;;;;;OAMG;IACH;;;;;OAKG;IACI,yBAAyB,CAAC,KAAK,EAAE;QACpC,YAAY,EAAE,oBAAoB,CAAC;QACnC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;KAClC,GAAG,IAAI;IAaR;;;OAGG;IACI,4BAA4B,IAAI,IAAI;IAc3C;;;;;;OAMG;IACI,sBAAsB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI;IAQ9F;;;;OAIG;IACI,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAQ9D;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAQlD;;;;;;;;OAQG;IACI,yBAAyB,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,cAAc,GAAG,YAAY,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMlG,iHAAiH;IAC1G,yBAAyB,CAAC,KAAK,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAc5G,8FAA8F;IACvF,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKjD,oEAAoE;IAC7D,kBAAkB,IAAI,IAAI;IAKjC,2FAA2F;IACpF,6BAA6B,IAAI,IAAI;IAQ5C;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAsCjB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAwBjB;;;;;OAKG;IACI,iBAAiB,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;KAAE,GAAG,IAAI;IAatE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAQlE;;;;;OAKG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;YACW,mCAAmC;IA2C1C,iCAAiC,IAAI,IAAI;IAKhD;;;OAGG;IACU,uBAAuB,CAAC,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B3F;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;;;;;OAMG;YACW,mBAAmB;IA6BjC,wEAAwE;IACxE,OAAO,CAAC,gBAAgB;IASxB;;;;;;;;OAQG;IACU,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4CvD,yDAAyD;IAC5C,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvD;;;;;;;;OAQG;IACI,YAAY,IAAI,IAAI;IAa3B;;;;;;OAMG;IACU,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2D3E;;;;;;;;;;;;OAYG;IACU,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrE;;;;;;OAMG;IACU,kBAAkB,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC7E,eAAe,IAAI,IAAI;IAS9B,6EAA6E;IACtE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,mBAAmB,GAAG,IAAI;IAKjE,2CAA2C;IACpC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,mBAAmB,GAAG,IAAI;IAIpD,YAAY,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+DpE;;;;OAIG;IACH;;;;;;;OAOG;IACI,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC1C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElD,6DAA6D;IACtD,wBAAwB,UAAS;IACxC,iEAAiE;IAC1D,oBAAoB,UAAS;IAEpC;;;;;OAKG;IACH,SAAgB,qBAAqB,EAAE,aAAa,CAAC;QACjD,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;QACzC,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC,CAIA;IAEF,4EAA4E;IACrE,0BAA0B,IAAI,IAAI;IAMzC;;;;;;;;OAQG;IACU,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YAgD7E,wBAAwB;IA+BzB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAmCzB,cAAc;IAI5B;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAUjB;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAM1B,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IASnC,kBAAkB,IAAI,IAAI;IAM1B,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK/C,IAAW,qBAAqB,IAAI,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAMvF;IAED,qDAAqD;IACrD,IAAW,qBAAqB,IAAI,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAEvF;IAEM,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAkD/C,OAAO,CAAC,oBAAoB;IAYrB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAW5C,iBAAiB,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQ1E,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAO1C,YAAY,IAAI,IAAI;IAOpB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAY/C,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAS/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAazC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAUzC,uBAAuB,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAqBpE,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,qBAAqB;IAmBhB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkIpC;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA8EzB,2BAA2B,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDlF,2BAA2B,IAAI,IAAI;IAM1C,OAAO,CAAC,wBAAwB;IAahC;;;;;;;;;OASG;IACU,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCvD;;;OAGG;YACW,wBAAwB;IA+BtC;;;OAGG;YACW,6BAA6B;IAwB3C;;;;;;;;;;;OAWG;IACH;;;;;;;;;;;;;;;;OAgBG;IACH;;;;;;;;OAQG;IACH,OAAO,CAAC,+BAA+B;IAyBvC;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAwBpC;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAY3B,iEAAiE;IACjE,OAAO,CAAC,oBAAoB;IAS5B,yDAAyD;IACzD,OAAO,CAAC,oBAAoB;IAK5B;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IA4BpC,OAAO,CAAC,oBAAoB;IAqJ5B,OAAO,CAAC,SAAS;yCAlqGR,4BAA4B;2CAA5B,4BAA4B;CAqqGxC;AAED,4EAA4E;AAC5E,wBAAgB,gCAAgC,IAAI,IAAI,CAGvD"}
1
+ {"version":3,"file":"form-builder-resource.component.d.ts","sourceRoot":"","sources":["../../src/FormBuilder/form-builder-resource.component.ts"],"names":[],"mappings":"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"}