@memberjunction/ng-dashboards 5.11.0 → 5.12.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 (227) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.d.ts +34 -2
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +586 -223
  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/agents/agent-filter-panel.component.d.ts +8 -0
  7. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +1 -1
  8. package/dist/AI/components/agents/agent-filter-panel.component.js +85 -52
  9. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  10. package/dist/AI/components/charts/performance-heatmap.component.d.ts +1 -0
  11. package/dist/AI/components/charts/performance-heatmap.component.d.ts.map +1 -1
  12. package/dist/AI/components/charts/performance-heatmap.component.js +27 -5
  13. package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
  14. package/dist/AI/components/charts/time-series-chart.component.d.ts +5 -0
  15. package/dist/AI/components/charts/time-series-chart.component.d.ts.map +1 -1
  16. package/dist/AI/components/charts/time-series-chart.component.js +23 -8
  17. package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
  18. package/dist/AI/components/execution-monitoring.component.js +2 -2
  19. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  20. package/dist/AI/components/models/model-management.component.js +2 -2
  21. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +2 -2
  22. package/dist/AI/components/prompts/prompt-filter-panel.component.js +2 -2
  23. package/dist/AI/components/prompts/prompt-management.component.js +3 -3
  24. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  25. package/dist/AI/components/prompts/prompt-version-control.component.js +2 -2
  26. package/dist/AI/components/requests/agent-requests-resource.component.d.ts +83 -0
  27. package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -0
  28. package/dist/AI/components/requests/agent-requests-resource.component.js +547 -0
  29. package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -0
  30. package/dist/AI/components/system/system-config-filter-panel.component.js +2 -2
  31. package/dist/AI/components/system/system-configuration.component.js +2 -2
  32. package/dist/AI/components/widgets/kpi-card.component.js +7 -7
  33. package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
  34. package/dist/AI/components/widgets/live-execution-widget.component.d.ts.map +1 -1
  35. package/dist/AI/components/widgets/live-execution-widget.component.js +6 -6
  36. package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
  37. package/dist/AI/index.d.ts +1 -0
  38. package/dist/AI/index.d.ts.map +1 -1
  39. package/dist/AI/index.js +2 -0
  40. package/dist/AI/index.js.map +1 -1
  41. package/dist/APIKeys/api-applications-panel.component.js +3 -3
  42. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  43. package/dist/APIKeys/api-key-create-dialog.component.js +3 -3
  44. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  45. package/dist/APIKeys/api-key-edit-panel.component.js +1 -1
  46. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  47. package/dist/APIKeys/api-key-list.component.js +3 -3
  48. package/dist/APIKeys/api-key-list.component.js.map +1 -1
  49. package/dist/APIKeys/api-keys-resource.component.js +1 -1
  50. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  51. package/dist/APIKeys/api-scopes-panel.component.js +2 -2
  52. package/dist/APIKeys/api-usage-panel.component.js +2 -2
  53. package/dist/Actions/components/actions-overview.component.js +2 -2
  54. package/dist/Actions/components/execution-monitoring.component.js +2 -2
  55. package/dist/Actions/components/explorer/action-breadcrumb.component.js +2 -2
  56. package/dist/Actions/components/explorer/action-card.component.js +2 -2
  57. package/dist/Actions/components/explorer/action-explorer.component.js +2 -2
  58. package/dist/Actions/components/explorer/action-list-item.component.js +2 -2
  59. package/dist/Actions/components/explorer/action-toolbar.component.js +2 -2
  60. package/dist/Actions/components/explorer/action-tree-panel.component.js +2 -2
  61. package/dist/Actions/components/explorer/new-action-panel.component.js +2 -2
  62. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
  63. package/dist/Actions/components/explorer/new-category-panel.component.js +2 -2
  64. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
  65. package/dist/Communication/communication-dashboard.component.js +2 -2
  66. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  67. package/dist/Communication/communication-logs-resource.component.js +3 -3
  68. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  69. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  70. package/dist/Communication/communication-monitor-resource.component.js +5 -5
  71. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  72. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  73. package/dist/Communication/communication-providers-resource.component.js +3 -3
  74. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  75. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  76. package/dist/Communication/communication-runs-resource.component.js +3 -3
  77. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  78. package/dist/Communication/communication-templates-resource.component.js +2 -2
  79. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  80. package/dist/ComponentStudio/component-studio-dashboard.component.js +2 -2
  81. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +2 -2
  82. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +2 -2
  83. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +2 -2
  84. package/dist/ComponentStudio/components/browser/component-browser.component.js +2 -2
  85. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +2 -2
  86. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
  87. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +2 -2
  88. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
  89. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +2 -2
  90. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
  91. package/dist/ComponentStudio/components/editors/spec-editor.component.js +2 -2
  92. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
  93. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +2 -2
  94. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +2 -2
  95. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
  96. package/dist/ComponentStudio/components/text-import-dialog.component.js +2 -2
  97. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  98. package/dist/ComponentStudio/components/workspace/component-preview.component.js +2 -2
  99. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +2 -2
  100. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
  101. package/dist/Credentials/components/credentials-audit-resource.component.js +9 -9
  102. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  103. package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
  104. package/dist/Credentials/components/credentials-categories-resource.component.js +11 -3
  105. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  106. package/dist/Credentials/components/credentials-list-resource.component.js +2 -2
  107. package/dist/Credentials/components/credentials-overview-resource.component.d.ts.map +1 -1
  108. package/dist/Credentials/components/credentials-overview-resource.component.js +12 -11
  109. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  110. package/dist/Credentials/components/credentials-types-resource.component.js +9 -9
  111. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  112. package/dist/Credentials/credentials-dashboard.component.js +2 -2
  113. package/dist/DashboardBrowser/dashboard-browser-resource.component.js +2 -2
  114. package/dist/DashboardBrowser/dashboard-share-dialog.component.js +2 -2
  115. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +2 -2
  116. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +2 -2
  117. package/dist/DataExplorer/components/view-selector/view-selector.component.js +2 -2
  118. package/dist/DataExplorer/data-explorer-dashboard.component.js +4 -4
  119. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  120. package/dist/Home/home-dashboard.component.js +2 -2
  121. package/dist/Integration/components/activity/activity.component.d.ts +1 -1
  122. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  123. package/dist/Integration/components/activity/activity.component.js +5 -5
  124. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  125. package/dist/Integration/components/connections/connections.component.d.ts +31 -2
  126. package/dist/Integration/components/connections/connections.component.d.ts.map +1 -1
  127. package/dist/Integration/components/connections/connections.component.js +753 -412
  128. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  129. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +3 -3
  130. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  131. package/dist/Integration/components/overview/overview.component.d.ts +0 -1
  132. package/dist/Integration/components/overview/overview.component.d.ts.map +1 -1
  133. package/dist/Integration/components/overview/overview.component.js +3 -6
  134. package/dist/Integration/components/overview/overview.component.js.map +1 -1
  135. package/dist/Integration/components/pipelines/pipelines.component.js +3 -3
  136. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  137. package/dist/Integration/components/schedules/schedules.component.d.ts +20 -0
  138. package/dist/Integration/components/schedules/schedules.component.d.ts.map +1 -1
  139. package/dist/Integration/components/schedules/schedules.component.js +97 -5
  140. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  141. package/dist/Integration/components/visual-editor/visual-editor.component.js +2 -2
  142. package/dist/Integration/components/widgets/integration-card.component.d.ts.map +1 -1
  143. package/dist/Integration/components/widgets/integration-card.component.js +5 -1
  144. package/dist/Integration/components/widgets/integration-card.component.js.map +1 -1
  145. package/dist/Integration/components/widgets/run-history-panel.component.js +2 -2
  146. package/dist/Integration/components/widgets/run-history-panel.component.js.map +1 -1
  147. package/dist/Integration/integration.module.d.ts +2 -1
  148. package/dist/Integration/integration.module.d.ts.map +1 -1
  149. package/dist/Integration/integration.module.js +7 -3
  150. package/dist/Integration/integration.module.js.map +1 -1
  151. package/dist/Integration/services/integration-data.service.d.ts +27 -2
  152. package/dist/Integration/services/integration-data.service.d.ts.map +1 -1
  153. package/dist/Integration/services/integration-data.service.js +107 -4
  154. package/dist/Integration/services/integration-data.service.js.map +1 -1
  155. package/dist/Lists/components/lists-browse-resource.component.js +2 -2
  156. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  157. package/dist/Lists/components/lists-categories-resource.component.js +2 -2
  158. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  159. package/dist/Lists/components/lists-my-lists-resource.component.js +2 -2
  160. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  161. package/dist/Lists/components/lists-operations-resource.component.js +2 -2
  162. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  163. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +3 -3
  164. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  165. package/dist/MCP/components/mcp-connection-dialog.component.js +2 -2
  166. package/dist/MCP/components/mcp-log-detail-panel.component.js +2 -2
  167. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
  168. package/dist/MCP/components/mcp-server-dialog.component.js +2 -2
  169. package/dist/MCP/components/mcp-test-tool-dialog.component.js +2 -2
  170. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
  171. package/dist/MCP/mcp-dashboard.component.js +2 -2
  172. package/dist/MCP/mcp-filter-panel.component.js +2 -2
  173. package/dist/QueryBrowser/query-browser-resource.component.js +7 -7
  174. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  175. package/dist/Scheduling/components/index.d.ts +0 -1
  176. package/dist/Scheduling/components/index.d.ts.map +1 -1
  177. package/dist/Scheduling/components/index.js +0 -1
  178. package/dist/Scheduling/components/index.js.map +1 -1
  179. package/dist/Scheduling/components/scheduling-activity.component.js +2 -2
  180. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +6 -9
  181. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  182. package/dist/Scheduling/components/scheduling-jobs.component.js +118 -110
  183. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  184. package/dist/Scheduling/components/scheduling-overview.component.js +3 -3
  185. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  186. package/dist/Scheduling/scheduling-dashboard.component.js +2 -2
  187. package/dist/SystemDiagnostics/system-diagnostics.component.js +4 -4
  188. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  189. package/dist/Testing/components/testing-analytics.component.js +2 -2
  190. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  191. package/dist/Testing/components/testing-dashboard-tab.component.js +4 -4
  192. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  193. package/dist/Testing/components/testing-explorer.component.js +2 -2
  194. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  195. package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
  196. package/dist/Testing/components/testing-review.component.js +5 -5
  197. package/dist/Testing/components/testing-review.component.js.map +1 -1
  198. package/dist/Testing/components/testing-runs.component.js +2 -2
  199. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  200. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +2 -2
  201. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
  202. package/dist/Testing/components/widgets/suite-tree.component.js +4 -4
  203. package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
  204. package/dist/Testing/components/widgets/test-run-detail-panel.component.js +2 -2
  205. package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
  206. package/dist/Testing/testing-dashboard.component.js +2 -2
  207. package/dist/VersionHistory/components/diff-resource.component.js +2 -2
  208. package/dist/VersionHistory/components/graph-resource.component.js +2 -2
  209. package/dist/VersionHistory/components/labels-resource.component.js +3 -3
  210. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  211. package/dist/VersionHistory/components/restore-resource.component.js +3 -3
  212. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  213. package/dist/__tests__/integration-data-service.test.js +1 -0
  214. package/dist/__tests__/integration-data-service.test.js.map +1 -1
  215. package/dist/module.d.ts +52 -49
  216. package/dist/module.d.ts.map +1 -1
  217. package/dist/module.js +25 -6
  218. package/dist/module.js.map +1 -1
  219. package/dist/public-api.d.ts +1 -1
  220. package/dist/public-api.d.ts.map +1 -1
  221. package/dist/public-api.js +1 -1
  222. package/dist/public-api.js.map +1 -1
  223. package/package.json +42 -40
  224. package/dist/Scheduling/components/job-slideout.component.d.ts +0 -45
  225. package/dist/Scheduling/components/job-slideout.component.d.ts.map +0 -1
  226. package/dist/Scheduling/components/job-slideout.component.js +0 -459
  227. package/dist/Scheduling/components/job-slideout.component.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"run-history-panel.component.js","sourceRoot":"","sources":["../../../../src/Integration/components/widgets/run-history-panel.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, OnChanges, SimpleChanges, inject } from '@angular/core';\nimport { UUIDsEqual } from '@memberjunction/global';\nimport { IRunViewProvider } from '@memberjunction/core';\nimport { IntegrationDataService, IntegrationRunRow, RunDetailRow } from '../../services/integration-data.service';\n\ntype RunStatusColorType = 'amber' | 'green' | 'red';\n\n@Component({\n standalone: false,\n selector: 'app-run-history-panel',\n template: `\n @if (IsLoading) {\n <div class=\"history-loading\">\n <mj-loading text=\"Loading run history...\" size=\"small\"></mj-loading>\n </div>\n } @else if (Runs.length === 0) {\n <div class=\"history-empty\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n <p>No runs recorded yet</p>\n </div>\n } @else {\n <div class=\"history-panel\">\n <table class=\"history-table\">\n <thead>\n <tr>\n <th>Started</th>\n <th>Status</th>\n <th>Duration</th>\n <th>Records</th>\n <th>Run By</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (run of Runs; track run.ID) {\n <tr class=\"run-row\" [class.selected]=\"IsSelectedRun(run.ID)\"\n (click)=\"OnRunClick(run)\">\n <td>{{ FormatDate(run.StartedAt) }}</td>\n <td>\n <span class=\"run-status-chip\" [class]=\"'chip-' + StatusColor(run)\">\n <i [class]=\"StatusIcon(run)\"></i>\n {{ run.Status }}\n </span>\n </td>\n <td class=\"duration-cell\">{{ FormatDuration(run) }}</td>\n <td>{{ run.TotalRecords | number }}</td>\n <td>{{ run.RunByUser }}</td>\n <td>\n <i class=\"fa-solid fa-chevron-right detail-arrow\"\n [class.rotated]=\"IsSelectedRun(run.ID)\"></i>\n </td>\n </tr>\n @if (IsSelectedRun(run.ID) && IsLoadingDetails) {\n <tr class=\"detail-row\">\n <td colspan=\"6\">\n <mj-loading text=\"Loading details...\" size=\"small\"></mj-loading>\n </td>\n </tr>\n }\n @if (IsSelectedRun(run.ID) && !IsLoadingDetails && RunDetails.length > 0) {\n <tr class=\"detail-row\">\n <td colspan=\"6\">\n <div class=\"detail-panel\">\n <h4>Entity Breakdown</h4>\n <table class=\"detail-table\">\n <thead>\n <tr>\n <th>Entity</th>\n <th>Processed</th>\n <th>Created</th>\n <th>Updated</th>\n <th>Errors</th>\n </tr>\n </thead>\n <tbody>\n @for (detail of RunDetails; track detail.EntityID) {\n <tr>\n <td>{{ detail.Entity }}</td>\n <td>{{ detail.RecordsProcessed | number }}</td>\n <td>{{ detail.RecordsCreated | number }}</td>\n <td>{{ detail.RecordsUpdated | number }}</td>\n <td [class.error-count]=\"detail.RecordsErrored > 0\">\n {{ detail.RecordsErrored | number }}\n </td>\n </tr>\n }\n </tbody>\n </table>\n\n <!-- Error details expandable -->\n @if (run.ErrorLog) {\n <div class=\"error-details-section\">\n <button class=\"error-toggle\" (click)=\"ToggleErrorLog($event)\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n Error Details\n <i class=\"fa-solid fa-chevron-down toggle-icon\"\n [class.rotated]=\"ShowErrorLog\"></i>\n </button>\n @if (ShowErrorLog) {\n <pre class=\"error-log\">{{ run.ErrorLog }}</pre>\n }\n </div>\n }\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n }\n `,\n styles: [`\n .history-loading, .history-empty {\n padding: 24px; text-align: center; color: #888;\n }\n .history-empty i { font-size: 24px; margin-bottom: 8px; display: block; }\n\n .history-panel { margin-top: 8px; }\n\n .history-table {\n width: 100%; border-collapse: collapse; font-size: 13px;\n }\n .history-table th {\n text-align: left; padding: 6px 8px;\n border-bottom: 2px solid #eee; color: #666; font-weight: 600;\n }\n .run-row { cursor: pointer; }\n .run-row:hover { background: #f8f9fa; }\n .run-row.selected { background: #f0f4ff; }\n .run-row td { padding: 6px 8px; border-bottom: 1px solid #f0f0f0; }\n\n /* Status Chips with icon */\n .run-status-chip {\n font-size: 11px; font-weight: 600; padding: 3px 8px;\n border-radius: 10px; display: inline-flex; align-items: center; gap: 4px;\n white-space: nowrap;\n }\n .chip-green { background: #e6f9ed; color: #1b7a3d; }\n .chip-amber { background: #fff7e0; color: #b5850a; }\n .chip-red { background: #fde8e8; color: #c62828; }\n\n .duration-cell {\n font-variant-numeric: tabular-nums;\n color: #555;\n }\n\n .detail-arrow { transition: transform 0.2s; font-size: 11px; color: #999; }\n .detail-arrow.rotated { transform: rotate(90deg); }\n\n .detail-row td { padding: 0; }\n .detail-panel {\n padding: 12px 16px; background: #fafbfc;\n border-left: 3px solid var(--primary-color, #4a6cf7);\n }\n .detail-panel h4 { margin: 0 0 8px 0; font-size: 13px; }\n\n .detail-table {\n width: 100%; border-collapse: collapse; font-size: 12px;\n }\n .detail-table th {\n text-align: left; padding: 4px 6px; color: #888; font-weight: 500;\n }\n .detail-table td { padding: 4px 6px; }\n .error-count { color: #c62828; font-weight: 600; }\n\n /* Error Details */\n .error-details-section {\n margin-top: 12px;\n border-top: 1px solid #eee;\n padding-top: 8px;\n }\n .error-toggle {\n background: none; border: none; cursor: pointer;\n font-size: 12px; font-weight: 600; color: #c62828;\n display: flex; align-items: center; gap: 6px;\n padding: 4px 0;\n }\n .error-toggle:hover { text-decoration: underline; }\n .toggle-icon {\n transition: transform 0.2s; font-size: 10px;\n }\n .toggle-icon.rotated { transform: rotate(180deg); }\n .error-log {\n margin: 8px 0 0 0; padding: 10px;\n background: #fff0f0; border: 1px solid #fdd;\n border-radius: 4px; font-size: 11px;\n white-space: pre-wrap; word-break: break-word;\n max-height: 200px; overflow-y: auto;\n color: #7a1111;\n }\n `]\n})\nexport class RunHistoryPanelComponent implements OnChanges {\n @Input() CompanyIntegrationID: string | null = null;\n @Input() ViewProvider: IRunViewProvider | null = null;\n\n Runs: IntegrationRunRow[] = [];\n RunDetails: RunDetailRow[] = [];\n SelectedRunID: string | null = null;\n IsLoading = false;\n IsLoadingDetails = false;\n ShowErrorLog = false;\n\n private dataService = inject(IntegrationDataService);\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['CompanyIntegrationID'] && this.CompanyIntegrationID) {\n this.LoadRuns();\n }\n }\n\n async LoadRuns(): Promise<void> {\n if (!this.CompanyIntegrationID) return;\n this.IsLoading = true;\n this.SelectedRunID = null;\n this.RunDetails = [];\n this.ShowErrorLog = false;\n try {\n this.Runs = await this.dataService.LoadRunHistory(\n this.CompanyIntegrationID, 10, this.ViewProvider\n );\n } finally {\n this.IsLoading = false;\n }\n }\n\n async OnRunClick(run: IntegrationRunRow): Promise<void> {\n if (UUIDsEqual(this.SelectedRunID, run.ID)) {\n this.SelectedRunID = null;\n this.RunDetails = [];\n this.ShowErrorLog = false;\n return;\n }\n this.SelectedRunID = run.ID;\n this.IsLoadingDetails = true;\n this.RunDetails = [];\n this.ShowErrorLog = false;\n try {\n this.RunDetails = await this.dataService.LoadRunDetails(run.ID, this.ViewProvider);\n } finally {\n this.IsLoadingDetails = false;\n }\n }\n\n IsSelectedRun(id: string): boolean {\n return UUIDsEqual(this.SelectedRunID, id);\n }\n\n StatusColor(run: IntegrationRunRow): RunStatusColorType {\n if (run.Status === 'Success') return 'green';\n if (run.Status === 'Failed') return 'red';\n return 'amber';\n }\n\n StatusIcon(run: IntegrationRunRow): string {\n if (run.Status === 'Success') return 'fa-solid fa-circle-check';\n if (run.Status === 'Failed') return 'fa-solid fa-circle-xmark';\n if (run.Status === 'In Progress') return 'fa-solid fa-spinner fa-spin';\n return 'fa-solid fa-clock';\n }\n\n FormatDate(dateStr: string | null): string {\n if (!dateStr) return '--';\n const d = new Date(dateStr);\n return d.toLocaleString(undefined, {\n month: 'short', day: 'numeric',\n hour: '2-digit', minute: '2-digit'\n });\n }\n\n FormatDuration(run: IntegrationRunRow): string {\n if (!run.StartedAt || !run.EndedAt) return '--';\n const ms = new Date(run.EndedAt).getTime() - new Date(run.StartedAt).getTime();\n return this.dataService.FormatDuration(ms);\n }\n\n ToggleErrorLog(event: Event): void {\n event.stopPropagation();\n this.ShowErrorLog = !this.ShowErrorLog;\n }\n}\n"]}
