@memberjunction/ng-dashboards 5.38.0 → 5.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -7
- package/dist/AI/components/agents/agent-configuration.component.js +199 -198
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +20 -17
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +15 -0
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +166 -58
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +2 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +1 -0
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.js +55 -36
- package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts +9 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +158 -117
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts +1 -0
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +22 -8
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +217 -860
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +1717 -7802
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts +56 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js +423 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts +70 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js +308 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts +29 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +186 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts +69 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js +278 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts +73 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js +393 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts +122 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js +908 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts +87 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js +475 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts +29 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js +208 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts +21 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js +70 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts +333 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +2125 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts +61 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.js +78 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.format.d.ts +58 -0
- package/dist/AI/components/autotagging/shared/classify.format.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.format.js +260 -0
- package/dist/AI/components/autotagging/shared/classify.format.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.types.d.ts +319 -0
- package/dist/AI/components/autotagging/shared/classify.types.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.types.js +6 -0
- package/dist/AI/components/autotagging/shared/classify.types.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts +103 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.js +571 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts +77 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.js +519 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts +107 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.js +719 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts +131 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js +813 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts +177 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1465 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts +78 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.js +492 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts +397 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js +3490 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts +56 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.js +271 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.js.map +1 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +3 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +306 -290
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js +1 -1
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.js +209 -208
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +130 -128
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.js +61 -61
- package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +17 -17
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.d.ts +1 -0
- package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +578 -538
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +3 -0
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +331 -303
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.d.ts +5 -0
- package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.js +14 -2
- package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
- package/dist/AI/services/cache-metrics.d.ts +50 -0
- package/dist/AI/services/cache-metrics.d.ts.map +1 -0
- package/dist/AI/services/cache-metrics.js +43 -0
- package/dist/AI/services/cache-metrics.js.map +1 -0
- package/dist/APIKeys/api-applications-panel.component.js +2 -2
- package/dist/APIKeys/api-key-create-dialog.component.js +2 -2
- package/dist/APIKeys/api-key-edit-panel.component.js +2 -2
- package/dist/APIKeys/api-keys-resource.component.js +132 -131
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +141 -141
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +15 -15
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +0 -5
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +139 -212
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +2 -2
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +2 -2
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +2 -2
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +2 -2
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +54 -49
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +6 -0
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +72 -50
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +103 -102
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +52 -51
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +39 -38
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +6 -0
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +92 -89
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +136 -135
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +155 -152
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +119 -118
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +129 -128
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +107 -106
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +31 -340
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +468 -1958
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.js +10 -0
- package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +115 -114
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +5 -6
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +4 -5
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/DevTools/app-state-inspector.component.js +18 -17
- package/dist/DevTools/app-state-inspector.component.js.map +1 -1
- package/dist/DevTools/class-registry.component.js +88 -85
- package/dist/DevTools/class-registry.component.js.map +1 -1
- package/dist/DevTools/event-monitor.component.js +155 -150
- package/dist/DevTools/event-monitor.component.js.map +1 -1
- package/dist/DevTools/graphql-console.component.js +245 -243
- package/dist/DevTools/graphql-console.component.js.map +1 -1
- package/dist/DevTools/layout-inspector.component.js +18 -17
- package/dist/DevTools/layout-inspector.component.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -19
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.js +2 -2
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +236 -229
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +390 -389
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.js +2 -2
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +14 -11
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts +27 -2
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +244 -119
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +293 -291
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +62 -61
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts +65 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js +176 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js.map +1 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts +81 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js +308 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js.map +1 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts +85 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js +362 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js.map +1 -0
- package/dist/KnowledgeHub/index.d.ts +3 -0
- package/dist/KnowledgeHub/index.d.ts.map +1 -1
- package/dist/KnowledgeHub/index.js +3 -0
- package/dist/KnowledgeHub/index.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +6 -2
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +525 -566
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +135 -134
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +199 -198
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/MCP/components/mcp-server-dialog.component.js +2 -2
- package/dist/MCP/mcp-dashboard.component.js +443 -438
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +146 -147
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +76 -75
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +97 -96
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +24 -22
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +2 -0
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.js +1 -0
- package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +14 -4
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +436 -427
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +1 -1
- package/dist/Testing/components/testing-runs.component.js +116 -115
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +6 -7
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js +173 -172
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.d.ts +6 -0
- package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js +116 -92
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +57 -35
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +80 -1
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +1 -1
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +7 -1
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/data-explorer-dashboards.module.d.ts +12 -14
- package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
- package/dist/data-explorer-dashboards.module.js +5 -14
- package/dist/data-explorer-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +3 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -0
- package/dist/public-api.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +4 -5
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +7 -5
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +57 -54
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts +0 -79
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +0 -1
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +0 -195
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +0 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts +0 -226
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +0 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.js +0 -861
- package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +0 -1
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
-
import { CompositeFilterDescriptor, FilterFieldInfo } from '@memberjunction/ng-filter-builder';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* FilterDialogComponent - Modal dialog for editing filters
|
|
6
|
-
*
|
|
7
|
-
* Provides a full-width editing experience for the filter builder,
|
|
8
|
-
* suitable for complex filter expressions.
|
|
9
|
-
*/
|
|
10
|
-
export declare class FilterDialogComponent implements OnInit {
|
|
11
|
-
/**
|
|
12
|
-
* Whether the dialog is open
|
|
13
|
-
*/
|
|
14
|
-
isOpen: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Available fields to filter on
|
|
17
|
-
*/
|
|
18
|
-
fields: FilterFieldInfo[];
|
|
19
|
-
/**
|
|
20
|
-
* Current filter state
|
|
21
|
-
*/
|
|
22
|
-
filter: CompositeFilterDescriptor;
|
|
23
|
-
/**
|
|
24
|
-
* Whether the filter builder is disabled (read-only mode)
|
|
25
|
-
*/
|
|
26
|
-
disabled: boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Emitted when the dialog should close
|
|
29
|
-
*/
|
|
30
|
-
close: EventEmitter<void>;
|
|
31
|
-
/**
|
|
32
|
-
* Emitted when the filter is applied
|
|
33
|
-
*/
|
|
34
|
-
apply: EventEmitter<CompositeFilterDescriptor>;
|
|
35
|
-
/**
|
|
36
|
-
* Internal working copy of the filter
|
|
37
|
-
*/
|
|
38
|
-
workingFilter: CompositeFilterDescriptor;
|
|
39
|
-
/**
|
|
40
|
-
* Handle Escape key to close dialog
|
|
41
|
-
*/
|
|
42
|
-
handleEscape(): void;
|
|
43
|
-
ngOnInit(): void;
|
|
44
|
-
/**
|
|
45
|
-
* Initialize working filter when input changes
|
|
46
|
-
*/
|
|
47
|
-
ngOnChanges(): void;
|
|
48
|
-
/**
|
|
49
|
-
* Create a working copy of the filter
|
|
50
|
-
*/
|
|
51
|
-
private initializeWorkingFilter;
|
|
52
|
-
/**
|
|
53
|
-
* Handle filter changes from the filter builder
|
|
54
|
-
*/
|
|
55
|
-
onFilterChange(filter: CompositeFilterDescriptor): void;
|
|
56
|
-
/**
|
|
57
|
-
* Apply the filter and close
|
|
58
|
-
*/
|
|
59
|
-
onApply(): void;
|
|
60
|
-
/**
|
|
61
|
-
* Cancel and close without saving
|
|
62
|
-
*/
|
|
63
|
-
onCancel(): void;
|
|
64
|
-
/**
|
|
65
|
-
* Clear all filters
|
|
66
|
-
*/
|
|
67
|
-
onClear(): void;
|
|
68
|
-
/**
|
|
69
|
-
* Get filter count for display
|
|
70
|
-
*/
|
|
71
|
-
getFilterCount(): number;
|
|
72
|
-
/**
|
|
73
|
-
* Count filters recursively
|
|
74
|
-
*/
|
|
75
|
-
private countFilters;
|
|
76
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FilterDialogComponent, never>;
|
|
77
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FilterDialogComponent, "mj-filter-dialog", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "close": "close"; "apply": "apply"; }, never, never, false, never>;
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=filter-dialog.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/DataExplorer/components/filter-dialog/filter-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAgB,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAqB,MAAM,mCAAmC,CAAC;;AAElH;;;;;GAKG;AACH,qBAMa,qBAAsB,YAAW,MAAM;IAClD;;OAEG;IACM,MAAM,EAAE,OAAO,CAAS;IAEjC;;OAEG;IACM,MAAM,EAAE,eAAe,EAAE,CAAM;IAExC;;OAEG;IACM,MAAM,EAAE,yBAAyB,CAAuB;IAEjE;;OAEG;IACM,QAAQ,EAAE,OAAO,CAAS;IAEnC;;OAEG;IACO,KAAK,qBAA4B;IAE3C;;OAEG;IACO,KAAK,0CAAiD;IAEhE;;OAEG;IACI,aAAa,EAAE,yBAAyB,CAAuB;IAEtE;;OAEG;IAEH,YAAY,IAAI,IAAI;IAMpB,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,WAAW,IAAI,IAAI;IAMnB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAIvD;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,OAAO,CAAC,YAAY;yCA1GT,qBAAqB;2CAArB,qBAAqB;CAqHjC"}
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';
|
|
2
|
-
import { createEmptyFilter } from '@memberjunction/ng-filter-builder';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@memberjunction/ng-filter-builder";
|
|
5
|
-
const _c0 = () => ({ showClearButton: false, applyOnChange: true });
|
|
6
|
-
function FilterDialogComponent_Conditional_0_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
7
|
-
i0.ɵɵelementStart(0, "span", 5);
|
|
8
|
-
i0.ɵɵtext(1);
|
|
9
|
-
i0.ɵɵelementEnd();
|
|
10
|
-
} if (rf & 2) {
|
|
11
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
12
|
-
i0.ɵɵadvance();
|
|
13
|
-
i0.ɵɵtextInterpolate(ctx_r1.getFilterCount());
|
|
14
|
-
} }
|
|
15
|
-
function FilterDialogComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
17
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
18
|
-
i0.ɵɵlistener("click", function FilterDialogComponent_Conditional_0_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCancel()); });
|
|
19
|
-
i0.ɵɵelementEnd();
|
|
20
|
-
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
21
|
-
i0.ɵɵelement(4, "i", 4);
|
|
22
|
-
i0.ɵɵelementStart(5, "span");
|
|
23
|
-
i0.ɵɵtext(6, "Edit Filters");
|
|
24
|
-
i0.ɵɵelementEnd();
|
|
25
|
-
i0.ɵɵconditionalCreate(7, FilterDialogComponent_Conditional_0_Conditional_7_Template, 2, 1, "span", 5);
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
i0.ɵɵelementStart(8, "button", 6);
|
|
28
|
-
i0.ɵɵlistener("click", function FilterDialogComponent_Conditional_0_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCancel()); });
|
|
29
|
-
i0.ɵɵelement(9, "i", 7);
|
|
30
|
-
i0.ɵɵelementEnd()();
|
|
31
|
-
i0.ɵɵelementStart(10, "div", 8)(11, "mj-filter-builder", 9);
|
|
32
|
-
i0.ɵɵlistener("filterChange", function FilterDialogComponent_Conditional_0_Template_mj_filter_builder_filterChange_11_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onFilterChange($event)); });
|
|
33
|
-
i0.ɵɵelementEnd()();
|
|
34
|
-
i0.ɵɵelementStart(12, "div", 10)(13, "button", 11);
|
|
35
|
-
i0.ɵɵlistener("click", function FilterDialogComponent_Conditional_0_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onClear()); });
|
|
36
|
-
i0.ɵɵelement(14, "i", 12);
|
|
37
|
-
i0.ɵɵtext(15, " Clear All ");
|
|
38
|
-
i0.ɵɵelementEnd();
|
|
39
|
-
i0.ɵɵelementStart(16, "div", 13)(17, "button", 14);
|
|
40
|
-
i0.ɵɵlistener("click", function FilterDialogComponent_Conditional_0_Template_button_click_17_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCancel()); });
|
|
41
|
-
i0.ɵɵtext(18, " Cancel ");
|
|
42
|
-
i0.ɵɵelementEnd();
|
|
43
|
-
i0.ɵɵelementStart(19, "button", 15);
|
|
44
|
-
i0.ɵɵlistener("click", function FilterDialogComponent_Conditional_0_Template_button_click_19_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onApply()); });
|
|
45
|
-
i0.ɵɵelement(20, "i", 16);
|
|
46
|
-
i0.ɵɵtext(21, " Apply Filters ");
|
|
47
|
-
i0.ɵɵelementEnd()()()();
|
|
48
|
-
} if (rf & 2) {
|
|
49
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
50
|
-
i0.ɵɵadvance(7);
|
|
51
|
-
i0.ɵɵconditional(ctx_r1.getFilterCount() > 0 ? 7 : -1);
|
|
52
|
-
i0.ɵɵadvance(4);
|
|
53
|
-
i0.ɵɵproperty("fields", ctx_r1.fields)("filter", ctx_r1.workingFilter)("disabled", ctx_r1.disabled)("showSummary", true)("config", i0.ɵɵpureFunction0(8, _c0));
|
|
54
|
-
i0.ɵɵadvance(2);
|
|
55
|
-
i0.ɵɵproperty("disabled", ctx_r1.disabled || ctx_r1.getFilterCount() === 0);
|
|
56
|
-
i0.ɵɵadvance(6);
|
|
57
|
-
i0.ɵɵproperty("disabled", ctx_r1.disabled);
|
|
58
|
-
} }
|
|
59
|
-
/**
|
|
60
|
-
* FilterDialogComponent - Modal dialog for editing filters
|
|
61
|
-
*
|
|
62
|
-
* Provides a full-width editing experience for the filter builder,
|
|
63
|
-
* suitable for complex filter expressions.
|
|
64
|
-
*/
|
|
65
|
-
export class FilterDialogComponent {
|
|
66
|
-
/**
|
|
67
|
-
* Whether the dialog is open
|
|
68
|
-
*/
|
|
69
|
-
isOpen = false;
|
|
70
|
-
/**
|
|
71
|
-
* Available fields to filter on
|
|
72
|
-
*/
|
|
73
|
-
fields = [];
|
|
74
|
-
/**
|
|
75
|
-
* Current filter state
|
|
76
|
-
*/
|
|
77
|
-
filter = createEmptyFilter();
|
|
78
|
-
/**
|
|
79
|
-
* Whether the filter builder is disabled (read-only mode)
|
|
80
|
-
*/
|
|
81
|
-
disabled = false;
|
|
82
|
-
/**
|
|
83
|
-
* Emitted when the dialog should close
|
|
84
|
-
*/
|
|
85
|
-
close = new EventEmitter();
|
|
86
|
-
/**
|
|
87
|
-
* Emitted when the filter is applied
|
|
88
|
-
*/
|
|
89
|
-
apply = new EventEmitter();
|
|
90
|
-
/**
|
|
91
|
-
* Internal working copy of the filter
|
|
92
|
-
*/
|
|
93
|
-
workingFilter = createEmptyFilter();
|
|
94
|
-
/**
|
|
95
|
-
* Handle Escape key to close dialog
|
|
96
|
-
*/
|
|
97
|
-
handleEscape() {
|
|
98
|
-
if (this.isOpen) {
|
|
99
|
-
this.onCancel();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
ngOnInit() {
|
|
103
|
-
this.initializeWorkingFilter();
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Initialize working filter when input changes
|
|
107
|
-
*/
|
|
108
|
-
ngOnChanges() {
|
|
109
|
-
if (this.isOpen) {
|
|
110
|
-
this.initializeWorkingFilter();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Create a working copy of the filter
|
|
115
|
-
*/
|
|
116
|
-
initializeWorkingFilter() {
|
|
117
|
-
// Deep clone to avoid mutating the original
|
|
118
|
-
this.workingFilter = JSON.parse(JSON.stringify(this.filter || createEmptyFilter()));
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Handle filter changes from the filter builder
|
|
122
|
-
*/
|
|
123
|
-
onFilterChange(filter) {
|
|
124
|
-
this.workingFilter = filter;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Apply the filter and close
|
|
128
|
-
*/
|
|
129
|
-
onApply() {
|
|
130
|
-
this.apply.emit(this.workingFilter);
|
|
131
|
-
this.close.emit();
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Cancel and close without saving
|
|
135
|
-
*/
|
|
136
|
-
onCancel() {
|
|
137
|
-
this.close.emit();
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Clear all filters
|
|
141
|
-
*/
|
|
142
|
-
onClear() {
|
|
143
|
-
this.workingFilter = createEmptyFilter();
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Get filter count for display
|
|
147
|
-
*/
|
|
148
|
-
getFilterCount() {
|
|
149
|
-
return this.countFilters(this.workingFilter);
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Count filters recursively
|
|
153
|
-
*/
|
|
154
|
-
countFilters(filter) {
|
|
155
|
-
let count = 0;
|
|
156
|
-
for (const item of filter.filters || []) {
|
|
157
|
-
if ('logic' in item && 'filters' in item) {
|
|
158
|
-
count += this.countFilters(item);
|
|
159
|
-
}
|
|
160
|
-
else if ('field' in item) {
|
|
161
|
-
count++;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return count;
|
|
165
|
-
}
|
|
166
|
-
static ɵfac = function FilterDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FilterDialogComponent)(); };
|
|
167
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FilterDialogComponent, selectors: [["mj-filter-dialog"]], hostBindings: function FilterDialogComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
168
|
-
i0.ɵɵlistener("keydown.escape", function FilterDialogComponent_keydown_escape_HostBindingHandler() { return ctx.handleEscape(); }, i0.ɵɵresolveDocument);
|
|
169
|
-
} }, inputs: { isOpen: "isOpen", fields: "fields", filter: "filter", disabled: "disabled" }, outputs: { close: "close", apply: "apply" }, standalone: false, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[1, "dialog-backdrop", 3, "click"], [1, "filter-dialog"], [1, "dialog-header"], [1, "header-title"], [1, "fa-solid", "fa-filter"], [1, "filter-badge"], ["title", "Close", 1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "dialog-content"], [3, "filterChange", "fields", "filter", "disabled", "showSummary", "config"], [1, "dialog-footer"], [1, "footer-btn", "clear-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-eraser"], [1, "footer-right"], [1, "footer-btn", "cancel-btn", 3, "click"], [1, "footer-btn", "apply-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-check"]], template: function FilterDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
170
|
-
i0.ɵɵconditionalCreate(0, FilterDialogComponent_Conditional_0_Template, 22, 9);
|
|
171
|
-
} if (rf & 2) {
|
|
172
|
-
i0.ɵɵconditional(ctx.isOpen ? 0 : -1);
|
|
173
|
-
} }, dependencies: [i1.FilterBuilderComponent], styles: ["\n\n.dialog-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n z-index: 2000; \n\n animation: _ngcontent-%COMP%_fadeIn 0.15s ease;\n}\n\n\n\n.filter-dialog[_ngcontent-%COMP%] {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 90%;\n max-width: 800px;\n max-height: 85vh;\n background: var(--mj-bg-surface);\n border-radius: 12px;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);\n z-index: 2001; \n\n display: flex;\n flex-direction: column;\n animation: _ngcontent-%COMP%_slideIn 0.2s ease;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes _ngcontent-%COMP%_slideIn {\n from {\n opacity: 0;\n transform: translate(-50%, -48%);\n }\n to {\n opacity: 1;\n transform: translate(-50%, -50%);\n }\n}\n\n\n\n.dialog-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n}\n\n.header-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.header-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.filter-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n font-size: 12px;\n font-weight: 600;\n padding: 2px 8px;\n border-radius: 10px;\n}\n\n.close-btn[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n border: none;\n background: transparent;\n border-radius: 6px;\n cursor: pointer;\n color: var(--mj-text-disabled);\n font-size: 16px;\n transition: all 0.15s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.close-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-primary);\n}\n\n\n\n.dialog-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n min-height: 200px;\n}\n\n\n\n.dialog-footer[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n border-radius: 0 0 12px 12px;\n flex-shrink: 0;\n}\n\n.footer-right[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n\n.footer-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 10px 16px;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.footer-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.footer-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.clear-btn[_ngcontent-%COMP%] {\n background: transparent;\n color: var(--mj-status-error);\n border: 1px solid var(--mj-border-default);\n}\n\n.clear-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-status-error-bg);\n border-color: var(--mj-status-error);\n}\n\n.cancel-btn[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n}\n\n.cancel-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n.apply-btn[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.apply-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n}\n\n\n\n@media (max-width: 600px) {\n .filter-dialog[_ngcontent-%COMP%] {\n width: 95%;\n max-height: 90vh;\n border-radius: 8px;\n }\n\n .dialog-header[_ngcontent-%COMP%] {\n padding: 14px 16px;\n }\n\n .header-title[_ngcontent-%COMP%] {\n font-size: 16px;\n }\n\n .dialog-content[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .dialog-footer[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 12px;\n padding: 14px 16px;\n }\n\n .footer-right[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: stretch;\n }\n\n .footer-btn[_ngcontent-%COMP%] {\n flex: 1;\n justify-content: center;\n }\n\n .clear-btn[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: center;\n }\n}"] });
|
|
174
|
-
}
|
|
175
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FilterDialogComponent, [{
|
|
176
|
-
type: Component,
|
|
177
|
-
args: [{ standalone: false, selector: 'mj-filter-dialog', template: "@if (isOpen) {\n <!-- Backdrop -->\n <div class=\"dialog-backdrop\" (click)=\"onCancel()\"></div>\n\n <!-- Dialog -->\n <div class=\"filter-dialog\">\n <!-- Header -->\n <div class=\"dialog-header\">\n <div class=\"header-title\">\n <i class=\"fa-solid fa-filter\"></i>\n <span>Edit Filters</span>\n @if (getFilterCount() > 0) {\n <span class=\"filter-badge\">{{ getFilterCount() }}</span>\n }\n </div>\n <button class=\"close-btn\" (click)=\"onCancel()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Content -->\n <div class=\"dialog-content\">\n <mj-filter-builder\n [fields]=\"fields\"\n [filter]=\"workingFilter\"\n [disabled]=\"disabled\"\n [showSummary]=\"true\"\n [config]=\"{ showClearButton: false, applyOnChange: true }\"\n (filterChange)=\"onFilterChange($event)\">\n </mj-filter-builder>\n </div>\n\n <!-- Footer -->\n <div class=\"dialog-footer\">\n <button class=\"footer-btn clear-btn\" (click)=\"onClear()\" [disabled]=\"disabled || getFilterCount() === 0\">\n <i class=\"fa-solid fa-eraser\"></i>\n Clear All\n </button>\n <div class=\"footer-right\">\n <button class=\"footer-btn cancel-btn\" (click)=\"onCancel()\">\n Cancel\n </button>\n <button class=\"footer-btn apply-btn\" (click)=\"onApply()\" [disabled]=\"disabled\">\n <i class=\"fa-solid fa-check\"></i>\n Apply Filters\n </button>\n </div>\n </div>\n </div>\n}\n", styles: ["/* Backdrop */\n.dialog-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n z-index: 2000; /* Above view-config-panel (1201) and Leaflet map (1000) */\n animation: fadeIn 0.15s ease;\n}\n\n/* Dialog */\n.filter-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 90%;\n max-width: 800px;\n max-height: 85vh;\n background: var(--mj-bg-surface);\n border-radius: 12px;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);\n z-index: 2001; /* Above backdrop (2000) */\n display: flex;\n flex-direction: column;\n animation: slideIn 0.2s ease;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes slideIn {\n from {\n opacity: 0;\n transform: translate(-50%, -48%);\n }\n to {\n opacity: 1;\n transform: translate(-50%, -50%);\n }\n}\n\n/* Header */\n.dialog-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n}\n\n.header-title {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.header-title i {\n color: var(--mj-brand-primary);\n}\n\n.filter-badge {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n font-size: 12px;\n font-weight: 600;\n padding: 2px 8px;\n border-radius: 10px;\n}\n\n.close-btn {\n width: 36px;\n height: 36px;\n border: none;\n background: transparent;\n border-radius: 6px;\n cursor: pointer;\n color: var(--mj-text-disabled);\n font-size: 16px;\n transition: all 0.15s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.close-btn:hover {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-primary);\n}\n\n/* Content */\n.dialog-content {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n min-height: 200px;\n}\n\n/* Footer */\n.dialog-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n border-radius: 0 0 12px 12px;\n flex-shrink: 0;\n}\n\n.footer-right {\n display: flex;\n gap: 8px;\n}\n\n.footer-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 10px 16px;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.footer-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.footer-btn i {\n font-size: 12px;\n}\n\n.clear-btn {\n background: transparent;\n color: var(--mj-status-error);\n border: 1px solid var(--mj-border-default);\n}\n\n.clear-btn:hover:not(:disabled) {\n background: var(--mj-status-error-bg);\n border-color: var(--mj-status-error);\n}\n\n.cancel-btn {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n}\n\n.cancel-btn:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n.apply-btn {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.apply-btn:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n}\n\n/* Responsive */\n@media (max-width: 600px) {\n .filter-dialog {\n width: 95%;\n max-height: 90vh;\n border-radius: 8px;\n }\n\n .dialog-header {\n padding: 14px 16px;\n }\n\n .header-title {\n font-size: 16px;\n }\n\n .dialog-content {\n padding: 16px;\n }\n\n .dialog-footer {\n flex-direction: column;\n gap: 12px;\n padding: 14px 16px;\n }\n\n .footer-right {\n width: 100%;\n justify-content: stretch;\n }\n\n .footer-btn {\n flex: 1;\n justify-content: center;\n }\n\n .clear-btn {\n width: 100%;\n justify-content: center;\n }\n}\n"] }]
|
|
178
|
-
}], null, { isOpen: [{
|
|
179
|
-
type: Input
|
|
180
|
-
}], fields: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], filter: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], disabled: [{
|
|
185
|
-
type: Input
|
|
186
|
-
}], close: [{
|
|
187
|
-
type: Output
|
|
188
|
-
}], apply: [{
|
|
189
|
-
type: Output
|
|
190
|
-
}], handleEscape: [{
|
|
191
|
-
type: HostListener,
|
|
192
|
-
args: ['document:keydown.escape']
|
|
193
|
-
}] }); })();
|
|
194
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FilterDialogComponent, { className: "FilterDialogComponent", filePath: "src/DataExplorer/components/filter-dialog/filter-dialog.component.ts", lineNumber: 16 }); })();
|
|
195
|
-
//# sourceMappingURL=filter-dialog.component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter-dialog.component.js","sourceRoot":"","sources":["../../../../src/DataExplorer/components/filter-dialog/filter-dialog.component.ts","../../../../src/DataExplorer/components/filter-dialog/filter-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, HostListener } from '@angular/core';\nimport { CompositeFilterDescriptor, FilterFieldInfo, createEmptyFilter } from '@memberjunction/ng-filter-builder';\n\n/**\n * FilterDialogComponent - Modal dialog for editing filters\n *\n * Provides a full-width editing experience for the filter builder,\n * suitable for complex filter expressions.\n */\n@Component({\n standalone: false,\n selector: 'mj-filter-dialog',\n templateUrl: './filter-dialog.component.html',\n styleUrls: ['./filter-dialog.component.css']\n})\nexport class FilterDialogComponent implements OnInit {\n /**\n * Whether the dialog is open\n */\n @Input() isOpen: boolean = false;\n\n /**\n * Available fields to filter on\n */\n @Input() fields: FilterFieldInfo[] = [];\n\n /**\n * Current filter state\n */\n @Input() filter: CompositeFilterDescriptor = createEmptyFilter();\n\n /**\n * Whether the filter builder is disabled (read-only mode)\n */\n @Input() disabled: boolean = false;\n\n /**\n * Emitted when the dialog should close\n */\n @Output() close = new EventEmitter<void>();\n\n /**\n * Emitted when the filter is applied\n */\n @Output() apply = new EventEmitter<CompositeFilterDescriptor>();\n\n /**\n * Internal working copy of the filter\n */\n public workingFilter: CompositeFilterDescriptor = createEmptyFilter();\n\n /**\n * Handle Escape key to close dialog\n */\n @HostListener('document:keydown.escape')\n handleEscape(): void {\n if (this.isOpen) {\n this.onCancel();\n }\n }\n\n ngOnInit(): void {\n this.initializeWorkingFilter();\n }\n\n /**\n * Initialize working filter when input changes\n */\n ngOnChanges(): void {\n if (this.isOpen) {\n this.initializeWorkingFilter();\n }\n }\n\n /**\n * Create a working copy of the filter\n */\n private initializeWorkingFilter(): void {\n // Deep clone to avoid mutating the original\n this.workingFilter = JSON.parse(JSON.stringify(this.filter || createEmptyFilter()));\n }\n\n /**\n * Handle filter changes from the filter builder\n */\n onFilterChange(filter: CompositeFilterDescriptor): void {\n this.workingFilter = filter;\n }\n\n /**\n * Apply the filter and close\n */\n onApply(): void {\n this.apply.emit(this.workingFilter);\n this.close.emit();\n }\n\n /**\n * Cancel and close without saving\n */\n onCancel(): void {\n this.close.emit();\n }\n\n /**\n * Clear all filters\n */\n onClear(): void {\n this.workingFilter = createEmptyFilter();\n }\n\n /**\n * Get filter count for display\n */\n getFilterCount(): number {\n return this.countFilters(this.workingFilter);\n }\n\n /**\n * Count filters recursively\n */\n private countFilters(filter: CompositeFilterDescriptor): number {\n let count = 0;\n for (const item of filter.filters || []) {\n if ('logic' in item && 'filters' in item) {\n count += this.countFilters(item as CompositeFilterDescriptor);\n } else if ('field' in item) {\n count++;\n }\n }\n return count;\n }\n}\n","@if (isOpen) {\n <!-- Backdrop -->\n <div class=\"dialog-backdrop\" (click)=\"onCancel()\"></div>\n\n <!-- Dialog -->\n <div class=\"filter-dialog\">\n <!-- Header -->\n <div class=\"dialog-header\">\n <div class=\"header-title\">\n <i class=\"fa-solid fa-filter\"></i>\n <span>Edit Filters</span>\n @if (getFilterCount() > 0) {\n <span class=\"filter-badge\">{{ getFilterCount() }}</span>\n }\n </div>\n <button class=\"close-btn\" (click)=\"onCancel()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Content -->\n <div class=\"dialog-content\">\n <mj-filter-builder\n [fields]=\"fields\"\n [filter]=\"workingFilter\"\n [disabled]=\"disabled\"\n [showSummary]=\"true\"\n [config]=\"{ showClearButton: false, applyOnChange: true }\"\n (filterChange)=\"onFilterChange($event)\">\n </mj-filter-builder>\n </div>\n\n <!-- Footer -->\n <div class=\"dialog-footer\">\n <button class=\"footer-btn clear-btn\" (click)=\"onClear()\" [disabled]=\"disabled || getFilterCount() === 0\">\n <i class=\"fa-solid fa-eraser\"></i>\n Clear All\n </button>\n <div class=\"footer-right\">\n <button class=\"footer-btn cancel-btn\" (click)=\"onCancel()\">\n Cancel\n </button>\n <button class=\"footer-btn apply-btn\" (click)=\"onApply()\" [disabled]=\"disabled\">\n <i class=\"fa-solid fa-check\"></i>\n Apply Filters\n </button>\n </div>\n </div>\n </div>\n}\n"]}
|
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnChanges, SimpleChanges, ChangeDetectorRef, OnDestroy } from '@angular/core';
|
|
2
|
-
import { EntityInfo } from '@memberjunction/core';
|
|
3
|
-
import { MJUserViewEntityExtended } from '@memberjunction/core-entities';
|
|
4
|
-
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* Represents a view in the dropdown
|
|
8
|
-
*/
|
|
9
|
-
export interface ViewListItem {
|
|
10
|
-
id: string;
|
|
11
|
-
name: string;
|
|
12
|
-
isOwned: boolean;
|
|
13
|
-
isShared: boolean;
|
|
14
|
-
isDefault: boolean;
|
|
15
|
-
userCanEdit: boolean;
|
|
16
|
-
entity: MJUserViewEntityExtended;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Event emitted when a view is selected
|
|
20
|
-
*/
|
|
21
|
-
export interface ViewSelectedEvent {
|
|
22
|
-
viewId: string | null;
|
|
23
|
-
view: MJUserViewEntityExtended | null;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Event emitted when user requests to save the current view
|
|
27
|
-
*/
|
|
28
|
-
export interface SaveViewRequestedEvent {
|
|
29
|
-
/** True if user wants to save as a new view */
|
|
30
|
-
saveAsNew: boolean;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* ViewSelectorComponent - Dropdown for selecting saved views
|
|
34
|
-
*
|
|
35
|
-
* Features:
|
|
36
|
-
* - Shows "(Default)" option when no view is selected
|
|
37
|
-
* - Groups views into "My Views" and "Shared Views"
|
|
38
|
-
* - "Save Current View" and "Manage Views" actions
|
|
39
|
-
* - "Open in Tab" button for saved views
|
|
40
|
-
*/
|
|
41
|
-
export declare class ViewSelectorComponent extends BaseAngularComponent implements OnChanges, OnDestroy {
|
|
42
|
-
private cdr;
|
|
43
|
-
/**
|
|
44
|
-
* The entity to load views for
|
|
45
|
-
*/
|
|
46
|
-
entity: EntityInfo | null;
|
|
47
|
-
/**
|
|
48
|
-
* Currently selected view ID (null = default view)
|
|
49
|
-
*/
|
|
50
|
-
selectedViewId: string | null;
|
|
51
|
-
/**
|
|
52
|
-
* Whether the current view has unsaved modifications
|
|
53
|
-
*/
|
|
54
|
-
viewModified: boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Emitted when a view is selected
|
|
57
|
-
*/
|
|
58
|
-
viewSelected: EventEmitter<ViewSelectedEvent>;
|
|
59
|
-
/**
|
|
60
|
-
* Emitted when user requests to save the current view
|
|
61
|
-
*/
|
|
62
|
-
saveViewRequested: EventEmitter<SaveViewRequestedEvent>;
|
|
63
|
-
/**
|
|
64
|
-
* Emitted when user wants to open the view management panel
|
|
65
|
-
*/
|
|
66
|
-
manageViewsRequested: EventEmitter<void>;
|
|
67
|
-
/**
|
|
68
|
-
* Emitted when user wants to open the current view in its own tab
|
|
69
|
-
*/
|
|
70
|
-
openInTabRequested: EventEmitter<string>;
|
|
71
|
-
/**
|
|
72
|
-
* Emitted when user wants to configure the current view
|
|
73
|
-
*/
|
|
74
|
-
configureViewRequested: EventEmitter<void>;
|
|
75
|
-
/**
|
|
76
|
-
* Emitted when user wants to create a new record
|
|
77
|
-
*/
|
|
78
|
-
createNewRecordRequested: EventEmitter<void>;
|
|
79
|
-
/**
|
|
80
|
-
* Emitted when user wants to export data to Excel
|
|
81
|
-
*/
|
|
82
|
-
exportRequested: EventEmitter<void>;
|
|
83
|
-
/**
|
|
84
|
-
* Emitted when user wants to duplicate a view (F-005)
|
|
85
|
-
*/
|
|
86
|
-
duplicateViewRequested: EventEmitter<string>;
|
|
87
|
-
/**
|
|
88
|
-
* Emitted when user wants to use the quick save dialog (F-001)
|
|
89
|
-
* Emits true when user explicitly requested "Save As New", false for general save
|
|
90
|
-
*/
|
|
91
|
-
quickSaveRequested: EventEmitter<boolean>;
|
|
92
|
-
/**
|
|
93
|
-
* Emitted when user wants to revert to saved state (F-007)
|
|
94
|
-
*/
|
|
95
|
-
revertRequested: EventEmitter<void>;
|
|
96
|
-
isLoading: boolean;
|
|
97
|
-
isDropdownOpen: boolean;
|
|
98
|
-
myViews: ViewListItem[];
|
|
99
|
-
sharedViews: ViewListItem[];
|
|
100
|
-
selectedView: MJUserViewEntityExtended | null;
|
|
101
|
-
searchText: string;
|
|
102
|
-
private destroy$;
|
|
103
|
-
private get metadata();
|
|
104
|
-
constructor(cdr: ChangeDetectorRef);
|
|
105
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
106
|
-
ngOnDestroy(): void;
|
|
107
|
-
/**
|
|
108
|
-
* Load views for the current entity
|
|
109
|
-
*/
|
|
110
|
-
loadViews(): Promise<void>;
|
|
111
|
-
/**
|
|
112
|
-
* Map a view entity to a list item
|
|
113
|
-
*/
|
|
114
|
-
private mapViewToListItem;
|
|
115
|
-
/**
|
|
116
|
-
* Update the selectedView reference based on selectedViewId
|
|
117
|
-
*/
|
|
118
|
-
private updateSelectedViewFromId;
|
|
119
|
-
/**
|
|
120
|
-
* Get the display name for the current selection
|
|
121
|
-
*/
|
|
122
|
-
get displayName(): string;
|
|
123
|
-
/**
|
|
124
|
-
* Toggle dropdown open/closed
|
|
125
|
-
*/
|
|
126
|
-
toggleDropdown(): void;
|
|
127
|
-
/**
|
|
128
|
-
* Close the dropdown
|
|
129
|
-
*/
|
|
130
|
-
closeDropdown(): void;
|
|
131
|
-
/**
|
|
132
|
-
* Select the default view (no saved view)
|
|
133
|
-
*/
|
|
134
|
-
selectDefault(): void;
|
|
135
|
-
/**
|
|
136
|
-
* Select a view from the list
|
|
137
|
-
*/
|
|
138
|
-
selectView(item: ViewListItem): void;
|
|
139
|
-
/**
|
|
140
|
-
* Request to save the current view
|
|
141
|
-
*/
|
|
142
|
-
onSaveView(): void;
|
|
143
|
-
/**
|
|
144
|
-
* Request to save as a new view - opens Quick Save dialog in "Save As New" mode
|
|
145
|
-
*/
|
|
146
|
-
onSaveAsNewView(): void;
|
|
147
|
-
/**
|
|
148
|
-
* Request to manage views
|
|
149
|
-
*/
|
|
150
|
-
onManageViews(): void;
|
|
151
|
-
/**
|
|
152
|
-
* Request to open the current view in a tab
|
|
153
|
-
*/
|
|
154
|
-
onOpenInTab(): void;
|
|
155
|
-
/**
|
|
156
|
-
* Request to configure the current view
|
|
157
|
-
*/
|
|
158
|
-
onConfigureView(): void;
|
|
159
|
-
/**
|
|
160
|
-
* Request to create a new record
|
|
161
|
-
*/
|
|
162
|
-
onCreateNewRecord(): void;
|
|
163
|
-
/**
|
|
164
|
-
* Request to export data to Excel
|
|
165
|
-
*/
|
|
166
|
-
onExport(): void;
|
|
167
|
-
/**
|
|
168
|
-
* Request to duplicate a view (F-005)
|
|
169
|
-
*/
|
|
170
|
-
onDuplicateView(viewId: string, event: MouseEvent): void;
|
|
171
|
-
/**
|
|
172
|
-
* Request to open the quick save dialog (F-001)
|
|
173
|
-
*/
|
|
174
|
-
onQuickSave(): void;
|
|
175
|
-
/**
|
|
176
|
-
* Request to revert view to saved state (F-007)
|
|
177
|
-
*/
|
|
178
|
-
onRevert(): void;
|
|
179
|
-
/**
|
|
180
|
-
* Check if there are any views to show
|
|
181
|
-
*/
|
|
182
|
-
get hasViews(): boolean;
|
|
183
|
-
/**
|
|
184
|
-
* Check if the current user can edit the selected view
|
|
185
|
-
*/
|
|
186
|
-
get canEditSelectedView(): boolean;
|
|
187
|
-
/**
|
|
188
|
-
* Handle click outside to close dropdown
|
|
189
|
-
*/
|
|
190
|
-
onClickOutside(event: Event): void;
|
|
191
|
-
/**
|
|
192
|
-
* My views filtered by search text
|
|
193
|
-
*/
|
|
194
|
-
get filteredMyViews(): ViewListItem[];
|
|
195
|
-
/**
|
|
196
|
-
* Shared views filtered by search text
|
|
197
|
-
*/
|
|
198
|
-
get filteredSharedViews(): ViewListItem[];
|
|
199
|
-
/**
|
|
200
|
-
* Get the number of filters configured in a view by parsing its FilterState
|
|
201
|
-
*/
|
|
202
|
-
getViewFilterCount(view: ViewListItem): number;
|
|
203
|
-
/**
|
|
204
|
-
* Get the number of visible columns in a view by parsing GridState
|
|
205
|
-
*/
|
|
206
|
-
getViewColumnCount(view: ViewListItem): number;
|
|
207
|
-
/**
|
|
208
|
-
* Get sort info string from a view's SortState
|
|
209
|
-
*/
|
|
210
|
-
getViewSortInfo(view: ViewListItem): string;
|
|
211
|
-
/**
|
|
212
|
-
* Select a specific view and open the config panel for it
|
|
213
|
-
*/
|
|
214
|
-
onConfigureViewById(viewId: string, event: MouseEvent): void;
|
|
215
|
-
/**
|
|
216
|
-
* Open a specific view in a new tab
|
|
217
|
-
*/
|
|
218
|
-
onOpenViewInTab(viewId: string, event: MouseEvent): void;
|
|
219
|
-
/**
|
|
220
|
-
* Reset to default view (select no view)
|
|
221
|
-
*/
|
|
222
|
-
onResetToDefault(): void;
|
|
223
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ViewSelectorComponent, never>;
|
|
224
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ViewSelectorComponent, "mj-view-selector", never, { "entity": { "alias": "entity"; "required": false; }; "selectedViewId": { "alias": "selectedViewId"; "required": false; }; "viewModified": { "alias": "viewModified"; "required": false; }; }, { "viewSelected": "viewSelected"; "saveViewRequested": "saveViewRequested"; "manageViewsRequested": "manageViewsRequested"; "openInTabRequested": "openInTabRequested"; "configureViewRequested": "configureViewRequested"; "createNewRecordRequested": "createNewRecordRequested"; "exportRequested": "exportRequested"; "duplicateViewRequested": "duplicateViewRequested"; "quickSaveRequested": "quickSaveRequested"; "revertRequested": "revertRequested"; }, never, never, false, never>;
|
|
225
|
-
}
|
|
226
|
-
//# sourceMappingURL=view-selector.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"view-selector.component.d.ts","sourceRoot":"","sources":["../../../../src/DataExplorer/components/view-selector/view-selector.component.ts"],"names":[],"mappings":"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"}
|