@memberjunction/ng-dashboards 3.4.0 → 4.1.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/README.md +102 -339
- package/dist/AI/components/agents/agent-configuration.component.d.ts +12 -5
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +103 -44
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.d.ts +14 -5
- package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.js +149 -211
- package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-filter-panel.component.js +4 -4
- package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
- package/dist/AI/components/charts/performance-heatmap.component.d.ts.map +1 -1
- package/dist/AI/components/charts/performance-heatmap.component.js +4 -6
- package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
- package/dist/AI/components/charts/time-series-chart.component.d.ts.map +1 -1
- package/dist/AI/components/charts/time-series-chart.component.js +6 -7
- package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
- package/dist/AI/components/execution-monitoring.component.d.ts +0 -4
- package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js +33 -37
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.d.ts +3 -6
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +34 -27
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +22 -17
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.js +4 -4
- package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.d.ts +3 -6
- package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +34 -32
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-version-control.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-version-control.component.js +33 -28
- package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-config-filter-panel.component.js +4 -4
- package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.d.ts +0 -4
- package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +26 -27
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/widgets/kpi-card.component.d.ts.map +1 -1
- package/dist/AI/components/widgets/kpi-card.component.js +52 -42
- package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
- package/dist/AI/components/widgets/live-execution-widget.component.d.ts.map +1 -1
- package/dist/AI/components/widgets/live-execution-widget.component.js +7 -7
- package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
- package/dist/APIKeys/api-applications-panel.component.d.ts +0 -2
- package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-applications-panel.component.js +193 -189
- package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.d.ts +0 -2
- package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.js +175 -180
- package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.d.ts +0 -2
- package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.js +231 -225
- package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-list.component.d.ts +0 -2
- package/dist/APIKeys/api-key-list.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-list.component.js +113 -114
- package/dist/APIKeys/api-key-list.component.js.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.d.ts +0 -2
- package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.js +294 -302
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/APIKeys/api-scopes-panel.component.d.ts +0 -2
- package/dist/APIKeys/api-scopes-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-scopes-panel.component.js +151 -155
- package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
- package/dist/APIKeys/api-usage-panel.component.d.ts +0 -2
- package/dist/APIKeys/api-usage-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-usage-panel.component.js +237 -234
- package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
- package/dist/Actions/components/actions-list-view.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-list-view.component.js +15 -14
- package/dist/Actions/components/actions-list-view.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.d.ts +3 -6
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +17 -19
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -1
- package/dist/Actions/components/categories-list-view.component.js +6 -6
- package/dist/Actions/components/categories-list-view.component.js.map +1 -1
- package/dist/Actions/components/code-management.component.d.ts +0 -4
- package/dist/Actions/components/code-management.component.d.ts.map +1 -1
- package/dist/Actions/components/code-management.component.js +3 -9
- package/dist/Actions/components/code-management.component.js.map +1 -1
- package/dist/Actions/components/entity-integration.component.d.ts +0 -4
- package/dist/Actions/components/entity-integration.component.d.ts.map +1 -1
- package/dist/Actions/components/entity-integration.component.js +3 -9
- package/dist/Actions/components/entity-integration.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +3 -6
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +13 -16
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/executions-list-view.component.d.ts.map +1 -1
- package/dist/Actions/components/executions-list-view.component.js +3 -3
- package/dist/Actions/components/executions-list-view.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-breadcrumb.component.js +6 -6
- package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-card.component.js +11 -10
- package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +0 -4
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +10 -14
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-list-item.component.js +8 -8
- package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-toolbar.component.js +15 -14
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-tree-panel.component.js +11 -10
- package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
- package/dist/Actions/components/explorer/index.d.ts +0 -1
- package/dist/Actions/components/explorer/index.d.ts.map +1 -1
- package/dist/Actions/components/explorer/index.js +0 -4
- package/dist/Actions/components/explorer/index.js.map +1 -1
- package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/new-action-panel.component.js +10 -10
- package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
- package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/new-category-panel.component.js +8 -8
- package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.d.ts +0 -4
- package/dist/Actions/components/scheduled-actions.component.d.ts.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.js +3 -9
- package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
- package/dist/Actions/components/security-permissions.component.d.ts +0 -4
- package/dist/Actions/components/security-permissions.component.d.ts.map +1 -1
- package/dist/Actions/components/security-permissions.component.js +3 -9
- package/dist/Actions/components/security-permissions.component.js.map +1 -1
- package/dist/Actions/index.d.ts +0 -7
- package/dist/Actions/index.d.ts.map +1 -1
- package/dist/Actions/index.js +0 -8
- package/dist/Actions/index.js.map +1 -1
- package/dist/Communication/communication-dashboard.component.d.ts +0 -1
- package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
- package/dist/Communication/communication-dashboard.component.js +38 -51
- package/dist/Communication/communication-dashboard.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +0 -4
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +112 -108
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.d.ts +0 -4
- package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +210 -201
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.d.ts +0 -4
- package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +136 -124
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.d.ts +0 -4
- package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +91 -88
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +0 -4
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +139 -122
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +0 -4
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js +21 -20
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +11 -12
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/artifact-load-dialog.component.js +25 -22
- package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +16 -16
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/browser/component-browser.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/browser/component-browser.component.js +23 -21
- package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +10 -10
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +13 -13
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js +7 -7
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/editors/spec-editor.component.js +5 -5
- package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +4 -4
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +9 -9
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/text-import-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/text-import-dialog.component.js +4 -4
- package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/workspace/component-preview.component.js +10 -9
- package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -1
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +4 -4
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts +0 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +200 -196
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.d.ts +0 -1
- package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +195 -190
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts +0 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +251 -240
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.d.ts +0 -1
- package/dist/Credentials/components/credentials-overview-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +228 -226
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts +0 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +214 -210
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/Credentials/credentials-dashboard.component.d.ts +0 -1
- package/dist/Credentials/credentials-dashboard.component.d.ts.map +1 -1
- package/dist/Credentials/credentials-dashboard.component.js +31 -44
- package/dist/Credentials/credentials-dashboard.component.js.map +1 -1
- package/dist/Credentials/pipes/group-by.pipe.d.ts.map +1 -1
- package/dist/Credentials/pipes/group-by.pipe.js +2 -1
- package/dist/Credentials/pipes/group-by.pipe.js.map +1 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +0 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.js +73 -80
- package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
- package/dist/DashboardBrowser/dashboard-share-dialog.component.d.ts.map +1 -1
- package/dist/DashboardBrowser/dashboard-share-dialog.component.js +46 -45
- package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +1 -1
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +7 -7
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +15 -15
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.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 +17 -11
- package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +2 -4
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +83 -64
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.d.ts +0 -1
- package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.js +3 -6
- package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
- package/dist/DataExplorer/index.d.ts +2 -2
- package/dist/DataExplorer/index.d.ts.map +1 -1
- package/dist/DataExplorer/index.js +2 -2
- package/dist/DataExplorer/index.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +0 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +6 -7
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-application.d.ts +109 -27
- package/dist/Home/home-application.d.ts.map +1 -1
- package/dist/Home/home-application.js +351 -75
- package/dist/Home/home-application.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +48 -12
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +267 -187
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +0 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +761 -685
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.d.ts +0 -1
- package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +340 -316
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts +0 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +530 -482
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts +0 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js +508 -455
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
- package/dist/Lists/components/venn-diagram/venn-diagram.component.js +44 -39
- package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
- package/dist/Lists/index.d.ts +0 -1
- package/dist/Lists/index.d.ts.map +1 -1
- package/dist/Lists/index.js +0 -11
- package/dist/Lists/index.js.map +1 -1
- package/dist/MCP/components/mcp-connection-dialog.component.d.ts +0 -4
- package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -1
- package/dist/MCP/components/mcp-connection-dialog.component.js +33 -39
- package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -1
- package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +0 -4
- package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -1
- package/dist/MCP/components/mcp-log-detail-panel.component.js +42 -44
- package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
- package/dist/MCP/components/mcp-server-dialog.component.d.ts +3 -4
- package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -1
- package/dist/MCP/components/mcp-server-dialog.component.js +186 -77
- package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -1
- package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +0 -4
- package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -1
- package/dist/MCP/components/mcp-test-tool-dialog.component.js +187 -187
- package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
- package/dist/MCP/index.d.ts +5 -5
- package/dist/MCP/index.d.ts.map +1 -1
- package/dist/MCP/index.js +5 -5
- package/dist/MCP/index.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.d.ts +65 -7
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +976 -697
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/MCP/mcp-filter-panel.component.d.ts +54 -0
- package/dist/MCP/mcp-filter-panel.component.d.ts.map +1 -0
- package/dist/MCP/mcp-filter-panel.component.js +288 -0
- package/dist/MCP/mcp-filter-panel.component.js.map +1 -0
- package/dist/MCP/mcp-resource.component.d.ts +11 -5
- package/dist/MCP/mcp-resource.component.d.ts.map +1 -1
- package/dist/MCP/mcp-resource.component.js +8 -9
- package/dist/MCP/mcp-resource.component.js.map +1 -1
- package/dist/MCP/mcp.module.d.ts +16 -19
- package/dist/MCP/mcp.module.d.ts.map +1 -1
- package/dist/MCP/mcp.module.js +17 -26
- package/dist/MCP/mcp.module.js.map +1 -1
- package/dist/MCP/services/mcp-tools.service.d.ts +10 -4
- package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -1
- package/dist/MCP/services/mcp-tools.service.js +5 -6
- package/dist/MCP/services/mcp-tools.service.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.d.ts +0 -1
- package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +79 -88
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/job-slideout.component.d.ts.map +1 -1
- package/dist/Scheduling/components/job-slideout.component.js +117 -116
- package/dist/Scheduling/components/job-slideout.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +0 -4
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.js +3 -9
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +134 -134
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +0 -4
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +3 -9
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +102 -97
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +0 -4
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.js +3 -9
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +127 -122
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +0 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +35 -43
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +0 -4
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +1552 -1534
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js +3 -3
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js +30 -30
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +3 -3
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.js +7 -7
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.js +3 -3
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +42 -35
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.js +3 -3
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review.component.js +16 -16
- package/dist/Testing/components/testing-review.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +3 -3
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs.component.js +15 -15
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.d.ts.map +1 -1
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +73 -61
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
- package/dist/Testing/components/widgets/suite-tree.component.d.ts.map +1 -1
- package/dist/Testing/components/widgets/suite-tree.component.js +34 -31
- package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
- package/dist/Testing/components/widgets/test-run-detail-panel.component.d.ts.map +1 -1
- package/dist/Testing/components/widgets/test-run-detail-panel.component.js +180 -171
- package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.d.ts +0 -1
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +9 -8
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.d.ts +119 -0
- package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -0
- package/dist/VersionHistory/components/diff-resource.component.js +1162 -0
- package/dist/VersionHistory/components/diff-resource.component.js.map +1 -0
- package/dist/VersionHistory/components/graph-resource.component.d.ts +67 -0
- package/dist/VersionHistory/components/graph-resource.component.d.ts.map +1 -0
- package/dist/VersionHistory/components/graph-resource.component.js +521 -0
- package/dist/VersionHistory/components/graph-resource.component.js.map +1 -0
- package/dist/VersionHistory/components/index.d.ts +5 -0
- package/dist/VersionHistory/components/index.d.ts.map +1 -0
- package/dist/VersionHistory/components/index.js +5 -0
- package/dist/VersionHistory/components/index.js.map +1 -0
- package/dist/VersionHistory/components/labels-resource.component.d.ts +89 -0
- package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -0
- package/dist/VersionHistory/components/labels-resource.component.js +968 -0
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -0
- package/dist/VersionHistory/components/restore-resource.component.d.ts +40 -0
- package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -0
- package/dist/VersionHistory/components/restore-resource.component.js +472 -0
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -0
- package/dist/VersionHistory/index.d.ts +2 -0
- package/dist/VersionHistory/index.d.ts.map +1 -0
- package/dist/VersionHistory/index.js +2 -0
- package/dist/VersionHistory/index.js.map +1 -0
- package/dist/module.d.ts +42 -36
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +41 -7
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +20 -19
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +22 -120
- package/dist/public-api.js.map +1 -1
- package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -1
- package/dist/shared/pipes/highlight-search.pipe.js +2 -1
- package/dist/shared/pipes/highlight-search.pipe.js.map +1 -1
- package/package.json +64 -62
|
@@ -15,12 +15,11 @@ import { trigger, transition, style, animate } from '@angular/animations';
|
|
|
15
15
|
import { GraphQLDataProvider, gql } from '@memberjunction/graphql-dataprovider';
|
|
16
16
|
import { UserInfoEngine } from '@memberjunction/core-entities';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "@angular/
|
|
19
|
-
import * as i2 from "@angular
|
|
20
|
-
import * as i3 from "@progress/kendo-angular-
|
|
21
|
-
import * as i4 from "@progress/kendo-angular-
|
|
22
|
-
import * as i5 from "@
|
|
23
|
-
import * as i6 from "@memberjunction/ng-code-editor";
|
|
18
|
+
import * as i1 from "@angular/forms";
|
|
19
|
+
import * as i2 from "@progress/kendo-angular-buttons";
|
|
20
|
+
import * as i3 from "@progress/kendo-angular-dropdowns";
|
|
21
|
+
import * as i4 from "@progress/kendo-angular-inputs";
|
|
22
|
+
import * as i5 from "@memberjunction/ng-code-editor";
|
|
24
23
|
const _forTrack0 = ($index, $item) => $item.name;
|
|
25
24
|
function MCPTestToolDialogComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
26
25
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -28,21 +27,21 @@ function MCPTestToolDialogComponent_Conditional_0_Template(rf, ctx) { if (rf & 1
|
|
|
28
27
|
i0.ɵɵlistener("click", function MCPTestToolDialogComponent_Conditional_0_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeDialog()); });
|
|
29
28
|
i0.ɵɵelementEnd();
|
|
30
29
|
} }
|
|
31
|
-
function
|
|
30
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
32
31
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
33
32
|
i0.ɵɵelementStart(0, "div", 19);
|
|
34
|
-
i0.ɵɵlistener("mousedown", function
|
|
33
|
+
i0.ɵɵlistener("mousedown", function MCPTestToolDialogComponent_Conditional_1_Conditional_1_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onResizeStart($event)); });
|
|
35
34
|
i0.ɵɵelement(1, "div", 20);
|
|
36
35
|
i0.ɵɵelementEnd();
|
|
37
36
|
} if (rf & 2) {
|
|
38
37
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
39
38
|
i0.ɵɵclassProp("active", ctx_r1.IsResizing);
|
|
40
39
|
} }
|
|
41
|
-
function
|
|
42
|
-
i0.ɵɵelementStart(0, "div",
|
|
40
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_9_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
i0.ɵɵelementStart(0, "div", 36)(1, "span", 37);
|
|
43
42
|
i0.ɵɵtext(2);
|
|
44
43
|
i0.ɵɵelementEnd();
|
|
45
|
-
i0.ɵɵelementStart(3, "span",
|
|
44
|
+
i0.ɵɵelementStart(3, "span", 38);
|
|
46
45
|
i0.ɵɵtext(4);
|
|
47
46
|
i0.ɵɵelementEnd()();
|
|
48
47
|
} if (rf & 2) {
|
|
@@ -54,8 +53,8 @@ function MCPTestToolDialogComponent_div_1_div_27_ng_template_9_Template(rf, ctx)
|
|
|
54
53
|
i0.ɵɵadvance();
|
|
55
54
|
i0.ɵɵtextInterpolate1(" ", dataItem_r6.Status, " ");
|
|
56
55
|
} }
|
|
57
|
-
function
|
|
58
|
-
i0.ɵɵelementStart(0, "span",
|
|
56
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_17_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
57
|
+
i0.ɵɵelementStart(0, "span", 39);
|
|
59
58
|
i0.ɵɵtext(1);
|
|
60
59
|
i0.ɵɵelementEnd();
|
|
61
60
|
} if (rf & 2) {
|
|
@@ -63,11 +62,11 @@ function MCPTestToolDialogComponent_div_1_div_27_ng_template_17_Conditional_3_Te
|
|
|
63
62
|
i0.ɵɵadvance();
|
|
64
63
|
i0.ɵɵtextInterpolate(dataItem_r7.Description);
|
|
65
64
|
} }
|
|
66
|
-
function
|
|
67
|
-
i0.ɵɵelementStart(0, "div",
|
|
65
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_17_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
+
i0.ɵɵelementStart(0, "div", 36)(1, "span", 37);
|
|
68
67
|
i0.ɵɵtext(2);
|
|
69
68
|
i0.ɵɵelementEnd();
|
|
70
|
-
i0.ɵɵ
|
|
69
|
+
i0.ɵɵconditionalCreate(3, MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_17_Conditional_3_Template, 2, 1, "span", 39);
|
|
71
70
|
i0.ɵɵelementEnd();
|
|
72
71
|
} if (rf & 2) {
|
|
73
72
|
const dataItem_r7 = ctx.$implicit;
|
|
@@ -76,14 +75,14 @@ function MCPTestToolDialogComponent_div_1_div_27_ng_template_17_Template(rf, ctx
|
|
|
76
75
|
i0.ɵɵadvance();
|
|
77
76
|
i0.ɵɵconditional(dataItem_r7.Description ? 3 : -1);
|
|
78
77
|
} }
|
|
79
|
-
function
|
|
80
|
-
i0.ɵɵelementStart(0, "span",
|
|
78
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
79
|
+
i0.ɵɵelementStart(0, "span", 30);
|
|
81
80
|
i0.ɵɵtext(1, "Select a server first");
|
|
82
81
|
i0.ɵɵelementEnd();
|
|
83
82
|
} }
|
|
84
|
-
function
|
|
85
|
-
i0.ɵɵelementStart(0, "span",
|
|
86
|
-
i0.ɵɵelement(1, "i",
|
|
83
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
84
|
+
i0.ɵɵelementStart(0, "span", 31);
|
|
85
|
+
i0.ɵɵelement(1, "i", 40);
|
|
87
86
|
i0.ɵɵtext(2);
|
|
88
87
|
i0.ɵɵelementEnd();
|
|
89
88
|
} if (rf & 2) {
|
|
@@ -91,20 +90,20 @@ function MCPTestToolDialogComponent_div_1_div_27_Conditional_19_Template(rf, ctx
|
|
|
91
90
|
i0.ɵɵadvance(2);
|
|
92
91
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.NoConnectionsWarning, " ");
|
|
93
92
|
} }
|
|
94
|
-
function
|
|
95
|
-
i0.ɵɵelementStart(0, "span",
|
|
96
|
-
i0.ɵɵelement(1, "i",
|
|
93
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
94
|
+
i0.ɵɵelementStart(0, "span", 32);
|
|
95
|
+
i0.ɵɵelement(1, "i", 41);
|
|
97
96
|
i0.ɵɵtext(2, " Auto-selected (only connection available) ");
|
|
98
97
|
i0.ɵɵelementEnd();
|
|
99
98
|
} }
|
|
100
|
-
function
|
|
99
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_28_Template(rf, ctx) { if (rf & 1) {
|
|
101
100
|
i0.ɵɵtext(0);
|
|
102
101
|
} if (rf & 2) {
|
|
103
102
|
const dataItem_r8 = ctx.$implicit;
|
|
104
103
|
i0.ɵɵtextInterpolate1(" ", (dataItem_r8 == null ? null : dataItem_r8.ToolTitle) || (dataItem_r8 == null ? null : dataItem_r8.ToolName) || "Select a tool...", " ");
|
|
105
104
|
} }
|
|
106
|
-
function
|
|
107
|
-
i0.ɵɵelementStart(0, "span",
|
|
105
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_29_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
106
|
+
i0.ɵɵelementStart(0, "span", 39);
|
|
108
107
|
i0.ɵɵtext(1);
|
|
109
108
|
i0.ɵɵelementEnd();
|
|
110
109
|
} if (rf & 2) {
|
|
@@ -112,11 +111,11 @@ function MCPTestToolDialogComponent_div_1_div_27_ng_template_29_Conditional_3_Te
|
|
|
112
111
|
i0.ɵɵadvance();
|
|
113
112
|
i0.ɵɵtextInterpolate(dataItem_r9.ToolDescription);
|
|
114
113
|
} }
|
|
115
|
-
function
|
|
116
|
-
i0.ɵɵelementStart(0, "div",
|
|
114
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_29_Template(rf, ctx) { if (rf & 1) {
|
|
115
|
+
i0.ɵɵelementStart(0, "div", 42)(1, "span", 37);
|
|
117
116
|
i0.ɵɵtext(2);
|
|
118
117
|
i0.ɵɵelementEnd();
|
|
119
|
-
i0.ɵɵ
|
|
118
|
+
i0.ɵɵconditionalCreate(3, MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_29_Conditional_3_Template, 2, 1, "span", 39);
|
|
120
119
|
i0.ɵɵelementEnd();
|
|
121
120
|
} if (rf & 2) {
|
|
122
121
|
const dataItem_r9 = ctx.$implicit;
|
|
@@ -125,49 +124,51 @@ function MCPTestToolDialogComponent_div_1_div_27_ng_template_29_Template(rf, ctx
|
|
|
125
124
|
i0.ɵɵadvance();
|
|
126
125
|
i0.ɵɵconditional(dataItem_r9.ToolDescription ? 3 : -1);
|
|
127
126
|
} }
|
|
128
|
-
function
|
|
129
|
-
i0.ɵɵelementStart(0, "span",
|
|
127
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Conditional_30_Template(rf, ctx) { if (rf & 1) {
|
|
128
|
+
i0.ɵɵelementStart(0, "span", 30);
|
|
130
129
|
i0.ɵɵtext(1, "Select a server first");
|
|
131
130
|
i0.ɵɵelementEnd();
|
|
132
131
|
} }
|
|
133
|
-
function
|
|
132
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
134
133
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
135
|
-
i0.ɵɵelementStart(0, "div",
|
|
136
|
-
i0.ɵɵelement(4, "i",
|
|
134
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "div", 21)(2, "div", 22)(3, "label", 23);
|
|
135
|
+
i0.ɵɵelement(4, "i", 24);
|
|
137
136
|
i0.ɵɵtext(5, " Server ");
|
|
138
|
-
i0.ɵɵelementStart(6, "span",
|
|
137
|
+
i0.ɵɵelementStart(6, "span", 25);
|
|
139
138
|
i0.ɵɵtext(7, "*");
|
|
140
139
|
i0.ɵɵelementEnd()();
|
|
141
|
-
i0.ɵɵelementStart(8, "kendo-dropdownlist",
|
|
142
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
143
|
-
i0.ɵɵlistener("valueChange", function
|
|
144
|
-
i0.ɵɵtemplate(9,
|
|
140
|
+
i0.ɵɵelementStart(8, "kendo-dropdownlist", 26);
|
|
141
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Template_kendo_dropdownlist_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.ServerID, $event) || (ctx_r1.ServerID = $event); return i0.ɵɵresetView($event); });
|
|
142
|
+
i0.ɵɵlistener("valueChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Template_kendo_dropdownlist_valueChange_8_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onServerChange()); })("filterChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Template_kendo_dropdownlist_filterChange_8_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onServerFilterChange($event)); });
|
|
143
|
+
i0.ɵɵtemplate(9, MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_9_Template, 5, 4, "ng-template", 27);
|
|
145
144
|
i0.ɵɵelementEnd()();
|
|
146
|
-
i0.ɵɵelementStart(10, "div",
|
|
147
|
-
i0.ɵɵelement(12, "i",
|
|
145
|
+
i0.ɵɵelementStart(10, "div", 22)(11, "label", 23);
|
|
146
|
+
i0.ɵɵelement(12, "i", 28);
|
|
148
147
|
i0.ɵɵtext(13, " Connection ");
|
|
149
|
-
i0.ɵɵelementStart(14, "span",
|
|
148
|
+
i0.ɵɵelementStart(14, "span", 25);
|
|
150
149
|
i0.ɵɵtext(15, "*");
|
|
151
150
|
i0.ɵɵelementEnd()();
|
|
152
|
-
i0.ɵɵelementStart(16, "kendo-dropdownlist",
|
|
153
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
154
|
-
i0.ɵɵlistener("valueChange", function
|
|
155
|
-
i0.ɵɵtemplate(17,
|
|
151
|
+
i0.ɵɵelementStart(16, "kendo-dropdownlist", 29);
|
|
152
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Template_kendo_dropdownlist_ngModelChange_16_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.ConnectionID, $event) || (ctx_r1.ConnectionID = $event); return i0.ɵɵresetView($event); });
|
|
153
|
+
i0.ɵɵlistener("valueChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Template_kendo_dropdownlist_valueChange_16_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onConnectionChange()); })("filterChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Template_kendo_dropdownlist_filterChange_16_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onConnectionFilterChange($event)); });
|
|
154
|
+
i0.ɵɵtemplate(17, MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_17_Template, 4, 2, "ng-template", 27);
|
|
156
155
|
i0.ɵɵelementEnd();
|
|
157
|
-
i0.ɵɵ
|
|
156
|
+
i0.ɵɵconditionalCreate(18, MCPTestToolDialogComponent_Conditional_1_Conditional_27_Conditional_18_Template, 2, 0, "span", 30);
|
|
157
|
+
i0.ɵɵconditionalCreate(19, MCPTestToolDialogComponent_Conditional_1_Conditional_27_Conditional_19_Template, 3, 1, "span", 31);
|
|
158
|
+
i0.ɵɵconditionalCreate(20, MCPTestToolDialogComponent_Conditional_1_Conditional_27_Conditional_20_Template, 3, 0, "span", 32);
|
|
158
159
|
i0.ɵɵelementEnd();
|
|
159
|
-
i0.ɵɵelementStart(21, "div",
|
|
160
|
-
i0.ɵɵelement(23, "i",
|
|
160
|
+
i0.ɵɵelementStart(21, "div", 22)(22, "label", 23);
|
|
161
|
+
i0.ɵɵelement(23, "i", 33);
|
|
161
162
|
i0.ɵɵtext(24, " Tool ");
|
|
162
|
-
i0.ɵɵelementStart(25, "span",
|
|
163
|
+
i0.ɵɵelementStart(25, "span", 25);
|
|
163
164
|
i0.ɵɵtext(26, "*");
|
|
164
165
|
i0.ɵɵelementEnd()();
|
|
165
|
-
i0.ɵɵelementStart(27, "kendo-dropdownlist",
|
|
166
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
167
|
-
i0.ɵɵlistener("valueChange", function
|
|
168
|
-
i0.ɵɵtemplate(28,
|
|
166
|
+
i0.ɵɵelementStart(27, "kendo-dropdownlist", 34);
|
|
167
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Template_kendo_dropdownlist_ngModelChange_27_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.ToolID, $event) || (ctx_r1.ToolID = $event); return i0.ɵɵresetView($event); });
|
|
168
|
+
i0.ɵɵlistener("valueChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Template_kendo_dropdownlist_valueChange_27_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onToolChange()); })("filterChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_27_Template_kendo_dropdownlist_filterChange_27_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onToolFilterChange($event)); });
|
|
169
|
+
i0.ɵɵtemplate(28, MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_28_Template, 1, 1, "ng-template", 35)(29, MCPTestToolDialogComponent_Conditional_1_Conditional_27_ng_template_29_Template, 4, 2, "ng-template", 27);
|
|
169
170
|
i0.ɵɵelementEnd();
|
|
170
|
-
i0.ɵɵ
|
|
171
|
+
i0.ɵɵconditionalCreate(30, MCPTestToolDialogComponent_Conditional_1_Conditional_27_Conditional_30_Template, 2, 0, "span", 30);
|
|
171
172
|
i0.ɵɵelementEnd()()();
|
|
172
173
|
} if (rf & 2) {
|
|
173
174
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -192,8 +193,8 @@ function MCPTestToolDialogComponent_div_1_div_27_Template(rf, ctx) { if (rf & 1)
|
|
|
192
193
|
i0.ɵɵadvance(3);
|
|
193
194
|
i0.ɵɵconditional(!ctx_r1.ServerID ? 30 : -1);
|
|
194
195
|
} }
|
|
195
|
-
function
|
|
196
|
-
i0.ɵɵelementStart(0, "p",
|
|
196
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
197
|
+
i0.ɵɵelementStart(0, "p", 46);
|
|
197
198
|
i0.ɵɵtext(1);
|
|
198
199
|
i0.ɵɵelementEnd();
|
|
199
200
|
} if (rf & 2) {
|
|
@@ -201,20 +202,20 @@ function MCPTestToolDialogComponent_div_1_div_28_Conditional_6_Template(rf, ctx)
|
|
|
201
202
|
i0.ɵɵadvance();
|
|
202
203
|
i0.ɵɵtextInterpolate(ctx_r1.SelectedTool == null ? null : ctx_r1.SelectedTool.ToolDescription);
|
|
203
204
|
} }
|
|
204
|
-
function
|
|
205
|
-
i0.ɵɵelementStart(0, "div",
|
|
206
|
-
i0.ɵɵelement(1, "i",
|
|
205
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
206
|
+
i0.ɵɵelementStart(0, "div", 49);
|
|
207
|
+
i0.ɵɵelement(1, "i", 51);
|
|
207
208
|
i0.ɵɵelementStart(2, "p");
|
|
208
209
|
i0.ɵɵtext(3, "This tool requires no parameters.");
|
|
209
210
|
i0.ɵɵelementEnd()();
|
|
210
211
|
} }
|
|
211
|
-
function
|
|
212
|
-
i0.ɵɵelementStart(0, "span",
|
|
212
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
213
|
+
i0.ɵɵelementStart(0, "span", 25);
|
|
213
214
|
i0.ɵɵtext(1, "*");
|
|
214
215
|
i0.ɵɵelementEnd();
|
|
215
216
|
} }
|
|
216
|
-
function
|
|
217
|
-
i0.ɵɵelementStart(0, "p",
|
|
217
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
218
|
+
i0.ɵɵelementStart(0, "p", 56);
|
|
218
219
|
i0.ɵɵtext(1);
|
|
219
220
|
i0.ɵɵelementEnd();
|
|
220
221
|
} if (rf & 2) {
|
|
@@ -222,11 +223,11 @@ function MCPTestToolDialogComponent_div_1_div_28_Conditional_15_For_4_Conditiona
|
|
|
222
223
|
i0.ɵɵadvance();
|
|
223
224
|
i0.ɵɵtextInterpolate(config_r10.description);
|
|
224
225
|
} }
|
|
225
|
-
function
|
|
226
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
226
227
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
227
|
-
i0.ɵɵelementStart(0, "kendo-dropdownlist",
|
|
228
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
229
|
-
i0.ɵɵlistener("valueChange", function
|
|
228
|
+
i0.ɵɵelementStart(0, "kendo-dropdownlist", 60);
|
|
229
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_5_Template_kendo_dropdownlist_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r11); const config_r10 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.ParameterValues[config_r10.name], $event) || (ctx_r1.ParameterValues[config_r10.name] = $event); return i0.ɵɵresetView($event); });
|
|
230
|
+
i0.ɵɵlistener("valueChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_5_Template_kendo_dropdownlist_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r11); const config_r10 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onParameterChange(config_r10.name, $event)); });
|
|
230
231
|
i0.ɵɵelementEnd();
|
|
231
232
|
} if (rf & 2) {
|
|
232
233
|
const config_r10 = i0.ɵɵnextContext().$implicit;
|
|
@@ -234,12 +235,12 @@ function MCPTestToolDialogComponent_div_1_div_28_Conditional_15_For_4_Conditiona
|
|
|
234
235
|
i0.ɵɵproperty("data", config_r10.enumValues)("valuePrimitive", true);
|
|
235
236
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.ParameterValues[config_r10.name]);
|
|
236
237
|
} }
|
|
237
|
-
function
|
|
238
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
238
239
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
239
|
-
i0.ɵɵelementStart(0, "div",
|
|
240
|
-
i0.ɵɵlistener("change", function
|
|
240
|
+
i0.ɵɵelementStart(0, "div", 58)(1, "input", 61);
|
|
241
|
+
i0.ɵɵlistener("change", function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_6_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r12); const config_r10 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onParameterChange(config_r10.name, $event.target.checked)); });
|
|
241
242
|
i0.ɵɵelementEnd();
|
|
242
|
-
i0.ɵɵelementStart(2, "label",
|
|
243
|
+
i0.ɵɵelementStart(2, "label", 62);
|
|
243
244
|
i0.ɵɵtext(3, "Enabled");
|
|
244
245
|
i0.ɵɵelementEnd()();
|
|
245
246
|
} if (rf & 2) {
|
|
@@ -250,11 +251,11 @@ function MCPTestToolDialogComponent_div_1_div_28_Conditional_15_For_4_Conditiona
|
|
|
250
251
|
i0.ɵɵadvance();
|
|
251
252
|
i0.ɵɵproperty("for", "param-" + config_r10.name);
|
|
252
253
|
} }
|
|
253
|
-
function
|
|
254
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
254
255
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
255
|
-
i0.ɵɵelementStart(0, "kendo-numerictextbox",
|
|
256
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
257
|
-
i0.ɵɵlistener("valueChange", function
|
|
256
|
+
i0.ɵɵelementStart(0, "kendo-numerictextbox", 63);
|
|
257
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_7_Template_kendo_numerictextbox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r13); const config_r10 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.ParameterValues[config_r10.name], $event) || (ctx_r1.ParameterValues[config_r10.name] = $event); return i0.ɵɵresetView($event); });
|
|
258
|
+
i0.ɵɵlistener("valueChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_7_Template_kendo_numerictextbox_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r13); const config_r10 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onParameterChange(config_r10.name, $event)); });
|
|
258
259
|
i0.ɵɵelementEnd();
|
|
259
260
|
} if (rf & 2) {
|
|
260
261
|
const config_r10 = i0.ɵɵnextContext().$implicit;
|
|
@@ -262,25 +263,24 @@ function MCPTestToolDialogComponent_div_1_div_28_Conditional_15_For_4_Conditiona
|
|
|
262
263
|
i0.ɵɵproperty("format", config_r10.type === "integer" ? "n0" : "n")("step", config_r10.type === "integer" ? 1 : 0.1);
|
|
263
264
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.ParameterValues[config_r10.name]);
|
|
264
265
|
} }
|
|
265
|
-
function
|
|
266
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
266
267
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
267
|
-
i0.ɵɵelementStart(0, "textarea",
|
|
268
|
-
i0.ɵɵlistener("input", function
|
|
268
|
+
i0.ɵɵelementStart(0, "textarea", 64);
|
|
269
|
+
i0.ɵɵlistener("input", function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_8_Template_textarea_input_0_listener($event) { i0.ɵɵrestoreView(_r14); const config_r10 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onTextareaChange(config_r10.name, $event.target.value, config_r10)); });
|
|
269
270
|
i0.ɵɵelementEnd();
|
|
270
|
-
i0.ɵɵelementStart(1, "span",
|
|
271
|
+
i0.ɵɵelementStart(1, "span", 30);
|
|
271
272
|
i0.ɵɵtext(2, "Enter valid JSON");
|
|
272
273
|
i0.ɵɵelementEnd();
|
|
273
274
|
} if (rf & 2) {
|
|
274
275
|
const config_r10 = i0.ɵɵnextContext().$implicit;
|
|
275
276
|
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
276
|
-
i0.ɵɵ
|
|
277
|
-
i0.ɵɵproperty("value", ctx_r1.getTextareaValue(config_r10.name));
|
|
277
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵinterpolate1("Enter JSON ", config_r10.type, "..."))("value", ctx_r1.getTextareaValue(config_r10.name));
|
|
278
278
|
} }
|
|
279
|
-
function
|
|
279
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_9_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
280
280
|
const _r15 = i0.ɵɵgetCurrentView();
|
|
281
|
-
i0.ɵɵelementStart(0, "textarea",
|
|
282
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
283
|
-
i0.ɵɵlistener("input", function
|
|
281
|
+
i0.ɵɵelementStart(0, "textarea", 67);
|
|
282
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_9_Conditional_0_Template_textarea_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r15); const config_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.ParameterValues[config_r10.name], $event) || (ctx_r1.ParameterValues[config_r10.name] = $event); return i0.ɵɵresetView($event); });
|
|
283
|
+
i0.ɵɵlistener("input", function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_9_Conditional_0_Template_textarea_input_0_listener($event) { i0.ɵɵrestoreView(_r15); const config_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onParameterChange(config_r10.name, $event.target.value)); });
|
|
284
284
|
i0.ɵɵelementEnd();
|
|
285
285
|
} if (rf & 2) {
|
|
286
286
|
const config_r10 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -288,11 +288,11 @@ function MCPTestToolDialogComponent_div_1_div_28_Conditional_15_For_4_Conditiona
|
|
|
288
288
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.ParameterValues[config_r10.name]);
|
|
289
289
|
i0.ɵɵproperty("placeholder", config_r10.description || "Enter value...");
|
|
290
290
|
} }
|
|
291
|
-
function
|
|
291
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_9_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
292
292
|
const _r16 = i0.ɵɵgetCurrentView();
|
|
293
|
-
i0.ɵɵelementStart(0, "kendo-textbox",
|
|
294
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
295
|
-
i0.ɵɵlistener("valueChange", function
|
|
293
|
+
i0.ɵɵelementStart(0, "kendo-textbox", 68);
|
|
294
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_9_Conditional_1_Template_kendo_textbox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r16); const config_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.ParameterValues[config_r10.name], $event) || (ctx_r1.ParameterValues[config_r10.name] = $event); return i0.ɵɵresetView($event); });
|
|
295
|
+
i0.ɵɵlistener("valueChange", function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_9_Conditional_1_Template_kendo_textbox_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r16); const config_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onParameterChange(config_r10.name, $event)); });
|
|
296
296
|
i0.ɵɵelementEnd();
|
|
297
297
|
} if (rf & 2) {
|
|
298
298
|
const config_r10 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -300,19 +300,20 @@ function MCPTestToolDialogComponent_div_1_div_28_Conditional_15_For_4_Conditiona
|
|
|
300
300
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.ParameterValues[config_r10.name]);
|
|
301
301
|
i0.ɵɵproperty("placeholder", config_r10.description || "Enter value...");
|
|
302
302
|
} }
|
|
303
|
-
function
|
|
304
|
-
i0.ɵɵ
|
|
303
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
304
|
+
i0.ɵɵconditionalCreate(0, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_9_Conditional_0_Template, 1, 2, "textarea", 65)(1, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_9_Conditional_1_Template, 1, 2, "kendo-textbox", 66);
|
|
305
305
|
} if (rf & 2) {
|
|
306
306
|
const config_r10 = i0.ɵɵnextContext().$implicit;
|
|
307
307
|
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
308
308
|
i0.ɵɵconditional(ctx_r1.isTextarea(config_r10) ? 0 : 1);
|
|
309
309
|
} }
|
|
310
|
-
function
|
|
311
|
-
i0.ɵɵelementStart(0, "div",
|
|
310
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
311
|
+
i0.ɵɵelementStart(0, "div", 54)(1, "label", 55);
|
|
312
312
|
i0.ɵɵtext(2);
|
|
313
|
-
i0.ɵɵ
|
|
313
|
+
i0.ɵɵconditionalCreate(3, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_3_Template, 2, 0, "span", 25);
|
|
314
314
|
i0.ɵɵelementEnd();
|
|
315
|
-
i0.ɵɵ
|
|
315
|
+
i0.ɵɵconditionalCreate(4, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_4_Template, 2, 1, "p", 56);
|
|
316
|
+
i0.ɵɵconditionalCreate(5, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_5_Template, 1, 3, "kendo-dropdownlist", 57)(6, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_6_Template, 4, 3, "div", 58)(7, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_7_Template, 1, 3, "kendo-numerictextbox", 59)(8, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_8_Template, 3, 3)(9, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Conditional_9_Template, 2, 1);
|
|
316
317
|
i0.ɵɵelementEnd();
|
|
317
318
|
} if (rf & 2) {
|
|
318
319
|
const config_r10 = ctx.$implicit;
|
|
@@ -326,33 +327,33 @@ function MCPTestToolDialogComponent_div_1_div_28_Conditional_15_For_4_Template(r
|
|
|
326
327
|
i0.ɵɵadvance();
|
|
327
328
|
i0.ɵɵconditional(config_r10.enumValues.length > 0 ? 5 : config_r10.type === "boolean" ? 6 : config_r10.type === "number" || config_r10.type === "integer" ? 7 : config_r10.type === "array" || config_r10.type === "object" ? 8 : 9);
|
|
328
329
|
} }
|
|
329
|
-
function
|
|
330
|
-
i0.ɵɵelementStart(0, "div",
|
|
330
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
331
|
+
i0.ɵɵelementStart(0, "div", 50)(1, "h4", 52);
|
|
331
332
|
i0.ɵɵtext(2, "Parameters");
|
|
332
333
|
i0.ɵɵelementEnd();
|
|
333
|
-
i0.ɵɵrepeaterCreate(3,
|
|
334
|
+
i0.ɵɵrepeaterCreate(3, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_For_4_Template, 10, 6, "div", 53, _forTrack0);
|
|
334
335
|
i0.ɵɵelementEnd();
|
|
335
336
|
} if (rf & 2) {
|
|
336
337
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
337
338
|
i0.ɵɵadvance(3);
|
|
338
339
|
i0.ɵɵrepeater(ctx_r1.ParameterConfigs);
|
|
339
340
|
} }
|
|
340
|
-
function
|
|
341
|
-
i0.ɵɵelementStart(0, "div",
|
|
342
|
-
i0.ɵɵelement(4, "i",
|
|
341
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
342
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "div", 43)(2, "div", 44)(3, "h3", 45);
|
|
343
|
+
i0.ɵɵelement(4, "i", 33);
|
|
343
344
|
i0.ɵɵtext(5);
|
|
344
345
|
i0.ɵɵelementEnd();
|
|
345
|
-
i0.ɵɵ
|
|
346
|
+
i0.ɵɵconditionalCreate(6, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_6_Template, 2, 1, "p", 46);
|
|
346
347
|
i0.ɵɵelementEnd();
|
|
347
|
-
i0.ɵɵelementStart(7, "div",
|
|
348
|
-
i0.ɵɵelement(9, "i",
|
|
348
|
+
i0.ɵɵelementStart(7, "div", 47)(8, "span", 48);
|
|
349
|
+
i0.ɵɵelement(9, "i", 24);
|
|
349
350
|
i0.ɵɵtext(10);
|
|
350
351
|
i0.ɵɵelementEnd();
|
|
351
|
-
i0.ɵɵelementStart(11, "span",
|
|
352
|
-
i0.ɵɵelement(12, "i",
|
|
352
|
+
i0.ɵɵelementStart(11, "span", 48);
|
|
353
|
+
i0.ɵɵelement(12, "i", 28);
|
|
353
354
|
i0.ɵɵtext(13);
|
|
354
355
|
i0.ɵɵelementEnd()()();
|
|
355
|
-
i0.ɵɵ
|
|
356
|
+
i0.ɵɵconditionalCreate(14, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_14_Template, 4, 0, "div", 49)(15, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Conditional_15_Template, 5, 0, "div", 50);
|
|
356
357
|
i0.ɵɵelementEnd();
|
|
357
358
|
} if (rf & 2) {
|
|
358
359
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -367,20 +368,20 @@ function MCPTestToolDialogComponent_div_1_div_28_Template(rf, ctx) { if (rf & 1)
|
|
|
367
368
|
i0.ɵɵadvance();
|
|
368
369
|
i0.ɵɵconditional(ctx_r1.ParameterConfigs.length === 0 ? 14 : 15);
|
|
369
370
|
} }
|
|
370
|
-
function
|
|
371
|
-
i0.ɵɵelement(0, "i",
|
|
372
|
-
i0.ɵɵelementStart(1, "span",
|
|
371
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_29_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
372
|
+
i0.ɵɵelement(0, "i", 51);
|
|
373
|
+
i0.ɵɵelementStart(1, "span", 78);
|
|
373
374
|
i0.ɵɵtext(2, "Execution Successful");
|
|
374
375
|
i0.ɵɵelementEnd();
|
|
375
376
|
} }
|
|
376
|
-
function
|
|
377
|
-
i0.ɵɵelement(0, "i",
|
|
378
|
-
i0.ɵɵelementStart(1, "span",
|
|
377
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_29_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
378
|
+
i0.ɵɵelement(0, "i", 79);
|
|
379
|
+
i0.ɵɵelementStart(1, "span", 78);
|
|
379
380
|
i0.ɵɵtext(2, "Execution Failed");
|
|
380
381
|
i0.ɵɵelementEnd();
|
|
381
382
|
} }
|
|
382
|
-
function
|
|
383
|
-
i0.ɵɵelementStart(0, "span",
|
|
383
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_29_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
384
|
+
i0.ɵɵelementStart(0, "span", 71);
|
|
384
385
|
i0.ɵɵtext(1);
|
|
385
386
|
i0.ɵɵelementEnd();
|
|
386
387
|
} if (rf & 2) {
|
|
@@ -388,12 +389,12 @@ function MCPTestToolDialogComponent_div_1_div_29_Conditional_5_Template(rf, ctx)
|
|
|
388
389
|
i0.ɵɵadvance();
|
|
389
390
|
i0.ɵɵtextInterpolate1("", ctx_r1.ExecutionResult == null ? null : ctx_r1.ExecutionResult.DurationMs, "ms");
|
|
390
391
|
} }
|
|
391
|
-
function
|
|
392
|
-
i0.ɵɵelementStart(0, "div",
|
|
393
|
-
i0.ɵɵelement(2, "i",
|
|
392
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_29_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
393
|
+
i0.ɵɵelementStart(0, "div", 76)(1, "h4");
|
|
394
|
+
i0.ɵɵelement(2, "i", 40);
|
|
394
395
|
i0.ɵɵtext(3, " Error");
|
|
395
396
|
i0.ɵɵelementEnd();
|
|
396
|
-
i0.ɵɵelementStart(4, "pre",
|
|
397
|
+
i0.ɵɵelementStart(4, "pre", 80);
|
|
397
398
|
i0.ɵɵtext(5);
|
|
398
399
|
i0.ɵɵelementEnd()();
|
|
399
400
|
} if (rf & 2) {
|
|
@@ -401,47 +402,49 @@ function MCPTestToolDialogComponent_div_1_div_29_Conditional_22_Template(rf, ctx
|
|
|
401
402
|
i0.ɵɵadvance(5);
|
|
402
403
|
i0.ɵɵtextInterpolate(ctx_r1.ExecutionResult == null ? null : ctx_r1.ExecutionResult.ErrorMessage);
|
|
403
404
|
} }
|
|
404
|
-
function
|
|
405
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_29_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
405
406
|
const _r17 = i0.ɵɵgetCurrentView();
|
|
406
|
-
i0.ɵɵelementStart(0, "div",
|
|
407
|
-
i0.ɵɵelement(3, "i",
|
|
407
|
+
i0.ɵɵelementStart(0, "div", 77)(1, "div", 81)(2, "h4");
|
|
408
|
+
i0.ɵɵelement(3, "i", 82);
|
|
408
409
|
i0.ɵɵtext(4, " Result");
|
|
409
410
|
i0.ɵɵelementEnd();
|
|
410
|
-
i0.ɵɵelementStart(5, "button",
|
|
411
|
-
i0.ɵɵlistener("click", function
|
|
412
|
-
i0.ɵɵelement(6, "i",
|
|
411
|
+
i0.ɵɵelementStart(5, "button", 83);
|
|
412
|
+
i0.ɵɵlistener("click", function MCPTestToolDialogComponent_Conditional_1_Conditional_29_Conditional_23_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r17); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.copyResult()); });
|
|
413
|
+
i0.ɵɵelement(6, "i", 84);
|
|
413
414
|
i0.ɵɵelementEnd()();
|
|
414
|
-
i0.ɵɵelementStart(7, "div",
|
|
415
|
-
i0.ɵɵelement(8, "mj-code-editor",
|
|
415
|
+
i0.ɵɵelementStart(7, "div", 85);
|
|
416
|
+
i0.ɵɵelement(8, "mj-code-editor", 86);
|
|
416
417
|
i0.ɵɵelementEnd()();
|
|
417
418
|
} if (rf & 2) {
|
|
418
419
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
419
420
|
i0.ɵɵadvance(8);
|
|
420
421
|
i0.ɵɵproperty("ngModel", ctx_r1.FormattedResult)("language", "json")("readonly", true);
|
|
421
422
|
} }
|
|
422
|
-
function
|
|
423
|
-
i0.ɵɵelementStart(0, "div",
|
|
424
|
-
i0.ɵɵ
|
|
423
|
+
function MCPTestToolDialogComponent_Conditional_1_Conditional_29_Template(rf, ctx) { if (rf & 1) {
|
|
424
|
+
i0.ɵɵelementStart(0, "div", 17)(1, "div", 69)(2, "div", 70);
|
|
425
|
+
i0.ɵɵconditionalCreate(3, MCPTestToolDialogComponent_Conditional_1_Conditional_29_Conditional_3_Template, 3, 0)(4, MCPTestToolDialogComponent_Conditional_1_Conditional_29_Conditional_4_Template, 3, 0);
|
|
426
|
+
i0.ɵɵconditionalCreate(5, MCPTestToolDialogComponent_Conditional_1_Conditional_29_Conditional_5_Template, 2, 1, "span", 71);
|
|
425
427
|
i0.ɵɵelementEnd();
|
|
426
|
-
i0.ɵɵelementStart(6, "div",
|
|
428
|
+
i0.ɵɵelementStart(6, "div", 72)(7, "div", 73)(8, "span", 74);
|
|
427
429
|
i0.ɵɵtext(9, "Tool:");
|
|
428
430
|
i0.ɵɵelementEnd();
|
|
429
|
-
i0.ɵɵelementStart(10, "span",
|
|
431
|
+
i0.ɵɵelementStart(10, "span", 75);
|
|
430
432
|
i0.ɵɵtext(11);
|
|
431
433
|
i0.ɵɵelementEnd()();
|
|
432
|
-
i0.ɵɵelementStart(12, "div",
|
|
434
|
+
i0.ɵɵelementStart(12, "div", 73)(13, "span", 74);
|
|
433
435
|
i0.ɵɵtext(14, "Server:");
|
|
434
436
|
i0.ɵɵelementEnd();
|
|
435
|
-
i0.ɵɵelementStart(15, "span",
|
|
437
|
+
i0.ɵɵelementStart(15, "span", 75);
|
|
436
438
|
i0.ɵɵtext(16);
|
|
437
439
|
i0.ɵɵelementEnd()();
|
|
438
|
-
i0.ɵɵelementStart(17, "div",
|
|
440
|
+
i0.ɵɵelementStart(17, "div", 73)(18, "span", 74);
|
|
439
441
|
i0.ɵɵtext(19, "Connection:");
|
|
440
442
|
i0.ɵɵelementEnd();
|
|
441
|
-
i0.ɵɵelementStart(20, "span",
|
|
443
|
+
i0.ɵɵelementStart(20, "span", 75);
|
|
442
444
|
i0.ɵɵtext(21);
|
|
443
445
|
i0.ɵɵelementEnd()()();
|
|
444
|
-
i0.ɵɵ
|
|
446
|
+
i0.ɵɵconditionalCreate(22, MCPTestToolDialogComponent_Conditional_1_Conditional_29_Conditional_22_Template, 6, 1, "div", 76);
|
|
447
|
+
i0.ɵɵconditionalCreate(23, MCPTestToolDialogComponent_Conditional_1_Conditional_29_Conditional_23_Template, 9, 3, "div", 77);
|
|
445
448
|
i0.ɵɵelementEnd()();
|
|
446
449
|
} if (rf & 2) {
|
|
447
450
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -462,38 +465,38 @@ function MCPTestToolDialogComponent_div_1_div_29_Template(rf, ctx) { if (rf & 1)
|
|
|
462
465
|
i0.ɵɵadvance();
|
|
463
466
|
i0.ɵɵconditional((ctx_r1.ExecutionResult == null ? null : ctx_r1.ExecutionResult.Result) ? 23 : -1);
|
|
464
467
|
} }
|
|
465
|
-
function
|
|
468
|
+
function MCPTestToolDialogComponent_Conditional_1_Case_31_Template(rf, ctx) { if (rf & 1) {
|
|
466
469
|
const _r18 = i0.ɵɵgetCurrentView();
|
|
467
|
-
i0.ɵɵelementStart(0, "button",
|
|
468
|
-
i0.ɵɵlistener("click", function
|
|
469
|
-
i0.ɵɵelement(1, "i",
|
|
470
|
+
i0.ɵɵelementStart(0, "button", 87);
|
|
471
|
+
i0.ɵɵlistener("click", function MCPTestToolDialogComponent_Conditional_1_Case_31_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.proceedToConfig()); });
|
|
472
|
+
i0.ɵɵelement(1, "i", 88);
|
|
470
473
|
i0.ɵɵtext(2, " Next ");
|
|
471
474
|
i0.ɵɵelementEnd();
|
|
472
|
-
i0.ɵɵelementStart(3, "button",
|
|
473
|
-
i0.ɵɵlistener("click", function
|
|
475
|
+
i0.ɵɵelementStart(3, "button", 89);
|
|
476
|
+
i0.ɵɵlistener("click", function MCPTestToolDialogComponent_Conditional_1_Case_31_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.closeDialog()); });
|
|
474
477
|
i0.ɵɵtext(4, "Cancel");
|
|
475
478
|
i0.ɵɵelementEnd();
|
|
476
479
|
} if (rf & 2) {
|
|
477
480
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
478
481
|
i0.ɵɵproperty("disabled", !ctx_r1.CanProceedToConfig);
|
|
479
482
|
} }
|
|
480
|
-
function
|
|
481
|
-
i0.ɵɵelement(0, "i",
|
|
483
|
+
function MCPTestToolDialogComponent_Conditional_1_Case_32_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
484
|
+
i0.ɵɵelement(0, "i", 91);
|
|
482
485
|
i0.ɵɵtext(1, " Executing... ");
|
|
483
486
|
} }
|
|
484
|
-
function
|
|
485
|
-
i0.ɵɵelement(0, "i",
|
|
487
|
+
function MCPTestToolDialogComponent_Conditional_1_Case_32_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
488
|
+
i0.ɵɵelement(0, "i", 92);
|
|
486
489
|
i0.ɵɵtext(1, " Execute Tool ");
|
|
487
490
|
} }
|
|
488
|
-
function
|
|
491
|
+
function MCPTestToolDialogComponent_Conditional_1_Case_32_Template(rf, ctx) { if (rf & 1) {
|
|
489
492
|
const _r19 = i0.ɵɵgetCurrentView();
|
|
490
|
-
i0.ɵɵelementStart(0, "button",
|
|
491
|
-
i0.ɵɵlistener("click", function
|
|
492
|
-
i0.ɵɵ
|
|
493
|
+
i0.ɵɵelementStart(0, "button", 87);
|
|
494
|
+
i0.ɵɵlistener("click", function MCPTestToolDialogComponent_Conditional_1_Case_32_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.executeTool()); });
|
|
495
|
+
i0.ɵɵconditionalCreate(1, MCPTestToolDialogComponent_Conditional_1_Case_32_Conditional_1_Template, 2, 0)(2, MCPTestToolDialogComponent_Conditional_1_Case_32_Conditional_2_Template, 2, 0);
|
|
493
496
|
i0.ɵɵelementEnd();
|
|
494
|
-
i0.ɵɵelementStart(3, "button",
|
|
495
|
-
i0.ɵɵlistener("click", function
|
|
496
|
-
i0.ɵɵelement(4, "i",
|
|
497
|
+
i0.ɵɵelementStart(3, "button", 89);
|
|
498
|
+
i0.ɵɵlistener("click", function MCPTestToolDialogComponent_Conditional_1_Case_32_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.goBack()); });
|
|
499
|
+
i0.ɵɵelement(4, "i", 90);
|
|
497
500
|
i0.ɵɵtext(5, " Back ");
|
|
498
501
|
i0.ɵɵelementEnd();
|
|
499
502
|
} if (rf & 2) {
|
|
@@ -502,33 +505,33 @@ function MCPTestToolDialogComponent_div_1_Case_32_Template(rf, ctx) { if (rf & 1
|
|
|
502
505
|
i0.ɵɵadvance();
|
|
503
506
|
i0.ɵɵconditional(ctx_r1.IsExecuting ? 1 : 2);
|
|
504
507
|
} }
|
|
505
|
-
function
|
|
508
|
+
function MCPTestToolDialogComponent_Conditional_1_Case_33_Template(rf, ctx) { if (rf & 1) {
|
|
506
509
|
const _r20 = i0.ɵɵgetCurrentView();
|
|
507
|
-
i0.ɵɵelementStart(0, "button",
|
|
508
|
-
i0.ɵɵlistener("click", function
|
|
509
|
-
i0.ɵɵelement(1, "i",
|
|
510
|
+
i0.ɵɵelementStart(0, "button", 93);
|
|
511
|
+
i0.ɵɵlistener("click", function MCPTestToolDialogComponent_Conditional_1_Case_33_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.runAgain()); });
|
|
512
|
+
i0.ɵɵelement(1, "i", 94);
|
|
510
513
|
i0.ɵɵtext(2, " Run Again ");
|
|
511
514
|
i0.ɵɵelementEnd();
|
|
512
|
-
i0.ɵɵelementStart(3, "button",
|
|
513
|
-
i0.ɵɵlistener("click", function
|
|
514
|
-
i0.ɵɵelement(4, "i",
|
|
515
|
+
i0.ɵɵelementStart(3, "button", 89);
|
|
516
|
+
i0.ɵɵlistener("click", function MCPTestToolDialogComponent_Conditional_1_Case_33_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.goBack()); });
|
|
517
|
+
i0.ɵɵelement(4, "i", 90);
|
|
515
518
|
i0.ɵɵtext(5, " Edit Parameters ");
|
|
516
519
|
i0.ɵɵelementEnd();
|
|
517
|
-
i0.ɵɵelementStart(6, "button",
|
|
518
|
-
i0.ɵɵlistener("click", function
|
|
520
|
+
i0.ɵɵelementStart(6, "button", 89);
|
|
521
|
+
i0.ɵɵlistener("click", function MCPTestToolDialogComponent_Conditional_1_Case_33_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.closeDialog()); });
|
|
519
522
|
i0.ɵɵtext(7, "Close");
|
|
520
523
|
i0.ɵɵelementEnd();
|
|
521
524
|
} }
|
|
522
|
-
function
|
|
525
|
+
function MCPTestToolDialogComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
523
526
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
524
527
|
i0.ɵɵelementStart(0, "div", 3);
|
|
525
|
-
i0.ɵɵ
|
|
528
|
+
i0.ɵɵconditionalCreate(1, MCPTestToolDialogComponent_Conditional_1_Conditional_1_Template, 2, 2, "div", 4);
|
|
526
529
|
i0.ɵɵelementStart(2, "div", 5)(3, "h2", 6);
|
|
527
530
|
i0.ɵɵelement(4, "i", 7);
|
|
528
531
|
i0.ɵɵtext(5, " Test MCP Tool ");
|
|
529
532
|
i0.ɵɵelementEnd();
|
|
530
533
|
i0.ɵɵelementStart(6, "button", 8);
|
|
531
|
-
i0.ɵɵlistener("click", function
|
|
534
|
+
i0.ɵɵlistener("click", function MCPTestToolDialogComponent_Conditional_1_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeDialog()); });
|
|
532
535
|
i0.ɵɵelement(7, "i", 9);
|
|
533
536
|
i0.ɵɵelementEnd()();
|
|
534
537
|
i0.ɵɵelementStart(8, "div", 10)(9, "div", 11)(10, "span", 12);
|
|
@@ -552,10 +555,12 @@ function MCPTestToolDialogComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
552
555
|
i0.ɵɵtext(25, "Results");
|
|
553
556
|
i0.ɵɵelementEnd()()();
|
|
554
557
|
i0.ɵɵelementStart(26, "div", 15);
|
|
555
|
-
i0.ɵɵ
|
|
558
|
+
i0.ɵɵconditionalCreate(27, MCPTestToolDialogComponent_Conditional_1_Conditional_27_Template, 31, 24, "div", 16);
|
|
559
|
+
i0.ɵɵconditionalCreate(28, MCPTestToolDialogComponent_Conditional_1_Conditional_28_Template, 16, 5, "div", 16);
|
|
560
|
+
i0.ɵɵconditionalCreate(29, MCPTestToolDialogComponent_Conditional_1_Conditional_29_Template, 24, 11, "div", 17);
|
|
556
561
|
i0.ɵɵelementEnd();
|
|
557
562
|
i0.ɵɵelementStart(30, "div", 18);
|
|
558
|
-
i0.ɵɵ
|
|
563
|
+
i0.ɵɵconditionalCreate(31, MCPTestToolDialogComponent_Conditional_1_Case_31_Template, 5, 1)(32, MCPTestToolDialogComponent_Conditional_1_Case_32_Template, 6, 2)(33, MCPTestToolDialogComponent_Conditional_1_Case_33_Template, 8, 0);
|
|
559
564
|
i0.ɵɵelementEnd()();
|
|
560
565
|
} if (rf & 2) {
|
|
561
566
|
let tmp_16_0;
|
|
@@ -576,11 +581,11 @@ function MCPTestToolDialogComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
576
581
|
i0.ɵɵadvance();
|
|
577
582
|
i0.ɵɵclassProp("active", ctx_r1.CurrentStep === "results");
|
|
578
583
|
i0.ɵɵadvance(6);
|
|
579
|
-
i0.ɵɵ
|
|
584
|
+
i0.ɵɵconditional(ctx_r1.CurrentStep === "select" ? 27 : -1);
|
|
580
585
|
i0.ɵɵadvance();
|
|
581
|
-
i0.ɵɵ
|
|
586
|
+
i0.ɵɵconditional(ctx_r1.CurrentStep === "configure" ? 28 : -1);
|
|
582
587
|
i0.ɵɵadvance();
|
|
583
|
-
i0.ɵɵ
|
|
588
|
+
i0.ɵɵconditional(ctx_r1.CurrentStep === "results" ? 29 : -1);
|
|
584
589
|
i0.ɵɵadvance(2);
|
|
585
590
|
i0.ɵɵconditional((tmp_16_0 = ctx_r1.CurrentStep) === "select" ? 31 : tmp_16_0 === "configure" ? 32 : tmp_16_0 === "results" ? 33 : -1);
|
|
586
591
|
} }
|
|
@@ -1232,14 +1237,15 @@ export class MCPTestToolDialogComponent {
|
|
|
1232
1237
|
}
|
|
1233
1238
|
static ɵfac = function MCPTestToolDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MCPTestToolDialogComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
1234
1239
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MCPTestToolDialogComponent, selectors: [["mj-mcp-test-tool-dialog"]], hostBindings: function MCPTestToolDialogComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
1235
|
-
i0.ɵɵlistener("mousemove", function MCPTestToolDialogComponent_mousemove_HostBindingHandler($event) { return ctx.onMouseMove($event); },
|
|
1236
|
-
} }, inputs: { Visible: "Visible", Servers: "Servers", Connections: "Connections", Tools: "Tools", SelectedServerID: "SelectedServerID", SelectedConnectionID: "SelectedConnectionID", SelectedToolID: "SelectedToolID" }, outputs: { Close: "Close" }, decls: 2, vars: 2, consts: [[1, "panel-backdrop"], [
|
|
1237
|
-
i0.ɵɵ
|
|
1240
|
+
i0.ɵɵlistener("mousemove", function MCPTestToolDialogComponent_mousemove_HostBindingHandler($event) { return ctx.onMouseMove($event); }, i0.ɵɵresolveDocument)("mouseup", function MCPTestToolDialogComponent_mouseup_HostBindingHandler() { return ctx.onMouseUp(); }, i0.ɵɵresolveDocument)("resize", function MCPTestToolDialogComponent_resize_HostBindingHandler() { return ctx.onWindowResize(); }, i0.ɵɵresolveWindow);
|
|
1241
|
+
} }, inputs: { Visible: "Visible", Servers: "Servers", Connections: "Connections", Tools: "Tools", SelectedServerID: "SelectedServerID", SelectedConnectionID: "SelectedConnectionID", SelectedToolID: "SelectedToolID" }, outputs: { Close: "Close" }, standalone: false, decls: 2, vars: 2, consts: [[1, "panel-backdrop"], [1, "slide-out-panel", 3, "width", "mobile", "resizing"], [1, "panel-backdrop", 3, "click"], [1, "slide-out-panel"], ["title", "Drag to resize", 1, "resize-handle", 3, "active"], [1, "panel-header"], [1, "panel-title"], [1, "fa-solid", "fa-flask"], ["title", "Close", 1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "step-indicator"], [1, "step"], [1, "step-number"], [1, "step-label"], [1, "step-connector"], [1, "panel-content"], [1, "step-content"], [1, "step-content", "results-step"], [1, "panel-actions"], ["title", "Drag to resize", 1, "resize-handle", 3, "mousedown"], [1, "resize-grip"], [1, "selection-form"], [1, "form-group"], [1, "form-label"], [1, "fa-solid", "fa-server"], [1, "required"], ["placeholder", "Select a server...", 3, "ngModelChange", "valueChange", "filterChange", "data", "textField", "valueField", "valuePrimitive", "ngModel", "filterable"], ["kendoDropDownListItemTemplate", ""], [1, "fa-solid", "fa-link"], ["placeholder", "Select a connection...", 3, "ngModelChange", "valueChange", "filterChange", "data", "textField", "valueField", "valuePrimitive", "ngModel", "disabled", "filterable"], [1, "field-hint"], [1, "field-error"], [1, "field-hint", "auto-selected"], [1, "fa-solid", "fa-wrench"], ["placeholder", "Select a tool...", 3, "ngModelChange", "valueChange", "filterChange", "data", "textField", "valueField", "valuePrimitive", "ngModel", "disabled", "filterable"], ["kendoDropDownListValueTemplate", ""], [1, "dropdown-item"], [1, "item-name"], [1, "item-status"], [1, "item-description"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "fa-solid", "fa-check"], [1, "dropdown-item", "tool-item"], [1, "tool-header"], [1, "tool-info"], [1, "tool-name"], [1, "tool-description"], [1, "tool-context"], [1, "context-item"], [1, "no-params"], [1, "parameters-form"], [1, "fa-solid", "fa-check-circle"], [1, "params-title"], [1, "param-group", 3, "required"], [1, "param-group"], [1, "param-label"], [1, "param-description"], [3, "data", "valuePrimitive", "ngModel"], [1, "checkbox-wrapper"], [3, "format", "step", "ngModel"], [3, "ngModelChange", "valueChange", "data", "valuePrimitive", "ngModel"], ["type", "checkbox", 3, "change", "id", "checked"], [3, "for"], [3, "ngModelChange", "valueChange", "format", "step", "ngModel"], ["rows", "4", 1, "json-input", 3, "input", "value", "placeholder"], ["rows", "3", 1, "text-input", 3, "ngModel", "placeholder"], [3, "ngModel", "placeholder"], ["rows", "3", 1, "text-input", 3, "ngModelChange", "input", "ngModel", "placeholder"], [3, "ngModelChange", "valueChange", "ngModel", "placeholder"], [1, "results-container"], [1, "result-header"], [1, "duration"], [1, "execution-info"], [1, "info-row"], [1, "info-label"], [1, "info-value"], [1, "error-panel"], [1, "result-panel", "fill-space"], [1, "result-status"], [1, "fa-solid", "fa-times-circle"], [1, "error-message"], [1, "result-panel-header"], [1, "fa-solid", "fa-code"], ["kendoButton", "", "fillMode", "flat", "title", "Copy to clipboard", 3, "click"], [1, "fa-solid", "fa-copy"], [1, "code-editor-container"], [3, "ngModel", "language", "readonly"], ["kendoButton", "", "themeColor", "primary", 3, "click", "disabled"], [1, "fa-solid", "fa-arrow-right"], ["kendoButton", "", "fillMode", "flat", 3, "click"], [1, "fa-solid", "fa-arrow-left"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-play"], ["kendoButton", "", "themeColor", "primary", 3, "click"], [1, "fa-solid", "fa-redo"]], template: function MCPTestToolDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1242
|
+
i0.ɵɵconditionalCreate(0, MCPTestToolDialogComponent_Conditional_0_Template, 1, 0, "div", 0);
|
|
1243
|
+
i0.ɵɵconditionalCreate(1, MCPTestToolDialogComponent_Conditional_1_Template, 34, 26, "div", 1);
|
|
1238
1244
|
} if (rf & 2) {
|
|
1239
1245
|
i0.ɵɵconditional(ctx.Visible ? 0 : -1);
|
|
1240
1246
|
i0.ɵɵadvance();
|
|
1241
|
-
i0.ɵɵ
|
|
1242
|
-
} }, dependencies: [i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.ButtonComponent, i4.ItemTemplateDirective, i4.ValueTemplateDirective, i4.DropDownListComponent, i5.TextBoxComponent, i5.NumericTextBoxComponent, i6.CodeEditorComponent], styles: ["\n\n\n\n\n\n\n.panel-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 1000;\n animation: _ngcontent-%COMP%_fadeIn 0.2s ease-out;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n\n\n\n\n.slide-out-panel[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n background: white;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n z-index: 1001;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.slide-out-panel.mobile[_ngcontent-%COMP%] {\n width: 100% !important;\n left: 0;\n}\n\n.slide-out-panel.resizing[_ngcontent-%COMP%] {\n user-select: none;\n transition: none;\n}\n\n\n\n\n\n.resize-handle[_ngcontent-%COMP%] {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: ew-resize;\n background: transparent;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.15s ease;\n}\n\n.resize-handle[_ngcontent-%COMP%]:hover, \n.resize-handle.active[_ngcontent-%COMP%] {\n background: rgba(33, 150, 243, 0.1);\n}\n\n.resize-grip[_ngcontent-%COMP%] {\n width: 3px;\n height: 40px;\n background: #ccc;\n border-radius: 2px;\n opacity: 0;\n transition: opacity 0.15s ease;\n}\n\n.resize-handle[_ngcontent-%COMP%]:hover .resize-grip[_ngcontent-%COMP%], \n.resize-handle.active[_ngcontent-%COMP%] .resize-grip[_ngcontent-%COMP%] {\n opacity: 1;\n background: var(--mj-primary-color, #2196f3);\n}\n\n\n\n\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.panel-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.close-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: none;\n background: transparent;\n border-radius: 50%;\n cursor: pointer;\n color: #666;\n transition: all 0.15s ease;\n}\n\n.close-btn[_ngcontent-%COMP%]:hover {\n background: #f5f5f5;\n color: #333;\n}\n\n.close-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n}\n\n\n\n\n\n.step-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px 20px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.step[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n opacity: 0.5;\n transition: opacity 0.2s ease;\n}\n\n.step.active[_ngcontent-%COMP%], \n.step.completed[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.step-number[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: #e0e0e0;\n color: #666;\n font-weight: 600;\n font-size: 13px;\n transition: all 0.2s ease;\n}\n\n.step.active[_ngcontent-%COMP%] .step-number[_ngcontent-%COMP%] {\n background: var(--mj-primary-color, #2196f3);\n color: white;\n}\n\n.step.completed[_ngcontent-%COMP%] .step-number[_ngcontent-%COMP%] {\n background: #4caf50;\n color: white;\n}\n\n.step-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.step-connector[_ngcontent-%COMP%] {\n width: 40px;\n height: 2px;\n background: #e0e0e0;\n margin: 0 10px;\n transition: background 0.2s ease;\n}\n\n.step-connector.completed[_ngcontent-%COMP%] {\n background: #4caf50;\n}\n\n\n\n\n\n.panel-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n\n.step-content[_ngcontent-%COMP%] {\n min-height: 100%;\n}\n\n.step-content.results-step[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n\n\n\n\n.selection-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.form-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.form-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.form-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-primary-color, #2196f3);\n font-size: 14px;\n}\n\n.required[_ngcontent-%COMP%] {\n color: #f44336;\n font-weight: 600;\n}\n\n.field-hint[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n font-style: italic;\n margin-top: 4px;\n}\n\n.field-hint.auto-selected[_ngcontent-%COMP%] {\n color: #4caf50;\n font-style: normal;\n}\n\n.field-hint.auto-selected[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}\n\n.field-error[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #f44336;\n margin-top: 4px;\n padding: 8px 10px;\n background: rgba(244, 67, 54, 0.08);\n border-radius: 4px;\n border: 1px solid rgba(244, 67, 54, 0.2);\n}\n\n.field-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 13px;\n}\n\n\n\n.dropdown-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: 4px 0;\n}\n\n.dropdown-item.tool-item[_ngcontent-%COMP%] {\n max-width: 100%;\n}\n\n.item-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.item-description[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.item-status[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.item-status.status-active[_ngcontent-%COMP%] {\n color: #4caf50;\n}\n\n.item-status.status-inactive[_ngcontent-%COMP%] {\n color: #9e9e9e;\n}\n\n\n\n\n\n.tool-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px;\n background: linear-gradient(135deg, rgba(33, 150, 243, 0.08), rgba(33, 150, 243, 0.02));\n border-radius: 8px;\n margin-bottom: 20px;\n border: 1px solid rgba(33, 150, 243, 0.15);\n}\n\n.tool-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.tool-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.tool-name[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.tool-description[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n color: var(--mj-text-secondary-color, #666);\n line-height: 1.5;\n}\n\n.tool-context[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n align-items: flex-end;\n flex-shrink: 0;\n}\n\n.context-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n}\n\n.context-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #999;\n}\n\n\n\n\n\n.no-params[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n color: var(--mj-text-secondary-color, #666);\n}\n\n.no-params[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: #4caf50;\n margin-bottom: 16px;\n}\n\n.no-params[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n}\n\n.params-title[_ngcontent-%COMP%] {\n margin: 0 0 16px 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary-color, #666);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.parameters-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.param-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 12px;\n background: #fafafa;\n border-radius: 6px;\n border: 1px solid #e8e8e8;\n}\n\n.param-group.required[_ngcontent-%COMP%] {\n border-left: 3px solid var(--mj-primary-color, #2196f3);\n}\n\n.param-label[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.param-description[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n line-height: 1.4;\n}\n\n.checkbox-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n}\n\n.checkbox-wrapper[_ngcontent-%COMP%] input[type=\"checkbox\"][_ngcontent-%COMP%] {\n width: 18px;\n height: 18px;\n cursor: pointer;\n}\n\n.checkbox-wrapper[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-color, #333);\n cursor: pointer;\n}\n\n.json-input[_ngcontent-%COMP%], \n.text-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 10px 12px;\n font-family: 'Consolas', 'Monaco', monospace;\n font-size: 13px;\n line-height: 1.5;\n border: 1px solid #ddd;\n border-radius: 4px;\n background: white;\n resize: vertical;\n box-sizing: border-box;\n}\n\n.json-input[_ngcontent-%COMP%]:focus, \n.text-input[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-primary-color, #2196f3);\n box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.1);\n}\n\n\n\n\n\n.results-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n min-height: 0;\n}\n\n.result-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n border-radius: 8px;\n font-weight: 600;\n}\n\n.result-header.success[_ngcontent-%COMP%] {\n background: rgba(76, 175, 80, 0.1);\n color: #388e3c;\n}\n\n.result-header.success[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: #4caf50;\n}\n\n.result-header.error[_ngcontent-%COMP%] {\n background: rgba(244, 67, 54, 0.1);\n color: #c62828;\n}\n\n.result-header.error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: #f44336;\n}\n\n.result-status[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 16px;\n}\n\n.duration[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: normal;\n color: var(--mj-text-secondary-color, #666);\n background: rgba(0, 0, 0, 0.05);\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.error-panel[_ngcontent-%COMP%] {\n background: #fff5f5;\n border: 1px solid rgba(244, 67, 54, 0.2);\n border-radius: 8px;\n padding: 16px;\n}\n\n.error-panel[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 12px 0;\n font-size: 14px;\n color: #c62828;\n}\n\n.error-message[_ngcontent-%COMP%] {\n margin: 0;\n padding: 12px;\n background: white;\n border-radius: 4px;\n font-family: monospace;\n font-size: 13px;\n line-height: 1.5;\n color: #c62828;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.result-panel[_ngcontent-%COMP%] {\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n overflow: hidden;\n}\n\n.result-panel.fill-space[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 200px;\n}\n\n.result-panel-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.result-panel-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0;\n font-size: 14px;\n color: var(--mj-text-color, #333);\n}\n\n.code-editor-container[_ngcontent-%COMP%] {\n height: 300px;\n min-height: 200px;\n max-height: 400px;\n overflow: hidden;\n}\n\n.result-panel.fill-space[_ngcontent-%COMP%] .code-editor-container[_ngcontent-%COMP%] {\n flex: 1;\n height: auto;\n max-height: none;\n}\n\n.code-editor-container[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n}\n\n.execution-info[_ngcontent-%COMP%] {\n padding: 16px;\n background: #fafafa;\n border-radius: 8px;\n border: 1px solid #e8e8e8;\n}\n\n.info-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n padding: 6px 0;\n font-size: 13px;\n}\n\n.info-row[_ngcontent-%COMP%]:not(:last-child) {\n border-bottom: 1px solid #e8e8e8;\n}\n\n.info-label[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary-color, #666);\n}\n\n.info-value[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n\n\n\n\n.panel-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n padding: 16px 20px;\n background: white;\n border-top: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n min-width: 100px;\n}\n\n.panel-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 6px;\n}\n\n\n\n\n\n@media (max-width: 768px) {\n .slide-out-panel[_ngcontent-%COMP%] {\n width: 100% !important;\n left: 0;\n }\n\n .resize-handle[_ngcontent-%COMP%] {\n display: none;\n }\n\n .step-indicator[_ngcontent-%COMP%] {\n padding: 12px 16px;\n }\n\n .step-connector[_ngcontent-%COMP%] {\n width: 20px;\n margin: 0 6px;\n }\n\n .step-label[_ngcontent-%COMP%] {\n display: none;\n }\n\n .panel-content[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .tool-header[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 12px;\n }\n\n .tool-context[_ngcontent-%COMP%] {\n align-items: flex-start;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 12px;\n }\n\n .panel-actions[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n }\n\n .panel-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 80px;\n }\n}\n\n@media (max-width: 480px) {\n .panel-header[_ngcontent-%COMP%] {\n padding: 12px 16px;\n }\n\n .panel-title[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n\n .step-number[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n font-size: 12px;\n }\n\n .tool-name[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n}"], data: { animation: [
|
|
1247
|
+
i0.ɵɵconditional(ctx.Visible ? 1 : -1);
|
|
1248
|
+
} }, dependencies: [i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgModel, i2.ButtonComponent, i3.ItemTemplateDirective, i3.DropDownListComponent, i3.ValueTemplateDirective, i4.TextBoxComponent, i4.NumericTextBoxComponent, i5.CodeEditorComponent], styles: ["\n\n\n\n\n\n\n.panel-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 1000;\n animation: _ngcontent-%COMP%_fadeIn 0.2s ease-out;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n\n\n\n\n.slide-out-panel[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n background: white;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n z-index: 1001;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.slide-out-panel.mobile[_ngcontent-%COMP%] {\n width: 100% !important;\n left: 0;\n}\n\n.slide-out-panel.resizing[_ngcontent-%COMP%] {\n user-select: none;\n transition: none;\n}\n\n\n\n\n\n.resize-handle[_ngcontent-%COMP%] {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: ew-resize;\n background: transparent;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.15s ease;\n}\n\n.resize-handle[_ngcontent-%COMP%]:hover, \n.resize-handle.active[_ngcontent-%COMP%] {\n background: rgba(33, 150, 243, 0.1);\n}\n\n.resize-grip[_ngcontent-%COMP%] {\n width: 3px;\n height: 40px;\n background: #ccc;\n border-radius: 2px;\n opacity: 0;\n transition: opacity 0.15s ease;\n}\n\n.resize-handle[_ngcontent-%COMP%]:hover .resize-grip[_ngcontent-%COMP%], \n.resize-handle.active[_ngcontent-%COMP%] .resize-grip[_ngcontent-%COMP%] {\n opacity: 1;\n background: var(--mj-primary-color, #2196f3);\n}\n\n\n\n\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.panel-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.close-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: none;\n background: transparent;\n border-radius: 50%;\n cursor: pointer;\n color: #666;\n transition: all 0.15s ease;\n}\n\n.close-btn[_ngcontent-%COMP%]:hover {\n background: #f5f5f5;\n color: #333;\n}\n\n.close-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n}\n\n\n\n\n\n.step-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px 20px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.step[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n opacity: 0.5;\n transition: opacity 0.2s ease;\n}\n\n.step.active[_ngcontent-%COMP%], \n.step.completed[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.step-number[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: #e0e0e0;\n color: #666;\n font-weight: 600;\n font-size: 13px;\n transition: all 0.2s ease;\n}\n\n.step.active[_ngcontent-%COMP%] .step-number[_ngcontent-%COMP%] {\n background: var(--mj-primary-color, #2196f3);\n color: white;\n}\n\n.step.completed[_ngcontent-%COMP%] .step-number[_ngcontent-%COMP%] {\n background: #4caf50;\n color: white;\n}\n\n.step-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.step-connector[_ngcontent-%COMP%] {\n width: 40px;\n height: 2px;\n background: #e0e0e0;\n margin: 0 10px;\n transition: background 0.2s ease;\n}\n\n.step-connector.completed[_ngcontent-%COMP%] {\n background: #4caf50;\n}\n\n\n\n\n\n.panel-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n\n.step-content[_ngcontent-%COMP%] {\n min-height: 100%;\n}\n\n.step-content.results-step[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n\n\n\n\n.selection-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.form-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.form-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.form-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-primary-color, #2196f3);\n font-size: 14px;\n}\n\n.required[_ngcontent-%COMP%] {\n color: #f44336;\n font-weight: 600;\n}\n\n.field-hint[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n font-style: italic;\n margin-top: 4px;\n}\n\n.field-hint.auto-selected[_ngcontent-%COMP%] {\n color: #4caf50;\n font-style: normal;\n}\n\n.field-hint.auto-selected[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}\n\n.field-error[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #f44336;\n margin-top: 4px;\n padding: 8px 10px;\n background: rgba(244, 67, 54, 0.08);\n border-radius: 4px;\n border: 1px solid rgba(244, 67, 54, 0.2);\n}\n\n.field-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 13px;\n}\n\n\n\n.dropdown-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: 4px 0;\n}\n\n.dropdown-item.tool-item[_ngcontent-%COMP%] {\n max-width: 100%;\n}\n\n.item-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.item-description[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.item-status[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.item-status.status-active[_ngcontent-%COMP%] {\n color: #4caf50;\n}\n\n.item-status.status-inactive[_ngcontent-%COMP%] {\n color: #9e9e9e;\n}\n\n\n\n\n\n.tool-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px;\n background: linear-gradient(135deg, rgba(33, 150, 243, 0.08), rgba(33, 150, 243, 0.02));\n border-radius: 8px;\n margin-bottom: 20px;\n border: 1px solid rgba(33, 150, 243, 0.15);\n}\n\n.tool-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.tool-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.tool-name[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.tool-description[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n color: var(--mj-text-secondary-color, #666);\n line-height: 1.5;\n}\n\n.tool-context[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n align-items: flex-end;\n flex-shrink: 0;\n}\n\n.context-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n}\n\n.context-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #999;\n}\n\n\n\n\n\n.no-params[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n color: var(--mj-text-secondary-color, #666);\n}\n\n.no-params[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: #4caf50;\n margin-bottom: 16px;\n}\n\n.no-params[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n}\n\n.params-title[_ngcontent-%COMP%] {\n margin: 0 0 16px 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary-color, #666);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.parameters-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.param-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 12px;\n background: #fafafa;\n border-radius: 6px;\n border: 1px solid #e8e8e8;\n}\n\n.param-group.required[_ngcontent-%COMP%] {\n border-left: 3px solid var(--mj-primary-color, #2196f3);\n}\n\n.param-label[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.param-description[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n line-height: 1.4;\n}\n\n.checkbox-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n}\n\n.checkbox-wrapper[_ngcontent-%COMP%] input[type=\"checkbox\"][_ngcontent-%COMP%] {\n width: 18px;\n height: 18px;\n cursor: pointer;\n}\n\n.checkbox-wrapper[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-color, #333);\n cursor: pointer;\n}\n\n.json-input[_ngcontent-%COMP%], \n.text-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 10px 12px;\n font-family: 'Consolas', 'Monaco', monospace;\n font-size: 13px;\n line-height: 1.5;\n border: 1px solid #ddd;\n border-radius: 4px;\n background: white;\n resize: vertical;\n box-sizing: border-box;\n}\n\n.json-input[_ngcontent-%COMP%]:focus, \n.text-input[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-primary-color, #2196f3);\n box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.1);\n}\n\n\n\n\n\n.results-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n min-height: 0;\n}\n\n.result-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n border-radius: 8px;\n font-weight: 600;\n}\n\n.result-header.success[_ngcontent-%COMP%] {\n background: rgba(76, 175, 80, 0.1);\n color: #388e3c;\n}\n\n.result-header.success[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: #4caf50;\n}\n\n.result-header.error[_ngcontent-%COMP%] {\n background: rgba(244, 67, 54, 0.1);\n color: #c62828;\n}\n\n.result-header.error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: #f44336;\n}\n\n.result-status[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 16px;\n}\n\n.duration[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: normal;\n color: var(--mj-text-secondary-color, #666);\n background: rgba(0, 0, 0, 0.05);\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.error-panel[_ngcontent-%COMP%] {\n background: #fff5f5;\n border: 1px solid rgba(244, 67, 54, 0.2);\n border-radius: 8px;\n padding: 16px;\n}\n\n.error-panel[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 12px 0;\n font-size: 14px;\n color: #c62828;\n}\n\n.error-message[_ngcontent-%COMP%] {\n margin: 0;\n padding: 12px;\n background: white;\n border-radius: 4px;\n font-family: monospace;\n font-size: 13px;\n line-height: 1.5;\n color: #c62828;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.result-panel[_ngcontent-%COMP%] {\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n overflow: hidden;\n}\n\n.result-panel.fill-space[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 200px;\n}\n\n.result-panel-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.result-panel-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0;\n font-size: 14px;\n color: var(--mj-text-color, #333);\n}\n\n.code-editor-container[_ngcontent-%COMP%] {\n height: 300px;\n min-height: 200px;\n max-height: 400px;\n overflow: hidden;\n}\n\n.result-panel.fill-space[_ngcontent-%COMP%] .code-editor-container[_ngcontent-%COMP%] {\n flex: 1;\n height: auto;\n max-height: none;\n}\n\n.code-editor-container[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n}\n\n.execution-info[_ngcontent-%COMP%] {\n padding: 16px;\n background: #fafafa;\n border-radius: 8px;\n border: 1px solid #e8e8e8;\n}\n\n.info-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n padding: 6px 0;\n font-size: 13px;\n}\n\n.info-row[_ngcontent-%COMP%]:not(:last-child) {\n border-bottom: 1px solid #e8e8e8;\n}\n\n.info-label[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary-color, #666);\n}\n\n.info-value[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n\n\n\n\n.panel-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n padding: 16px 20px;\n background: white;\n border-top: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n min-width: 100px;\n}\n\n.panel-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 6px;\n}\n\n\n\n\n\n@media (max-width: 768px) {\n .slide-out-panel[_ngcontent-%COMP%] {\n width: 100% !important;\n left: 0;\n }\n\n .resize-handle[_ngcontent-%COMP%] {\n display: none;\n }\n\n .step-indicator[_ngcontent-%COMP%] {\n padding: 12px 16px;\n }\n\n .step-connector[_ngcontent-%COMP%] {\n width: 20px;\n margin: 0 6px;\n }\n\n .step-label[_ngcontent-%COMP%] {\n display: none;\n }\n\n .panel-content[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .tool-header[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 12px;\n }\n\n .tool-context[_ngcontent-%COMP%] {\n align-items: flex-start;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 12px;\n }\n\n .panel-actions[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n }\n\n .panel-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 80px;\n }\n}\n\n@media (max-width: 480px) {\n .panel-header[_ngcontent-%COMP%] {\n padding: 12px 16px;\n }\n\n .panel-title[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n\n .step-number[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n font-size: 12px;\n }\n\n .tool-name[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n}"], data: { animation: [
|
|
1243
1249
|
trigger('slideIn', [
|
|
1244
1250
|
transition(':enter', [
|
|
1245
1251
|
style({ transform: 'translateX(100%)', opacity: 0 }),
|
|
@@ -1253,7 +1259,7 @@ export class MCPTestToolDialogComponent {
|
|
|
1253
1259
|
}
|
|
1254
1260
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MCPTestToolDialogComponent, [{
|
|
1255
1261
|
type: Component,
|
|
1256
|
-
args: [{ selector: 'mj-mcp-test-tool-dialog', animations: [
|
|
1262
|
+
args: [{ standalone: false, selector: 'mj-mcp-test-tool-dialog', animations: [
|
|
1257
1263
|
trigger('slideIn', [
|
|
1258
1264
|
transition(':enter', [
|
|
1259
1265
|
style({ transform: 'translateX(100%)', opacity: 0 }),
|
|
@@ -1263,7 +1269,7 @@ export class MCPTestToolDialogComponent {
|
|
|
1263
1269
|
animate('200ms ease-in', style({ transform: 'translateX(100%)', opacity: 0 }))
|
|
1264
1270
|
])
|
|
1265
1271
|
])
|
|
1266
|
-
], template: "<!-- Backdrop -->\n@if (Visible) {\n <div class=\"panel-backdrop\" (click)=\"closeDialog()\"></div>\n}\n\n<!-- Slide-out Panel -->\n<div class=\"slide-out-panel\"\n *ngIf=\"Visible\"\n @slideIn\n [style.width.px]=\"IsMobileMode ? null : PanelWidth\"\n [class.mobile]=\"IsMobileMode\"\n [class.resizing]=\"IsResizing\">\n\n <!-- Resize Handle (left edge) -->\n @if (!IsMobileMode) {\n <div class=\"resize-handle\"\n (mousedown)=\"onResizeStart($event)\"\n [class.active]=\"IsResizing\"\n title=\"Drag to resize\">\n <div class=\"resize-grip\"></div>\n </div>\n }\n\n <!-- Panel Header -->\n <div class=\"panel-header\">\n <h2 class=\"panel-title\">\n <i class=\"fa-solid fa-flask\"></i>\n Test MCP Tool\n </h2>\n <button class=\"close-btn\" (click)=\"closeDialog()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Step Indicator -->\n <div class=\"step-indicator\">\n <div class=\"step\" [class.active]=\"CurrentStep === 'select'\" [class.completed]=\"CurrentStep !== 'select'\">\n <span class=\"step-number\">1</span>\n <span class=\"step-label\">Select Tool</span>\n </div>\n <div class=\"step-connector\" [class.completed]=\"CurrentStep !== 'select'\"></div>\n <div class=\"step\" [class.active]=\"CurrentStep === 'configure'\" [class.completed]=\"CurrentStep === 'results'\">\n <span class=\"step-number\">2</span>\n <span class=\"step-label\">Configure</span>\n </div>\n <div class=\"step-connector\" [class.completed]=\"CurrentStep === 'results'\"></div>\n <div class=\"step\" [class.active]=\"CurrentStep === 'results'\">\n <span class=\"step-number\">3</span>\n <span class=\"step-label\">Results</span>\n </div>\n </div>\n\n <!-- Panel Content -->\n <div class=\"panel-content\">\n <!-- Step 1: Select Server, Connection, Tool -->\n <div class=\"step-content\" *ngIf=\"CurrentStep === 'select'\">\n <div class=\"selection-form\">\n <!-- Server Selection -->\n <div class=\"form-group\">\n <label class=\"form-label\">\n <i class=\"fa-solid fa-server\"></i>\n Server\n <span class=\"required\">*</span>\n </label>\n <kendo-dropdownlist\n [data]=\"DisplayServers\"\n [textField]=\"'Name'\"\n [valueField]=\"'ID'\"\n [valuePrimitive]=\"true\"\n [(ngModel)]=\"ServerID\"\n (valueChange)=\"onServerChange()\"\n [filterable]=\"true\"\n (filterChange)=\"onServerFilterChange($event)\"\n placeholder=\"Select a server...\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <div class=\"dropdown-item\">\n <span class=\"item-name\">{{ dataItem.Name }}</span>\n <span class=\"item-status\" [class]=\"'status-' + dataItem.Status.toLowerCase()\">\n {{ dataItem.Status }}\n </span>\n </div>\n </ng-template>\n </kendo-dropdownlist>\n </div>\n\n <!-- Connection Selection -->\n <div class=\"form-group\">\n <label class=\"form-label\">\n <i class=\"fa-solid fa-link\"></i>\n Connection\n <span class=\"required\">*</span>\n </label>\n <kendo-dropdownlist\n [data]=\"DisplayConnections\"\n [textField]=\"'Name'\"\n [valueField]=\"'ID'\"\n [valuePrimitive]=\"true\"\n [(ngModel)]=\"ConnectionID\"\n (valueChange)=\"onConnectionChange()\"\n [disabled]=\"!ServerID || NoConnectionsWarning !== null\"\n [filterable]=\"true\"\n (filterChange)=\"onConnectionFilterChange($event)\"\n placeholder=\"Select a connection...\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <div class=\"dropdown-item\">\n <span class=\"item-name\">{{ dataItem.Name }}</span>\n @if (dataItem.Description) {\n <span class=\"item-description\">{{ dataItem.Description }}</span>\n }\n </div>\n </ng-template>\n </kendo-dropdownlist>\n @if (!ServerID) {\n <span class=\"field-hint\">Select a server first</span>\n }\n @if (NoConnectionsWarning) {\n <span class=\"field-error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n {{ NoConnectionsWarning }}\n </span>\n }\n @if (FilteredConnections.length === 1 && ConnectionID) {\n <span class=\"field-hint auto-selected\">\n <i class=\"fa-solid fa-check\"></i>\n Auto-selected (only connection available)\n </span>\n }\n </div>\n\n <!-- Tool Selection -->\n <div class=\"form-group\">\n <label class=\"form-label\">\n <i class=\"fa-solid fa-wrench\"></i>\n Tool\n <span class=\"required\">*</span>\n </label>\n <kendo-dropdownlist\n [data]=\"DisplayTools\"\n [textField]=\"'ToolTitle'\"\n [valueField]=\"'ID'\"\n [valuePrimitive]=\"true\"\n [(ngModel)]=\"ToolID\"\n (valueChange)=\"onToolChange()\"\n [disabled]=\"!ServerID\"\n [filterable]=\"true\"\n (filterChange)=\"onToolFilterChange($event)\"\n placeholder=\"Select a tool...\">\n <ng-template kendoDropDownListValueTemplate let-dataItem>\n {{ dataItem?.ToolTitle || dataItem?.ToolName || 'Select a tool...' }}\n </ng-template>\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <div class=\"dropdown-item tool-item\">\n <span class=\"item-name\">{{ dataItem.ToolTitle || dataItem.ToolName }}</span>\n @if (dataItem.ToolDescription) {\n <span class=\"item-description\">{{ dataItem.ToolDescription }}</span>\n }\n </div>\n </ng-template>\n </kendo-dropdownlist>\n @if (!ServerID) {\n <span class=\"field-hint\">Select a server first</span>\n }\n </div>\n </div>\n </div>\n\n <!-- Step 2: Configure Parameters -->\n <div class=\"step-content\" *ngIf=\"CurrentStep === 'configure'\">\n <div class=\"tool-header\">\n <div class=\"tool-info\">\n <h3 class=\"tool-name\">\n <i class=\"fa-solid fa-wrench\"></i>\n {{ SelectedTool?.ToolTitle || SelectedTool?.ToolName }}\n </h3>\n @if (SelectedTool?.ToolDescription) {\n <p class=\"tool-description\">{{ SelectedTool?.ToolDescription }}</p>\n }\n </div>\n <div class=\"tool-context\">\n <span class=\"context-item\">\n <i class=\"fa-solid fa-server\"></i>\n {{ SelectedServerName }}\n </span>\n <span class=\"context-item\">\n <i class=\"fa-solid fa-link\"></i>\n {{ SelectedConnectionName }}\n </span>\n </div>\n </div>\n\n @if (ParameterConfigs.length === 0) {\n <div class=\"no-params\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <p>This tool requires no parameters.</p>\n </div>\n } @else {\n <div class=\"parameters-form\">\n <h4 class=\"params-title\">Parameters</h4>\n @for (config of ParameterConfigs; track config.name) {\n <div class=\"param-group\" [class.required]=\"config.required\">\n <label class=\"param-label\">\n {{ config.name }}\n @if (config.required) {\n <span class=\"required\">*</span>\n }\n </label>\n @if (config.description) {\n <p class=\"param-description\">{{ config.description }}</p>\n }\n\n <!-- Enum/Select -->\n @if (config.enumValues.length > 0) {\n <kendo-dropdownlist\n [data]=\"config.enumValues\"\n [valuePrimitive]=\"true\"\n [(ngModel)]=\"ParameterValues[config.name]\"\n (valueChange)=\"onParameterChange(config.name, $event)\">\n </kendo-dropdownlist>\n }\n <!-- Boolean -->\n @else if (config.type === 'boolean') {\n <div class=\"checkbox-wrapper\">\n <input type=\"checkbox\"\n [id]=\"'param-' + config.name\"\n [checked]=\"ParameterValues[config.name]\"\n (change)=\"onParameterChange(config.name, $any($event.target).checked)\">\n <label [for]=\"'param-' + config.name\">Enabled</label>\n </div>\n }\n <!-- Number/Integer -->\n @else if (config.type === 'number' || config.type === 'integer') {\n <kendo-numerictextbox\n [format]=\"config.type === 'integer' ? 'n0' : 'n'\"\n [step]=\"config.type === 'integer' ? 1 : 0.1\"\n [(ngModel)]=\"ParameterValues[config.name]\"\n (valueChange)=\"onParameterChange(config.name, $event)\">\n </kendo-numerictextbox>\n }\n <!-- Array/Object (Textarea with JSON) -->\n @else if (config.type === 'array' || config.type === 'object') {\n <textarea class=\"json-input\"\n rows=\"4\"\n [value]=\"getTextareaValue(config.name)\"\n (input)=\"onTextareaChange(config.name, $any($event.target).value, config)\"\n placeholder=\"Enter JSON {{ config.type }}...\"></textarea>\n <span class=\"field-hint\">Enter valid JSON</span>\n }\n <!-- String (default) -->\n @else {\n @if (isTextarea(config)) {\n <textarea class=\"text-input\"\n rows=\"3\"\n [(ngModel)]=\"ParameterValues[config.name]\"\n (input)=\"onParameterChange(config.name, $any($event.target).value)\"\n [placeholder]=\"config.description || 'Enter value...'\"></textarea>\n } @else {\n <kendo-textbox\n [(ngModel)]=\"ParameterValues[config.name]\"\n (valueChange)=\"onParameterChange(config.name, $event)\"\n [placeholder]=\"config.description || 'Enter value...'\">\n </kendo-textbox>\n }\n }\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Step 3: Results -->\n <div class=\"step-content results-step\" *ngIf=\"CurrentStep === 'results'\">\n <div class=\"results-container\">\n <!-- Success/Error Header -->\n <div class=\"result-header\" [class.success]=\"ExecutionResult?.Success\" [class.error]=\"!ExecutionResult?.Success\">\n @if (ExecutionResult?.Success) {\n <i class=\"fa-solid fa-check-circle\"></i>\n <span class=\"result-status\">Execution Successful</span>\n } @else {\n <i class=\"fa-solid fa-times-circle\"></i>\n <span class=\"result-status\">Execution Failed</span>\n }\n @if (ExecutionResult?.DurationMs) {\n <span class=\"duration\">{{ ExecutionResult?.DurationMs }}ms</span>\n }\n </div>\n\n <!-- Executed Tool Info (moved to top) -->\n <div class=\"execution-info\">\n <div class=\"info-row\">\n <span class=\"info-label\">Tool:</span>\n <span class=\"info-value\">{{ SelectedToolName }}</span>\n </div>\n <div class=\"info-row\">\n <span class=\"info-label\">Server:</span>\n <span class=\"info-value\">{{ SelectedServerName }}</span>\n </div>\n <div class=\"info-row\">\n <span class=\"info-label\">Connection:</span>\n <span class=\"info-value\">{{ SelectedConnectionName }}</span>\n </div>\n </div>\n\n <!-- Error Message -->\n @if (ExecutionResult?.ErrorMessage) {\n <div class=\"error-panel\">\n <h4><i class=\"fa-solid fa-exclamation-triangle\"></i> Error</h4>\n <pre class=\"error-message\">{{ ExecutionResult?.ErrorMessage }}</pre>\n </div>\n }\n\n <!-- Result Data (fills remaining space) -->\n @if (ExecutionResult?.Result) {\n <div class=\"result-panel fill-space\">\n <div class=\"result-panel-header\">\n <h4><i class=\"fa-solid fa-code\"></i> Result</h4>\n <button kendoButton fillMode=\"flat\" (click)=\"copyResult()\" title=\"Copy to clipboard\">\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n </div>\n <div class=\"code-editor-container\">\n <mj-code-editor\n [ngModel]=\"FormattedResult\"\n [language]=\"'json'\"\n [readonly]=\"true\">\n </mj-code-editor>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n\n <!-- Panel Actions -->\n <div class=\"panel-actions\">\n @switch (CurrentStep) {\n @case ('select') {\n <button kendoButton themeColor=\"primary\" (click)=\"proceedToConfig()\" [disabled]=\"!CanProceedToConfig\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n Next\n </button>\n <button kendoButton fillMode=\"flat\" (click)=\"closeDialog()\">Cancel</button>\n }\n @case ('configure') {\n <button kendoButton themeColor=\"primary\" (click)=\"executeTool()\" [disabled]=\"!IsValid || IsExecuting\">\n @if (IsExecuting) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Executing...\n } @else {\n <i class=\"fa-solid fa-play\"></i>\n Execute Tool\n }\n </button>\n <button kendoButton fillMode=\"flat\" (click)=\"goBack()\">\n <i class=\"fa-solid fa-arrow-left\"></i>\n Back\n </button>\n }\n @case ('results') {\n <button kendoButton themeColor=\"primary\" (click)=\"runAgain()\">\n <i class=\"fa-solid fa-redo\"></i>\n Run Again\n </button>\n <button kendoButton fillMode=\"flat\" (click)=\"goBack()\">\n <i class=\"fa-solid fa-arrow-left\"></i>\n Edit Parameters\n </button>\n <button kendoButton fillMode=\"flat\" (click)=\"closeDialog()\">Close</button>\n }\n }\n </div>\n</div>\n", styles: ["/* MCP Test Tool Slide-Out Panel Styles */\n\n/* ========================================\n Backdrop\n ======================================== */\n.panel-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 1000;\n animation: fadeIn 0.2s ease-out;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* ========================================\n Slide-Out Panel\n ======================================== */\n.slide-out-panel {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n background: white;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n z-index: 1001;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.slide-out-panel.mobile {\n width: 100% !important;\n left: 0;\n}\n\n.slide-out-panel.resizing {\n user-select: none;\n transition: none;\n}\n\n/* ========================================\n Resize Handle\n ======================================== */\n.resize-handle {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: ew-resize;\n background: transparent;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.15s ease;\n}\n\n.resize-handle:hover,\n.resize-handle.active {\n background: rgba(33, 150, 243, 0.1);\n}\n\n.resize-grip {\n width: 3px;\n height: 40px;\n background: #ccc;\n border-radius: 2px;\n opacity: 0;\n transition: opacity 0.15s ease;\n}\n\n.resize-handle:hover .resize-grip,\n.resize-handle.active .resize-grip {\n opacity: 1;\n background: var(--mj-primary-color, #2196f3);\n}\n\n/* ========================================\n Panel Header\n ======================================== */\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-title {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.panel-title i {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.close-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: none;\n background: transparent;\n border-radius: 50%;\n cursor: pointer;\n color: #666;\n transition: all 0.15s ease;\n}\n\n.close-btn:hover {\n background: #f5f5f5;\n color: #333;\n}\n\n.close-btn i {\n font-size: 18px;\n}\n\n/* ========================================\n Step Indicator\n ======================================== */\n.step-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px 20px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.step {\n display: flex;\n align-items: center;\n gap: 8px;\n opacity: 0.5;\n transition: opacity 0.2s ease;\n}\n\n.step.active,\n.step.completed {\n opacity: 1;\n}\n\n.step-number {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: #e0e0e0;\n color: #666;\n font-weight: 600;\n font-size: 13px;\n transition: all 0.2s ease;\n}\n\n.step.active .step-number {\n background: var(--mj-primary-color, #2196f3);\n color: white;\n}\n\n.step.completed .step-number {\n background: #4caf50;\n color: white;\n}\n\n.step-label {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.step-connector {\n width: 40px;\n height: 2px;\n background: #e0e0e0;\n margin: 0 10px;\n transition: background 0.2s ease;\n}\n\n.step-connector.completed {\n background: #4caf50;\n}\n\n/* ========================================\n Panel Content\n ======================================== */\n.panel-content {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n\n.step-content {\n min-height: 100%;\n}\n\n.step-content.results-step {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n/* ========================================\n Selection Form (Step 1)\n ======================================== */\n.selection-form {\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.form-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.form-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.form-label i {\n color: var(--mj-primary-color, #2196f3);\n font-size: 14px;\n}\n\n.required {\n color: #f44336;\n font-weight: 600;\n}\n\n.field-hint {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n font-style: italic;\n margin-top: 4px;\n}\n\n.field-hint.auto-selected {\n color: #4caf50;\n font-style: normal;\n}\n\n.field-hint.auto-selected i {\n font-size: 11px;\n}\n\n.field-error {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #f44336;\n margin-top: 4px;\n padding: 8px 10px;\n background: rgba(244, 67, 54, 0.08);\n border-radius: 4px;\n border: 1px solid rgba(244, 67, 54, 0.2);\n}\n\n.field-error i {\n font-size: 13px;\n}\n\n/* Dropdown Item Styling */\n.dropdown-item {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: 4px 0;\n}\n\n.dropdown-item.tool-item {\n max-width: 100%;\n}\n\n.item-name {\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.item-description {\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.item-status {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.item-status.status-active {\n color: #4caf50;\n}\n\n.item-status.status-inactive {\n color: #9e9e9e;\n}\n\n/* ========================================\n Tool Header (Step 2)\n ======================================== */\n.tool-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px;\n background: linear-gradient(135deg, rgba(33, 150, 243, 0.08), rgba(33, 150, 243, 0.02));\n border-radius: 8px;\n margin-bottom: 20px;\n border: 1px solid rgba(33, 150, 243, 0.15);\n}\n\n.tool-info {\n flex: 1;\n min-width: 0;\n}\n\n.tool-name {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.tool-name i {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.tool-description {\n margin: 0;\n font-size: 13px;\n color: var(--mj-text-secondary-color, #666);\n line-height: 1.5;\n}\n\n.tool-context {\n display: flex;\n flex-direction: column;\n gap: 6px;\n align-items: flex-end;\n flex-shrink: 0;\n}\n\n.context-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n}\n\n.context-item i {\n font-size: 11px;\n color: #999;\n}\n\n/* ========================================\n Parameters Form (Step 2)\n ======================================== */\n.no-params {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n color: var(--mj-text-secondary-color, #666);\n}\n\n.no-params i {\n font-size: 48px;\n color: #4caf50;\n margin-bottom: 16px;\n}\n\n.no-params p {\n margin: 0;\n font-size: 15px;\n}\n\n.params-title {\n margin: 0 0 16px 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary-color, #666);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.parameters-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.param-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 12px;\n background: #fafafa;\n border-radius: 6px;\n border: 1px solid #e8e8e8;\n}\n\n.param-group.required {\n border-left: 3px solid var(--mj-primary-color, #2196f3);\n}\n\n.param-label {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.param-description {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n line-height: 1.4;\n}\n\n.checkbox-wrapper {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n}\n\n.checkbox-wrapper input[type=\"checkbox\"] {\n width: 18px;\n height: 18px;\n cursor: pointer;\n}\n\n.checkbox-wrapper label {\n font-size: 14px;\n color: var(--mj-text-color, #333);\n cursor: pointer;\n}\n\n.json-input,\n.text-input {\n width: 100%;\n padding: 10px 12px;\n font-family: 'Consolas', 'Monaco', monospace;\n font-size: 13px;\n line-height: 1.5;\n border: 1px solid #ddd;\n border-radius: 4px;\n background: white;\n resize: vertical;\n box-sizing: border-box;\n}\n\n.json-input:focus,\n.text-input:focus {\n outline: none;\n border-color: var(--mj-primary-color, #2196f3);\n box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.1);\n}\n\n/* ========================================\n Results (Step 3)\n ======================================== */\n.results-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n min-height: 0;\n}\n\n.result-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n border-radius: 8px;\n font-weight: 600;\n}\n\n.result-header.success {\n background: rgba(76, 175, 80, 0.1);\n color: #388e3c;\n}\n\n.result-header.success i {\n font-size: 24px;\n color: #4caf50;\n}\n\n.result-header.error {\n background: rgba(244, 67, 54, 0.1);\n color: #c62828;\n}\n\n.result-header.error i {\n font-size: 24px;\n color: #f44336;\n}\n\n.result-status {\n flex: 1;\n font-size: 16px;\n}\n\n.duration {\n font-size: 13px;\n font-weight: normal;\n color: var(--mj-text-secondary-color, #666);\n background: rgba(0, 0, 0, 0.05);\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.error-panel {\n background: #fff5f5;\n border: 1px solid rgba(244, 67, 54, 0.2);\n border-radius: 8px;\n padding: 16px;\n}\n\n.error-panel h4 {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 12px 0;\n font-size: 14px;\n color: #c62828;\n}\n\n.error-message {\n margin: 0;\n padding: 12px;\n background: white;\n border-radius: 4px;\n font-family: monospace;\n font-size: 13px;\n line-height: 1.5;\n color: #c62828;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.result-panel {\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n overflow: hidden;\n}\n\n.result-panel.fill-space {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 200px;\n}\n\n.result-panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.result-panel-header h4 {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0;\n font-size: 14px;\n color: var(--mj-text-color, #333);\n}\n\n.code-editor-container {\n height: 300px;\n min-height: 200px;\n max-height: 400px;\n overflow: hidden;\n}\n\n.result-panel.fill-space .code-editor-container {\n flex: 1;\n height: auto;\n max-height: none;\n}\n\n.code-editor-container mj-code-editor {\n width: 100%;\n height: 100%;\n}\n\n.execution-info {\n padding: 16px;\n background: #fafafa;\n border-radius: 8px;\n border: 1px solid #e8e8e8;\n}\n\n.info-row {\n display: flex;\n justify-content: space-between;\n padding: 6px 0;\n font-size: 13px;\n}\n\n.info-row:not(:last-child) {\n border-bottom: 1px solid #e8e8e8;\n}\n\n.info-label {\n color: var(--mj-text-secondary-color, #666);\n}\n\n.info-value {\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n/* ========================================\n Panel Actions\n ======================================== */\n.panel-actions {\n display: flex;\n gap: 8px;\n padding: 16px 20px;\n background: white;\n border-top: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-actions button {\n min-width: 100px;\n}\n\n.panel-actions button i {\n margin-right: 6px;\n}\n\n/* ========================================\n Responsive / Mobile\n ======================================== */\n@media (max-width: 768px) {\n .slide-out-panel {\n width: 100% !important;\n left: 0;\n }\n\n .resize-handle {\n display: none;\n }\n\n .step-indicator {\n padding: 12px 16px;\n }\n\n .step-connector {\n width: 20px;\n margin: 0 6px;\n }\n\n .step-label {\n display: none;\n }\n\n .panel-content {\n padding: 16px;\n }\n\n .tool-header {\n flex-direction: column;\n gap: 12px;\n }\n\n .tool-context {\n align-items: flex-start;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 12px;\n }\n\n .panel-actions {\n flex-wrap: wrap;\n }\n\n .panel-actions button {\n flex: 1;\n min-width: 80px;\n }\n}\n\n@media (max-width: 480px) {\n .panel-header {\n padding: 12px 16px;\n }\n\n .panel-title {\n font-size: 16px;\n }\n\n .step-number {\n width: 24px;\n height: 24px;\n font-size: 12px;\n }\n\n .tool-name {\n font-size: 16px;\n }\n}\n"] }]
|
|
1272
|
+
], template: "<!-- Backdrop -->\n@if (Visible) {\n <div class=\"panel-backdrop\" (click)=\"closeDialog()\"></div>\n}\n\n<!-- Slide-out Panel -->\n@if (Visible) {\n <div class=\"slide-out-panel\"\n @slideIn\n [style.width.px]=\"IsMobileMode ? null : PanelWidth\"\n [class.mobile]=\"IsMobileMode\"\n [class.resizing]=\"IsResizing\">\n <!-- Resize Handle (left edge) -->\n @if (!IsMobileMode) {\n <div class=\"resize-handle\"\n (mousedown)=\"onResizeStart($event)\"\n [class.active]=\"IsResizing\"\n title=\"Drag to resize\">\n <div class=\"resize-grip\"></div>\n </div>\n }\n <!-- Panel Header -->\n <div class=\"panel-header\">\n <h2 class=\"panel-title\">\n <i class=\"fa-solid fa-flask\"></i>\n Test MCP Tool\n </h2>\n <button class=\"close-btn\" (click)=\"closeDialog()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n <!-- Step Indicator -->\n <div class=\"step-indicator\">\n <div class=\"step\" [class.active]=\"CurrentStep === 'select'\" [class.completed]=\"CurrentStep !== 'select'\">\n <span class=\"step-number\">1</span>\n <span class=\"step-label\">Select Tool</span>\n </div>\n <div class=\"step-connector\" [class.completed]=\"CurrentStep !== 'select'\"></div>\n <div class=\"step\" [class.active]=\"CurrentStep === 'configure'\" [class.completed]=\"CurrentStep === 'results'\">\n <span class=\"step-number\">2</span>\n <span class=\"step-label\">Configure</span>\n </div>\n <div class=\"step-connector\" [class.completed]=\"CurrentStep === 'results'\"></div>\n <div class=\"step\" [class.active]=\"CurrentStep === 'results'\">\n <span class=\"step-number\">3</span>\n <span class=\"step-label\">Results</span>\n </div>\n </div>\n <!-- Panel Content -->\n <div class=\"panel-content\">\n <!-- Step 1: Select Server, Connection, Tool -->\n @if (CurrentStep === 'select') {\n <div class=\"step-content\">\n <div class=\"selection-form\">\n <!-- Server Selection -->\n <div class=\"form-group\">\n <label class=\"form-label\">\n <i class=\"fa-solid fa-server\"></i>\n Server\n <span class=\"required\">*</span>\n </label>\n <kendo-dropdownlist\n [data]=\"DisplayServers\"\n [textField]=\"'Name'\"\n [valueField]=\"'ID'\"\n [valuePrimitive]=\"true\"\n [(ngModel)]=\"ServerID\"\n (valueChange)=\"onServerChange()\"\n [filterable]=\"true\"\n (filterChange)=\"onServerFilterChange($event)\"\n placeholder=\"Select a server...\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <div class=\"dropdown-item\">\n <span class=\"item-name\">{{ dataItem.Name }}</span>\n <span class=\"item-status\" [class]=\"'status-' + dataItem.Status.toLowerCase()\">\n {{ dataItem.Status }}\n </span>\n </div>\n </ng-template>\n </kendo-dropdownlist>\n </div>\n <!-- Connection Selection -->\n <div class=\"form-group\">\n <label class=\"form-label\">\n <i class=\"fa-solid fa-link\"></i>\n Connection\n <span class=\"required\">*</span>\n </label>\n <kendo-dropdownlist\n [data]=\"DisplayConnections\"\n [textField]=\"'Name'\"\n [valueField]=\"'ID'\"\n [valuePrimitive]=\"true\"\n [(ngModel)]=\"ConnectionID\"\n (valueChange)=\"onConnectionChange()\"\n [disabled]=\"!ServerID || NoConnectionsWarning !== null\"\n [filterable]=\"true\"\n (filterChange)=\"onConnectionFilterChange($event)\"\n placeholder=\"Select a connection...\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <div class=\"dropdown-item\">\n <span class=\"item-name\">{{ dataItem.Name }}</span>\n @if (dataItem.Description) {\n <span class=\"item-description\">{{ dataItem.Description }}</span>\n }\n </div>\n </ng-template>\n </kendo-dropdownlist>\n @if (!ServerID) {\n <span class=\"field-hint\">Select a server first</span>\n }\n @if (NoConnectionsWarning) {\n <span class=\"field-error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n {{ NoConnectionsWarning }}\n </span>\n }\n @if (FilteredConnections.length === 1 && ConnectionID) {\n <span class=\"field-hint auto-selected\">\n <i class=\"fa-solid fa-check\"></i>\n Auto-selected (only connection available)\n </span>\n }\n </div>\n <!-- Tool Selection -->\n <div class=\"form-group\">\n <label class=\"form-label\">\n <i class=\"fa-solid fa-wrench\"></i>\n Tool\n <span class=\"required\">*</span>\n </label>\n <kendo-dropdownlist\n [data]=\"DisplayTools\"\n [textField]=\"'ToolTitle'\"\n [valueField]=\"'ID'\"\n [valuePrimitive]=\"true\"\n [(ngModel)]=\"ToolID\"\n (valueChange)=\"onToolChange()\"\n [disabled]=\"!ServerID\"\n [filterable]=\"true\"\n (filterChange)=\"onToolFilterChange($event)\"\n placeholder=\"Select a tool...\">\n <ng-template kendoDropDownListValueTemplate let-dataItem>\n {{ dataItem?.ToolTitle || dataItem?.ToolName || 'Select a tool...' }}\n </ng-template>\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <div class=\"dropdown-item tool-item\">\n <span class=\"item-name\">{{ dataItem.ToolTitle || dataItem.ToolName }}</span>\n @if (dataItem.ToolDescription) {\n <span class=\"item-description\">{{ dataItem.ToolDescription }}</span>\n }\n </div>\n </ng-template>\n </kendo-dropdownlist>\n @if (!ServerID) {\n <span class=\"field-hint\">Select a server first</span>\n }\n </div>\n </div>\n </div>\n }\n <!-- Step 2: Configure Parameters -->\n @if (CurrentStep === 'configure') {\n <div class=\"step-content\">\n <div class=\"tool-header\">\n <div class=\"tool-info\">\n <h3 class=\"tool-name\">\n <i class=\"fa-solid fa-wrench\"></i>\n {{ SelectedTool?.ToolTitle || SelectedTool?.ToolName }}\n </h3>\n @if (SelectedTool?.ToolDescription) {\n <p class=\"tool-description\">{{ SelectedTool?.ToolDescription }}</p>\n }\n </div>\n <div class=\"tool-context\">\n <span class=\"context-item\">\n <i class=\"fa-solid fa-server\"></i>\n {{ SelectedServerName }}\n </span>\n <span class=\"context-item\">\n <i class=\"fa-solid fa-link\"></i>\n {{ SelectedConnectionName }}\n </span>\n </div>\n </div>\n @if (ParameterConfigs.length === 0) {\n <div class=\"no-params\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <p>This tool requires no parameters.</p>\n </div>\n } @else {\n <div class=\"parameters-form\">\n <h4 class=\"params-title\">Parameters</h4>\n @for (config of ParameterConfigs; track config.name) {\n <div class=\"param-group\" [class.required]=\"config.required\">\n <label class=\"param-label\">\n {{ config.name }}\n @if (config.required) {\n <span class=\"required\">*</span>\n }\n </label>\n @if (config.description) {\n <p class=\"param-description\">{{ config.description }}</p>\n }\n <!-- Enum/Select -->\n @if (config.enumValues.length > 0) {\n <kendo-dropdownlist\n [data]=\"config.enumValues\"\n [valuePrimitive]=\"true\"\n [(ngModel)]=\"ParameterValues[config.name]\"\n (valueChange)=\"onParameterChange(config.name, $event)\">\n </kendo-dropdownlist>\n }\n <!-- Boolean -->\n @else if (config.type === 'boolean') {\n <div class=\"checkbox-wrapper\">\n <input type=\"checkbox\"\n [id]=\"'param-' + config.name\"\n [checked]=\"ParameterValues[config.name]\"\n (change)=\"onParameterChange(config.name, $any($event.target).checked)\">\n <label [for]=\"'param-' + config.name\">Enabled</label>\n </div>\n }\n <!-- Number/Integer -->\n @else if (config.type === 'number' || config.type === 'integer') {\n <kendo-numerictextbox\n [format]=\"config.type === 'integer' ? 'n0' : 'n'\"\n [step]=\"config.type === 'integer' ? 1 : 0.1\"\n [(ngModel)]=\"ParameterValues[config.name]\"\n (valueChange)=\"onParameterChange(config.name, $event)\">\n </kendo-numerictextbox>\n }\n <!-- Array/Object (Textarea with JSON) -->\n @else if (config.type === 'array' || config.type === 'object') {\n <textarea class=\"json-input\"\n rows=\"4\"\n [value]=\"getTextareaValue(config.name)\"\n (input)=\"onTextareaChange(config.name, $any($event.target).value, config)\"\n placeholder=\"Enter JSON {{ config.type }}...\"></textarea>\n <span class=\"field-hint\">Enter valid JSON</span>\n }\n <!-- String (default) -->\n @else {\n @if (isTextarea(config)) {\n <textarea class=\"text-input\"\n rows=\"3\"\n [(ngModel)]=\"ParameterValues[config.name]\"\n (input)=\"onParameterChange(config.name, $any($event.target).value)\"\n [placeholder]=\"config.description || 'Enter value...'\"></textarea>\n } @else {\n <kendo-textbox\n [(ngModel)]=\"ParameterValues[config.name]\"\n (valueChange)=\"onParameterChange(config.name, $event)\"\n [placeholder]=\"config.description || 'Enter value...'\">\n </kendo-textbox>\n }\n }\n </div>\n }\n </div>\n }\n</div>\n}\n<!-- Step 3: Results -->\n@if (CurrentStep === 'results') {\n <div class=\"step-content results-step\">\n <div class=\"results-container\">\n <!-- Success/Error Header -->\n <div class=\"result-header\" [class.success]=\"ExecutionResult?.Success\" [class.error]=\"!ExecutionResult?.Success\">\n @if (ExecutionResult?.Success) {\n <i class=\"fa-solid fa-check-circle\"></i>\n <span class=\"result-status\">Execution Successful</span>\n } @else {\n <i class=\"fa-solid fa-times-circle\"></i>\n <span class=\"result-status\">Execution Failed</span>\n }\n @if (ExecutionResult?.DurationMs) {\n <span class=\"duration\">{{ ExecutionResult?.DurationMs }}ms</span>\n }\n </div>\n <!-- Executed Tool Info (moved to top) -->\n <div class=\"execution-info\">\n <div class=\"info-row\">\n <span class=\"info-label\">Tool:</span>\n <span class=\"info-value\">{{ SelectedToolName }}</span>\n </div>\n <div class=\"info-row\">\n <span class=\"info-label\">Server:</span>\n <span class=\"info-value\">{{ SelectedServerName }}</span>\n </div>\n <div class=\"info-row\">\n <span class=\"info-label\">Connection:</span>\n <span class=\"info-value\">{{ SelectedConnectionName }}</span>\n </div>\n </div>\n <!-- Error Message -->\n @if (ExecutionResult?.ErrorMessage) {\n <div class=\"error-panel\">\n <h4><i class=\"fa-solid fa-exclamation-triangle\"></i> Error</h4>\n <pre class=\"error-message\">{{ ExecutionResult?.ErrorMessage }}</pre>\n </div>\n }\n <!-- Result Data (fills remaining space) -->\n @if (ExecutionResult?.Result) {\n <div class=\"result-panel fill-space\">\n <div class=\"result-panel-header\">\n <h4><i class=\"fa-solid fa-code\"></i> Result</h4>\n <button kendoButton fillMode=\"flat\" (click)=\"copyResult()\" title=\"Copy to clipboard\">\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n </div>\n <div class=\"code-editor-container\">\n <mj-code-editor\n [ngModel]=\"FormattedResult\"\n [language]=\"'json'\"\n [readonly]=\"true\">\n </mj-code-editor>\n </div>\n </div>\n }\n </div>\n </div>\n}\n</div>\n<!-- Panel Actions -->\n<div class=\"panel-actions\">\n @switch (CurrentStep) {\n @case ('select') {\n <button kendoButton themeColor=\"primary\" (click)=\"proceedToConfig()\" [disabled]=\"!CanProceedToConfig\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n Next\n </button>\n <button kendoButton fillMode=\"flat\" (click)=\"closeDialog()\">Cancel</button>\n }\n @case ('configure') {\n <button kendoButton themeColor=\"primary\" (click)=\"executeTool()\" [disabled]=\"!IsValid || IsExecuting\">\n @if (IsExecuting) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Executing...\n } @else {\n <i class=\"fa-solid fa-play\"></i>\n Execute Tool\n }\n </button>\n <button kendoButton fillMode=\"flat\" (click)=\"goBack()\">\n <i class=\"fa-solid fa-arrow-left\"></i>\n Back\n </button>\n }\n @case ('results') {\n <button kendoButton themeColor=\"primary\" (click)=\"runAgain()\">\n <i class=\"fa-solid fa-redo\"></i>\n Run Again\n </button>\n <button kendoButton fillMode=\"flat\" (click)=\"goBack()\">\n <i class=\"fa-solid fa-arrow-left\"></i>\n Edit Parameters\n </button>\n <button kendoButton fillMode=\"flat\" (click)=\"closeDialog()\">Close</button>\n }\n }\n</div>\n</div>\n}\n", styles: ["/* MCP Test Tool Slide-Out Panel Styles */\n\n/* ========================================\n Backdrop\n ======================================== */\n.panel-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 1000;\n animation: fadeIn 0.2s ease-out;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* ========================================\n Slide-Out Panel\n ======================================== */\n.slide-out-panel {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n background: white;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n z-index: 1001;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.slide-out-panel.mobile {\n width: 100% !important;\n left: 0;\n}\n\n.slide-out-panel.resizing {\n user-select: none;\n transition: none;\n}\n\n/* ========================================\n Resize Handle\n ======================================== */\n.resize-handle {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: ew-resize;\n background: transparent;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.15s ease;\n}\n\n.resize-handle:hover,\n.resize-handle.active {\n background: rgba(33, 150, 243, 0.1);\n}\n\n.resize-grip {\n width: 3px;\n height: 40px;\n background: #ccc;\n border-radius: 2px;\n opacity: 0;\n transition: opacity 0.15s ease;\n}\n\n.resize-handle:hover .resize-grip,\n.resize-handle.active .resize-grip {\n opacity: 1;\n background: var(--mj-primary-color, #2196f3);\n}\n\n/* ========================================\n Panel Header\n ======================================== */\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-title {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.panel-title i {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.close-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: none;\n background: transparent;\n border-radius: 50%;\n cursor: pointer;\n color: #666;\n transition: all 0.15s ease;\n}\n\n.close-btn:hover {\n background: #f5f5f5;\n color: #333;\n}\n\n.close-btn i {\n font-size: 18px;\n}\n\n/* ========================================\n Step Indicator\n ======================================== */\n.step-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px 20px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.step {\n display: flex;\n align-items: center;\n gap: 8px;\n opacity: 0.5;\n transition: opacity 0.2s ease;\n}\n\n.step.active,\n.step.completed {\n opacity: 1;\n}\n\n.step-number {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: #e0e0e0;\n color: #666;\n font-weight: 600;\n font-size: 13px;\n transition: all 0.2s ease;\n}\n\n.step.active .step-number {\n background: var(--mj-primary-color, #2196f3);\n color: white;\n}\n\n.step.completed .step-number {\n background: #4caf50;\n color: white;\n}\n\n.step-label {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.step-connector {\n width: 40px;\n height: 2px;\n background: #e0e0e0;\n margin: 0 10px;\n transition: background 0.2s ease;\n}\n\n.step-connector.completed {\n background: #4caf50;\n}\n\n/* ========================================\n Panel Content\n ======================================== */\n.panel-content {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n\n.step-content {\n min-height: 100%;\n}\n\n.step-content.results-step {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n/* ========================================\n Selection Form (Step 1)\n ======================================== */\n.selection-form {\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.form-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.form-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.form-label i {\n color: var(--mj-primary-color, #2196f3);\n font-size: 14px;\n}\n\n.required {\n color: #f44336;\n font-weight: 600;\n}\n\n.field-hint {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n font-style: italic;\n margin-top: 4px;\n}\n\n.field-hint.auto-selected {\n color: #4caf50;\n font-style: normal;\n}\n\n.field-hint.auto-selected i {\n font-size: 11px;\n}\n\n.field-error {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #f44336;\n margin-top: 4px;\n padding: 8px 10px;\n background: rgba(244, 67, 54, 0.08);\n border-radius: 4px;\n border: 1px solid rgba(244, 67, 54, 0.2);\n}\n\n.field-error i {\n font-size: 13px;\n}\n\n/* Dropdown Item Styling */\n.dropdown-item {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: 4px 0;\n}\n\n.dropdown-item.tool-item {\n max-width: 100%;\n}\n\n.item-name {\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.item-description {\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.item-status {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.item-status.status-active {\n color: #4caf50;\n}\n\n.item-status.status-inactive {\n color: #9e9e9e;\n}\n\n/* ========================================\n Tool Header (Step 2)\n ======================================== */\n.tool-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px;\n background: linear-gradient(135deg, rgba(33, 150, 243, 0.08), rgba(33, 150, 243, 0.02));\n border-radius: 8px;\n margin-bottom: 20px;\n border: 1px solid rgba(33, 150, 243, 0.15);\n}\n\n.tool-info {\n flex: 1;\n min-width: 0;\n}\n\n.tool-name {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.tool-name i {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.tool-description {\n margin: 0;\n font-size: 13px;\n color: var(--mj-text-secondary-color, #666);\n line-height: 1.5;\n}\n\n.tool-context {\n display: flex;\n flex-direction: column;\n gap: 6px;\n align-items: flex-end;\n flex-shrink: 0;\n}\n\n.context-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n}\n\n.context-item i {\n font-size: 11px;\n color: #999;\n}\n\n/* ========================================\n Parameters Form (Step 2)\n ======================================== */\n.no-params {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n color: var(--mj-text-secondary-color, #666);\n}\n\n.no-params i {\n font-size: 48px;\n color: #4caf50;\n margin-bottom: 16px;\n}\n\n.no-params p {\n margin: 0;\n font-size: 15px;\n}\n\n.params-title {\n margin: 0 0 16px 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary-color, #666);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.parameters-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.param-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 12px;\n background: #fafafa;\n border-radius: 6px;\n border: 1px solid #e8e8e8;\n}\n\n.param-group.required {\n border-left: 3px solid var(--mj-primary-color, #2196f3);\n}\n\n.param-label {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.param-description {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-secondary-color, #666);\n line-height: 1.4;\n}\n\n.checkbox-wrapper {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n}\n\n.checkbox-wrapper input[type=\"checkbox\"] {\n width: 18px;\n height: 18px;\n cursor: pointer;\n}\n\n.checkbox-wrapper label {\n font-size: 14px;\n color: var(--mj-text-color, #333);\n cursor: pointer;\n}\n\n.json-input,\n.text-input {\n width: 100%;\n padding: 10px 12px;\n font-family: 'Consolas', 'Monaco', monospace;\n font-size: 13px;\n line-height: 1.5;\n border: 1px solid #ddd;\n border-radius: 4px;\n background: white;\n resize: vertical;\n box-sizing: border-box;\n}\n\n.json-input:focus,\n.text-input:focus {\n outline: none;\n border-color: var(--mj-primary-color, #2196f3);\n box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.1);\n}\n\n/* ========================================\n Results (Step 3)\n ======================================== */\n.results-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n min-height: 0;\n}\n\n.result-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n border-radius: 8px;\n font-weight: 600;\n}\n\n.result-header.success {\n background: rgba(76, 175, 80, 0.1);\n color: #388e3c;\n}\n\n.result-header.success i {\n font-size: 24px;\n color: #4caf50;\n}\n\n.result-header.error {\n background: rgba(244, 67, 54, 0.1);\n color: #c62828;\n}\n\n.result-header.error i {\n font-size: 24px;\n color: #f44336;\n}\n\n.result-status {\n flex: 1;\n font-size: 16px;\n}\n\n.duration {\n font-size: 13px;\n font-weight: normal;\n color: var(--mj-text-secondary-color, #666);\n background: rgba(0, 0, 0, 0.05);\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.error-panel {\n background: #fff5f5;\n border: 1px solid rgba(244, 67, 54, 0.2);\n border-radius: 8px;\n padding: 16px;\n}\n\n.error-panel h4 {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 12px 0;\n font-size: 14px;\n color: #c62828;\n}\n\n.error-message {\n margin: 0;\n padding: 12px;\n background: white;\n border-radius: 4px;\n font-family: monospace;\n font-size: 13px;\n line-height: 1.5;\n color: #c62828;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.result-panel {\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n overflow: hidden;\n}\n\n.result-panel.fill-space {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 200px;\n}\n\n.result-panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.result-panel-header h4 {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0;\n font-size: 14px;\n color: var(--mj-text-color, #333);\n}\n\n.code-editor-container {\n height: 300px;\n min-height: 200px;\n max-height: 400px;\n overflow: hidden;\n}\n\n.result-panel.fill-space .code-editor-container {\n flex: 1;\n height: auto;\n max-height: none;\n}\n\n.code-editor-container mj-code-editor {\n width: 100%;\n height: 100%;\n}\n\n.execution-info {\n padding: 16px;\n background: #fafafa;\n border-radius: 8px;\n border: 1px solid #e8e8e8;\n}\n\n.info-row {\n display: flex;\n justify-content: space-between;\n padding: 6px 0;\n font-size: 13px;\n}\n\n.info-row:not(:last-child) {\n border-bottom: 1px solid #e8e8e8;\n}\n\n.info-label {\n color: var(--mj-text-secondary-color, #666);\n}\n\n.info-value {\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n/* ========================================\n Panel Actions\n ======================================== */\n.panel-actions {\n display: flex;\n gap: 8px;\n padding: 16px 20px;\n background: white;\n border-top: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-actions button {\n min-width: 100px;\n}\n\n.panel-actions button i {\n margin-right: 6px;\n}\n\n/* ========================================\n Responsive / Mobile\n ======================================== */\n@media (max-width: 768px) {\n .slide-out-panel {\n width: 100% !important;\n left: 0;\n }\n\n .resize-handle {\n display: none;\n }\n\n .step-indicator {\n padding: 12px 16px;\n }\n\n .step-connector {\n width: 20px;\n margin: 0 6px;\n }\n\n .step-label {\n display: none;\n }\n\n .panel-content {\n padding: 16px;\n }\n\n .tool-header {\n flex-direction: column;\n gap: 12px;\n }\n\n .tool-context {\n align-items: flex-start;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 12px;\n }\n\n .panel-actions {\n flex-wrap: wrap;\n }\n\n .panel-actions button {\n flex: 1;\n min-width: 80px;\n }\n}\n\n@media (max-width: 480px) {\n .panel-header {\n padding: 12px 16px;\n }\n\n .panel-title {\n font-size: 16px;\n }\n\n .step-number {\n width: 24px;\n height: 24px;\n font-size: 12px;\n }\n\n .tool-name {\n font-size: 16px;\n }\n}\n"] }]
|
|
1267
1273
|
}], () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], { Visible: [{
|
|
1268
1274
|
type: Input
|
|
1269
1275
|
}], Servers: [{
|
|
@@ -1290,11 +1296,5 @@ export class MCPTestToolDialogComponent {
|
|
|
1290
1296
|
type: HostListener,
|
|
1291
1297
|
args: ['window:resize']
|
|
1292
1298
|
}] }); })();
|
|
1293
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MCPTestToolDialogComponent, { className: "MCPTestToolDialogComponent", filePath: "src/MCP/components/mcp-test-tool-dialog.component.ts", lineNumber:
|
|
1294
|
-
/**
|
|
1295
|
-
* Tree-shaking prevention function
|
|
1296
|
-
*/
|
|
1297
|
-
export function LoadMCPTestToolDialog() {
|
|
1298
|
-
// Ensures the component is not tree-shaken
|
|
1299
|
-
}
|
|
1299
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MCPTestToolDialogComponent, { className: "MCPTestToolDialogComponent", filePath: "src/MCP/components/mcp-test-tool-dialog.component.ts", lineNumber: 139 }); })();
|
|
1300
1300
|
//# sourceMappingURL=mcp-test-tool-dialog.component.js.map
|