1
+ {"version":3,"file":"run-history-panel.component.js","sourceRoot":"","sources":["../../../../src/Integration/components/widgets/run-history-panel.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, OnChanges, SimpleChanges, inject } from '@angular/core';\nimport { UUIDsEqual } from '@memberjunction/global';\nimport { IRunViewProvider } from '@memberjunction/core';\nimport { IntegrationDataService, IntegrationRunRow, RunDetailRow } from '../../services/integration-data.service';\n\ntype RunStatusColorType = 'amber' | 'green' | 'red';\n\n@Component({\n standalone: false,\n selector: 'app-run-history-panel',\n template: `\n @if (IsLoading) {\n <div class=\"history-loading\">\n <mj-loading text=\"Loading run history...\" size=\"small\"></mj-loading>\n </div>\n } @else if (Runs.length === 0) {\n <div class=\"history-empty\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n <p>No runs recorded yet</p>\n </div>\n } @else {\n <div class=\"history-panel\">\n <table class=\"history-table\">\n <thead>\n <tr>\n <th>Started</th>\n <th>Status</th>\n <th>Duration</th>\n <th>Records</th>\n <th>Run By</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (run of Runs; track run.ID) {\n <tr class=\"run-row\" [class.selected]=\"IsSelectedRun(run.ID)\"\n (click)=\"OnRunClick(run)\">\n <td>{{ FormatDate(run.StartedAt) }}</td>\n <td>\n <span class=\"run-status-chip\" [class]=\"'chip-' + StatusColor(run)\">\n <i [class]=\"StatusIcon(run)\"></i>\n {{ run.Status }}\n </span>\n </td>\n <td class=\"duration-cell\">{{ FormatDuration(run) }}</td>\n <td>{{ run.TotalRecords | number }}</td>\n <td>{{ run.RunByUser }}</td>\n <td>\n <i class=\"fa-solid fa-chevron-right detail-arrow\"\n [class.rotated]=\"IsSelectedRun(run.ID)\"></i>\n </td>\n </tr>\n @if (IsSelectedRun(run.ID) && IsLoadingDetails) {\n <tr class=\"detail-row\">\n <td colspan=\"6\">\n <mj-loading text=\"Loading details...\" size=\"small\"></mj-loading>\n </td>\n </tr>\n }\n @if (IsSelectedRun(run.ID) && !IsLoadingDetails && RunDetails.length > 0) {\n <tr class=\"detail-row\">\n <td colspan=\"6\">\n <div class=\"detail-panel\">\n <h4>Entity Breakdown</h4>\n <table class=\"detail-table\">\n <thead>\n <tr>\n <th>Entity</th>\n <th>Processed</th>\n <th>Created</th>\n <th>Updated</th>\n <th>Errors</th>\n </tr>\n </thead>\n <tbody>\n @for (detail of RunDetails; track detail.EntityID) {\n <tr>\n <td>{{ detail.Entity }}</td>\n <td>{{ detail.RecordsProcessed | number }}</td>\n <td>{{ detail.RecordsCreated | number }}</td>\n <td>{{ detail.RecordsUpdated | number }}</td>\n <td [class.error-count]=\"detail.RecordsErrored > 0\">\n {{ detail.RecordsErrored | number }}\n </td>\n </tr>\n }\n </tbody>\n </table>\n\n <!-- Error details expandable -->\n @if (run.ErrorLog) {\n <div class=\"error-details-section\">\n <button class=\"error-toggle\" (click)=\"ToggleErrorLog($event)\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n Error Details\n <i class=\"fa-solid fa-chevron-down toggle-icon\"\n [class.rotated]=\"ShowErrorLog\"></i>\n </button>\n @if (ShowErrorLog) {\n <pre class=\"error-log\">{{ run.ErrorLog }}</pre>\n }\n </div>\n }\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n }\n `,\n styles: [`\n .history-loading, .history-empty {\n padding: 24px; text-align: center; color: var(--mj-text-muted);\n }\n .history-empty i { font-size: 24px; margin-bottom: 8px; display: block; }\n\n .history-panel { margin-top: 8px; }\n\n .history-table {\n width: 100%; border-collapse: collapse; font-size: 13px;\n }\n .history-table th {\n text-align: left; padding: 6px 8px;\n border-bottom: 2px solid var(--mj-border-default); color: var(--mj-text-secondary); font-weight: 600;\n }\n .run-row { cursor: pointer; }\n .run-row:hover { background: var(--mj-bg-surface-sunken); }\n .run-row.selected { background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface)); }\n .run-row td { padding: 6px 8px; border-bottom: 1px solid var(--mj-border-default); }\n\n /* Status Chips with icon */\n .run-status-chip {\n font-size: 11px; font-weight: 600; padding: 3px 8px;\n border-radius: 10px; display: inline-flex; align-items: center; gap: 4px;\n white-space: nowrap;\n }\n .chip-green { background: #e6f9ed; color: #1b7a3d; }\n .chip-amber { background: #fff7e0; color: #b5850a; }\n .chip-red { background: #fde8e8; color: #c62828; }\n\n .duration-cell {\n font-variant-numeric: tabular-nums;\n color: var(--mj-text-secondary);\n }\n\n .detail-arrow { transition: transform 0.2s; font-size: 11px; color: var(--mj-text-muted); }\n .detail-arrow.rotated { transform: rotate(90deg); }\n\n .detail-row td { padding: 0; }\n .detail-panel {\n padding: 12px 16px; background: var(--mj-bg-surface-sunken);\n border-left: 3px solid var(--mj-brand-primary);\n }\n .detail-panel h4 { margin: 0 0 8px 0; font-size: 13px; }\n\n .detail-table {\n width: 100%; border-collapse: collapse; font-size: 12px;\n }\n .detail-table th {\n text-align: left; padding: 4px 6px; color: var(--mj-text-muted); font-weight: 500;\n }\n .detail-table td { padding: 4px 6px; }\n .error-count { color: #c62828; font-weight: 600; }\n\n /* Error Details */\n .error-details-section {\n margin-top: 12px;\n border-top: 1px solid var(--mj-border-default);\n padding-top: 8px;\n }\n .error-toggle {\n background: none; border: none; cursor: pointer;\n font-size: 12px; font-weight: 600; color: #c62828;\n display: flex; align-items: center; gap: 6px;\n padding: 4px 0;\n }\n .error-toggle:hover { text-decoration: underline; }\n .toggle-icon {\n transition: transform 0.2s; font-size: 10px;\n }\n .toggle-icon.rotated { transform: rotate(180deg); }\n .error-log {\n margin: 8px 0 0 0; padding: 10px;\n background: #fff0f0; border: 1px solid #fdd;\n border-radius: 4px; font-size: 11px;\n white-space: pre-wrap; word-break: break-word;\n max-height: 200px; overflow-y: auto;\n color: #7a1111;\n }\n `]\n})\nexport class RunHistoryPanelComponent implements OnChanges {\n @Input() CompanyIntegrationID: string | null = null;\n @Input() ViewProvider: IRunViewProvider | null = null;\n\n Runs: IntegrationRunRow[] = [];\n RunDetails: RunDetailRow[] = [];\n SelectedRunID: string | null = null;\n IsLoading = false;\n IsLoadingDetails = false;\n ShowErrorLog = false;\n\n private dataService = inject(IntegrationDataService);\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['CompanyIntegrationID'] && this.CompanyIntegrationID) {\n this.LoadRuns();\n }\n }\n\n async LoadRuns(): Promise<void> {\n if (!this.CompanyIntegrationID) return;\n this.IsLoading = true;\n this.SelectedRunID = null;\n this.RunDetails = [];\n this.ShowErrorLog = false;\n try {\n this.Runs = await this.dataService.LoadRunHistory(\n this.CompanyIntegrationID, 10, this.ViewProvider\n );\n } finally {\n this.IsLoading = false;\n }\n }\n\n async OnRunClick(run: IntegrationRunRow): Promise<void> {\n if (UUIDsEqual(this.SelectedRunID, run.ID)) {\n this.SelectedRunID = null;\n this.RunDetails = [];\n this.ShowErrorLog = false;\n return;\n }\n this.SelectedRunID = run.ID;\n this.IsLoadingDetails = true;\n this.RunDetails = [];\n this.ShowErrorLog = false;\n try {\n this.RunDetails = await this.dataService.LoadRunDetails(run.ID, this.ViewProvider);\n } finally {\n this.IsLoadingDetails = false;\n }\n }\n\n IsSelectedRun(id: string): boolean {\n return UUIDsEqual(this.SelectedRunID, id);\n }\n\n StatusColor(run: IntegrationRunRow): RunStatusColorType {\n if (run.Status === 'Success') return 'green';\n if (run.Status === 'Failed') return 'red';\n return 'amber';\n }\n\n StatusIcon(run: IntegrationRunRow): string {\n if (run.Status === 'Success') return 'fa-solid fa-circle-check';\n if (run.Status === 'Failed') return 'fa-solid fa-circle-xmark';\n if (run.Status === 'In Progress') return 'fa-solid fa-spinner fa-spin';\n return 'fa-solid fa-clock';\n }\n\n FormatDate(dateStr: string | null): string {\n if (!dateStr) return '--';\n const d = new Date(dateStr);\n return d.toLocaleString(undefined, {\n month: 'short', day: 'numeric',\n hour: '2-digit', minute: '2-digit'\n });\n }\n\n FormatDuration(run: IntegrationRunRow): string {\n if (!run.StartedAt || !run.EndedAt) return '--';\n const ms = new Date(run.EndedAt).getTime() - new Date(run.StartedAt).getTime();\n return this.dataService.FormatDuration(ms);\n }\n\n ToggleErrorLog(event: Event): void {\n event.stopPropagation();\n this.ShowErrorLog = !this.ShowErrorLog;\n }\n}\n"]}
@@ -18,9 +18,10 @@ import * as i16 from "@progress/kendo-angular-layout";
18
18
  import * as i17 from "@memberjunction/ng-shared-generic";
