@memberjunction/ng-dashboards 5.34.0 → 5.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AI/components/agents/agent-configuration.component.d.ts +51 -0
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +399 -292
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts +8 -2
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +87 -85
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +75 -0
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +400 -89
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts +5 -0
- package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/analytics-filter-bar.component.js +184 -135
- package/dist/AI/components/analytics/analytics-filter-bar.component.js.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +8 -2
- 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 +104 -103
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts +8 -2
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.js +76 -74
- package/dist/AI/components/analytics/error-analysis/error-analysis.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 +67 -87
- 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 +12 -19
- 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 +96 -203
- 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.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +110 -126
- 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.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +61 -77
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +990 -992
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.d.ts +17 -0
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +370 -425
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
- package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +317 -357
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
- package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
- package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +403 -362
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +781 -783
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.d.ts +6 -0
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +79 -30
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +196 -142
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Actions/components/explorer/index.d.ts +0 -1
- package/dist/Actions/components/explorer/index.d.ts.map +1 -1
- package/dist/Actions/components/explorer/index.js +0 -1
- package/dist/Actions/components/explorer/index.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +32 -40
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +32 -40
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +32 -40
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +32 -40
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +76 -82
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
- package/dist/Archiving/components/archive-config-resource.component.js +24 -5
- package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
- package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
- package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
- package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +80 -99
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +127 -106
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +44 -45
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +60 -58
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +139 -162
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +245 -266
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
- package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +294 -305
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +21 -0
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +147 -160
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +19 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -16
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +6 -0
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +521 -485
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/Integration/components/activity/activity.component.d.ts +8 -0
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +309 -318
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +866 -847
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.js +182 -163
- package/dist/Integration/components/overview/overview.component.js.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
- package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.js +610 -606
- package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
- package/dist/Integration/components/schedules/schedules.component.js +241 -241
- package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
- package/dist/Integration/integration.module.d.ts +1 -1
- package/dist/Integration/integration.module.d.ts.map +1 -1
- package/dist/Integration/integration.module.js +28 -1
- package/dist/Integration/integration.module.js.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +673 -674
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +745 -703
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +18 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +486 -532
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +152 -160
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -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 +302 -319
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js +234 -246
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +1248 -1338
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/MCP/mcp.module.d.ts +1 -1
- package/dist/MCP/mcp.module.d.ts.map +1 -1
- package/dist/MCP/mcp.module.js +34 -1
- package/dist/MCP/mcp.module.js.map +1 -1
- package/dist/Permissions/audit-log-resource.component.js +76 -85
- package/dist/Permissions/audit-log-resource.component.js.map +1 -1
- package/dist/Permissions/resource-access-resource.component.js +64 -69
- package/dist/Permissions/resource-access-resource.component.js.map +1 -1
- package/dist/Permissions/user-access-resource.component.js +63 -74
- package/dist/Permissions/user-access-resource.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
- package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +262 -104
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +4 -0
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +812 -784
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js +420 -393
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +8 -1
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +587 -608
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.js +9 -12
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-review.component.d.ts +3 -1
- package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review.component.js +310 -274
- package/dist/Testing/components/testing-review.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +16 -19
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-runs.component.d.ts +3 -1
- package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs.component.js +307 -273
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.d.ts +2 -0
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +107 -93
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.js +185 -188
- package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/graph-resource.component.js +154 -184
- package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
- package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js +350 -354
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js +163 -169
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/actions-dashboards.module.d.ts +15 -16
- package/dist/actions-dashboards.module.d.ts.map +1 -1
- package/dist/actions-dashboards.module.js +34 -11
- package/dist/actions-dashboards.module.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +45 -48
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +36 -10
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/archiving-dashboards.module.d.ts +2 -1
- package/dist/archiving-dashboards.module.d.ts.map +1 -1
- package/dist/archiving-dashboards.module.js +12 -2
- package/dist/archiving-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +2 -1
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +24 -3
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/core-dashboards.module.d.ts +1 -1
- package/dist/core-dashboards.module.d.ts.map +1 -1
- package/dist/core-dashboards.module.js +31 -1
- package/dist/core-dashboards.module.js.map +1 -1
- package/dist/credentials-dashboards.module.d.ts +1 -1
- package/dist/credentials-dashboards.module.d.ts.map +1 -1
- package/dist/credentials-dashboards.module.js +28 -1
- package/dist/credentials-dashboards.module.js.map +1 -1
- package/dist/lists-dashboards.module.d.ts +1 -1
- package/dist/lists-dashboards.module.d.ts.map +1 -1
- package/dist/lists-dashboards.module.js +28 -1
- package/dist/lists-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +2 -2
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -3
- package/dist/public-api.js.map +1 -1
- package/dist/scheduling-dashboards.module.d.ts +1 -1
- package/dist/scheduling-dashboards.module.d.ts.map +1 -1
- package/dist/scheduling-dashboards.module.js +31 -1
- package/dist/scheduling-dashboards.module.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +8 -7
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +30 -0
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +52 -52
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
- package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
- package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
- package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
- package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
|
@@ -19,42 +19,15 @@ import * as i6 from "@memberjunction/ng-ui-components";
|
|
|
19
19
|
import * as i7 from "@memberjunction/ng-shared-generic";
|
|
20
20
|
const _c0 = a0 => ({ node: a0, depth: 0 });
|
|
21
21
|
const _c1 = (a0, a1) => ({ node: a0, depth: a1 });
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
i0.ɵɵ
|
|
25
|
-
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_15_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearSearch()); });
|
|
26
|
-
i0.ɵɵelement(1, "i", 37);
|
|
27
|
-
i0.ɵɵelementEnd();
|
|
28
|
-
} }
|
|
29
|
-
function ListsBrowseResource_For_19_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
-
i0.ɵɵelementStart(0, "option", 16);
|
|
31
|
-
i0.ɵɵtext(1);
|
|
32
|
-
i0.ɵɵelementEnd();
|
|
33
|
-
} if (rf & 2) {
|
|
34
|
-
const opt_r4 = ctx.$implicit;
|
|
35
|
-
i0.ɵɵproperty("value", opt_r4.value);
|
|
36
|
-
i0.ɵɵadvance();
|
|
37
|
-
i0.ɵɵtextInterpolate(opt_r4.name);
|
|
38
|
-
} }
|
|
39
|
-
function ListsBrowseResource_For_23_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
-
i0.ɵɵelementStart(0, "option", 16);
|
|
41
|
-
i0.ɵɵtext(1);
|
|
42
|
-
i0.ɵɵelementEnd();
|
|
43
|
-
} if (rf & 2) {
|
|
44
|
-
const opt_r5 = ctx.$implicit;
|
|
45
|
-
i0.ɵɵproperty("value", opt_r5.value);
|
|
46
|
-
i0.ɵɵadvance();
|
|
47
|
-
i0.ɵɵtextInterpolate(opt_r5.name);
|
|
48
|
-
} }
|
|
49
|
-
function ListsBrowseResource_Conditional_31_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
-
i0.ɵɵelementStart(0, "div", 25);
|
|
51
|
-
i0.ɵɵelement(1, "mj-loading", 38);
|
|
22
|
+
function ListsBrowseResource_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
24
|
+
i0.ɵɵelement(1, "mj-loading", 24);
|
|
52
25
|
i0.ɵɵelementEnd();
|
|
53
26
|
} }
|
|
54
|
-
function
|
|
55
|
-
const
|
|
56
|
-
i0.ɵɵelementStart(0, "div",
|
|
57
|
-
i0.ɵɵelement(2, "div",
|
|
27
|
+
function ListsBrowseResource_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
29
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "div", 25);
|
|
30
|
+
i0.ɵɵelement(2, "div", 26)(3, "i", 27);
|
|
58
31
|
i0.ɵɵelementEnd();
|
|
59
32
|
i0.ɵɵelementStart(4, "h3");
|
|
60
33
|
i0.ɵɵtext(5, "No Lists Yet");
|
|
@@ -62,31 +35,31 @@ function ListsBrowseResource_Conditional_32_Template(rf, ctx) { if (rf & 1) {
|
|
|
62
35
|
i0.ɵɵelementStart(6, "p");
|
|
63
36
|
i0.ɵɵtext(7, "Lists help you organize and track groups of records across your data.");
|
|
64
37
|
i0.ɵɵelementEnd();
|
|
65
|
-
i0.ɵɵelementStart(8, "div",
|
|
66
|
-
i0.ɵɵelement(10, "i",
|
|
38
|
+
i0.ɵɵelementStart(8, "div", 28)(9, "div", 29);
|
|
39
|
+
i0.ɵɵelement(10, "i", 30);
|
|
67
40
|
i0.ɵɵelementStart(11, "span");
|
|
68
41
|
i0.ɵɵtext(12, "Group records from any entity");
|
|
69
42
|
i0.ɵɵelementEnd()();
|
|
70
|
-
i0.ɵɵelementStart(13, "div",
|
|
71
|
-
i0.ɵɵelement(14, "i",
|
|
43
|
+
i0.ɵɵelementStart(13, "div", 29);
|
|
44
|
+
i0.ɵɵelement(14, "i", 30);
|
|
72
45
|
i0.ɵɵelementStart(15, "span");
|
|
73
46
|
i0.ɵɵtext(16, "Organize with categories");
|
|
74
47
|
i0.ɵɵelementEnd()();
|
|
75
|
-
i0.ɵɵelementStart(17, "div",
|
|
76
|
-
i0.ɵɵelement(18, "i",
|
|
48
|
+
i0.ɵɵelementStart(17, "div", 29);
|
|
49
|
+
i0.ɵɵelement(18, "i", 30);
|
|
77
50
|
i0.ɵɵelementStart(19, "span");
|
|
78
51
|
i0.ɵɵtext(20, "Quick access from any view");
|
|
79
52
|
i0.ɵɵelementEnd()()();
|
|
80
|
-
i0.ɵɵelementStart(21, "button",
|
|
81
|
-
i0.ɵɵlistener("click", function
|
|
82
|
-
i0.ɵɵelement(22, "i",
|
|
53
|
+
i0.ɵɵelementStart(21, "button", 31);
|
|
54
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_15_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createNewList()); });
|
|
55
|
+
i0.ɵɵelement(22, "i", 10);
|
|
83
56
|
i0.ɵɵtext(23, " Create Your First List ");
|
|
84
57
|
i0.ɵɵelementEnd()();
|
|
85
58
|
} }
|
|
86
|
-
function
|
|
87
|
-
const
|
|
88
|
-
i0.ɵɵelementStart(0, "div",
|
|
89
|
-
i0.ɵɵelement(2, "i",
|
|
59
|
+
function ListsBrowseResource_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
61
|
+
i0.ɵɵelementStart(0, "div", 15)(1, "div", 32);
|
|
62
|
+
i0.ɵɵelement(2, "i", 33);
|
|
90
63
|
i0.ɵɵelementEnd();
|
|
91
64
|
i0.ɵɵelementStart(3, "h3");
|
|
92
65
|
i0.ɵɵtext(4, "No Results Found");
|
|
@@ -94,560 +67,555 @@ function ListsBrowseResource_Conditional_33_Template(rf, ctx) { if (rf & 1) {
|
|
|
94
67
|
i0.ɵɵelementStart(5, "p");
|
|
95
68
|
i0.ɵɵtext(6, "No lists match your current filters.");
|
|
96
69
|
i0.ɵɵelementEnd();
|
|
97
|
-
i0.ɵɵelementStart(7, "p",
|
|
70
|
+
i0.ɵɵelementStart(7, "p", 34);
|
|
98
71
|
i0.ɵɵtext(8, "Try adjusting your search or filters.");
|
|
99
72
|
i0.ɵɵelementEnd();
|
|
100
|
-
i0.ɵɵelementStart(9, "button",
|
|
101
|
-
i0.ɵɵlistener("click", function
|
|
73
|
+
i0.ɵɵelementStart(9, "button", 35);
|
|
74
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_16_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearFilters()); });
|
|
102
75
|
i0.ɵɵtext(10, "Clear All Filters");
|
|
103
76
|
i0.ɵɵelementEnd()();
|
|
104
77
|
} }
|
|
105
|
-
function
|
|
106
|
-
i0.ɵɵelementStart(0, "option",
|
|
78
|
+
function ListsBrowseResource_Conditional_17_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
79
|
+
i0.ɵɵelementStart(0, "option", 39);
|
|
107
80
|
i0.ɵɵtext(1);
|
|
108
81
|
i0.ɵɵelementEnd();
|
|
109
82
|
} if (rf & 2) {
|
|
110
|
-
const
|
|
111
|
-
i0.ɵɵproperty("value",
|
|
83
|
+
const opt_r6 = ctx.$implicit;
|
|
84
|
+
i0.ɵɵproperty("value", opt_r6.value);
|
|
112
85
|
i0.ɵɵadvance();
|
|
113
|
-
i0.ɵɵtextInterpolate(
|
|
86
|
+
i0.ɵɵtextInterpolate(opt_r6.name);
|
|
114
87
|
} }
|
|
115
|
-
function
|
|
116
|
-
i0.ɵɵelementStart(0, "span",
|
|
88
|
+
function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
89
|
+
i0.ɵɵelementStart(0, "span", 59);
|
|
117
90
|
i0.ɵɵtext(1);
|
|
118
91
|
i0.ɵɵelementEnd();
|
|
119
92
|
} if (rf & 2) {
|
|
120
|
-
const
|
|
93
|
+
const item_r8 = i0.ɵɵnextContext().$implicit;
|
|
121
94
|
i0.ɵɵadvance();
|
|
122
|
-
i0.ɵɵtextInterpolate(
|
|
95
|
+
i0.ɵɵtextInterpolate(item_r8.list.Description);
|
|
123
96
|
} }
|
|
124
|
-
function
|
|
125
|
-
i0.ɵɵelementStart(0, "span",
|
|
126
|
-
i0.ɵɵelement(1, "i",
|
|
127
|
-
i0.ɵɵelementStart(2, "span",
|
|
97
|
+
function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
98
|
+
i0.ɵɵelementStart(0, "span", 70);
|
|
99
|
+
i0.ɵɵelement(1, "i", 71);
|
|
100
|
+
i0.ɵɵelementStart(2, "span", 72);
|
|
128
101
|
i0.ɵɵtext(3);
|
|
129
102
|
i0.ɵɵelementEnd()();
|
|
130
103
|
} if (rf & 2) {
|
|
131
|
-
const
|
|
104
|
+
const sharing_r9 = i0.ɵɵnextContext();
|
|
132
105
|
i0.ɵɵadvance(3);
|
|
133
|
-
i0.ɵɵtextInterpolate(
|
|
106
|
+
i0.ɵɵtextInterpolate(sharing_r9.totalShares);
|
|
134
107
|
} }
|
|
135
|
-
function
|
|
136
|
-
i0.ɵɵelementStart(0, "span",
|
|
137
|
-
i0.ɵɵelement(1, "i",
|
|
108
|
+
function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
109
|
+
i0.ɵɵelementStart(0, "span", 64);
|
|
110
|
+
i0.ɵɵelement(1, "i", 73);
|
|
138
111
|
i0.ɵɵelementEnd();
|
|
139
112
|
} }
|
|
140
|
-
function
|
|
141
|
-
i0.ɵɵconditionalCreate(0,
|
|
142
|
-
i0.ɵɵconditionalCreate(1,
|
|
113
|
+
function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
114
|
+
i0.ɵɵconditionalCreate(0, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Conditional_0_Template, 4, 1, "span", 70);
|
|
115
|
+
i0.ɵɵconditionalCreate(1, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Conditional_1_Template, 2, 0, "span", 64);
|
|
143
116
|
} if (rf & 2) {
|
|
144
|
-
const
|
|
145
|
-
i0.ɵɵconditional(
|
|
117
|
+
const sharing_r9 = ctx;
|
|
118
|
+
i0.ɵɵconditional(sharing_r9.totalShares > 0 ? 0 : -1);
|
|
146
119
|
i0.ɵɵadvance();
|
|
147
|
-
i0.ɵɵconditional(
|
|
120
|
+
i0.ɵɵconditional(sharing_r9.totalShares === 0 ? 1 : -1);
|
|
148
121
|
} }
|
|
149
|
-
function
|
|
150
|
-
i0.ɵɵelementStart(0, "span",
|
|
151
|
-
i0.ɵɵelement(1, "i",
|
|
122
|
+
function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
+
i0.ɵɵelementStart(0, "span", 64);
|
|
124
|
+
i0.ɵɵelement(1, "i", 73);
|
|
152
125
|
i0.ɵɵelementEnd();
|
|
153
126
|
} }
|
|
154
|
-
function
|
|
155
|
-
const
|
|
156
|
-
i0.ɵɵelementStart(0, "button",
|
|
157
|
-
i0.ɵɵlistener("click", function
|
|
158
|
-
i0.ɵɵelement(1, "i",
|
|
127
|
+
function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
128
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
129
|
+
i0.ɵɵelementStart(0, "button", 74);
|
|
130
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_23_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r10); const item_r8 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r8)); });
|
|
131
|
+
i0.ɵɵelement(1, "i", 75);
|
|
159
132
|
i0.ɵɵelementEnd();
|
|
160
133
|
} }
|
|
161
|
-
function
|
|
162
|
-
const
|
|
163
|
-
i0.ɵɵelementStart(0, "tr",
|
|
164
|
-
i0.ɵɵlistener("click", function
|
|
165
|
-
i0.ɵɵelementStart(1, "td",
|
|
134
|
+
function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Template(rf, ctx) { if (rf & 1) {
|
|
135
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
136
|
+
i0.ɵɵelementStart(0, "tr", 53);
|
|
137
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Template_tr_click_0_listener() { const item_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r8)); })("keydown.enter", function ListsBrowseResource_Conditional_17_Conditional_8_For_21_Template_tr_keydown_enter_0_listener() { const item_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r8)); });
|
|
138
|
+
i0.ɵɵelementStart(1, "td", 54)(2, "div", 55)(3, "div", 56);
|
|
166
139
|
i0.ɵɵelement(4, "i");
|
|
167
140
|
i0.ɵɵelementEnd();
|
|
168
|
-
i0.ɵɵelementStart(5, "div",
|
|
141
|
+
i0.ɵɵelementStart(5, "div", 57)(6, "span", 58);
|
|
169
142
|
i0.ɵɵtext(7);
|
|
170
143
|
i0.ɵɵelementEnd();
|
|
171
|
-
i0.ɵɵconditionalCreate(8,
|
|
144
|
+
i0.ɵɵconditionalCreate(8, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_8_Template, 2, 1, "span", 59);
|
|
172
145
|
i0.ɵɵelementEnd()()();
|
|
173
|
-
i0.ɵɵelementStart(9, "td",
|
|
146
|
+
i0.ɵɵelementStart(9, "td", 60)(10, "span", 61);
|
|
174
147
|
i0.ɵɵtext(11);
|
|
175
148
|
i0.ɵɵelementEnd()();
|
|
176
|
-
i0.ɵɵelementStart(12, "td",
|
|
149
|
+
i0.ɵɵelementStart(12, "td", 62);
|
|
177
150
|
i0.ɵɵtext(13);
|
|
178
151
|
i0.ɵɵelementEnd();
|
|
179
|
-
i0.ɵɵelementStart(14, "td",
|
|
180
|
-
i0.ɵɵconditionalCreate(15,
|
|
181
|
-
i0.ɵɵconditionalCreate(16,
|
|
152
|
+
i0.ɵɵelementStart(14, "td", 63);
|
|
153
|
+
i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_15_Template, 2, 2);
|
|
154
|
+
i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_16_Template, 2, 0, "span", 64);
|
|
182
155
|
i0.ɵɵelementEnd();
|
|
183
|
-
i0.ɵɵelementStart(17, "td",
|
|
156
|
+
i0.ɵɵelementStart(17, "td", 65)(18, "span", 66);
|
|
184
157
|
i0.ɵɵtext(19);
|
|
185
158
|
i0.ɵɵelementEnd()();
|
|
186
|
-
i0.ɵɵelementStart(20, "td",
|
|
159
|
+
i0.ɵɵelementStart(20, "td", 67);
|
|
187
160
|
i0.ɵɵtext(21);
|
|
188
161
|
i0.ɵɵelementEnd();
|
|
189
|
-
i0.ɵɵelementStart(22, "td",
|
|
190
|
-
i0.ɵɵconditionalCreate(23,
|
|
162
|
+
i0.ɵɵelementStart(22, "td", 68);
|
|
163
|
+
i0.ɵɵconditionalCreate(23, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Conditional_23_Template, 2, 0, "button", 69);
|
|
191
164
|
i0.ɵɵelementEnd()();
|
|
192
165
|
} if (rf & 2) {
|
|
193
166
|
let tmp_19_0;
|
|
194
|
-
const
|
|
167
|
+
const item_r8 = ctx.$implicit;
|
|
195
168
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
196
169
|
i0.ɵɵadvance(3);
|
|
197
|
-
i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(
|
|
170
|
+
i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r8.entityName));
|
|
198
171
|
i0.ɵɵadvance();
|
|
199
|
-
i0.ɵɵclassMap(ctx_r2.getEntityIcon(
|
|
172
|
+
i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r8.entityName));
|
|
200
173
|
i0.ɵɵadvance(3);
|
|
201
|
-
i0.ɵɵtextInterpolate(
|
|
174
|
+
i0.ɵɵtextInterpolate(item_r8.list.Name);
|
|
202
175
|
i0.ɵɵadvance();
|
|
203
|
-
i0.ɵɵconditional(
|
|
176
|
+
i0.ɵɵconditional(item_r8.list.Description ? 8 : -1);
|
|
204
177
|
i0.ɵɵadvance(3);
|
|
205
|
-
i0.ɵɵtextInterpolate(
|
|
178
|
+
i0.ɵɵtextInterpolate(item_r8.entityName);
|
|
206
179
|
i0.ɵɵadvance(2);
|
|
207
|
-
i0.ɵɵtextInterpolate(
|
|
180
|
+
i0.ɵɵtextInterpolate(item_r8.itemCount);
|
|
208
181
|
i0.ɵɵadvance(2);
|
|
209
|
-
i0.ɵɵconditional((tmp_19_0 =
|
|
182
|
+
i0.ɵɵconditional((tmp_19_0 = item_r8.sharingInfo) ? 15 : -1, tmp_19_0);
|
|
210
183
|
i0.ɵɵadvance();
|
|
211
|
-
i0.ɵɵconditional(!
|
|
184
|
+
i0.ɵɵconditional(!item_r8.sharingInfo ? 16 : -1);
|
|
212
185
|
i0.ɵɵadvance(2);
|
|
213
|
-
i0.ɵɵclassProp("is-me",
|
|
186
|
+
i0.ɵɵclassProp("is-me", item_r8.isOwner);
|
|
214
187
|
i0.ɵɵadvance();
|
|
215
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
188
|
+
i0.ɵɵtextInterpolate1(" ", item_r8.isOwner ? "You" : item_r8.ownerName, " ");
|
|
216
189
|
i0.ɵɵadvance(2);
|
|
217
|
-
i0.ɵɵtextInterpolate(ctx_r2.formatDate(
|
|
190
|
+
i0.ɵɵtextInterpolate(ctx_r2.formatDate(item_r8.list.__mj_UpdatedAt));
|
|
218
191
|
i0.ɵɵadvance(2);
|
|
219
|
-
i0.ɵɵconditional(
|
|
192
|
+
i0.ɵɵconditional(item_r8.isOwner ? 23 : -1);
|
|
220
193
|
} }
|
|
221
|
-
function
|
|
222
|
-
i0.ɵɵelementStart(0, "div",
|
|
194
|
+
function ListsBrowseResource_Conditional_17_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
195
|
+
i0.ɵɵelementStart(0, "div", 40)(1, "table", 43)(2, "thead")(3, "tr")(4, "th", 44);
|
|
223
196
|
i0.ɵɵtext(5, "Name");
|
|
224
197
|
i0.ɵɵelementEnd();
|
|
225
|
-
i0.ɵɵelementStart(6, "th",
|
|
198
|
+
i0.ɵɵelementStart(6, "th", 45);
|
|
226
199
|
i0.ɵɵtext(7, "Entity");
|
|
227
200
|
i0.ɵɵelementEnd();
|
|
228
|
-
i0.ɵɵelementStart(8, "th",
|
|
201
|
+
i0.ɵɵelementStart(8, "th", 46);
|
|
229
202
|
i0.ɵɵtext(9, "Items");
|
|
230
203
|
i0.ɵɵelementEnd();
|
|
231
|
-
i0.ɵɵelementStart(10, "th",
|
|
204
|
+
i0.ɵɵelementStart(10, "th", 47);
|
|
232
205
|
i0.ɵɵtext(11, "Shared");
|
|
233
206
|
i0.ɵɵelementEnd();
|
|
234
|
-
i0.ɵɵelementStart(12, "th",
|
|
207
|
+
i0.ɵɵelementStart(12, "th", 48);
|
|
235
208
|
i0.ɵɵtext(13, "Owner");
|
|
236
209
|
i0.ɵɵelementEnd();
|
|
237
|
-
i0.ɵɵelementStart(14, "th",
|
|
210
|
+
i0.ɵɵelementStart(14, "th", 49);
|
|
238
211
|
i0.ɵɵtext(15, "Updated");
|
|
239
212
|
i0.ɵɵelementEnd();
|
|
240
|
-
i0.ɵɵelementStart(16, "th",
|
|
213
|
+
i0.ɵɵelementStart(16, "th", 50)(17, "span", 51);
|
|
241
214
|
i0.ɵɵtext(18, "Actions");
|
|
242
215
|
i0.ɵɵelementEnd()()()();
|
|
243
216
|
i0.ɵɵelementStart(19, "tbody");
|
|
244
|
-
i0.ɵɵrepeaterCreate(20,
|
|
217
|
+
i0.ɵɵrepeaterCreate(20, ListsBrowseResource_Conditional_17_Conditional_8_For_21_Template, 24, 15, "tr", 52, i0.ɵɵrepeaterTrackByIdentity);
|
|
245
218
|
i0.ɵɵelementEnd()()();
|
|
246
219
|
} if (rf & 2) {
|
|
247
220
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
248
221
|
i0.ɵɵadvance(20);
|
|
249
222
|
i0.ɵɵrepeater(ctx_r2.filteredLists);
|
|
250
223
|
} }
|
|
251
|
-
function
|
|
252
|
-
const
|
|
253
|
-
i0.ɵɵelementStart(0, "div",
|
|
254
|
-
i0.ɵɵlistener("click", function
|
|
255
|
-
i0.ɵɵelement(2, "i",
|
|
224
|
+
function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
225
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
226
|
+
i0.ɵɵelementStart(0, "div", 80)(1, "button", 93);
|
|
227
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_4_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r13); const item_r12 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r12)); });
|
|
228
|
+
i0.ɵɵelement(2, "i", 75);
|
|
256
229
|
i0.ɵɵelementEnd()();
|
|
257
230
|
} }
|
|
258
|
-
function
|
|
259
|
-
i0.ɵɵelementStart(0, "p",
|
|
231
|
+
function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
232
|
+
i0.ɵɵelementStart(0, "p", 83);
|
|
260
233
|
i0.ɵɵtext(1);
|
|
261
234
|
i0.ɵɵelementEnd();
|
|
262
235
|
} if (rf & 2) {
|
|
263
|
-
const
|
|
236
|
+
const item_r12 = i0.ɵɵnextContext().$implicit;
|
|
264
237
|
i0.ɵɵadvance();
|
|
265
|
-
i0.ɵɵtextInterpolate(
|
|
238
|
+
i0.ɵɵtextInterpolate(item_r12.list.Description);
|
|
266
239
|
} }
|
|
267
|
-
function
|
|
268
|
-
i0.ɵɵelementStart(0, "span",
|
|
269
|
-
i0.ɵɵelement(1, "i",
|
|
240
|
+
function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_21_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
241
|
+
i0.ɵɵelementStart(0, "span", 94);
|
|
242
|
+
i0.ɵɵelement(1, "i", 71);
|
|
270
243
|
i0.ɵɵelementEnd();
|
|
271
244
|
} if (rf & 2) {
|
|
272
|
-
const
|
|
273
|
-
i0.ɵɵproperty("title", "Shared with " +
|
|
245
|
+
const sharing_r14 = i0.ɵɵnextContext();
|
|
246
|
+
i0.ɵɵproperty("title", "Shared with " + sharing_r14.totalShares + " user(s)/role(s)");
|
|
274
247
|
} }
|
|
275
|
-
function
|
|
276
|
-
i0.ɵɵconditionalCreate(0,
|
|
248
|
+
function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
249
|
+
i0.ɵɵconditionalCreate(0, ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_21_Conditional_0_Template, 2, 1, "span", 94);
|
|
277
250
|
} if (rf & 2) {
|
|
278
251
|
i0.ɵɵconditional(ctx.totalShares > 0 ? 0 : -1);
|
|
279
252
|
} }
|
|
280
|
-
function
|
|
281
|
-
const
|
|
282
|
-
i0.ɵɵelementStart(0, "div",
|
|
283
|
-
i0.ɵɵlistener("click", function
|
|
284
|
-
i0.ɵɵelementStart(1, "div",
|
|
253
|
+
function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
254
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
255
|
+
i0.ɵɵelementStart(0, "div", 77);
|
|
256
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Template_div_click_0_listener() { const item_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r12)); })("keydown.enter", function ListsBrowseResource_Conditional_17_Conditional_9_For_2_Template_div_keydown_enter_0_listener() { const item_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r12)); });
|
|
257
|
+
i0.ɵɵelementStart(1, "div", 78)(2, "div", 79);
|
|
285
258
|
i0.ɵɵelement(3, "i");
|
|
286
259
|
i0.ɵɵelementEnd();
|
|
287
|
-
i0.ɵɵconditionalCreate(4,
|
|
260
|
+
i0.ɵɵconditionalCreate(4, ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_4_Template, 3, 0, "div", 80);
|
|
288
261
|
i0.ɵɵelementEnd();
|
|
289
|
-
i0.ɵɵelementStart(5, "div",
|
|
262
|
+
i0.ɵɵelementStart(5, "div", 81)(6, "h3", 82);
|
|
290
263
|
i0.ɵɵtext(7);
|
|
291
264
|
i0.ɵɵelementEnd();
|
|
292
|
-
i0.ɵɵconditionalCreate(8,
|
|
293
|
-
i0.ɵɵelementStart(9, "div",
|
|
294
|
-
i0.ɵɵelement(11, "i",
|
|
265
|
+
i0.ɵɵconditionalCreate(8, ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_8_Template, 2, 1, "p", 83);
|
|
266
|
+
i0.ɵɵelementStart(9, "div", 84)(10, "span", 85);
|
|
267
|
+
i0.ɵɵelement(11, "i", 86);
|
|
295
268
|
i0.ɵɵtext(12);
|
|
296
269
|
i0.ɵɵelementEnd();
|
|
297
|
-
i0.ɵɵelementStart(13, "span",
|
|
298
|
-
i0.ɵɵelement(14, "i",
|
|
270
|
+
i0.ɵɵelementStart(13, "span", 85);
|
|
271
|
+
i0.ɵɵelement(14, "i", 87);
|
|
299
272
|
i0.ɵɵtext(15);
|
|
300
273
|
i0.ɵɵelementEnd()()();
|
|
301
|
-
i0.ɵɵelementStart(16, "div",
|
|
302
|
-
i0.ɵɵelement(18, "i",
|
|
274
|
+
i0.ɵɵelementStart(16, "div", 88)(17, "span", 89);
|
|
275
|
+
i0.ɵɵelement(18, "i", 90);
|
|
303
276
|
i0.ɵɵtext(19);
|
|
304
277
|
i0.ɵɵelementEnd();
|
|
305
|
-
i0.ɵɵelementStart(20, "div",
|
|
306
|
-
i0.ɵɵconditionalCreate(21,
|
|
307
|
-
i0.ɵɵelementStart(22, "span",
|
|
278
|
+
i0.ɵɵelementStart(20, "div", 91);
|
|
279
|
+
i0.ɵɵconditionalCreate(21, ListsBrowseResource_Conditional_17_Conditional_9_For_2_Conditional_21_Template, 1, 1);
|
|
280
|
+
i0.ɵɵelementStart(22, "span", 92);
|
|
308
281
|
i0.ɵɵtext(23);
|
|
309
282
|
i0.ɵɵelementEnd()()()();
|
|
310
283
|
} if (rf & 2) {
|
|
311
284
|
let tmp_22_0;
|
|
312
|
-
const
|
|
285
|
+
const item_r12 = ctx.$implicit;
|
|
313
286
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
314
287
|
i0.ɵɵadvance(2);
|
|
315
|
-
i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(
|
|
288
|
+
i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r12.entityName));
|
|
316
289
|
i0.ɵɵadvance();
|
|
317
|
-
i0.ɵɵclassMap(ctx_r2.getEntityIcon(
|
|
290
|
+
i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r12.entityName));
|
|
318
291
|
i0.ɵɵadvance();
|
|
319
|
-
i0.ɵɵconditional(
|
|
292
|
+
i0.ɵɵconditional(item_r12.isOwner ? 4 : -1);
|
|
320
293
|
i0.ɵɵadvance(3);
|
|
321
|
-
i0.ɵɵtextInterpolate(
|
|
294
|
+
i0.ɵɵtextInterpolate(item_r12.list.Name);
|
|
322
295
|
i0.ɵɵadvance();
|
|
323
|
-
i0.ɵɵconditional(
|
|
296
|
+
i0.ɵɵconditional(item_r12.list.Description ? 8 : -1);
|
|
324
297
|
i0.ɵɵadvance(4);
|
|
325
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
298
|
+
i0.ɵɵtextInterpolate1(" ", item_r12.entityName, " ");
|
|
326
299
|
i0.ɵɵadvance(3);
|
|
327
|
-
i0.ɵɵtextInterpolate2(" ",
|
|
300
|
+
i0.ɵɵtextInterpolate2(" ", item_r12.itemCount, " item", item_r12.itemCount !== 1 ? "s" : "", " ");
|
|
328
301
|
i0.ɵɵadvance(2);
|
|
329
|
-
i0.ɵɵclassProp("is-me",
|
|
302
|
+
i0.ɵɵclassProp("is-me", item_r12.isOwner);
|
|
330
303
|
i0.ɵɵadvance(2);
|
|
331
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
304
|
+
i0.ɵɵtextInterpolate1(" ", item_r12.isOwner ? "You" : item_r12.ownerName, " ");
|
|
332
305
|
i0.ɵɵadvance(2);
|
|
333
|
-
i0.ɵɵconditional((tmp_22_0 =
|
|
306
|
+
i0.ɵɵconditional((tmp_22_0 = item_r12.sharingInfo) ? 21 : -1, tmp_22_0);
|
|
334
307
|
i0.ɵɵadvance(2);
|
|
335
|
-
i0.ɵɵtextInterpolate(ctx_r2.formatDate(
|
|
308
|
+
i0.ɵɵtextInterpolate(ctx_r2.formatDate(item_r12.list.__mj_UpdatedAt));
|
|
336
309
|
} }
|
|
337
|
-
function
|
|
338
|
-
i0.ɵɵelementStart(0, "div",
|
|
339
|
-
i0.ɵɵrepeaterCreate(1,
|
|
310
|
+
function ListsBrowseResource_Conditional_17_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
311
|
+
i0.ɵɵelementStart(0, "div", 41);
|
|
312
|
+
i0.ɵɵrepeaterCreate(1, ListsBrowseResource_Conditional_17_Conditional_9_For_2_Template, 24, 15, "div", 76, i0.ɵɵrepeaterTrackByIdentity);
|
|
340
313
|
i0.ɵɵelementEnd();
|
|
341
314
|
} if (rf & 2) {
|
|
342
315
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
343
316
|
i0.ɵɵadvance();
|
|
344
317
|
i0.ɵɵrepeater(ctx_r2.filteredLists);
|
|
345
318
|
} }
|
|
346
|
-
function
|
|
319
|
+
function ListsBrowseResource_Conditional_17_Conditional_10_For_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
347
320
|
i0.ɵɵelementContainer(0);
|
|
348
321
|
} }
|
|
349
|
-
function
|
|
350
|
-
i0.ɵɵtemplate(0,
|
|
322
|
+
function ListsBrowseResource_Conditional_17_Conditional_10_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
323
|
+
i0.ɵɵtemplate(0, ListsBrowseResource_Conditional_17_Conditional_10_For_2_ng_container_0_Template, 1, 0, "ng-container", 95);
|
|
351
324
|
} if (rf & 2) {
|
|
352
|
-
const
|
|
325
|
+
const node_r15 = ctx.$implicit;
|
|
353
326
|
i0.ɵɵnextContext(3);
|
|
354
|
-
const
|
|
355
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
327
|
+
const categoryNodeTemplate_r16 = i0.ɵɵreference(19);
|
|
328
|
+
i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r16)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, node_r15));
|
|
356
329
|
} }
|
|
357
|
-
function
|
|
358
|
-
i0.ɵɵelementStart(0, "div",
|
|
359
|
-
i0.ɵɵrepeaterCreate(1,
|
|
330
|
+
function ListsBrowseResource_Conditional_17_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
331
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
332
|
+
i0.ɵɵrepeaterCreate(1, ListsBrowseResource_Conditional_17_Conditional_10_For_2_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
360
333
|
i0.ɵɵelementEnd();
|
|
361
334
|
} if (rf & 2) {
|
|
362
335
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
363
336
|
i0.ɵɵadvance();
|
|
364
337
|
i0.ɵɵrepeater(ctx_r2.categoryTree);
|
|
365
338
|
} }
|
|
366
|
-
function
|
|
367
|
-
const
|
|
368
|
-
i0.ɵɵelementStart(0, "div",
|
|
369
|
-
i0.ɵɵtext(
|
|
370
|
-
i0.ɵɵelementEnd();
|
|
371
|
-
i0.ɵɵelementStart(
|
|
372
|
-
i0.ɵɵ
|
|
373
|
-
i0.ɵɵ
|
|
374
|
-
i0.ɵɵ
|
|
375
|
-
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_34_Template_select_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedSort, $event) || (ctx_r2.selectedSort = $event); return i0.ɵɵresetView($event); });
|
|
376
|
-
i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Conditional_34_Template_select_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSortChange($event)); });
|
|
377
|
-
i0.ɵɵrepeaterCreate(8, ListsBrowseResource_Conditional_34_For_9_Template, 2, 2, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
|
|
339
|
+
function ListsBrowseResource_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
340
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
341
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "div", 36)(2, "div", 37)(3, "label");
|
|
342
|
+
i0.ɵɵtext(4, "Sort:");
|
|
343
|
+
i0.ɵɵelementEnd();
|
|
344
|
+
i0.ɵɵelementStart(5, "select", 38);
|
|
345
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_17_Template_select_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedSort, $event) || (ctx_r2.selectedSort = $event); return i0.ɵɵresetView($event); });
|
|
346
|
+
i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Conditional_17_Template_select_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSortChange($event)); });
|
|
347
|
+
i0.ɵɵrepeaterCreate(6, ListsBrowseResource_Conditional_17_For_7_Template, 2, 2, "option", 39, i0.ɵɵrepeaterTrackByIdentity);
|
|
378
348
|
i0.ɵɵelementEnd()()();
|
|
379
|
-
i0.ɵɵconditionalCreate(
|
|
380
|
-
i0.ɵɵconditionalCreate(
|
|
381
|
-
i0.ɵɵconditionalCreate(
|
|
349
|
+
i0.ɵɵconditionalCreate(8, ListsBrowseResource_Conditional_17_Conditional_8_Template, 22, 0, "div", 40);
|
|
350
|
+
i0.ɵɵconditionalCreate(9, ListsBrowseResource_Conditional_17_Conditional_9_Template, 3, 0, "div", 41);
|
|
351
|
+
i0.ɵɵconditionalCreate(10, ListsBrowseResource_Conditional_17_Conditional_10_Template, 3, 0, "div", 42);
|
|
382
352
|
i0.ɵɵelementEnd();
|
|
383
353
|
} if (rf & 2) {
|
|
384
354
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
385
|
-
i0.ɵɵadvance(
|
|
386
|
-
i0.ɵɵtextInterpolate2("", ctx_r2.filteredLists.length, " list", ctx_r2.filteredLists.length !== 1 ? "s" : "");
|
|
387
|
-
i0.ɵɵadvance(4);
|
|
355
|
+
i0.ɵɵadvance(5);
|
|
388
356
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.selectedSort);
|
|
389
357
|
i0.ɵɵadvance();
|
|
390
358
|
i0.ɵɵrepeater(ctx_r2.sortOptions);
|
|
391
359
|
i0.ɵɵadvance(2);
|
|
392
|
-
i0.ɵɵconditional(ctx_r2.viewMode === "table" ?
|
|
360
|
+
i0.ɵɵconditional(ctx_r2.viewMode === "table" ? 8 : -1);
|
|
393
361
|
i0.ɵɵadvance();
|
|
394
|
-
i0.ɵɵconditional(ctx_r2.viewMode === "card" ?
|
|
362
|
+
i0.ɵɵconditional(ctx_r2.viewMode === "card" ? 9 : -1);
|
|
395
363
|
i0.ɵɵadvance();
|
|
396
|
-
i0.ɵɵconditional(ctx_r2.viewMode === "hierarchy" ?
|
|
364
|
+
i0.ɵɵconditional(ctx_r2.viewMode === "hierarchy" ? 10 : -1);
|
|
397
365
|
} }
|
|
398
|
-
function
|
|
399
|
-
const
|
|
400
|
-
i0.ɵɵelementStart(0, "div",
|
|
401
|
-
i0.ɵɵlistener("click", function
|
|
402
|
-
i0.ɵɵelement(1, "i")(2, "i",
|
|
403
|
-
i0.ɵɵelementStart(3, "span",
|
|
366
|
+
function ListsBrowseResource_ng_template_18_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
367
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
368
|
+
i0.ɵɵelementStart(0, "div", 100);
|
|
369
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_18_Conditional_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r17); const node_r18 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r18)); });
|
|
370
|
+
i0.ɵɵelement(1, "i")(2, "i", 101);
|
|
371
|
+
i0.ɵɵelementStart(3, "span", 102);
|
|
404
372
|
i0.ɵɵtext(4);
|
|
405
373
|
i0.ɵɵelementEnd();
|
|
406
|
-
i0.ɵɵelementStart(5, "span",
|
|
374
|
+
i0.ɵɵelementStart(5, "span", 103);
|
|
407
375
|
i0.ɵɵtext(6);
|
|
408
376
|
i0.ɵɵelementEnd()();
|
|
409
377
|
} if (rf & 2) {
|
|
410
|
-
const
|
|
378
|
+
const node_r18 = i0.ɵɵnextContext().node;
|
|
411
379
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
412
380
|
i0.ɵɵadvance();
|
|
413
|
-
i0.ɵɵclassMap(
|
|
381
|
+
i0.ɵɵclassMap(node_r18.isExpanded ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-right");
|
|
414
382
|
i0.ɵɵadvance();
|
|
415
|
-
i0.ɵɵclassProp("fa-folder-open",
|
|
383
|
+
i0.ɵɵclassProp("fa-folder-open", node_r18.isExpanded);
|
|
416
384
|
i0.ɵɵadvance(2);
|
|
417
|
-
i0.ɵɵtextInterpolate(
|
|
385
|
+
i0.ɵɵtextInterpolate(node_r18.category.Name);
|
|
418
386
|
i0.ɵɵadvance(2);
|
|
419
|
-
i0.ɵɵtextInterpolate(ctx_r2.getListCountInCategory(
|
|
387
|
+
i0.ɵɵtextInterpolate(ctx_r2.getListCountInCategory(node_r18));
|
|
420
388
|
} }
|
|
421
|
-
function
|
|
422
|
-
const
|
|
423
|
-
i0.ɵɵelementStart(0, "div",
|
|
424
|
-
i0.ɵɵlistener("click", function
|
|
425
|
-
i0.ɵɵelement(1, "i")(2, "i",
|
|
426
|
-
i0.ɵɵelementStart(3, "span",
|
|
389
|
+
function ListsBrowseResource_ng_template_18_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
390
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
391
|
+
i0.ɵɵelementStart(0, "div", 104);
|
|
392
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_18_Conditional_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r19); const node_r18 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r18)); });
|
|
393
|
+
i0.ɵɵelement(1, "i")(2, "i", 105);
|
|
394
|
+
i0.ɵɵelementStart(3, "span", 102);
|
|
427
395
|
i0.ɵɵtext(4, "Uncategorized");
|
|
428
396
|
i0.ɵɵelementEnd();
|
|
429
|
-
i0.ɵɵelementStart(5, "span",
|
|
397
|
+
i0.ɵɵelementStart(5, "span", 103);
|
|
430
398
|
i0.ɵɵtext(6);
|
|
431
399
|
i0.ɵɵelementEnd()();
|
|
432
400
|
} if (rf & 2) {
|
|
433
|
-
const
|
|
401
|
+
const node_r18 = i0.ɵɵnextContext().node;
|
|
434
402
|
i0.ɵɵadvance();
|
|
435
|
-
i0.ɵɵclassMap(
|
|
403
|
+
i0.ɵɵclassMap(node_r18.isExpanded ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-right");
|
|
436
404
|
i0.ɵɵadvance(5);
|
|
437
|
-
i0.ɵɵtextInterpolate(
|
|
405
|
+
i0.ɵɵtextInterpolate(node_r18.lists.length);
|
|
438
406
|
} }
|
|
439
|
-
function
|
|
407
|
+
function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
440
408
|
i0.ɵɵelementStart(0, "span");
|
|
441
409
|
i0.ɵɵtext(1);
|
|
442
410
|
i0.ɵɵelementEnd();
|
|
443
411
|
} if (rf & 2) {
|
|
444
|
-
const
|
|
412
|
+
const item_r21 = i0.ɵɵnextContext().$implicit;
|
|
445
413
|
i0.ɵɵadvance();
|
|
446
|
-
i0.ɵɵtextInterpolate1(" \u00B7 ",
|
|
414
|
+
i0.ɵɵtextInterpolate1(" \u00B7 ", item_r21.ownerName);
|
|
447
415
|
} }
|
|
448
|
-
function
|
|
449
|
-
const
|
|
450
|
-
i0.ɵɵelementStart(0, "div",
|
|
451
|
-
i0.ɵɵlistener("click", function
|
|
452
|
-
i0.ɵɵelement(2, "i",
|
|
416
|
+
function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
417
|
+
const _r22 = i0.ɵɵgetCurrentView();
|
|
418
|
+
i0.ɵɵelementStart(0, "div", 110)(1, "button", 111);
|
|
419
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Conditional_9_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r22); const item_r21 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r21)); });
|
|
420
|
+
i0.ɵɵelement(2, "i", 75);
|
|
453
421
|
i0.ɵɵelementEnd()();
|
|
454
422
|
} }
|
|
455
|
-
function
|
|
456
|
-
const
|
|
457
|
-
i0.ɵɵelementStart(0, "div",
|
|
458
|
-
i0.ɵɵlistener("click", function
|
|
459
|
-
i0.ɵɵelementStart(1, "div",
|
|
423
|
+
function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
424
|
+
const _r20 = i0.ɵɵgetCurrentView();
|
|
425
|
+
i0.ɵɵelementStart(0, "div", 107);
|
|
426
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Template_div_click_0_listener() { const item_r21 = i0.ɵɵrestoreView(_r20).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r21)); })("keydown.enter", function ListsBrowseResource_ng_template_18_Conditional_3_For_2_Template_div_keydown_enter_0_listener() { const item_r21 = i0.ɵɵrestoreView(_r20).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r21)); });
|
|
427
|
+
i0.ɵɵelementStart(1, "div", 56);
|
|
460
428
|
i0.ɵɵelement(2, "i");
|
|
461
429
|
i0.ɵɵelementEnd();
|
|
462
|
-
i0.ɵɵelementStart(3, "div",
|
|
430
|
+
i0.ɵɵelementStart(3, "div", 108)(4, "span", 58);
|
|
463
431
|
i0.ɵɵtext(5);
|
|
464
432
|
i0.ɵɵelementEnd();
|
|
465
|
-
i0.ɵɵelementStart(6, "span",
|
|
433
|
+
i0.ɵɵelementStart(6, "span", 109);
|
|
466
434
|
i0.ɵɵtext(7);
|
|
467
|
-
i0.ɵɵconditionalCreate(8,
|
|
435
|
+
i0.ɵɵconditionalCreate(8, ListsBrowseResource_ng_template_18_Conditional_3_For_2_Conditional_8_Template, 2, 1, "span");
|
|
468
436
|
i0.ɵɵelementEnd()();
|
|
469
|
-
i0.ɵɵconditionalCreate(9,
|
|
437
|
+
i0.ɵɵconditionalCreate(9, ListsBrowseResource_ng_template_18_Conditional_3_For_2_Conditional_9_Template, 3, 0, "div", 110);
|
|
470
438
|
i0.ɵɵelementEnd();
|
|
471
439
|
} if (rf & 2) {
|
|
472
|
-
const
|
|
440
|
+
const item_r21 = ctx.$implicit;
|
|
473
441
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
474
442
|
i0.ɵɵadvance();
|
|
475
|
-
i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(
|
|
443
|
+
i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r21.entityName));
|
|
476
444
|
i0.ɵɵadvance();
|
|
477
|
-
i0.ɵɵclassMap(ctx_r2.getEntityIcon(
|
|
445
|
+
i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r21.entityName));
|
|
478
446
|
i0.ɵɵadvance(3);
|
|
479
|
-
i0.ɵɵtextInterpolate(
|
|
447
|
+
i0.ɵɵtextInterpolate(item_r21.list.Name);
|
|
480
448
|
i0.ɵɵadvance(2);
|
|
481
|
-
i0.ɵɵtextInterpolate2(" ",
|
|
449
|
+
i0.ɵɵtextInterpolate2(" ", item_r21.entityName, " \u00B7 ", item_r21.itemCount, " items ");
|
|
482
450
|
i0.ɵɵadvance();
|
|
483
|
-
i0.ɵɵconditional(!
|
|
451
|
+
i0.ɵɵconditional(!item_r21.isOwner ? 8 : -1);
|
|
484
452
|
i0.ɵɵadvance();
|
|
485
|
-
i0.ɵɵconditional(
|
|
453
|
+
i0.ɵɵconditional(item_r21.isOwner ? 9 : -1);
|
|
486
454
|
} }
|
|
487
|
-
function
|
|
488
|
-
i0.ɵɵelementStart(0, "div",
|
|
489
|
-
i0.ɵɵrepeaterCreate(1,
|
|
455
|
+
function ListsBrowseResource_ng_template_18_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
456
|
+
i0.ɵɵelementStart(0, "div", 99);
|
|
457
|
+
i0.ɵɵrepeaterCreate(1, ListsBrowseResource_ng_template_18_Conditional_3_For_2_Template, 10, 9, "div", 106, i0.ɵɵrepeaterTrackByIdentity);
|
|
490
458
|
i0.ɵɵelementEnd();
|
|
491
459
|
} if (rf & 2) {
|
|
492
|
-
const
|
|
460
|
+
const node_r18 = i0.ɵɵnextContext().node;
|
|
493
461
|
i0.ɵɵadvance();
|
|
494
|
-
i0.ɵɵrepeater(
|
|
462
|
+
i0.ɵɵrepeater(node_r18.lists);
|
|
495
463
|
} }
|
|
496
|
-
function
|
|
464
|
+
function ListsBrowseResource_ng_template_18_Conditional_4_For_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
497
465
|
i0.ɵɵelementContainer(0);
|
|
498
466
|
} }
|
|
499
|
-
function
|
|
500
|
-
i0.ɵɵtemplate(0,
|
|
467
|
+
function ListsBrowseResource_ng_template_18_Conditional_4_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
468
|
+
i0.ɵɵtemplate(0, ListsBrowseResource_ng_template_18_Conditional_4_For_1_ng_container_0_Template, 1, 0, "ng-container", 95);
|
|
501
469
|
} if (rf & 2) {
|
|
502
|
-
const
|
|
503
|
-
const
|
|
470
|
+
const child_r23 = ctx.$implicit;
|
|
471
|
+
const depth_r24 = i0.ɵɵnextContext(2).depth;
|
|
504
472
|
i0.ɵɵnextContext();
|
|
505
|
-
const
|
|
506
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
473
|
+
const categoryNodeTemplate_r16 = i0.ɵɵreference(19);
|
|
474
|
+
i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r16)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, child_r23, depth_r24 + 1));
|
|
507
475
|
} }
|
|
508
|
-
function
|
|
509
|
-
i0.ɵɵrepeaterCreate(0,
|
|
476
|
+
function ListsBrowseResource_ng_template_18_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
477
|
+
i0.ɵɵrepeaterCreate(0, ListsBrowseResource_ng_template_18_Conditional_4_For_1_Template, 1, 5, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
510
478
|
} if (rf & 2) {
|
|
511
|
-
const
|
|
512
|
-
i0.ɵɵrepeater(
|
|
479
|
+
const node_r18 = i0.ɵɵnextContext().node;
|
|
480
|
+
i0.ɵɵrepeater(node_r18.children);
|
|
513
481
|
} }
|
|
514
|
-
function
|
|
515
|
-
i0.ɵɵelementStart(0, "div",
|
|
516
|
-
i0.ɵɵconditionalCreate(1,
|
|
517
|
-
i0.ɵɵconditionalCreate(2,
|
|
518
|
-
i0.ɵɵconditionalCreate(3,
|
|
519
|
-
i0.ɵɵconditionalCreate(4,
|
|
482
|
+
function ListsBrowseResource_ng_template_18_Template(rf, ctx) { if (rf & 1) {
|
|
483
|
+
i0.ɵɵelementStart(0, "div", 96);
|
|
484
|
+
i0.ɵɵconditionalCreate(1, ListsBrowseResource_ng_template_18_Conditional_1_Template, 7, 6, "div", 97);
|
|
485
|
+
i0.ɵɵconditionalCreate(2, ListsBrowseResource_ng_template_18_Conditional_2_Template, 7, 3, "div", 98);
|
|
486
|
+
i0.ɵɵconditionalCreate(3, ListsBrowseResource_ng_template_18_Conditional_3_Template, 3, 0, "div", 99);
|
|
487
|
+
i0.ɵɵconditionalCreate(4, ListsBrowseResource_ng_template_18_Conditional_4_Template, 2, 0);
|
|
520
488
|
i0.ɵɵelementEnd();
|
|
521
489
|
} if (rf & 2) {
|
|
522
|
-
const
|
|
523
|
-
const
|
|
524
|
-
i0.ɵɵstyleProp("margin-left",
|
|
490
|
+
const node_r18 = ctx.node;
|
|
491
|
+
const depth_r24 = ctx.depth;
|
|
492
|
+
i0.ɵɵstyleProp("margin-left", depth_r24 * 20, "px");
|
|
525
493
|
i0.ɵɵadvance();
|
|
526
|
-
i0.ɵɵconditional(
|
|
494
|
+
i0.ɵɵconditional(node_r18.category ? 1 : -1);
|
|
527
495
|
i0.ɵɵadvance();
|
|
528
|
-
i0.ɵɵconditional(!
|
|
496
|
+
i0.ɵɵconditional(!node_r18.category && node_r18.lists.length > 0 ? 2 : -1);
|
|
529
497
|
i0.ɵɵadvance();
|
|
530
|
-
i0.ɵɵconditional(
|
|
498
|
+
i0.ɵɵconditional(node_r18.isExpanded ? 3 : -1);
|
|
531
499
|
i0.ɵɵadvance();
|
|
532
|
-
i0.ɵɵconditional(
|
|
500
|
+
i0.ɵɵconditional(node_r18.isExpanded ? 4 : -1);
|
|
533
501
|
} }
|
|
534
|
-
function
|
|
535
|
-
const
|
|
536
|
-
i0.ɵɵelementStart(0, "div",
|
|
537
|
-
i0.ɵɵlistener("click", function
|
|
502
|
+
function ListsBrowseResource_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
503
|
+
const _r25 = i0.ɵɵgetCurrentView();
|
|
504
|
+
i0.ɵɵelementStart(0, "div", 112);
|
|
505
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_20_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeContextMenu()); });
|
|
538
506
|
i0.ɵɵelementEnd();
|
|
539
507
|
} }
|
|
540
|
-
function
|
|
541
|
-
const
|
|
542
|
-
i0.ɵɵelementStart(0, "div",
|
|
543
|
-
i0.ɵɵlistener("click", function
|
|
544
|
-
i0.ɵɵelement(2, "i",
|
|
508
|
+
function ListsBrowseResource_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
509
|
+
const _r26 = i0.ɵɵgetCurrentView();
|
|
510
|
+
i0.ɵɵelementStart(0, "div", 113)(1, "button", 114);
|
|
511
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_21_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.editList()); });
|
|
512
|
+
i0.ɵɵelement(2, "i", 115);
|
|
545
513
|
i0.ɵɵtext(3, " Edit ");
|
|
546
514
|
i0.ɵɵelementEnd();
|
|
547
|
-
i0.ɵɵelementStart(4, "button",
|
|
548
|
-
i0.ɵɵlistener("click", function
|
|
549
|
-
i0.ɵɵelement(5, "i",
|
|
515
|
+
i0.ɵɵelementStart(4, "button", 114);
|
|
516
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_21_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.openShareDialog()); });
|
|
517
|
+
i0.ɵɵelement(5, "i", 71);
|
|
550
518
|
i0.ɵɵtext(6, " Share ");
|
|
551
519
|
i0.ɵɵelementEnd();
|
|
552
|
-
i0.ɵɵelementStart(7, "button",
|
|
553
|
-
i0.ɵɵlistener("click", function
|
|
554
|
-
i0.ɵɵelement(8, "i",
|
|
520
|
+
i0.ɵɵelementStart(7, "button", 114);
|
|
521
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_21_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.duplicateList()); });
|
|
522
|
+
i0.ɵɵelement(8, "i", 116);
|
|
555
523
|
i0.ɵɵtext(9, " Duplicate ");
|
|
556
524
|
i0.ɵɵelementEnd();
|
|
557
|
-
i0.ɵɵelement(10, "div",
|
|
558
|
-
i0.ɵɵelementStart(11, "button",
|
|
559
|
-
i0.ɵɵlistener("click", function
|
|
560
|
-
i0.ɵɵelement(12, "i",
|
|
525
|
+
i0.ɵɵelement(10, "div", 117);
|
|
526
|
+
i0.ɵɵelementStart(11, "button", 118);
|
|
527
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_21_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.confirmDeleteList()); });
|
|
528
|
+
i0.ɵɵelement(12, "i", 119);
|
|
561
529
|
i0.ɵɵtext(13, " Delete ");
|
|
562
530
|
i0.ɵɵelementEnd()();
|
|
563
531
|
} if (rf & 2) {
|
|
564
532
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
565
533
|
i0.ɵɵstyleProp("top", ctx_r2.contextMenuY, "px")("left", ctx_r2.contextMenuX, "px");
|
|
566
534
|
} }
|
|
567
|
-
function
|
|
568
|
-
const
|
|
569
|
-
i0.ɵɵelementStart(0, "div",
|
|
570
|
-
i0.ɵɵlistener("click", function
|
|
535
|
+
function ListsBrowseResource_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
536
|
+
const _r27 = i0.ɵɵgetCurrentView();
|
|
537
|
+
i0.ɵɵelementStart(0, "div", 120);
|
|
538
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_22_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
|
|
571
539
|
i0.ɵɵelementEnd();
|
|
572
540
|
} }
|
|
573
|
-
function
|
|
574
|
-
const
|
|
575
|
-
i0.ɵɵelementStart(0, "div",
|
|
541
|
+
function ListsBrowseResource_Conditional_23_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
542
|
+
const _r29 = i0.ɵɵgetCurrentView();
|
|
543
|
+
i0.ɵɵelementStart(0, "div", 125)(1, "label");
|
|
576
544
|
i0.ɵɵtext(2, "Entity *");
|
|
577
545
|
i0.ɵɵelementEnd();
|
|
578
|
-
i0.ɵɵelementStart(3, "div",
|
|
579
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
580
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
546
|
+
i0.ɵɵelementStart(3, "div", 134)(4, "input", 135, 1);
|
|
547
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_23_Conditional_15_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.entitySearchTerm, $event) || (ctx_r2.entitySearchTerm = $event); return i0.ɵɵresetView($event); });
|
|
548
|
+
i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Conditional_23_Conditional_15_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.filterEntities($event)); })("focus", function ListsBrowseResource_Conditional_23_Conditional_15_Template_input_focus_4_listener() { i0.ɵɵrestoreView(_r29); const entityInput_r30 = i0.ɵɵreference(5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.openEntityDropdown(entityInput_r30)); });
|
|
581
549
|
i0.ɵɵelementEnd()()();
|
|
582
550
|
} if (rf & 2) {
|
|
583
551
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
584
552
|
i0.ɵɵadvance(4);
|
|
585
553
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.entitySearchTerm);
|
|
586
554
|
} }
|
|
587
|
-
function
|
|
588
|
-
i0.ɵɵelementStart(0, "div",
|
|
555
|
+
function ListsBrowseResource_Conditional_23_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
556
|
+
i0.ɵɵelementStart(0, "div", 125)(1, "label");
|
|
589
557
|
i0.ɵɵtext(2, "Entity");
|
|
590
558
|
i0.ɵɵelementEnd();
|
|
591
|
-
i0.ɵɵelement(3, "input",
|
|
559
|
+
i0.ɵɵelement(3, "input", 136);
|
|
592
560
|
i0.ɵɵelementEnd();
|
|
593
561
|
} if (rf & 2) {
|
|
594
562
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
595
563
|
i0.ɵɵadvance(3);
|
|
596
564
|
i0.ɵɵproperty("value", ctx_r2.entitySearchTerm);
|
|
597
565
|
} }
|
|
598
|
-
function
|
|
599
|
-
i0.ɵɵelementStart(0, "option",
|
|
566
|
+
function ListsBrowseResource_Conditional_23_For_24_Template(rf, ctx) { if (rf & 1) {
|
|
567
|
+
i0.ɵɵelementStart(0, "option", 129);
|
|
600
568
|
i0.ɵɵtext(1);
|
|
601
569
|
i0.ɵɵelementEnd();
|
|
602
570
|
} if (rf & 2) {
|
|
603
|
-
const
|
|
604
|
-
i0.ɵɵproperty("ngValue",
|
|
571
|
+
const cat_r31 = ctx.$implicit;
|
|
572
|
+
i0.ɵɵproperty("ngValue", cat_r31.ID);
|
|
605
573
|
i0.ɵɵadvance();
|
|
606
|
-
i0.ɵɵtextInterpolate(
|
|
574
|
+
i0.ɵɵtextInterpolate(cat_r31.displayName);
|
|
607
575
|
} }
|
|
608
|
-
function
|
|
609
|
-
i0.ɵɵelement(0, "i",
|
|
576
|
+
function ListsBrowseResource_Conditional_23_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
577
|
+
i0.ɵɵelement(0, "i", 132);
|
|
610
578
|
} }
|
|
611
|
-
function
|
|
612
|
-
const
|
|
613
|
-
i0.ɵɵelementStart(0, "div",
|
|
579
|
+
function ListsBrowseResource_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
580
|
+
const _r28 = i0.ɵɵgetCurrentView();
|
|
581
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "div", 121)(2, "h3");
|
|
614
582
|
i0.ɵɵtext(3);
|
|
615
583
|
i0.ɵɵelementEnd();
|
|
616
|
-
i0.ɵɵelementStart(4, "button",
|
|
617
|
-
i0.ɵɵlistener("click", function
|
|
618
|
-
i0.ɵɵelement(5, "i",
|
|
584
|
+
i0.ɵɵelementStart(4, "button", 122);
|
|
585
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_23_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
|
|
586
|
+
i0.ɵɵelement(5, "i", 123);
|
|
619
587
|
i0.ɵɵelementEnd()();
|
|
620
|
-
i0.ɵɵelementStart(6, "div",
|
|
588
|
+
i0.ɵɵelementStart(6, "div", 124)(7, "div", 125)(8, "label");
|
|
621
589
|
i0.ɵɵtext(9, "Name *");
|
|
622
590
|
i0.ɵɵelementEnd();
|
|
623
|
-
i0.ɵɵelementStart(10, "input",
|
|
624
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
591
|
+
i0.ɵɵelementStart(10, "input", 126);
|
|
592
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_23_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListName, $event) || (ctx_r2.newListName = $event); return i0.ɵɵresetView($event); });
|
|
625
593
|
i0.ɵɵelementEnd()();
|
|
626
|
-
i0.ɵɵelementStart(11, "div",
|
|
594
|
+
i0.ɵɵelementStart(11, "div", 125)(12, "label");
|
|
627
595
|
i0.ɵɵtext(13, "Description");
|
|
628
596
|
i0.ɵɵelementEnd();
|
|
629
|
-
i0.ɵɵelementStart(14, "textarea",
|
|
630
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
597
|
+
i0.ɵɵelementStart(14, "textarea", 127);
|
|
598
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_23_Template_textarea_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListDescription, $event) || (ctx_r2.newListDescription = $event); return i0.ɵɵresetView($event); });
|
|
631
599
|
i0.ɵɵelementEnd()();
|
|
632
|
-
i0.ɵɵconditionalCreate(15,
|
|
633
|
-
i0.ɵɵconditionalCreate(16,
|
|
634
|
-
i0.ɵɵelementStart(17, "div",
|
|
600
|
+
i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_23_Conditional_15_Template, 6, 1, "div", 125);
|
|
601
|
+
i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_23_Conditional_16_Template, 4, 1, "div", 125);
|
|
602
|
+
i0.ɵɵelementStart(17, "div", 125)(18, "label");
|
|
635
603
|
i0.ɵɵtext(19, "Category");
|
|
636
604
|
i0.ɵɵelementEnd();
|
|
637
|
-
i0.ɵɵelementStart(20, "select",
|
|
638
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
639
|
-
i0.ɵɵelementStart(21, "option",
|
|
605
|
+
i0.ɵɵelementStart(20, "select", 128);
|
|
606
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_23_Template_select_ngModelChange_20_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedCategoryId, $event) || (ctx_r2.selectedCategoryId = $event); return i0.ɵɵresetView($event); });
|
|
607
|
+
i0.ɵɵelementStart(21, "option", 129);
|
|
640
608
|
i0.ɵɵtext(22, "No category");
|
|
641
609
|
i0.ɵɵelementEnd();
|
|
642
|
-
i0.ɵɵrepeaterCreate(23,
|
|
610
|
+
i0.ɵɵrepeaterCreate(23, ListsBrowseResource_Conditional_23_For_24_Template, 2, 2, "option", 129, i0.ɵɵrepeaterTrackByIdentity);
|
|
643
611
|
i0.ɵɵelementEnd()()();
|
|
644
|
-
i0.ɵɵelementStart(25, "div",
|
|
645
|
-
i0.ɵɵlistener("click", function
|
|
646
|
-
i0.ɵɵconditionalCreate(27,
|
|
612
|
+
i0.ɵɵelementStart(25, "div", 130)(26, "button", 131);
|
|
613
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_23_Template_button_click_26_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveList()); });
|
|
614
|
+
i0.ɵɵconditionalCreate(27, ListsBrowseResource_Conditional_23_Conditional_27_Template, 1, 0, "i", 132);
|
|
647
615
|
i0.ɵɵtext(28);
|
|
648
616
|
i0.ɵɵelementEnd();
|
|
649
|
-
i0.ɵɵelementStart(29, "button",
|
|
650
|
-
i0.ɵɵlistener("click", function
|
|
617
|
+
i0.ɵɵelementStart(29, "button", 133);
|
|
618
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_23_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
|
|
651
619
|
i0.ɵɵtext(30, "Cancel");
|
|
652
620
|
i0.ɵɵelementEnd()()();
|
|
653
621
|
} if (rf & 2) {
|
|
@@ -677,41 +645,41 @@ function ListsBrowseResource_Conditional_40_Template(rf, ctx) { if (rf & 1) {
|
|
|
677
645
|
i0.ɵɵadvance();
|
|
678
646
|
i0.ɵɵproperty("disabled", ctx_r2.isSaving);
|
|
679
647
|
} }
|
|
680
|
-
function
|
|
681
|
-
const
|
|
682
|
-
i0.ɵɵelementStart(0, "div",
|
|
683
|
-
i0.ɵɵlistener("click", function
|
|
648
|
+
function ListsBrowseResource_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
649
|
+
const _r32 = i0.ɵɵgetCurrentView();
|
|
650
|
+
i0.ɵɵelementStart(0, "div", 120);
|
|
651
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_24_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
684
652
|
i0.ɵɵelementEnd();
|
|
685
653
|
} }
|
|
686
|
-
function
|
|
687
|
-
i0.ɵɵelement(0, "i",
|
|
654
|
+
function ListsBrowseResource_Conditional_25_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
655
|
+
i0.ɵɵelement(0, "i", 132);
|
|
688
656
|
} }
|
|
689
|
-
function
|
|
690
|
-
const
|
|
691
|
-
i0.ɵɵelementStart(0, "div",
|
|
657
|
+
function ListsBrowseResource_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
658
|
+
const _r33 = i0.ɵɵgetCurrentView();
|
|
659
|
+
i0.ɵɵelementStart(0, "div", 21)(1, "div", 121)(2, "h3");
|
|
692
660
|
i0.ɵɵtext(3, "Delete List");
|
|
693
661
|
i0.ɵɵelementEnd();
|
|
694
|
-
i0.ɵɵelementStart(4, "button",
|
|
695
|
-
i0.ɵɵlistener("click", function
|
|
696
|
-
i0.ɵɵelement(5, "i",
|
|
662
|
+
i0.ɵɵelementStart(4, "button", 122);
|
|
663
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_25_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
664
|
+
i0.ɵɵelement(5, "i", 123);
|
|
697
665
|
i0.ɵɵelementEnd()();
|
|
698
|
-
i0.ɵɵelementStart(6, "div",
|
|
666
|
+
i0.ɵɵelementStart(6, "div", 124)(7, "p");
|
|
699
667
|
i0.ɵɵtext(8, "Are you sure you want to delete \"");
|
|
700
668
|
i0.ɵɵelementStart(9, "strong");
|
|
701
669
|
i0.ɵɵtext(10);
|
|
702
670
|
i0.ɵɵelementEnd();
|
|
703
671
|
i0.ɵɵtext(11, "\"?");
|
|
704
672
|
i0.ɵɵelementEnd();
|
|
705
|
-
i0.ɵɵelementStart(12, "p",
|
|
673
|
+
i0.ɵɵelementStart(12, "p", 137);
|
|
706
674
|
i0.ɵɵtext(13, "This will also remove all items in the list.");
|
|
707
675
|
i0.ɵɵelementEnd()();
|
|
708
|
-
i0.ɵɵelementStart(14, "div",
|
|
709
|
-
i0.ɵɵlistener("click", function
|
|
710
|
-
i0.ɵɵconditionalCreate(16,
|
|
676
|
+
i0.ɵɵelementStart(14, "div", 130)(15, "button", 138);
|
|
677
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_25_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.deleteList()); });
|
|
678
|
+
i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_25_Conditional_16_Template, 1, 0, "i", 132);
|
|
711
679
|
i0.ɵɵtext(17);
|
|
712
680
|
i0.ɵɵelementEnd();
|
|
713
|
-
i0.ɵɵelementStart(18, "button",
|
|
714
|
-
i0.ɵɵlistener("click", function
|
|
681
|
+
i0.ɵɵelementStart(18, "button", 133);
|
|
682
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_25_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
715
683
|
i0.ɵɵtext(19, "Cancel");
|
|
716
684
|
i0.ɵɵelementEnd()()();
|
|
717
685
|
} if (rf & 2) {
|
|
@@ -727,35 +695,35 @@ function ListsBrowseResource_Conditional_42_Template(rf, ctx) { if (rf & 1) {
|
|
|
727
695
|
i0.ɵɵadvance();
|
|
728
696
|
i0.ɵɵproperty("disabled", ctx_r2.isDeleting);
|
|
729
697
|
} }
|
|
730
|
-
function
|
|
731
|
-
const
|
|
732
|
-
i0.ɵɵelementStart(0, "mj-list-share-dialog",
|
|
733
|
-
i0.ɵɵlistener("complete", function
|
|
698
|
+
function ListsBrowseResource_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
699
|
+
const _r34 = i0.ɵɵgetCurrentView();
|
|
700
|
+
i0.ɵɵelementStart(0, "mj-list-share-dialog", 139);
|
|
701
|
+
i0.ɵɵlistener("complete", function ListsBrowseResource_Conditional_26_Template_mj_list_share_dialog_complete_0_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onShareComplete($event)); })("cancel", function ListsBrowseResource_Conditional_26_Template_mj_list_share_dialog_cancel_0_listener() { i0.ɵɵrestoreView(_r34); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onShareCancel()); });
|
|
734
702
|
i0.ɵɵelementEnd();
|
|
735
703
|
} if (rf & 2) {
|
|
736
704
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
737
705
|
i0.ɵɵproperty("config", ctx_r2.shareDialogConfig)("visible", ctx_r2.showShareDialog);
|
|
738
706
|
} }
|
|
739
|
-
function
|
|
740
|
-
const
|
|
741
|
-
i0.ɵɵelementStart(0, "div",
|
|
742
|
-
i0.ɵɵlistener("mousedown", function
|
|
707
|
+
function ListsBrowseResource_Conditional_27_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
708
|
+
const _r35 = i0.ɵɵgetCurrentView();
|
|
709
|
+
i0.ɵɵelementStart(0, "div", 144);
|
|
710
|
+
i0.ɵɵlistener("mousedown", function ListsBrowseResource_Conditional_27_For_3_Template_div_mousedown_0_listener($event) { const entity_r36 = i0.ɵɵrestoreView(_r35).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); ctx_r2.selectEntity(entity_r36); return i0.ɵɵresetView($event.preventDefault()); });
|
|
743
711
|
i0.ɵɵtext(1);
|
|
744
712
|
i0.ɵɵelementEnd();
|
|
745
713
|
} if (rf & 2) {
|
|
746
|
-
const
|
|
714
|
+
const entity_r36 = ctx.$implicit;
|
|
747
715
|
i0.ɵɵadvance();
|
|
748
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
716
|
+
i0.ɵɵtextInterpolate1(" ", entity_r36.Name, " ");
|
|
749
717
|
} }
|
|
750
|
-
function
|
|
751
|
-
i0.ɵɵelementStart(0, "div",
|
|
718
|
+
function ListsBrowseResource_Conditional_27_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
719
|
+
i0.ɵɵelementStart(0, "div", 143);
|
|
752
720
|
i0.ɵɵtext(1, " No entities found ");
|
|
753
721
|
i0.ɵɵelementEnd();
|
|
754
722
|
} }
|
|
755
|
-
function
|
|
756
|
-
i0.ɵɵelementStart(0, "div",
|
|
757
|
-
i0.ɵɵrepeaterCreate(2,
|
|
758
|
-
i0.ɵɵconditionalCreate(4,
|
|
723
|
+
function ListsBrowseResource_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
724
|
+
i0.ɵɵelementStart(0, "div", 140)(1, "div", 141);
|
|
725
|
+
i0.ɵɵrepeaterCreate(2, ListsBrowseResource_Conditional_27_For_3_Template, 2, 1, "div", 142, i0.ɵɵrepeaterTrackByIdentity);
|
|
726
|
+
i0.ɵɵconditionalCreate(4, ListsBrowseResource_Conditional_27_Conditional_4_Template, 2, 0, "div", 143);
|
|
759
727
|
i0.ɵɵelementEnd()();
|
|
760
728
|
} if (rf & 2) {
|
|
761
729
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -1029,7 +997,61 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
|
|
|
1029
997
|
setViewMode(mode) {
|
|
1030
998
|
this.viewMode = mode;
|
|
1031
999
|
}
|
|
1032
|
-
|
|
1000
|
+
/** View-mode options for the shared <mj-view-toggle>. */
|
|
1001
|
+
listViewOptions = [
|
|
1002
|
+
{ key: 'table', icon: 'fa-solid fa-table-list', title: 'Table view' },
|
|
1003
|
+
{ key: 'card', icon: 'fa-solid fa-grip', title: 'Card view' },
|
|
1004
|
+
{ key: 'hierarchy', icon: 'fa-solid fa-folder-tree', title: 'Category view' },
|
|
1005
|
+
];
|
|
1006
|
+
/** Values record consumed by the centralized <mj-filter-panel>. */
|
|
1007
|
+
get listFilterValues() {
|
|
1008
|
+
return { selectedOwner: this.selectedOwner, selectedEntity: this.selectedEntity };
|
|
1009
|
+
}
|
|
1010
|
+
/** Field config consumed by the centralized <mj-filter-panel>. */
|
|
1011
|
+
get listFilterFields() {
|
|
1012
|
+
return [
|
|
1013
|
+
{
|
|
1014
|
+
key: 'selectedOwner',
|
|
1015
|
+
type: 'dropdown',
|
|
1016
|
+
label: 'Owner',
|
|
1017
|
+
icon: 'fa-solid fa-user',
|
|
1018
|
+
options: this.ownerOptions.map(o => ({ text: o.name, value: o.value })),
|
|
1019
|
+
},
|
|
1020
|
+
{
|
|
1021
|
+
key: 'selectedEntity',
|
|
1022
|
+
type: 'dropdown',
|
|
1023
|
+
label: 'Entity',
|
|
1024
|
+
icon: 'fa-solid fa-table',
|
|
1025
|
+
filterable: this.entityOptions.length > 10,
|
|
1026
|
+
options: this.entityOptions.map(o => ({ text: o.name, value: o.value })),
|
|
1027
|
+
},
|
|
1028
|
+
];
|
|
1029
|
+
}
|
|
1030
|
+
/** Receive popover updates and apply them. */
|
|
1031
|
+
onFilterValuesChange(values) {
|
|
1032
|
+
this.selectedOwner = values['selectedOwner'] ?? 'mine';
|
|
1033
|
+
this.selectedEntity = values['selectedEntity'] ?? 'all';
|
|
1034
|
+
this.applyFilters();
|
|
1035
|
+
this.buildCategoryTree();
|
|
1036
|
+
}
|
|
1037
|
+
/** Reset popover filters to defaults; leaves searchTerm alone. */
|
|
1038
|
+
resetPopoverFilters() {
|
|
1039
|
+
this.selectedOwner = 'mine';
|
|
1040
|
+
this.selectedEntity = 'all';
|
|
1041
|
+
this.applyFilters();
|
|
1042
|
+
this.buildCategoryTree();
|
|
1043
|
+
}
|
|
1044
|
+
/** Active filter count for the popover badge (excludes searchTerm). */
|
|
1045
|
+
get ActiveFilterCount() {
|
|
1046
|
+
let n = 0;
|
|
1047
|
+
if (this.selectedOwner && this.selectedOwner !== 'mine')
|
|
1048
|
+
n++;
|
|
1049
|
+
if (this.selectedEntity && this.selectedEntity !== 'all')
|
|
1050
|
+
n++;
|
|
1051
|
+
return n;
|
|
1052
|
+
}
|
|
1053
|
+
onSearchChange(term) {
|
|
1054
|
+
this.searchTerm = term;
|
|
1033
1055
|
this.applyFilters();
|
|
1034
1056
|
this.buildCategoryTree();
|
|
1035
1057
|
}
|
|
@@ -1404,107 +1426,78 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
|
|
|
1404
1426
|
static ɵfac = function ListsBrowseResource_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ListsBrowseResource)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.TabService), i0.ɵɵdirectiveInject(i2.MJNotificationService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i3.ListSharingService)); };
|
|
1405
1427
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListsBrowseResource, selectors: [["mj-lists-browse-resource"]], hostBindings: function ListsBrowseResource_HostBindings(rf, ctx) { if (rf & 1) {
|
|
1406
1428
|
i0.ɵɵlistener("click", function ListsBrowseResource_click_HostBindingHandler($event) { return ctx.onDocumentClick($event); }, i0.ɵɵresolveDocument)("keydown.escape", function ListsBrowseResource_keydown_escape_HostBindingHandler() { return ctx.onEscapeKey(); }, i0.ɵɵresolveDocument);
|
|
1407
|
-
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
1429
|
+
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 28, vars: 20, consts: [["categoryNodeTemplate", ""], ["entityInput", ""], ["Title", "Lists", "Icon", "fa-solid fa-list-check"], ["meta", ""], ["Label", "lists", 3, "Count"], ["actions", ""], [3, "ClearAllRequested", "ActiveCount", "ShowClearAll"], [3, "ValuesChange", "Reset", "Fields", "Values"], [3, "KeyChange", "Options", "ActiveKey"], ["mjButton", "", "variant", "primary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-plus"], ["toolbar", ""], ["Placeholder", "Search lists...", 3, "ValueChange", "Value"], [1, "loading-container"], [1, "empty-state"], [1, "empty-state", "search-empty"], [1, "browse-content"], [1, "context-menu-overlay"], [1, "context-menu", 3, "top", "left"], [1, "modal-overlay"], [1, "modal-dialog"], [1, "modal-dialog", "confirm-dialog"], [3, "config", "visible"], [1, "entity-dropdown-portal", 3, "top", "left", "width", "dropdown-above"], ["text", "Loading lists...", "size", "medium"], [1, "empty-state-icon-wrapper"], [1, "icon-bg"], [1, "fa-solid", "fa-list-check"], [1, "empty-state-features"], [1, "feature-item"], [1, "fa-solid", "fa-check-circle"], [1, "btn-create-large", 3, "click"], [1, "empty-state-icon-wrapper", "search"], [1, "fa-solid", "fa-filter-circle-xmark"], [1, "empty-hint"], [1, "btn-clear", 3, "click"], [1, "results-header"], [1, "sort-options"], [1, "filter-select", "sort-select", 3, "ngModelChange", "ngModel"], [3, "value"], [1, "lists-table"], ["role", "list", "aria-label", "Lists", 1, "lists-grid"], [1, "category-tree"], ["role", "grid", "aria-label", "Lists table"], ["scope", "col", 1, "col-name"], ["scope", "col", 1, "col-entity"], ["scope", "col", 1, "col-items"], ["scope", "col", 1, "col-sharing"], ["scope", "col", 1, "col-owner"], ["scope", "col", 1, "col-updated"], ["scope", "col", 1, "col-actions"], [1, "sr-only"], ["tabindex", "0", "role", "row", 1, "list-row"], ["tabindex", "0", "role", "row", 1, "list-row", 3, "click", "keydown.enter"], ["role", "gridcell", 1, "col-name"], [1, "name-cell"], ["aria-hidden", "true", 1, "list-icon"], [1, "name-content"], [1, "list-name"], [1, "list-desc"], ["role", "gridcell", 1, "col-entity"], [1, "entity-badge"], ["role", "gridcell", 1, "col-items"], ["role", "gridcell", 1, "col-sharing"], [1, "sharing-private"], ["role", "gridcell", 1, "col-owner"], [1, "owner-name"], ["role", "gridcell", 1, "col-updated"], ["role", "gridcell", 1, "col-actions"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "More options"], [1, "sharing-indicator"], [1, "fa-solid", "fa-share-nodes"], [1, "share-count"], [1, "fa-solid", "fa-lock"], ["mjButton", "", "variant", "flat", "size", "sm", "title", "More options", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-ellipsis-v"], ["tabindex", "0", "role", "listitem", 1, "list-card"], ["tabindex", "0", "role", "listitem", 1, "list-card", 3, "click", "keydown.enter"], [1, "card-header"], ["aria-hidden", "true", 1, "card-icon"], [1, "card-menu"], [1, "card-body"], [1, "card-title"], [1, "card-description"], [1, "card-meta"], [1, "meta-item"], [1, "fa-solid", "fa-database"], [1, "fa-solid", "fa-hashtag"], [1, "card-footer"], [1, "owner-tag"], [1, "fa-solid", "fa-user"], [1, "card-footer-right"], [1, "date-info"], [1, "menu-btn", 3, "click"], [1, "sharing-badge", 3, "title"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "category-section"], [1, "category-header"], [1, "category-header", "uncategorized"], ["role", "list", 1, "category-lists"], [1, "category-header", 3, "click"], [1, "fa-solid", "fa-folder"], [1, "category-name"], [1, "category-count"], [1, "category-header", "uncategorized", 3, "click"], [1, "fa-solid", "fa-inbox"], ["tabindex", "0", "role", "listitem", 1, "list-row", "hierarchy-row"], ["tabindex", "0", "role", "listitem", 1, "list-row", "hierarchy-row", 3, "click", "keydown.enter"], [1, "list-info"], [1, "list-meta"], [1, "list-actions"], ["mjButton", "", "variant", "flat", "size", "sm", 3, "click"], [1, "context-menu-overlay", 3, "click"], [1, "context-menu"], [1, "menu-item", 3, "click"], [1, "fa-solid", "fa-pen"], [1, "fa-solid", "fa-copy"], [1, "menu-divider"], [1, "menu-item", "danger", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "modal-overlay", 3, "click"], [1, "modal-header"], [1, "modal-close", 3, "click"], [1, "fa-solid", "fa-times"], [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-input", 3, "ngModelChange", "ngModel"], [3, "ngValue"], [1, "modal-footer"], [1, "btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "btn-secondary", 3, "click", "disabled"], [1, "custom-select-wrapper"], ["type", "text", "placeholder", "Search and select an entity", 1, "form-input", 3, "ngModelChange", "focus", "ngModel"], ["type", "text", "disabled", "", 1, "form-input", 3, "value"], [1, "warning-text"], [1, "btn-danger", 3, "click", "disabled"], [3, "complete", "cancel", "config", "visible"], [1, "entity-dropdown-portal"], [1, "entity-dropdown-content"], [1, "dropdown-item"], [1, "dropdown-empty"], [1, "dropdown-item", 3, "mousedown"]], template: function ListsBrowseResource_Template(rf, ctx) { if (rf & 1) {
|
|
1408
1430
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
1409
|
-
i0.ɵɵelementStart(0, "
|
|
1410
|
-
i0.ɵɵelement(
|
|
1411
|
-
i0.ɵɵelementStart(5, "h2");
|
|
1412
|
-
i0.ɵɵtext(6, "Lists");
|
|
1413
|
-
i0.ɵɵelementEnd()();
|
|
1414
|
-
i0.ɵɵelementStart(7, "button", 7);
|
|
1415
|
-
i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.createNewList()); });
|
|
1416
|
-
i0.ɵɵelement(8, "i", 8);
|
|
1417
|
-
i0.ɵɵelementStart(9, "span");
|
|
1418
|
-
i0.ɵɵtext(10, "New List");
|
|
1419
|
-
i0.ɵɵelementEnd()()();
|
|
1420
|
-
i0.ɵɵelementStart(11, "div", 9)(12, "div", 10);
|
|
1421
|
-
i0.ɵɵelement(13, "i", 11);
|
|
1422
|
-
i0.ɵɵelementStart(14, "input", 12);
|
|
1423
|
-
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Template_input_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.searchTerm, $event) || (ctx.searchTerm = $event); return i0.ɵɵresetView($event); });
|
|
1424
|
-
i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Template_input_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSearchChange($event)); });
|
|
1431
|
+
i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 2)(2, "div", 3);
|
|
1432
|
+
i0.ɵɵelement(3, "mj-stat-badge", 4);
|
|
1425
1433
|
i0.ɵɵelementEnd();
|
|
1426
|
-
i0.ɵɵ
|
|
1434
|
+
i0.ɵɵelementStart(4, "div", 5)(5, "mj-filter-popover", 6);
|
|
1435
|
+
i0.ɵɵlistener("ClearAllRequested", function ListsBrowseResource_Template_mj_filter_popover_ClearAllRequested_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.resetPopoverFilters()); });
|
|
1436
|
+
i0.ɵɵelementStart(6, "mj-filter-panel", 7);
|
|
1437
|
+
i0.ɵɵlistener("ValuesChange", function ListsBrowseResource_Template_mj_filter_panel_ValuesChange_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onFilterValuesChange($event)); })("Reset", function ListsBrowseResource_Template_mj_filter_panel_Reset_6_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.resetPopoverFilters()); });
|
|
1438
|
+
i0.ɵɵelementEnd()();
|
|
1439
|
+
i0.ɵɵelementStart(7, "mj-view-toggle", 8);
|
|
1440
|
+
i0.ɵɵlistener("KeyChange", function ListsBrowseResource_Template_mj_view_toggle_KeyChange_7_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode($event)); });
|
|
1427
1441
|
i0.ɵɵelementEnd();
|
|
1428
|
-
i0.ɵɵelementStart(
|
|
1429
|
-
i0.ɵɵ
|
|
1430
|
-
i0.ɵɵ
|
|
1431
|
-
i0.ɵɵ
|
|
1442
|
+
i0.ɵɵelementStart(8, "button", 9);
|
|
1443
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.createNewList()); });
|
|
1444
|
+
i0.ɵɵelement(9, "i", 10);
|
|
1445
|
+
i0.ɵɵtext(10, " New List ");
|
|
1432
1446
|
i0.ɵɵelementEnd()();
|
|
1433
|
-
i0.ɵɵelementStart(
|
|
1434
|
-
i0.ɵɵ
|
|
1435
|
-
i0.ɵɵ
|
|
1436
|
-
i0.ɵɵ
|
|
1447
|
+
i0.ɵɵelementStart(11, "div", 11)(12, "mj-page-search", 12);
|
|
1448
|
+
i0.ɵɵlistener("ValueChange", function ListsBrowseResource_Template_mj_page_search_ValueChange_12_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSearchChange($event)); });
|
|
1449
|
+
i0.ɵɵelementEnd()()();
|
|
1450
|
+
i0.ɵɵelementStart(13, "mj-page-body");
|
|
1451
|
+
i0.ɵɵconditionalCreate(14, ListsBrowseResource_Conditional_14_Template, 2, 0, "div", 13);
|
|
1452
|
+
i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_15_Template, 24, 0, "div", 14);
|
|
1453
|
+
i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_16_Template, 11, 0, "div", 15);
|
|
1454
|
+
i0.ɵɵconditionalCreate(17, ListsBrowseResource_Conditional_17_Template, 11, 4, "div", 16);
|
|
1455
|
+
i0.ɵɵtemplate(18, ListsBrowseResource_ng_template_18_Template, 5, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
1456
|
+
i0.ɵɵconditionalCreate(20, ListsBrowseResource_Conditional_20_Template, 1, 0, "div", 17);
|
|
1457
|
+
i0.ɵɵconditionalCreate(21, ListsBrowseResource_Conditional_21_Template, 14, 4, "div", 18);
|
|
1458
|
+
i0.ɵɵconditionalCreate(22, ListsBrowseResource_Conditional_22_Template, 1, 0, "div", 19);
|
|
1459
|
+
i0.ɵɵconditionalCreate(23, ListsBrowseResource_Conditional_23_Template, 31, 11, "div", 20);
|
|
1460
|
+
i0.ɵɵconditionalCreate(24, ListsBrowseResource_Conditional_24_Template, 1, 0, "div", 19);
|
|
1461
|
+
i0.ɵɵconditionalCreate(25, ListsBrowseResource_Conditional_25_Template, 20, 5, "div", 21);
|
|
1462
|
+
i0.ɵɵconditionalCreate(26, ListsBrowseResource_Conditional_26_Template, 1, 2, "mj-list-share-dialog", 22);
|
|
1463
|
+
i0.ɵɵconditionalCreate(27, ListsBrowseResource_Conditional_27_Template, 5, 11, "div", 23);
|
|
1437
1464
|
i0.ɵɵelementEnd()();
|
|
1438
|
-
i0.ɵɵelementStart(24, "div", 18)(25, "button", 19);
|
|
1439
|
-
i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_25_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode("table")); });
|
|
1440
|
-
i0.ɵɵelement(26, "i", 20);
|
|
1441
|
-
i0.ɵɵelementEnd();
|
|
1442
|
-
i0.ɵɵelementStart(27, "button", 21);
|
|
1443
|
-
i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_27_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode("card")); });
|
|
1444
|
-
i0.ɵɵelement(28, "i", 22);
|
|
1445
|
-
i0.ɵɵelementEnd();
|
|
1446
|
-
i0.ɵɵelementStart(29, "button", 23);
|
|
1447
|
-
i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode("hierarchy")); });
|
|
1448
|
-
i0.ɵɵelement(30, "i", 24);
|
|
1449
|
-
i0.ɵɵelementEnd()()()();
|
|
1450
|
-
i0.ɵɵconditionalCreate(31, ListsBrowseResource_Conditional_31_Template, 2, 0, "div", 25);
|
|
1451
|
-
i0.ɵɵconditionalCreate(32, ListsBrowseResource_Conditional_32_Template, 24, 0, "div", 26);
|
|
1452
|
-
i0.ɵɵconditionalCreate(33, ListsBrowseResource_Conditional_33_Template, 11, 0, "div", 27);
|
|
1453
|
-
i0.ɵɵconditionalCreate(34, ListsBrowseResource_Conditional_34_Template, 13, 6, "div", 28);
|
|
1454
|
-
i0.ɵɵtemplate(35, ListsBrowseResource_ng_template_35_Template, 5, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
1455
|
-
i0.ɵɵconditionalCreate(37, ListsBrowseResource_Conditional_37_Template, 1, 0, "div", 29);
|
|
1456
|
-
i0.ɵɵconditionalCreate(38, ListsBrowseResource_Conditional_38_Template, 14, 4, "div", 30);
|
|
1457
|
-
i0.ɵɵconditionalCreate(39, ListsBrowseResource_Conditional_39_Template, 1, 0, "div", 31);
|
|
1458
|
-
i0.ɵɵconditionalCreate(40, ListsBrowseResource_Conditional_40_Template, 31, 11, "div", 32);
|
|
1459
|
-
i0.ɵɵconditionalCreate(41, ListsBrowseResource_Conditional_41_Template, 1, 0, "div", 31);
|
|
1460
|
-
i0.ɵɵconditionalCreate(42, ListsBrowseResource_Conditional_42_Template, 20, 5, "div", 33);
|
|
1461
|
-
i0.ɵɵconditionalCreate(43, ListsBrowseResource_Conditional_43_Template, 1, 2, "mj-list-share-dialog", 34);
|
|
1462
|
-
i0.ɵɵconditionalCreate(44, ListsBrowseResource_Conditional_44_Template, 5, 11, "div", 35);
|
|
1463
|
-
i0.ɵɵelementEnd();
|
|
1464
1465
|
} if (rf & 2) {
|
|
1465
|
-
i0.ɵɵadvance(
|
|
1466
|
-
i0.ɵɵ
|
|
1467
|
-
i0.ɵɵadvance();
|
|
1468
|
-
i0.ɵɵconditional(ctx.searchTerm ? 15 : -1);
|
|
1466
|
+
i0.ɵɵadvance(3);
|
|
1467
|
+
i0.ɵɵproperty("Count", ctx.filteredLists.length);
|
|
1469
1468
|
i0.ɵɵadvance(2);
|
|
1470
|
-
i0.ɵɵ
|
|
1469
|
+
i0.ɵɵproperty("ActiveCount", ctx.ActiveFilterCount)("ShowClearAll", ctx.ActiveFilterCount > 0);
|
|
1471
1470
|
i0.ɵɵadvance();
|
|
1472
|
-
i0.ɵɵ
|
|
1473
|
-
i0.ɵɵadvance(3);
|
|
1474
|
-
i0.ɵɵtwoWayProperty("ngModel", ctx.selectedEntity);
|
|
1471
|
+
i0.ɵɵproperty("Fields", ctx.listFilterFields)("Values", ctx.listFilterValues);
|
|
1475
1472
|
i0.ɵɵadvance();
|
|
1476
|
-
i0.ɵɵ
|
|
1477
|
-
i0.ɵɵadvance(
|
|
1478
|
-
i0.ɵɵ
|
|
1479
|
-
i0.ɵɵadvance(2);
|
|
1480
|
-
i0.ɵɵclassProp("active", ctx.viewMode === "card");
|
|
1473
|
+
i0.ɵɵproperty("Options", ctx.listViewOptions)("ActiveKey", ctx.viewMode);
|
|
1474
|
+
i0.ɵɵadvance(5);
|
|
1475
|
+
i0.ɵɵproperty("Value", ctx.searchTerm);
|
|
1481
1476
|
i0.ɵɵadvance(2);
|
|
1482
|
-
i0.ɵɵ
|
|
1483
|
-
i0.ɵɵadvance(2);
|
|
1484
|
-
i0.ɵɵconditional(ctx.isLoading ? 31 : -1);
|
|
1477
|
+
i0.ɵɵconditional(ctx.isLoading ? 14 : -1);
|
|
1485
1478
|
i0.ɵɵadvance();
|
|
1486
|
-
i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length === 0 ?
|
|
1479
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length === 0 ? 15 : -1);
|
|
1487
1480
|
i0.ɵɵadvance();
|
|
1488
|
-
i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length > 0 && ctx.filteredLists.length === 0 ?
|
|
1481
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length > 0 && ctx.filteredLists.length === 0 ? 16 : -1);
|
|
1489
1482
|
i0.ɵɵadvance();
|
|
1490
|
-
i0.ɵɵconditional(!ctx.isLoading && ctx.filteredLists.length > 0 ?
|
|
1483
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.filteredLists.length > 0 ? 17 : -1);
|
|
1491
1484
|
i0.ɵɵadvance(3);
|
|
1492
|
-
i0.ɵɵconditional(ctx.showContextMenu ?
|
|
1485
|
+
i0.ɵɵconditional(ctx.showContextMenu ? 20 : -1);
|
|
1493
1486
|
i0.ɵɵadvance();
|
|
1494
|
-
i0.ɵɵconditional(ctx.showContextMenu ?
|
|
1487
|
+
i0.ɵɵconditional(ctx.showContextMenu ? 21 : -1);
|
|
1495
1488
|
i0.ɵɵadvance();
|
|
1496
|
-
i0.ɵɵconditional(ctx.showCreateDialog ?
|
|
1489
|
+
i0.ɵɵconditional(ctx.showCreateDialog ? 22 : -1);
|
|
1497
1490
|
i0.ɵɵadvance();
|
|
1498
|
-
i0.ɵɵconditional(ctx.showCreateDialog ?
|
|
1491
|
+
i0.ɵɵconditional(ctx.showCreateDialog ? 23 : -1);
|
|
1499
1492
|
i0.ɵɵadvance();
|
|
1500
|
-
i0.ɵɵconditional(ctx.showDeleteConfirm ?
|
|
1493
|
+
i0.ɵɵconditional(ctx.showDeleteConfirm ? 24 : -1);
|
|
1501
1494
|
i0.ɵɵadvance();
|
|
1502
|
-
i0.ɵɵconditional(ctx.showDeleteConfirm ?
|
|
1495
|
+
i0.ɵɵconditional(ctx.showDeleteConfirm ? 25 : -1);
|
|
1503
1496
|
i0.ɵɵadvance();
|
|
1504
|
-
i0.ɵɵconditional(ctx.shareDialogConfig ?
|
|
1497
|
+
i0.ɵɵconditional(ctx.shareDialogConfig ? 26 : -1);
|
|
1505
1498
|
i0.ɵɵadvance();
|
|
1506
|
-
i0.ɵɵconditional(ctx.showEntityDropdown && !ctx.editingList ?
|
|
1507
|
-
} }, dependencies: [i4.NgTemplateOutlet, i5.NgSelectOption, i5.ɵNgSelectMultipleOption, i5.DefaultValueAccessor, i5.SelectControlValueAccessor, i5.NgControlStatus, i5.NgModel, i6.MJButtonDirective, i7.LoadingComponent, i3.ListShareDialogComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-browse-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n overflow: hidden;\n }\n\n /* Header */\n .browse-header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 200px;\n max-width: 300px;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: var(--mj-text-muted);\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n font-size: 14px;\n width: 100%;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .filter-group {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .filter-group label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: none;\n border-right: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:last-child {\n border-right: none;\n }\n\n .view-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .view-toggle.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 480px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 120px;\n height: 120px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: var(--mj-text-disabled);\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: var(--mj-text-muted) !important;\n font-size: 13px !important;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 28px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: var(--mj-bg-surface-sunken);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: var(--mj-border-default);\n }\n\n /* Content */\n .browse-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .results-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n }\n\n .result-count {\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .sort-options {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .sort-options label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n /* Table View */\n .lists-table {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-sm);\n }\n\n .lists-table table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .lists-table th {\n text-align: left;\n padding: 12px 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .list-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-row:last-child td {\n border-bottom: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n .col-name { width: 30%; }\n .col-entity { width: 15%; }\n .col-items { width: 8%; text-align: center; }\n .col-sharing { width: 8%; text-align: center; }\n .col-owner { width: 14%; }\n .col-updated { width: 15%; }\n .col-actions { width: 10%; text-align: right; }\n\n /* Sharing indicators */\n .sharing-indicator {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--mj-brand-primary);\n font-size: 13px;\n }\n\n .sharing-indicator i {\n font-size: 14px;\n }\n\n .share-count {\n font-weight: 500;\n }\n\n .sharing-private {\n color: var(--mj-text-muted);\n font-size: 13px;\n }\n\n .sharing-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 50%;\n color: var(--mj-brand-primary);\n font-size: 11px;\n }\n\n .card-footer-right {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .name-cell {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .list-icon {\n width: 36px;\n height: 36px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .name-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .list-name {\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-desc {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .entity-badge {\n display: inline-block;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 4px;\n font-size: 12px;\n color: var(--mj-brand-primary-hover);\n }\n\n .owner-name {\n color: var(--mj-text-secondary);\n }\n\n .owner-name.is-me {\n color: var(--mj-brand-primary);\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-secondary);\n }\n\n /* Card View */\n .lists-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .list-card {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s, outline 0.1s;\n outline: 2px solid transparent;\n }\n\n .list-card:hover {\n transform: translateY(-2px);\n box-shadow: var(--mj-shadow-md);\n }\n\n .list-card:focus {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: 2px;\n }\n\n .list-card:focus:not(:focus-visible) {\n outline: none;\n }\n\n .list-card:focus-visible {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: 2px;\n }\n\n .card-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px 16px 0;\n }\n\n .card-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n }\n\n .card-body {\n padding: 12px 16px;\n }\n\n .card-title {\n margin: 0 0 4px;\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta {\n display: flex;\n gap: 16px;\n }\n\n .meta-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .card-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-secondary);\n }\n\n .owner-tag.is-me {\n color: var(--mj-brand-primary);\n }\n\n .date-info {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n /* Hierarchy View */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .category-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .category-header:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .category-header.uncategorized .fa-inbox {\n color: var(--mj-text-muted);\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: var(--mj-text-primary);\n }\n\n .category-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid var(--mj-border-default);\n }\n\n .hierarchy-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px 12px 40px;\n cursor: pointer;\n transition: background 0.2s;\n outline: none;\n }\n\n .hierarchy-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .hierarchy-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .hierarchy-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .hierarchy-row:hover .list-actions {\n opacity: 1;\n }\n\n /* Context Menu */\n .context-menu-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n }\n\n .context-menu {\n position: fixed;\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-md);\n min-width: 160px;\n padding: 4px 0;\n z-index: 1000;\n }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 16px;\n background: none;\n border: none;\n text-align: left;\n font-size: 14px;\n color: var(--mj-text-primary);\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .menu-item.danger {\n color: var(--mj-status-error);\n }\n\n .menu-item.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .menu-divider {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\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: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\n width: 500px;\n max-width: 90vw;\n max-height: 90vh;\n overflow: hidden;\n z-index: 1001;\n }\n\n .confirm-dialog {\n width: 400px;\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 var(--mj-border-default);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n }\n\n .modal-body {\n padding: 20px;\n max-height: 60vh;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0 0 8px;\n color: var(--mj-text-primary);\n }\n\n .warning-text {\n color: var(--mj-status-error) !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\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: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-status-error);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-status-error) 85%, black);\n }\n\n /* Form Styles */\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group:last-child {\n margin-bottom: 0;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n transition: border-color 0.2s, box-shadow 0.2s;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input:disabled {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n textarea.form-input {\n resize: vertical;\n min-height: 80px;\n }\n\n select.form-input {\n cursor: pointer;\n }\n\n .custom-select-wrapper {\n position: relative;\n }\n\n /* Portal Dropdown */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n box-shadow: var(--mj-shadow-md);\n }\n\n .entity-dropdown-content.open-above {\n position: absolute;\n bottom: 0;\n }\n\n .dropdown-item {\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .dropdown-item:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .dropdown-item:first-child {\n border-radius: 6px 6px 0 0;\n }\n\n .dropdown-item:last-child {\n border-radius: 0 0 6px 6px;\n }\n\n .dropdown-empty {\n padding: 10px 12px;\n color: var(--mj-text-muted);\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .header-row {\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .header-actions {\n flex-direction: column;\n align-items: stretch;\n }\n\n .search-box {\n max-width: none;\n }\n\n .filter-group {\n width: 100%;\n }\n\n .filter-select {\n flex: 1;\n width: 100%;\n }\n\n .view-toggle-group {\n justify-content: center;\n }\n\n .lists-table {\n overflow-x: auto;\n }\n\n .col-entity, .col-items, .col-updated {\n display: none;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "], encapsulation: 2 });
|
|
1499
|
+
i0.ɵɵconditional(ctx.showEntityDropdown && !ctx.editingList ? 27 : -1);
|
|
1500
|
+
} }, dependencies: [i4.NgTemplateOutlet, i5.NgSelectOption, i5.ɵNgSelectMultipleOption, i5.DefaultValueAccessor, i5.SelectControlValueAccessor, i5.NgControlStatus, i5.NgModel, i6.MJButtonDirective, i6.MJPageLayoutComponent, i6.MJPageHeaderComponent, i6.MJPageBodyComponent, i6.MJPageSearchComponent, i6.MJFilterPopoverComponent, i6.MJFilterPanelComponent, i6.MJViewToggleComponent, i6.MJStatBadgeComponent, i7.LoadingComponent, i3.ListShareDialogComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n /* Header */\n .browse-header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 200px;\n max-width: 300px;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: var(--mj-text-muted);\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n font-size: 14px;\n width: 100%;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .filter-group {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .filter-group label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: none;\n border-right: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:last-child {\n border-right: none;\n }\n\n .view-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .view-toggle.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 480px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 120px;\n height: 120px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: var(--mj-text-disabled);\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: var(--mj-text-muted) !important;\n font-size: 13px !important;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 28px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: var(--mj-bg-surface-sunken);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: var(--mj-border-default);\n }\n\n /* Content */\n .browse-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .results-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n }\n\n .sort-options {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .sort-options label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n /* Table View */\n .lists-table {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-sm);\n }\n\n .lists-table table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .lists-table th {\n text-align: left;\n padding: 12px 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .list-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-row:last-child td {\n border-bottom: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n .col-name { width: 30%; }\n .col-entity { width: 15%; }\n .col-items { width: 8%; text-align: center; }\n .col-sharing { width: 8%; text-align: center; }\n .col-owner { width: 14%; }\n .col-updated { width: 15%; }\n .col-actions { width: 10%; text-align: right; }\n\n /* Sharing indicators */\n .sharing-indicator {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--mj-brand-primary);\n font-size: 13px;\n }\n\n .sharing-indicator i {\n font-size: 14px;\n }\n\n .share-count {\n font-weight: 500;\n }\n\n .sharing-private {\n color: var(--mj-text-muted);\n font-size: 13px;\n }\n\n .sharing-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 50%;\n color: var(--mj-brand-primary);\n font-size: 11px;\n }\n\n .card-footer-right {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .name-cell {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .list-icon {\n width: 36px;\n height: 36px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .name-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .list-name {\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-desc {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .entity-badge {\n display: inline-block;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 4px;\n font-size: 12px;\n color: var(--mj-brand-primary-hover);\n }\n\n .owner-name {\n color: var(--mj-text-secondary);\n }\n\n .owner-name.is-me {\n color: var(--mj-brand-primary);\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-secondary);\n }\n\n /* Card View */\n .lists-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .list-card {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s, outline 0.1s;\n outline: 2px solid transparent;\n }\n\n .list-card:hover {\n transform: translateY(-2px);\n box-shadow: var(--mj-shadow-md);\n }\n\n .list-card:focus {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: 2px;\n }\n\n .list-card:focus:not(:focus-visible) {\n outline: none;\n }\n\n .list-card:focus-visible {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: 2px;\n }\n\n .card-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px 16px 0;\n }\n\n .card-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n }\n\n .card-body {\n padding: 12px 16px;\n }\n\n .card-title {\n margin: 0 0 4px;\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta {\n display: flex;\n gap: 16px;\n }\n\n .meta-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .card-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-secondary);\n }\n\n .owner-tag.is-me {\n color: var(--mj-brand-primary);\n }\n\n .date-info {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n /* Hierarchy View */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .category-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .category-header:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .category-header.uncategorized .fa-inbox {\n color: var(--mj-text-muted);\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: var(--mj-text-primary);\n }\n\n .category-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid var(--mj-border-default);\n }\n\n .hierarchy-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px 12px 40px;\n cursor: pointer;\n transition: background 0.2s;\n outline: none;\n }\n\n .hierarchy-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .hierarchy-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .hierarchy-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .hierarchy-row:hover .list-actions {\n opacity: 1;\n }\n\n /* Context Menu */\n .context-menu-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n }\n\n .context-menu {\n position: fixed;\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-md);\n min-width: 160px;\n padding: 4px 0;\n z-index: 1000;\n }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 16px;\n background: none;\n border: none;\n text-align: left;\n font-size: 14px;\n color: var(--mj-text-primary);\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .menu-item.danger {\n color: var(--mj-status-error);\n }\n\n .menu-item.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .menu-divider {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\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: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\n width: 500px;\n max-width: 90vw;\n max-height: 90vh;\n overflow: hidden;\n z-index: 1001;\n }\n\n .confirm-dialog {\n width: 400px;\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 var(--mj-border-default);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n }\n\n .modal-body {\n padding: 20px;\n max-height: 60vh;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0 0 8px;\n color: var(--mj-text-primary);\n }\n\n .warning-text {\n color: var(--mj-status-error) !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\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: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-status-error);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-status-error) 85%, black);\n }\n\n /* Form Styles */\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group:last-child {\n margin-bottom: 0;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n transition: border-color 0.2s, box-shadow 0.2s;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input:disabled {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n textarea.form-input {\n resize: vertical;\n min-height: 80px;\n }\n\n select.form-input {\n cursor: pointer;\n }\n\n .custom-select-wrapper {\n position: relative;\n }\n\n /* Portal Dropdown */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n box-shadow: var(--mj-shadow-md);\n }\n\n .entity-dropdown-content.open-above {\n position: absolute;\n bottom: 0;\n }\n\n .dropdown-item {\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .dropdown-item:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .dropdown-item:first-child {\n border-radius: 6px 6px 0 0;\n }\n\n .dropdown-item:last-child {\n border-radius: 0 0 6px 6px;\n }\n\n .dropdown-empty {\n padding: 10px 12px;\n color: var(--mj-text-muted);\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .header-row {\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .header-actions {\n flex-direction: column;\n align-items: stretch;\n }\n\n .search-box {\n max-width: none;\n }\n\n .filter-group {\n width: 100%;\n }\n\n .filter-select {\n flex: 1;\n width: 100%;\n }\n\n .view-toggle-group {\n justify-content: center;\n }\n\n .lists-table {\n overflow-x: auto;\n }\n\n .col-entity, .col-items, .col-updated {\n display: none;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "], encapsulation: 2 });
|
|
1508
1501
|
};
|
|
1509
1502
|
ListsBrowseResource = __decorate([
|
|
1510
1503
|
RegisterClass(BaseResourceComponent, 'ListsBrowseResource')
|
|
@@ -1513,85 +1506,44 @@ export { ListsBrowseResource };
|
|
|
1513
1506
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListsBrowseResource, [{
|
|
1514
1507
|
type: Component,
|
|
1515
1508
|
args: [{ standalone: false, selector: 'mj-lists-browse-resource', template: `
|
|
1516
|
-
<
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
<
|
|
1509
|
+
<mj-page-layout>
|
|
1510
|
+
<mj-page-header Title="Lists" Icon="fa-solid fa-list-check">
|
|
1511
|
+
<div meta>
|
|
1512
|
+
<mj-stat-badge [Count]="filteredLists.length" Label="lists"></mj-stat-badge>
|
|
1513
|
+
</div>
|
|
1514
|
+
<div actions>
|
|
1515
|
+
<mj-filter-popover
|
|
1516
|
+
[ActiveCount]="ActiveFilterCount"
|
|
1517
|
+
[ShowClearAll]="ActiveFilterCount > 0"
|
|
1518
|
+
(ClearAllRequested)="resetPopoverFilters()">
|
|
1519
|
+
<mj-filter-panel
|
|
1520
|
+
[Fields]="listFilterFields"
|
|
1521
|
+
[Values]="listFilterValues"
|
|
1522
|
+
(ValuesChange)="onFilterValuesChange($event)"
|
|
1523
|
+
(Reset)="resetPopoverFilters()">
|
|
1524
|
+
</mj-filter-panel>
|
|
1525
|
+
</mj-filter-popover>
|
|
1526
|
+
|
|
1527
|
+
<mj-view-toggle
|
|
1528
|
+
[Options]="listViewOptions"
|
|
1529
|
+
[ActiveKey]="viewMode"
|
|
1530
|
+
(KeyChange)="setViewMode($any($event))">
|
|
1531
|
+
</mj-view-toggle>
|
|
1532
|
+
|
|
1533
|
+
<button mjButton variant="primary" size="sm" (click)="createNewList()">
|
|
1534
|
+
<i class="fa-solid fa-plus"></i> New List
|
|
1527
1535
|
</button>
|
|
1528
1536
|
</div>
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
placeholder="Search lists..."
|
|
1536
|
-
[(ngModel)]="searchTerm"
|
|
1537
|
-
(ngModelChange)="onSearchChange($event)" />
|
|
1538
|
-
@if (searchTerm) {
|
|
1539
|
-
<button class="clear-search" (click)="clearSearch()">
|
|
1540
|
-
<i class="fa-solid fa-times"></i>
|
|
1541
|
-
</button>
|
|
1542
|
-
}
|
|
1543
|
-
</div>
|
|
1544
|
-
|
|
1545
|
-
<div class="filter-group">
|
|
1546
|
-
<select
|
|
1547
|
-
[(ngModel)]="selectedOwner"
|
|
1548
|
-
(ngModelChange)="onOwnerFilterChange($event)"
|
|
1549
|
-
class="filter-select"
|
|
1550
|
-
title="Filter by owner">
|
|
1551
|
-
@for (opt of ownerOptions; track opt) {
|
|
1552
|
-
<option [value]="opt.value">{{opt.name}}</option>
|
|
1553
|
-
}
|
|
1554
|
-
</select>
|
|
1555
|
-
</div>
|
|
1556
|
-
|
|
1557
|
-
<div class="filter-group">
|
|
1558
|
-
<select
|
|
1559
|
-
[(ngModel)]="selectedEntity"
|
|
1560
|
-
(ngModelChange)="onEntityFilterChange($event)"
|
|
1561
|
-
class="filter-select"
|
|
1562
|
-
title="Filter by entity">
|
|
1563
|
-
@for (opt of entityOptions; track opt) {
|
|
1564
|
-
<option [value]="opt.value">{{opt.name}}</option>
|
|
1565
|
-
}
|
|
1566
|
-
</select>
|
|
1567
|
-
</div>
|
|
1568
|
-
|
|
1569
|
-
<div class="view-toggle-group">
|
|
1570
|
-
<button
|
|
1571
|
-
class="view-toggle"
|
|
1572
|
-
[class.active]="viewMode === 'table'"
|
|
1573
|
-
(click)="setViewMode('table')"
|
|
1574
|
-
title="Table view">
|
|
1575
|
-
<i class="fa-solid fa-table-list"></i>
|
|
1576
|
-
</button>
|
|
1577
|
-
<button
|
|
1578
|
-
class="view-toggle"
|
|
1579
|
-
[class.active]="viewMode === 'card'"
|
|
1580
|
-
(click)="setViewMode('card')"
|
|
1581
|
-
title="Card view">
|
|
1582
|
-
<i class="fa-solid fa-grip"></i>
|
|
1583
|
-
</button>
|
|
1584
|
-
<button
|
|
1585
|
-
class="view-toggle"
|
|
1586
|
-
[class.active]="viewMode === 'hierarchy'"
|
|
1587
|
-
(click)="setViewMode('hierarchy')"
|
|
1588
|
-
title="Category view">
|
|
1589
|
-
<i class="fa-solid fa-folder-tree"></i>
|
|
1590
|
-
</button>
|
|
1591
|
-
</div>
|
|
1537
|
+
<div toolbar>
|
|
1538
|
+
<mj-page-search
|
|
1539
|
+
Placeholder="Search lists..."
|
|
1540
|
+
[Value]="searchTerm"
|
|
1541
|
+
(ValueChange)="onSearchChange($event)">
|
|
1542
|
+
</mj-page-search>
|
|
1592
1543
|
</div>
|
|
1593
|
-
</
|
|
1594
|
-
|
|
1544
|
+
</mj-page-header>
|
|
1545
|
+
|
|
1546
|
+
<mj-page-body>
|
|
1595
1547
|
<!-- Loading State -->
|
|
1596
1548
|
@if (isLoading) {
|
|
1597
1549
|
<div class="loading-container">
|
|
@@ -1645,8 +1597,9 @@ export { ListsBrowseResource };
|
|
|
1645
1597
|
<!-- Results Content -->
|
|
1646
1598
|
@if (!isLoading && filteredLists.length > 0) {
|
|
1647
1599
|
<div class="browse-content">
|
|
1600
|
+
<!-- Sort options — sort UI is undecided in the chrome conventions doc;
|
|
1601
|
+
keeping it here in the body as a sub-view control until the doc takes a position. -->
|
|
1648
1602
|
<div class="results-header">
|
|
1649
|
-
<span class="result-count">{{filteredLists.length}} list{{filteredLists.length !== 1 ? 's' : ''}}</span>
|
|
1650
1603
|
<div class="sort-options">
|
|
1651
1604
|
<label>Sort:</label>
|
|
1652
1605
|
<select
|
|
@@ -2044,8 +1997,9 @@ export { ListsBrowseResource };
|
|
|
2044
1997
|
</div>
|
|
2045
1998
|
</div>
|
|
2046
1999
|
}
|
|
2047
|
-
|
|
2048
|
-
`, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-browse-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface);\n overflow: hidden;\n }\n\n /* Header */\n .browse-header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 200px;\n max-width: 300px;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: var(--mj-text-muted);\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n font-size: 14px;\n width: 100%;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .filter-group {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .filter-group label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: none;\n border-right: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:last-child {\n border-right: none;\n }\n\n .view-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .view-toggle.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 480px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 120px;\n height: 120px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: var(--mj-text-disabled);\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: var(--mj-text-muted) !important;\n font-size: 13px !important;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 28px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: var(--mj-bg-surface-sunken);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: var(--mj-border-default);\n }\n\n /* Content */\n .browse-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .results-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n }\n\n .result-count {\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .sort-options {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .sort-options label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n /* Table View */\n .lists-table {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-sm);\n }\n\n .lists-table table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .lists-table th {\n text-align: left;\n padding: 12px 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .list-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-row:last-child td {\n border-bottom: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n .col-name { width: 30%; }\n .col-entity { width: 15%; }\n .col-items { width: 8%; text-align: center; }\n .col-sharing { width: 8%; text-align: center; }\n .col-owner { width: 14%; }\n .col-updated { width: 15%; }\n .col-actions { width: 10%; text-align: right; }\n\n /* Sharing indicators */\n .sharing-indicator {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--mj-brand-primary);\n font-size: 13px;\n }\n\n .sharing-indicator i {\n font-size: 14px;\n }\n\n .share-count {\n font-weight: 500;\n }\n\n .sharing-private {\n color: var(--mj-text-muted);\n font-size: 13px;\n }\n\n .sharing-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 50%;\n color: var(--mj-brand-primary);\n font-size: 11px;\n }\n\n .card-footer-right {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .name-cell {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .list-icon {\n width: 36px;\n height: 36px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .name-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .list-name {\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-desc {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .entity-badge {\n display: inline-block;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 4px;\n font-size: 12px;\n color: var(--mj-brand-primary-hover);\n }\n\n .owner-name {\n color: var(--mj-text-secondary);\n }\n\n .owner-name.is-me {\n color: var(--mj-brand-primary);\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-secondary);\n }\n\n /* Card View */\n .lists-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .list-card {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s, outline 0.1s;\n outline: 2px solid transparent;\n }\n\n .list-card:hover {\n transform: translateY(-2px);\n box-shadow: var(--mj-shadow-md);\n }\n\n .list-card:focus {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: 2px;\n }\n\n .list-card:focus:not(:focus-visible) {\n outline: none;\n }\n\n .list-card:focus-visible {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: 2px;\n }\n\n .card-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px 16px 0;\n }\n\n .card-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n }\n\n .card-body {\n padding: 12px 16px;\n }\n\n .card-title {\n margin: 0 0 4px;\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta {\n display: flex;\n gap: 16px;\n }\n\n .meta-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .card-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-secondary);\n }\n\n .owner-tag.is-me {\n color: var(--mj-brand-primary);\n }\n\n .date-info {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n /* Hierarchy View */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .category-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .category-header:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .category-header.uncategorized .fa-inbox {\n color: var(--mj-text-muted);\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: var(--mj-text-primary);\n }\n\n .category-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid var(--mj-border-default);\n }\n\n .hierarchy-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px 12px 40px;\n cursor: pointer;\n transition: background 0.2s;\n outline: none;\n }\n\n .hierarchy-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .hierarchy-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .hierarchy-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .hierarchy-row:hover .list-actions {\n opacity: 1;\n }\n\n /* Context Menu */\n .context-menu-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n }\n\n .context-menu {\n position: fixed;\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-md);\n min-width: 160px;\n padding: 4px 0;\n z-index: 1000;\n }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 16px;\n background: none;\n border: none;\n text-align: left;\n font-size: 14px;\n color: var(--mj-text-primary);\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .menu-item.danger {\n color: var(--mj-status-error);\n }\n\n .menu-item.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .menu-divider {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\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: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\n width: 500px;\n max-width: 90vw;\n max-height: 90vh;\n overflow: hidden;\n z-index: 1001;\n }\n\n .confirm-dialog {\n width: 400px;\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 var(--mj-border-default);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n }\n\n .modal-body {\n padding: 20px;\n max-height: 60vh;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0 0 8px;\n color: var(--mj-text-primary);\n }\n\n .warning-text {\n color: var(--mj-status-error) !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\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: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-status-error);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-status-error) 85%, black);\n }\n\n /* Form Styles */\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group:last-child {\n margin-bottom: 0;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n transition: border-color 0.2s, box-shadow 0.2s;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input:disabled {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n textarea.form-input {\n resize: vertical;\n min-height: 80px;\n }\n\n select.form-input {\n cursor: pointer;\n }\n\n .custom-select-wrapper {\n position: relative;\n }\n\n /* Portal Dropdown */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n box-shadow: var(--mj-shadow-md);\n }\n\n .entity-dropdown-content.open-above {\n position: absolute;\n bottom: 0;\n }\n\n .dropdown-item {\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .dropdown-item:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .dropdown-item:first-child {\n border-radius: 6px 6px 0 0;\n }\n\n .dropdown-item:last-child {\n border-radius: 0 0 6px 6px;\n }\n\n .dropdown-empty {\n padding: 10px 12px;\n color: var(--mj-text-muted);\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .header-row {\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .header-actions {\n flex-direction: column;\n align-items: stretch;\n }\n\n .search-box {\n max-width: none;\n }\n\n .filter-group {\n width: 100%;\n }\n\n .filter-select {\n flex: 1;\n width: 100%;\n }\n\n .view-toggle-group {\n justify-content: center;\n }\n\n .lists-table {\n overflow-x: auto;\n }\n\n .col-entity, .col-items, .col-updated {\n display: none;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "] }]
|
|
2000
|
+
</mj-page-body>
|
|
2001
|
+
</mj-page-layout>
|
|
2002
|
+
`, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n /* Header */\n .browse-header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .header-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .header-title i {\n font-size: 24px;\n color: var(--mj-brand-primary);\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n .search-box {\n position: relative;\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 200px;\n max-width: 300px;\n }\n\n .search-box i.fa-search {\n position: absolute;\n left: 12px;\n color: var(--mj-text-muted);\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n font-size: 14px;\n width: 100%;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-box input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .filter-group {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .filter-group label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: var(--mj-bg-surface-card);\n border: none;\n border-right: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .view-toggle:last-child {\n border-right: none;\n }\n\n .view-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .view-toggle.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-create:hover {\n background: var(--mj-brand-primary-hover);\n }\n\n /* Loading */\n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n }\n\n /* Empty State */\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 48px 40px;\n text-align: center;\n max-width: 480px;\n margin: 0 auto;\n }\n\n .empty-state-icon-wrapper {\n position: relative;\n margin-bottom: 24px;\n }\n\n .empty-state-icon-wrapper .icon-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 120px;\n height: 120px;\n border-radius: 50%;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: var(--mj-brand-primary);\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: var(--mj-text-disabled);\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: var(--mj-text-secondary);\n font-size: 15px;\n line-height: 1.5;\n }\n\n .empty-state p:last-of-type {\n margin-bottom: 24px;\n }\n\n .empty-hint {\n color: var(--mj-text-muted) !important;\n font-size: 13px !important;\n }\n\n .empty-state-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-bottom: 28px;\n text-align: left;\n }\n\n .feature-item {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: var(--mj-text-secondary);\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: var(--mj-status-success) !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 8px;\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .btn-create-large:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px color-mix(in srgb, var(--mj-brand-primary) 40%, transparent);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: var(--mj-bg-surface-sunken);\n border: none;\n border-radius: 6px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: var(--mj-border-default);\n }\n\n /* Content */\n .browse-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px 24px;\n }\n\n .results-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n }\n\n .sort-options {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .sort-options label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n }\n\n /* Table View */\n .lists-table {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-sm);\n }\n\n .lists-table table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .lists-table th {\n text-align: left;\n padding: 12px 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-sunken);\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .list-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .list-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-row:last-child td {\n border-bottom: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n .col-name { width: 30%; }\n .col-entity { width: 15%; }\n .col-items { width: 8%; text-align: center; }\n .col-sharing { width: 8%; text-align: center; }\n .col-owner { width: 14%; }\n .col-updated { width: 15%; }\n .col-actions { width: 10%; text-align: right; }\n\n /* Sharing indicators */\n .sharing-indicator {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--mj-brand-primary);\n font-size: 13px;\n }\n\n .sharing-indicator i {\n font-size: 14px;\n }\n\n .share-count {\n font-weight: 500;\n }\n\n .sharing-private {\n color: var(--mj-text-muted);\n font-size: 13px;\n }\n\n .sharing-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 50%;\n color: var(--mj-brand-primary);\n font-size: 11px;\n }\n\n .card-footer-right {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .name-cell {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .list-icon {\n width: 36px;\n height: 36px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .name-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .list-name {\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .list-desc {\n font-size: 12px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .entity-badge {\n display: inline-block;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n border-radius: 4px;\n font-size: 12px;\n color: var(--mj-brand-primary-hover);\n }\n\n .owner-name {\n color: var(--mj-text-secondary);\n }\n\n .owner-name.is-me {\n color: var(--mj-brand-primary);\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-secondary);\n }\n\n /* Card View */\n .lists-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .list-card {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-sm);\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s, outline 0.1s;\n outline: 2px solid transparent;\n }\n\n .list-card:hover {\n transform: translateY(-2px);\n box-shadow: var(--mj-shadow-md);\n }\n\n .list-card:focus {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: 2px;\n }\n\n .list-card:focus:not(:focus-visible) {\n outline: none;\n }\n\n .list-card:focus-visible {\n outline: 2px solid var(--mj-brand-primary);\n outline-offset: 2px;\n }\n\n .card-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: 16px 16px 0;\n }\n\n .card-icon {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n }\n\n .card-body {\n padding: 12px 16px;\n }\n\n .card-title {\n margin: 0 0 4px;\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta {\n display: flex;\n gap: 16px;\n }\n\n .meta-item {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .card-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-secondary);\n }\n\n .owner-tag.is-me {\n color: var(--mj-brand-primary);\n }\n\n .date-info {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n /* Hierarchy View */\n .category-tree {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .category-section {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .category-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .category-header:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: var(--mj-text-muted);\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: var(--mj-status-warning);\n }\n\n .category-header.uncategorized .fa-inbox {\n color: var(--mj-text-muted);\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: var(--mj-text-primary);\n }\n\n .category-count {\n font-size: 12px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid var(--mj-border-default);\n }\n\n .hierarchy-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px 12px 40px;\n cursor: pointer;\n transition: background 0.2s;\n outline: none;\n }\n\n .hierarchy-row:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .hierarchy-row:focus {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .hierarchy-row:focus-visible {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: inset 3px 0 0 var(--mj-brand-primary);\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: var(--mj-text-muted);\n }\n\n .list-actions {\n display: flex;\n gap: 4px;\n opacity: 0;\n transition: opacity 0.2s;\n }\n\n .hierarchy-row:hover .list-actions {\n opacity: 1;\n }\n\n /* Context Menu */\n .context-menu-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n }\n\n .context-menu {\n position: fixed;\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: var(--mj-shadow-md);\n min-width: 160px;\n padding: 4px 0;\n z-index: 1000;\n }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 16px;\n background: none;\n border: none;\n text-align: left;\n font-size: 14px;\n color: var(--mj-text-primary);\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .menu-item.danger {\n color: var(--mj-status-error);\n }\n\n .menu-item.danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n }\n\n .menu-divider {\n height: 1px;\n background: var(--mj-border-default);\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\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: var(--mj-bg-surface-card);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-lg);\n width: 500px;\n max-width: 90vw;\n max-height: 90vh;\n overflow: hidden;\n z-index: 1001;\n }\n\n .confirm-dialog {\n width: 400px;\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 var(--mj-border-default);\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: var(--mj-text-muted);\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n }\n\n .modal-body {\n padding: 20px;\n max-height: 60vh;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0 0 8px;\n color: var(--mj-text-primary);\n }\n\n .warning-text {\n color: var(--mj-status-error) !important;\n font-size: 13px;\n }\n\n .modal-footer {\n display: flex;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\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: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: var(--mj-status-error);\n color: var(--mj-text-inverse);\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-danger:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-status-error) 85%, black);\n }\n\n /* Form Styles */\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-group:last-child {\n margin-bottom: 0;\n }\n\n .form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n transition: border-color 0.2s, box-shadow 0.2s;\n box-sizing: border-box;\n }\n\n .form-input:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input:disabled {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n textarea.form-input {\n resize: vertical;\n min-height: 80px;\n }\n\n select.form-input {\n cursor: pointer;\n }\n\n .custom-select-wrapper {\n position: relative;\n }\n\n /* Portal Dropdown */\n .entity-dropdown-portal {\n position: fixed;\n z-index: 10002;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n box-shadow: var(--mj-shadow-md);\n }\n\n .entity-dropdown-content.open-above {\n position: absolute;\n bottom: 0;\n }\n\n .dropdown-item {\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n font-size: 14px;\n color: var(--mj-text-primary);\n }\n\n .dropdown-item:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n }\n\n .dropdown-item:first-child {\n border-radius: 6px 6px 0 0;\n }\n\n .dropdown-item:last-child {\n border-radius: 0 0 6px 6px;\n }\n\n .dropdown-empty {\n padding: 10px 12px;\n color: var(--mj-text-muted);\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .header-row {\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .header-actions {\n flex-direction: column;\n align-items: stretch;\n }\n\n .search-box {\n max-width: none;\n }\n\n .filter-group {\n width: 100%;\n }\n\n .filter-select {\n flex: 1;\n width: 100%;\n }\n\n .view-toggle-group {\n justify-content: center;\n }\n\n .lists-table {\n overflow-x: auto;\n }\n\n .col-entity, .col-items, .col-updated {\n display: none;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "] }]
|
|
2049
2003
|
}], () => [{ type: i0.ChangeDetectorRef }, { type: i1.TabService }, { type: i2.MJNotificationService }, { type: i0.ElementRef }, { type: i3.ListSharingService }], { onDocumentClick: [{
|
|
2050
2004
|
type: HostListener,
|
|
2051
2005
|
args: ['document:click', ['$event']]
|
|
@@ -2053,5 +2007,5 @@ export { ListsBrowseResource };
|
|
|
2053
2007
|
type: HostListener,
|
|
2054
2008
|
args: ['document:keydown.escape']
|
|
2055
2009
|
}] }); })();
|
|
2056
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsBrowseResource, { className: "ListsBrowseResource", filePath: "src/Lists/components/lists-browse-resource.component.ts", lineNumber:
|
|
2010
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsBrowseResource, { className: "ListsBrowseResource", filePath: "src/Lists/components/lists-browse-resource.component.ts", lineNumber: 1615 }); })();
|
|
2057
2011
|
//# sourceMappingURL=lists-browse-resource.component.js.map
|