@memberjunction/ng-dashboards 5.8.0 → 5.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AI/components/models/model-management.component.d.ts +2 -0
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +44 -2
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.js +15 -12
- package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +1 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.js +16 -22
- package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +31 -11
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +10 -7
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/Integration/components/activity/activity.component.d.ts +96 -0
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -0
- package/dist/Integration/components/activity/activity.component.js +961 -0
- package/dist/Integration/components/activity/activity.component.js.map +1 -0
- package/dist/Integration/components/connections/connections.component.d.ts +194 -0
- package/dist/Integration/components/connections/connections.component.d.ts.map +1 -0
- package/dist/Integration/components/connections/connections.component.js +2368 -0
- package/dist/Integration/components/connections/connections.component.js.map +1 -0
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.d.ts +213 -15
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.d.ts.map +1 -1
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +2093 -187
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.d.ts +60 -0
- package/dist/Integration/components/overview/overview.component.d.ts.map +1 -0
- package/dist/Integration/components/overview/overview.component.js +628 -0
- package/dist/Integration/components/overview/overview.component.js.map +1 -0
- package/dist/Integration/components/pipelines/pipelines.component.d.ts +203 -0
- package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -0
- package/dist/Integration/components/pipelines/pipelines.component.js +2057 -0
- package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -0
- package/dist/Integration/components/schedules/schedules.component.d.ts +110 -0
- package/dist/Integration/components/schedules/schedules.component.d.ts.map +1 -0
- package/dist/Integration/components/schedules/schedules.component.js +842 -0
- package/dist/Integration/components/schedules/schedules.component.js.map +1 -0
- package/dist/Integration/components/visual-editor/visual-editor.component.d.ts +141 -0
- package/dist/Integration/components/visual-editor/visual-editor.component.d.ts.map +1 -0
- package/dist/Integration/components/visual-editor/visual-editor.component.js +1538 -0
- package/dist/Integration/components/visual-editor/visual-editor.component.js.map +1 -0
- package/dist/Integration/components/widgets/run-history-panel.component.js +3 -2
- package/dist/Integration/components/widgets/run-history-panel.component.js.map +1 -1
- package/dist/Integration/index.d.ts +5 -3
- package/dist/Integration/index.d.ts.map +1 -1
- package/dist/Integration/index.js +11 -7
- package/dist/Integration/index.js.map +1 -1
- package/dist/Integration/integration.module.d.ts +20 -16
- package/dist/Integration/integration.module.d.ts.map +1 -1
- package/dist/Integration/integration.module.js +40 -21
- package/dist/Integration/integration.module.js.map +1 -1
- package/dist/Integration/services/integration-data.service.d.ts +123 -9
- package/dist/Integration/services/integration-data.service.d.ts.map +1 -1
- package/dist/Integration/services/integration-data.service.js +385 -68
- package/dist/Integration/services/integration-data.service.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.d.ts +27 -4
- package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +338 -144
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/__tests__/integration-data-service.test.js.map +1 -1
- package/dist/__tests__/mapping-validation.test.d.ts +2 -0
- package/dist/__tests__/mapping-validation.test.d.ts.map +1 -0
- package/dist/__tests__/mapping-validation.test.js +170 -0
- package/dist/__tests__/mapping-validation.test.js.map +1 -0
- package/package.json +40 -38
- package/dist/Integration/components/connection-studio/connection-studio.component.d.ts +0 -81
- package/dist/Integration/components/connection-studio/connection-studio.component.d.ts.map +0 -1
- package/dist/Integration/components/connection-studio/connection-studio.component.js +0 -960
- package/dist/Integration/components/connection-studio/connection-studio.component.js.map +0 -1
- package/dist/Integration/components/control-tower/control-tower.component.d.ts +0 -43
- package/dist/Integration/components/control-tower/control-tower.component.d.ts.map +0 -1
- package/dist/Integration/components/control-tower/control-tower.component.js +0 -446
- package/dist/Integration/components/control-tower/control-tower.component.js.map +0 -1
- package/dist/Integration/components/sync-activity/sync-activity.component.d.ts +0 -65
- package/dist/Integration/components/sync-activity/sync-activity.component.d.ts.map +0 -1
- package/dist/Integration/components/sync-activity/sync-activity.component.js +0 -671
- package/dist/Integration/components/sync-activity/sync-activity.component.js.map +0 -1
- package/dist/__tests__/connection-studio.test.d.ts +0 -2
- package/dist/__tests__/connection-studio.test.d.ts.map +0 -1
- package/dist/__tests__/connection-studio.test.js +0 -186
- package/dist/__tests__/connection-studio.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection-studio.component.js","sourceRoot":"","sources":["../../../../src/Integration/components/connection-studio/connection-studio.component.ts","../../../../src/Integration/components/connection-studio/connection-studio.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, ChangeDetectorRef, inject } from '@angular/core';\nimport { RegisterClass, UUIDsEqual } from '@memberjunction/global';\nimport { BaseResourceComponent } from '@memberjunction/ng-shared';\nimport { ResourceData, MJCredentialEntity, MJCompanyIntegrationEntity, MJCompanyEntity } from '@memberjunction/core-entities';\nimport { Metadata, RunView } from '@memberjunction/core';\nimport { CredentialDialogResult } from '@memberjunction/ng-credentials';\nimport {\n IntegrationDataService,\n IntegrationDefinitionRow,\n SourceTypeRow\n} from '../../services/integration-data.service';\n\ninterface StepDef {\n Index: number;\n Label: string;\n}\n\ntype TestStatusType = 'idle' | 'testing' | 'success' | 'failed';\n\n/** Icon mapping for known integrations by name pattern */\nconst INTEGRATION_ICONS: Record<string, string> = {\n hubspot: 'fa-brands fa-hubspot',\n salesforce: 'fa-brands fa-salesforce',\n yourmembership: 'fa-solid fa-id-card-clip',\n csv: 'fa-solid fa-file-csv',\n excel: 'fa-solid fa-file-excel',\n file: 'fa-solid fa-file-import',\n};\n\nfunction resolveIntegrationIcon(name: string): string {\n const lower = name.toLowerCase();\n for (const [pattern, icon] of Object.entries(INTEGRATION_ICONS)) {\n if (lower.includes(pattern)) return icon;\n }\n return 'fa-solid fa-plug';\n}\n\n@RegisterClass(BaseResourceComponent, 'IntegrationConnectionStudio')\n@Component({\n standalone: false,\n selector: 'app-connection-studio',\n templateUrl: './connection-studio.component.html',\n styleUrls: ['./connection-studio.component.css']\n})\nexport class ConnectionStudioComponent extends BaseResourceComponent implements OnInit {\n\n Steps: StepDef[] = [\n { Index: 0, Label: 'Integration' },\n { Index: 1, Label: 'Configure' },\n { Index: 2, Label: 'Test & Save' }\n ];\n\n CurrentStep = 0;\n\n // Step 1: Integration selection\n Integrations: IntegrationDefinitionRow[] = [];\n SourceTypes: SourceTypeRow[] = [];\n IsLoadingIntegrations = false;\n SelectedIntegrationID: string | null = null;\n UseCustomMode = false;\n CustomSourceTypeID: string | null = null;\n\n // Company selection\n Companies: Array<{ ID: string; Name: string }> = [];\n SelectedCompanyID: string | null = null;\n NewCompanyName = '';\n IsCreatingCompany = false;\n\n // Step 2: Configuration\n ConnectionName = '';\n ConnectionDescription = '';\n SelectedCredential: MJCredentialEntity | null = null;\n CredentialTypeName = '';\n ShowCredentialDialog = false;\n PreselectedCredentialTypeId: string | undefined;\n CredentialPickerMode: 'choose' | 'existing' | 'new' = 'choose';\n ExistingCredentials: MJCredentialEntity[] = [];\n IsLoadingCredentials = false;\n\n // Step 3: Test & Save\n TestStatus: TestStatusType = 'idle';\n TestMessage = '';\n IsSaving = false;\n SaveCompleted = false;\n SaveError = '';\n\n private dataService = inject(IntegrationDataService);\n private cdr = inject(ChangeDetectorRef);\n\n async ngOnInit(): Promise<void> {\n await this.LoadIntegrations();\n }\n\n // --- Computed properties ---\n\n get SelectedIntegration(): IntegrationDefinitionRow | null {\n if (!this.SelectedIntegrationID) return null;\n return this.Integrations.find(i => UUIDsEqual(i.ID, this.SelectedIntegrationID)) ?? null;\n }\n\n get SelectedIntegrationName(): string {\n if (this.UseCustomMode) return 'Custom Integration';\n return this.SelectedIntegration?.Name ?? '';\n }\n\n get SelectedIntegrationIcon(): string {\n if (this.UseCustomMode) {\n const st = this.SourceTypes.find(s => UUIDsEqual(s.ID, this.CustomSourceTypeID));\n return st?.IconClass ?? 'fa-solid fa-gear';\n }\n return this.SelectedIntegration ? resolveIntegrationIcon(this.SelectedIntegration.Name) : 'fa-solid fa-plug';\n }\n\n get CustomSourceTypeName(): string {\n if (!this.CustomSourceTypeID) return '';\n return this.SourceTypes.find(s => UUIDsEqual(s.ID, this.CustomSourceTypeID))?.Name ?? '';\n }\n\n get IsStep1Valid(): boolean {\n if (this.UseCustomMode) return !!this.CustomSourceTypeID;\n return !!this.SelectedIntegrationID;\n }\n\n get IsStep2Valid(): boolean {\n return !!this.ConnectionName.trim() && !!this.SelectedCompanyID;\n }\n\n // --- Data loading ---\n\n async LoadIntegrations(): Promise<void> {\n this.IsLoadingIntegrations = true;\n this.cdr.detectChanges();\n try {\n const rv = new RunView();\n const [integrations, sourceTypes, companyResult] = await Promise.all([\n this.dataService.LoadIntegrationDefinitions(this.RunViewToUse),\n this.dataService.LoadSourceTypes(this.RunViewToUse),\n rv.RunView<{ ID: string; Name: string }>({\n EntityName: 'MJ: Companies',\n Fields: ['ID', 'Name'],\n OrderBy: 'Name',\n ResultType: 'simple'\n })\n ]);\n this.Integrations = integrations;\n this.SourceTypes = sourceTypes;\n this.Companies = companyResult.Success ? companyResult.Results : [];\n // Auto-select if only one company\n if (this.Companies.length === 1) {\n this.SelectedCompanyID = this.Companies[0].ID;\n }\n } finally {\n this.IsLoadingIntegrations = false;\n this.cdr.detectChanges();\n }\n }\n\n get HasCompanies(): boolean {\n return this.Companies.length > 0;\n }\n\n get NeedsCompanyPicker(): boolean {\n return this.Companies.length > 1;\n }\n\n get SelectedCompanyName(): string {\n if (!this.SelectedCompanyID) return '';\n return this.Companies.find(c => UUIDsEqual(c.ID, this.SelectedCompanyID))?.Name ?? '';\n }\n\n async CreateCompany(): Promise<void> {\n const name = this.NewCompanyName.trim();\n if (!name) return;\n this.IsCreatingCompany = true;\n this.cdr.detectChanges();\n\n const md = new Metadata();\n const company = await md.GetEntityObject<MJCompanyEntity>('MJ: Companies');\n company.NewRecord();\n company.Name = name;\n company.Description = name;\n\n const saved = await company.Save();\n if (saved) {\n this.Companies.push({ ID: company.ID, Name: company.Name });\n this.SelectedCompanyID = company.ID;\n this.NewCompanyName = '';\n } else {\n const errorMessage = company.LatestResult?.CompleteMessage || company.LatestResult?.Message || 'Unknown error';\n console.error('[ConnectionStudio] Failed to create company:', errorMessage);\n }\n this.IsCreatingCompany = false;\n this.cdr.detectChanges();\n }\n\n // --- Step 1: Integration selection ---\n\n SelectIntegration(integration: IntegrationDefinitionRow): void {\n this.UseCustomMode = false;\n this.SelectedIntegrationID = integration.ID;\n this.CustomSourceTypeID = null;\n this.ConnectionName = integration.Name;\n }\n\n SelectCustomMode(): void {\n this.UseCustomMode = true;\n this.SelectedIntegrationID = null;\n this.ConnectionName = '';\n }\n\n SelectCustomSourceType(st: SourceTypeRow): void {\n this.CustomSourceTypeID = st.ID;\n }\n\n IsSelectedIntegration(id: string): boolean {\n return !this.UseCustomMode && UUIDsEqual(this.SelectedIntegrationID, id);\n }\n\n IsSelectedCustomSourceType(id: string): boolean {\n return UUIDsEqual(this.CustomSourceTypeID, id);\n }\n\n IntegrationIcon(integration: IntegrationDefinitionRow): string {\n return resolveIntegrationIcon(integration.Name);\n }\n\n // --- Step 2: Credential management ---\n\n get IntegrationCredentialTypeID(): string | null {\n return this.SelectedIntegration?.CredentialTypeID ?? null;\n }\n\n async ShowExistingCredentials(): Promise<void> {\n this.CredentialPickerMode = 'existing';\n this.IsLoadingCredentials = true;\n this.cdr.detectChanges();\n\n const rv = new RunView();\n const filter = this.IntegrationCredentialTypeID\n ? `CredentialTypeID='${this.IntegrationCredentialTypeID}' AND IsActive=1`\n : 'IsActive=1';\n const result = await rv.RunView<MJCredentialEntity>({\n EntityName: 'MJ: Credentials',\n ExtraFilter: filter,\n OrderBy: 'Name',\n ResultType: 'entity_object'\n });\n this.ExistingCredentials = result.Results;\n this.IsLoadingCredentials = false;\n this.cdr.detectChanges();\n }\n\n SelectExistingCredential(credential: MJCredentialEntity): void {\n this.SelectedCredential = credential;\n this.CredentialTypeName = credential.Get('CredentialType') ?? '';\n this.CredentialPickerMode = 'choose';\n }\n\n OpenCredentialDialog(): void {\n this.PreselectedCredentialTypeId = this.IntegrationCredentialTypeID ?? undefined;\n this.ShowCredentialDialog = true;\n this.CredentialPickerMode = 'choose';\n this.cdr.detectChanges();\n }\n\n OnCredentialDialogClose(result: CredentialDialogResult): void {\n this.ShowCredentialDialog = false;\n if (result.success && result.credential) {\n this.SelectedCredential = result.credential;\n this.CredentialTypeName = '';\n }\n this.cdr.detectChanges();\n }\n\n ClearCredential(): void {\n this.SelectedCredential = null;\n this.CredentialTypeName = '';\n this.CredentialPickerMode = 'choose';\n }\n\n BackToCredentialChoice(): void {\n this.CredentialPickerMode = 'choose';\n }\n\n // --- Navigation ---\n\n NextStep(): void {\n if (this.CurrentStep < this.Steps.length - 1) {\n this.CurrentStep++;\n }\n }\n\n PrevStep(): void {\n if (this.CurrentStep > 0) {\n this.CurrentStep--;\n this.TestStatus = 'idle';\n this.TestMessage = '';\n }\n }\n\n // --- Step 3: Test & Save ---\n\n TestConnection(): void {\n this.TestStatus = 'testing';\n this.TestMessage = '';\n this.cdr.detectChanges();\n\n // TODO: Wire up to actual connector.TestConnection() via GraphQL\n console.log('[ConnectionStudio] Testing connection:', {\n integration: this.SelectedIntegrationName,\n credentialId: this.SelectedCredential?.ID\n });\n\n setTimeout(() => {\n this.TestStatus = 'success';\n this.TestMessage = 'Connection verified successfully.';\n this.cdr.detectChanges();\n }, 1500);\n }\n\n async SaveIntegration(): Promise<void> {\n if (!this.SelectedCompanyID) {\n console.error('[ConnectionStudio] No company selected');\n return;\n }\n\n this.IsSaving = true;\n this.SaveError = '';\n this.cdr.detectChanges();\n\n const md = new Metadata();\n const companyIntegration = await md.GetEntityObject<MJCompanyIntegrationEntity>('MJ: Company Integrations');\n companyIntegration.NewRecord();\n\n companyIntegration.CompanyID = this.SelectedCompanyID;\n if (this.SelectedIntegration) {\n companyIntegration.IntegrationID = this.SelectedIntegration.ID;\n }\n companyIntegration.Name = this.ConnectionName;\n companyIntegration.IsActive = true;\n\n if (this.SelectedCredential) {\n companyIntegration.CredentialID = this.SelectedCredential.ID;\n }\n\n const saved = await companyIntegration.Save();\n this.IsSaving = false;\n\n if (saved) {\n this.SaveCompleted = true;\n } else {\n this.SaveError = companyIntegration.LatestResult?.CompleteMessage || companyIntegration.LatestResult?.Message || 'Unknown error';\n console.error('[ConnectionStudio] Failed to save:', this.SaveError);\n }\n this.cdr.detectChanges();\n }\n\n ResetWizard(): void {\n this.CurrentStep = 0;\n this.SelectedIntegrationID = null;\n this.UseCustomMode = false;\n this.CustomSourceTypeID = null;\n this.ConnectionName = '';\n this.ConnectionDescription = '';\n this.SelectedCredential = null;\n this.CredentialTypeName = '';\n this.CredentialPickerMode = 'choose';\n this.TestStatus = 'idle';\n this.TestMessage = '';\n this.IsSaving = false;\n this.SaveCompleted = false;\n this.SaveError = '';\n }\n\n // --- Resource interface ---\n\n async GetResourceDisplayName(_data: ResourceData): Promise<string> {\n return 'Connection Studio';\n }\n\n async GetResourceIconClass(_data: ResourceData): Promise<string> {\n return 'fa-solid fa-wand-magic-sparkles';\n }\n}\n\nexport function LoadConnectionStudio(): void {\n // Tree-shaking prevention\n}\n","<div class=\"connection-studio\">\n <div class=\"studio-header\">\n <h2><i class=\"fa-solid fa-wand-magic-sparkles\"></i> Connection Studio</h2>\n </div>\n\n <!-- Step Indicator -->\n <div class=\"step-indicator\">\n @for (step of Steps; track step.Index; let i = $index) {\n <div class=\"step\" [class.active]=\"CurrentStep === step.Index\"\n [class.completed]=\"CurrentStep > step.Index\">\n <div class=\"step-circle\">\n @if (CurrentStep > step.Index) {\n <i class=\"fa-solid fa-check\"></i>\n } @else {\n {{ step.Index + 1 }}\n }\n </div>\n <span class=\"step-label\">{{ step.Label }}</span>\n </div>\n @if (i < Steps.length - 1) {\n <div class=\"step-connector\" [class.completed]=\"CurrentStep > step.Index\"></div>\n }\n }\n </div>\n\n <!-- Step 1: Choose Integration -->\n @if (CurrentStep === 0) {\n <div class=\"step-content\">\n <h3>Choose Integration</h3>\n <p class=\"step-description\">Select the system you want to connect to, or set up a custom connection.</p>\n\n @if (IsLoadingIntegrations) {\n <mj-loading text=\"Loading integrations...\" size=\"medium\"></mj-loading>\n } @else {\n <div class=\"integration-grid\">\n @for (integration of Integrations; track integration.ID) {\n <div class=\"integration-card\"\n [class.selected]=\"IsSelectedIntegration(integration.ID)\"\n (click)=\"SelectIntegration(integration)\">\n <i class=\"card-icon\" [class]=\"IntegrationIcon(integration)\"></i>\n <span class=\"card-name\">{{ integration.Name }}</span>\n @if (integration.Description) {\n <span class=\"card-desc\">{{ integration.Description }}</span>\n }\n </div>\n }\n\n <!-- Custom integration option -->\n <div class=\"integration-card custom-card\"\n [class.selected]=\"UseCustomMode\"\n (click)=\"SelectCustomMode()\">\n <i class=\"card-icon fa-solid fa-gear\"></i>\n <span class=\"card-name\">Custom</span>\n <span class=\"card-desc\">Manual configuration with any source type</span>\n </div>\n </div>\n\n <!-- Custom mode: pick a source type -->\n @if (UseCustomMode) {\n <div class=\"custom-source-section\">\n <div class=\"custom-source-label\">Select a connection type:</div>\n <div class=\"source-type-chips\">\n @for (st of SourceTypes; track st.ID) {\n <div class=\"source-chip\"\n [class.selected]=\"IsSelectedCustomSourceType(st.ID)\"\n (click)=\"SelectCustomSourceType(st)\">\n <i [class]=\"st.IconClass ?? 'fa-solid fa-plug'\"></i>\n {{ st.Name }}\n </div>\n }\n </div>\n </div>\n }\n\n <div class=\"step-actions\">\n <button kendoButton [themeColor]=\"'primary'\" [disabled]=\"!IsStep1Valid\"\n (click)=\"NextStep()\">\n Next <i class=\"fa-solid fa-arrow-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n\n <!-- Step 2: Configure -->\n @if (CurrentStep === 1) {\n <div class=\"step-content\">\n <h3>Configure Connection</h3>\n <p class=\"step-description\">\n Name your connection and attach credentials for\n <strong>{{ SelectedIntegrationName }}</strong>.\n </p>\n\n <!-- Company section -->\n @if (!HasCompanies) {\n <div class=\"company-setup-card\">\n <div class=\"company-setup-icon\"><i class=\"fa-solid fa-building\"></i></div>\n <div class=\"company-setup-content\">\n <div class=\"company-setup-title\">Set Up Your Organization</div>\n <div class=\"company-setup-desc\">\n Integrations are scoped to a company. Create one to get started.\n </div>\n <div class=\"company-setup-form\">\n <input kendoTextBox [(ngModel)]=\"NewCompanyName\"\n placeholder=\"Company name\" />\n <button kendoButton [themeColor]=\"'primary'\"\n [disabled]=\"!NewCompanyName.trim() || IsCreatingCompany\"\n (click)=\"CreateCompany()\">\n @if (IsCreatingCompany) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n } @else {\n <i class=\"fa-solid fa-plus\"></i> Create\n }\n </button>\n </div>\n </div>\n </div>\n }\n\n <div class=\"config-form\">\n @if (NeedsCompanyPicker) {\n <div class=\"form-field\">\n <label>Company</label>\n <kendo-dropdownlist\n [data]=\"Companies\"\n [textField]=\"'Name'\"\n [valueField]=\"'ID'\"\n [valuePrimitive]=\"true\"\n [(ngModel)]=\"SelectedCompanyID\"\n [defaultItem]=\"{ ID: null, Name: 'Select a company...' }\">\n </kendo-dropdownlist>\n </div>\n }\n\n <div class=\"form-field\">\n <label>Connection Name</label>\n <input kendoTextBox [(ngModel)]=\"ConnectionName\"\n placeholder=\"e.g., Production HubSpot\" />\n </div>\n <div class=\"form-field\">\n <label>Description</label>\n <textarea kendoTextArea [(ngModel)]=\"ConnectionDescription\" rows=\"2\"\n placeholder=\"Optional description...\"></textarea>\n </div>\n </div>\n\n <!-- Credential picker -->\n <div class=\"credential-section\">\n <div class=\"section-label\">Credentials</div>\n\n @if (SelectedCredential) {\n <!-- A credential is already selected -->\n <div class=\"credential-selected\">\n <div class=\"credential-info\">\n <i class=\"credential-icon fa-solid fa-shield-halved\"></i>\n <div class=\"credential-details\">\n <div class=\"credential-name\">{{ SelectedCredential.Name }}</div>\n @if (CredentialTypeName) {\n <div class=\"credential-type\">{{ CredentialTypeName }}</div>\n }\n </div>\n </div>\n <div class=\"credential-actions\">\n <button kendoButton [look]=\"'flat'\" (click)=\"ClearCredential()\"\n title=\"Change credential\">\n <i class=\"fa-solid fa-rotate\"></i>\n </button>\n <button kendoButton [look]=\"'flat'\" (click)=\"ClearCredential()\"\n title=\"Remove credential\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n </div>\n } @else if (CredentialPickerMode === 'choose') {\n <!-- Choose between existing or new -->\n <div class=\"credential-choice\">\n <button kendoButton [look]=\"'outline'\" (click)=\"ShowExistingCredentials()\">\n <i class=\"fa-solid fa-list\"></i> Use Existing Credential\n </button>\n <span class=\"credential-or\">or</span>\n <button kendoButton [look]=\"'outline'\" (click)=\"OpenCredentialDialog()\">\n <i class=\"fa-solid fa-plus\"></i> Create New Credential\n </button>\n </div>\n } @else if (CredentialPickerMode === 'existing') {\n <!-- Existing credential list -->\n <div class=\"credential-list-section\">\n <div class=\"credential-list-header\">\n <button kendoButton [look]=\"'flat'\" (click)=\"BackToCredentialChoice()\">\n <i class=\"fa-solid fa-arrow-left\"></i> Back\n </button>\n <span class=\"credential-list-title\">Select a Credential</span>\n </div>\n\n @if (IsLoadingCredentials) {\n <mj-loading text=\"Loading credentials...\" size=\"small\"></mj-loading>\n } @else if (ExistingCredentials.length === 0) {\n <div class=\"credential-empty-list\">\n <i class=\"fa-solid fa-inbox\"></i>\n <span>No matching credentials found.</span>\n <button kendoButton [look]=\"'outline'\" (click)=\"OpenCredentialDialog()\">\n <i class=\"fa-solid fa-plus\"></i> Create One\n </button>\n </div>\n } @else {\n <div class=\"credential-list\">\n @for (cred of ExistingCredentials; track cred.ID) {\n <div class=\"credential-list-item\" (click)=\"SelectExistingCredential(cred)\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <div class=\"credential-list-item-info\">\n <div class=\"credential-list-item-name\">{{ cred.Name }}</div>\n @if (cred.Description) {\n <div class=\"credential-list-item-desc\">{{ cred.Description }}</div>\n }\n </div>\n <i class=\"fa-solid fa-chevron-right credential-list-item-arrow\"></i>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n\n <div class=\"step-actions\">\n <button kendoButton (click)=\"PrevStep()\">\n <i class=\"fa-solid fa-arrow-left\"></i> Back\n </button>\n <button kendoButton [themeColor]=\"'primary'\" [disabled]=\"!IsStep2Valid\"\n (click)=\"NextStep()\">\n Next <i class=\"fa-solid fa-arrow-right\"></i>\n </button>\n </div>\n </div>\n }\n\n <!-- Step 3: Test & Save -->\n @if (CurrentStep === 2) {\n <div class=\"step-content\">\n @if (SaveCompleted) {\n <!-- Success screen -->\n <div class=\"save-success\">\n <div class=\"success-icon\"><i class=\"fa-solid fa-circle-check\"></i></div>\n <h3>Connection Saved</h3>\n <p class=\"step-description\">\n <strong>{{ ConnectionName }}</strong> has been created and is ready for use.\n </p>\n <div class=\"step-actions\" style=\"justify-content: center;\">\n <button kendoButton [themeColor]=\"'primary'\" (click)=\"ResetWizard()\">\n <i class=\"fa-solid fa-plus\"></i> Create Another Connection\n </button>\n </div>\n </div>\n } @else {\n <h3>Test & Save</h3>\n <p class=\"step-description\">Review your configuration, test the connection, and save.</p>\n\n <div class=\"test-section\">\n <div class=\"test-summary\">\n <div class=\"summary-row\">\n <span class=\"label\">Integration:</span>\n <span class=\"value\">\n <i [class]=\"SelectedIntegrationIcon\"></i>\n {{ SelectedIntegrationName }}\n </span>\n </div>\n @if (UseCustomMode && CustomSourceTypeName) {\n <div class=\"summary-row\">\n <span class=\"label\">Source Type:</span>\n <span class=\"value\">{{ CustomSourceTypeName }}</span>\n </div>\n }\n @if (SelectedCompanyName) {\n <div class=\"summary-row\">\n <span class=\"label\">Company:</span>\n <span class=\"value\">\n <i class=\"fa-solid fa-building\"></i>\n {{ SelectedCompanyName }}\n </span>\n </div>\n }\n <div class=\"summary-row\">\n <span class=\"label\">Connection Name:</span>\n <span class=\"value\">{{ ConnectionName }}</span>\n </div>\n <div class=\"summary-row\">\n <span class=\"label\">Credential:</span>\n <span class=\"value\">\n @if (SelectedCredential) {\n <i class=\"fa-solid fa-shield-halved\"></i>\n {{ SelectedCredential.Name }}\n } @else {\n <span style=\"color: #888;\">None attached</span>\n }\n </span>\n </div>\n </div>\n\n @if (TestStatus === 'idle') {\n <p class=\"test-hint\">Click \"Test Connection\" to verify the configuration.</p>\n }\n @if (TestStatus === 'testing') {\n <mj-loading text=\"Testing connection...\" size=\"small\"></mj-loading>\n }\n @if (TestStatus === 'success') {\n <div class=\"test-result success\">\n <i class=\"fa-solid fa-circle-check\"></i> {{ TestMessage }}\n </div>\n }\n @if (TestStatus === 'failed') {\n <div class=\"test-result failed\">\n <i class=\"fa-solid fa-circle-xmark\"></i> {{ TestMessage }}\n </div>\n }\n </div>\n\n @if (SaveError) {\n <div class=\"test-result failed\" style=\"margin-bottom: 16px;\">\n <i class=\"fa-solid fa-circle-xmark\"></i> Save failed: {{ SaveError }}\n </div>\n }\n\n <div class=\"step-actions\">\n <button kendoButton (click)=\"PrevStep()\" [disabled]=\"IsSaving\">\n <i class=\"fa-solid fa-arrow-left\"></i> Back\n </button>\n <button kendoButton [look]=\"'outline'\" (click)=\"TestConnection()\" [disabled]=\"IsSaving\">\n <i class=\"fa-solid fa-vial\"></i> Test Connection\n </button>\n <button kendoButton [themeColor]=\"'primary'\" (click)=\"SaveIntegration()\" [disabled]=\"IsSaving\">\n @if (IsSaving) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Saving...\n } @else {\n <i class=\"fa-solid fa-floppy-disk\"></i> Save\n }\n </button>\n </div>\n }\n </div>\n }\n</div>\n\n<!-- Credential Dialog -->\n@if (ShowCredentialDialog) {\n <mj-credential-dialog\n #credentialDialog\n [Visible]=\"ShowCredentialDialog\"\n [PreselectedTypeId]=\"PreselectedCredentialTypeId\"\n (close)=\"OnCredentialDialogClose($event)\">\n </mj-credential-dialog>\n}\n"]}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import { BaseResourceComponent } from '@memberjunction/ng-shared';
|
|
3
|
-
import { ResourceData } from '@memberjunction/core-entities';
|
|
4
|
-
import { IntegrationSummary, IntegrationKPIs, ActivityFeedItem, DailyRecordCount } from '../../services/integration-data.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
type StatusColorType = 'green' | 'amber' | 'red' | 'gray';
|
|
7
|
-
export declare class ControlTowerComponent extends BaseResourceComponent implements OnInit {
|
|
8
|
-
/**
|
|
9
|
-
* The Provider @Input is inherited from BaseAngularComponent.
|
|
10
|
-
* Use this.RunViewToUse to get the appropriate IRunViewProvider
|
|
11
|
-
* for multi-MJ-instance support.
|
|
12
|
-
*/
|
|
13
|
-
Summaries: IntegrationSummary[];
|
|
14
|
-
KPIs: IntegrationKPIs;
|
|
15
|
-
ActivityFeed: ActivityFeedItem[];
|
|
16
|
-
DailyCounts: DailyRecordCount[];
|
|
17
|
-
IsLoading: boolean;
|
|
18
|
-
ExpandedID: string | null;
|
|
19
|
-
private dataService;
|
|
20
|
-
private cdr;
|
|
21
|
-
ngOnInit(): Promise<void>;
|
|
22
|
-
LoadData(): Promise<void>;
|
|
23
|
-
Refresh(): Promise<void>;
|
|
24
|
-
OnRunNow(integrationID: string): void;
|
|
25
|
-
OnExpandToggle(integrationID: string): void;
|
|
26
|
-
IsExpanded(integrationID: string): boolean;
|
|
27
|
-
get MaxDailyRecords(): number;
|
|
28
|
-
BarHeight(records: number): number;
|
|
29
|
-
FormatDuration(ms: number | null): string;
|
|
30
|
-
FormatErrorRate(rate: number): string;
|
|
31
|
-
StatusChipClass(color: StatusColorType): string;
|
|
32
|
-
SourceIconClass(summary: IntegrationSummary): string;
|
|
33
|
-
StatusLabel(color: StatusColorType): string;
|
|
34
|
-
FormatRelativeTime(dateStr: string | null): string;
|
|
35
|
-
ActivityStatusIcon(status: string): string;
|
|
36
|
-
GetResourceDisplayName(_data: ResourceData): Promise<string>;
|
|
37
|
-
GetResourceIconClass(_data: ResourceData): Promise<string>;
|
|
38
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ControlTowerComponent, never>;
|
|
39
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ControlTowerComponent, "app-control-tower", never, {}, {}, never, never, false, never>;
|
|
40
|
-
}
|
|
41
|
-
export declare function LoadIntegrationDashboard(): void;
|
|
42
|
-
export {};
|
|
43
|
-
//# sourceMappingURL=control-tower.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"control-tower.component.d.ts","sourceRoot":"","sources":["../../../../src/Integration/components/control-tower/control-tower.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,MAAM,EAAU,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAEL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;;AAEjD,KAAK,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1D,qBAOa,qBAAsB,SAAQ,qBAAsB,YAAW,MAAM;IAChF;;;;OAIG;IAEH,SAAS,EAAE,kBAAkB,EAAE,CAAM;IACrC,IAAI,EAAE,eAAe,CAMnB;IACF,YAAY,EAAE,gBAAgB,EAAE,CAAM;IACtC,WAAW,EAAE,gBAAgB,EAAE,CAAM;IAErC,SAAS,UAAS;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEjC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,GAAG,CAA6B;IAElC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAIrC,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAI3C,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAI1C,IAAI,eAAe,IAAI,MAAM,CAI5B;IAED,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIlC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAIzC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM;IAI/C,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM;IAIpD,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM;IAO3C,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAIlD,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAOpC,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5D,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;yCAlHrD,qBAAqB;2CAArB,qBAAqB;CAqHjC;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C"}
|