19
19
  import * as i18 from "@memberjunction/ng-credentials";
20
20
  import * as i19 from "@memberjunction/ng-trees";
21
+ import * as i20 from "@memberjunction/ng-scheduling";
21
22
  export declare class IntegrationModule {
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<IntegrationModule, never>;
23
- static ɵmod: i0.ɵɵNgModuleDeclaration<IntegrationModule, [typeof i1.OverviewComponent, typeof i2.PipelinesComponent, typeof i3.ConnectionsComponent, typeof i4.MappingWorkspaceComponent, typeof i5.ActivityComponent, typeof i6.SchedulesComponent, typeof i7.IntegrationCardComponent, typeof i8.RunHistoryPanelComponent, typeof i9.VisualFieldEditorComponent], [typeof i10.CommonModule, typeof i11.FormsModule, typeof i12.ButtonsModule, typeof i13.DropDownsModule, typeof i14.InputsModule, typeof i15.GridModule, typeof i16.LayoutModule, typeof i17.SharedGenericModule, typeof i18.CredentialsModule, typeof i19.NgTreesModule], [typeof i1.OverviewComponent, typeof i2.PipelinesComponent, typeof i3.ConnectionsComponent, typeof i4.MappingWorkspaceComponent, typeof i5.ActivityComponent, typeof i6.SchedulesComponent, typeof i7.IntegrationCardComponent, typeof i8.RunHistoryPanelComponent, typeof i9.VisualFieldEditorComponent]>;
24
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IntegrationModule, [typeof i1.OverviewComponent, typeof i2.PipelinesComponent, typeof i3.ConnectionsComponent, typeof i4.MappingWorkspaceComponent, typeof i5.ActivityComponent, typeof i6.SchedulesComponent, typeof i7.IntegrationCardComponent, typeof i8.RunHistoryPanelComponent, typeof i9.VisualFieldEditorComponent], [typeof i10.CommonModule, typeof i11.FormsModule, typeof i12.ButtonsModule, typeof i13.DropDownsModule, typeof i14.InputsModule, typeof i15.GridModule, typeof i16.LayoutModule, typeof i17.SharedGenericModule, typeof i18.CredentialsModule, typeof i19.NgTreesModule, typeof i20.SchedulingModule], [typeof i1.OverviewComponent, typeof i2.PipelinesComponent, typeof i3.ConnectionsComponent, typeof i4.MappingWorkspaceComponent, typeof i5.ActivityComponent, typeof i6.SchedulesComponent, typeof i7.IntegrationCardComponent, typeof i8.RunHistoryPanelComponent, typeof i9.VisualFieldEditorComponent]>;
24
25
  static ɵinj: i0.ɵɵInjectorDeclaration<IntegrationModule>;
25
26
  }
