@memberjunction/ng-dashboards 3.4.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AI/ai-dashboard.component.d.ts +62 -0
- package/dist/AI/ai-dashboard.component.d.ts.map +1 -0
- package/dist/AI/ai-dashboard.component.js +338 -0
- package/dist/AI/ai-dashboard.component.js.map +1 -0
- 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-v2.component.d.ts +96 -0
- package/dist/AI/components/models/model-management-v2.component.d.ts.map +1 -0
- package/dist/AI/components/models/model-management-v2.component.js +981 -0
- package/dist/AI/components/models/model-management-v2.component.js.map +1 -0
- 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-v2.component.d.ts +97 -0
- package/dist/AI/components/prompts/prompt-management-v2.component.d.ts.map +1 -0
- package/dist/AI/components/prompts/prompt-management-v2.component.js +811 -0
- package/dist/AI/components/prompts/prompt-management-v2.component.js.map +1 -0
- 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/actions-management-dashboard.component.d.ts +52 -0
- package/dist/Actions/actions-management-dashboard.component.d.ts.map +1 -0
- package/dist/Actions/actions-management-dashboard.component.js +308 -0
- package/dist/Actions/actions-management-dashboard.component.js.map +1 -0
- 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/credential-category-edit-panel.component.d.ts +44 -0
- package/dist/Credentials/components/credential-category-edit-panel.component.d.ts.map +1 -0
- package/dist/Credentials/components/credential-category-edit-panel.component.js +456 -0
- package/dist/Credentials/components/credential-category-edit-panel.component.js.map +1 -0
- package/dist/Credentials/components/credential-edit-panel.component.d.ts +70 -0
- package/dist/Credentials/components/credential-edit-panel.component.d.ts.map +1 -0
- package/dist/Credentials/components/credential-edit-panel.component.js +694 -0
- package/dist/Credentials/components/credential-edit-panel.component.js.map +1 -0
- package/dist/Credentials/components/credential-type-edit-panel.component.d.ts +56 -0
- package/dist/Credentials/components/credential-type-edit-panel.component.d.ts.map +1 -0
- package/dist/Credentials/components/credential-type-edit-panel.component.js +563 -0
- package/dist/Credentials/components/credential-type-edit-panel.component.js.map +1 -0
- 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-config-panel/view-config-panel.component.d.ts +245 -0
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts.map +1 -0
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js +1143 -0
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js.map +1 -0
- 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 +0 -4
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +49 -54
- 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/components/entity-details.component.d.ts +50 -0
- package/dist/EntityAdmin/components/entity-details.component.d.ts.map +1 -0
- package/dist/EntityAdmin/components/entity-details.component.js +680 -0
- package/dist/EntityAdmin/components/entity-details.component.js.map +1 -0
- package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts +31 -0
- package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts.map +1 -0
- package/dist/EntityAdmin/components/entity-filter-panel.component.js +160 -0
- package/dist/EntityAdmin/components/entity-filter-panel.component.js.map +1 -0
- package/dist/EntityAdmin/components/erd-composite.component.d.ts +73 -0
- package/dist/EntityAdmin/components/erd-composite.component.d.ts.map +1 -0
- package/dist/EntityAdmin/components/erd-composite.component.js +271 -0
- package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -0
- package/dist/EntityAdmin/components/erd-diagram.component.d.ts +47 -0
- package/dist/EntityAdmin/components/erd-diagram.component.d.ts.map +1 -0
- package/dist/EntityAdmin/components/erd-diagram.component.js +618 -0
- package/dist/EntityAdmin/components/erd-diagram.component.js.map +1 -0
- 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 +0 -5
- package/dist/Home/home-application.d.ts.map +1 -1
- package/dist/Home/home-application.js +0 -9
- package/dist/Home/home-application.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +0 -4
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +141 -139
- 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-health-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-health.component.d.ts +30 -0
- package/dist/Scheduling/components/scheduling-health.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-health.component.js +315 -0
- package/dist/Scheduling/components/scheduling-health.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-history-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-history-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-history-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-history-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-history.component.d.ts +48 -0
- package/dist/Scheduling/components/scheduling-history.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-history.component.js +377 -0
- package/dist/Scheduling/components/scheduling-history.component.js.map +1 -0
- 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-monitor-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-monitor-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-monitor-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-monitoring.component.d.ts +37 -0
- package/dist/Scheduling/components/scheduling-monitoring.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-monitoring.component.js +488 -0
- package/dist/Scheduling/components/scheduling-monitoring.component.js.map +1 -0
- 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/components/scheduling-types-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-types-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-types-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-types-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-types.component.d.ts +22 -0
- package/dist/Scheduling/components/scheduling-types.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-types.component.js +165 -0
- package/dist/Scheduling/components/scheduling-types.component.js.map +1 -0
- 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-execution-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-execution-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-execution-resource.component.js +55 -0
- package/dist/Testing/components/testing-execution-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-execution.component.d.ts +71 -0
- package/dist/Testing/components/testing-execution.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-execution.component.js +845 -0
- package/dist/Testing/components/testing-execution.component.js.map +1 -0
- 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-feedback-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-feedback-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-feedback-resource.component.js +55 -0
- package/dist/Testing/components/testing-feedback-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-feedback.component.d.ts +111 -0
- package/dist/Testing/components/testing-feedback.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-feedback.component.js +1486 -0
- package/dist/Testing/components/testing-feedback.component.js.map +1 -0
- package/dist/Testing/components/testing-overview-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-overview-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-overview-resource.component.js +55 -0
- package/dist/Testing/components/testing-overview-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-overview.component.d.ts +30 -0
- package/dist/Testing/components/testing-overview.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-overview.component.js +361 -0
- package/dist/Testing/components/testing-overview.component.js.map +1 -0
- 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/testing-version-comparison.component.d.ts +62 -0
- package/dist/Testing/components/testing-version-comparison.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-version-comparison.component.js +815 -0
- package/dist/Testing/components/testing-version-comparison.component.js.map +1 -0
- package/dist/Testing/components/testing-version-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-version-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-version-resource.component.js +55 -0
- package/dist/Testing/components/testing-version-resource.component.js.map +1 -0
- 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/generic/base-dashboard.d.ts +65 -0
- package/dist/generic/base-dashboard.d.ts.map +1 -0
- package/dist/generic/base-dashboard.js +74 -0
- package/dist/generic/base-dashboard.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
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "../services/scheduling-instrumentation.service";
|
|
4
|
-
import * as i2 from "@angular/
|
|
5
|
-
import * as i3 from "@
|
|
6
|
-
import * as i4 from "@
|
|
7
|
-
function
|
|
8
|
-
i0.ɵɵelementStart(0, "div",
|
|
9
|
-
i0.ɵɵelement(1, "i",
|
|
4
|
+
import * as i2 from "@angular/forms";
|
|
5
|
+
import * as i3 from "@memberjunction/ng-code-editor";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
function JobSlideoutComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelementStart(0, "div", 6);
|
|
9
|
+
i0.ɵɵelement(1, "i", 33);
|
|
10
10
|
i0.ɵɵelementStart(2, "span");
|
|
11
11
|
i0.ɵɵtext(3);
|
|
12
12
|
i0.ɵɵelementEnd()();
|
|
@@ -15,8 +15,8 @@ function JobSlideoutComponent_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
|
15
15
|
i0.ɵɵadvance(3);
|
|
16
16
|
i0.ɵɵtextInterpolate(ctx_r0.ErrorMessage);
|
|
17
17
|
} }
|
|
18
|
-
function
|
|
19
|
-
i0.ɵɵelementStart(0, "option",
|
|
18
|
+
function JobSlideoutComponent_For_31_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
i0.ɵɵelementStart(0, "option", 16);
|
|
20
20
|
i0.ɵɵtext(1);
|
|
21
21
|
i0.ɵɵelementEnd();
|
|
22
22
|
} if (rf & 2) {
|
|
@@ -25,8 +25,8 @@ function JobSlideoutComponent_option_30_Template(rf, ctx) { if (rf & 1) {
|
|
|
25
25
|
i0.ɵɵadvance();
|
|
26
26
|
i0.ɵɵtextInterpolate(t_r2.name);
|
|
27
27
|
} }
|
|
28
|
-
function
|
|
29
|
-
i0.ɵɵelementStart(0, "option",
|
|
28
|
+
function JobSlideoutComponent_For_37_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
+
i0.ɵɵelementStart(0, "option", 16);
|
|
30
30
|
i0.ɵɵtext(1);
|
|
31
31
|
i0.ɵɵelementEnd();
|
|
32
32
|
} if (rf & 2) {
|
|
@@ -35,8 +35,8 @@ function JobSlideoutComponent_option_35_Template(rf, ctx) { if (rf & 1) {
|
|
|
35
35
|
i0.ɵɵadvance();
|
|
36
36
|
i0.ɵɵtextInterpolate(s_r3);
|
|
37
37
|
} }
|
|
38
|
-
function
|
|
39
|
-
i0.ɵɵelementStart(0, "option",
|
|
38
|
+
function JobSlideoutComponent_For_55_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
+
i0.ɵɵelementStart(0, "option", 16);
|
|
40
40
|
i0.ɵɵtext(1);
|
|
41
41
|
i0.ɵɵelementEnd();
|
|
42
42
|
} if (rf & 2) {
|
|
@@ -45,8 +45,8 @@ function JobSlideoutComponent_option_52_Template(rf, ctx) { if (rf & 1) {
|
|
|
45
45
|
i0.ɵɵadvance();
|
|
46
46
|
i0.ɵɵtextInterpolate(tz_r4);
|
|
47
47
|
} }
|
|
48
|
-
function
|
|
49
|
-
i0.ɵɵelementStart(0, "option",
|
|
48
|
+
function JobSlideoutComponent_For_61_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
+
i0.ɵɵelementStart(0, "option", 16);
|
|
50
50
|
i0.ɵɵtext(1);
|
|
51
51
|
i0.ɵɵelementEnd();
|
|
52
52
|
} if (rf & 2) {
|
|
@@ -55,32 +55,32 @@ function JobSlideoutComponent_option_57_Template(rf, ctx) { if (rf & 1) {
|
|
|
55
55
|
i0.ɵɵadvance();
|
|
56
56
|
i0.ɵɵtextInterpolate(c_r5);
|
|
57
57
|
} }
|
|
58
|
-
function
|
|
58
|
+
function JobSlideoutComponent_Conditional_84_Template(rf, ctx) { if (rf & 1) {
|
|
59
59
|
i0.ɵɵelementStart(0, "div", 7)(1, "div", 8);
|
|
60
60
|
i0.ɵɵtext(2, "Statistics");
|
|
61
61
|
i0.ɵɵelementEnd();
|
|
62
|
-
i0.ɵɵelementStart(3, "div",
|
|
62
|
+
i0.ɵɵelementStart(3, "div", 34)(4, "div", 35)(5, "span", 36);
|
|
63
63
|
i0.ɵɵtext(6, "Total Runs");
|
|
64
64
|
i0.ɵɵelementEnd();
|
|
65
|
-
i0.ɵɵelementStart(7, "span",
|
|
65
|
+
i0.ɵɵelementStart(7, "span", 37);
|
|
66
66
|
i0.ɵɵtext(8);
|
|
67
67
|
i0.ɵɵelementEnd()();
|
|
68
|
-
i0.ɵɵelementStart(9, "div",
|
|
68
|
+
i0.ɵɵelementStart(9, "div", 35)(10, "span", 36);
|
|
69
69
|
i0.ɵɵtext(11, "Success");
|
|
70
70
|
i0.ɵɵelementEnd();
|
|
71
|
-
i0.ɵɵelementStart(12, "span",
|
|
71
|
+
i0.ɵɵelementStart(12, "span", 38);
|
|
72
72
|
i0.ɵɵtext(13);
|
|
73
73
|
i0.ɵɵelementEnd()();
|
|
74
|
-
i0.ɵɵelementStart(14, "div",
|
|
74
|
+
i0.ɵɵelementStart(14, "div", 35)(15, "span", 36);
|
|
75
75
|
i0.ɵɵtext(16, "Failures");
|
|
76
76
|
i0.ɵɵelementEnd();
|
|
77
|
-
i0.ɵɵelementStart(17, "span",
|
|
77
|
+
i0.ɵɵelementStart(17, "span", 39);
|
|
78
78
|
i0.ɵɵtext(18);
|
|
79
79
|
i0.ɵɵelementEnd()();
|
|
80
|
-
i0.ɵɵelementStart(19, "div",
|
|
80
|
+
i0.ɵɵelementStart(19, "div", 35)(20, "span", 36);
|
|
81
81
|
i0.ɵɵtext(21, "Created");
|
|
82
82
|
i0.ɵɵelementEnd();
|
|
83
|
-
i0.ɵɵelementStart(22, "span",
|
|
83
|
+
i0.ɵɵelementStart(22, "span", 37);
|
|
84
84
|
i0.ɵɵtext(23);
|
|
85
85
|
i0.ɵɵpipe(24, "date");
|
|
86
86
|
i0.ɵɵelementEnd()()()();
|
|
@@ -95,30 +95,30 @@ function JobSlideoutComponent_div_80_Template(rf, ctx) { if (rf & 1) {
|
|
|
95
95
|
i0.ɵɵadvance(5);
|
|
96
96
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(24, 4, ctx_r0.Job.createdAt, "short"));
|
|
97
97
|
} }
|
|
98
|
-
function
|
|
98
|
+
function JobSlideoutComponent_Conditional_87_Template(rf, ctx) { if (rf & 1) {
|
|
99
99
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
100
|
-
i0.ɵɵelementStart(0, "button",
|
|
101
|
-
i0.ɵɵlistener("click", function
|
|
102
|
-
i0.ɵɵelement(1, "i",
|
|
100
|
+
i0.ɵɵelementStart(0, "button", 40);
|
|
101
|
+
i0.ɵɵlistener("click", function JobSlideoutComponent_Conditional_87_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.ShowDeleteConfirm = true); });
|
|
102
|
+
i0.ɵɵelement(1, "i", 41);
|
|
103
103
|
i0.ɵɵtext(2, " Delete ");
|
|
104
104
|
i0.ɵɵelementEnd();
|
|
105
105
|
} if (rf & 2) {
|
|
106
106
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
107
107
|
i0.ɵɵproperty("disabled", ctx_r0.IsDeleting);
|
|
108
108
|
} }
|
|
109
|
-
function
|
|
110
|
-
i0.ɵɵelement(0, "i",
|
|
109
|
+
function JobSlideoutComponent_Conditional_92_Template(rf, ctx) { if (rf & 1) {
|
|
110
|
+
i0.ɵɵelement(0, "i", 30);
|
|
111
111
|
} }
|
|
112
|
-
function
|
|
113
|
-
i0.ɵɵelement(0, "i",
|
|
112
|
+
function JobSlideoutComponent_Conditional_93_Template(rf, ctx) { if (rf & 1) {
|
|
113
|
+
i0.ɵɵelement(0, "i", 31);
|
|
114
114
|
} }
|
|
115
|
-
function
|
|
116
|
-
i0.ɵɵelement(0, "i",
|
|
115
|
+
function JobSlideoutComponent_Conditional_95_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
116
|
+
i0.ɵɵelement(0, "i", 30);
|
|
117
117
|
} }
|
|
118
|
-
function
|
|
118
|
+
function JobSlideoutComponent_Conditional_95_Template(rf, ctx) { if (rf & 1) {
|
|
119
119
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
120
|
-
i0.ɵɵelementStart(0, "div",
|
|
121
|
-
i0.ɵɵelement(3, "i",
|
|
120
|
+
i0.ɵɵelementStart(0, "div", 32)(1, "div", 42)(2, "div", 43);
|
|
121
|
+
i0.ɵɵelement(3, "i", 44);
|
|
122
122
|
i0.ɵɵelementEnd();
|
|
123
123
|
i0.ɵɵelementStart(4, "h3");
|
|
124
124
|
i0.ɵɵtext(5, "Delete Job");
|
|
@@ -126,13 +126,13 @@ function JobSlideoutComponent_div_91_Template(rf, ctx) { if (rf & 1) {
|
|
|
126
126
|
i0.ɵɵelementStart(6, "p");
|
|
127
127
|
i0.ɵɵtext(7);
|
|
128
128
|
i0.ɵɵelementEnd();
|
|
129
|
-
i0.ɵɵelementStart(8, "div",
|
|
130
|
-
i0.ɵɵlistener("click", function
|
|
131
|
-
i0.ɵɵ
|
|
129
|
+
i0.ɵɵelementStart(8, "div", 45)(9, "button", 46);
|
|
130
|
+
i0.ɵɵlistener("click", function JobSlideoutComponent_Conditional_95_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.Delete()); });
|
|
131
|
+
i0.ɵɵconditionalCreate(10, JobSlideoutComponent_Conditional_95_Conditional_10_Template, 1, 0, "i", 30);
|
|
132
132
|
i0.ɵɵtext(11, " Delete ");
|
|
133
133
|
i0.ɵɵelementEnd();
|
|
134
|
-
i0.ɵɵelementStart(12, "button",
|
|
135
|
-
i0.ɵɵlistener("click", function
|
|
134
|
+
i0.ɵɵelementStart(12, "button", 28);
|
|
135
|
+
i0.ɵɵlistener("click", function JobSlideoutComponent_Conditional_95_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.ShowDeleteConfirm = false); });
|
|
136
136
|
i0.ɵɵtext(13, "Cancel");
|
|
137
137
|
i0.ɵɵelementEnd()()()();
|
|
138
138
|
} if (rf & 2) {
|
|
@@ -142,7 +142,7 @@ function JobSlideoutComponent_div_91_Template(rf, ctx) { if (rf & 1) {
|
|
|
142
142
|
i0.ɵɵadvance(2);
|
|
143
143
|
i0.ɵɵproperty("disabled", ctx_r0.IsDeleting);
|
|
144
144
|
i0.ɵɵadvance();
|
|
145
|
-
i0.ɵɵ
|
|
145
|
+
i0.ɵɵconditional(ctx_r0.IsDeleting ? 10 : -1);
|
|
146
146
|
} }
|
|
147
147
|
export class JobSlideoutComponent {
|
|
148
148
|
schedulingService;
|
|
@@ -275,7 +275,7 @@ export class JobSlideoutComponent {
|
|
|
275
275
|
this.Close.emit();
|
|
276
276
|
}
|
|
277
277
|
static ɵfac = function JobSlideoutComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JobSlideoutComponent)(i0.ɵɵdirectiveInject(i1.SchedulingInstrumentationService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
278
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JobSlideoutComponent, selectors: [["app-job-slideout"]], inputs: { Mode: "Mode", Job: "Job" }, outputs: { Close: "Close", Saved: "Saved" }, decls:
|
|
278
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JobSlideoutComponent, selectors: [["app-job-slideout"]], inputs: { Mode: "Mode", Job: "Job" }, outputs: { Close: "Close", Saved: "Saved" }, standalone: false, decls: 96, vars: 24, consts: [[1, "slideout-container"], [1, "slideout-header"], [1, "slideout-title"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "slideout-body"], [1, "error-banner"], [1, "form-section"], [1, "section-title"], [1, "form-group"], [1, "form-label"], [1, "required"], ["type", "text", "placeholder", "e.g., Daily Data Sync", 1, "form-input", 3, "ngModelChange", "ngModel"], ["rows", "3", "placeholder", "What does this job do?", 1, "form-textarea", 3, "ngModelChange", "ngModel"], [1, "form-row"], [1, "form-input", 3, "ngModelChange", "ngModel"], [3, "value"], ["type", "text", "placeholder", "0 */15 * * * *", 1, "form-input", "mono", 3, "ngModelChange", "ngModel"], [1, "form-hint"], [1, "code-editor-wrapper"], [3, "change", "value", "language", "lineWrapping", "placeholder"], [1, "form-row", "checkboxes"], [1, "checkbox-label"], ["type", "checkbox", 3, "ngModelChange", "ngModel"], [1, "slideout-footer"], [1, "footer-left"], [1, "delete-btn", 3, "disabled"], [1, "footer-right"], [1, "cancel-btn", 3, "click"], [1, "save-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-check"], [1, "confirm-overlay"], [1, "fa-solid", "fa-circle-exclamation"], [1, "stats-grid"], [1, "stat-item"], [1, "stat-label"], [1, "stat-value"], [1, "stat-value", "success"], [1, "stat-value", "failure"], [1, "delete-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-trash-can"], [1, "confirm-dialog"], [1, "confirm-icon"], [1, "fa-solid", "fa-triangle-exclamation"], [1, "confirm-actions"], [1, "delete-confirm-btn", 3, "click", "disabled"]], template: function JobSlideoutComponent_Template(rf, ctx) { if (rf & 1) {
|
|
279
279
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
|
|
280
280
|
i0.ɵɵelement(3, "i");
|
|
281
281
|
i0.ɵɵelementStart(4, "span");
|
|
@@ -286,7 +286,7 @@ export class JobSlideoutComponent {
|
|
|
286
286
|
i0.ɵɵelement(7, "i", 4);
|
|
287
287
|
i0.ɵɵelementEnd()();
|
|
288
288
|
i0.ɵɵelementStart(8, "div", 5);
|
|
289
|
-
i0.ɵɵ
|
|
289
|
+
i0.ɵɵconditionalCreate(9, JobSlideoutComponent_Conditional_9_Template, 4, 1, "div", 6);
|
|
290
290
|
i0.ɵɵelementStart(10, "div", 7)(11, "div", 8);
|
|
291
291
|
i0.ɵɵtext(12, "General");
|
|
292
292
|
i0.ɵɵelementEnd();
|
|
@@ -311,85 +311,86 @@ export class JobSlideoutComponent {
|
|
|
311
311
|
i0.ɵɵelementEnd()();
|
|
312
312
|
i0.ɵɵelementStart(29, "select", 15);
|
|
313
313
|
i0.ɵɵtwoWayListener("ngModelChange", function JobSlideoutComponent_Template_select_ngModelChange_29_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.JobTypeID, $event) || (ctx.JobTypeID = $event); return $event; });
|
|
314
|
-
i0.ɵɵ
|
|
314
|
+
i0.ɵɵrepeaterCreate(30, JobSlideoutComponent_For_31_Template, 2, 2, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
|
|
315
315
|
i0.ɵɵelementEnd()();
|
|
316
|
-
i0.ɵɵelementStart(
|
|
317
|
-
i0.ɵɵtext(
|
|
316
|
+
i0.ɵɵelementStart(32, "div", 9)(33, "label", 10);
|
|
317
|
+
i0.ɵɵtext(34, "Status");
|
|
318
318
|
i0.ɵɵelementEnd();
|
|
319
|
-
i0.ɵɵelementStart(
|
|
320
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
321
|
-
i0.ɵɵ
|
|
319
|
+
i0.ɵɵelementStart(35, "select", 15);
|
|
320
|
+
i0.ɵɵtwoWayListener("ngModelChange", function JobSlideoutComponent_Template_select_ngModelChange_35_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.Status, $event) || (ctx.Status = $event); return $event; });
|
|
321
|
+
i0.ɵɵrepeaterCreate(36, JobSlideoutComponent_For_37_Template, 2, 2, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
|
|
322
322
|
i0.ɵɵelementEnd()()()();
|
|
323
|
-
i0.ɵɵelementStart(
|
|
324
|
-
i0.ɵɵtext(
|
|
323
|
+
i0.ɵɵelementStart(38, "div", 7)(39, "div", 8);
|
|
324
|
+
i0.ɵɵtext(40, "Schedule");
|
|
325
325
|
i0.ɵɵelementEnd();
|
|
326
|
-
i0.ɵɵelementStart(
|
|
327
|
-
i0.ɵɵtext(
|
|
328
|
-
i0.ɵɵelementStart(
|
|
329
|
-
i0.ɵɵtext(
|
|
326
|
+
i0.ɵɵelementStart(41, "div", 9)(42, "label", 10);
|
|
327
|
+
i0.ɵɵtext(43, "Cron Expression ");
|
|
328
|
+
i0.ɵɵelementStart(44, "span", 11);
|
|
329
|
+
i0.ɵɵtext(45, "*");
|
|
330
330
|
i0.ɵɵelementEnd()();
|
|
331
|
-
i0.ɵɵelementStart(
|
|
332
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
331
|
+
i0.ɵɵelementStart(46, "input", 17);
|
|
332
|
+
i0.ɵɵtwoWayListener("ngModelChange", function JobSlideoutComponent_Template_input_ngModelChange_46_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.CronExpression, $event) || (ctx.CronExpression = $event); return $event; });
|
|
333
333
|
i0.ɵɵelementEnd();
|
|
334
|
-
i0.ɵɵelementStart(
|
|
335
|
-
i0.ɵɵtext(
|
|
334
|
+
i0.ɵɵelementStart(47, "div", 18);
|
|
335
|
+
i0.ɵɵtext(48, "e.g., 0 */15 * * * * (every 15 minutes)");
|
|
336
336
|
i0.ɵɵelementEnd()();
|
|
337
|
-
i0.ɵɵelementStart(
|
|
338
|
-
i0.ɵɵtext(
|
|
337
|
+
i0.ɵɵelementStart(49, "div", 14)(50, "div", 9)(51, "label", 10);
|
|
338
|
+
i0.ɵɵtext(52, "Timezone");
|
|
339
339
|
i0.ɵɵelementEnd();
|
|
340
|
-
i0.ɵɵelementStart(
|
|
341
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
342
|
-
i0.ɵɵ
|
|
340
|
+
i0.ɵɵelementStart(53, "select", 15);
|
|
341
|
+
i0.ɵɵtwoWayListener("ngModelChange", function JobSlideoutComponent_Template_select_ngModelChange_53_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.Timezone, $event) || (ctx.Timezone = $event); return $event; });
|
|
342
|
+
i0.ɵɵrepeaterCreate(54, JobSlideoutComponent_For_55_Template, 2, 2, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
|
|
343
343
|
i0.ɵɵelementEnd()();
|
|
344
|
-
i0.ɵɵelementStart(
|
|
345
|
-
i0.ɵɵtext(
|
|
344
|
+
i0.ɵɵelementStart(56, "div", 9)(57, "label", 10);
|
|
345
|
+
i0.ɵɵtext(58, "Concurrency");
|
|
346
346
|
i0.ɵɵelementEnd();
|
|
347
|
-
i0.ɵɵelementStart(
|
|
348
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
349
|
-
i0.ɵɵ
|
|
347
|
+
i0.ɵɵelementStart(59, "select", 15);
|
|
348
|
+
i0.ɵɵtwoWayListener("ngModelChange", function JobSlideoutComponent_Template_select_ngModelChange_59_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.ConcurrencyMode, $event) || (ctx.ConcurrencyMode = $event); return $event; });
|
|
349
|
+
i0.ɵɵrepeaterCreate(60, JobSlideoutComponent_For_61_Template, 2, 2, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
|
|
350
350
|
i0.ɵɵelementEnd()()()();
|
|
351
|
-
i0.ɵɵelementStart(
|
|
352
|
-
i0.ɵɵtext(
|
|
351
|
+
i0.ɵɵelementStart(62, "div", 7)(63, "div", 8);
|
|
352
|
+
i0.ɵɵtext(64, "Configuration");
|
|
353
353
|
i0.ɵɵelementEnd();
|
|
354
|
-
i0.ɵɵelementStart(
|
|
355
|
-
i0.ɵɵtext(
|
|
354
|
+
i0.ɵɵelementStart(65, "div", 9)(66, "label", 10);
|
|
355
|
+
i0.ɵɵtext(67, "Configuration JSON");
|
|
356
356
|
i0.ɵɵelementEnd();
|
|
357
|
-
i0.ɵɵelementStart(
|
|
358
|
-
i0.ɵɵlistener("change", function
|
|
357
|
+
i0.ɵɵelementStart(68, "div", 19)(69, "mj-code-editor", 20);
|
|
358
|
+
i0.ɵɵlistener("change", function JobSlideoutComponent_Template_mj_code_editor_change_69_listener($event) { return ctx.OnConfigurationChange($event); });
|
|
359
359
|
i0.ɵɵelementEnd()();
|
|
360
|
-
i0.ɵɵelementStart(
|
|
361
|
-
i0.ɵɵtext(
|
|
360
|
+
i0.ɵɵelementStart(70, "div", 18);
|
|
361
|
+
i0.ɵɵtext(71, "Optional JSON configuration for the job type plugin");
|
|
362
362
|
i0.ɵɵelementEnd()()();
|
|
363
|
-
i0.ɵɵelementStart(
|
|
364
|
-
i0.ɵɵtext(
|
|
363
|
+
i0.ɵɵelementStart(72, "div", 7)(73, "div", 8);
|
|
364
|
+
i0.ɵɵtext(74, "Notifications");
|
|
365
365
|
i0.ɵɵelementEnd();
|
|
366
|
-
i0.ɵɵelementStart(
|
|
367
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
366
|
+
i0.ɵɵelementStart(75, "div", 21)(76, "label", 22)(77, "input", 23);
|
|
367
|
+
i0.ɵɵtwoWayListener("ngModelChange", function JobSlideoutComponent_Template_input_ngModelChange_77_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.NotifyOnSuccess, $event) || (ctx.NotifyOnSuccess = $event); return $event; });
|
|
368
368
|
i0.ɵɵelementEnd();
|
|
369
|
-
i0.ɵɵelementStart(
|
|
370
|
-
i0.ɵɵtext(
|
|
369
|
+
i0.ɵɵelementStart(78, "span");
|
|
370
|
+
i0.ɵɵtext(79, "Notify on success");
|
|
371
371
|
i0.ɵɵelementEnd()();
|
|
372
|
-
i0.ɵɵelementStart(
|
|
373
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
372
|
+
i0.ɵɵelementStart(80, "label", 22)(81, "input", 23);
|
|
373
|
+
i0.ɵɵtwoWayListener("ngModelChange", function JobSlideoutComponent_Template_input_ngModelChange_81_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.NotifyOnFailure, $event) || (ctx.NotifyOnFailure = $event); return $event; });
|
|
374
374
|
i0.ɵɵelementEnd();
|
|
375
|
-
i0.ɵɵelementStart(
|
|
376
|
-
i0.ɵɵtext(
|
|
375
|
+
i0.ɵɵelementStart(82, "span");
|
|
376
|
+
i0.ɵɵtext(83, "Notify on failure");
|
|
377
377
|
i0.ɵɵelementEnd()()()();
|
|
378
|
-
i0.ɵɵ
|
|
378
|
+
i0.ɵɵconditionalCreate(84, JobSlideoutComponent_Conditional_84_Template, 25, 7, "div", 7);
|
|
379
379
|
i0.ɵɵelementEnd();
|
|
380
|
-
i0.ɵɵelementStart(
|
|
381
|
-
i0.ɵɵ
|
|
380
|
+
i0.ɵɵelementStart(85, "div", 24)(86, "div", 25);
|
|
381
|
+
i0.ɵɵconditionalCreate(87, JobSlideoutComponent_Conditional_87_Template, 3, 1, "button", 26);
|
|
382
382
|
i0.ɵɵelementEnd();
|
|
383
|
-
i0.ɵɵelementStart(
|
|
384
|
-
i0.ɵɵlistener("click", function
|
|
385
|
-
i0.ɵɵtext(
|
|
383
|
+
i0.ɵɵelementStart(88, "div", 27)(89, "button", 28);
|
|
384
|
+
i0.ɵɵlistener("click", function JobSlideoutComponent_Template_button_click_89_listener() { return ctx.OnClose(); });
|
|
385
|
+
i0.ɵɵtext(90, "Cancel");
|
|
386
386
|
i0.ɵɵelementEnd();
|
|
387
|
-
i0.ɵɵelementStart(
|
|
388
|
-
i0.ɵɵlistener("click", function
|
|
389
|
-
i0.ɵɵ
|
|
390
|
-
i0.ɵɵ
|
|
387
|
+
i0.ɵɵelementStart(91, "button", 29);
|
|
388
|
+
i0.ɵɵlistener("click", function JobSlideoutComponent_Template_button_click_91_listener() { return ctx.Save(); });
|
|
389
|
+
i0.ɵɵconditionalCreate(92, JobSlideoutComponent_Conditional_92_Template, 1, 0, "i", 30);
|
|
390
|
+
i0.ɵɵconditionalCreate(93, JobSlideoutComponent_Conditional_93_Template, 1, 0, "i", 31);
|
|
391
|
+
i0.ɵɵtext(94);
|
|
391
392
|
i0.ɵɵelementEnd()()();
|
|
392
|
-
i0.ɵɵ
|
|
393
|
+
i0.ɵɵconditionalCreate(95, JobSlideoutComponent_Conditional_95_Template, 14, 3, "div", 32);
|
|
393
394
|
i0.ɵɵelementEnd();
|
|
394
395
|
} if (rf & 2) {
|
|
395
396
|
i0.ɵɵadvance(3);
|
|
@@ -397,7 +398,7 @@ export class JobSlideoutComponent {
|
|
|
397
398
|
i0.ɵɵadvance(2);
|
|
398
399
|
i0.ɵɵtextInterpolate(ctx.Title);
|
|
399
400
|
i0.ɵɵadvance(4);
|
|
400
|
-
i0.ɵɵ
|
|
401
|
+
i0.ɵɵconditional(ctx.ErrorMessage ? 9 : -1);
|
|
401
402
|
i0.ɵɵadvance(9);
|
|
402
403
|
i0.ɵɵtwoWayProperty("ngModel", ctx.Name);
|
|
403
404
|
i0.ɵɵadvance(4);
|
|
@@ -405,46 +406,46 @@ export class JobSlideoutComponent {
|
|
|
405
406
|
i0.ɵɵadvance(7);
|
|
406
407
|
i0.ɵɵtwoWayProperty("ngModel", ctx.JobTypeID);
|
|
407
408
|
i0.ɵɵadvance();
|
|
408
|
-
i0.ɵɵ
|
|
409
|
-
i0.ɵɵadvance(
|
|
409
|
+
i0.ɵɵrepeater(ctx.JobTypes);
|
|
410
|
+
i0.ɵɵadvance(5);
|
|
410
411
|
i0.ɵɵtwoWayProperty("ngModel", ctx.Status);
|
|
411
412
|
i0.ɵɵadvance();
|
|
412
|
-
i0.ɵɵ
|
|
413
|
-
i0.ɵɵadvance(
|
|
413
|
+
i0.ɵɵrepeater(ctx.StatusOptions);
|
|
414
|
+
i0.ɵɵadvance(10);
|
|
414
415
|
i0.ɵɵtwoWayProperty("ngModel", ctx.CronExpression);
|
|
415
416
|
i0.ɵɵadvance(7);
|
|
416
417
|
i0.ɵɵtwoWayProperty("ngModel", ctx.Timezone);
|
|
417
418
|
i0.ɵɵadvance();
|
|
418
|
-
i0.ɵɵ
|
|
419
|
-
i0.ɵɵadvance(
|
|
419
|
+
i0.ɵɵrepeater(ctx.TimezoneOptions);
|
|
420
|
+
i0.ɵɵadvance(5);
|
|
420
421
|
i0.ɵɵtwoWayProperty("ngModel", ctx.ConcurrencyMode);
|
|
421
422
|
i0.ɵɵadvance();
|
|
422
|
-
i0.ɵɵ
|
|
423
|
-
i0.ɵɵadvance(
|
|
423
|
+
i0.ɵɵrepeater(ctx.ConcurrencyOptions);
|
|
424
|
+
i0.ɵɵadvance(9);
|
|
424
425
|
i0.ɵɵproperty("value", ctx.Configuration)("language", "json")("lineWrapping", true)("placeholder", "{ }");
|
|
425
426
|
i0.ɵɵadvance(8);
|
|
426
427
|
i0.ɵɵtwoWayProperty("ngModel", ctx.NotifyOnSuccess);
|
|
427
428
|
i0.ɵɵadvance(4);
|
|
428
429
|
i0.ɵɵtwoWayProperty("ngModel", ctx.NotifyOnFailure);
|
|
429
430
|
i0.ɵɵadvance(3);
|
|
430
|
-
i0.ɵɵ
|
|
431
|
+
i0.ɵɵconditional(ctx.Mode === "edit" && ctx.Job ? 84 : -1);
|
|
431
432
|
i0.ɵɵadvance(3);
|
|
432
|
-
i0.ɵɵ
|
|
433
|
+
i0.ɵɵconditional(ctx.Mode === "edit" ? 87 : -1);
|
|
433
434
|
i0.ɵɵadvance(4);
|
|
434
435
|
i0.ɵɵproperty("disabled", !ctx.IsValid || ctx.IsSaving);
|
|
435
436
|
i0.ɵɵadvance();
|
|
436
|
-
i0.ɵɵ
|
|
437
|
+
i0.ɵɵconditional(ctx.IsSaving ? 92 : -1);
|
|
437
438
|
i0.ɵɵadvance();
|
|
438
|
-
i0.ɵɵ
|
|
439
|
+
i0.ɵɵconditional(!ctx.IsSaving ? 93 : -1);
|
|
439
440
|
i0.ɵɵadvance();
|
|
440
441
|
i0.ɵɵtextInterpolate1(" ", ctx.Mode === "create" ? "Create Job" : "Save Changes", " ");
|
|
441
442
|
i0.ɵɵadvance();
|
|
442
|
-
i0.ɵɵ
|
|
443
|
-
} }, dependencies: [i2.
|
|
443
|
+
i0.ɵɵconditional(ctx.ShowDeleteConfirm ? 95 : -1);
|
|
444
|
+
} }, dependencies: [i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.DefaultValueAccessor, i2.CheckboxControlValueAccessor, i2.SelectControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.CodeEditorComponent, i4.DatePipe], styles: [".slideout-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n\n\n.slideout-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 20px 24px;\n border-bottom: 1px solid #e2e8f0;\n background: white;\n flex-shrink: 0;\n}\n\n.slideout-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 1.1rem;\n font-weight: 700;\n color: #0f172a;\n}\n\n.slideout-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #0076b6;\n}\n\n.close-btn[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n cursor: pointer;\n color: #64748b;\n transition: all 0.2s;\n}\n\n.close-btn[_ngcontent-%COMP%]:hover {\n background: #f1f5f9;\n color: #0f172a;\n}\n\n\n\n.slideout-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n}\n\n.error-banner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 10px;\n color: #dc2626;\n font-size: 0.85rem;\n font-weight: 500;\n margin-bottom: 20px;\n}\n\n\n\n.form-section[_ngcontent-%COMP%] {\n margin-bottom: 28px;\n}\n\n.section-title[_ngcontent-%COMP%] {\n font-size: 0.7rem;\n font-weight: 700;\n color: #94a3b8;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-bottom: 16px;\n padding-bottom: 8px;\n border-bottom: 1px solid #f1f5f9;\n}\n\n.form-group[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n}\n\n.form-label[_ngcontent-%COMP%] {\n display: block;\n font-size: 0.8rem;\n font-weight: 600;\n color: #334155;\n margin-bottom: 6px;\n}\n\n.required[_ngcontent-%COMP%] {\n color: #ef4444;\n}\n\n.form-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 10px 14px;\n border: 1px solid #e2e8f0;\n border-radius: 10px;\n font-size: 0.85rem;\n color: #0f172a;\n background: white;\n outline: none;\n transition: border-color 0.2s;\n box-sizing: border-box;\n}\n\n.form-input[_ngcontent-%COMP%]:focus {\n border-color: #0076b6;\n box-shadow: 0 0 0 3px rgba(0, 118, 182, 0.1);\n}\n\n.form-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 10px 14px;\n border: 1px solid #e2e8f0;\n border-radius: 10px;\n font-size: 0.85rem;\n color: #0f172a;\n background: white;\n outline: none;\n transition: border-color 0.2s;\n resize: vertical;\n font-family: inherit;\n box-sizing: border-box;\n}\n\n.form-textarea[_ngcontent-%COMP%]:focus {\n border-color: #0076b6;\n box-shadow: 0 0 0 3px rgba(0, 118, 182, 0.1);\n}\n\n.form-textarea.mono[_ngcontent-%COMP%], \n.form-input.mono[_ngcontent-%COMP%] {\n font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;\n font-size: 0.8rem;\n}\n\n.form-hint[_ngcontent-%COMP%] {\n font-size: 0.7rem;\n color: #94a3b8;\n margin-top: 4px;\n}\n\n.form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n\n.form-row.checkboxes[_ngcontent-%COMP%] {\n display: flex;\n gap: 24px;\n}\n\n.checkbox-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 0.85rem;\n color: #334155;\n cursor: pointer;\n}\n\n.checkbox-label[_ngcontent-%COMP%] input[type=\"checkbox\"][_ngcontent-%COMP%] {\n width: 16px;\n height: 16px;\n accent-color: #0076b6;\n}\n\n\n\n.stats-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 12px;\n}\n\n.stat-item[_ngcontent-%COMP%] {\n padding: 12px 16px;\n background: #f8fafc;\n border-radius: 10px;\n border: 1px solid #f1f5f9;\n}\n\n.stat-label[_ngcontent-%COMP%] {\n font-size: 0.7rem;\n font-weight: 700;\n color: #94a3b8;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n display: block;\n margin-bottom: 4px;\n}\n\n.stat-value[_ngcontent-%COMP%] {\n font-size: 1.1rem;\n font-weight: 800;\n color: #0f172a;\n}\n\n.stat-value.success[_ngcontent-%COMP%] { color: #10b981; }\n.stat-value.failure[_ngcontent-%COMP%] { color: #ef4444; }\n\n\n\n.slideout-footer[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n border-top: 1px solid #e2e8f0;\n background: #f1f5f9;\n flex-shrink: 0;\n box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);\n position: relative;\n z-index: 1;\n}\n\n.footer-left[_ngcontent-%COMP%], .footer-right[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n\n.save-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 10px 24px;\n background: linear-gradient(135deg, #0076b6 0%, #005a8c 100%);\n color: white;\n border: none;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 600;\n transition: all 0.2s ease;\n}\n\n.save-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(0, 118, 182, 0.4);\n}\n\n.save-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.cancel-btn[_ngcontent-%COMP%] {\n padding: 10px 20px;\n background: white;\n border: 1px solid #e5e7eb;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 500;\n color: #475569;\n transition: all 0.2s;\n}\n\n.cancel-btn[_ngcontent-%COMP%]:hover {\n background: #f3f4f6;\n}\n\n.delete-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 10px 16px;\n background: transparent;\n color: #ef4444;\n border: 1px solid #fecaca;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 500;\n transition: all 0.2s;\n}\n\n.delete-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: #fef2f2;\n}\n\n.delete-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n\n\n.confirm-overlay[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0,0,0,0.4);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n}\n\n.confirm-dialog[_ngcontent-%COMP%] {\n background: white;\n border-radius: 16px;\n padding: 32px;\n max-width: 360px;\n text-align: center;\n box-shadow: 0 20px 40px rgba(0,0,0,0.2);\n}\n\n.confirm-icon[_ngcontent-%COMP%] {\n width: 56px;\n height: 56px;\n border-radius: 50%;\n background: #fef2f2;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 16px;\n}\n\n.confirm-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.5rem;\n color: #ef4444;\n}\n\n.confirm-dialog[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 1.1rem;\n font-weight: 700;\n color: #0f172a;\n margin: 0 0 8px;\n}\n\n.confirm-dialog[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.85rem;\n color: #64748b;\n margin: 0 0 24px;\n line-height: 1.4;\n}\n\n.confirm-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n justify-content: center;\n}\n\n.delete-confirm-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 10px 24px;\n background: #ef4444;\n color: white;\n border: none;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 600;\n transition: all 0.2s;\n}\n\n.delete-confirm-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: #dc2626;\n}\n\n.delete-confirm-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n\n\n.code-editor-wrapper[_ngcontent-%COMP%] {\n border: 1px solid #e2e8f0;\n border-radius: 10px;\n overflow: hidden;\n transition: border-color 0.2s;\n}\n\n.code-editor-wrapper[_ngcontent-%COMP%]:focus-within {\n border-color: #0076b6;\n box-shadow: 0 0 0 3px rgba(0, 118, 182, 0.1);\n}\n\n.code-editor-wrapper[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n display: block;\n height: 180px;\n}\n\n\n\n@media (max-width: 768px) {\n .slideout-body[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .form-row[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .form-row.checkboxes[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 12px;\n }\n\n .code-editor-wrapper[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n height: 140px;\n }\n}\n\n@media (max-width: 480px) {\n .slideout-header[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .slideout-footer[_ngcontent-%COMP%] {\n padding: 12px 16px;\n flex-direction: column;\n gap: 10px;\n }\n\n .footer-left[_ngcontent-%COMP%], .footer-right[_ngcontent-%COMP%] {\n width: 100%;\n }\n\n .footer-right[_ngcontent-%COMP%] {\n justify-content: stretch;\n }\n\n .save-btn[_ngcontent-%COMP%], .cancel-btn[_ngcontent-%COMP%], .delete-btn[_ngcontent-%COMP%] {\n flex: 1;\n justify-content: center;\n }\n\n .stats-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n}"], changeDetection: 0 });
|
|
444
445
|
}
|
|
445
446
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JobSlideoutComponent, [{
|
|
446
447
|
type: Component,
|
|
447
|
-
args: [{ selector: 'app-job-slideout', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"slideout-container\">\n <!-- Header -->\n <div class=\"slideout-header\">\n <div class=\"slideout-title\">\n <i [class]=\"Mode === 'create' ? 'fa-solid fa-plus-circle' : 'fa-solid fa-pen-to-square'\"></i>\n <span>{{Title}}</span>\n </div>\n <button class=\"close-btn\" (click)=\"OnClose()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <!-- Body -->\n <div class=\"slideout-body\">\n <!-- Error -->\n <div class=\"error-banner\" *ngIf=\"ErrorMessage\">\n <i class=\"fa-solid fa-circle-exclamation\"></i>\n <span>{{ErrorMessage}}</span>\n </div>\n\n <!-- Form -->\n <div class=\"form-section\">\n <div class=\"section-title\">General</div>\n\n <div class=\"form-group\">\n <label class=\"form-label\">Name <span class=\"required\">*</span></label>\n <input class=\"form-input\" type=\"text\" [(ngModel)]=\"Name\" placeholder=\"e.g., Daily Data Sync\" />\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\">Description</label>\n <textarea class=\"form-textarea\" [(ngModel)]=\"Description\" rows=\"3\"\n placeholder=\"What does this job do?\"></textarea>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label class=\"form-label\">Job Type <span class=\"required\">*</span></label>\n <select class=\"form-input\" [(ngModel)]=\"JobTypeID\">\n <option *ngFor=\"let t of JobTypes\" [value]=\"t.id\">{{t.name}}</option>\n </select>\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">Status</label>\n <select class=\"form-input\" [(ngModel)]=\"Status\">\n <option *ngFor=\"let s of StatusOptions\" [value]=\"s\">{{s}}</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"form-section\">\n <div class=\"section-title\">Schedule</div>\n\n <div class=\"form-group\">\n <label class=\"form-label\">Cron Expression <span class=\"required\">*</span></label>\n <input class=\"form-input mono\" type=\"text\" [(ngModel)]=\"CronExpression\"\n placeholder=\"0 */15 * * * *\" />\n <div class=\"form-hint\">e.g., 0 */15 * * * * (every 15 minutes)</div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label class=\"form-label\">Timezone</label>\n <select class=\"form-input\" [(ngModel)]=\"Timezone\">\n <option *ngFor=\"let tz of TimezoneOptions\" [value]=\"tz\">{{tz}}</option>\n </select>\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">Concurrency</label>\n <select class=\"form-input\" [(ngModel)]=\"ConcurrencyMode\">\n <option *ngFor=\"let c of ConcurrencyOptions\" [value]=\"c\">{{c}}</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"form-section\">\n <div class=\"section-title\">Configuration</div>\n <div class=\"form-group\">\n <label class=\"form-label\">Configuration JSON</label>\n <div class=\"code-editor-wrapper\">\n <mj-code-editor\n [value]=\"Configuration\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n [placeholder]=\"'{ }'\"\n (change)=\"OnConfigurationChange($event)\">\n </mj-code-editor>\n </div>\n <div class=\"form-hint\">Optional JSON configuration for the job type plugin</div>\n </div>\n </div>\n\n <div class=\"form-section\">\n <div class=\"section-title\">Notifications</div>\n <div class=\"form-row checkboxes\">\n <label class=\"checkbox-label\">\n <input type=\"checkbox\" [(ngModel)]=\"NotifyOnSuccess\" />\n <span>Notify on success</span>\n </label>\n <label class=\"checkbox-label\">\n <input type=\"checkbox\" [(ngModel)]=\"NotifyOnFailure\" />\n <span>Notify on failure</span>\n </label>\n </div>\n </div>\n\n <!-- Job Stats (Edit Mode) -->\n <div class=\"form-section\" *ngIf=\"Mode === 'edit' && Job\">\n <div class=\"section-title\">Statistics</div>\n <div class=\"stats-grid\">\n <div class=\"stat-item\">\n <span class=\"stat-label\">Total Runs</span>\n <span class=\"stat-value\">{{Job.totalRuns}}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Success</span>\n <span class=\"stat-value success\">{{Job.successCount}}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Failures</span>\n <span class=\"stat-value failure\">{{Job.failureCount}}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Created</span>\n <span class=\"stat-value\">{{Job.createdAt | date:'short'}}</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"slideout-footer\">\n <div class=\"footer-left\">\n <button *ngIf=\"Mode === 'edit'\" class=\"delete-btn\" (click)=\"ShowDeleteConfirm = true\"\n [disabled]=\"IsDeleting\">\n <i class=\"fa-solid fa-trash-can\"></i> Delete\n </button>\n </div>\n <div class=\"footer-right\">\n <button class=\"cancel-btn\" (click)=\"OnClose()\">Cancel</button>\n <button class=\"save-btn\" (click)=\"Save()\" [disabled]=\"!IsValid || IsSaving\">\n <i *ngIf=\"IsSaving\" class=\"fa-solid fa-spinner fa-spin\"></i>\n <i *ngIf=\"!IsSaving\" class=\"fa-solid fa-check\"></i>\n {{Mode === 'create' ? 'Create Job' : 'Save Changes'}}\n </button>\n </div>\n </div>\n\n <!-- Delete Confirmation -->\n <div class=\"confirm-overlay\" *ngIf=\"ShowDeleteConfirm\">\n <div class=\"confirm-dialog\">\n <div class=\"confirm-icon\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n </div>\n <h3>Delete Job</h3>\n <p>Are you sure you want to delete \"{{Name}}\"? This action cannot be undone.</p>\n <div class=\"confirm-actions\">\n <button class=\"delete-confirm-btn\" (click)=\"Delete()\" [disabled]=\"IsDeleting\">\n <i *ngIf=\"IsDeleting\" class=\"fa-solid fa-spinner fa-spin\"></i>\n Delete\n </button>\n <button class=\"cancel-btn\" (click)=\"ShowDeleteConfirm = false\">Cancel</button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".slideout-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n/* \u2500\u2500 Header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.slideout-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 20px 24px;\n border-bottom: 1px solid #e2e8f0;\n background: white;\n flex-shrink: 0;\n}\n\n.slideout-title {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 1.1rem;\n font-weight: 700;\n color: #0f172a;\n}\n\n.slideout-title i {\n color: #0076b6;\n}\n\n.close-btn {\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n cursor: pointer;\n color: #64748b;\n transition: all 0.2s;\n}\n\n.close-btn:hover {\n background: #f1f5f9;\n color: #0f172a;\n}\n\n/* \u2500\u2500 Body \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.slideout-body {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n}\n\n.error-banner {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 10px;\n color: #dc2626;\n font-size: 0.85rem;\n font-weight: 500;\n margin-bottom: 20px;\n}\n\n/* \u2500\u2500 Form \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.form-section {\n margin-bottom: 28px;\n}\n\n.section-title {\n font-size: 0.7rem;\n font-weight: 700;\n color: #94a3b8;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-bottom: 16px;\n padding-bottom: 8px;\n border-bottom: 1px solid #f1f5f9;\n}\n\n.form-group {\n margin-bottom: 16px;\n}\n\n.form-label {\n display: block;\n font-size: 0.8rem;\n font-weight: 600;\n color: #334155;\n margin-bottom: 6px;\n}\n\n.required {\n color: #ef4444;\n}\n\n.form-input {\n width: 100%;\n padding: 10px 14px;\n border: 1px solid #e2e8f0;\n border-radius: 10px;\n font-size: 0.85rem;\n color: #0f172a;\n background: white;\n outline: none;\n transition: border-color 0.2s;\n box-sizing: border-box;\n}\n\n.form-input:focus {\n border-color: #0076b6;\n box-shadow: 0 0 0 3px rgba(0, 118, 182, 0.1);\n}\n\n.form-textarea {\n width: 100%;\n padding: 10px 14px;\n border: 1px solid #e2e8f0;\n border-radius: 10px;\n font-size: 0.85rem;\n color: #0f172a;\n background: white;\n outline: none;\n transition: border-color 0.2s;\n resize: vertical;\n font-family: inherit;\n box-sizing: border-box;\n}\n\n.form-textarea:focus {\n border-color: #0076b6;\n box-shadow: 0 0 0 3px rgba(0, 118, 182, 0.1);\n}\n\n.form-textarea.mono,\n.form-input.mono {\n font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;\n font-size: 0.8rem;\n}\n\n.form-hint {\n font-size: 0.7rem;\n color: #94a3b8;\n margin-top: 4px;\n}\n\n.form-row {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n\n.form-row.checkboxes {\n display: flex;\n gap: 24px;\n}\n\n.checkbox-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 0.85rem;\n color: #334155;\n cursor: pointer;\n}\n\n.checkbox-label input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n accent-color: #0076b6;\n}\n\n/* \u2500\u2500 Stats Grid \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.stats-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 12px;\n}\n\n.stat-item {\n padding: 12px 16px;\n background: #f8fafc;\n border-radius: 10px;\n border: 1px solid #f1f5f9;\n}\n\n.stat-label {\n font-size: 0.7rem;\n font-weight: 700;\n color: #94a3b8;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n display: block;\n margin-bottom: 4px;\n}\n\n.stat-value {\n font-size: 1.1rem;\n font-weight: 800;\n color: #0f172a;\n}\n\n.stat-value.success { color: #10b981; }\n.stat-value.failure { color: #ef4444; }\n\n/* \u2500\u2500 Footer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.slideout-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n border-top: 1px solid #e2e8f0;\n background: #f1f5f9;\n flex-shrink: 0;\n box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);\n position: relative;\n z-index: 1;\n}\n\n.footer-left, .footer-right {\n display: flex;\n gap: 8px;\n}\n\n.save-btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 10px 24px;\n background: linear-gradient(135deg, #0076b6 0%, #005a8c 100%);\n color: white;\n border: none;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 600;\n transition: all 0.2s ease;\n}\n\n.save-btn:hover:not(:disabled) {\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(0, 118, 182, 0.4);\n}\n\n.save-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.cancel-btn {\n padding: 10px 20px;\n background: white;\n border: 1px solid #e5e7eb;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 500;\n color: #475569;\n transition: all 0.2s;\n}\n\n.cancel-btn:hover {\n background: #f3f4f6;\n}\n\n.delete-btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 10px 16px;\n background: transparent;\n color: #ef4444;\n border: 1px solid #fecaca;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 500;\n transition: all 0.2s;\n}\n\n.delete-btn:hover:not(:disabled) {\n background: #fef2f2;\n}\n\n.delete-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* \u2500\u2500 Delete Confirmation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.confirm-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0,0,0,0.4);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n}\n\n.confirm-dialog {\n background: white;\n border-radius: 16px;\n padding: 32px;\n max-width: 360px;\n text-align: center;\n box-shadow: 0 20px 40px rgba(0,0,0,0.2);\n}\n\n.confirm-icon {\n width: 56px;\n height: 56px;\n border-radius: 50%;\n background: #fef2f2;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 16px;\n}\n\n.confirm-icon i {\n font-size: 1.5rem;\n color: #ef4444;\n}\n\n.confirm-dialog h3 {\n font-size: 1.1rem;\n font-weight: 700;\n color: #0f172a;\n margin: 0 0 8px;\n}\n\n.confirm-dialog p {\n font-size: 0.85rem;\n color: #64748b;\n margin: 0 0 24px;\n line-height: 1.4;\n}\n\n.confirm-actions {\n display: flex;\n gap: 8px;\n justify-content: center;\n}\n\n.delete-confirm-btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 10px 24px;\n background: #ef4444;\n color: white;\n border: none;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 600;\n transition: all 0.2s;\n}\n\n.delete-confirm-btn:hover:not(:disabled) {\n background: #dc2626;\n}\n\n.delete-confirm-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* \u2500\u2500 Code Editor \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.code-editor-wrapper {\n border: 1px solid #e2e8f0;\n border-radius: 10px;\n overflow: hidden;\n transition: border-color 0.2s;\n}\n\n.code-editor-wrapper:focus-within {\n border-color: #0076b6;\n box-shadow: 0 0 0 3px rgba(0, 118, 182, 0.1);\n}\n\n.code-editor-wrapper mj-code-editor {\n display: block;\n height: 180px;\n}\n\n/* \u2500\u2500 Responsive \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@media (max-width: 768px) {\n .slideout-body {\n padding: 16px;\n }\n\n .form-row {\n grid-template-columns: 1fr;\n }\n\n .form-row.checkboxes {\n flex-direction: column;\n gap: 12px;\n }\n\n .code-editor-wrapper mj-code-editor {\n height: 140px;\n }\n}\n\n@media (max-width: 480px) {\n .slideout-header {\n padding: 16px;\n }\n\n .slideout-footer {\n padding: 12px 16px;\n flex-direction: column;\n gap: 10px;\n }\n\n .footer-left, .footer-right {\n width: 100%;\n }\n\n .footer-right {\n justify-content: stretch;\n }\n\n .save-btn, .cancel-btn, .delete-btn {\n flex: 1;\n justify-content: center;\n }\n\n .stats-grid {\n grid-template-columns: 1fr;\n }\n}\n"] }]
|
|
448
|
+
args: [{ standalone: false, selector: 'app-job-slideout', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"slideout-container\">\n <!-- Header -->\n <div class=\"slideout-header\">\n <div class=\"slideout-title\">\n <i [class]=\"Mode === 'create' ? 'fa-solid fa-plus-circle' : 'fa-solid fa-pen-to-square'\"></i>\n <span>{{Title}}</span>\n </div>\n <button class=\"close-btn\" (click)=\"OnClose()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <!-- Body -->\n <div class=\"slideout-body\">\n <!-- Error -->\n @if (ErrorMessage) {\n <div class=\"error-banner\">\n <i class=\"fa-solid fa-circle-exclamation\"></i>\n <span>{{ErrorMessage}}</span>\n </div>\n }\n\n <!-- Form -->\n <div class=\"form-section\">\n <div class=\"section-title\">General</div>\n\n <div class=\"form-group\">\n <label class=\"form-label\">Name <span class=\"required\">*</span></label>\n <input class=\"form-input\" type=\"text\" [(ngModel)]=\"Name\" placeholder=\"e.g., Daily Data Sync\" />\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\">Description</label>\n <textarea class=\"form-textarea\" [(ngModel)]=\"Description\" rows=\"3\"\n placeholder=\"What does this job do?\"></textarea>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label class=\"form-label\">Job Type <span class=\"required\">*</span></label>\n <select class=\"form-input\" [(ngModel)]=\"JobTypeID\">\n @for (t of JobTypes; track t) {\n <option [value]=\"t.id\">{{t.name}}</option>\n }\n </select>\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">Status</label>\n <select class=\"form-input\" [(ngModel)]=\"Status\">\n @for (s of StatusOptions; track s) {\n <option [value]=\"s\">{{s}}</option>\n }\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"form-section\">\n <div class=\"section-title\">Schedule</div>\n\n <div class=\"form-group\">\n <label class=\"form-label\">Cron Expression <span class=\"required\">*</span></label>\n <input class=\"form-input mono\" type=\"text\" [(ngModel)]=\"CronExpression\"\n placeholder=\"0 */15 * * * *\" />\n <div class=\"form-hint\">e.g., 0 */15 * * * * (every 15 minutes)</div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label class=\"form-label\">Timezone</label>\n <select class=\"form-input\" [(ngModel)]=\"Timezone\">\n @for (tz of TimezoneOptions; track tz) {\n <option [value]=\"tz\">{{tz}}</option>\n }\n </select>\n </div>\n <div class=\"form-group\">\n <label class=\"form-label\">Concurrency</label>\n <select class=\"form-input\" [(ngModel)]=\"ConcurrencyMode\">\n @for (c of ConcurrencyOptions; track c) {\n <option [value]=\"c\">{{c}}</option>\n }\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"form-section\">\n <div class=\"section-title\">Configuration</div>\n <div class=\"form-group\">\n <label class=\"form-label\">Configuration JSON</label>\n <div class=\"code-editor-wrapper\">\n <mj-code-editor\n [value]=\"Configuration\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n [placeholder]=\"'{ }'\"\n (change)=\"OnConfigurationChange($event)\">\n </mj-code-editor>\n </div>\n <div class=\"form-hint\">Optional JSON configuration for the job type plugin</div>\n </div>\n </div>\n\n <div class=\"form-section\">\n <div class=\"section-title\">Notifications</div>\n <div class=\"form-row checkboxes\">\n <label class=\"checkbox-label\">\n <input type=\"checkbox\" [(ngModel)]=\"NotifyOnSuccess\" />\n <span>Notify on success</span>\n </label>\n <label class=\"checkbox-label\">\n <input type=\"checkbox\" [(ngModel)]=\"NotifyOnFailure\" />\n <span>Notify on failure</span>\n </label>\n </div>\n </div>\n\n <!-- Job Stats (Edit Mode) -->\n @if (Mode === 'edit' && Job) {\n <div class=\"form-section\">\n <div class=\"section-title\">Statistics</div>\n <div class=\"stats-grid\">\n <div class=\"stat-item\">\n <span class=\"stat-label\">Total Runs</span>\n <span class=\"stat-value\">{{Job.totalRuns}}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Success</span>\n <span class=\"stat-value success\">{{Job.successCount}}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Failures</span>\n <span class=\"stat-value failure\">{{Job.failureCount}}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Created</span>\n <span class=\"stat-value\">{{Job.createdAt | date:'short'}}</span>\n </div>\n </div>\n </div>\n }\n </div>\n\n <!-- Footer -->\n <div class=\"slideout-footer\">\n <div class=\"footer-left\">\n @if (Mode === 'edit') {\n <button class=\"delete-btn\" (click)=\"ShowDeleteConfirm = true\"\n [disabled]=\"IsDeleting\">\n <i class=\"fa-solid fa-trash-can\"></i> Delete\n </button>\n }\n </div>\n <div class=\"footer-right\">\n <button class=\"cancel-btn\" (click)=\"OnClose()\">Cancel</button>\n <button class=\"save-btn\" (click)=\"Save()\" [disabled]=\"!IsValid || IsSaving\">\n @if (IsSaving) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n @if (!IsSaving) {\n <i class=\"fa-solid fa-check\"></i>\n }\n {{Mode === 'create' ? 'Create Job' : 'Save Changes'}}\n </button>\n </div>\n </div>\n\n <!-- Delete Confirmation -->\n @if (ShowDeleteConfirm) {\n <div class=\"confirm-overlay\">\n <div class=\"confirm-dialog\">\n <div class=\"confirm-icon\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n </div>\n <h3>Delete Job</h3>\n <p>Are you sure you want to delete \"{{Name}}\"? This action cannot be undone.</p>\n <div class=\"confirm-actions\">\n <button class=\"delete-confirm-btn\" (click)=\"Delete()\" [disabled]=\"IsDeleting\">\n @if (IsDeleting) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n Delete\n </button>\n <button class=\"cancel-btn\" (click)=\"ShowDeleteConfirm = false\">Cancel</button>\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [".slideout-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n/* \u2500\u2500 Header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.slideout-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 20px 24px;\n border-bottom: 1px solid #e2e8f0;\n background: white;\n flex-shrink: 0;\n}\n\n.slideout-title {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 1.1rem;\n font-weight: 700;\n color: #0f172a;\n}\n\n.slideout-title i {\n color: #0076b6;\n}\n\n.close-btn {\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n cursor: pointer;\n color: #64748b;\n transition: all 0.2s;\n}\n\n.close-btn:hover {\n background: #f1f5f9;\n color: #0f172a;\n}\n\n/* \u2500\u2500 Body \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.slideout-body {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n}\n\n.error-banner {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 10px;\n color: #dc2626;\n font-size: 0.85rem;\n font-weight: 500;\n margin-bottom: 20px;\n}\n\n/* \u2500\u2500 Form \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.form-section {\n margin-bottom: 28px;\n}\n\n.section-title {\n font-size: 0.7rem;\n font-weight: 700;\n color: #94a3b8;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-bottom: 16px;\n padding-bottom: 8px;\n border-bottom: 1px solid #f1f5f9;\n}\n\n.form-group {\n margin-bottom: 16px;\n}\n\n.form-label {\n display: block;\n font-size: 0.8rem;\n font-weight: 600;\n color: #334155;\n margin-bottom: 6px;\n}\n\n.required {\n color: #ef4444;\n}\n\n.form-input {\n width: 100%;\n padding: 10px 14px;\n border: 1px solid #e2e8f0;\n border-radius: 10px;\n font-size: 0.85rem;\n color: #0f172a;\n background: white;\n outline: none;\n transition: border-color 0.2s;\n box-sizing: border-box;\n}\n\n.form-input:focus {\n border-color: #0076b6;\n box-shadow: 0 0 0 3px rgba(0, 118, 182, 0.1);\n}\n\n.form-textarea {\n width: 100%;\n padding: 10px 14px;\n border: 1px solid #e2e8f0;\n border-radius: 10px;\n font-size: 0.85rem;\n color: #0f172a;\n background: white;\n outline: none;\n transition: border-color 0.2s;\n resize: vertical;\n font-family: inherit;\n box-sizing: border-box;\n}\n\n.form-textarea:focus {\n border-color: #0076b6;\n box-shadow: 0 0 0 3px rgba(0, 118, 182, 0.1);\n}\n\n.form-textarea.mono,\n.form-input.mono {\n font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;\n font-size: 0.8rem;\n}\n\n.form-hint {\n font-size: 0.7rem;\n color: #94a3b8;\n margin-top: 4px;\n}\n\n.form-row {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n\n.form-row.checkboxes {\n display: flex;\n gap: 24px;\n}\n\n.checkbox-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 0.85rem;\n color: #334155;\n cursor: pointer;\n}\n\n.checkbox-label input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n accent-color: #0076b6;\n}\n\n/* \u2500\u2500 Stats Grid \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.stats-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 12px;\n}\n\n.stat-item {\n padding: 12px 16px;\n background: #f8fafc;\n border-radius: 10px;\n border: 1px solid #f1f5f9;\n}\n\n.stat-label {\n font-size: 0.7rem;\n font-weight: 700;\n color: #94a3b8;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n display: block;\n margin-bottom: 4px;\n}\n\n.stat-value {\n font-size: 1.1rem;\n font-weight: 800;\n color: #0f172a;\n}\n\n.stat-value.success { color: #10b981; }\n.stat-value.failure { color: #ef4444; }\n\n/* \u2500\u2500 Footer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.slideout-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n border-top: 1px solid #e2e8f0;\n background: #f1f5f9;\n flex-shrink: 0;\n box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);\n position: relative;\n z-index: 1;\n}\n\n.footer-left, .footer-right {\n display: flex;\n gap: 8px;\n}\n\n.save-btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 10px 24px;\n background: linear-gradient(135deg, #0076b6 0%, #005a8c 100%);\n color: white;\n border: none;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 600;\n transition: all 0.2s ease;\n}\n\n.save-btn:hover:not(:disabled) {\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(0, 118, 182, 0.4);\n}\n\n.save-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.cancel-btn {\n padding: 10px 20px;\n background: white;\n border: 1px solid #e5e7eb;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 500;\n color: #475569;\n transition: all 0.2s;\n}\n\n.cancel-btn:hover {\n background: #f3f4f6;\n}\n\n.delete-btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 10px 16px;\n background: transparent;\n color: #ef4444;\n border: 1px solid #fecaca;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 500;\n transition: all 0.2s;\n}\n\n.delete-btn:hover:not(:disabled) {\n background: #fef2f2;\n}\n\n.delete-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* \u2500\u2500 Delete Confirmation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.confirm-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0,0,0,0.4);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n}\n\n.confirm-dialog {\n background: white;\n border-radius: 16px;\n padding: 32px;\n max-width: 360px;\n text-align: center;\n box-shadow: 0 20px 40px rgba(0,0,0,0.2);\n}\n\n.confirm-icon {\n width: 56px;\n height: 56px;\n border-radius: 50%;\n background: #fef2f2;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 16px;\n}\n\n.confirm-icon i {\n font-size: 1.5rem;\n color: #ef4444;\n}\n\n.confirm-dialog h3 {\n font-size: 1.1rem;\n font-weight: 700;\n color: #0f172a;\n margin: 0 0 8px;\n}\n\n.confirm-dialog p {\n font-size: 0.85rem;\n color: #64748b;\n margin: 0 0 24px;\n line-height: 1.4;\n}\n\n.confirm-actions {\n display: flex;\n gap: 8px;\n justify-content: center;\n}\n\n.delete-confirm-btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 10px 24px;\n background: #ef4444;\n color: white;\n border: none;\n border-radius: 10px;\n cursor: pointer;\n font-size: 0.85rem;\n font-weight: 600;\n transition: all 0.2s;\n}\n\n.delete-confirm-btn:hover:not(:disabled) {\n background: #dc2626;\n}\n\n.delete-confirm-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* \u2500\u2500 Code Editor \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.code-editor-wrapper {\n border: 1px solid #e2e8f0;\n border-radius: 10px;\n overflow: hidden;\n transition: border-color 0.2s;\n}\n\n.code-editor-wrapper:focus-within {\n border-color: #0076b6;\n box-shadow: 0 0 0 3px rgba(0, 118, 182, 0.1);\n}\n\n.code-editor-wrapper mj-code-editor {\n display: block;\n height: 180px;\n}\n\n/* \u2500\u2500 Responsive \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@media (max-width: 768px) {\n .slideout-body {\n padding: 16px;\n }\n\n .form-row {\n grid-template-columns: 1fr;\n }\n\n .form-row.checkboxes {\n flex-direction: column;\n gap: 12px;\n }\n\n .code-editor-wrapper mj-code-editor {\n height: 140px;\n }\n}\n\n@media (max-width: 480px) {\n .slideout-header {\n padding: 16px;\n }\n\n .slideout-footer {\n padding: 12px 16px;\n flex-direction: column;\n gap: 10px;\n }\n\n .footer-left, .footer-right {\n width: 100%;\n }\n\n .footer-right {\n justify-content: stretch;\n }\n\n .save-btn, .cancel-btn, .delete-btn {\n flex: 1;\n justify-content: center;\n }\n\n .stats-grid {\n grid-template-columns: 1fr;\n }\n}\n"] }]
|
|
448
449
|
}], () => [{ type: i1.SchedulingInstrumentationService }, { type: i0.ChangeDetectorRef }], { Mode: [{
|
|
449
450
|
type: Input
|
|
450
451
|
}], Job: [{
|
|
@@ -454,5 +455,5 @@ export class JobSlideoutComponent {
|
|
|
454
455
|
}], Saved: [{
|
|
455
456
|
type: Output
|
|
456
457
|
}] }); })();
|
|
457
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(JobSlideoutComponent, { className: "JobSlideoutComponent", filePath: "src/
|
|
458
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(JobSlideoutComponent, { className: "JobSlideoutComponent", filePath: "src/scheduling/components/job-slideout.component.ts", lineNumber: 11 }); })();
|
|
458
459
|
//# sourceMappingURL=job-slideout.component.js.map
|