@memberjunction/ng-dashboards 5.22.0 → 5.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/README.md +51 -0
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +364 -362
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/agents/agent-editor.component.js +2 -2
  6. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +275 -64
  7. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  8. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +2645 -436
  9. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  10. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +240 -6
  11. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  12. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +2166 -256
  13. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  14. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
  15. package/dist/AI/components/execution-monitoring.component.js +191 -197
  16. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  17. package/dist/AI/components/models/model-management.component.js +9 -8
  18. package/dist/AI/components/models/model-management.component.js.map +1 -1
  19. package/dist/AI/components/prompts/prompt-management.component.js +305 -299
  20. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  21. package/dist/AI/components/system/system-configuration.component.js +319 -313
  22. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  23. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +1 -2
  24. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  25. package/dist/AI/components/vectors/vector-management-resource.component.js +12 -27
  26. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  27. package/dist/APIKeys/api-applications-panel.component.js +10 -12
  28. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  29. package/dist/APIKeys/api-key-create-dialog.component.js +13 -19
  30. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  31. package/dist/APIKeys/api-key-edit-panel.component.js +12 -14
  32. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  33. package/dist/APIKeys/api-scopes-panel.component.js +61 -68
  34. package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
  35. package/dist/APIKeys/api-usage-panel.component.js +10 -11
  36. package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
  37. package/dist/Actions/components/actions-list-view.component.js +82 -96
  38. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  39. package/dist/Actions/components/actions-overview.component.js +130 -134
  40. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  41. package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -1
  42. package/dist/Actions/components/categories-list-view.component.js +40 -46
  43. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  44. package/dist/Actions/components/code-management.component.js +2 -2
  45. package/dist/Actions/components/code-management.component.js.map +1 -1
  46. package/dist/Actions/components/entity-integration.component.js +2 -2
  47. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  48. package/dist/Actions/components/execution-monitoring.component.js +127 -132
  49. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  50. package/dist/Actions/components/executions-list-view.component.js +2 -2
  51. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  52. package/dist/Actions/components/explorer/action-card.component.js +11 -17
  53. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  54. package/dist/Actions/components/explorer/action-explorer.component.js +5 -11
  55. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  56. package/dist/Actions/components/explorer/action-list-item.component.js +8 -10
  57. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
  58. package/dist/Actions/components/explorer/action-toolbar.component.js +112 -133
  59. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -1
  60. package/dist/Actions/components/explorer/action-tree-panel.component.js +63 -83
  61. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
  62. package/dist/Actions/components/explorer/new-action-panel.component.js +17 -21
  63. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
  64. package/dist/Actions/components/explorer/new-category-panel.component.js +17 -21
  65. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
  66. package/dist/Actions/components/scheduled-actions.component.js +2 -2
  67. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  68. package/dist/Actions/components/security-permissions.component.js +2 -2
  69. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  70. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +13 -5
  71. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  72. package/dist/ComponentStudio/component-studio-dashboard.component.js +168 -145
  73. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  74. package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts +4 -5
  75. package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts.map +1 -1
  76. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +197 -200
  77. package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
  78. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts +5 -7
  79. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  80. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +142 -148
  81. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  82. package/dist/ComponentStudio/components/browser/component-browser.component.js +153 -166
  83. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -1
  84. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +15 -20
  85. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
  86. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +16 -21
  87. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
  88. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +18 -23
  89. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
  90. package/dist/ComponentStudio/components/editors/spec-editor.component.js +25 -30
  91. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
  92. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +10 -11
  93. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -1
  94. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -1
  95. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +24 -35
  96. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
  97. package/dist/ComponentStudio/components/text-import-dialog.component.js +15 -17
  98. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  99. package/dist/Credentials/components/credentials-categories-resource.component.js +7 -6
  100. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  101. package/dist/Credentials/components/credentials-list-resource.component.js +6 -5
  102. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  103. package/dist/Credentials/components/credentials-types-resource.component.js +7 -6
  104. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  105. package/dist/DashboardBrowser/dashboard-share-dialog.component.js +9 -9
  106. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
  107. package/dist/Home/home-dashboard.component.js +4 -4
  108. package/dist/Home/home-dashboard.component.js.map +1 -1
  109. package/dist/Integration/components/connections/connections.component.js +4 -4
  110. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  111. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +246 -259
  112. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  113. package/dist/Integration/components/widgets/integration-card.component.js +7 -9
  114. package/dist/Integration/components/widgets/integration-card.component.js.map +1 -1
  115. package/dist/Integration/integration.module.d.ts +6 -10
  116. package/dist/Integration/integration.module.d.ts.map +1 -1
  117. package/dist/Integration/integration.module.js +12 -20
  118. package/dist/Integration/integration.module.js.map +1 -1
  119. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts +106 -0
  120. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -0
  121. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +607 -0
  122. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -0
  123. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +7 -2
  124. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
  125. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +59 -31
  126. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  127. package/dist/KnowledgeHub/index.d.ts +1 -0
  128. package/dist/KnowledgeHub/index.d.ts.map +1 -1
  129. package/dist/KnowledgeHub/index.js +1 -0
  130. package/dist/KnowledgeHub/index.js.map +1 -1
  131. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  132. package/dist/Lists/components/lists-browse-resource.component.js +9 -7
  133. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  134. package/dist/Lists/components/lists-my-lists-resource.component.js +5 -4
  135. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  136. package/dist/Lists/components/lists-operations-resource.component.js +10 -9
  137. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  138. package/dist/MCP/components/mcp-connection-dialog.component.js +141 -132
  139. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -1
  140. package/dist/MCP/components/mcp-log-detail-panel.component.js +4 -4
  141. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
  142. package/dist/MCP/components/mcp-server-dialog.component.js +141 -128
  143. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -1
  144. package/dist/MCP/components/mcp-test-tool-dialog.component.js +210 -218
  145. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
  146. package/dist/MCP/mcp-dashboard.component.js +2 -2
  147. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  148. package/dist/MCP/mcp.module.d.ts +6 -9
  149. package/dist/MCP/mcp.module.d.ts.map +1 -1
  150. package/dist/MCP/mcp.module.js +20 -22
  151. package/dist/MCP/mcp.module.js.map +1 -1
  152. package/dist/Scheduling/components/scheduling-activity.component.js +5 -4
  153. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  154. package/dist/Scheduling/components/scheduling-jobs.component.js +6 -5
  155. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  156. package/dist/Scheduling/components/scheduling-overview.component.js +93 -92
  157. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  158. package/dist/Testing/testing-dashboard.component.js +9 -10
  159. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  160. package/dist/actions-dashboards.module.d.ts +8 -13
  161. package/dist/actions-dashboards.module.d.ts.map +1 -1
  162. package/dist/actions-dashboards.module.js +6 -27
  163. package/dist/actions-dashboards.module.js.map +1 -1
  164. package/dist/ai-dashboards.module.d.ts +16 -20
  165. package/dist/ai-dashboards.module.d.ts.map +1 -1
  166. package/dist/ai-dashboards.module.js +23 -44
  167. package/dist/ai-dashboards.module.js.map +1 -1
  168. package/dist/communication-dashboards.module.d.ts +4 -8
  169. package/dist/communication-dashboards.module.d.ts.map +1 -1
  170. package/dist/communication-dashboards.module.js +0 -19
  171. package/dist/communication-dashboards.module.js.map +1 -1
  172. package/dist/component-studio-dashboards.module.d.ts +7 -11
  173. package/dist/component-studio-dashboards.module.d.ts.map +1 -1
  174. package/dist/component-studio-dashboards.module.js +22 -34
  175. package/dist/component-studio-dashboards.module.js.map +1 -1
  176. package/dist/core-dashboards.module.d.ts +12 -18
  177. package/dist/core-dashboards.module.d.ts.map +1 -1
  178. package/dist/core-dashboards.module.js +15 -31
  179. package/dist/core-dashboards.module.js.map +1 -1
  180. package/dist/credentials-dashboards.module.d.ts +5 -8
  181. package/dist/credentials-dashboards.module.d.ts.map +1 -1
  182. package/dist/credentials-dashboards.module.js +3 -19
  183. package/dist/credentials-dashboards.module.js.map +1 -1
  184. package/dist/data-explorer-dashboards.module.d.ts +7 -13
  185. package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
  186. package/dist/data-explorer-dashboards.module.js +0 -27
  187. package/dist/data-explorer-dashboards.module.js.map +1 -1
  188. package/dist/lists-dashboards.module.d.ts +5 -8
  189. package/dist/lists-dashboards.module.d.ts.map +1 -1
  190. package/dist/lists-dashboards.module.js +3 -19
  191. package/dist/lists-dashboards.module.js.map +1 -1
  192. package/dist/public-api.d.ts +1 -0
  193. package/dist/public-api.d.ts.map +1 -1
  194. package/dist/public-api.js +1 -0
  195. package/dist/public-api.js.map +1 -1
  196. package/dist/scheduling-dashboards.module.d.ts +6 -10
  197. package/dist/scheduling-dashboards.module.d.ts.map +1 -1
  198. package/dist/scheduling-dashboards.module.js +3 -23
  199. package/dist/scheduling-dashboards.module.js.map +1 -1
  200. package/dist/testing-dashboards.module.d.ts +7 -13
  201. package/dist/testing-dashboards.module.d.ts.map +1 -1
  202. package/dist/testing-dashboards.module.js +0 -27
  203. package/dist/testing-dashboards.module.js.map +1 -1
  204. package/package.json +47 -55
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-load-dialog.component.js","sourceRoot":"","sources":["../../../src/ComponentStudio/components/artifact-load-dialog.component.ts","../../../src/ComponentStudio/components/artifact-load-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { DialogRef } from '@progress/kendo-angular-dialog';\nimport { RunView, Metadata } from '@memberjunction/core';\nimport {\n MJArtifactEntity,\n MJArtifactVersionEntity,\n MJCollectionEntity,\n MJCollectionArtifactEntity\n} from '@memberjunction/core-entities';\nimport { ComponentSpec } from '@memberjunction/interactive-component-types';\nimport { SkipAPIAnalysisCompleteResponse } from '@memberjunction/skip-types';\nimport { UUIDsEqual } from '@memberjunction/global';\nimport { Subject, debounceTime, distinctUntilChanged } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nexport interface ArtifactLoadResult {\n spec: ComponentSpec;\n artifactID: string;\n versionID: string;\n versionNumber: number;\n artifactName: string;\n}\n\n@Component({\n standalone: false,\n selector: 'app-artifact-load-dialog',\n templateUrl: './artifact-load-dialog.component.html',\n styleUrl: './artifact-load-dialog.component.css'\n})\nexport class ArtifactLoadDialogComponent implements OnInit, OnDestroy {\n // Tab state\n activeTab = 0; // 0 = Artifacts, 1 = Collections\n\n // Artifacts data\n artifacts: MJArtifactEntity[] = [];\n artifactVersions: MJArtifactVersionEntity[] = [];\n selectedArtifact: MJArtifactEntity | null = null;\n selectedVersion: MJArtifactVersionEntity | null = null;\n\n // Collections data\n collections: MJCollectionEntity[] = [];\n selectedCollection: MJCollectionEntity | null = null;\n collectionArtifacts: MJArtifactEntity[] = [];\n\n // Search and filter\n searchTerm = '';\n selectedArtifactType = '';\n userEmail = '';\n\n // Paging\n currentPage = 0;\n pageSize = 25;\n totalArtifacts = 0;\n hasMorePages = false;\n\n // UI state\n isLoading = true;\n isLoadingVersions = false;\n isLoadingCollections = false;\n isFilterPanelCollapsed = false;\n\n // Preview\n previewSpec: ComponentSpec | null = null;\n previewError: string | null = null;\n showJsonPreview = false;\n\n private metadata = new Metadata();\n private destroy$ = new Subject<void>();\n private searchSubject = new Subject<string>();\n\n constructor(public dialog: DialogRef) {}\n\n async ngOnInit() {\n // Setup search debouncing\n this.searchSubject.pipe(\n debounceTime(300),\n distinctUntilChanged(),\n takeUntil(this.destroy$)\n ).subscribe(() => {\n this.filterArtifacts();\n });\n\n await Promise.all([\n this.loadArtifacts(),\n this.loadCollections()\n ]);\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n async loadArtifacts() {\n this.isLoading = true;\n try {\n const rv = new RunView();\n const startRow = this.currentPage * this.pageSize;\n\n const result = await rv.RunView<MJArtifactEntity>({\n EntityName: 'MJ: Artifacts',\n ExtraFilter: this.buildArtifactFilter(),\n OrderBy: '__mj_UpdatedAt DESC',\n MaxRows: this.pageSize,\n StartRow: startRow,\n ResultType: 'entity_object'\n });\n\n if (result.Success && result.Results) {\n this.artifacts = result.Results;\n this.totalArtifacts = result.TotalRowCount || 0;\n const totalPages = Math.ceil(this.totalArtifacts / this.pageSize);\n this.hasMorePages = this.currentPage < totalPages - 1;\n }\n } catch (error) {\n console.error('Error loading artifacts:', error);\n } finally {\n this.isLoading = false;\n }\n }\n\n async loadCollections() {\n this.isLoadingCollections = true;\n try {\n const currentUserId = this.metadata.CurrentUser?.ID;\n if (!currentUserId) {\n this.collections = [];\n return;\n }\n\n const rv = new RunView();\n const result = await rv.RunView<MJCollectionEntity>({\n EntityName: 'MJ: Collections',\n ExtraFilter: `UserID = '${currentUserId}' OR ID IN (\n SELECT CollectionID FROM __mj.vwCollectionPermissions\n WHERE UserID = '${currentUserId}' AND CanRead = 1\n )`,\n OrderBy: 'Name',\n ResultType: 'entity_object'\n });\n\n if (result.Success) {\n this.collections = result.Results || [];\n }\n } catch (error) {\n console.error('Error loading collections:', error);\n this.collections = [];\n } finally {\n this.isLoadingCollections = false;\n }\n }\n\n async selectCollection(collection: MJCollectionEntity) {\n this.selectedCollection = collection;\n this.selectedArtifact = null;\n this.selectedVersion = null;\n this.artifactVersions = [];\n\n // Load artifacts in this collection\n try {\n const rv = new RunView();\n const result = await rv.RunView<MJArtifactEntity>({\n EntityName: 'MJ: Artifacts',\n ExtraFilter: `ID IN (\n SELECT DISTINCT av.ArtifactID\n FROM __mj.vwArtifactVersions av\n INNER JOIN __mj.vwCollectionArtifacts ca ON ca.ArtifactVersionID = av.ID\n WHERE ca.CollectionID = '${collection.ID}'\n )`,\n OrderBy: 'Name',\n ResultType: 'entity_object'\n });\n\n if (result.Success) {\n this.collectionArtifacts = result.Results || [];\n }\n } catch (error) {\n console.error('Error loading collection artifacts:', error);\n this.collectionArtifacts = [];\n }\n }\n\n private buildArtifactFilter(): string {\n const filters: string[] = [];\n\n // Always filter to Component type by default\n if (this.selectedArtifactType) {\n filters.push(`TypeID IN (SELECT ID FROM __mj.vwArtifactTypes WHERE Name = '${this.selectedArtifactType}')`);\n } else {\n filters.push(`TypeID IN (SELECT ID FROM __mj.vwArtifactTypes WHERE Name = 'Component')`);\n }\n\n // Search filter\n if (this.searchTerm?.trim()) {\n const term = this.searchTerm.toLowerCase();\n filters.push(`(Name LIKE '%${term}%' OR Description LIKE '%${term}%')`);\n }\n\n // User email filter\n if (this.userEmail?.trim()) {\n const md = new Metadata();\n const schemaName = md.EntityByName(\"MJ: Users\")?.SchemaName || \"__mj\";\n filters.push(`UserID IN (SELECT ID FROM ${schemaName}.vwUsers WHERE Email LIKE '%${this.userEmail.trim()}%')`);\n }\n\n return filters.length > 0 ? filters.join(' AND ') : '';\n }\n\n async selectArtifact(artifact: MJArtifactEntity) {\n this.selectedArtifact = artifact;\n this.selectedVersion = null;\n this.previewSpec = null;\n this.previewError = null;\n\n await this.loadVersions(artifact.ID);\n }\n\n async loadVersions(artifactId: string) {\n this.isLoadingVersions = true;\n try {\n const rv = new RunView();\n const result = await rv.RunView<MJArtifactVersionEntity>({\n EntityName: 'MJ: Artifact Versions',\n ExtraFilter: `ArtifactID = '${artifactId}'`,\n OrderBy: 'VersionNumber DESC',\n ResultType: 'entity_object'\n });\n\n if (result.Success && result.Results) {\n this.artifactVersions = result.Results;\n\n // Auto-select the latest version\n if (this.artifactVersions.length > 0) {\n await this.selectVersion(this.artifactVersions[0]);\n }\n }\n } catch (error) {\n console.error('Error loading versions:', error);\n this.artifactVersions = [];\n } finally {\n this.isLoadingVersions = false;\n }\n }\n\n async selectVersion(version: MJArtifactVersionEntity) {\n this.selectedVersion = version;\n await this.loadPreview(version);\n }\n\n async loadPreview(version: MJArtifactVersionEntity) {\n try {\n this.previewError = null;\n\n // Try Content field first (new schema)\n if (version.Content) {\n this.previewSpec = JSON.parse(version.Content) as ComponentSpec;\n }\n // Fallback to Configuration field (legacy)\n else if (version.Configuration) {\n const config = JSON.parse(version.Configuration);\n\n // Extract from SkipAPIAnalysisCompleteResponse if needed\n if (config.componentOptions && config.componentOptions.length > 0) {\n this.previewSpec = config.componentOptions[0].option;\n } else {\n this.previewSpec = config;\n }\n }\n else {\n this.previewError = 'No content found in this version';\n }\n } catch (error) {\n this.previewError = `Failed to parse: ${error}`;\n this.previewSpec = null;\n }\n }\n\n async filterArtifacts() {\n this.currentPage = 0;\n await this.loadArtifacts();\n }\n\n onSearchInput() {\n this.searchSubject.next(this.searchTerm);\n }\n\n onArtifactTypeChange() {\n this.selectedArtifact = null;\n this.selectedVersion = null;\n this.artifactVersions = [];\n this.filterArtifacts();\n }\n\n async nextPage() {\n if (this.hasMorePages) {\n this.currentPage++;\n await this.loadArtifacts();\n }\n }\n\n async previousPage() {\n if (this.currentPage > 0) {\n this.currentPage--;\n await this.loadArtifacts();\n }\n }\n\n canGoNext(): boolean {\n return this.hasMorePages;\n }\n\n canGoPrevious(): boolean {\n return this.currentPage > 0;\n }\n\n getTotalPages(): number {\n return Math.ceil(this.totalArtifacts / this.pageSize);\n }\n\n toggleFilterPanel() {\n this.isFilterPanelCollapsed = !this.isFilterPanelCollapsed;\n }\n\n getActiveFilterCount(): number {\n let count = 0;\n if (this.searchTerm?.trim()) count++;\n if (this.selectedArtifactType) count++;\n if (this.userEmail?.trim()) count++;\n return count;\n }\n\n canLoad(): boolean {\n return this.selectedArtifact !== null &&\n this.selectedVersion !== null &&\n this.previewSpec !== null;\n }\n\n cancel() {\n this.dialog.close(undefined);\n }\n\n load() {\n if (!this.canLoad()) return;\n\n const result: ArtifactLoadResult = {\n spec: this.previewSpec!,\n artifactID: this.selectedArtifact!.ID,\n versionID: this.selectedVersion!.ID,\n versionNumber: this.selectedVersion!.VersionNumber,\n artifactName: this.selectedArtifact!.Name\n };\n\n this.dialog.close(result);\n }\n\n onTabSelect(index: number) {\n this.activeTab = index;\n }\n\n getArtifactsByTab(): MJArtifactEntity[] {\n return this.activeTab === 0 ? this.artifacts : this.collectionArtifacts;\n }\n\n toggleJsonPreview(): void {\n this.showJsonPreview = !this.showJsonPreview;\n }\n\n getPreviewJSON(): string {\n return this.previewSpec ? JSON.stringify(this.previewSpec, null, 2) : '';\n }\n\n /** Case-insensitive UUID check whether an artifact is the currently selected artifact. */\n IsArtifactSelected(artifact: MJArtifactEntity): boolean {\n return UUIDsEqual(this.selectedArtifact?.ID, artifact.ID);\n }\n\n /** Case-insensitive UUID check whether a collection is the currently selected collection. */\n IsCollectionSelected(collection: MJCollectionEntity): boolean {\n return UUIDsEqual(this.selectedCollection?.ID, collection.ID);\n }\n\n /** Case-insensitive UUID check whether a version is the currently selected version. */\n IsVersionSelected(version: MJArtifactVersionEntity): boolean {\n return UUIDsEqual(this.selectedVersion?.ID, version.ID);\n }\n}\n","<div>\n <kendo-dialog-titlebar (close)=\"cancel()\">\n <div style=\"font-size: 18px;\">\n <i class=\"fa-solid fa-database\"></i> Load Component from Artifact\n </div>\n </kendo-dialog-titlebar>\n\n <div class=\"artifact-load-content\">\n <!-- Left Filter Panel -->\n <div class=\"filter-panel\" [style.width]=\"isFilterPanelCollapsed ? '40px' : '280px'\">\n <div class=\"panel-header\">\n @if (!isFilterPanelCollapsed) {\n <span>Filters</span>\n }\n <button kendoButton (click)=\"toggleFilterPanel()\"\n [fillMode]=\"'flat'\"\n [class.filter-active]=\"getActiveFilterCount() > 0\"\n [themeColor]=\"getActiveFilterCount() > 0 ? 'primary' : 'base'\">\n <i class=\"fa-solid fa-filter\"></i>\n @if (isFilterPanelCollapsed && getActiveFilterCount() > 0) {\n <span class=\"filter-count\">{{ getActiveFilterCount() }}</span>\n }\n </button>\n </div>\n\n @if (!isFilterPanelCollapsed) {\n <div class=\"filter-content\">\n <!-- Search -->\n <div class=\"filter-group\">\n <label>Search</label>\n <input type=\"text\"\n [(ngModel)]=\"searchTerm\"\n (input)=\"onSearchInput()\"\n placeholder=\"Name or description...\"\n class=\"filter-input\">\n </div>\n\n <!-- Artifact Type -->\n <div class=\"filter-group\">\n <label>Artifact Type</label>\n <select [(ngModel)]=\"selectedArtifactType\"\n (change)=\"onArtifactTypeChange()\"\n class=\"filter-select\">\n <option value=\"\">Component (default)</option>\n <option value=\"Component\">Component</option>\n <option value=\"Report\">Report</option>\n <option value=\"Dashboard\">Dashboard</option>\n </select>\n </div>\n\n <!-- User Email -->\n <div class=\"filter-group\">\n <label>Filter by User</label>\n <input type=\"text\"\n [(ngModel)]=\"userEmail\"\n (input)=\"filterArtifacts()\"\n placeholder=\"Enter user email...\"\n class=\"filter-input\">\n </div>\n </div>\n }\n </div>\n\n <!-- Main Content Area -->\n <div class=\"main-content\">\n <!-- Tabs -->\n <div class=\"tabs\">\n <button class=\"tab\"\n [class.active]=\"activeTab === 0\"\n (click)=\"onTabSelect(0)\">\n <i class=\"fa-solid fa-file-code\"></i> All Artifacts\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 1\"\n (click)=\"onTabSelect(1)\">\n <i class=\"fa-solid fa-folder\"></i> Collections\n </button>\n </div>\n\n <!-- Tab Content -->\n <div class=\"tab-content\">\n <!-- Artifacts Tab -->\n @if (activeTab === 0) {\n <div class=\"artifacts-view\">\n <!-- Paging Controls -->\n <div class=\"paging-controls\">\n <button kendoButton\n (click)=\"previousPage()\"\n [disabled]=\"!canGoPrevious()\"\n [themeColor]=\"'base'\">\n <i class=\"fa-solid fa-chevron-left\"></i> Previous\n </button>\n <span class=\"page-info\">\n Page {{ currentPage + 1 }} of {{ getTotalPages() }}\n ({{ totalArtifacts }} total)\n </span>\n <button kendoButton\n (click)=\"nextPage()\"\n [disabled]=\"!canGoNext()\"\n [themeColor]=\"'base'\">\n Next <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n\n <!-- Artifacts List -->\n <div class=\"artifacts-list\">\n @if (isLoading) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading artifacts...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (artifacts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No artifacts found</p>\n </div>\n }\n @else {\n @for (artifact of artifacts; track artifact.ID) {\n <div class=\"artifact-item\"\n [class.selected]=\"IsArtifactSelected(artifact)\"\n (click)=\"selectArtifact(artifact)\">\n <div class=\"artifact-content\">\n <div class=\"artifact-main\">\n <div class=\"artifact-name\">\n <i class=\"fa-solid fa-file-code\"></i>\n <span>{{ artifact.Name }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"artifact-description\">\n {{ artifact.Description }}\n </div>\n }\n </div>\n <div class=\"artifact-meta\">\n <div>{{ artifact.Type }}</div>\n <div>{{ artifact.__mj_UpdatedAt | date:'short' }}</div>\n </div>\n </div>\n </div>\n }\n }\n </div>\n </div>\n }\n\n <!-- Collections Tab -->\n @if (activeTab === 1) {\n <div class=\"collections-view\">\n <div class=\"collections-list\">\n @if (isLoadingCollections) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading collections...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (collections.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-folder-open\"></i>\n <p>No collections found</p>\n </div>\n }\n @else {\n @for (collection of collections; track collection.ID) {\n <div class=\"collection-item\"\n [class.selected]=\"IsCollectionSelected(collection)\"\n (click)=\"selectCollection(collection)\">\n <div class=\"collection-icon\">\n <i class=\"fa-solid fa-folder\"></i>\n </div>\n <div class=\"collection-info\">\n <div class=\"collection-name\">{{ collection.Name }}</div>\n @if (collection.Description) {\n <div class=\"collection-description\">{{ collection.Description }}</div>\n }\n </div>\n </div>\n }\n }\n </div>\n\n @if (selectedCollection) {\n <div class=\"collection-artifacts\">\n <div class=\"section-header\">\n <i class=\"fa-solid fa-file-code\"></i>\n Artifacts in \"{{ selectedCollection.Name }}\"\n </div>\n @if (collectionArtifacts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No artifacts in this collection</p>\n </div>\n }\n @else {\n @for (artifact of collectionArtifacts; track artifact.ID) {\n <div class=\"artifact-item\"\n [class.selected]=\"IsArtifactSelected(artifact)\"\n (click)=\"selectArtifact(artifact)\">\n <div class=\"artifact-content\">\n <div class=\"artifact-main\">\n <div class=\"artifact-name\">\n <i class=\"fa-solid fa-file-code\"></i>\n <span>{{ artifact.Name }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"artifact-description\">\n {{ artifact.Description }}\n </div>\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Right Version/Preview Panel -->\n @if (selectedArtifact) {\n <div class=\"version-panel\">\n <div class=\"panel-header\">\n <h4><i class=\"fa-solid fa-code-branch\"></i> Versions</h4>\n </div>\n\n <div class=\"version-content\">\n @if (isLoadingVersions) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading versions...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (artifactVersions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <p>No versions available</p>\n </div>\n }\n @else {\n <div class=\"version-list\">\n @for (version of artifactVersions; track version.ID) {\n <div class=\"version-item\"\n [class.selected]=\"IsVersionSelected(version)\"\n (click)=\"selectVersion(version)\">\n <div class=\"version-number\">\n <i class=\"fa-solid fa-code-branch\"></i>\n Version {{ version.VersionNumber }}\n </div>\n <div class=\"version-meta\">\n <div>{{ version.__mj_UpdatedAt | date:'short' }}</div>\n @if (version.Comments) {\n <div class=\"version-comments\">{{ version.Comments }}</div>\n }\n </div>\n </div>\n }\n </div>\n\n <!-- Preview Section -->\n @if (selectedVersion) {\n <div class=\"preview-section\">\n <div class=\"preview-header\">\n <i class=\"fa-solid fa-eye\"></i> Preview\n </div>\n @if (previewError) {\n <div class=\"preview-error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n {{ previewError }}\n </div>\n }\n @else if (previewSpec) {\n <div class=\"preview-content\">\n <div class=\"preview-item\">\n <strong>Name:</strong> {{ previewSpec.name }}\n </div>\n @if (previewSpec.description) {\n <div class=\"preview-item\">\n <strong>Description:</strong> {{ previewSpec.description }}\n </div>\n }\n @if (previewSpec.type) {\n <div class=\"preview-item\">\n <strong>Type:</strong> {{ previewSpec.type }}\n </div>\n }\n @if (previewSpec.namespace) {\n <div class=\"preview-item\">\n <strong>Namespace:</strong> {{ previewSpec.namespace }}\n </div>\n }\n <div class=\"preview-item\">\n <strong>Has Code:</strong> {{ previewSpec.code ? 'Yes' : 'No' }}\n </div>\n @if (previewSpec.dependencies && previewSpec.dependencies.length > 0) {\n <div class=\"preview-item\">\n <strong>Dependencies:</strong> {{ previewSpec.dependencies.length }}\n </div>\n }\n\n <!-- Full Spec JSON Viewer -->\n <div class=\"preview-json-section\">\n <div class=\"preview-json-header\" (click)=\"toggleJsonPreview()\">\n <i class=\"fa-solid\" [class.fa-chevron-right]=\"!showJsonPreview\" [class.fa-chevron-down]=\"showJsonPreview\"></i>\n <strong>Full Specification (JSON)</strong>\n </div>\n @if (showJsonPreview) {\n <div class=\"preview-json-content\">\n <mj-code-editor\n [value]=\"getPreviewJSON()\"\n [language]=\"'json'\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n [setup]=\"'basic'\"\n style=\"height: 300px; width: 100%;\">\n </mj-code-editor>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n }\n </div>\n </div>\n }\n </div>\n\n <kendo-dialog-actions>\n <button kendoButton\n [themeColor]=\"'primary'\"\n (click)=\"load()\"\n [disabled]=\"!canLoad()\">\n <i class=\"fa-solid fa-download\"></i>\n Load Component\n </button>\n <button kendoButton (click)=\"cancel()\">Cancel</button>\n </kendo-dialog-actions>\n</div>\n"]}
1
+ {"version":3,"file":"artifact-load-dialog.component.js","sourceRoot":"","sources":["../../../src/ComponentStudio/components/artifact-load-dialog.component.ts","../../../src/ComponentStudio/components/artifact-load-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\nimport { RunView, Metadata } from '@memberjunction/core';\nimport {\n MJArtifactEntity,\n MJArtifactVersionEntity,\n MJCollectionEntity,\n MJCollectionArtifactEntity\n} from '@memberjunction/core-entities';\nimport { ComponentSpec } from '@memberjunction/interactive-component-types';\nimport { SkipAPIAnalysisCompleteResponse } from '@memberjunction/skip-types';\nimport { UUIDsEqual } from '@memberjunction/global';\nimport { Subject, debounceTime, distinctUntilChanged } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nexport interface ArtifactLoadResult {\n spec: ComponentSpec;\n artifactID: string;\n versionID: string;\n versionNumber: number;\n artifactName: string;\n}\n\n@Component({\n standalone: false,\n selector: 'app-artifact-load-dialog',\n templateUrl: './artifact-load-dialog.component.html',\n styleUrl: './artifact-load-dialog.component.css'\n})\nexport class ArtifactLoadDialogComponent implements OnInit, OnDestroy {\n @Input() Visible = false;\n @Output() Close = new EventEmitter<ArtifactLoadResult | undefined>();\n\n // Tab state\n activeTab = 0; // 0 = Artifacts, 1 = Collections\n\n // Artifacts data\n artifacts: MJArtifactEntity[] = [];\n artifactVersions: MJArtifactVersionEntity[] = [];\n selectedArtifact: MJArtifactEntity | null = null;\n selectedVersion: MJArtifactVersionEntity | null = null;\n\n // Collections data\n collections: MJCollectionEntity[] = [];\n selectedCollection: MJCollectionEntity | null = null;\n collectionArtifacts: MJArtifactEntity[] = [];\n\n // Search and filter\n searchTerm = '';\n selectedArtifactType = '';\n userEmail = '';\n\n // Paging\n currentPage = 0;\n pageSize = 25;\n totalArtifacts = 0;\n hasMorePages = false;\n\n // UI state\n isLoading = true;\n isLoadingVersions = false;\n isLoadingCollections = false;\n isFilterPanelCollapsed = false;\n\n // Preview\n previewSpec: ComponentSpec | null = null;\n previewError: string | null = null;\n showJsonPreview = false;\n\n private metadata = new Metadata();\n private destroy$ = new Subject<void>();\n private searchSubject = new Subject<string>();\n\n async ngOnInit() {\n // Setup search debouncing\n this.searchSubject.pipe(\n debounceTime(300),\n distinctUntilChanged(),\n takeUntil(this.destroy$)\n ).subscribe(() => {\n this.filterArtifacts();\n });\n\n await Promise.all([\n this.loadArtifacts(),\n this.loadCollections()\n ]);\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n async loadArtifacts() {\n this.isLoading = true;\n try {\n const rv = new RunView();\n const startRow = this.currentPage * this.pageSize;\n\n const result = await rv.RunView<MJArtifactEntity>({\n EntityName: 'MJ: Artifacts',\n ExtraFilter: this.buildArtifactFilter(),\n OrderBy: '__mj_UpdatedAt DESC',\n MaxRows: this.pageSize,\n StartRow: startRow,\n ResultType: 'entity_object'\n });\n\n if (result.Success && result.Results) {\n this.artifacts = result.Results;\n this.totalArtifacts = result.TotalRowCount || 0;\n const totalPages = Math.ceil(this.totalArtifacts / this.pageSize);\n this.hasMorePages = this.currentPage < totalPages - 1;\n }\n } catch (error) {\n console.error('Error loading artifacts:', error);\n } finally {\n this.isLoading = false;\n }\n }\n\n async loadCollections() {\n this.isLoadingCollections = true;\n try {\n const currentUserId = this.metadata.CurrentUser?.ID;\n if (!currentUserId) {\n this.collections = [];\n return;\n }\n\n const rv = new RunView();\n const result = await rv.RunView<MJCollectionEntity>({\n EntityName: 'MJ: Collections',\n ExtraFilter: `UserID = '${currentUserId}' OR ID IN (\n SELECT CollectionID FROM __mj.vwCollectionPermissions\n WHERE UserID = '${currentUserId}' AND CanRead = 1\n )`,\n OrderBy: 'Name',\n ResultType: 'entity_object'\n });\n\n if (result.Success) {\n this.collections = result.Results || [];\n }\n } catch (error) {\n console.error('Error loading collections:', error);\n this.collections = [];\n } finally {\n this.isLoadingCollections = false;\n }\n }\n\n async selectCollection(collection: MJCollectionEntity) {\n this.selectedCollection = collection;\n this.selectedArtifact = null;\n this.selectedVersion = null;\n this.artifactVersions = [];\n\n // Load artifacts in this collection\n try {\n const rv = new RunView();\n const result = await rv.RunView<MJArtifactEntity>({\n EntityName: 'MJ: Artifacts',\n ExtraFilter: `ID IN (\n SELECT DISTINCT av.ArtifactID\n FROM __mj.vwArtifactVersions av\n INNER JOIN __mj.vwCollectionArtifacts ca ON ca.ArtifactVersionID = av.ID\n WHERE ca.CollectionID = '${collection.ID}'\n )`,\n OrderBy: 'Name',\n ResultType: 'entity_object'\n });\n\n if (result.Success) {\n this.collectionArtifacts = result.Results || [];\n }\n } catch (error) {\n console.error('Error loading collection artifacts:', error);\n this.collectionArtifacts = [];\n }\n }\n\n private buildArtifactFilter(): string {\n const filters: string[] = [];\n\n // Always filter to Component type by default\n if (this.selectedArtifactType) {\n filters.push(`TypeID IN (SELECT ID FROM __mj.vwArtifactTypes WHERE Name = '${this.selectedArtifactType}')`);\n } else {\n filters.push(`TypeID IN (SELECT ID FROM __mj.vwArtifactTypes WHERE Name = 'Component')`);\n }\n\n // Search filter\n if (this.searchTerm?.trim()) {\n const term = this.searchTerm.toLowerCase();\n filters.push(`(Name LIKE '%${term}%' OR Description LIKE '%${term}%')`);\n }\n\n // User email filter\n if (this.userEmail?.trim()) {\n const md = new Metadata();\n const schemaName = md.EntityByName(\"MJ: Users\")?.SchemaName || \"__mj\";\n filters.push(`UserID IN (SELECT ID FROM ${schemaName}.vwUsers WHERE Email LIKE '%${this.userEmail.trim()}%')`);\n }\n\n return filters.length > 0 ? filters.join(' AND ') : '';\n }\n\n async selectArtifact(artifact: MJArtifactEntity) {\n this.selectedArtifact = artifact;\n this.selectedVersion = null;\n this.previewSpec = null;\n this.previewError = null;\n\n await this.loadVersions(artifact.ID);\n }\n\n async loadVersions(artifactId: string) {\n this.isLoadingVersions = true;\n try {\n const rv = new RunView();\n const result = await rv.RunView<MJArtifactVersionEntity>({\n EntityName: 'MJ: Artifact Versions',\n ExtraFilter: `ArtifactID = '${artifactId}'`,\n OrderBy: 'VersionNumber DESC',\n ResultType: 'entity_object'\n });\n\n if (result.Success && result.Results) {\n this.artifactVersions = result.Results;\n\n // Auto-select the latest version\n if (this.artifactVersions.length > 0) {\n await this.selectVersion(this.artifactVersions[0]);\n }\n }\n } catch (error) {\n console.error('Error loading versions:', error);\n this.artifactVersions = [];\n } finally {\n this.isLoadingVersions = false;\n }\n }\n\n async selectVersion(version: MJArtifactVersionEntity) {\n this.selectedVersion = version;\n await this.loadPreview(version);\n }\n\n async loadPreview(version: MJArtifactVersionEntity) {\n try {\n this.previewError = null;\n\n // Try Content field first (new schema)\n if (version.Content) {\n this.previewSpec = JSON.parse(version.Content) as ComponentSpec;\n }\n // Fallback to Configuration field (legacy)\n else if (version.Configuration) {\n const config = JSON.parse(version.Configuration);\n\n // Extract from SkipAPIAnalysisCompleteResponse if needed\n if (config.componentOptions && config.componentOptions.length > 0) {\n this.previewSpec = config.componentOptions[0].option;\n } else {\n this.previewSpec = config;\n }\n }\n else {\n this.previewError = 'No content found in this version';\n }\n } catch (error) {\n this.previewError = `Failed to parse: ${error}`;\n this.previewSpec = null;\n }\n }\n\n async filterArtifacts() {\n this.currentPage = 0;\n await this.loadArtifacts();\n }\n\n onSearchInput() {\n this.searchSubject.next(this.searchTerm);\n }\n\n onArtifactTypeChange() {\n this.selectedArtifact = null;\n this.selectedVersion = null;\n this.artifactVersions = [];\n this.filterArtifacts();\n }\n\n async nextPage() {\n if (this.hasMorePages) {\n this.currentPage++;\n await this.loadArtifacts();\n }\n }\n\n async previousPage() {\n if (this.currentPage > 0) {\n this.currentPage--;\n await this.loadArtifacts();\n }\n }\n\n canGoNext(): boolean {\n return this.hasMorePages;\n }\n\n canGoPrevious(): boolean {\n return this.currentPage > 0;\n }\n\n getTotalPages(): number {\n return Math.ceil(this.totalArtifacts / this.pageSize);\n }\n\n toggleFilterPanel() {\n this.isFilterPanelCollapsed = !this.isFilterPanelCollapsed;\n }\n\n getActiveFilterCount(): number {\n let count = 0;\n if (this.searchTerm?.trim()) count++;\n if (this.selectedArtifactType) count++;\n if (this.userEmail?.trim()) count++;\n return count;\n }\n\n canLoad(): boolean {\n return this.selectedArtifact !== null &&\n this.selectedVersion !== null &&\n this.previewSpec !== null;\n }\n\n cancel() {\n this.Close.emit(undefined);\n }\n\n load() {\n if (!this.canLoad()) return;\n\n const result: ArtifactLoadResult = {\n spec: this.previewSpec!,\n artifactID: this.selectedArtifact!.ID,\n versionID: this.selectedVersion!.ID,\n versionNumber: this.selectedVersion!.VersionNumber,\n artifactName: this.selectedArtifact!.Name\n };\n\n this.Close.emit(result);\n }\n\n onTabSelect(index: number) {\n this.activeTab = index;\n }\n\n getArtifactsByTab(): MJArtifactEntity[] {\n return this.activeTab === 0 ? this.artifacts : this.collectionArtifacts;\n }\n\n toggleJsonPreview(): void {\n this.showJsonPreview = !this.showJsonPreview;\n }\n\n getPreviewJSON(): string {\n return this.previewSpec ? JSON.stringify(this.previewSpec, null, 2) : '';\n }\n\n /** Case-insensitive UUID check whether an artifact is the currently selected artifact. */\n IsArtifactSelected(artifact: MJArtifactEntity): boolean {\n return UUIDsEqual(this.selectedArtifact?.ID, artifact.ID);\n }\n\n /** Case-insensitive UUID check whether a collection is the currently selected collection. */\n IsCollectionSelected(collection: MJCollectionEntity): boolean {\n return UUIDsEqual(this.selectedCollection?.ID, collection.ID);\n }\n\n /** Case-insensitive UUID check whether a version is the currently selected version. */\n IsVersionSelected(version: MJArtifactVersionEntity): boolean {\n return UUIDsEqual(this.selectedVersion?.ID, version.ID);\n }\n}\n","<mj-dialog [Visible]=\"true\" Title=\"Load Component from Artifact\" (Close)=\"cancel()\" [Width]=\"1200\" [MinWidth]=\"600\">\n <div class=\"artifact-load-content\">\n <!-- Left Filter Panel -->\n <div class=\"filter-panel\" [style.width]=\"isFilterPanelCollapsed ? '40px' : '280px'\">\n <div class=\"panel-header\">\n @if (!isFilterPanelCollapsed) {\n <span>Filters</span>\n }\n <button mjButton (click)=\"toggleFilterPanel()\"\n variant=\"flat\"\n [class.filter-active]=\"getActiveFilterCount() > 0\">\n <i class=\"fa-solid fa-filter\"></i>\n @if (isFilterPanelCollapsed && getActiveFilterCount() > 0) {\n <span class=\"filter-count\">{{ getActiveFilterCount() }}</span>\n }\n </button>\n </div>\n\n @if (!isFilterPanelCollapsed) {\n <div class=\"filter-content\">\n <!-- Search -->\n <div class=\"filter-group\">\n <label>Search</label>\n <input type=\"text\"\n [(ngModel)]=\"searchTerm\"\n (input)=\"onSearchInput()\"\n placeholder=\"Name or description...\"\n class=\"filter-input\">\n </div>\n\n <!-- Artifact Type -->\n <div class=\"filter-group\">\n <label>Artifact Type</label>\n <select [(ngModel)]=\"selectedArtifactType\"\n (change)=\"onArtifactTypeChange()\"\n class=\"filter-select\">\n <option value=\"\">Component (default)</option>\n <option value=\"Component\">Component</option>\n <option value=\"Report\">Report</option>\n <option value=\"Dashboard\">Dashboard</option>\n </select>\n </div>\n\n <!-- User Email -->\n <div class=\"filter-group\">\n <label>Filter by User</label>\n <input type=\"text\"\n [(ngModel)]=\"userEmail\"\n (input)=\"filterArtifacts()\"\n placeholder=\"Enter user email...\"\n class=\"filter-input\">\n </div>\n </div>\n }\n </div>\n\n <!-- Main Content Area -->\n <div class=\"main-content\">\n <!-- Tabs -->\n <div class=\"tabs\">\n <button class=\"tab\"\n [class.active]=\"activeTab === 0\"\n (click)=\"onTabSelect(0)\">\n <i class=\"fa-solid fa-file-code\"></i> All Artifacts\n </button>\n <button class=\"tab\"\n [class.active]=\"activeTab === 1\"\n (click)=\"onTabSelect(1)\">\n <i class=\"fa-solid fa-folder\"></i> Collections\n </button>\n </div>\n\n <!-- Tab Content -->\n <div class=\"tab-content\">\n <!-- Artifacts Tab -->\n @if (activeTab === 0) {\n <div class=\"artifacts-view\">\n <!-- Paging Controls -->\n <div class=\"paging-controls\">\n <button mjButton\n (click)=\"previousPage()\"\n [disabled]=\"!canGoPrevious()\">\n <i class=\"fa-solid fa-chevron-left\"></i> Previous\n </button>\n <span class=\"page-info\">\n Page {{ currentPage + 1 }} of {{ getTotalPages() }}\n ({{ totalArtifacts }} total)\n </span>\n <button mjButton\n (click)=\"nextPage()\"\n [disabled]=\"!canGoNext()\">\n Next <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n\n <!-- Artifacts List -->\n <div class=\"artifacts-list\">\n @if (isLoading) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading artifacts...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (artifacts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No artifacts found</p>\n </div>\n }\n @else {\n @for (artifact of artifacts; track artifact.ID) {\n <div class=\"artifact-item\"\n [class.selected]=\"IsArtifactSelected(artifact)\"\n (click)=\"selectArtifact(artifact)\">\n <div class=\"artifact-content\">\n <div class=\"artifact-main\">\n <div class=\"artifact-name\">\n <i class=\"fa-solid fa-file-code\"></i>\n <span>{{ artifact.Name }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"artifact-description\">\n {{ artifact.Description }}\n </div>\n }\n </div>\n <div class=\"artifact-meta\">\n <div>{{ artifact.Type }}</div>\n <div>{{ artifact.__mj_UpdatedAt | date:'short' }}</div>\n </div>\n </div>\n </div>\n }\n }\n </div>\n </div>\n }\n\n <!-- Collections Tab -->\n @if (activeTab === 1) {\n <div class=\"collections-view\">\n <div class=\"collections-list\">\n @if (isLoadingCollections) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading collections...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (collections.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-folder-open\"></i>\n <p>No collections found</p>\n </div>\n }\n @else {\n @for (collection of collections; track collection.ID) {\n <div class=\"collection-item\"\n [class.selected]=\"IsCollectionSelected(collection)\"\n (click)=\"selectCollection(collection)\">\n <div class=\"collection-icon\">\n <i class=\"fa-solid fa-folder\"></i>\n </div>\n <div class=\"collection-info\">\n <div class=\"collection-name\">{{ collection.Name }}</div>\n @if (collection.Description) {\n <div class=\"collection-description\">{{ collection.Description }}</div>\n }\n </div>\n </div>\n }\n }\n </div>\n\n @if (selectedCollection) {\n <div class=\"collection-artifacts\">\n <div class=\"section-header\">\n <i class=\"fa-solid fa-file-code\"></i>\n Artifacts in \"{{ selectedCollection.Name }}\"\n </div>\n @if (collectionArtifacts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No artifacts in this collection</p>\n </div>\n }\n @else {\n @for (artifact of collectionArtifacts; track artifact.ID) {\n <div class=\"artifact-item\"\n [class.selected]=\"IsArtifactSelected(artifact)\"\n (click)=\"selectArtifact(artifact)\">\n <div class=\"artifact-content\">\n <div class=\"artifact-main\">\n <div class=\"artifact-name\">\n <i class=\"fa-solid fa-file-code\"></i>\n <span>{{ artifact.Name }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"artifact-description\">\n {{ artifact.Description }}\n </div>\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Right Version/Preview Panel -->\n @if (selectedArtifact) {\n <div class=\"version-panel\">\n <div class=\"panel-header\">\n <h4><i class=\"fa-solid fa-code-branch\"></i> Versions</h4>\n </div>\n\n <div class=\"version-content\">\n @if (isLoadingVersions) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading versions...\" size=\"small\"></mj-loading>\n </div>\n }\n @else if (artifactVersions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <p>No versions available</p>\n </div>\n }\n @else {\n <div class=\"version-list\">\n @for (version of artifactVersions; track version.ID) {\n <div class=\"version-item\"\n [class.selected]=\"IsVersionSelected(version)\"\n (click)=\"selectVersion(version)\">\n <div class=\"version-number\">\n <i class=\"fa-solid fa-code-branch\"></i>\n Version {{ version.VersionNumber }}\n </div>\n <div class=\"version-meta\">\n <div>{{ version.__mj_UpdatedAt | date:'short' }}</div>\n @if (version.Comments) {\n <div class=\"version-comments\">{{ version.Comments }}</div>\n }\n </div>\n </div>\n }\n </div>\n\n <!-- Preview Section -->\n @if (selectedVersion) {\n <div class=\"preview-section\">\n <div class=\"preview-header\">\n <i class=\"fa-solid fa-eye\"></i> Preview\n </div>\n @if (previewError) {\n <div class=\"preview-error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n {{ previewError }}\n </div>\n }\n @else if (previewSpec) {\n <div class=\"preview-content\">\n <div class=\"preview-item\">\n <strong>Name:</strong> {{ previewSpec.name }}\n </div>\n @if (previewSpec.description) {\n <div class=\"preview-item\">\n <strong>Description:</strong> {{ previewSpec.description }}\n </div>\n }\n @if (previewSpec.type) {\n <div class=\"preview-item\">\n <strong>Type:</strong> {{ previewSpec.type }}\n </div>\n }\n @if (previewSpec.namespace) {\n <div class=\"preview-item\">\n <strong>Namespace:</strong> {{ previewSpec.namespace }}\n </div>\n }\n <div class=\"preview-item\">\n <strong>Has Code:</strong> {{ previewSpec.code ? 'Yes' : 'No' }}\n </div>\n @if (previewSpec.dependencies && previewSpec.dependencies.length > 0) {\n <div class=\"preview-item\">\n <strong>Dependencies:</strong> {{ previewSpec.dependencies.length }}\n </div>\n }\n\n <!-- Full Spec JSON Viewer -->\n <div class=\"preview-json-section\">\n <div class=\"preview-json-header\" (click)=\"toggleJsonPreview()\">\n <i class=\"fa-solid\" [class.fa-chevron-right]=\"!showJsonPreview\" [class.fa-chevron-down]=\"showJsonPreview\"></i>\n <strong>Full Specification (JSON)</strong>\n </div>\n @if (showJsonPreview) {\n <div class=\"preview-json-content\">\n <mj-code-editor\n [value]=\"getPreviewJSON()\"\n [language]=\"'json'\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n [setup]=\"'basic'\"\n style=\"height: 300px; width: 100%;\">\n </mj-code-editor>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n }\n </div>\n </div>\n }\n </div>\n\n <mj-dialog-actions>\n <button mjButton\n variant=\"primary\"\n (click)=\"load()\"\n [disabled]=\"!canLoad()\">\n <i class=\"fa-solid fa-download\"></i>\n Load Component\n </button>\n <button mjButton (click)=\"cancel()\">Cancel</button>\n </mj-dialog-actions>\n</mj-dialog>\n"]}
@@ -1,7 +1,5 @@
1
- import { OnInit, OnDestroy } from '@angular/core';
2
- import { DialogRef } from '@progress/kendo-angular-dialog';
1
+ import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
3
2
  import { MJArtifactEntity, MJArtifactVersionEntity } from '@memberjunction/core-entities';
4
- import { MJNotificationService } from '@memberjunction/ng-notifications';
5
3
  import * as i0 from "@angular/core";
6
4
  export interface ArtifactSelectionResult {
7
5
  artifact: MJArtifactEntity;
@@ -9,8 +7,8 @@ export interface ArtifactSelectionResult {
9
7
  versionToUpdate?: MJArtifactVersionEntity;
10
8
  }
11
9
  export declare class ArtifactSelectionDialogComponent implements OnInit, OnDestroy {
12
- dialog: DialogRef;
13
- private notificationService;
10
+ Visible: boolean;
11
+ Close: EventEmitter<ArtifactSelectionResult | undefined>;
14
12
  artifacts: MJArtifactEntity[];
15
13
  artifactVersions: MJArtifactVersionEntity[];
16
14
  currentPage: number;
@@ -32,7 +30,7 @@ export declare class ArtifactSelectionDialogComponent implements OnInit, OnDestr
32
30
  private currentUser;
33
31
  private destroy$;
34
32
  private searchSubject;
35
- constructor(dialog: DialogRef, notificationService: MJNotificationService);
33
+ private notificationService;
36
34
  ngOnInit(): Promise<void>;
37
35
  ngOnDestroy(): void;
38
36
  loadArtifacts(): Promise<void>;
@@ -61,6 +59,6 @@ export declare class ArtifactSelectionDialogComponent implements OnInit, OnDestr
61
59
  /** Case-insensitive UUID check whether a version is the currently selected version. */
62
60
  IsVersionSelected(version: MJArtifactVersionEntity): boolean;
63
61
  static ɵfac: i0.ɵɵFactoryDeclaration<ArtifactSelectionDialogComponent, never>;
64
- static ɵcmp: i0.ɵɵComponentDeclaration<ArtifactSelectionDialogComponent, "app-artifact-selection-dialog", never, {}, {}, never, never, false, never>;
62
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArtifactSelectionDialogComponent, "app-artifact-selection-dialog", never, { "Visible": { "alias": "Visible"; "required": false; }; }, { "Close": "Close"; }, never, never, false, never>;
65
63
  }
66
64
  //# sourceMappingURL=artifact-selection-dialog.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-selection-dialog.component.d.ts","sourceRoot":"","sources":["../../../src/ComponentStudio/components/artifact-selection-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAI1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;;AAEzE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAAC;IACzC,eAAe,CAAC,EAAE,uBAAuB,CAAC;CAC3C;AAED,qBAMa,gCAAiC,YAAW,MAAM,EAAE,SAAS;IAmC/D,MAAM,EAAE,SAAS;IACxB,OAAO,CAAC,mBAAmB;IAlC7B,SAAS,EAAE,gBAAgB,EAAE,CAAM;IACnC,gBAAgB,EAAE,uBAAuB,EAAE,CAAM;IAGjD,WAAW,SAAK;IAChB,QAAQ,SAAM;IACd,cAAc,SAAK;IACnB,YAAY,UAAS;IAGrB,SAAS,UAAQ;IACjB,UAAU,SAAM;IAChB,SAAS,SAAM;IACf,oBAAoB,SAAM;IAC1B,mBAAmB,UAAS;IAC5B,sBAAsB,UAAS;IAI/B,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACjD,eAAe,EAAE,uBAAuB,GAAG,IAAI,CAAQ;IACvD,aAAa,EAAE,KAAK,GAAG,QAAQ,CAAS;IAGxC,eAAe,SAAM;IACrB,sBAAsB,SAAM;IAE5B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,aAAa,CAAyB;gBAGrC,MAAM,EAAE,SAAS,EAChB,mBAAmB,EAAE,qBAAqB;IAG9C,QAAQ;IAad,WAAW;IAKL,aAAa;IAiCnB,OAAO,CAAC,eAAe,CAAgC;IAC1C,eAAe;IA+B5B,eAAe;IAMT,cAAc,CAAC,QAAQ,EAAE,gBAAgB;IAUzC,YAAY,CAAC,UAAU,EAAE,MAAM;IAmBrC,oBAAoB,IAAI,MAAM;IAMxB,QAAQ;IAOR,YAAY;IAOlB,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,OAAO;IAIxB,aAAa,IAAI,MAAM;IAIvB,iBAAiB;IAIjB,aAAa;IAIb,oBAAoB;IAQpB,oBAAoB,IAAI,MAAM;IAQ9B,OAAO,IAAI,OAAO;IAclB,iBAAiB,IAAI,MAAM;IAY3B,MAAM;IAIA,IAAI;YAqCI,iBAAiB;IAqD/B,0FAA0F;IAC1F,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO;IAIvD,uFAAuF;IACvF,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO;yCAnVjD,gCAAgC;2CAAhC,gCAAgC;CAsV5C"}
1
+ {"version":3,"file":"artifact-selection-dialog.component.d.ts","sourceRoot":"","sources":["../../../src/ComponentStudio/components/artifact-selection-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAiB,YAAY,EAAU,MAAM,eAAe,CAAC;AAElG,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;;AAM1F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAAC;IACzC,eAAe,CAAC,EAAE,uBAAuB,CAAC;CAC3C;AAED,qBAMa,gCAAiC,YAAW,MAAM,EAAE,SAAS;IAC/D,OAAO,UAAS;IACf,KAAK,oDAA2D;IAG1E,SAAS,EAAE,gBAAgB,EAAE,CAAM;IACnC,gBAAgB,EAAE,uBAAuB,EAAE,CAAM;IAGjD,WAAW,SAAK;IAChB,QAAQ,SAAM;IACd,cAAc,SAAK;IACnB,YAAY,UAAS;IAGrB,SAAS,UAAQ;IACjB,UAAU,SAAM;IAChB,SAAS,SAAM;IACf,oBAAoB,SAAM;IAC1B,mBAAmB,UAAS;IAC5B,sBAAsB,UAAS;IAI/B,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACjD,eAAe,EAAE,uBAAuB,GAAG,IAAI,CAAQ;IACvD,aAAa,EAAE,KAAK,GAAG,QAAQ,CAAS;IAGxC,eAAe,SAAM;IACrB,sBAAsB,SAAM;IAE5B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,aAAa,CAAyB;IAE9C,OAAO,CAAC,mBAAmB,CAAiC;IAEtD,QAAQ;IAad,WAAW;IAKL,aAAa;IAiCnB,OAAO,CAAC,eAAe,CAAgC;IAC1C,eAAe;IA+B5B,eAAe;IAMT,cAAc,CAAC,QAAQ,EAAE,gBAAgB;IAUzC,YAAY,CAAC,UAAU,EAAE,MAAM;IAmBrC,oBAAoB,IAAI,MAAM;IAMxB,QAAQ;IAOR,YAAY;IAOlB,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,OAAO;IAIxB,aAAa,IAAI,MAAM;IAIvB,iBAAiB;IAIjB,aAAa;IAIb,oBAAoB;IAQpB,oBAAoB,IAAI,MAAM;IAQ9B,OAAO,IAAI,OAAO;IAclB,iBAAiB,IAAI,MAAM;IAY3B,MAAM;IAIA,IAAI;YAqCI,iBAAiB;IAqD/B,0FAA0F;IAC1F,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO;IAIvD,uFAAuF;IACvF,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO;yCAnVjD,gCAAgC;2CAAhC,gCAAgC;CAsV5C"}