26
27
  //# sourceMappingURL=integration.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"integration.module.d.ts","sourceRoot":"","sources":["../../src/Integration/integration.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAuBA,qBAuCa,iBAAiB;yCAAjB,iBAAiB;0CAAjB,iBAAiB;0CAAjB,iBAAiB;CAAI"}
1
+ {"version":3,"file":"integration.module.d.ts","sourceRoot":"","sources":["../../src/Integration/integration.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAwBA,qBAwCa,iBAAiB;yCAAjB,iBAAiB;0CAAjB,iBAAiB;0CAAjB,iBAAiB;CAAI"}
@@ -9,6 +9,7 @@ import { LayoutModule } from '@progress/kendo-angular-layout';
9
9
  import { SharedGenericModule } from '@memberjunction/ng-shared-generic';
10
10
  import { CredentialsModule } from '@memberjunction/ng-credentials';
11
11
  import { NgTreesModule } from '@memberjunction/ng-trees';
12
+ import { SchedulingModule } from '@memberjunction/ng-scheduling';
12
13
  import { OverviewComponent } from './components/overview/overview.component';
13
14
  import { PipelinesComponent } from './components/pipelines/pipelines.component';
14
15
  import { ConnectionsComponent } from './components/connections/connections.component';
@@ -34,7 +35,8 @@ export class IntegrationModule {
34
35
  LayoutModule,
35
36
  SharedGenericModule,
36
37
  CredentialsModule,
37
- NgTreesModule] });
38
+ NgTreesModule,
39
+ SchedulingModule] });
38
40
  }
