@memberjunction/ng-dashboards 3.3.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 +36 -5
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +287 -141
- 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 +26 -6
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +216 -103
- 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 +26 -6
- package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +164 -57
- 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 +5 -5
- package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-applications-panel.component.js +242 -239
- package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.d.ts +4 -5
- package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.js +237 -217
- package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.d.ts +1 -3
- package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.js +268 -249
- package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-list.component.d.ts +2 -3
- package/dist/APIKeys/api-key-list.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-list.component.js +136 -133
- package/dist/APIKeys/api-key-list.component.js.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.d.ts +6 -6
- package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.js +335 -358
- 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 +22 -0
- package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-breadcrumb.component.js +139 -0
- package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-card.component.d.ts +39 -0
- package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-card.component.js +411 -0
- package/dist/Actions/components/explorer/action-card.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +58 -0
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-explorer.component.js +523 -0
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-list-item.component.d.ts +24 -0
- package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-list-item.component.js +210 -0
- package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts +63 -0
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-toolbar.component.js +484 -0
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.d.ts +57 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.js +455 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -0
- package/dist/Actions/components/explorer/index.d.ts +9 -0
- package/dist/Actions/components/explorer/index.d.ts.map +1 -0
- package/dist/Actions/components/explorer/index.js +10 -0
- package/dist/Actions/components/explorer/index.js.map +1 -0
- package/dist/Actions/components/explorer/new-action-panel.component.d.ts +49 -0
- package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/new-action-panel.component.js +359 -0
- package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -0
- package/dist/Actions/components/explorer/new-category-panel.component.d.ts +37 -0
- package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/new-category-panel.component.js +282 -0
- package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -0
- 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 +2 -6
- package/dist/Actions/index.d.ts.map +1 -1
- package/dist/Actions/index.js +4 -7
- package/dist/Actions/index.js.map +1 -1
- package/dist/Actions/services/action-explorer-state.service.d.ts +104 -0
- package/dist/Actions/services/action-explorer-state.service.d.ts.map +1 -0
- package/dist/Actions/services/action-explorer-state.service.js +352 -0
- package/dist/Actions/services/action-explorer-state.service.js.map +1 -0
- package/dist/Communication/communication-dashboard.component.d.ts +2 -7
- package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
- package/dist/Communication/communication-dashboard.component.js +143 -107
- package/dist/Communication/communication-dashboard.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +10 -8
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +270 -134
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.d.ts +38 -7
- package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +469 -186
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.d.ts +16 -9
- package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +262 -139
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.d.ts +4 -6
- package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +168 -159
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +39 -0
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -0
- package/dist/Communication/communication-templates-resource.component.js +388 -0
- package/dist/Communication/communication-templates-resource.component.js.map +1 -0
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +69 -271
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js +705 -1808
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +68 -0
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +400 -0
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -0
- 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 +44 -0
- package/dist/ComponentStudio/components/browser/component-browser.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/browser/component-browser.component.js +638 -0
- package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts +35 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +380 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts +24 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +221 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts +28 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js +263 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts +34 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.js +307 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts +29 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +159 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts +20 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +192 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -0
- 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 +57 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.js +343 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts +15 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +144 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -0
- package/dist/ComponentStudio/services/component-studio-state.service.d.ts +203 -0
- package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -0
- package/dist/ComponentStudio/services/component-studio-state.service.js +651 -0
- package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -0
- package/dist/ComponentStudio/services/component-version.service.d.ts +120 -0
- package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -0
- package/dist/ComponentStudio/services/component-version.service.js +394 -0
- package/dist/ComponentStudio/services/component-version.service.js.map +1 -0
- package/dist/Credentials/components/credential-category-edit-panel.component.js +1 -1
- package/dist/Credentials/components/credential-edit-panel.component.js +1 -1
- package/dist/Credentials/components/credential-type-edit-panel.component.js +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts +0 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +200 -196
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.d.ts +1 -2
- 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 +1 -2
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +252 -241
- 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 +1 -2
- 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 +2 -2
- 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 +68 -0
- package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-connection-dialog.component.js +523 -0
- package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +73 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.js +533 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -0
- package/dist/MCP/components/mcp-server-dialog.component.d.ts +76 -0
- package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-server-dialog.component.js +546 -0
- package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +267 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.js +1300 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -0
- package/dist/MCP/index.d.ts +11 -0
- package/dist/MCP/index.d.ts.map +1 -0
- package/dist/MCP/index.js +15 -0
- package/dist/MCP/index.js.map +1 -0
- package/dist/MCP/mcp-dashboard.component.d.ts +467 -0
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -0
- package/dist/MCP/mcp-dashboard.component.js +2765 -0
- package/dist/MCP/mcp-dashboard.component.js.map +1 -0
- 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 +26 -0
- package/dist/MCP/mcp-resource.component.d.ts.map +1 -0
- package/dist/MCP/mcp-resource.component.js +54 -0
- package/dist/MCP/mcp-resource.component.js.map +1 -0
- package/dist/MCP/mcp.module.d.ts +24 -0
- package/dist/MCP/mcp.module.d.ts.map +1 -0
- package/dist/MCP/mcp.module.js +113 -0
- package/dist/MCP/mcp.module.js.map +1 -0
- package/dist/MCP/services/mcp-tools.service.d.ts +115 -0
- package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -0
- package/dist/MCP/services/mcp-tools.service.js +221 -0
- package/dist/MCP/services/mcp-tools.service.js.map +1 -0
- 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/index.d.ts +5 -8
- package/dist/Scheduling/components/index.d.ts.map +1 -1
- package/dist/Scheduling/components/index.js +6 -9
- package/dist/Scheduling/components/index.js.map +1 -1
- package/dist/Scheduling/components/job-slideout.component.d.ts +45 -0
- package/dist/Scheduling/components/job-slideout.component.d.ts.map +1 -0
- package/dist/Scheduling/components/job-slideout.component.js +459 -0
- package/dist/Scheduling/components/job-slideout.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +15 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.js +45 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-activity.component.d.ts +71 -0
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-activity.component.js +714 -0
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.js +1 -1
- package/dist/Scheduling/components/scheduling-health.component.js +1 -1
- package/dist/Scheduling/components/scheduling-history-resource.component.js +1 -1
- package/dist/Scheduling/components/scheduling-history.component.js +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +3 -8
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +5 -15
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts +52 -34
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +452 -262
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-monitor-resource.component.js +1 -1
- package/dist/Scheduling/components/scheduling-monitoring.component.js +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +15 -0
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-overview-resource.component.js +45 -0
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-overview.component.d.ts +43 -0
- package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-overview.component.js +600 -0
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-types-resource.component.js +1 -1
- package/dist/Scheduling/components/scheduling-types.component.js +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +22 -33
- package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +173 -175
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +49 -6
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.js +218 -149
- package/dist/Scheduling/services/scheduling-instrumentation.service.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/index.d.ts +7 -8
- package/dist/Testing/components/index.d.ts.map +1 -1
- package/dist/Testing/components/index.js +8 -9
- package/dist/Testing/components/index.js.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts +0 -4
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js +3 -9
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics.component.d.ts +52 -37
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js +1024 -570
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +16 -0
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +47 -0
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts +57 -0
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-dashboard-tab.component.js +649 -0
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -0
- package/dist/Testing/components/testing-execution-resource.component.js +1 -1
- package/dist/Testing/components/testing-execution.component.js +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts +16 -0
- package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-explorer-resource.component.js +47 -0
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-explorer.component.d.ts +193 -0
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-explorer.component.js +2219 -0
- package/dist/Testing/components/testing-explorer.component.js.map +1 -0
- package/dist/Testing/components/testing-feedback-resource.component.js +1 -1
- package/dist/Testing/components/testing-feedback.component.js +1 -1
- package/dist/Testing/components/testing-overview-resource.component.js +1 -1
- package/dist/Testing/components/testing-overview.component.js +1 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts +16 -0
- package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-review-resource.component.js +47 -0
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-review.component.d.ts +60 -0
- package/dist/Testing/components/testing-review.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-review.component.js +985 -0
- package/dist/Testing/components/testing-review.component.js.map +1 -0
- package/dist/Testing/components/testing-runs-resource.component.d.ts +16 -0
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-runs-resource.component.js +47 -0
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-runs.component.d.ts +82 -0
- package/dist/Testing/components/testing-runs.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-runs.component.js +1067 -0
- package/dist/Testing/components/testing-runs.component.js.map +1 -0
- package/dist/Testing/components/testing-version-comparison.component.js +1 -1
- package/dist/Testing/components/testing-version-resource.component.js +1 -1
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.d.ts.map +1 -1
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +73 -61
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
- package/dist/Testing/components/widgets/suite-tree.component.d.ts.map +1 -1
- package/dist/Testing/components/widgets/suite-tree.component.js +34 -31
- package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
- package/dist/Testing/components/widgets/test-run-detail-panel.component.d.ts.map +1 -1
- package/dist/Testing/components/widgets/test-run-detail-panel.component.js +180 -171
- package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.d.ts +12 -16
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +51 -72
- 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 +127 -104
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +221 -95
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +22 -19
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +28 -119
- package/dist/public-api.js.map +1 -1
- package/dist/shared/pipes/highlight-search.pipe.d.ts +17 -0
- package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -0
- package/dist/shared/pipes/highlight-search.pipe.js +41 -0
- package/dist/shared/pipes/highlight-search.pipe.js.map +1 -0
- package/dist/shared/pipes/index.d.ts +2 -0
- package/dist/shared/pipes/index.d.ts.map +1 -0
- package/dist/shared/pipes/index.js +2 -0
- package/dist/shared/pipes/index.js.map +1 -0
- package/dist/shared/shared-pipes.module.d.ts +11 -0
- package/dist/shared/shared-pipes.module.d.ts.map +1 -0
- package/dist/shared/shared-pipes.module.js +24 -0
- package/dist/shared/shared-pipes.module.js.map +1 -0
- package/package.json +65 -56
|
@@ -13,20 +13,19 @@ import { Subject } from 'rxjs';
|
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "../services/list-set-operations.service";
|
|
15
15
|
import * as i2 from "@memberjunction/ng-notifications";
|
|
16
|
-
import * as i3 from "@angular/
|
|
17
|
-
import * as i4 from "@
|
|
18
|
-
import * as i5 from "
|
|
19
|
-
|
|
20
|
-
function ListsOperationsResource_button_7_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
import * as i3 from "@angular/forms";
|
|
17
|
+
import * as i4 from "@memberjunction/ng-shared-generic";
|
|
18
|
+
import * as i5 from "./venn-diagram/venn-diagram.component";
|
|
19
|
+
function ListsOperationsResource_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
21
20
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
22
21
|
i0.ɵɵelementStart(0, "button", 35);
|
|
23
|
-
i0.ɵɵlistener("click", function
|
|
22
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.clearAllSelections()); });
|
|
24
23
|
i0.ɵɵelement(1, "i", 36);
|
|
25
24
|
i0.ɵɵtext(2, " Clear ");
|
|
26
25
|
i0.ɵɵelementEnd();
|
|
27
26
|
} }
|
|
28
|
-
function
|
|
29
|
-
i0.ɵɵelementStart(0, "span",
|
|
27
|
+
function ListsOperationsResource_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
i0.ɵɵelementStart(0, "span", 10);
|
|
30
29
|
i0.ɵɵtext(1);
|
|
31
30
|
i0.ɵɵelementEnd();
|
|
32
31
|
} if (rf & 2) {
|
|
@@ -34,8 +33,8 @@ function ListsOperationsResource_span_15_Template(rf, ctx) { if (rf & 1) {
|
|
|
34
33
|
i0.ɵɵadvance();
|
|
35
34
|
i0.ɵɵtextInterpolate2(" ", ctx_r1.selectedLists.length, "/", ctx_r1.maxLists, " ");
|
|
36
35
|
} }
|
|
37
|
-
function
|
|
38
|
-
i0.ɵɵelementStart(0, "option",
|
|
36
|
+
function ListsOperationsResource_For_24_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
+
i0.ɵɵelementStart(0, "option", 16);
|
|
39
38
|
i0.ɵɵtext(1);
|
|
40
39
|
i0.ɵɵelementEnd();
|
|
41
40
|
} if (rf & 2) {
|
|
@@ -44,19 +43,19 @@ function ListsOperationsResource_option_23_Template(rf, ctx) { if (rf & 1) {
|
|
|
44
43
|
i0.ɵɵadvance();
|
|
45
44
|
i0.ɵɵtextInterpolate2(" ", entity_r3.name, " (", entity_r3.listCount, ") ");
|
|
46
45
|
} }
|
|
47
|
-
function
|
|
46
|
+
function ListsOperationsResource_For_27_Template(rf, ctx) { if (rf & 1) {
|
|
48
47
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
49
|
-
i0.ɵɵelementStart(0, "div",
|
|
50
|
-
i0.ɵɵelement(1, "div",
|
|
51
|
-
i0.ɵɵelementStart(2, "div",
|
|
48
|
+
i0.ɵɵelementStart(0, "div", 18);
|
|
49
|
+
i0.ɵɵelement(1, "div", 37);
|
|
50
|
+
i0.ɵɵelementStart(2, "div", 38)(3, "span", 39);
|
|
52
51
|
i0.ɵɵtext(4);
|
|
53
52
|
i0.ɵɵelementEnd();
|
|
54
|
-
i0.ɵɵelementStart(5, "span",
|
|
53
|
+
i0.ɵɵelementStart(5, "span", 40);
|
|
55
54
|
i0.ɵɵtext(6);
|
|
56
55
|
i0.ɵɵelementEnd()();
|
|
57
|
-
i0.ɵɵelementStart(7, "button",
|
|
58
|
-
i0.ɵɵlistener("click", function
|
|
59
|
-
i0.ɵɵelement(8, "i",
|
|
56
|
+
i0.ɵɵelementStart(7, "button", 41);
|
|
57
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_For_27_Template_button_click_7_listener() { const ɵ$index_54_r5 = i0.ɵɵrestoreView(_r4).$index; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.removeList(ɵ$index_54_r5)); });
|
|
58
|
+
i0.ɵɵelement(8, "i", 42);
|
|
60
59
|
i0.ɵɵelementEnd()();
|
|
61
60
|
} if (rf & 2) {
|
|
62
61
|
const item_r6 = ctx.$implicit;
|
|
@@ -67,14 +66,14 @@ function ListsOperationsResource_div_25_Template(rf, ctx) { if (rf & 1) {
|
|
|
67
66
|
i0.ɵɵadvance(2);
|
|
68
67
|
i0.ɵɵtextInterpolate(item_r6.entityName);
|
|
69
68
|
} }
|
|
70
|
-
function
|
|
69
|
+
function ListsOperationsResource_Conditional_28_Conditional_4_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
71
70
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
72
|
-
i0.ɵɵelementStart(0, "div",
|
|
73
|
-
i0.ɵɵlistener("click", function
|
|
74
|
-
i0.ɵɵelementStart(1, "span",
|
|
71
|
+
i0.ɵɵelementStart(0, "div", 50);
|
|
72
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_28_Conditional_4_For_4_Template_div_click_0_listener() { const list_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.addList(list_r10)); });
|
|
73
|
+
i0.ɵɵelementStart(1, "span", 51);
|
|
75
74
|
i0.ɵɵtext(2);
|
|
76
75
|
i0.ɵɵelementEnd();
|
|
77
|
-
i0.ɵɵelementStart(3, "span",
|
|
76
|
+
i0.ɵɵelementStart(3, "span", 52);
|
|
78
77
|
i0.ɵɵtext(4);
|
|
79
78
|
i0.ɵɵelementEnd()();
|
|
80
79
|
} if (rf & 2) {
|
|
@@ -84,39 +83,39 @@ function ListsOperationsResource_div_26_div_4_div_3_Template(rf, ctx) { if (rf &
|
|
|
84
83
|
i0.ɵɵadvance(2);
|
|
85
84
|
i0.ɵɵtextInterpolate(list_r10.Entity);
|
|
86
85
|
} }
|
|
87
|
-
function
|
|
86
|
+
function ListsOperationsResource_Conditional_28_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
88
87
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
89
|
-
i0.ɵɵelementStart(0, "div",
|
|
90
|
-
i0.ɵɵlistener("click", function
|
|
88
|
+
i0.ɵɵelementStart(0, "div", 46)(1, "div", 47);
|
|
89
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_28_Conditional_4_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.showListDropdown = false); });
|
|
91
90
|
i0.ɵɵelementEnd();
|
|
92
|
-
i0.ɵɵelementStart(2, "div",
|
|
93
|
-
i0.ɵɵ
|
|
91
|
+
i0.ɵɵelementStart(2, "div", 48);
|
|
92
|
+
i0.ɵɵrepeaterCreate(3, ListsOperationsResource_Conditional_28_Conditional_4_For_4_Template, 5, 2, "div", 49, i0.ɵɵrepeaterTrackByIdentity);
|
|
94
93
|
i0.ɵɵelementEnd()();
|
|
95
94
|
} if (rf & 2) {
|
|
96
95
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
97
96
|
i0.ɵɵadvance(3);
|
|
98
|
-
i0.ɵɵ
|
|
97
|
+
i0.ɵɵrepeater(ctx_r1.filteredAvailableLists);
|
|
99
98
|
} }
|
|
100
|
-
function
|
|
99
|
+
function ListsOperationsResource_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
101
100
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
102
|
-
i0.ɵɵelementStart(0, "div",
|
|
103
|
-
i0.ɵɵelement(2, "i",
|
|
104
|
-
i0.ɵɵelementStart(3, "input",
|
|
105
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
106
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
101
|
+
i0.ɵɵelementStart(0, "div", 19)(1, "div", 43);
|
|
102
|
+
i0.ɵɵelement(2, "i", 44);
|
|
103
|
+
i0.ɵɵelementStart(3, "input", 45);
|
|
104
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsOperationsResource_Conditional_28_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.listSearchTerm, $event) || (ctx_r1.listSearchTerm = $event); return i0.ɵɵresetView($event); });
|
|
105
|
+
i0.ɵɵlistener("ngModelChange", function ListsOperationsResource_Conditional_28_Template_input_ngModelChange_3_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.filterAvailableLists()); })("focus", function ListsOperationsResource_Conditional_28_Template_input_focus_3_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.showListDropdown = true); });
|
|
107
106
|
i0.ɵɵelementEnd()();
|
|
108
|
-
i0.ɵɵ
|
|
107
|
+
i0.ɵɵconditionalCreate(4, ListsOperationsResource_Conditional_28_Conditional_4_Template, 5, 0, "div", 46);
|
|
109
108
|
i0.ɵɵelementEnd();
|
|
110
109
|
} if (rf & 2) {
|
|
111
110
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
112
111
|
i0.ɵɵadvance(3);
|
|
113
112
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.listSearchTerm);
|
|
114
113
|
i0.ɵɵadvance();
|
|
115
|
-
i0.ɵɵ
|
|
114
|
+
i0.ɵɵconditional(ctx_r1.showListDropdown && ctx_r1.filteredAvailableLists.length > 0 ? 4 : -1);
|
|
116
115
|
} }
|
|
117
|
-
function
|
|
118
|
-
i0.ɵɵelementStart(0, "div",
|
|
119
|
-
i0.ɵɵelement(1, "i",
|
|
116
|
+
function ListsOperationsResource_Conditional_29_Template(rf, ctx) { if (rf & 1) {
|
|
117
|
+
i0.ɵɵelementStart(0, "div", 20);
|
|
118
|
+
i0.ɵɵelement(1, "i", 53);
|
|
120
119
|
i0.ɵɵtext(2);
|
|
121
120
|
i0.ɵɵelementEnd();
|
|
122
121
|
} if (rf & 2) {
|
|
@@ -124,9 +123,9 @@ function ListsOperationsResource_div_27_Template(rf, ctx) { if (rf & 1) {
|
|
|
124
123
|
i0.ɵɵadvance(2);
|
|
125
124
|
i0.ɵɵtextInterpolate1(" Maximum ", ctx_r1.maxLists, " lists can be compared ");
|
|
126
125
|
} }
|
|
127
|
-
function
|
|
128
|
-
i0.ɵɵelementStart(0, "div",
|
|
129
|
-
i0.ɵɵelement(1, "i",
|
|
126
|
+
function ListsOperationsResource_Conditional_30_Template(rf, ctx) { if (rf & 1) {
|
|
127
|
+
i0.ɵɵelementStart(0, "div", 21);
|
|
128
|
+
i0.ɵɵelement(1, "i", 53);
|
|
130
129
|
i0.ɵɵelementStart(2, "span");
|
|
131
130
|
i0.ɵɵtext(3, "Comparing lists of type: ");
|
|
132
131
|
i0.ɵɵelementStart(4, "strong");
|
|
@@ -137,26 +136,26 @@ function ListsOperationsResource_div_28_Template(rf, ctx) { if (rf & 1) {
|
|
|
137
136
|
i0.ɵɵadvance(5);
|
|
138
137
|
i0.ɵɵtextInterpolate(ctx_r1.selectedLists[0].entityName);
|
|
139
138
|
} }
|
|
140
|
-
function
|
|
139
|
+
function ListsOperationsResource_Conditional_31_Template(rf, ctx) { if (rf & 1) {
|
|
141
140
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
142
|
-
i0.ɵɵelementStart(0, "div",
|
|
141
|
+
i0.ɵɵelementStart(0, "div", 22)(1, "h4");
|
|
143
142
|
i0.ɵɵtext(2, "Quick Operations");
|
|
144
143
|
i0.ɵɵelementEnd();
|
|
145
|
-
i0.ɵɵelementStart(3, "div",
|
|
146
|
-
i0.ɵɵlistener("click", function
|
|
147
|
-
i0.ɵɵelement(5, "i",
|
|
144
|
+
i0.ɵɵelementStart(3, "div", 54)(4, "button", 55);
|
|
145
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_31_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.performOperation("union")); });
|
|
146
|
+
i0.ɵɵelement(5, "i", 56);
|
|
148
147
|
i0.ɵɵelementStart(6, "span");
|
|
149
148
|
i0.ɵɵtext(7, "Union All");
|
|
150
149
|
i0.ɵɵelementEnd()();
|
|
151
|
-
i0.ɵɵelementStart(8, "button",
|
|
152
|
-
i0.ɵɵlistener("click", function
|
|
153
|
-
i0.ɵɵelement(9, "i",
|
|
150
|
+
i0.ɵɵelementStart(8, "button", 55);
|
|
151
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_31_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.performOperation("intersection")); });
|
|
152
|
+
i0.ɵɵelement(9, "i", 57);
|
|
154
153
|
i0.ɵɵelementStart(10, "span");
|
|
155
154
|
i0.ɵɵtext(11, "Intersection");
|
|
156
155
|
i0.ɵɵelementEnd()();
|
|
157
|
-
i0.ɵɵelementStart(12, "button",
|
|
158
|
-
i0.ɵɵlistener("click", function
|
|
159
|
-
i0.ɵɵelement(13, "i",
|
|
156
|
+
i0.ɵɵelementStart(12, "button", 55);
|
|
157
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_31_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.performOperation("symmetric_difference")); });
|
|
158
|
+
i0.ɵɵelement(13, "i", 58);
|
|
160
159
|
i0.ɵɵelementStart(14, "span");
|
|
161
160
|
i0.ɵɵtext(15, "Unique Each");
|
|
162
161
|
i0.ɵɵelementEnd()()()();
|
|
@@ -169,18 +168,18 @@ function ListsOperationsResource_div_29_Template(rf, ctx) { if (rf & 1) {
|
|
|
169
168
|
i0.ɵɵadvance(4);
|
|
170
169
|
i0.ɵɵproperty("disabled", ctx_r1.isCalculating);
|
|
171
170
|
} }
|
|
172
|
-
function
|
|
171
|
+
function ListsOperationsResource_Conditional_33_Template(rf, ctx) { if (rf & 1) {
|
|
173
172
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
174
|
-
i0.ɵɵelementStart(0, "mj-venn-diagram",
|
|
175
|
-
i0.ɵɵlistener("regionClick", function
|
|
173
|
+
i0.ɵɵelementStart(0, "mj-venn-diagram", 59);
|
|
174
|
+
i0.ɵɵlistener("regionClick", function ListsOperationsResource_Conditional_33_Template_mj_venn_diagram_regionClick_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onRegionClick($event)); });
|
|
176
175
|
i0.ɵɵelementEnd();
|
|
177
176
|
} if (rf & 2) {
|
|
178
177
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
179
178
|
i0.ɵɵproperty("data", ctx_r1.vennData)("selectedRegion", ctx_r1.selectedRegion);
|
|
180
179
|
} }
|
|
181
|
-
function
|
|
182
|
-
i0.ɵɵelementStart(0, "div",
|
|
183
|
-
i0.ɵɵelement(2, "i",
|
|
180
|
+
function ListsOperationsResource_Conditional_34_Template(rf, ctx) { if (rf & 1) {
|
|
181
|
+
i0.ɵɵelementStart(0, "div", 25)(1, "div", 60);
|
|
182
|
+
i0.ɵɵelement(2, "i", 61);
|
|
184
183
|
i0.ɵɵelementEnd();
|
|
185
184
|
i0.ɵɵelementStart(3, "h3");
|
|
186
185
|
i0.ɵɵtext(4, "Add Lists to Compare");
|
|
@@ -189,13 +188,13 @@ function ListsOperationsResource_div_32_Template(rf, ctx) { if (rf & 1) {
|
|
|
189
188
|
i0.ɵɵtext(6, "Select 2-4 lists from the same entity to visualize their overlaps and perform set operations.");
|
|
190
189
|
i0.ɵɵelementEnd()();
|
|
191
190
|
} }
|
|
192
|
-
function
|
|
193
|
-
i0.ɵɵelementStart(0, "div",
|
|
194
|
-
i0.ɵɵelement(1, "mj-loading",
|
|
191
|
+
function ListsOperationsResource_Conditional_35_Template(rf, ctx) { if (rf & 1) {
|
|
192
|
+
i0.ɵɵelementStart(0, "div", 26);
|
|
193
|
+
i0.ɵɵelement(1, "mj-loading", 62);
|
|
195
194
|
i0.ɵɵelementEnd();
|
|
196
195
|
} }
|
|
197
|
-
function
|
|
198
|
-
i0.ɵɵelementStart(0, "span",
|
|
196
|
+
function ListsOperationsResource_Conditional_41_Conditional_16_For_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
197
|
+
i0.ɵɵelementStart(0, "span", 78);
|
|
199
198
|
i0.ɵɵtext(1);
|
|
200
199
|
i0.ɵɵelementEnd();
|
|
201
200
|
} if (rf & 2) {
|
|
@@ -203,69 +202,69 @@ function ListsOperationsResource_div_39_div_16_div_4_span_4_Template(rf, ctx) {
|
|
|
203
202
|
i0.ɵɵadvance();
|
|
204
203
|
i0.ɵɵtextInterpolate(record_r15.secondaryInfo);
|
|
205
204
|
} }
|
|
206
|
-
function
|
|
205
|
+
function ListsOperationsResource_Conditional_41_Conditional_16_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
207
206
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
208
|
-
i0.ɵɵelementStart(0, "div",
|
|
207
|
+
i0.ɵɵelementStart(0, "div", 74)(1, "div", 76)(2, "span", 77);
|
|
209
208
|
i0.ɵɵtext(3);
|
|
210
209
|
i0.ɵɵelementEnd();
|
|
211
|
-
i0.ɵɵ
|
|
210
|
+
i0.ɵɵconditionalCreate(4, ListsOperationsResource_Conditional_41_Conditional_16_For_5_Conditional_4_Template, 2, 1, "span", 78);
|
|
212
211
|
i0.ɵɵelementEnd();
|
|
213
|
-
i0.ɵɵelementStart(5, "button",
|
|
214
|
-
i0.ɵɵlistener("click", function
|
|
215
|
-
i0.ɵɵelement(6, "i",
|
|
212
|
+
i0.ɵɵelementStart(5, "button", 79);
|
|
213
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_41_Conditional_16_For_5_Template_button_click_5_listener() { const record_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.openRecord(record_r15)); });
|
|
214
|
+
i0.ɵɵelement(6, "i", 80);
|
|
216
215
|
i0.ɵɵelementEnd()();
|
|
217
216
|
} if (rf & 2) {
|
|
218
217
|
const record_r15 = ctx.$implicit;
|
|
219
218
|
i0.ɵɵadvance(3);
|
|
220
219
|
i0.ɵɵtextInterpolate(record_r15.displayName);
|
|
221
220
|
i0.ɵɵadvance();
|
|
222
|
-
i0.ɵɵ
|
|
221
|
+
i0.ɵɵconditional(record_r15.secondaryInfo ? 4 : -1);
|
|
223
222
|
} }
|
|
224
|
-
function
|
|
225
|
-
i0.ɵɵelementStart(0, "div",
|
|
226
|
-
i0.ɵɵelement(1, "mj-loading",
|
|
223
|
+
function ListsOperationsResource_Conditional_41_Conditional_16_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
224
|
+
i0.ɵɵelementStart(0, "div", 75);
|
|
225
|
+
i0.ɵɵelement(1, "mj-loading", 81);
|
|
227
226
|
i0.ɵɵelementEnd();
|
|
228
227
|
} }
|
|
229
|
-
function
|
|
230
|
-
i0.ɵɵelementStart(0, "div",
|
|
228
|
+
function ListsOperationsResource_Conditional_41_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
229
|
+
i0.ɵɵelementStart(0, "div", 72)(1, "h5");
|
|
231
230
|
i0.ɵɵtext(2, "Preview (first 10)");
|
|
232
231
|
i0.ɵɵelementEnd();
|
|
233
|
-
i0.ɵɵelementStart(3, "div",
|
|
234
|
-
i0.ɵɵ
|
|
232
|
+
i0.ɵɵelementStart(3, "div", 73);
|
|
233
|
+
i0.ɵɵrepeaterCreate(4, ListsOperationsResource_Conditional_41_Conditional_16_For_5_Template, 7, 2, "div", 74, i0.ɵɵrepeaterTrackByIdentity);
|
|
235
234
|
i0.ɵɵelementEnd();
|
|
236
|
-
i0.ɵɵ
|
|
235
|
+
i0.ɵɵconditionalCreate(6, ListsOperationsResource_Conditional_41_Conditional_16_Conditional_6_Template, 2, 0, "div", 75);
|
|
237
236
|
i0.ɵɵelementEnd();
|
|
238
237
|
} if (rf & 2) {
|
|
239
238
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
240
239
|
i0.ɵɵadvance(4);
|
|
241
|
-
i0.ɵɵ
|
|
242
|
-
i0.ɵɵadvance();
|
|
243
|
-
i0.ɵɵ
|
|
240
|
+
i0.ɵɵrepeater(ctx_r1.previewRecordsDisplay);
|
|
241
|
+
i0.ɵɵadvance(2);
|
|
242
|
+
i0.ɵɵconditional(ctx_r1.loadingPreview ? 6 : -1);
|
|
244
243
|
} }
|
|
245
|
-
function
|
|
244
|
+
function ListsOperationsResource_Conditional_41_Template(rf, ctx) { if (rf & 1) {
|
|
246
245
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
247
|
-
i0.ɵɵelementStart(0, "div",
|
|
246
|
+
i0.ɵɵelementStart(0, "div", 29)(1, "div", 63)(2, "span", 64);
|
|
248
247
|
i0.ɵɵtext(3);
|
|
249
248
|
i0.ɵɵelementEnd();
|
|
250
|
-
i0.ɵɵelementStart(4, "span",
|
|
249
|
+
i0.ɵɵelementStart(4, "span", 65);
|
|
251
250
|
i0.ɵɵtext(5);
|
|
252
251
|
i0.ɵɵelementEnd()();
|
|
253
|
-
i0.ɵɵelementStart(6, "div",
|
|
254
|
-
i0.ɵɵlistener("click", function
|
|
255
|
-
i0.ɵɵelement(8, "i",
|
|
252
|
+
i0.ɵɵelementStart(6, "div", 66)(7, "button", 67);
|
|
253
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_41_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.createListFromSelection()); });
|
|
254
|
+
i0.ɵɵelement(8, "i", 68);
|
|
256
255
|
i0.ɵɵtext(9, " Create New List ");
|
|
257
256
|
i0.ɵɵelementEnd();
|
|
258
|
-
i0.ɵɵelementStart(10, "button",
|
|
259
|
-
i0.ɵɵlistener("click", function
|
|
260
|
-
i0.ɵɵelement(11, "i",
|
|
257
|
+
i0.ɵɵelementStart(10, "button", 69);
|
|
258
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_41_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.addToExistingList()); });
|
|
259
|
+
i0.ɵɵelement(11, "i", 70);
|
|
261
260
|
i0.ɵɵtext(12, " Add to List ");
|
|
262
261
|
i0.ɵɵelementEnd();
|
|
263
|
-
i0.ɵɵelementStart(13, "button",
|
|
264
|
-
i0.ɵɵlistener("click", function
|
|
265
|
-
i0.ɵɵelement(14, "i",
|
|
262
|
+
i0.ɵɵelementStart(13, "button", 69);
|
|
263
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_41_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.exportToExcel()); });
|
|
264
|
+
i0.ɵɵelement(14, "i", 71);
|
|
266
265
|
i0.ɵɵtext(15, " Export ");
|
|
267
266
|
i0.ɵɵelementEnd()();
|
|
268
|
-
i0.ɵɵ
|
|
267
|
+
i0.ɵɵconditionalCreate(16, ListsOperationsResource_Conditional_41_Conditional_16_Template, 7, 1, "div", 72);
|
|
269
268
|
i0.ɵɵelementEnd();
|
|
270
269
|
} if (rf & 2) {
|
|
271
270
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -274,24 +273,24 @@ function ListsOperationsResource_div_39_Template(rf, ctx) { if (rf & 1) {
|
|
|
274
273
|
i0.ɵɵadvance(2);
|
|
275
274
|
i0.ɵɵtextInterpolate1("", ctx_r1.selectedRegion.size, " records");
|
|
276
275
|
i0.ɵɵadvance(11);
|
|
277
|
-
i0.ɵɵ
|
|
276
|
+
i0.ɵɵconditional(ctx_r1.previewRecordsDisplay.length > 0 ? 16 : -1);
|
|
278
277
|
} }
|
|
279
|
-
function
|
|
278
|
+
function ListsOperationsResource_Conditional_42_Template(rf, ctx) { if (rf & 1) {
|
|
280
279
|
const _r16 = i0.ɵɵgetCurrentView();
|
|
281
|
-
i0.ɵɵelementStart(0, "div",
|
|
280
|
+
i0.ɵɵelementStart(0, "div", 30)(1, "div", 82)(2, "span", 83);
|
|
282
281
|
i0.ɵɵtext(3);
|
|
283
282
|
i0.ɵɵelementEnd();
|
|
284
|
-
i0.ɵɵelementStart(4, "span",
|
|
283
|
+
i0.ɵɵelementStart(4, "span", 84);
|
|
285
284
|
i0.ɵɵtext(5);
|
|
286
285
|
i0.ɵɵelementEnd()();
|
|
287
|
-
i0.ɵɵelementStart(6, "div",
|
|
288
|
-
i0.ɵɵlistener("click", function
|
|
289
|
-
i0.ɵɵelement(8, "i",
|
|
286
|
+
i0.ɵɵelementStart(6, "div", 66)(7, "button", 67);
|
|
287
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_42_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.createListFromResult()); });
|
|
288
|
+
i0.ɵɵelement(8, "i", 68);
|
|
290
289
|
i0.ɵɵtext(9, " Create New List ");
|
|
291
290
|
i0.ɵɵelementEnd();
|
|
292
|
-
i0.ɵɵelementStart(10, "button",
|
|
293
|
-
i0.ɵɵlistener("click", function
|
|
294
|
-
i0.ɵɵelement(11, "i",
|
|
291
|
+
i0.ɵɵelementStart(10, "button", 69);
|
|
292
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_42_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.addResultToExistingList()); });
|
|
293
|
+
i0.ɵɵelement(11, "i", 70);
|
|
295
294
|
i0.ɵɵtext(12, " Add to List ");
|
|
296
295
|
i0.ɵɵelementEnd()()();
|
|
297
296
|
} if (rf & 2) {
|
|
@@ -301,54 +300,54 @@ function ListsOperationsResource_div_40_Template(rf, ctx) { if (rf & 1) {
|
|
|
301
300
|
i0.ɵɵadvance(2);
|
|
302
301
|
i0.ɵɵtextInterpolate1("", ctx_r1.lastOperationResult.resultCount, " records");
|
|
303
302
|
} }
|
|
304
|
-
function
|
|
305
|
-
i0.ɵɵelementStart(0, "div",
|
|
306
|
-
i0.ɵɵelement(1, "i",
|
|
303
|
+
function ListsOperationsResource_Conditional_43_Template(rf, ctx) { if (rf & 1) {
|
|
304
|
+
i0.ɵɵelementStart(0, "div", 31);
|
|
305
|
+
i0.ɵɵelement(1, "i", 85);
|
|
307
306
|
i0.ɵɵelementStart(2, "p");
|
|
308
307
|
i0.ɵɵtext(3, "Click a region in the diagram or run an operation to see results");
|
|
309
308
|
i0.ɵɵelementEnd()();
|
|
310
309
|
} }
|
|
311
|
-
function
|
|
310
|
+
function ListsOperationsResource_Conditional_44_Template(rf, ctx) { if (rf & 1) {
|
|
312
311
|
const _r17 = i0.ɵɵgetCurrentView();
|
|
313
|
-
i0.ɵɵelementStart(0, "div",
|
|
314
|
-
i0.ɵɵlistener("click", function
|
|
312
|
+
i0.ɵɵelementStart(0, "div", 86);
|
|
313
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_44_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancelCreateDialog()); });
|
|
315
314
|
i0.ɵɵelementEnd();
|
|
316
315
|
} }
|
|
317
|
-
function
|
|
318
|
-
i0.ɵɵelement(0, "i",
|
|
316
|
+
function ListsOperationsResource_Conditional_45_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
317
|
+
i0.ɵɵelement(0, "i", 96);
|
|
319
318
|
} }
|
|
320
|
-
function
|
|
319
|
+
function ListsOperationsResource_Conditional_45_Template(rf, ctx) { if (rf & 1) {
|
|
321
320
|
const _r18 = i0.ɵɵgetCurrentView();
|
|
322
|
-
i0.ɵɵelementStart(0, "div",
|
|
321
|
+
i0.ɵɵelementStart(0, "div", 33)(1, "div", 87)(2, "h3");
|
|
323
322
|
i0.ɵɵtext(3, "Create New List from Selection");
|
|
324
323
|
i0.ɵɵelementEnd();
|
|
325
|
-
i0.ɵɵelementStart(4, "button",
|
|
326
|
-
i0.ɵɵlistener("click", function
|
|
327
|
-
i0.ɵɵelement(5, "i",
|
|
324
|
+
i0.ɵɵelementStart(4, "button", 88);
|
|
325
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_45_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancelCreateDialog()); });
|
|
326
|
+
i0.ɵɵelement(5, "i", 42);
|
|
328
327
|
i0.ɵɵelementEnd()();
|
|
329
|
-
i0.ɵɵelementStart(6, "div",
|
|
328
|
+
i0.ɵɵelementStart(6, "div", 89)(7, "div", 90)(8, "label");
|
|
330
329
|
i0.ɵɵtext(9, "List Name *");
|
|
331
330
|
i0.ɵɵelementEnd();
|
|
332
|
-
i0.ɵɵelementStart(10, "input",
|
|
333
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
331
|
+
i0.ɵɵelementStart(10, "input", 91);
|
|
332
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsOperationsResource_Conditional_45_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.newListName, $event) || (ctx_r1.newListName = $event); return i0.ɵɵresetView($event); });
|
|
334
333
|
i0.ɵɵelementEnd()();
|
|
335
|
-
i0.ɵɵelementStart(11, "div",
|
|
334
|
+
i0.ɵɵelementStart(11, "div", 90)(12, "label");
|
|
336
335
|
i0.ɵɵtext(13, "Description");
|
|
337
336
|
i0.ɵɵelementEnd();
|
|
338
|
-
i0.ɵɵelementStart(14, "textarea",
|
|
339
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
337
|
+
i0.ɵɵelementStart(14, "textarea", 92);
|
|
338
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsOperationsResource_Conditional_45_Template_textarea_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.newListDescription, $event) || (ctx_r1.newListDescription = $event); return i0.ɵɵresetView($event); });
|
|
340
339
|
i0.ɵɵelementEnd()();
|
|
341
|
-
i0.ɵɵelementStart(15, "div",
|
|
342
|
-
i0.ɵɵelement(16, "i",
|
|
340
|
+
i0.ɵɵelementStart(15, "div", 93);
|
|
341
|
+
i0.ɵɵelement(16, "i", 53);
|
|
343
342
|
i0.ɵɵtext(17);
|
|
344
343
|
i0.ɵɵelementEnd()();
|
|
345
|
-
i0.ɵɵelementStart(18, "div",
|
|
346
|
-
i0.ɵɵlistener("click", function
|
|
347
|
-
i0.ɵɵ
|
|
344
|
+
i0.ɵɵelementStart(18, "div", 94)(19, "button", 95);
|
|
345
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_45_Template_button_click_19_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.confirmCreateList()); });
|
|
346
|
+
i0.ɵɵconditionalCreate(20, ListsOperationsResource_Conditional_45_Conditional_20_Template, 1, 0, "i", 96);
|
|
348
347
|
i0.ɵɵtext(21);
|
|
349
348
|
i0.ɵɵelementEnd();
|
|
350
|
-
i0.ɵɵelementStart(22, "button",
|
|
351
|
-
i0.ɵɵlistener("click", function
|
|
349
|
+
i0.ɵɵelementStart(22, "button", 97);
|
|
350
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_45_Template_button_click_22_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancelCreateDialog()); });
|
|
352
351
|
i0.ɵɵtext(23, "Cancel");
|
|
353
352
|
i0.ɵɵelementEnd()()();
|
|
354
353
|
} if (rf & 2) {
|
|
@@ -362,27 +361,27 @@ function ListsOperationsResource_div_43_Template(rf, ctx) { if (rf & 1) {
|
|
|
362
361
|
i0.ɵɵadvance(2);
|
|
363
362
|
i0.ɵɵproperty("disabled", !ctx_r1.newListName || ctx_r1.isSaving);
|
|
364
363
|
i0.ɵɵadvance();
|
|
365
|
-
i0.ɵɵ
|
|
364
|
+
i0.ɵɵconditional(ctx_r1.isSaving ? 20 : -1);
|
|
366
365
|
i0.ɵɵadvance();
|
|
367
366
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.isSaving ? "Creating..." : "Create List", " ");
|
|
368
367
|
} }
|
|
369
|
-
function
|
|
368
|
+
function ListsOperationsResource_Conditional_46_Template(rf, ctx) { if (rf & 1) {
|
|
370
369
|
const _r19 = i0.ɵɵgetCurrentView();
|
|
371
|
-
i0.ɵɵelementStart(0, "div",
|
|
372
|
-
i0.ɵɵlistener("click", function
|
|
370
|
+
i0.ɵɵelementStart(0, "div", 86);
|
|
371
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_46_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancelAddToListDialog()); });
|
|
373
372
|
i0.ɵɵelementEnd();
|
|
374
373
|
} }
|
|
375
|
-
function
|
|
374
|
+
function ListsOperationsResource_Conditional_47_For_15_Template(rf, ctx) { if (rf & 1) {
|
|
376
375
|
const _r21 = i0.ɵɵgetCurrentView();
|
|
377
|
-
i0.ɵɵelementStart(0, "div",
|
|
378
|
-
i0.ɵɵlistener("click", function
|
|
379
|
-
i0.ɵɵelementStart(1, "div",
|
|
380
|
-
i0.ɵɵelement(2, "input",
|
|
376
|
+
i0.ɵɵelementStart(0, "div", 104);
|
|
377
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_47_For_15_Template_div_click_0_listener() { const list_r22 = i0.ɵɵrestoreView(_r21).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.selectTargetList(list_r22.ID)); });
|
|
378
|
+
i0.ɵɵelementStart(1, "div", 105);
|
|
379
|
+
i0.ɵɵelement(2, "input", 106);
|
|
381
380
|
i0.ɵɵelementEnd();
|
|
382
|
-
i0.ɵɵelementStart(3, "div",
|
|
381
|
+
i0.ɵɵelementStart(3, "div", 107)(4, "span", 108);
|
|
383
382
|
i0.ɵɵtext(5);
|
|
384
383
|
i0.ɵɵelementEnd();
|
|
385
|
-
i0.ɵɵelementStart(6, "span",
|
|
384
|
+
i0.ɵɵelementStart(6, "span", 109);
|
|
386
385
|
i0.ɵɵtext(7);
|
|
387
386
|
i0.ɵɵelementEnd()()();
|
|
388
387
|
} if (rf & 2) {
|
|
@@ -396,9 +395,9 @@ function ListsOperationsResource_div_45_div_14_Template(rf, ctx) { if (rf & 1) {
|
|
|
396
395
|
i0.ɵɵadvance(2);
|
|
397
396
|
i0.ɵɵtextInterpolate(list_r22.Entity);
|
|
398
397
|
} }
|
|
399
|
-
function
|
|
400
|
-
i0.ɵɵelementStart(0, "div",
|
|
401
|
-
i0.ɵɵelement(1, "i",
|
|
398
|
+
function ListsOperationsResource_Conditional_47_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
399
|
+
i0.ɵɵelementStart(0, "div", 103);
|
|
400
|
+
i0.ɵɵelement(1, "i", 110);
|
|
402
401
|
i0.ɵɵelementStart(2, "p");
|
|
403
402
|
i0.ɵɵtext(3);
|
|
404
403
|
i0.ɵɵelementEnd()();
|
|
@@ -407,39 +406,40 @@ function ListsOperationsResource_div_45_div_15_Template(rf, ctx) { if (rf & 1) {
|
|
|
407
406
|
i0.ɵɵadvance(3);
|
|
408
407
|
i0.ɵɵtextInterpolate(ctx_r1.addToListSearchTerm ? "No lists match your search" : "No other lists available");
|
|
409
408
|
} }
|
|
410
|
-
function
|
|
411
|
-
i0.ɵɵelement(0, "i",
|
|
409
|
+
function ListsOperationsResource_Conditional_47_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
410
|
+
i0.ɵɵelement(0, "i", 96);
|
|
412
411
|
} }
|
|
413
|
-
function
|
|
412
|
+
function ListsOperationsResource_Conditional_47_Template(rf, ctx) { if (rf & 1) {
|
|
414
413
|
const _r20 = i0.ɵɵgetCurrentView();
|
|
415
|
-
i0.ɵɵelementStart(0, "div",
|
|
414
|
+
i0.ɵɵelementStart(0, "div", 34)(1, "div", 87)(2, "h3");
|
|
416
415
|
i0.ɵɵtext(3, "Add to Existing List");
|
|
417
416
|
i0.ɵɵelementEnd();
|
|
418
|
-
i0.ɵɵelementStart(4, "button",
|
|
419
|
-
i0.ɵɵlistener("click", function
|
|
420
|
-
i0.ɵɵelement(5, "i",
|
|
417
|
+
i0.ɵɵelementStart(4, "button", 88);
|
|
418
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_47_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancelAddToListDialog()); });
|
|
419
|
+
i0.ɵɵelement(5, "i", 42);
|
|
421
420
|
i0.ɵɵelementEnd()();
|
|
422
|
-
i0.ɵɵelementStart(6, "div",
|
|
423
|
-
i0.ɵɵelement(8, "i",
|
|
421
|
+
i0.ɵɵelementStart(6, "div", 89)(7, "div", 98);
|
|
422
|
+
i0.ɵɵelement(8, "i", 53);
|
|
424
423
|
i0.ɵɵtext(9);
|
|
425
424
|
i0.ɵɵelementEnd();
|
|
426
|
-
i0.ɵɵelementStart(10, "div",
|
|
427
|
-
i0.ɵɵelement(11, "i",
|
|
428
|
-
i0.ɵɵelementStart(12, "input",
|
|
429
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
430
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
425
|
+
i0.ɵɵelementStart(10, "div", 99);
|
|
426
|
+
i0.ɵɵelement(11, "i", 44);
|
|
427
|
+
i0.ɵɵelementStart(12, "input", 100);
|
|
428
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsOperationsResource_Conditional_47_Template_input_ngModelChange_12_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.addToListSearchTerm, $event) || (ctx_r1.addToListSearchTerm = $event); return i0.ɵɵresetView($event); });
|
|
429
|
+
i0.ɵɵlistener("ngModelChange", function ListsOperationsResource_Conditional_47_Template_input_ngModelChange_12_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.filterAddToListOptions()); });
|
|
431
430
|
i0.ɵɵelementEnd()();
|
|
432
|
-
i0.ɵɵelementStart(13, "div",
|
|
433
|
-
i0.ɵɵ
|
|
431
|
+
i0.ɵɵelementStart(13, "div", 101);
|
|
432
|
+
i0.ɵɵrepeaterCreate(14, ListsOperationsResource_Conditional_47_For_15_Template, 8, 5, "div", 102, i0.ɵɵrepeaterTrackByIdentity);
|
|
433
|
+
i0.ɵɵconditionalCreate(16, ListsOperationsResource_Conditional_47_Conditional_16_Template, 4, 1, "div", 103);
|
|
434
434
|
i0.ɵɵelementEnd()();
|
|
435
|
-
i0.ɵɵelementStart(
|
|
436
|
-
i0.ɵɵlistener("click", function
|
|
437
|
-
i0.ɵɵ
|
|
438
|
-
i0.ɵɵtext(
|
|
435
|
+
i0.ɵɵelementStart(17, "div", 94)(18, "button", 95);
|
|
436
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_47_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.confirmAddToList()); });
|
|
437
|
+
i0.ɵɵconditionalCreate(19, ListsOperationsResource_Conditional_47_Conditional_19_Template, 1, 0, "i", 96);
|
|
438
|
+
i0.ɵɵtext(20);
|
|
439
439
|
i0.ɵɵelementEnd();
|
|
440
|
-
i0.ɵɵelementStart(
|
|
441
|
-
i0.ɵɵlistener("click", function
|
|
442
|
-
i0.ɵɵtext(
|
|
440
|
+
i0.ɵɵelementStart(21, "button", 97);
|
|
441
|
+
i0.ɵɵlistener("click", function ListsOperationsResource_Conditional_47_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancelAddToListDialog()); });
|
|
442
|
+
i0.ɵɵtext(22, "Cancel");
|
|
443
443
|
i0.ɵɵelementEnd()()();
|
|
444
444
|
} if (rf & 2) {
|
|
445
445
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -448,19 +448,16 @@ function ListsOperationsResource_div_45_Template(rf, ctx) { if (rf & 1) {
|
|
|
448
448
|
i0.ɵɵadvance(3);
|
|
449
449
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.addToListSearchTerm);
|
|
450
450
|
i0.ɵɵadvance(2);
|
|
451
|
-
i0.ɵɵ
|
|
452
|
-
i0.ɵɵadvance();
|
|
453
|
-
i0.ɵɵ
|
|
451
|
+
i0.ɵɵrepeater(ctx_r1.filteredAddToListOptions);
|
|
452
|
+
i0.ɵɵadvance(2);
|
|
453
|
+
i0.ɵɵconditional(ctx_r1.filteredAddToListOptions.length === 0 ? 16 : -1);
|
|
454
454
|
i0.ɵɵadvance(2);
|
|
455
455
|
i0.ɵɵproperty("disabled", !ctx_r1.selectedTargetListId || ctx_r1.isSaving);
|
|
456
456
|
i0.ɵɵadvance();
|
|
457
|
-
i0.ɵɵ
|
|
457
|
+
i0.ɵɵconditional(ctx_r1.isSaving ? 19 : -1);
|
|
458
458
|
i0.ɵɵadvance();
|
|
459
459
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.isSaving ? "Adding..." : "Add to List", " ");
|
|
460
460
|
} }
|
|
461
|
-
export function LoadListsOperationsResource() {
|
|
462
|
-
// tree shaker
|
|
463
|
-
}
|
|
464
461
|
let ListsOperationsResource = class ListsOperationsResource extends BaseResourceComponent {
|
|
465
462
|
cdr;
|
|
466
463
|
setOperationsService;
|
|
@@ -1115,13 +1112,13 @@ let ListsOperationsResource = class ListsOperationsResource extends BaseResource
|
|
|
1115
1112
|
}
|
|
1116
1113
|
}
|
|
1117
1114
|
static ɵfac = function ListsOperationsResource_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ListsOperationsResource)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.ListSetOperationsService), i0.ɵɵdirectiveInject(i2.MJNotificationService)); };
|
|
1118
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListsOperationsResource, selectors: [["mj-lists-operations-resource"]], features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
1115
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListsOperationsResource, selectors: [["mj-lists-operations-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 48, vars: 18, consts: [[1, "operations-container"], [1, "operations-header"], [1, "header-top"], [1, "header-title"], [1, "fa-solid", "fa-diagram-project"], ["title", "Clear all selections", 1, "clear-all-btn"], [1, "header-subtitle"], [1, "operations-content"], [1, "selection-panel"], [1, "panel-header"], [1, "list-count"], [1, "entity-filter-section"], [1, "filter-label"], [1, "entity-selector"], [1, "entity-select", 3, "ngModelChange", "ngModel"], ["value", ""], [3, "value"], [1, "selected-lists"], [1, "selected-item"], [1, "add-list-area"], [1, "lists-full"], [1, "entity-note"], [1, "quick-operations"], [1, "venn-panel"], [3, "data", "selectedRegion"], [1, "venn-empty"], [1, "loading-overlay"], [1, "results-panel"], [1, "fa-solid", "fa-crosshairs"], [1, "region-details"], [1, "operation-result"], [1, "results-empty"], [1, "modal-overlay"], [1, "modal-dialog"], [1, "modal-dialog", "add-to-list-dialog"], ["title", "Clear all selections", 1, "clear-all-btn", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "item-color"], [1, "item-info"], [1, "item-name"], [1, "item-entity"], [1, "remove-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "add-list-search"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search lists to add...", 3, "ngModelChange", "focus", "ngModel"], [1, "list-dropdown"], [1, "dropdown-backdrop", 3, "click"], [1, "dropdown-content"], [1, "dropdown-item"], [1, "dropdown-item", 3, "click"], [1, "dropdown-name"], [1, "dropdown-entity"], [1, "fa-solid", "fa-info-circle"], [1, "operation-buttons"], [1, "op-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-layer-group"], [1, "fa-solid", "fa-circle-notch"], [1, "fa-solid", "fa-arrows-split-up-and-left"], [3, "regionClick", "data", "selectedRegion"], [1, "empty-icon"], [1, "fa-solid", "fa-circle-nodes"], ["text", "Calculating..."], [1, "region-header"], [1, "region-label"], [1, "region-count"], [1, "region-actions"], [1, "action-btn", "primary", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "action-btn", 3, "click"], [1, "fa-solid", "fa-folder-plus"], [1, "fa-solid", "fa-file-excel"], [1, "record-preview"], [1, "preview-list"], [1, "preview-card"], [1, "preview-loading"], [1, "preview-card-content"], [1, "preview-name"], [1, "preview-secondary"], ["title", "Open record", 1, "preview-open-btn", 3, "click"], [1, "fa-solid", "fa-external-link-alt"], ["text", "Loading preview...", "size", "small"], [1, "result-header"], [1, "result-operation"], [1, "result-count"], [1, "fa-solid", "fa-hand-pointer"], [1, "modal-overlay", 3, "click"], [1, "modal-header"], [1, "modal-close", 3, "click"], [1, "modal-body"], [1, "form-group"], ["type", "text", "placeholder", "Enter list name", 1, "form-input", 3, "ngModelChange", "ngModel"], ["placeholder", "Optional description", "rows", "3", 1, "form-input", 3, "ngModelChange", "ngModel"], [1, "form-info"], [1, "modal-footer"], [1, "btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "btn-secondary", 3, "click"], [1, "form-info", 2, "margin-bottom", "16px"], [1, "list-search"], ["type", "text", "placeholder", "Search lists...", 1, "form-input", 3, "ngModelChange", "ngModel"], [1, "list-options"], [1, "list-option", 3, "selected"], [1, "list-options-empty"], [1, "list-option", 3, "click"], [1, "list-option-radio"], ["type", "radio", "name", "targetList", 3, "checked"], [1, "list-option-info"], [1, "list-option-name"], [1, "list-option-entity"], [1, "fa-solid", "fa-inbox"]], template: function ListsOperationsResource_Template(rf, ctx) { if (rf & 1) {
|
|
1119
1116
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
1120
1117
|
i0.ɵɵelement(4, "i", 4);
|
|
1121
1118
|
i0.ɵɵelementStart(5, "h2");
|
|
1122
1119
|
i0.ɵɵtext(6, "List Operations");
|
|
1123
1120
|
i0.ɵɵelementEnd()();
|
|
1124
|
-
i0.ɵɵ
|
|
1121
|
+
i0.ɵɵconditionalCreate(7, ListsOperationsResource_Conditional_7_Template, 3, 0, "button", 5);
|
|
1125
1122
|
i0.ɵɵelementEnd();
|
|
1126
1123
|
i0.ɵɵelementStart(8, "div", 6);
|
|
1127
1124
|
i0.ɵɵtext(9, " Visualize overlaps and perform set operations on your lists ");
|
|
@@ -1129,7 +1126,7 @@ let ListsOperationsResource = class ListsOperationsResource extends BaseResource
|
|
|
1129
1126
|
i0.ɵɵelementStart(10, "div", 7)(11, "div", 8)(12, "div", 9)(13, "h3");
|
|
1130
1127
|
i0.ɵɵtext(14, "Selected Lists");
|
|
1131
1128
|
i0.ɵɵelementEnd();
|
|
1132
|
-
i0.ɵɵ
|
|
1129
|
+
i0.ɵɵconditionalCreate(15, ListsOperationsResource_Conditional_15_Template, 2, 2, "span", 10);
|
|
1133
1130
|
i0.ɵɵelementEnd();
|
|
1134
1131
|
i0.ɵɵelementStart(16, "div", 11)(17, "label", 12);
|
|
1135
1132
|
i0.ɵɵtext(18, "Filter by Entity");
|
|
@@ -1140,66 +1137,76 @@ let ListsOperationsResource = class ListsOperationsResource extends BaseResource
|
|
|
1140
1137
|
i0.ɵɵelementStart(21, "option", 15);
|
|
1141
1138
|
i0.ɵɵtext(22, "All Entities");
|
|
1142
1139
|
i0.ɵɵelementEnd();
|
|
1143
|
-
i0.ɵɵ
|
|
1140
|
+
i0.ɵɵrepeaterCreate(23, ListsOperationsResource_For_24_Template, 2, 3, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
|
|
1144
1141
|
i0.ɵɵelementEnd()()();
|
|
1145
|
-
i0.ɵɵelementStart(
|
|
1146
|
-
i0.ɵɵ
|
|
1142
|
+
i0.ɵɵelementStart(25, "div", 17);
|
|
1143
|
+
i0.ɵɵrepeaterCreate(26, ListsOperationsResource_For_27_Template, 9, 4, "div", 18, i0.ɵɵrepeaterTrackByIdentity);
|
|
1144
|
+
i0.ɵɵconditionalCreate(28, ListsOperationsResource_Conditional_28_Template, 5, 2, "div", 19);
|
|
1145
|
+
i0.ɵɵconditionalCreate(29, ListsOperationsResource_Conditional_29_Template, 3, 1, "div", 20);
|
|
1147
1146
|
i0.ɵɵelementEnd();
|
|
1148
|
-
i0.ɵɵ
|
|
1147
|
+
i0.ɵɵconditionalCreate(30, ListsOperationsResource_Conditional_30_Template, 6, 1, "div", 21);
|
|
1148
|
+
i0.ɵɵconditionalCreate(31, ListsOperationsResource_Conditional_31_Template, 16, 3, "div", 22);
|
|
1149
1149
|
i0.ɵɵelementEnd();
|
|
1150
|
-
i0.ɵɵelementStart(
|
|
1151
|
-
i0.ɵɵ
|
|
1150
|
+
i0.ɵɵelementStart(32, "div", 23);
|
|
1151
|
+
i0.ɵɵconditionalCreate(33, ListsOperationsResource_Conditional_33_Template, 1, 2, "mj-venn-diagram", 24);
|
|
1152
|
+
i0.ɵɵconditionalCreate(34, ListsOperationsResource_Conditional_34_Template, 7, 0, "div", 25);
|
|
1153
|
+
i0.ɵɵconditionalCreate(35, ListsOperationsResource_Conditional_35_Template, 2, 0, "div", 26);
|
|
1152
1154
|
i0.ɵɵelementEnd();
|
|
1153
|
-
i0.ɵɵelementStart(
|
|
1154
|
-
i0.ɵɵelement(
|
|
1155
|
-
i0.ɵɵtext(
|
|
1155
|
+
i0.ɵɵelementStart(36, "div", 27)(37, "div", 9)(38, "h3");
|
|
1156
|
+
i0.ɵɵelement(39, "i", 28);
|
|
1157
|
+
i0.ɵɵtext(40);
|
|
1156
1158
|
i0.ɵɵelementEnd()();
|
|
1157
|
-
i0.ɵɵ
|
|
1159
|
+
i0.ɵɵconditionalCreate(41, ListsOperationsResource_Conditional_41_Template, 17, 3, "div", 29);
|
|
1160
|
+
i0.ɵɵconditionalCreate(42, ListsOperationsResource_Conditional_42_Template, 13, 2, "div", 30);
|
|
1161
|
+
i0.ɵɵconditionalCreate(43, ListsOperationsResource_Conditional_43_Template, 4, 0, "div", 31);
|
|
1158
1162
|
i0.ɵɵelementEnd()();
|
|
1159
|
-
i0.ɵɵ
|
|
1163
|
+
i0.ɵɵconditionalCreate(44, ListsOperationsResource_Conditional_44_Template, 1, 0, "div", 32);
|
|
1164
|
+
i0.ɵɵconditionalCreate(45, ListsOperationsResource_Conditional_45_Template, 24, 7, "div", 33);
|
|
1165
|
+
i0.ɵɵconditionalCreate(46, ListsOperationsResource_Conditional_46_Template, 1, 0, "div", 32);
|
|
1166
|
+
i0.ɵɵconditionalCreate(47, ListsOperationsResource_Conditional_47_Template, 23, 7, "div", 34);
|
|
1160
1167
|
i0.ɵɵelementEnd();
|
|
1161
1168
|
} if (rf & 2) {
|
|
1162
1169
|
i0.ɵɵadvance(7);
|
|
1163
|
-
i0.ɵɵ
|
|
1170
|
+
i0.ɵɵconditional(ctx.selectedLists.length > 0 || ctx.selectedEntityId ? 7 : -1);
|
|
1164
1171
|
i0.ɵɵadvance(8);
|
|
1165
|
-
i0.ɵɵ
|
|
1172
|
+
i0.ɵɵconditional(ctx.selectedLists.length > 0 ? 15 : -1);
|
|
1166
1173
|
i0.ɵɵadvance(5);
|
|
1167
1174
|
i0.ɵɵtwoWayProperty("ngModel", ctx.selectedEntityId);
|
|
1168
1175
|
i0.ɵɵadvance(3);
|
|
1169
|
-
i0.ɵɵ
|
|
1176
|
+
i0.ɵɵrepeater(ctx.entityOptions);
|
|
1177
|
+
i0.ɵɵadvance(3);
|
|
1178
|
+
i0.ɵɵrepeater(ctx.selectedLists);
|
|
1170
1179
|
i0.ɵɵadvance(2);
|
|
1171
|
-
i0.ɵɵ
|
|
1172
|
-
i0.ɵɵadvance();
|
|
1173
|
-
i0.ɵɵproperty("ngIf", ctx.selectedLists.length < ctx.maxLists);
|
|
1180
|
+
i0.ɵɵconditional(ctx.selectedLists.length < ctx.maxLists ? 28 : -1);
|
|
1174
1181
|
i0.ɵɵadvance();
|
|
1175
|
-
i0.ɵɵ
|
|
1182
|
+
i0.ɵɵconditional(ctx.selectedLists.length >= ctx.maxLists ? 29 : -1);
|
|
1176
1183
|
i0.ɵɵadvance();
|
|
1177
|
-
i0.ɵɵ
|
|
1184
|
+
i0.ɵɵconditional(ctx.selectedLists.length > 0 ? 30 : -1);
|
|
1178
1185
|
i0.ɵɵadvance();
|
|
1179
|
-
i0.ɵɵ
|
|
1186
|
+
i0.ɵɵconditional(ctx.selectedLists.length >= 2 ? 31 : -1);
|
|
1180
1187
|
i0.ɵɵadvance(2);
|
|
1181
|
-
i0.ɵɵ
|
|
1188
|
+
i0.ɵɵconditional(ctx.selectedLists.length > 0 ? 33 : -1);
|
|
1182
1189
|
i0.ɵɵadvance();
|
|
1183
|
-
i0.ɵɵ
|
|
1190
|
+
i0.ɵɵconditional(ctx.selectedLists.length === 0 ? 34 : -1);
|
|
1184
1191
|
i0.ɵɵadvance();
|
|
1185
|
-
i0.ɵɵ
|
|
1192
|
+
i0.ɵɵconditional(ctx.isCalculating ? 35 : -1);
|
|
1186
1193
|
i0.ɵɵadvance(5);
|
|
1187
1194
|
i0.ɵɵtextInterpolate1(" ", ctx.selectedRegion ? "Selected Region" : "Results", " ");
|
|
1188
1195
|
i0.ɵɵadvance();
|
|
1189
|
-
i0.ɵɵ
|
|
1196
|
+
i0.ɵɵconditional(ctx.selectedRegion ? 41 : -1);
|
|
1190
1197
|
i0.ɵɵadvance();
|
|
1191
|
-
i0.ɵɵ
|
|
1198
|
+
i0.ɵɵconditional(ctx.lastOperationResult && !ctx.selectedRegion ? 42 : -1);
|
|
1192
1199
|
i0.ɵɵadvance();
|
|
1193
|
-
i0.ɵɵ
|
|
1200
|
+
i0.ɵɵconditional(!ctx.selectedRegion && !ctx.lastOperationResult ? 43 : -1);
|
|
1194
1201
|
i0.ɵɵadvance();
|
|
1195
|
-
i0.ɵɵ
|
|
1202
|
+
i0.ɵɵconditional(ctx.showCreateDialog ? 44 : -1);
|
|
1196
1203
|
i0.ɵɵadvance();
|
|
1197
|
-
i0.ɵɵ
|
|
1204
|
+
i0.ɵɵconditional(ctx.showCreateDialog ? 45 : -1);
|
|
1198
1205
|
i0.ɵɵadvance();
|
|
1199
|
-
i0.ɵɵ
|
|
1206
|
+
i0.ɵɵconditional(ctx.showAddToListDialog ? 46 : -1);
|
|
1200
1207
|
i0.ɵɵadvance();
|
|
1201
|
-
i0.ɵɵ
|
|
1202
|
-
} }, dependencies: [i3.NgForOf, i3.NgIf, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.NgModel, i5.LoadingComponent, i6.VennDiagramComponent], styles: ["\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .operations-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n }\n\n .operations-header {\n padding: 20px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .header-top {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 4px;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .clear-all-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #f5f5f5;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 13px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .clear-all-btn:hover {\n background: #ffebee;\n border-color: #f44336;\n color: #d32f2f;\n }\n\n .clear-all-btn i {\n font-size: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: #9C27B0;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\n }\n\n .header-subtitle {\n color: #666;\n font-size: 14px;\n }\n\n .operations-content {\n display: grid;\n grid-template-columns: 280px 1fr 300px;\n gap: 16px;\n flex: 1;\n padding: 16px;\n overflow: hidden;\n }\n\n /* Panels */\n .selection-panel,\n .results-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .venn-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n position: relative;\n min-height: 400px;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .list-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n /* Entity Filter */\n .entity-filter-section {\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .filter-label {\n display: block;\n font-size: 11px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n }\n\n .entity-select {\n width: 100%;\n padding: 8px 12px;\n font-size: 13px;\n border: 1px solid #ddd;\n border-radius: 6px;\n background: white;\n cursor: pointer;\n outline: none;\n transition: border-color 0.2s;\n }\n\n .entity-select:focus {\n border-color: #9C27B0;\n }\n\n .entity-note {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 8px 12px;\n padding: 8px 10px;\n background: #e8f5e9;\n border-radius: 6px;\n font-size: 12px;\n color: #2e7d32;\n }\n\n .entity-note i {\n color: #4caf50;\n }\n\n /* Selected Lists */\n .selected-lists {\n flex: 1;\n overflow-y: auto;\n padding: 12px;\n }\n\n .selected-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px;\n background: #f8f9fa;\n border-radius: 6px;\n margin-bottom: 8px;\n }\n\n .item-color {\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex-shrink: 0;\n }\n\n .item-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n }\n\n .item-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .item-entity {\n font-size: 11px;\n color: #999;\n }\n\n .remove-btn {\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px;\n border-radius: 4px;\n }\n\n .remove-btn:hover {\n background: #e0e0e0;\n color: #666;\n }\n\n /* Add list area */\n .add-list-area {\n position: relative;\n }\n\n .add-list-search {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border: 1px dashed #ddd;\n border-radius: 6px;\n transition: border-color 0.2s;\n }\n\n .add-list-search:focus-within {\n border-color: #9C27B0;\n }\n\n .add-list-search i {\n color: #999;\n }\n\n .add-list-search input {\n flex: 1;\n border: none;\n outline: none;\n font-size: 13px;\n }\n\n .list-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 100;\n margin-top: 4px;\n }\n\n .dropdown-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n\n .dropdown-content {\n position: relative;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n max-height: 200px;\n overflow-y: auto;\n }\n\n .dropdown-item {\n display: flex;\n flex-direction: column;\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .dropdown-item:hover {\n background: #f5f5f5;\n }\n\n .dropdown-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n }\n\n .dropdown-entity {\n font-size: 11px;\n color: #999;\n }\n\n .lists-full {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n font-size: 12px;\n color: #999;\n background: #f8f9fa;\n border-radius: 6px;\n }\n\n .entity-warning {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n margin: 12px;\n padding: 10px;\n background: #fff8e1;\n border-radius: 6px;\n font-size: 12px;\n color: #856404;\n }\n\n .entity-warning i {\n color: #ffc107;\n margin-top: 2px;\n }\n\n /* Quick Operations */\n .quick-operations {\n padding: 12px;\n border-top: 1px solid #f0f0f0;\n }\n\n .quick-operations h4 {\n margin: 0 0 10px;\n font-size: 12px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .operation-buttons {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .op-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n font-size: 13px;\n color: #333;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .op-btn:hover:not(:disabled) {\n background: #e8f4fd;\n border-color: #9C27B0;\n color: #9C27B0;\n }\n\n .op-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n /* Venn Panel */\n .venn-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n text-align: center;\n padding: 40px;\n }\n\n .empty-icon {\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, rgba(156, 39, 176, 0.1) 0%, rgba(156, 39, 176, 0.05) 100%);\n border-radius: 50%;\n margin-bottom: 20px;\n }\n\n .empty-icon i {\n font-size: 36px;\n color: #9C27B0;\n }\n\n .venn-empty h3 {\n margin: 0 0 8px;\n font-size: 18px;\n color: #333;\n }\n\n .venn-empty p {\n margin: 0;\n color: #666;\n font-size: 14px;\n max-width: 300px;\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255,255,255,0.9);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n /* Results Panel */\n .region-details,\n .operation-result {\n padding: 16px;\n }\n\n .region-header,\n .result-header {\n margin-bottom: 16px;\n }\n\n .region-label,\n .result-operation {\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n margin-bottom: 4px;\n }\n\n .region-count,\n .result-count {\n font-size: 13px;\n color: #9C27B0;\n font-weight: 500;\n }\n\n .region-actions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 16px;\n }\n\n .action-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 14px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 13px;\n color: #333;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .action-btn:hover {\n background: #f5f5f5;\n }\n\n .action-btn.primary {\n background: #9C27B0;\n border-color: #9C27B0;\n color: white;\n }\n\n .action-btn.primary:hover {\n background: #7B1FA2;\n }\n\n .record-preview h5 {\n margin: 0 0 8px;\n font-size: 12px;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .preview-list {\n max-height: 200px;\n overflow-y: auto;\n }\n\n .preview-card {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n background: #f8f9fa;\n border-radius: 6px;\n margin-bottom: 6px;\n transition: all 0.15s ease;\n }\n\n .preview-card:hover {\n background: #eef1f5;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n }\n\n .preview-card-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .preview-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .preview-secondary {\n font-size: 11px;\n color: #888;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .preview-open-btn {\n background: none;\n border: none;\n color: #9C27B0;\n cursor: pointer;\n padding: 6px 8px;\n border-radius: 4px;\n opacity: 0.6;\n transition: all 0.15s ease;\n flex-shrink: 0;\n }\n\n .preview-open-btn:hover {\n opacity: 1;\n background: rgba(156, 39, 176, 0.1);\n }\n\n .preview-loading {\n padding: 12px;\n text-align: center;\n }\n\n .results-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 200px;\n text-align: center;\n color: #999;\n }\n\n .results-empty i {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n }\n\n .results-empty p {\n font-size: 13px;\n margin: 0;\n max-width: 200px;\n }\n\n /* Modal */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0,0,0,0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n width: 420px;\n max-width: 90vw;\n z-index: 1001;\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 16px;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px 8px;\n }\n\n .modal-body {\n padding: 20px;\n }\n\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #9C27B0;\n box-shadow: 0 0 0 3px rgba(156, 39, 176, 0.1);\n }\n\n textarea.form-input {\n resize: vertical;\n }\n\n .form-info {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px;\n background: #f8f9fa;\n border-radius: 6px;\n font-size: 13px;\n color: #666;\n }\n\n .form-info i {\n color: #9C27B0;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #9C27B0;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #7B1FA2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n }\n\n .btn-secondary:hover {\n background: #f5f5f5;\n }\n\n /* Add to List Dialog */\n .add-to-list-dialog {\n width: 480px;\n }\n\n .add-to-list-dialog .modal-body {\n max-height: 400px;\n overflow-y: auto;\n }\n\n .list-search {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n margin-bottom: 12px;\n }\n\n .list-search i {\n color: #999;\n flex-shrink: 0;\n }\n\n .list-search .form-input {\n flex: 1;\n border: none;\n background: transparent;\n padding: 0;\n font-size: 14px;\n }\n\n .list-search .form-input:focus {\n box-shadow: none;\n outline: none;\n }\n\n .list-options {\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n max-height: 250px;\n overflow-y: auto;\n }\n\n .list-option {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n cursor: pointer;\n transition: background 0.15s;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .list-option:last-child {\n border-bottom: none;\n }\n\n .list-option:hover {\n background: #f8f9fa;\n }\n\n .list-option.selected {\n background: #f3e5f5;\n }\n\n .list-option-radio {\n flex-shrink: 0;\n }\n\n .list-option-radio input[type=\"radio\"] {\n width: 18px;\n height: 18px;\n cursor: pointer;\n accent-color: #9C27B0;\n }\n\n .list-option-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .list-option-name {\n font-size: 14px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-option-entity {\n font-size: 12px;\n color: #888;\n }\n\n .list-options-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 30px 20px;\n text-align: center;\n color: #999;\n }\n\n .list-options-empty i {\n font-size: 28px;\n margin-bottom: 10px;\n opacity: 0.5;\n }\n\n .list-options-empty p {\n margin: 0;\n font-size: 13px;\n }\n\n /* Responsive */\n @media (max-width: 1024px) {\n .operations-content {\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr auto;\n }\n\n .selection-panel {\n order: 1;\n }\n\n .venn-panel {\n order: 2;\n min-height: 300px;\n }\n\n .results-panel {\n order: 3;\n }\n }\n "], encapsulation: 2 });
|
|
1208
|
+
i0.ɵɵconditional(ctx.showAddToListDialog ? 47 : -1);
|
|
1209
|
+
} }, dependencies: [i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i3.DefaultValueAccessor, i3.SelectControlValueAccessor, i3.NgControlStatus, i3.NgModel, i4.LoadingComponent, i5.VennDiagramComponent], styles: ["\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .operations-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n }\n\n .operations-header {\n padding: 20px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .header-top {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 4px;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .clear-all-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #f5f5f5;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 13px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .clear-all-btn:hover {\n background: #ffebee;\n border-color: #f44336;\n color: #d32f2f;\n }\n\n .clear-all-btn i {\n font-size: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: #9C27B0;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\n }\n\n .header-subtitle {\n color: #666;\n font-size: 14px;\n }\n\n .operations-content {\n display: grid;\n grid-template-columns: 280px 1fr 300px;\n gap: 16px;\n flex: 1;\n padding: 16px;\n overflow: hidden;\n }\n\n /* Panels */\n .selection-panel,\n .results-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .venn-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n position: relative;\n min-height: 400px;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .list-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n /* Entity Filter */\n .entity-filter-section {\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .filter-label {\n display: block;\n font-size: 11px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n }\n\n .entity-select {\n width: 100%;\n padding: 8px 12px;\n font-size: 13px;\n border: 1px solid #ddd;\n border-radius: 6px;\n background: white;\n cursor: pointer;\n outline: none;\n transition: border-color 0.2s;\n }\n\n .entity-select:focus {\n border-color: #9C27B0;\n }\n\n .entity-note {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 8px 12px;\n padding: 8px 10px;\n background: #e8f5e9;\n border-radius: 6px;\n font-size: 12px;\n color: #2e7d32;\n }\n\n .entity-note i {\n color: #4caf50;\n }\n\n /* Selected Lists */\n .selected-lists {\n flex: 1;\n overflow-y: auto;\n padding: 12px;\n }\n\n .selected-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px;\n background: #f8f9fa;\n border-radius: 6px;\n margin-bottom: 8px;\n }\n\n .item-color {\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex-shrink: 0;\n }\n\n .item-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n }\n\n .item-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .item-entity {\n font-size: 11px;\n color: #999;\n }\n\n .remove-btn {\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px;\n border-radius: 4px;\n }\n\n .remove-btn:hover {\n background: #e0e0e0;\n color: #666;\n }\n\n /* Add list area */\n .add-list-area {\n position: relative;\n }\n\n .add-list-search {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border: 1px dashed #ddd;\n border-radius: 6px;\n transition: border-color 0.2s;\n }\n\n .add-list-search:focus-within {\n border-color: #9C27B0;\n }\n\n .add-list-search i {\n color: #999;\n }\n\n .add-list-search input {\n flex: 1;\n border: none;\n outline: none;\n font-size: 13px;\n }\n\n .list-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 100;\n margin-top: 4px;\n }\n\n .dropdown-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n\n .dropdown-content {\n position: relative;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n max-height: 200px;\n overflow-y: auto;\n }\n\n .dropdown-item {\n display: flex;\n flex-direction: column;\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .dropdown-item:hover {\n background: #f5f5f5;\n }\n\n .dropdown-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n }\n\n .dropdown-entity {\n font-size: 11px;\n color: #999;\n }\n\n .lists-full {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n font-size: 12px;\n color: #999;\n background: #f8f9fa;\n border-radius: 6px;\n }\n\n .entity-warning {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n margin: 12px;\n padding: 10px;\n background: #fff8e1;\n border-radius: 6px;\n font-size: 12px;\n color: #856404;\n }\n\n .entity-warning i {\n color: #ffc107;\n margin-top: 2px;\n }\n\n /* Quick Operations */\n .quick-operations {\n padding: 12px;\n border-top: 1px solid #f0f0f0;\n }\n\n .quick-operations h4 {\n margin: 0 0 10px;\n font-size: 12px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .operation-buttons {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .op-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n font-size: 13px;\n color: #333;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .op-btn:hover:not(:disabled) {\n background: #e8f4fd;\n border-color: #9C27B0;\n color: #9C27B0;\n }\n\n .op-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n /* Venn Panel */\n .venn-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n text-align: center;\n padding: 40px;\n }\n\n .empty-icon {\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, rgba(156, 39, 176, 0.1) 0%, rgba(156, 39, 176, 0.05) 100%);\n border-radius: 50%;\n margin-bottom: 20px;\n }\n\n .empty-icon i {\n font-size: 36px;\n color: #9C27B0;\n }\n\n .venn-empty h3 {\n margin: 0 0 8px;\n font-size: 18px;\n color: #333;\n }\n\n .venn-empty p {\n margin: 0;\n color: #666;\n font-size: 14px;\n max-width: 300px;\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255,255,255,0.9);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n /* Results Panel */\n .region-details,\n .operation-result {\n padding: 16px;\n }\n\n .region-header,\n .result-header {\n margin-bottom: 16px;\n }\n\n .region-label,\n .result-operation {\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n margin-bottom: 4px;\n }\n\n .region-count,\n .result-count {\n font-size: 13px;\n color: #9C27B0;\n font-weight: 500;\n }\n\n .region-actions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 16px;\n }\n\n .action-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 14px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 13px;\n color: #333;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .action-btn:hover {\n background: #f5f5f5;\n }\n\n .action-btn.primary {\n background: #9C27B0;\n border-color: #9C27B0;\n color: white;\n }\n\n .action-btn.primary:hover {\n background: #7B1FA2;\n }\n\n .record-preview h5 {\n margin: 0 0 8px;\n font-size: 12px;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .preview-list {\n max-height: 200px;\n overflow-y: auto;\n }\n\n .preview-card {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n background: #f8f9fa;\n border-radius: 6px;\n margin-bottom: 6px;\n transition: all 0.15s ease;\n }\n\n .preview-card:hover {\n background: #eef1f5;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n }\n\n .preview-card-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .preview-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .preview-secondary {\n font-size: 11px;\n color: #888;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .preview-open-btn {\n background: none;\n border: none;\n color: #9C27B0;\n cursor: pointer;\n padding: 6px 8px;\n border-radius: 4px;\n opacity: 0.6;\n transition: all 0.15s ease;\n flex-shrink: 0;\n }\n\n .preview-open-btn:hover {\n opacity: 1;\n background: rgba(156, 39, 176, 0.1);\n }\n\n .preview-loading {\n padding: 12px;\n text-align: center;\n }\n\n .results-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 200px;\n text-align: center;\n color: #999;\n }\n\n .results-empty i {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n }\n\n .results-empty p {\n font-size: 13px;\n margin: 0;\n max-width: 200px;\n }\n\n /* Modal */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0,0,0,0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n width: 420px;\n max-width: 90vw;\n z-index: 1001;\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 16px;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px 8px;\n }\n\n .modal-body {\n padding: 20px;\n }\n\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #9C27B0;\n box-shadow: 0 0 0 3px rgba(156, 39, 176, 0.1);\n }\n\n textarea.form-input {\n resize: vertical;\n }\n\n .form-info {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px;\n background: #f8f9fa;\n border-radius: 6px;\n font-size: 13px;\n color: #666;\n }\n\n .form-info i {\n color: #9C27B0;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #9C27B0;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #7B1FA2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n }\n\n .btn-secondary:hover {\n background: #f5f5f5;\n }\n\n /* Add to List Dialog */\n .add-to-list-dialog {\n width: 480px;\n }\n\n .add-to-list-dialog .modal-body {\n max-height: 400px;\n overflow-y: auto;\n }\n\n .list-search {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n margin-bottom: 12px;\n }\n\n .list-search i {\n color: #999;\n flex-shrink: 0;\n }\n\n .list-search .form-input {\n flex: 1;\n border: none;\n background: transparent;\n padding: 0;\n font-size: 14px;\n }\n\n .list-search .form-input:focus {\n box-shadow: none;\n outline: none;\n }\n\n .list-options {\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n max-height: 250px;\n overflow-y: auto;\n }\n\n .list-option {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n cursor: pointer;\n transition: background 0.15s;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .list-option:last-child {\n border-bottom: none;\n }\n\n .list-option:hover {\n background: #f8f9fa;\n }\n\n .list-option.selected {\n background: #f3e5f5;\n }\n\n .list-option-radio {\n flex-shrink: 0;\n }\n\n .list-option-radio input[type=\"radio\"] {\n width: 18px;\n height: 18px;\n cursor: pointer;\n accent-color: #9C27B0;\n }\n\n .list-option-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .list-option-name {\n font-size: 14px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-option-entity {\n font-size: 12px;\n color: #888;\n }\n\n .list-options-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 30px 20px;\n text-align: center;\n color: #999;\n }\n\n .list-options-empty i {\n font-size: 28px;\n margin-bottom: 10px;\n opacity: 0.5;\n }\n\n .list-options-empty p {\n margin: 0;\n font-size: 13px;\n }\n\n /* Responsive */\n @media (max-width: 1024px) {\n .operations-content {\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr auto;\n }\n\n .selection-panel {\n order: 1;\n }\n\n .venn-panel {\n order: 2;\n min-height: 300px;\n }\n\n .results-panel {\n order: 3;\n }\n }\n "], encapsulation: 2 });
|
|
1203
1210
|
};
|
|
1204
1211
|
ListsOperationsResource = __decorate([
|
|
1205
1212
|
RegisterClass(BaseResourceComponent, 'ListsOperationsResource')
|
|
@@ -1207,7 +1214,7 @@ ListsOperationsResource = __decorate([
|
|
|
1207
1214
|
export { ListsOperationsResource };
|
|
1208
1215
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListsOperationsResource, [{
|
|
1209
1216
|
type: Component,
|
|
1210
|
-
args: [{ selector: 'mj-lists-operations-resource', template: `
|
|
1217
|
+
args: [{ standalone: false, selector: 'mj-lists-operations-resource', template: `
|
|
1211
1218
|
<div class="operations-container">
|
|
1212
1219
|
<!-- Header -->
|
|
1213
1220
|
<div class="operations-header">
|
|
@@ -1216,30 +1223,34 @@ export { ListsOperationsResource };
|
|
|
1216
1223
|
<i class="fa-solid fa-diagram-project"></i>
|
|
1217
1224
|
<h2>List Operations</h2>
|
|
1218
1225
|
</div>
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
+
@if (selectedLists.length > 0 || selectedEntityId) {
|
|
1227
|
+
<button
|
|
1228
|
+
class="clear-all-btn"
|
|
1229
|
+
(click)="clearAllSelections()"
|
|
1230
|
+
title="Clear all selections">
|
|
1231
|
+
<i class="fa-solid fa-xmark"></i>
|
|
1232
|
+
Clear
|
|
1233
|
+
</button>
|
|
1234
|
+
}
|
|
1226
1235
|
</div>
|
|
1227
1236
|
<div class="header-subtitle">
|
|
1228
1237
|
Visualize overlaps and perform set operations on your lists
|
|
1229
1238
|
</div>
|
|
1230
1239
|
</div>
|
|
1231
|
-
|
|
1240
|
+
|
|
1232
1241
|
<!-- Main Content -->
|
|
1233
1242
|
<div class="operations-content">
|
|
1234
1243
|
<!-- Left Panel: List Selection -->
|
|
1235
1244
|
<div class="selection-panel">
|
|
1236
1245
|
<div class="panel-header">
|
|
1237
1246
|
<h3>Selected Lists</h3>
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1247
|
+
@if (selectedLists.length > 0) {
|
|
1248
|
+
<span class="list-count">
|
|
1249
|
+
{{selectedLists.length}}/{{maxLists}}
|
|
1250
|
+
</span>
|
|
1251
|
+
}
|
|
1241
1252
|
</div>
|
|
1242
|
-
|
|
1253
|
+
|
|
1243
1254
|
<!-- Entity Filter Selector -->
|
|
1244
1255
|
<div class="entity-filter-section">
|
|
1245
1256
|
<label class="filter-label">Filter by Entity</label>
|
|
@@ -1249,106 +1260,125 @@ export { ListsOperationsResource };
|
|
|
1249
1260
|
(ngModelChange)="onEntityFilterChange()"
|
|
1250
1261
|
class="entity-select">
|
|
1251
1262
|
<option value="">All Entities</option>
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1263
|
+
@for (entity of entityOptions; track entity) {
|
|
1264
|
+
<option [value]="entity.id">
|
|
1265
|
+
{{entity.name}} ({{entity.listCount}})
|
|
1266
|
+
</option>
|
|
1267
|
+
}
|
|
1255
1268
|
</select>
|
|
1256
1269
|
</div>
|
|
1257
1270
|
</div>
|
|
1258
|
-
|
|
1271
|
+
|
|
1259
1272
|
<!-- Selected lists -->
|
|
1260
1273
|
<div class="selected-lists">
|
|
1261
|
-
|
|
1262
|
-
<div class="
|
|
1263
|
-
|
|
1264
|
-
<
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
<
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
<div class="add-list-area" *ngIf="selectedLists.length < maxLists">
|
|
1273
|
-
<div class="add-list-search">
|
|
1274
|
-
<i class="fa-solid fa-search"></i>
|
|
1275
|
-
<input
|
|
1276
|
-
type="text"
|
|
1277
|
-
[(ngModel)]="listSearchTerm"
|
|
1278
|
-
(ngModelChange)="filterAvailableLists()"
|
|
1279
|
-
placeholder="Search lists to add..."
|
|
1280
|
-
(focus)="showListDropdown = true" />
|
|
1274
|
+
@for (item of selectedLists; track item; let i = $index) {
|
|
1275
|
+
<div class="selected-item">
|
|
1276
|
+
<div class="item-color" [style.background-color]="item.color"></div>
|
|
1277
|
+
<div class="item-info">
|
|
1278
|
+
<span class="item-name">{{item.list.Name}}</span>
|
|
1279
|
+
<span class="item-entity">{{item.entityName}}</span>
|
|
1280
|
+
</div>
|
|
1281
|
+
<button class="remove-btn" (click)="removeList(i)">
|
|
1282
|
+
<i class="fa-solid fa-times"></i>
|
|
1283
|
+
</button>
|
|
1281
1284
|
</div>
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
<div class="
|
|
1287
|
-
<
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
(
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
@if (selectedLists.length < maxLists) {
|
|
1288
|
+
<div class="add-list-area">
|
|
1289
|
+
<div class="add-list-search">
|
|
1290
|
+
<i class="fa-solid fa-search"></i>
|
|
1291
|
+
<input
|
|
1292
|
+
type="text"
|
|
1293
|
+
[(ngModel)]="listSearchTerm"
|
|
1294
|
+
(ngModelChange)="filterAvailableLists()"
|
|
1295
|
+
placeholder="Search lists to add..."
|
|
1296
|
+
(focus)="showListDropdown = true" />
|
|
1294
1297
|
</div>
|
|
1298
|
+
<!-- Available lists dropdown -->
|
|
1299
|
+
@if (showListDropdown && filteredAvailableLists.length > 0) {
|
|
1300
|
+
<div class="list-dropdown">
|
|
1301
|
+
<div class="dropdown-backdrop" (click)="showListDropdown = false"></div>
|
|
1302
|
+
<div class="dropdown-content">
|
|
1303
|
+
@for (list of filteredAvailableLists; track list) {
|
|
1304
|
+
<div
|
|
1305
|
+
class="dropdown-item"
|
|
1306
|
+
(click)="addList(list)">
|
|
1307
|
+
<span class="dropdown-name">{{list.Name}}</span>
|
|
1308
|
+
<span class="dropdown-entity">{{list.Entity}}</span>
|
|
1309
|
+
</div>
|
|
1310
|
+
}
|
|
1311
|
+
</div>
|
|
1312
|
+
</div>
|
|
1313
|
+
}
|
|
1295
1314
|
</div>
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
<
|
|
1300
|
-
|
|
1301
|
-
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1317
|
+
@if (selectedLists.length >= maxLists) {
|
|
1318
|
+
<div class="lists-full">
|
|
1319
|
+
<i class="fa-solid fa-info-circle"></i>
|
|
1320
|
+
Maximum {{maxLists}} lists can be compared
|
|
1321
|
+
</div>
|
|
1322
|
+
}
|
|
1302
1323
|
</div>
|
|
1303
|
-
|
|
1324
|
+
|
|
1304
1325
|
<!-- Entity consistency note -->
|
|
1305
|
-
|
|
1306
|
-
<
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1326
|
+
@if (selectedLists.length > 0) {
|
|
1327
|
+
<div class="entity-note">
|
|
1328
|
+
<i class="fa-solid fa-info-circle"></i>
|
|
1329
|
+
<span>Comparing lists of type: <strong>{{selectedLists[0].entityName}}</strong></span>
|
|
1330
|
+
</div>
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1310
1333
|
<!-- Quick Operations -->
|
|
1311
|
-
|
|
1312
|
-
<
|
|
1313
|
-
|
|
1314
|
-
<
|
|
1315
|
-
<
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
<
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
<
|
|
1324
|
-
|
|
1325
|
-
|
|
1334
|
+
@if (selectedLists.length >= 2) {
|
|
1335
|
+
<div class="quick-operations">
|
|
1336
|
+
<h4>Quick Operations</h4>
|
|
1337
|
+
<div class="operation-buttons">
|
|
1338
|
+
<button class="op-btn" (click)="performOperation('union')" [disabled]="isCalculating">
|
|
1339
|
+
<i class="fa-solid fa-layer-group"></i>
|
|
1340
|
+
<span>Union All</span>
|
|
1341
|
+
</button>
|
|
1342
|
+
<button class="op-btn" (click)="performOperation('intersection')" [disabled]="isCalculating">
|
|
1343
|
+
<i class="fa-solid fa-circle-notch"></i>
|
|
1344
|
+
<span>Intersection</span>
|
|
1345
|
+
</button>
|
|
1346
|
+
<button class="op-btn" (click)="performOperation('symmetric_difference')" [disabled]="isCalculating">
|
|
1347
|
+
<i class="fa-solid fa-arrows-split-up-and-left"></i>
|
|
1348
|
+
<span>Unique Each</span>
|
|
1349
|
+
</button>
|
|
1350
|
+
</div>
|
|
1326
1351
|
</div>
|
|
1327
|
-
|
|
1352
|
+
}
|
|
1328
1353
|
</div>
|
|
1329
|
-
|
|
1354
|
+
|
|
1330
1355
|
<!-- Center: Venn Diagram -->
|
|
1331
1356
|
<div class="venn-panel">
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1357
|
+
@if (selectedLists.length > 0) {
|
|
1358
|
+
<mj-venn-diagram
|
|
1359
|
+
[data]="vennData"
|
|
1360
|
+
[selectedRegion]="selectedRegion"
|
|
1361
|
+
(regionClick)="onRegionClick($event)">
|
|
1362
|
+
</mj-venn-diagram>
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
@if (selectedLists.length === 0) {
|
|
1366
|
+
<div class="venn-empty">
|
|
1367
|
+
<div class="empty-icon">
|
|
1368
|
+
<i class="fa-solid fa-circle-nodes"></i>
|
|
1369
|
+
</div>
|
|
1370
|
+
<h3>Add Lists to Compare</h3>
|
|
1371
|
+
<p>Select 2-4 lists from the same entity to visualize their overlaps and perform set operations.</p>
|
|
1342
1372
|
</div>
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
@if (isCalculating) {
|
|
1376
|
+
<div class="loading-overlay">
|
|
1377
|
+
<mj-loading text="Calculating..."></mj-loading>
|
|
1378
|
+
</div>
|
|
1379
|
+
}
|
|
1350
1380
|
</div>
|
|
1351
|
-
|
|
1381
|
+
|
|
1352
1382
|
<!-- Right Panel: Selected Region / Results -->
|
|
1353
1383
|
<div class="results-panel">
|
|
1354
1384
|
<div class="panel-header">
|
|
@@ -1357,176 +1387,199 @@ export { ListsOperationsResource };
|
|
|
1357
1387
|
{{selectedRegion ? 'Selected Region' : 'Results'}}
|
|
1358
1388
|
</h3>
|
|
1359
1389
|
</div>
|
|
1360
|
-
|
|
1390
|
+
|
|
1361
1391
|
<!-- Selected region details -->
|
|
1362
|
-
|
|
1363
|
-
<div class="region-
|
|
1364
|
-
<
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
<div class="region-actions">
|
|
1369
|
-
<button class="action-btn primary" (click)="createListFromSelection()">
|
|
1370
|
-
<i class="fa-solid fa-plus"></i>
|
|
1371
|
-
Create New List
|
|
1372
|
-
</button>
|
|
1373
|
-
<button class="action-btn" (click)="addToExistingList()">
|
|
1374
|
-
<i class="fa-solid fa-folder-plus"></i>
|
|
1375
|
-
Add to List
|
|
1376
|
-
</button>
|
|
1377
|
-
<button class="action-btn" (click)="exportToExcel()">
|
|
1378
|
-
<i class="fa-solid fa-file-excel"></i>
|
|
1379
|
-
Export
|
|
1380
|
-
</button>
|
|
1381
|
-
</div>
|
|
1382
|
-
|
|
1383
|
-
<div class="record-preview" *ngIf="previewRecordsDisplay.length > 0">
|
|
1384
|
-
<h5>Preview (first 10)</h5>
|
|
1385
|
-
<div class="preview-list">
|
|
1386
|
-
<div class="preview-card" *ngFor="let record of previewRecordsDisplay">
|
|
1387
|
-
<div class="preview-card-content">
|
|
1388
|
-
<span class="preview-name">{{record.displayName}}</span>
|
|
1389
|
-
<span class="preview-secondary" *ngIf="record.secondaryInfo">{{record.secondaryInfo}}</span>
|
|
1390
|
-
</div>
|
|
1391
|
-
<button class="preview-open-btn" (click)="openRecord(record)" title="Open record">
|
|
1392
|
-
<i class="fa-solid fa-external-link-alt"></i>
|
|
1393
|
-
</button>
|
|
1394
|
-
</div>
|
|
1392
|
+
@if (selectedRegion) {
|
|
1393
|
+
<div class="region-details">
|
|
1394
|
+
<div class="region-header">
|
|
1395
|
+
<span class="region-label">{{selectedRegion.label}}</span>
|
|
1396
|
+
<span class="region-count">{{selectedRegion.size}} records</span>
|
|
1395
1397
|
</div>
|
|
1396
|
-
<div class="
|
|
1397
|
-
<
|
|
1398
|
+
<div class="region-actions">
|
|
1399
|
+
<button class="action-btn primary" (click)="createListFromSelection()">
|
|
1400
|
+
<i class="fa-solid fa-plus"></i>
|
|
1401
|
+
Create New List
|
|
1402
|
+
</button>
|
|
1403
|
+
<button class="action-btn" (click)="addToExistingList()">
|
|
1404
|
+
<i class="fa-solid fa-folder-plus"></i>
|
|
1405
|
+
Add to List
|
|
1406
|
+
</button>
|
|
1407
|
+
<button class="action-btn" (click)="exportToExcel()">
|
|
1408
|
+
<i class="fa-solid fa-file-excel"></i>
|
|
1409
|
+
Export
|
|
1410
|
+
</button>
|
|
1398
1411
|
</div>
|
|
1412
|
+
@if (previewRecordsDisplay.length > 0) {
|
|
1413
|
+
<div class="record-preview">
|
|
1414
|
+
<h5>Preview (first 10)</h5>
|
|
1415
|
+
<div class="preview-list">
|
|
1416
|
+
@for (record of previewRecordsDisplay; track record) {
|
|
1417
|
+
<div class="preview-card">
|
|
1418
|
+
<div class="preview-card-content">
|
|
1419
|
+
<span class="preview-name">{{record.displayName}}</span>
|
|
1420
|
+
@if (record.secondaryInfo) {
|
|
1421
|
+
<span class="preview-secondary">{{record.secondaryInfo}}</span>
|
|
1422
|
+
}
|
|
1423
|
+
</div>
|
|
1424
|
+
<button class="preview-open-btn" (click)="openRecord(record)" title="Open record">
|
|
1425
|
+
<i class="fa-solid fa-external-link-alt"></i>
|
|
1426
|
+
</button>
|
|
1427
|
+
</div>
|
|
1428
|
+
}
|
|
1429
|
+
</div>
|
|
1430
|
+
@if (loadingPreview) {
|
|
1431
|
+
<div class="preview-loading">
|
|
1432
|
+
<mj-loading text="Loading preview..." size="small"></mj-loading>
|
|
1433
|
+
</div>
|
|
1434
|
+
}
|
|
1435
|
+
</div>
|
|
1436
|
+
}
|
|
1399
1437
|
</div>
|
|
1400
|
-
|
|
1401
|
-
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1402
1440
|
<!-- Operation result -->
|
|
1403
|
-
|
|
1404
|
-
<div class="result
|
|
1405
|
-
<
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1441
|
+
@if (lastOperationResult && !selectedRegion) {
|
|
1442
|
+
<div class="operation-result">
|
|
1443
|
+
<div class="result-header">
|
|
1444
|
+
<span class="result-operation">{{getOperationLabel(lastOperationResult.operation)}}</span>
|
|
1445
|
+
<span class="result-count">{{lastOperationResult.resultCount}} records</span>
|
|
1446
|
+
</div>
|
|
1447
|
+
<div class="region-actions">
|
|
1448
|
+
<button class="action-btn primary" (click)="createListFromResult()">
|
|
1449
|
+
<i class="fa-solid fa-plus"></i>
|
|
1450
|
+
Create New List
|
|
1451
|
+
</button>
|
|
1452
|
+
<button class="action-btn" (click)="addResultToExistingList()">
|
|
1453
|
+
<i class="fa-solid fa-folder-plus"></i>
|
|
1454
|
+
Add to List
|
|
1455
|
+
</button>
|
|
1456
|
+
</div>
|
|
1418
1457
|
</div>
|
|
1419
|
-
|
|
1420
|
-
|
|
1458
|
+
}
|
|
1459
|
+
|
|
1421
1460
|
<!-- Empty state -->
|
|
1422
|
-
|
|
1423
|
-
<
|
|
1424
|
-
|
|
1425
|
-
|
|
1461
|
+
@if (!selectedRegion && !lastOperationResult) {
|
|
1462
|
+
<div class="results-empty">
|
|
1463
|
+
<i class="fa-solid fa-hand-pointer"></i>
|
|
1464
|
+
<p>Click a region in the diagram or run an operation to see results</p>
|
|
1465
|
+
</div>
|
|
1466
|
+
}
|
|
1426
1467
|
</div>
|
|
1427
1468
|
</div>
|
|
1428
|
-
|
|
1469
|
+
|
|
1429
1470
|
<!-- Create List Dialog -->
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
<label>List Name *</label>
|
|
1441
|
-
<input
|
|
1442
|
-
type="text"
|
|
1443
|
-
[(ngModel)]="newListName"
|
|
1444
|
-
placeholder="Enter list name"
|
|
1445
|
-
class="form-input" />
|
|
1471
|
+
@if (showCreateDialog) {
|
|
1472
|
+
<div class="modal-overlay" (click)="cancelCreateDialog()"></div>
|
|
1473
|
+
}
|
|
1474
|
+
@if (showCreateDialog) {
|
|
1475
|
+
<div class="modal-dialog">
|
|
1476
|
+
<div class="modal-header">
|
|
1477
|
+
<h3>Create New List from Selection</h3>
|
|
1478
|
+
<button class="modal-close" (click)="cancelCreateDialog()">
|
|
1479
|
+
<i class="fa-solid fa-times"></i>
|
|
1480
|
+
</button>
|
|
1446
1481
|
</div>
|
|
1447
|
-
<div class="
|
|
1448
|
-
<
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1482
|
+
<div class="modal-body">
|
|
1483
|
+
<div class="form-group">
|
|
1484
|
+
<label>List Name *</label>
|
|
1485
|
+
<input
|
|
1486
|
+
type="text"
|
|
1487
|
+
[(ngModel)]="newListName"
|
|
1488
|
+
placeholder="Enter list name"
|
|
1489
|
+
class="form-input" />
|
|
1490
|
+
</div>
|
|
1491
|
+
<div class="form-group">
|
|
1492
|
+
<label>Description</label>
|
|
1493
|
+
<textarea
|
|
1494
|
+
[(ngModel)]="newListDescription"
|
|
1495
|
+
placeholder="Optional description"
|
|
1496
|
+
class="form-input"
|
|
1453
1497
|
rows="3"></textarea>
|
|
1498
|
+
</div>
|
|
1499
|
+
<div class="form-info">
|
|
1500
|
+
<i class="fa-solid fa-info-circle"></i>
|
|
1501
|
+
{{recordsToAdd.length}} record{{recordsToAdd.length !== 1 ? 's' : ''}} will be added to this list
|
|
1502
|
+
</div>
|
|
1454
1503
|
</div>
|
|
1455
|
-
<div class="
|
|
1456
|
-
<
|
|
1457
|
-
|
|
1504
|
+
<div class="modal-footer">
|
|
1505
|
+
<button class="btn-primary" (click)="confirmCreateList()" [disabled]="!newListName || isSaving">
|
|
1506
|
+
@if (isSaving) {
|
|
1507
|
+
<i class="fa-solid fa-spinner fa-spin"></i>
|
|
1508
|
+
}
|
|
1509
|
+
{{isSaving ? 'Creating...' : 'Create List'}}
|
|
1510
|
+
</button>
|
|
1511
|
+
<button class="btn-secondary" (click)="cancelCreateDialog()">Cancel</button>
|
|
1458
1512
|
</div>
|
|
1459
1513
|
</div>
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
<i *ngIf="isSaving" class="fa-solid fa-spinner fa-spin"></i>
|
|
1463
|
-
{{isSaving ? 'Creating...' : 'Create List'}}
|
|
1464
|
-
</button>
|
|
1465
|
-
<button class="btn-secondary" (click)="cancelCreateDialog()">Cancel</button>
|
|
1466
|
-
</div>
|
|
1467
|
-
</div>
|
|
1468
|
-
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1469
1516
|
<!-- Add to Existing List Dialog -->
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
<i class="fa-solid fa-info-circle"></i>
|
|
1481
|
-
{{recordsToAdd.length}} record{{recordsToAdd.length !== 1 ? 's' : ''}} will be added
|
|
1517
|
+
@if (showAddToListDialog) {
|
|
1518
|
+
<div class="modal-overlay" (click)="cancelAddToListDialog()"></div>
|
|
1519
|
+
}
|
|
1520
|
+
@if (showAddToListDialog) {
|
|
1521
|
+
<div class="modal-dialog add-to-list-dialog">
|
|
1522
|
+
<div class="modal-header">
|
|
1523
|
+
<h3>Add to Existing List</h3>
|
|
1524
|
+
<button class="modal-close" (click)="cancelAddToListDialog()">
|
|
1525
|
+
<i class="fa-solid fa-times"></i>
|
|
1526
|
+
</button>
|
|
1482
1527
|
</div>
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
<input
|
|
1488
|
-
type="text"
|
|
1489
|
-
[(ngModel)]="addToListSearchTerm"
|
|
1490
|
-
(ngModelChange)="filterAddToListOptions()"
|
|
1491
|
-
placeholder="Search lists..."
|
|
1492
|
-
class="form-input" />
|
|
1493
|
-
</div>
|
|
1494
|
-
|
|
1495
|
-
<!-- List options -->
|
|
1496
|
-
<div class="list-options">
|
|
1497
|
-
<div
|
|
1498
|
-
class="list-option"
|
|
1499
|
-
*ngFor="let list of filteredAddToListOptions"
|
|
1500
|
-
[class.selected]="selectedTargetListId === list.ID"
|
|
1501
|
-
(click)="selectTargetList(list.ID)">
|
|
1502
|
-
<div class="list-option-radio">
|
|
1503
|
-
<input
|
|
1504
|
-
type="radio"
|
|
1505
|
-
[checked]="selectedTargetListId === list.ID"
|
|
1506
|
-
name="targetList" />
|
|
1507
|
-
</div>
|
|
1508
|
-
<div class="list-option-info">
|
|
1509
|
-
<span class="list-option-name">{{list.Name}}</span>
|
|
1510
|
-
<span class="list-option-entity">{{list.Entity}}</span>
|
|
1511
|
-
</div>
|
|
1528
|
+
<div class="modal-body">
|
|
1529
|
+
<div class="form-info" style="margin-bottom: 16px;">
|
|
1530
|
+
<i class="fa-solid fa-info-circle"></i>
|
|
1531
|
+
{{recordsToAdd.length}} record{{recordsToAdd.length !== 1 ? 's' : ''}} will be added
|
|
1512
1532
|
</div>
|
|
1513
|
-
|
|
1514
|
-
<div class="list-
|
|
1515
|
-
<i class="fa-solid fa-
|
|
1516
|
-
<
|
|
1533
|
+
<!-- Search input -->
|
|
1534
|
+
<div class="list-search">
|
|
1535
|
+
<i class="fa-solid fa-search"></i>
|
|
1536
|
+
<input
|
|
1537
|
+
type="text"
|
|
1538
|
+
[(ngModel)]="addToListSearchTerm"
|
|
1539
|
+
(ngModelChange)="filterAddToListOptions()"
|
|
1540
|
+
placeholder="Search lists..."
|
|
1541
|
+
class="form-input" />
|
|
1542
|
+
</div>
|
|
1543
|
+
<!-- List options -->
|
|
1544
|
+
<div class="list-options">
|
|
1545
|
+
@for (list of filteredAddToListOptions; track list) {
|
|
1546
|
+
<div
|
|
1547
|
+
class="list-option"
|
|
1548
|
+
[class.selected]="selectedTargetListId === list.ID"
|
|
1549
|
+
(click)="selectTargetList(list.ID)">
|
|
1550
|
+
<div class="list-option-radio">
|
|
1551
|
+
<input
|
|
1552
|
+
type="radio"
|
|
1553
|
+
[checked]="selectedTargetListId === list.ID"
|
|
1554
|
+
name="targetList" />
|
|
1555
|
+
</div>
|
|
1556
|
+
<div class="list-option-info">
|
|
1557
|
+
<span class="list-option-name">{{list.Name}}</span>
|
|
1558
|
+
<span class="list-option-entity">{{list.Entity}}</span>
|
|
1559
|
+
</div>
|
|
1560
|
+
</div>
|
|
1561
|
+
}
|
|
1562
|
+
@if (filteredAddToListOptions.length === 0) {
|
|
1563
|
+
<div class="list-options-empty">
|
|
1564
|
+
<i class="fa-solid fa-inbox"></i>
|
|
1565
|
+
<p>{{addToListSearchTerm ? 'No lists match your search' : 'No other lists available'}}</p>
|
|
1566
|
+
</div>
|
|
1567
|
+
}
|
|
1517
1568
|
</div>
|
|
1518
1569
|
</div>
|
|
1570
|
+
<div class="modal-footer">
|
|
1571
|
+
<button class="btn-primary" (click)="confirmAddToList()" [disabled]="!selectedTargetListId || isSaving">
|
|
1572
|
+
@if (isSaving) {
|
|
1573
|
+
<i class="fa-solid fa-spinner fa-spin"></i>
|
|
1574
|
+
}
|
|
1575
|
+
{{isSaving ? 'Adding...' : 'Add to List'}}
|
|
1576
|
+
</button>
|
|
1577
|
+
<button class="btn-secondary" (click)="cancelAddToListDialog()">Cancel</button>
|
|
1578
|
+
</div>
|
|
1519
1579
|
</div>
|
|
1520
|
-
|
|
1521
|
-
<button class="btn-primary" (click)="confirmAddToList()" [disabled]="!selectedTargetListId || isSaving">
|
|
1522
|
-
<i *ngIf="isSaving" class="fa-solid fa-spinner fa-spin"></i>
|
|
1523
|
-
{{isSaving ? 'Adding...' : 'Add to List'}}
|
|
1524
|
-
</button>
|
|
1525
|
-
<button class="btn-secondary" (click)="cancelAddToListDialog()">Cancel</button>
|
|
1526
|
-
</div>
|
|
1527
|
-
</div>
|
|
1580
|
+
}
|
|
1528
1581
|
</div>
|
|
1529
|
-
`, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .operations-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n }\n\n .operations-header {\n padding: 20px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .header-top {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 4px;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .clear-all-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #f5f5f5;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 13px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .clear-all-btn:hover {\n background: #ffebee;\n border-color: #f44336;\n color: #d32f2f;\n }\n\n .clear-all-btn i {\n font-size: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: #9C27B0;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\n }\n\n .header-subtitle {\n color: #666;\n font-size: 14px;\n }\n\n .operations-content {\n display: grid;\n grid-template-columns: 280px 1fr 300px;\n gap: 16px;\n flex: 1;\n padding: 16px;\n overflow: hidden;\n }\n\n /* Panels */\n .selection-panel,\n .results-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .venn-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n position: relative;\n min-height: 400px;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .list-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n /* Entity Filter */\n .entity-filter-section {\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .filter-label {\n display: block;\n font-size: 11px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n }\n\n .entity-select {\n width: 100%;\n padding: 8px 12px;\n font-size: 13px;\n border: 1px solid #ddd;\n border-radius: 6px;\n background: white;\n cursor: pointer;\n outline: none;\n transition: border-color 0.2s;\n }\n\n .entity-select:focus {\n border-color: #9C27B0;\n }\n\n .entity-note {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 8px 12px;\n padding: 8px 10px;\n background: #e8f5e9;\n border-radius: 6px;\n font-size: 12px;\n color: #2e7d32;\n }\n\n .entity-note i {\n color: #4caf50;\n }\n\n /* Selected Lists */\n .selected-lists {\n flex: 1;\n overflow-y: auto;\n padding: 12px;\n }\n\n .selected-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px;\n background: #f8f9fa;\n border-radius: 6px;\n margin-bottom: 8px;\n }\n\n .item-color {\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex-shrink: 0;\n }\n\n .item-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n }\n\n .item-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .item-entity {\n font-size: 11px;\n color: #999;\n }\n\n .remove-btn {\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px;\n border-radius: 4px;\n }\n\n .remove-btn:hover {\n background: #e0e0e0;\n color: #666;\n }\n\n /* Add list area */\n .add-list-area {\n position: relative;\n }\n\n .add-list-search {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border: 1px dashed #ddd;\n border-radius: 6px;\n transition: border-color 0.2s;\n }\n\n .add-list-search:focus-within {\n border-color: #9C27B0;\n }\n\n .add-list-search i {\n color: #999;\n }\n\n .add-list-search input {\n flex: 1;\n border: none;\n outline: none;\n font-size: 13px;\n }\n\n .list-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 100;\n margin-top: 4px;\n }\n\n .dropdown-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n\n .dropdown-content {\n position: relative;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n max-height: 200px;\n overflow-y: auto;\n }\n\n .dropdown-item {\n display: flex;\n flex-direction: column;\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .dropdown-item:hover {\n background: #f5f5f5;\n }\n\n .dropdown-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n }\n\n .dropdown-entity {\n font-size: 11px;\n color: #999;\n }\n\n .lists-full {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n font-size: 12px;\n color: #999;\n background: #f8f9fa;\n border-radius: 6px;\n }\n\n .entity-warning {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n margin: 12px;\n padding: 10px;\n background: #fff8e1;\n border-radius: 6px;\n font-size: 12px;\n color: #856404;\n }\n\n .entity-warning i {\n color: #ffc107;\n margin-top: 2px;\n }\n\n /* Quick Operations */\n .quick-operations {\n padding: 12px;\n border-top: 1px solid #f0f0f0;\n }\n\n .quick-operations h4 {\n margin: 0 0 10px;\n font-size: 12px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .operation-buttons {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .op-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n font-size: 13px;\n color: #333;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .op-btn:hover:not(:disabled) {\n background: #e8f4fd;\n border-color: #9C27B0;\n color: #9C27B0;\n }\n\n .op-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n /* Venn Panel */\n .venn-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n text-align: center;\n padding: 40px;\n }\n\n .empty-icon {\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, rgba(156, 39, 176, 0.1) 0%, rgba(156, 39, 176, 0.05) 100%);\n border-radius: 50%;\n margin-bottom: 20px;\n }\n\n .empty-icon i {\n font-size: 36px;\n color: #9C27B0;\n }\n\n .venn-empty h3 {\n margin: 0 0 8px;\n font-size: 18px;\n color: #333;\n }\n\n .venn-empty p {\n margin: 0;\n color: #666;\n font-size: 14px;\n max-width: 300px;\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255,255,255,0.9);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n /* Results Panel */\n .region-details,\n .operation-result {\n padding: 16px;\n }\n\n .region-header,\n .result-header {\n margin-bottom: 16px;\n }\n\n .region-label,\n .result-operation {\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n margin-bottom: 4px;\n }\n\n .region-count,\n .result-count {\n font-size: 13px;\n color: #9C27B0;\n font-weight: 500;\n }\n\n .region-actions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 16px;\n }\n\n .action-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 14px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 13px;\n color: #333;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .action-btn:hover {\n background: #f5f5f5;\n }\n\n .action-btn.primary {\n background: #9C27B0;\n border-color: #9C27B0;\n color: white;\n }\n\n .action-btn.primary:hover {\n background: #7B1FA2;\n }\n\n .record-preview h5 {\n margin: 0 0 8px;\n font-size: 12px;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .preview-list {\n max-height: 200px;\n overflow-y: auto;\n }\n\n .preview-card {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n background: #f8f9fa;\n border-radius: 6px;\n margin-bottom: 6px;\n transition: all 0.15s ease;\n }\n\n .preview-card:hover {\n background: #eef1f5;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n }\n\n .preview-card-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .preview-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .preview-secondary {\n font-size: 11px;\n color: #888;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .preview-open-btn {\n background: none;\n border: none;\n color: #9C27B0;\n cursor: pointer;\n padding: 6px 8px;\n border-radius: 4px;\n opacity: 0.6;\n transition: all 0.15s ease;\n flex-shrink: 0;\n }\n\n .preview-open-btn:hover {\n opacity: 1;\n background: rgba(156, 39, 176, 0.1);\n }\n\n .preview-loading {\n padding: 12px;\n text-align: center;\n }\n\n .results-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 200px;\n text-align: center;\n color: #999;\n }\n\n .results-empty i {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n }\n\n .results-empty p {\n font-size: 13px;\n margin: 0;\n max-width: 200px;\n }\n\n /* Modal */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0,0,0,0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n width: 420px;\n max-width: 90vw;\n z-index: 1001;\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 16px;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px 8px;\n }\n\n .modal-body {\n padding: 20px;\n }\n\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #9C27B0;\n box-shadow: 0 0 0 3px rgba(156, 39, 176, 0.1);\n }\n\n textarea.form-input {\n resize: vertical;\n }\n\n .form-info {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px;\n background: #f8f9fa;\n border-radius: 6px;\n font-size: 13px;\n color: #666;\n }\n\n .form-info i {\n color: #9C27B0;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #9C27B0;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #7B1FA2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n }\n\n .btn-secondary:hover {\n background: #f5f5f5;\n }\n\n /* Add to List Dialog */\n .add-to-list-dialog {\n width: 480px;\n }\n\n .add-to-list-dialog .modal-body {\n max-height: 400px;\n overflow-y: auto;\n }\n\n .list-search {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n margin-bottom: 12px;\n }\n\n .list-search i {\n color: #999;\n flex-shrink: 0;\n }\n\n .list-search .form-input {\n flex: 1;\n border: none;\n background: transparent;\n padding: 0;\n font-size: 14px;\n }\n\n .list-search .form-input:focus {\n box-shadow: none;\n outline: none;\n }\n\n .list-options {\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n max-height: 250px;\n overflow-y: auto;\n }\n\n .list-option {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n cursor: pointer;\n transition: background 0.15s;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .list-option:last-child {\n border-bottom: none;\n }\n\n .list-option:hover {\n background: #f8f9fa;\n }\n\n .list-option.selected {\n background: #f3e5f5;\n }\n\n .list-option-radio {\n flex-shrink: 0;\n }\n\n .list-option-radio input[type=\"radio\"] {\n width: 18px;\n height: 18px;\n cursor: pointer;\n accent-color: #9C27B0;\n }\n\n .list-option-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .list-option-name {\n font-size: 14px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-option-entity {\n font-size: 12px;\n color: #888;\n }\n\n .list-options-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 30px 20px;\n text-align: center;\n color: #999;\n }\n\n .list-options-empty i {\n font-size: 28px;\n margin-bottom: 10px;\n opacity: 0.5;\n }\n\n .list-options-empty p {\n margin: 0;\n font-size: 13px;\n }\n\n /* Responsive */\n @media (max-width: 1024px) {\n .operations-content {\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr auto;\n }\n\n .selection-panel {\n order: 1;\n }\n\n .venn-panel {\n order: 2;\n min-height: 300px;\n }\n\n .results-panel {\n order: 3;\n }\n }\n "] }]
|
|
1582
|
+
`, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .operations-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n }\n\n .operations-header {\n padding: 20px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .header-top {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 4px;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .clear-all-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #f5f5f5;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 13px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .clear-all-btn:hover {\n background: #ffebee;\n border-color: #f44336;\n color: #d32f2f;\n }\n\n .clear-all-btn i {\n font-size: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: #9C27B0;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\n }\n\n .header-subtitle {\n color: #666;\n font-size: 14px;\n }\n\n .operations-content {\n display: grid;\n grid-template-columns: 280px 1fr 300px;\n gap: 16px;\n flex: 1;\n padding: 16px;\n overflow: hidden;\n }\n\n /* Panels */\n .selection-panel,\n .results-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .venn-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n position: relative;\n min-height: 400px;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .list-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n /* Entity Filter */\n .entity-filter-section {\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .filter-label {\n display: block;\n font-size: 11px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n }\n\n .entity-select {\n width: 100%;\n padding: 8px 12px;\n font-size: 13px;\n border: 1px solid #ddd;\n border-radius: 6px;\n background: white;\n cursor: pointer;\n outline: none;\n transition: border-color 0.2s;\n }\n\n .entity-select:focus {\n border-color: #9C27B0;\n }\n\n .entity-note {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 8px 12px;\n padding: 8px 10px;\n background: #e8f5e9;\n border-radius: 6px;\n font-size: 12px;\n color: #2e7d32;\n }\n\n .entity-note i {\n color: #4caf50;\n }\n\n /* Selected Lists */\n .selected-lists {\n flex: 1;\n overflow-y: auto;\n padding: 12px;\n }\n\n .selected-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px;\n background: #f8f9fa;\n border-radius: 6px;\n margin-bottom: 8px;\n }\n\n .item-color {\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex-shrink: 0;\n }\n\n .item-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n }\n\n .item-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .item-entity {\n font-size: 11px;\n color: #999;\n }\n\n .remove-btn {\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px;\n border-radius: 4px;\n }\n\n .remove-btn:hover {\n background: #e0e0e0;\n color: #666;\n }\n\n /* Add list area */\n .add-list-area {\n position: relative;\n }\n\n .add-list-search {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border: 1px dashed #ddd;\n border-radius: 6px;\n transition: border-color 0.2s;\n }\n\n .add-list-search:focus-within {\n border-color: #9C27B0;\n }\n\n .add-list-search i {\n color: #999;\n }\n\n .add-list-search input {\n flex: 1;\n border: none;\n outline: none;\n font-size: 13px;\n }\n\n .list-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 100;\n margin-top: 4px;\n }\n\n .dropdown-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n\n .dropdown-content {\n position: relative;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n max-height: 200px;\n overflow-y: auto;\n }\n\n .dropdown-item {\n display: flex;\n flex-direction: column;\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .dropdown-item:hover {\n background: #f5f5f5;\n }\n\n .dropdown-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n }\n\n .dropdown-entity {\n font-size: 11px;\n color: #999;\n }\n\n .lists-full {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n font-size: 12px;\n color: #999;\n background: #f8f9fa;\n border-radius: 6px;\n }\n\n .entity-warning {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n margin: 12px;\n padding: 10px;\n background: #fff8e1;\n border-radius: 6px;\n font-size: 12px;\n color: #856404;\n }\n\n .entity-warning i {\n color: #ffc107;\n margin-top: 2px;\n }\n\n /* Quick Operations */\n .quick-operations {\n padding: 12px;\n border-top: 1px solid #f0f0f0;\n }\n\n .quick-operations h4 {\n margin: 0 0 10px;\n font-size: 12px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .operation-buttons {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .op-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n font-size: 13px;\n color: #333;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .op-btn:hover:not(:disabled) {\n background: #e8f4fd;\n border-color: #9C27B0;\n color: #9C27B0;\n }\n\n .op-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n /* Venn Panel */\n .venn-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n text-align: center;\n padding: 40px;\n }\n\n .empty-icon {\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, rgba(156, 39, 176, 0.1) 0%, rgba(156, 39, 176, 0.05) 100%);\n border-radius: 50%;\n margin-bottom: 20px;\n }\n\n .empty-icon i {\n font-size: 36px;\n color: #9C27B0;\n }\n\n .venn-empty h3 {\n margin: 0 0 8px;\n font-size: 18px;\n color: #333;\n }\n\n .venn-empty p {\n margin: 0;\n color: #666;\n font-size: 14px;\n max-width: 300px;\n }\n\n .loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255,255,255,0.9);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n /* Results Panel */\n .region-details,\n .operation-result {\n padding: 16px;\n }\n\n .region-header,\n .result-header {\n margin-bottom: 16px;\n }\n\n .region-label,\n .result-operation {\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n margin-bottom: 4px;\n }\n\n .region-count,\n .result-count {\n font-size: 13px;\n color: #9C27B0;\n font-weight: 500;\n }\n\n .region-actions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 16px;\n }\n\n .action-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 14px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 13px;\n color: #333;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .action-btn:hover {\n background: #f5f5f5;\n }\n\n .action-btn.primary {\n background: #9C27B0;\n border-color: #9C27B0;\n color: white;\n }\n\n .action-btn.primary:hover {\n background: #7B1FA2;\n }\n\n .record-preview h5 {\n margin: 0 0 8px;\n font-size: 12px;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .preview-list {\n max-height: 200px;\n overflow-y: auto;\n }\n\n .preview-card {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n background: #f8f9fa;\n border-radius: 6px;\n margin-bottom: 6px;\n transition: all 0.15s ease;\n }\n\n .preview-card:hover {\n background: #eef1f5;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n }\n\n .preview-card-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .preview-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .preview-secondary {\n font-size: 11px;\n color: #888;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .preview-open-btn {\n background: none;\n border: none;\n color: #9C27B0;\n cursor: pointer;\n padding: 6px 8px;\n border-radius: 4px;\n opacity: 0.6;\n transition: all 0.15s ease;\n flex-shrink: 0;\n }\n\n .preview-open-btn:hover {\n opacity: 1;\n background: rgba(156, 39, 176, 0.1);\n }\n\n .preview-loading {\n padding: 12px;\n text-align: center;\n }\n\n .results-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 200px;\n text-align: center;\n color: #999;\n }\n\n .results-empty i {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n }\n\n .results-empty p {\n font-size: 13px;\n margin: 0;\n max-width: 200px;\n }\n\n /* Modal */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0,0,0,0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n width: 420px;\n max-width: 90vw;\n z-index: 1001;\n }\n\n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 16px;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n color: #999;\n cursor: pointer;\n padding: 4px 8px;\n }\n\n .modal-body {\n padding: 20px;\n }\n\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #9C27B0;\n box-shadow: 0 0 0 3px rgba(156, 39, 176, 0.1);\n }\n\n textarea.form-input {\n resize: vertical;\n }\n\n .form-info {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px;\n background: #f8f9fa;\n border-radius: 6px;\n font-size: 13px;\n color: #666;\n }\n\n .form-info i {\n color: #9C27B0;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #9C27B0;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #7B1FA2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n }\n\n .btn-secondary:hover {\n background: #f5f5f5;\n }\n\n /* Add to List Dialog */\n .add-to-list-dialog {\n width: 480px;\n }\n\n .add-to-list-dialog .modal-body {\n max-height: 400px;\n overflow-y: auto;\n }\n\n .list-search {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n background: #f8f9fa;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n margin-bottom: 12px;\n }\n\n .list-search i {\n color: #999;\n flex-shrink: 0;\n }\n\n .list-search .form-input {\n flex: 1;\n border: none;\n background: transparent;\n padding: 0;\n font-size: 14px;\n }\n\n .list-search .form-input:focus {\n box-shadow: none;\n outline: none;\n }\n\n .list-options {\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n max-height: 250px;\n overflow-y: auto;\n }\n\n .list-option {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n cursor: pointer;\n transition: background 0.15s;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .list-option:last-child {\n border-bottom: none;\n }\n\n .list-option:hover {\n background: #f8f9fa;\n }\n\n .list-option.selected {\n background: #f3e5f5;\n }\n\n .list-option-radio {\n flex-shrink: 0;\n }\n\n .list-option-radio input[type=\"radio\"] {\n width: 18px;\n height: 18px;\n cursor: pointer;\n accent-color: #9C27B0;\n }\n\n .list-option-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .list-option-name {\n font-size: 14px;\n font-weight: 500;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-option-entity {\n font-size: 12px;\n color: #888;\n }\n\n .list-options-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 30px 20px;\n text-align: center;\n color: #999;\n }\n\n .list-options-empty i {\n font-size: 28px;\n margin-bottom: 10px;\n opacity: 0.5;\n }\n\n .list-options-empty p {\n margin: 0;\n font-size: 13px;\n }\n\n /* Responsive */\n @media (max-width: 1024px) {\n .operations-content {\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr auto;\n }\n\n .selection-panel {\n order: 1;\n }\n\n .venn-panel {\n order: 2;\n min-height: 300px;\n }\n\n .results-panel {\n order: 3;\n }\n }\n "] }]
|
|
1530
1583
|
}], () => [{ type: i0.ChangeDetectorRef }, { type: i1.ListSetOperationsService }, { type: i2.MJNotificationService }], null); })();
|
|
1531
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsOperationsResource, { className: "ListsOperationsResource", filePath: "src/
|
|
1584
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsOperationsResource, { className: "ListsOperationsResource", filePath: "src/lists/components/lists-operations-resource.component.ts", lineNumber: 1290 }); })();
|
|
1532
1585
|
//# sourceMappingURL=lists-operations-resource.component.js.map
|