39
41
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IntegrationModule, [{
40
42
  type: NgModule,
@@ -60,7 +62,8 @@ export class IntegrationModule {
60
62
  LayoutModule,
61
63
  SharedGenericModule,
62
64
  CredentialsModule,
63
- NgTreesModule
65
+ NgTreesModule,
66
+ SchedulingModule
64
67
  ],
65
68
  providers: [
66
69
  IntegrationDataService
@@ -95,7 +98,8 @@ export class IntegrationModule {
95
98
  LayoutModule,
96
99
  SharedGenericModule,
97
100
  CredentialsModule,
98
- NgTreesModule], exports: [OverviewComponent,
101
+ NgTreesModule,
102
+ SchedulingModule], exports: [OverviewComponent,
99
103
  PipelinesComponent,
100
104
  ConnectionsComponent,
101
105
  MappingWorkspaceComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"integration.module.js","sourceRoot":"","sources":["../../src/Integration/integration.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;;AAyC7E,MAAM,OAAO,iBAAiB;2GAAjB,iBAAiB;4DAAjB,iBAAiB;iEAfjB;YACT,sBAAsB;SACvB,YAbC,YAAY;YACZ,WAAW;YACX,aAAa;YACb,eAAe;YACf,YAAY;YACZ,UAAU;YACV,YAAY;YACZ,mBAAmB;YACnB,iBAAiB;YACjB,aAAa;;iFAiBJ,iBAAiB;cAvC7B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,iBAAiB;oBACjB,kBAAkB;oBAClB,oBAAoB;oBACpB,yBAAyB;oBACzB,iBAAiB;oBACjB,kBAAkB;oBAClB,wBAAwB;oBACxB,wBAAwB;oBACxB,0BAA0B;iBAC3B;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,aAAa;oBACb,eAAe;oBACf,YAAY;oBACZ,UAAU;oBACV,YAAY;oBACZ,mBAAmB;oBACnB,iBAAiB;oBACjB,aAAa;iBACd;gBACD,SAAS,EAAE;oBACT,sBAAsB;iBACvB;gBACD,OAAO,EAAE;oBACP,iBAAiB;oBACjB,kBAAkB;oBAClB,oBAAoB;oBACpB,yBAAyB;oBACzB,iBAAiB;oBACjB,kBAAkB;oBAClB,wBAAwB;oBACxB,wBAAwB;oBACxB,0BAA0B;iBAC3B;aACF;;wFACY,iBAAiB,mBArC1B,iBAAiB;QACjB,kBAAkB;QAClB,oBAAoB;QACpB,yBAAyB;QACzB,iBAAiB;QACjB,kBAAkB;QAClB,wBAAwB;QACxB,wBAAwB;QACxB,0BAA0B,aAG1B,YAAY;QACZ,WAAW;QACX,aAAa;QACb,eAAe;QACf,YAAY;QACZ,UAAU;QACV,YAAY;QACZ,mBAAmB;QACnB,iBAAiB;QACjB,aAAa,aAMb,iBAAiB;QACjB,kBAAkB;QAClB,oBAAoB;QACpB,yBAAyB;QACzB,iBAAiB;QACjB,kBAAkB;QAClB,wBAAwB;QACxB,wBAAwB;QACxB,0BAA0B","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { GridModule } from '@progress/kendo-angular-grid';\nimport { LayoutModule } from '@progress/kendo-angular-layout';\nimport { SharedGenericModule } from '@memberjunction/ng-shared-generic';\nimport { CredentialsModule } from '@memberjunction/ng-credentials';\nimport { NgTreesModule } from '@memberjunction/ng-trees';\n\nimport { OverviewComponent } from './components/overview/overview.component';\nimport { PipelinesComponent } from './components/pipelines/pipelines.component';\nimport { ConnectionsComponent } from './components/connections/connections.component';\nimport { MappingWorkspaceComponent } from './components/mapping-workspace/mapping-workspace.component';\nimport { ActivityComponent } from './components/activity/activity.component';\nimport { SchedulesComponent } from './components/schedules/schedules.component';\nimport { IntegrationCardComponent } from './components/widgets/integration-card.component';\nimport { RunHistoryPanelComponent } from './components/widgets/run-history-panel.component';\nimport { VisualFieldEditorComponent } from './components/visual-editor/visual-editor.component';\nimport { IntegrationDataService } from './services/integration-data.service';\n\n@NgModule({\n declarations: [\n OverviewComponent,\n PipelinesComponent,\n ConnectionsComponent,\n MappingWorkspaceComponent,\n ActivityComponent,\n SchedulesComponent,\n IntegrationCardComponent,\n RunHistoryPanelComponent,\n VisualFieldEditorComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ButtonsModule,\n DropDownsModule,\n InputsModule,\n GridModule,\n LayoutModule,\n SharedGenericModule,\n CredentialsModule,\n NgTreesModule\n ],\n providers: [\n IntegrationDataService\n ],\n exports: [\n OverviewComponent,\n PipelinesComponent,\n ConnectionsComponent,\n MappingWorkspaceComponent,\n ActivityComponent,\n SchedulesComponent,\n IntegrationCardComponent,\n RunHistoryPanelComponent,\n VisualFieldEditorComponent\n ]\n})\nexport class IntegrationModule { }\n"]}
1
+ {"version":3,"file":"integration.module.js","sourceRoot":"","sources":["../../src/Integration/integration.module.ts"],"names":[],"mappings":"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","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { GridModule } from '@progress/kendo-angular-grid';\nimport { LayoutModule } from '@progress/kendo-angular-layout';\nimport { SharedGenericModule } from '@memberjunction/ng-shared-generic';\nimport { CredentialsModule } from '@memberjunction/ng-credentials';\nimport { NgTreesModule } from '@memberjunction/ng-trees';\nimport { SchedulingModule } from '@memberjunction/ng-scheduling';\n\nimport { OverviewComponent } from './components/overview/overview.component';\nimport { PipelinesComponent } from './components/pipelines/pipelines.component';\nimport { ConnectionsComponent } from './components/connections/connections.component';\nimport { MappingWorkspaceComponent } from './components/mapping-workspace/mapping-workspace.component';\nimport { ActivityComponent } from './components/activity/activity.component';\nimport { SchedulesComponent } from './components/schedules/schedules.component';\nimport { IntegrationCardComponent } from './components/widgets/integration-card.component';\nimport { RunHistoryPanelComponent } from './components/widgets/run-history-panel.component';\nimport { VisualFieldEditorComponent } from './components/visual-editor/visual-editor.component';\nimport { IntegrationDataService } from './services/integration-data.service';\n\n@NgModule({\n declarations: [\n OverviewComponent,\n PipelinesComponent,\n ConnectionsComponent,\n MappingWorkspaceComponent,\n ActivityComponent,\n SchedulesComponent,\n IntegrationCardComponent,\n RunHistoryPanelComponent,\n VisualFieldEditorComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ButtonsModule,\n DropDownsModule,\n InputsModule,\n GridModule,\n LayoutModule,\n SharedGenericModule,\n CredentialsModule,\n NgTreesModule,\n SchedulingModule\n ],\n providers: [\n IntegrationDataService\n ],\n exports: [\n OverviewComponent,\n PipelinesComponent,\n ConnectionsComponent,\n MappingWorkspaceComponent,\n ActivityComponent,\n SchedulesComponent,\n IntegrationCardComponent,\n RunHistoryPanelComponent,\n VisualFieldEditorComponent\n ]\n})\nexport class IntegrationModule { }\n"]}
@@ -94,6 +94,8 @@ export interface IntegrationDefinitionRow {
94
94
  export interface IntegrationSummary {
95
95
  Integration: MJCompanyIntegrationEntity;
96
96
  SourceType: MJIntegrationSourceTypeEntity | null;
97
+ /** Icon from the Integration entity — FA class, URL, or base64 */
98
+ Icon: string | null;
97
99
  LatestRun: IntegrationRunRow | null;
98
100
  RecentRuns: IntegrationRunRow[];
99
101
  StatusColor: 'green' | 'amber' | 'red' | 'gray';
@@ -152,8 +154,18 @@ export interface WatermarkRow {
152
154
  Direction: 'Pull' | 'Push';
153
155
  EntityMap: string;
154
156
  }
155
- /** Resolve an integration name to a Font Awesome icon class */
156
- export declare function ResolveIntegrationIcon(name: string): string;
157
+ /**
158
+ * Resolve an integration icon. Checks the entity's Icon field first (supports
159
+ * Font Awesome classes, URLs, and base64), then falls back to pattern-based
160
+ * name matching, then to a generic plug icon.
161
+ */
162
+ export declare function ResolveIntegrationIcon(name: string, entityIcon?: string | null): string;
163
+ /**
164
+ * Check if the Icon field contains an image URL or base64 data URI
165
+ * (as opposed to a Font Awesome class). Used by templates to decide
166
+ * whether to render an <i> or an <img>.
167
+ */
168
+ export declare function IsImageIcon(icon: string | null | undefined): boolean;
157
169
  export declare class IntegrationDataService {
158
170
  LoadIntegrationSummaries(provider?: IRunViewProvider | null): Promise<IntegrationSummary[]>;
159
171
  LoadEntityMaps(companyIntegrationID: string, _provider?: IRunViewProvider | null): Promise<MJCompanyIntegrationEntityMapEntity[]>;
@@ -247,6 +259,19 @@ export declare class IntegrationDataService {
247
259
  LoadSchedules(_provider?: IRunViewProvider | null): Promise<MJCompanyIntegrationEntity[]>;
248
260
  /** Load sync watermarks for a specific company integration's entity maps */
249
261
  LoadWatermarks(companyIntegrationID: string, _provider?: IRunViewProvider | null): Promise<MJCompanyIntegrationSyncWatermarkEntity[]>;
262
+ /**
263
+ * Auto-map all entities in a given schema to a company integration.
264
+ * For each entity in the schema that doesn't already have an entity map,
265
+ * creates an entity map (ExternalObjectName = BaseTable) and 1:1 field maps
266
+ * for every non-system column. Returns the count of maps created.
267
+ */
268
+ AutoMapSchema(companyIntegrationID: string, schemaName: string, direction?: 'Pull' | 'Push' | 'Bidirectional'): Promise<{
269
+ EntityMapsCreated: number;
270
+ FieldMapsCreated: number;
271
+ Errors: string[];
272
+ }>;
273
+ /** Load available schemas (for auto-map schema picker) */
274
+ LoadSchemas(): string[];
250
275
  /** Load entity map count per company integration (used by Overview cards) */
251
276
  LoadEntityMapCounts(_provider?: IRunViewProvider | null): Promise<Map<string, number>>;
252
277
  private lookupActionID;
@@ -1 +1 @@
1
- {"version":3,"file":"integration-data.service.d.ts","sourceRoot":"","sources":["../../../src/Integration/services/integration-data.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration-data.service.d.ts","sourceRoot":"","sources":["../../../src/Integration/services/integration-data.service.ts"],"names":[],"mappings":"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"}
@@ -25,11 +25,30 @@ const INTEGRATION_ICON_MAP = [
25
25
  { Pattern: /email|mail/i, Icon: 'fa-solid fa-envelope' },
26
26
  { Pattern: /calendar|event/i, Icon: 'fa-solid fa-calendar' }
27
27
  ];
28
- /** Resolve an integration name to a Font Awesome icon class */
29
- export function ResolveIntegrationIcon(name) {
28
+ /**
29
+ * Resolve an integration icon. Checks the entity's Icon field first (supports
30
+ * Font Awesome classes, URLs, and base64), then falls back to pattern-based
31
+ * name matching, then to a generic plug icon.
32
+ */
33
+ export function ResolveIntegrationIcon(name, entityIcon) {
34
+ // If the Integration entity has an Icon value that looks like a FA class, use it directly
35
+ if (entityIcon && entityIcon.startsWith('fa-')) {
36
+ return entityIcon;
37
+ }
38
+ // Fall back to pattern-based name matching
30
39
  const match = INTEGRATION_ICON_MAP.find(m => m.Pattern.test(name));
31
40
  return match ? match.Icon : 'fa-solid fa-plug';
32
41
  }
42
+ /**
43
+ * Check if the Icon field contains an image URL or base64 data URI
44
+ * (as opposed to a Font Awesome class). Used by templates to decide
45
+ * whether to render an <i> or an <img>.
46
+ */
47
+ export function IsImageIcon(icon) {
48
+ if (!icon)
49
+ return false;
50
+ return icon.startsWith('http') || icon.startsWith('data:') || icon.startsWith('/');
51
+ }
33
52
  export class IntegrationDataService {
34
53
  async LoadIntegrationSummaries(provider) {
35
54
  const engine = IntegrationEngineBase.Instance;
@@ -49,7 +68,8 @@ export class IntegrationDataService {
49
68
  const integrations = engine.CompanyIntegrations;
50
69
  const runs = runsResult.Results;
51
70
  const sourceTypes = engine.SourceTypes;
52
- return integrations.map(integration => this.buildSummary(integration, runs, sourceTypes));
71
+ const integrationDefs = engine.Integrations;
72
+ return integrations.map(integration => this.buildSummary(integration, runs, sourceTypes, integrationDefs));
53
73
  }
54
74
  async LoadEntityMaps(companyIntegrationID, _provider) {
55
75
  await IntegrationEngineBase.Instance.Config(false);
@@ -455,6 +475,85 @@ export class IntegrationDataService {
455
475
  const mapIDSet = new Set(entityMaps.map(em => em.ID.toLowerCase()));
456
476
  return IntegrationEngineBase.Instance.Watermarks.filter(w => mapIDSet.has(w.EntityMapID.toLowerCase()));
457
477
  }
478
+ /**
479
+ * Auto-map all entities in a given schema to a company integration.
480
+ * For each entity in the schema that doesn't already have an entity map,
481
+ * creates an entity map (ExternalObjectName = BaseTable) and 1:1 field maps
482
+ * for every non-system column. Returns the count of maps created.
483
+ */
484
+ async AutoMapSchema(companyIntegrationID, schemaName, direction = 'Pull') {
485
+ const md = new Metadata();
486
+ const errors = [];
487
+ // Get entities in the target schema
488
+ const schemaEntities = md.Entities.filter(e => e.SchemaName.toLowerCase() === schemaName.toLowerCase());
489
+ if (schemaEntities.length === 0) {
490
+ return { EntityMapsCreated: 0, FieldMapsCreated: 0, Errors: [`No entities found in schema "${schemaName}"`] };
491
+ }
492
+ // Load existing entity maps to avoid duplicates
493
+ const existingMaps = await this.LoadEntityMaps(companyIntegrationID);
494
+ const existingEntityIDs = new Set(existingMaps.map(m => m.ID.toLowerCase()));
495
+ // Build a set of entity IDs that already have maps (by EntityID)
496
+ const mappedEntityIDs = new Set();
497
+ for (const em of existingMaps) {
498
+ mappedEntityIDs.add(em.EntityID?.toLowerCase() ?? '');
499
+ }
500
+ // Also load full map data to check EntityID
501
+ const engine = IntegrationEngineBase.Instance;
502
+ await engine.Config(false);
503
+ const allMaps = engine.GetEntityMapsForCompanyIntegration(companyIntegrationID);
504
+ for (const em of allMaps) {
505
+ mappedEntityIDs.add(em.EntityID.toLowerCase());
506
+ }
507
+ let entityMapsCreated = 0;
508
+ let fieldMapsCreated = 0;
509
+ for (const entity of schemaEntities) {
510
+ // Skip if already mapped
511
+ if (mappedEntityIDs.has(entity.ID.toLowerCase()))
512
+ continue;
513
+ // Create entity map
514
+ const entityMap = await this.CreateEntityMap({
515
+ CompanyIntegrationID: companyIntegrationID,
516
+ ExternalObjectName: entity.BaseTable,
517
+ EntityID: entity.ID,
518
+ SyncDirection: direction
519
+ });
520
+ if (!entityMap) {
521
+ errors.push(`Failed to create entity map for ${entity.Name}`);
522
+ continue;
523
+ }
524
+ entityMapsCreated++;
525
+ // Create 1:1 field maps for all non-system fields
526
+ const fields = entity.Fields.filter(f => !f.Name.startsWith('__mj'));
527
+ for (const field of fields) {
528
+ const isKey = field.Name.toLowerCase() === 'uuid' || field.IsPrimaryKey;
529
+ const fm = await this.CreateFieldMap({
530
+ EntityMapID: entityMap.ID,
531
+ SourceFieldName: field.Name,
532
+ DestinationFieldName: field.Name,
533
+ IsKeyField: isKey,
534
+ IsRequired: isKey,
535
+ Direction: direction === 'Bidirectional' ? 'Both' : 'SourceToDest'
536
+ });
537
+ if (fm) {
538
+ fieldMapsCreated++;
539
+ }
540
+ else {
541
+ errors.push(`Failed to create field map for ${entity.Name}.${field.Name}`);
542
+ }
543
+ }
544
+ }
545
+ return { EntityMapsCreated: entityMapsCreated, FieldMapsCreated: fieldMapsCreated, Errors: errors };
546
+ }
547
+ /** Load available schemas (for auto-map schema picker) */
548
+ LoadSchemas() {
549
+ const md = new Metadata();
550
+ const schemas = new Set();
551
+ for (const entity of md.Entities) {
552
+ if (entity.SchemaName)
553
+ schemas.add(entity.SchemaName);
554
+ }
555
+ return Array.from(schemas).sort();
556
+ }
458
557
  /** Load entity map count per company integration (used by Overview cards) */
459
558
  async LoadEntityMapCounts(_provider) {
460
559
  await IntegrationEngineBase.Instance.Config(false);
@@ -485,7 +584,7 @@ export class IntegrationDataService {
485
584
  createRunView(provider) {
486
585
  return new RunView(provider ?? null);
487
586
  }
488
- buildSummary(integration, allRuns, sourceTypes) {
587
+ buildSummary(integration, allRuns, sourceTypes, integrationDefs) {
489
588
  const integrationRuns = allRuns.filter(r => UUIDsEqual(r.CompanyIntegrationID, integration.ID));
490
589
  const latestRun = integrationRuns.length > 0 ? integrationRuns[0] : null;
491
590
  const recentRuns = integrationRuns.slice(0, 5);
@@ -495,9 +594,13 @@ export class IntegrationDataService {
495
594
  const totalErrors = integrationRuns.filter(r => r.Status === 'Failed').length;
496
595
  const durationMs = this.computeDuration(latestRun);
497
596
  const sourceType = this.resolveSourceType(integration, sourceTypes);
597
+ const integrationName = integration.Integration ?? '';
598
+ const def = integrationDefs.find(d => d.Name === integrationName);
599
+ const icon = def?.Get('Icon') ?? null;
498
600
  return {
499
601
  Integration: integration,
500
602
  SourceType: sourceType,
603
+ Icon: icon,
501
604
  LatestRun: latestRun,
502
605
  RecentRuns: recentRuns,
503
606
  StatusColor: statusColor,