@memberjunction/ng-dashboards 5.37.0 → 5.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -7
- package/dist/AI/components/agents/agent-configuration.component.js +199 -198
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +20 -17
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +15 -0
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +166 -58
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +2 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +1 -0
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.js +55 -36
- package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts +9 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +158 -117
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts +1 -0
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +22 -8
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +89 -842
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +1353 -7683
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts +87 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js +475 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts +29 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js +208 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts +21 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js +70 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts +235 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +1735 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts +61 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.js +78 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.format.d.ts +43 -0
- package/dist/AI/components/autotagging/shared/classify.format.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.format.js +209 -0
- package/dist/AI/components/autotagging/shared/classify.format.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.types.d.ts +276 -0
- package/dist/AI/components/autotagging/shared/classify.types.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.types.js +6 -0
- package/dist/AI/components/autotagging/shared/classify.types.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts +103 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.js +571 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts +40 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.js +402 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts +107 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.js +719 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts +122 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js +752 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts +166 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1384 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts +70 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.js +448 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts +397 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js +3490 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts +47 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.js +220 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.js.map +1 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +293 -289
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.js +209 -208
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +130 -128
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.js +61 -61
- package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +17 -17
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +550 -532
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.d.ts +5 -0
- package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.js +14 -2
- package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
- package/dist/AI/services/cache-metrics.d.ts +50 -0
- package/dist/AI/services/cache-metrics.d.ts.map +1 -0
- package/dist/AI/services/cache-metrics.js +43 -0
- package/dist/AI/services/cache-metrics.js.map +1 -0
- package/dist/APIKeys/api-key-edit-panel.component.js +2 -2
- package/dist/APIKeys/api-keys-resource.component.js +132 -131
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +141 -141
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +15 -15
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +0 -5
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +139 -212
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +2 -2
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +2 -2
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +2 -2
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +2 -2
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +54 -49
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +6 -0
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +72 -50
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +103 -102
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +52 -51
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +39 -38
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +6 -0
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +92 -89
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +73 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js +512 -127
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/ComponentStudio/component-studio-resource.component.d.ts +22 -0
- package/dist/ComponentStudio/component-studio-resource.component.d.ts.map +1 -0
- package/dist/ComponentStudio/component-studio-resource.component.js +55 -0
- package/dist/ComponentStudio/component-studio-resource.component.js.map +1 -0
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +104 -45
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +234 -331
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
- package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.d.ts +54 -0
- package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.js +339 -0
- package/dist/ComponentStudio/components/form-builder/form-builder-canvas.component.js.map +1 -0
- package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.d.ts +65 -0
- package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.js +492 -0
- package/dist/ComponentStudio/components/form-builder/form-builder-right-panel.component.js.map +1 -0
- package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.d.ts +88 -0
- package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.js +457 -0
- package/dist/ComponentStudio/components/form-builder/form-builder-tab.component.js.map +1 -0
- package/dist/ComponentStudio/components/form-override-dialog.component.d.ts +106 -0
- package/dist/ComponentStudio/components/form-override-dialog.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/form-override-dialog.component.js +478 -0
- package/dist/ComponentStudio/components/form-override-dialog.component.js.map +1 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts +54 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/workspace/component-preview.component.js +361 -50
- package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -1
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts +10 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +114 -45
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
- package/dist/ComponentStudio/services/canvas-to-code.d.ts +32 -0
- package/dist/ComponentStudio/services/canvas-to-code.d.ts.map +1 -0
- package/dist/ComponentStudio/services/canvas-to-code.js +347 -0
- package/dist/ComponentStudio/services/canvas-to-code.js.map +1 -0
- package/dist/ComponentStudio/services/code-to-canvas.d.ts +32 -0
- package/dist/ComponentStudio/services/code-to-canvas.d.ts.map +1 -0
- package/dist/ComponentStudio/services/code-to-canvas.js +92 -0
- package/dist/ComponentStudio/services/code-to-canvas.js.map +1 -0
- package/dist/ComponentStudio/services/component-studio-state.service.d.ts +29 -0
- package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -1
- package/dist/ComponentStudio/services/component-studio-state.service.js +76 -0
- package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -1
- package/dist/ComponentStudio/services/entity-form-override.service.d.ts +86 -0
- package/dist/ComponentStudio/services/entity-form-override.service.d.ts.map +1 -0
- package/dist/ComponentStudio/services/entity-form-override.service.js +246 -0
- package/dist/ComponentStudio/services/entity-form-override.service.js.map +1 -0
- package/dist/ComponentStudio/services/field-binding-scanner.d.ts +29 -0
- package/dist/ComponentStudio/services/field-binding-scanner.d.ts.map +1 -0
- package/dist/ComponentStudio/services/field-binding-scanner.js +110 -0
- package/dist/ComponentStudio/services/field-binding-scanner.js.map +1 -0
- package/dist/ComponentStudio/services/form-canvas-model.d.ts +56 -0
- package/dist/ComponentStudio/services/form-canvas-model.d.ts.map +1 -0
- package/dist/ComponentStudio/services/form-canvas-model.js +35 -0
- package/dist/ComponentStudio/services/form-canvas-model.js.map +1 -0
- package/dist/ComponentStudio/services/form-host-props-fixture.d.ts +10 -0
- package/dist/ComponentStudio/services/form-host-props-fixture.d.ts.map +1 -0
- package/dist/ComponentStudio/services/form-host-props-fixture.js +10 -0
- package/dist/ComponentStudio/services/form-host-props-fixture.js.map +1 -0
- package/dist/Credentials/components/credentials-audit-resource.component.js +136 -135
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +155 -152
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +119 -118
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +129 -128
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +107 -106
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +2 -2
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +115 -114
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +5 -6
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +4 -5
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/DevTools/app-state-inspector.component.js +18 -17
- package/dist/DevTools/app-state-inspector.component.js.map +1 -1
- package/dist/DevTools/class-registry.component.js +88 -85
- package/dist/DevTools/class-registry.component.js.map +1 -1
- package/dist/DevTools/event-monitor.component.js +155 -150
- package/dist/DevTools/event-monitor.component.js.map +1 -1
- package/dist/DevTools/graphql-console.component.js +245 -243
- package/dist/DevTools/graphql-console.component.js.map +1 -1
- package/dist/DevTools/layout-inspector.component.js +18 -17
- package/dist/DevTools/layout-inspector.component.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -19
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/FormBuilder/form-builder-resource.component.d.ts +964 -0
- package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -0
- package/dist/FormBuilder/form-builder-resource.component.js +4487 -0
- package/dist/FormBuilder/form-builder-resource.component.js.map +1 -0
- package/dist/FormBuilder/form-builder-version-rail.helpers.d.ts +55 -0
- package/dist/FormBuilder/form-builder-version-rail.helpers.d.ts.map +1 -0
- package/dist/FormBuilder/form-builder-version-rail.helpers.js +73 -0
- package/dist/FormBuilder/form-builder-version-rail.helpers.js.map +1 -0
- package/dist/Home/home-application.d.ts +21 -1
- package/dist/Home/home-application.d.ts.map +1 -1
- package/dist/Home/home-application.js +60 -8
- package/dist/Home/home-application.js.map +1 -1
- package/dist/Home/home-dashboard.component.js +2 -2
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +236 -229
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +390 -389
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.js +2 -2
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +2 -2
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +45 -44
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +293 -291
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +62 -61
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +6 -2
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +525 -566
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +135 -134
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +199 -198
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +443 -438
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.d.ts +14 -14
- package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +11 -10
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +146 -147
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +76 -75
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +97 -96
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +24 -22
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +2 -0
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.js +1 -0
- package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +14 -4
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +436 -427
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +1 -1
- package/dist/Testing/components/testing-runs.component.js +116 -115
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +6 -7
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js +173 -172
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.d.ts +6 -0
- package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js +116 -92
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +47 -35
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +40 -1
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +1 -1
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +7 -1
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/component-studio-dashboards.module.d.ts +34 -22
- package/dist/component-studio-dashboards.module.d.ts.map +1 -1
- package/dist/component-studio-dashboards.module.js +65 -9
- package/dist/component-studio-dashboards.module.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +4 -5
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +7 -5
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +55 -53
|
@@ -21,44 +21,15 @@ import * as i6 from "@memberjunction/ng-ui-components";
|
|
|
21
21
|
import * as i7 from "@memberjunction/ng-shared-generic";
|
|
22
22
|
const _c0 = a0 => ({ node: a0, depth: 0 });
|
|
23
23
|
const _c1 = (a0, a1) => ({ node: a0, depth: a1 });
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
i0.ɵɵelementStart(0, "button", 31);
|
|
28
|
-
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_17_For_5_Template_button_click_0_listener() { const f_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.removeTagFilter(f_r4.TagID)); });
|
|
29
|
-
i0.ɵɵtext(1);
|
|
30
|
-
i0.ɵɵelement(2, "i", 32);
|
|
24
|
+
function ListsBrowseResource_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
26
|
+
i0.ɵɵelement(1, "mj-loading", 26);
|
|
31
27
|
i0.ɵɵelementEnd();
|
|
32
|
-
} if (rf & 2) {
|
|
33
|
-
const f_r4 = ctx.$implicit;
|
|
34
|
-
i0.ɵɵadvance();
|
|
35
|
-
i0.ɵɵtextInterpolate1(" ", f_r4.Name, " ");
|
|
36
28
|
} }
|
|
37
|
-
function
|
|
29
|
+
function ListsBrowseResource_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
38
30
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
39
|
-
i0.ɵɵelementStart(0, "div",
|
|
40
|
-
i0.ɵɵelement(2, "
|
|
41
|
-
i0.ɵɵtext(3, " Filtering by tag: ");
|
|
42
|
-
i0.ɵɵelementEnd();
|
|
43
|
-
i0.ɵɵrepeaterCreate(4, ListsBrowseResource_Conditional_17_For_5_Template, 3, 1, "button", 29, _forTrack0);
|
|
44
|
-
i0.ɵɵelementStart(6, "button", 30);
|
|
45
|
-
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_17_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r2); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.clearTagFilters()); });
|
|
46
|
-
i0.ɵɵtext(7, " Clear all ");
|
|
47
|
-
i0.ɵɵelementEnd()();
|
|
48
|
-
} if (rf & 2) {
|
|
49
|
-
const ctx_r4 = i0.ɵɵnextContext();
|
|
50
|
-
i0.ɵɵadvance(4);
|
|
51
|
-
i0.ɵɵrepeater(ctx_r4.tagFilters);
|
|
52
|
-
} }
|
|
53
|
-
function ListsBrowseResource_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
-
i0.ɵɵelementStart(0, "div", 15);
|
|
55
|
-
i0.ɵɵelement(1, "mj-loading", 33);
|
|
56
|
-
i0.ɵɵelementEnd();
|
|
57
|
-
} }
|
|
58
|
-
function ListsBrowseResource_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
59
|
-
const _r6 = i0.ɵɵgetCurrentView();
|
|
60
|
-
i0.ɵɵelementStart(0, "div", 16)(1, "div", 34);
|
|
61
|
-
i0.ɵɵelement(2, "div", 35)(3, "i", 36);
|
|
31
|
+
i0.ɵɵelementStart(0, "div", 15)(1, "div", 27);
|
|
32
|
+
i0.ɵɵelement(2, "div", 28)(3, "i", 29);
|
|
62
33
|
i0.ɵɵelementEnd();
|
|
63
34
|
i0.ɵɵelementStart(4, "h3");
|
|
64
35
|
i0.ɵɵtext(5, "No Lists Yet");
|
|
@@ -66,31 +37,31 @@ function ListsBrowseResource_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
|
66
37
|
i0.ɵɵelementStart(6, "p");
|
|
67
38
|
i0.ɵɵtext(7, "Lists help you organize and track groups of records across your data.");
|
|
68
39
|
i0.ɵɵelementEnd();
|
|
69
|
-
i0.ɵɵelementStart(8, "div",
|
|
70
|
-
i0.ɵɵelement(10, "i",
|
|
40
|
+
i0.ɵɵelementStart(8, "div", 30)(9, "div", 31);
|
|
41
|
+
i0.ɵɵelement(10, "i", 32);
|
|
71
42
|
i0.ɵɵelementStart(11, "span");
|
|
72
43
|
i0.ɵɵtext(12, "Group records from any entity");
|
|
73
44
|
i0.ɵɵelementEnd()();
|
|
74
|
-
i0.ɵɵelementStart(13, "div",
|
|
75
|
-
i0.ɵɵelement(14, "i",
|
|
45
|
+
i0.ɵɵelementStart(13, "div", 31);
|
|
46
|
+
i0.ɵɵelement(14, "i", 32);
|
|
76
47
|
i0.ɵɵelementStart(15, "span");
|
|
77
48
|
i0.ɵɵtext(16, "Organize with categories");
|
|
78
49
|
i0.ɵɵelementEnd()();
|
|
79
|
-
i0.ɵɵelementStart(17, "div",
|
|
80
|
-
i0.ɵɵelement(18, "i",
|
|
50
|
+
i0.ɵɵelementStart(17, "div", 31);
|
|
51
|
+
i0.ɵɵelement(18, "i", 32);
|
|
81
52
|
i0.ɵɵelementStart(19, "span");
|
|
82
53
|
i0.ɵɵtext(20, "Quick access from any view");
|
|
83
54
|
i0.ɵɵelementEnd()()();
|
|
84
|
-
i0.ɵɵelementStart(21, "button",
|
|
85
|
-
i0.ɵɵlistener("click", function
|
|
86
|
-
i0.ɵɵelement(22, "i",
|
|
55
|
+
i0.ɵɵelementStart(21, "button", 33);
|
|
56
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_16_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createNewList()); });
|
|
57
|
+
i0.ɵɵelement(22, "i", 7);
|
|
87
58
|
i0.ɵɵtext(23, " Create Your First List ");
|
|
88
59
|
i0.ɵɵelementEnd()();
|
|
89
60
|
} }
|
|
90
|
-
function
|
|
91
|
-
const
|
|
92
|
-
i0.ɵɵelementStart(0, "div",
|
|
93
|
-
i0.ɵɵelement(2, "i",
|
|
61
|
+
function ListsBrowseResource_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
62
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
63
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "div", 34);
|
|
64
|
+
i0.ɵɵelement(2, "i", 35);
|
|
94
65
|
i0.ɵɵelementEnd();
|
|
95
66
|
i0.ɵɵelementStart(3, "h3");
|
|
96
67
|
i0.ɵɵtext(4, "No Results Found");
|
|
@@ -98,736 +69,736 @@ function ListsBrowseResource_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
|
98
69
|
i0.ɵɵelementStart(5, "p");
|
|
99
70
|
i0.ɵɵtext(6, "No lists match your current filters.");
|
|
100
71
|
i0.ɵɵelementEnd();
|
|
101
|
-
i0.ɵɵelementStart(7, "p",
|
|
72
|
+
i0.ɵɵelementStart(7, "p", 36);
|
|
102
73
|
i0.ɵɵtext(8, "Try adjusting your search or filters.");
|
|
103
74
|
i0.ɵɵelementEnd();
|
|
104
|
-
i0.ɵɵelementStart(9, "button",
|
|
105
|
-
i0.ɵɵlistener("click", function
|
|
75
|
+
i0.ɵɵelementStart(9, "button", 37);
|
|
76
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_17_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearFilters()); });
|
|
106
77
|
i0.ɵɵtext(10, "Clear All Filters");
|
|
107
78
|
i0.ɵɵelementEnd()();
|
|
108
79
|
} }
|
|
109
|
-
function
|
|
110
|
-
i0.ɵɵelementStart(0, "option",
|
|
80
|
+
function ListsBrowseResource_Conditional_18_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
81
|
+
i0.ɵɵelementStart(0, "option", 42);
|
|
111
82
|
i0.ɵɵtext(1);
|
|
112
83
|
i0.ɵɵelementEnd();
|
|
113
84
|
} if (rf & 2) {
|
|
114
|
-
const
|
|
115
|
-
i0.ɵɵproperty("value",
|
|
85
|
+
const opt_r6 = ctx.$implicit;
|
|
86
|
+
i0.ɵɵproperty("value", opt_r6.value);
|
|
116
87
|
i0.ɵɵadvance();
|
|
117
|
-
i0.ɵɵtextInterpolate(
|
|
88
|
+
i0.ɵɵtextInterpolate(opt_r6.name);
|
|
118
89
|
} }
|
|
119
|
-
function
|
|
120
|
-
i0.ɵɵelementStart(0, "span",
|
|
90
|
+
function ListsBrowseResource_Conditional_18_Conditional_10_For_21_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
91
|
+
i0.ɵɵelementStart(0, "span", 62);
|
|
121
92
|
i0.ɵɵtext(1);
|
|
122
93
|
i0.ɵɵelementEnd();
|
|
123
94
|
} if (rf & 2) {
|
|
124
|
-
const
|
|
95
|
+
const item_r8 = i0.ɵɵnextContext().$implicit;
|
|
125
96
|
i0.ɵɵadvance();
|
|
126
|
-
i0.ɵɵtextInterpolate(
|
|
97
|
+
i0.ɵɵtextInterpolate(item_r8.list.Description);
|
|
127
98
|
} }
|
|
128
|
-
function
|
|
129
|
-
i0.ɵɵelementStart(0, "span",
|
|
130
|
-
i0.ɵɵelement(1, "i",
|
|
131
|
-
i0.ɵɵelementStart(2, "span",
|
|
99
|
+
function ListsBrowseResource_Conditional_18_Conditional_10_For_21_Conditional_15_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
100
|
+
i0.ɵɵelementStart(0, "span", 74);
|
|
101
|
+
i0.ɵɵelement(1, "i", 75);
|
|
102
|
+
i0.ɵɵelementStart(2, "span", 76);
|
|
132
103
|
i0.ɵɵtext(3);
|
|
133
104
|
i0.ɵɵelementEnd()();
|
|
134
105
|
} if (rf & 2) {
|
|
135
|
-
const
|
|
106
|
+
const sharing_r9 = i0.ɵɵnextContext();
|
|
136
107
|
i0.ɵɵadvance(3);
|
|
137
|
-
i0.ɵɵtextInterpolate(
|
|
108
|
+
i0.ɵɵtextInterpolate(sharing_r9.totalShares);
|
|
138
109
|
} }
|
|
139
|
-
function
|
|
140
|
-
i0.ɵɵelementStart(0, "span",
|
|
141
|
-
i0.ɵɵelement(1, "i",
|
|
110
|
+
function ListsBrowseResource_Conditional_18_Conditional_10_For_21_Conditional_15_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
111
|
+
i0.ɵɵelementStart(0, "span", 67);
|
|
112
|
+
i0.ɵɵelement(1, "i", 77);
|
|
142
113
|
i0.ɵɵelementEnd();
|
|
143
114
|
} }
|
|
144
|
-
function
|
|
145
|
-
i0.ɵɵconditionalCreate(0,
|
|
146
|
-
i0.ɵɵconditionalCreate(1,
|
|
115
|
+
function ListsBrowseResource_Conditional_18_Conditional_10_For_21_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
116
|
+
i0.ɵɵconditionalCreate(0, ListsBrowseResource_Conditional_18_Conditional_10_For_21_Conditional_15_Conditional_0_Template, 4, 1, "span", 74);
|
|
117
|
+
i0.ɵɵconditionalCreate(1, ListsBrowseResource_Conditional_18_Conditional_10_For_21_Conditional_15_Conditional_1_Template, 2, 0, "span", 67);
|
|
147
118
|
} if (rf & 2) {
|
|
148
|
-
const
|
|
149
|
-
i0.ɵɵconditional(
|
|
119
|
+
const sharing_r9 = ctx;
|
|
120
|
+
i0.ɵɵconditional(sharing_r9.totalShares > 0 ? 0 : -1);
|
|
150
121
|
i0.ɵɵadvance();
|
|
151
|
-
i0.ɵɵconditional(
|
|
122
|
+
i0.ɵɵconditional(sharing_r9.totalShares === 0 ? 1 : -1);
|
|
152
123
|
} }
|
|
153
|
-
function
|
|
154
|
-
i0.ɵɵelementStart(0, "span",
|
|
155
|
-
i0.ɵɵelement(1, "i",
|
|
124
|
+
function ListsBrowseResource_Conditional_18_Conditional_10_For_21_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
125
|
+
i0.ɵɵelementStart(0, "span", 67);
|
|
126
|
+
i0.ɵɵelement(1, "i", 77);
|
|
156
127
|
i0.ɵɵelementEnd();
|
|
157
128
|
} }
|
|
158
|
-
function
|
|
159
|
-
const
|
|
160
|
-
i0.ɵɵelementStart(0, "tr",
|
|
161
|
-
i0.ɵɵlistener("click", function
|
|
162
|
-
i0.ɵɵelementStart(1, "td",
|
|
129
|
+
function ListsBrowseResource_Conditional_18_Conditional_10_For_21_Template(rf, ctx) { if (rf & 1) {
|
|
130
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
131
|
+
i0.ɵɵelementStart(0, "tr", 56);
|
|
132
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_18_Conditional_10_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_18_Conditional_10_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)); });
|
|
133
|
+
i0.ɵɵelementStart(1, "td", 57)(2, "div", 58)(3, "div", 59);
|
|
163
134
|
i0.ɵɵelement(4, "i");
|
|
164
135
|
i0.ɵɵelementEnd();
|
|
165
|
-
i0.ɵɵelementStart(5, "div",
|
|
136
|
+
i0.ɵɵelementStart(5, "div", 60)(6, "span", 61);
|
|
166
137
|
i0.ɵɵtext(7);
|
|
167
138
|
i0.ɵɵelementEnd();
|
|
168
|
-
i0.ɵɵconditionalCreate(8,
|
|
139
|
+
i0.ɵɵconditionalCreate(8, ListsBrowseResource_Conditional_18_Conditional_10_For_21_Conditional_8_Template, 2, 1, "span", 62);
|
|
169
140
|
i0.ɵɵelementEnd()()();
|
|
170
|
-
i0.ɵɵelementStart(9, "td",
|
|
141
|
+
i0.ɵɵelementStart(9, "td", 63)(10, "span", 64);
|
|
171
142
|
i0.ɵɵtext(11);
|
|
172
143
|
i0.ɵɵelementEnd()();
|
|
173
|
-
i0.ɵɵelementStart(12, "td",
|
|
144
|
+
i0.ɵɵelementStart(12, "td", 65);
|
|
174
145
|
i0.ɵɵtext(13);
|
|
175
146
|
i0.ɵɵelementEnd();
|
|
176
|
-
i0.ɵɵelementStart(14, "td",
|
|
177
|
-
i0.ɵɵconditionalCreate(15,
|
|
178
|
-
i0.ɵɵconditionalCreate(16,
|
|
147
|
+
i0.ɵɵelementStart(14, "td", 66);
|
|
148
|
+
i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_18_Conditional_10_For_21_Conditional_15_Template, 2, 2);
|
|
149
|
+
i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_18_Conditional_10_For_21_Conditional_16_Template, 2, 0, "span", 67);
|
|
179
150
|
i0.ɵɵelementEnd();
|
|
180
|
-
i0.ɵɵelementStart(17, "td",
|
|
151
|
+
i0.ɵɵelementStart(17, "td", 68)(18, "span", 69);
|
|
181
152
|
i0.ɵɵtext(19);
|
|
182
153
|
i0.ɵɵelementEnd()();
|
|
183
|
-
i0.ɵɵelementStart(20, "td",
|
|
154
|
+
i0.ɵɵelementStart(20, "td", 70);
|
|
184
155
|
i0.ɵɵtext(21);
|
|
185
156
|
i0.ɵɵelementEnd();
|
|
186
|
-
i0.ɵɵelementStart(22, "td",
|
|
187
|
-
i0.ɵɵlistener("click", function
|
|
188
|
-
i0.ɵɵelement(24, "i",
|
|
157
|
+
i0.ɵɵelementStart(22, "td", 71)(23, "button", 72);
|
|
158
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_18_Conditional_10_For_21_Template_button_click_23_listener($event) { const item_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r8)); });
|
|
159
|
+
i0.ɵɵelement(24, "i", 73);
|
|
189
160
|
i0.ɵɵelementEnd()()();
|
|
190
161
|
} if (rf & 2) {
|
|
191
162
|
let tmp_19_0;
|
|
192
|
-
const
|
|
193
|
-
const
|
|
163
|
+
const item_r8 = ctx.$implicit;
|
|
164
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
194
165
|
i0.ɵɵadvance(3);
|
|
195
|
-
i0.ɵɵstyleProp("background-color",
|
|
166
|
+
i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r8.entityName));
|
|
196
167
|
i0.ɵɵadvance();
|
|
197
|
-
i0.ɵɵclassMap(
|
|
168
|
+
i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r8.entityName));
|
|
198
169
|
i0.ɵɵadvance(3);
|
|
199
|
-
i0.ɵɵtextInterpolate(
|
|
170
|
+
i0.ɵɵtextInterpolate(item_r8.list.Name);
|
|
200
171
|
i0.ɵɵadvance();
|
|
201
|
-
i0.ɵɵconditional(
|
|
172
|
+
i0.ɵɵconditional(item_r8.list.Description ? 8 : -1);
|
|
202
173
|
i0.ɵɵadvance(3);
|
|
203
|
-
i0.ɵɵtextInterpolate(
|
|
174
|
+
i0.ɵɵtextInterpolate(item_r8.entityName);
|
|
204
175
|
i0.ɵɵadvance(2);
|
|
205
|
-
i0.ɵɵtextInterpolate(
|
|
176
|
+
i0.ɵɵtextInterpolate(item_r8.itemCount);
|
|
206
177
|
i0.ɵɵadvance(2);
|
|
207
|
-
i0.ɵɵconditional((tmp_19_0 =
|
|
178
|
+
i0.ɵɵconditional((tmp_19_0 = item_r8.sharingInfo) ? 15 : -1, tmp_19_0);
|
|
208
179
|
i0.ɵɵadvance();
|
|
209
|
-
i0.ɵɵconditional(!
|
|
180
|
+
i0.ɵɵconditional(!item_r8.sharingInfo ? 16 : -1);
|
|
210
181
|
i0.ɵɵadvance(2);
|
|
211
|
-
i0.ɵɵclassProp("is-me",
|
|
182
|
+
i0.ɵɵclassProp("is-me", item_r8.isOwner);
|
|
212
183
|
i0.ɵɵadvance();
|
|
213
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
184
|
+
i0.ɵɵtextInterpolate1(" ", item_r8.isOwner ? "You" : item_r8.ownerName, " ");
|
|
214
185
|
i0.ɵɵadvance(2);
|
|
215
|
-
i0.ɵɵtextInterpolate(
|
|
186
|
+
i0.ɵɵtextInterpolate(ctx_r2.formatDate(item_r8.list.__mj_UpdatedAt));
|
|
216
187
|
} }
|
|
217
|
-
function
|
|
218
|
-
i0.ɵɵelementStart(0, "div",
|
|
188
|
+
function ListsBrowseResource_Conditional_18_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
189
|
+
i0.ɵɵelementStart(0, "div", 43)(1, "table", 46)(2, "thead")(3, "tr")(4, "th", 47);
|
|
219
190
|
i0.ɵɵtext(5, "Name");
|
|
220
191
|
i0.ɵɵelementEnd();
|
|
221
|
-
i0.ɵɵelementStart(6, "th",
|
|
192
|
+
i0.ɵɵelementStart(6, "th", 48);
|
|
222
193
|
i0.ɵɵtext(7, "Entity");
|
|
223
194
|
i0.ɵɵelementEnd();
|
|
224
|
-
i0.ɵɵelementStart(8, "th",
|
|
195
|
+
i0.ɵɵelementStart(8, "th", 49);
|
|
225
196
|
i0.ɵɵtext(9, "Items");
|
|
226
197
|
i0.ɵɵelementEnd();
|
|
227
|
-
i0.ɵɵelementStart(10, "th",
|
|
198
|
+
i0.ɵɵelementStart(10, "th", 50);
|
|
228
199
|
i0.ɵɵtext(11, "Shared");
|
|
229
200
|
i0.ɵɵelementEnd();
|
|
230
|
-
i0.ɵɵelementStart(12, "th",
|
|
201
|
+
i0.ɵɵelementStart(12, "th", 51);
|
|
231
202
|
i0.ɵɵtext(13, "Owner");
|
|
232
203
|
i0.ɵɵelementEnd();
|
|
233
|
-
i0.ɵɵelementStart(14, "th",
|
|
204
|
+
i0.ɵɵelementStart(14, "th", 52);
|
|
234
205
|
i0.ɵɵtext(15, "Updated");
|
|
235
206
|
i0.ɵɵelementEnd();
|
|
236
|
-
i0.ɵɵelementStart(16, "th",
|
|
207
|
+
i0.ɵɵelementStart(16, "th", 53)(17, "span", 54);
|
|
237
208
|
i0.ɵɵtext(18, "Actions");
|
|
238
209
|
i0.ɵɵelementEnd()()()();
|
|
239
210
|
i0.ɵɵelementStart(19, "tbody");
|
|
240
|
-
i0.ɵɵrepeaterCreate(20,
|
|
211
|
+
i0.ɵɵrepeaterCreate(20, ListsBrowseResource_Conditional_18_Conditional_10_For_21_Template, 25, 14, "tr", 55, i0.ɵɵrepeaterTrackByIdentity);
|
|
241
212
|
i0.ɵɵelementEnd()()();
|
|
242
213
|
} if (rf & 2) {
|
|
243
|
-
const
|
|
214
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
244
215
|
i0.ɵɵadvance(20);
|
|
245
|
-
i0.ɵɵrepeater(
|
|
216
|
+
i0.ɵɵrepeater(ctx_r2.filteredLists);
|
|
246
217
|
} }
|
|
247
|
-
function
|
|
248
|
-
i0.ɵɵelementStart(0, "p",
|
|
218
|
+
function ListsBrowseResource_Conditional_18_Conditional_11_For_2_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
219
|
+
i0.ɵɵelementStart(0, "p", 87);
|
|
249
220
|
i0.ɵɵtext(1);
|
|
250
221
|
i0.ɵɵelementEnd();
|
|
251
222
|
} if (rf & 2) {
|
|
252
|
-
const
|
|
223
|
+
const item_r11 = i0.ɵɵnextContext().$implicit;
|
|
253
224
|
i0.ɵɵadvance();
|
|
254
|
-
i0.ɵɵtextInterpolate(
|
|
225
|
+
i0.ɵɵtextInterpolate(item_r11.list.Description);
|
|
255
226
|
} }
|
|
256
|
-
function
|
|
257
|
-
i0.ɵɵelementStart(0, "span",
|
|
258
|
-
i0.ɵɵelement(1, "i",
|
|
227
|
+
function ListsBrowseResource_Conditional_18_Conditional_11_For_2_Conditional_27_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
228
|
+
i0.ɵɵelementStart(0, "span", 99);
|
|
229
|
+
i0.ɵɵelement(1, "i", 75);
|
|
259
230
|
i0.ɵɵelementEnd();
|
|
260
231
|
} if (rf & 2) {
|
|
261
|
-
const
|
|
262
|
-
i0.ɵɵproperty("title", "Shared with " +
|
|
232
|
+
const sharing_r12 = i0.ɵɵnextContext();
|
|
233
|
+
i0.ɵɵproperty("title", "Shared with " + sharing_r12.totalShares + " user(s)/role(s)");
|
|
263
234
|
} }
|
|
264
|
-
function
|
|
265
|
-
i0.ɵɵconditionalCreate(0,
|
|
235
|
+
function ListsBrowseResource_Conditional_18_Conditional_11_For_2_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
236
|
+
i0.ɵɵconditionalCreate(0, ListsBrowseResource_Conditional_18_Conditional_11_For_2_Conditional_27_Conditional_0_Template, 2, 1, "span", 99);
|
|
266
237
|
} if (rf & 2) {
|
|
267
238
|
i0.ɵɵconditional(ctx.totalShares > 0 ? 0 : -1);
|
|
268
239
|
} }
|
|
269
|
-
function
|
|
270
|
-
const
|
|
271
|
-
i0.ɵɵelementStart(0, "div",
|
|
272
|
-
i0.ɵɵlistener("click", function
|
|
273
|
-
i0.ɵɵelementStart(1, "div",
|
|
240
|
+
function ListsBrowseResource_Conditional_18_Conditional_11_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
241
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
242
|
+
i0.ɵɵelementStart(0, "div", 79);
|
|
243
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_18_Conditional_11_For_2_Template_div_click_0_listener() { const item_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r11)); })("keydown.enter", function ListsBrowseResource_Conditional_18_Conditional_11_For_2_Template_div_keydown_enter_0_listener() { const item_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r11)); });
|
|
244
|
+
i0.ɵɵelementStart(1, "div", 80)(2, "div", 81);
|
|
274
245
|
i0.ɵɵelement(3, "i");
|
|
275
246
|
i0.ɵɵelementEnd();
|
|
276
|
-
i0.ɵɵelementStart(4, "button",
|
|
277
|
-
i0.ɵɵlistener("click", function
|
|
247
|
+
i0.ɵɵelementStart(4, "button", 82);
|
|
248
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_18_Conditional_11_For_2_Template_button_click_4_listener($event) { const item_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.toggleFavorite($event, item_r11)); });
|
|
278
249
|
i0.ɵɵelement(5, "i");
|
|
279
250
|
i0.ɵɵelementEnd();
|
|
280
|
-
i0.ɵɵelementStart(6, "div",
|
|
281
|
-
i0.ɵɵlistener("click", function
|
|
282
|
-
i0.ɵɵelement(8, "i",
|
|
251
|
+
i0.ɵɵelementStart(6, "div", 83)(7, "button", 84);
|
|
252
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_18_Conditional_11_For_2_Template_button_click_7_listener($event) { const item_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r11)); });
|
|
253
|
+
i0.ɵɵelement(8, "i", 73);
|
|
283
254
|
i0.ɵɵelementEnd()()();
|
|
284
|
-
i0.ɵɵelementStart(9, "div",
|
|
255
|
+
i0.ɵɵelementStart(9, "div", 85)(10, "h3", 86);
|
|
285
256
|
i0.ɵɵtext(11);
|
|
286
257
|
i0.ɵɵelementEnd();
|
|
287
|
-
i0.ɵɵconditionalCreate(12,
|
|
288
|
-
i0.ɵɵelementStart(13, "div",
|
|
289
|
-
i0.ɵɵelement(15, "i",
|
|
258
|
+
i0.ɵɵconditionalCreate(12, ListsBrowseResource_Conditional_18_Conditional_11_For_2_Conditional_12_Template, 2, 1, "p", 87);
|
|
259
|
+
i0.ɵɵelementStart(13, "div", 88)(14, "span", 89);
|
|
260
|
+
i0.ɵɵelement(15, "i", 90);
|
|
290
261
|
i0.ɵɵtext(16);
|
|
291
262
|
i0.ɵɵelementEnd();
|
|
292
|
-
i0.ɵɵelementStart(17, "span",
|
|
293
|
-
i0.ɵɵelement(18, "i",
|
|
263
|
+
i0.ɵɵelementStart(17, "span", 89);
|
|
264
|
+
i0.ɵɵelement(18, "i", 91);
|
|
294
265
|
i0.ɵɵtext(19);
|
|
295
266
|
i0.ɵɵelementEnd()();
|
|
296
|
-
i0.ɵɵelementStart(20, "div",
|
|
297
|
-
i0.ɵɵlistener("click", function
|
|
298
|
-
i0.ɵɵelementStart(21, "mj-tag-chips",
|
|
299
|
-
i0.ɵɵlistener("TagClicked", function
|
|
267
|
+
i0.ɵɵelementStart(20, "div", 92);
|
|
268
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_18_Conditional_11_For_2_Template_div_click_20_listener($event) { i0.ɵɵrestoreView(_r10); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
269
|
+
i0.ɵɵelementStart(21, "mj-tag-chips", 93);
|
|
270
|
+
i0.ɵɵlistener("TagClicked", function ListsBrowseResource_Conditional_18_Conditional_11_For_2_Template_mj_tag_chips_TagClicked_21_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onCardTagClicked($event)); });
|
|
300
271
|
i0.ɵɵelementEnd()()();
|
|
301
|
-
i0.ɵɵelementStart(22, "div",
|
|
302
|
-
i0.ɵɵelement(24, "i",
|
|
272
|
+
i0.ɵɵelementStart(22, "div", 94)(23, "span", 95);
|
|
273
|
+
i0.ɵɵelement(24, "i", 96);
|
|
303
274
|
i0.ɵɵtext(25);
|
|
304
275
|
i0.ɵɵelementEnd();
|
|
305
|
-
i0.ɵɵelementStart(26, "div",
|
|
306
|
-
i0.ɵɵconditionalCreate(27,
|
|
307
|
-
i0.ɵɵelementStart(28, "span",
|
|
276
|
+
i0.ɵɵelementStart(26, "div", 97);
|
|
277
|
+
i0.ɵɵconditionalCreate(27, ListsBrowseResource_Conditional_18_Conditional_11_For_2_Conditional_27_Template, 1, 1);
|
|
278
|
+
i0.ɵɵelementStart(28, "span", 98);
|
|
308
279
|
i0.ɵɵtext(29);
|
|
309
280
|
i0.ɵɵelementEnd()()()();
|
|
310
281
|
} if (rf & 2) {
|
|
311
282
|
let tmp_28_0;
|
|
312
|
-
const
|
|
313
|
-
const
|
|
283
|
+
const item_r11 = ctx.$implicit;
|
|
284
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
314
285
|
i0.ɵɵadvance(2);
|
|
315
|
-
i0.ɵɵstyleProp("background-color",
|
|
286
|
+
i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r11.entityName));
|
|
316
287
|
i0.ɵɵadvance();
|
|
317
|
-
i0.ɵɵclassMap(
|
|
288
|
+
i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r11.entityName));
|
|
318
289
|
i0.ɵɵadvance();
|
|
319
|
-
i0.ɵɵclassProp("favorite-btn--active",
|
|
320
|
-
i0.ɵɵproperty("title",
|
|
290
|
+
i0.ɵɵclassProp("favorite-btn--active", ctx_r2.isFavorite(item_r11.list.ID));
|
|
291
|
+
i0.ɵɵproperty("title", ctx_r2.isFavorite(item_r11.list.ID) ? "Remove from favorites" : "Add to favorites");
|
|
321
292
|
i0.ɵɵadvance();
|
|
322
|
-
i0.ɵɵclassMap(
|
|
293
|
+
i0.ɵɵclassMap(ctx_r2.isFavorite(item_r11.list.ID) ? "fa-solid fa-star" : "fa-regular fa-star");
|
|
323
294
|
i0.ɵɵadvance(6);
|
|
324
|
-
i0.ɵɵtextInterpolate(
|
|
295
|
+
i0.ɵɵtextInterpolate(item_r11.list.Name);
|
|
325
296
|
i0.ɵɵadvance();
|
|
326
|
-
i0.ɵɵconditional(
|
|
297
|
+
i0.ɵɵconditional(item_r11.list.Description ? 12 : -1);
|
|
327
298
|
i0.ɵɵadvance(4);
|
|
328
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
299
|
+
i0.ɵɵtextInterpolate1(" ", item_r11.entityName, " ");
|
|
329
300
|
i0.ɵɵadvance(3);
|
|
330
|
-
i0.ɵɵtextInterpolate2(" ",
|
|
301
|
+
i0.ɵɵtextInterpolate2(" ", item_r11.itemCount, " item", item_r11.itemCount !== 1 ? "s" : "", " ");
|
|
331
302
|
i0.ɵɵadvance(2);
|
|
332
|
-
i0.ɵɵproperty("Provider",
|
|
303
|
+
i0.ɵɵproperty("Provider", ctx_r2.Provider)("RecordID", item_r11.list.ID)("Editable", false)("MaxDisplay", 3);
|
|
333
304
|
i0.ɵɵadvance(2);
|
|
334
|
-
i0.ɵɵclassProp("is-me",
|
|
305
|
+
i0.ɵɵclassProp("is-me", item_r11.isOwner);
|
|
335
306
|
i0.ɵɵadvance(2);
|
|
336
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
307
|
+
i0.ɵɵtextInterpolate1(" ", item_r11.isOwner ? "You" : item_r11.ownerName, " ");
|
|
337
308
|
i0.ɵɵadvance(2);
|
|
338
|
-
i0.ɵɵconditional((tmp_28_0 =
|
|
309
|
+
i0.ɵɵconditional((tmp_28_0 = item_r11.sharingInfo) ? 27 : -1, tmp_28_0);
|
|
339
310
|
i0.ɵɵadvance(2);
|
|
340
|
-
i0.ɵɵtextInterpolate(
|
|
311
|
+
i0.ɵɵtextInterpolate(ctx_r2.formatDate(item_r11.list.__mj_UpdatedAt));
|
|
341
312
|
} }
|
|
342
|
-
function
|
|
343
|
-
i0.ɵɵelementStart(0, "div",
|
|
344
|
-
i0.ɵɵrepeaterCreate(1,
|
|
313
|
+
function ListsBrowseResource_Conditional_18_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
314
|
+
i0.ɵɵelementStart(0, "div", 44);
|
|
315
|
+
i0.ɵɵrepeaterCreate(1, ListsBrowseResource_Conditional_18_Conditional_11_For_2_Template, 30, 23, "div", 78, i0.ɵɵrepeaterTrackByIdentity);
|
|
345
316
|
i0.ɵɵelementEnd();
|
|
346
317
|
} if (rf & 2) {
|
|
347
|
-
const
|
|
318
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
348
319
|
i0.ɵɵadvance();
|
|
349
|
-
i0.ɵɵrepeater(
|
|
320
|
+
i0.ɵɵrepeater(ctx_r2.filteredLists);
|
|
350
321
|
} }
|
|
351
|
-
function
|
|
322
|
+
function ListsBrowseResource_Conditional_18_Conditional_12_For_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
352
323
|
i0.ɵɵelementContainer(0);
|
|
353
324
|
} }
|
|
354
|
-
function
|
|
355
|
-
i0.ɵɵtemplate(0,
|
|
325
|
+
function ListsBrowseResource_Conditional_18_Conditional_12_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
326
|
+
i0.ɵɵtemplate(0, ListsBrowseResource_Conditional_18_Conditional_12_For_2_ng_container_0_Template, 1, 0, "ng-container", 100);
|
|
356
327
|
} if (rf & 2) {
|
|
357
|
-
const
|
|
328
|
+
const node_r13 = ctx.$implicit;
|
|
358
329
|
i0.ɵɵnextContext(3);
|
|
359
|
-
const
|
|
360
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
330
|
+
const categoryNodeTemplate_r14 = i0.ɵɵreference(20);
|
|
331
|
+
i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r14)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, node_r13));
|
|
361
332
|
} }
|
|
362
|
-
function
|
|
363
|
-
i0.ɵɵelementStart(0, "div",
|
|
364
|
-
i0.ɵɵrepeaterCreate(1,
|
|
333
|
+
function ListsBrowseResource_Conditional_18_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
334
|
+
i0.ɵɵelementStart(0, "div", 45);
|
|
335
|
+
i0.ɵɵrepeaterCreate(1, ListsBrowseResource_Conditional_18_Conditional_12_For_2_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
365
336
|
i0.ɵɵelementEnd();
|
|
366
337
|
} if (rf & 2) {
|
|
367
|
-
const
|
|
338
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
368
339
|
i0.ɵɵadvance();
|
|
369
|
-
i0.ɵɵrepeater(
|
|
340
|
+
i0.ɵɵrepeater(ctx_r2.categoryTree);
|
|
370
341
|
} }
|
|
371
|
-
function
|
|
372
|
-
const
|
|
373
|
-
i0.ɵɵelementStart(0, "div",
|
|
342
|
+
function ListsBrowseResource_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
343
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
344
|
+
i0.ɵɵelementStart(0, "div", 17)(1, "div", 38)(2, "span", 39);
|
|
374
345
|
i0.ɵɵtext(3);
|
|
375
346
|
i0.ɵɵelementEnd();
|
|
376
|
-
i0.ɵɵelementStart(4, "div",
|
|
347
|
+
i0.ɵɵelementStart(4, "div", 40)(5, "label");
|
|
377
348
|
i0.ɵɵtext(6, "Sort:");
|
|
378
349
|
i0.ɵɵelementEnd();
|
|
379
|
-
i0.ɵɵelementStart(7, "select",
|
|
380
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
381
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
382
|
-
i0.ɵɵrepeaterCreate(8,
|
|
350
|
+
i0.ɵɵelementStart(7, "select", 41);
|
|
351
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_18_Template_select_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedSort, $event) || (ctx_r2.selectedSort = $event); return i0.ɵɵresetView($event); });
|
|
352
|
+
i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Conditional_18_Template_select_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSortChange($event)); });
|
|
353
|
+
i0.ɵɵrepeaterCreate(8, ListsBrowseResource_Conditional_18_For_9_Template, 2, 2, "option", 42, i0.ɵɵrepeaterTrackByIdentity);
|
|
383
354
|
i0.ɵɵelementEnd()()();
|
|
384
|
-
i0.ɵɵconditionalCreate(10,
|
|
385
|
-
i0.ɵɵconditionalCreate(11,
|
|
386
|
-
i0.ɵɵconditionalCreate(12,
|
|
355
|
+
i0.ɵɵconditionalCreate(10, ListsBrowseResource_Conditional_18_Conditional_10_Template, 22, 0, "div", 43);
|
|
356
|
+
i0.ɵɵconditionalCreate(11, ListsBrowseResource_Conditional_18_Conditional_11_Template, 3, 0, "div", 44);
|
|
357
|
+
i0.ɵɵconditionalCreate(12, ListsBrowseResource_Conditional_18_Conditional_12_Template, 3, 0, "div", 45);
|
|
387
358
|
i0.ɵɵelementEnd();
|
|
388
359
|
} if (rf & 2) {
|
|
389
|
-
const
|
|
360
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
390
361
|
i0.ɵɵadvance(3);
|
|
391
|
-
i0.ɵɵtextInterpolate2("",
|
|
362
|
+
i0.ɵɵtextInterpolate2("", ctx_r2.filteredLists.length, " list", ctx_r2.filteredLists.length !== 1 ? "s" : "");
|
|
392
363
|
i0.ɵɵadvance(4);
|
|
393
|
-
i0.ɵɵtwoWayProperty("ngModel",
|
|
364
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.selectedSort);
|
|
394
365
|
i0.ɵɵadvance();
|
|
395
|
-
i0.ɵɵrepeater(
|
|
366
|
+
i0.ɵɵrepeater(ctx_r2.sortOptions);
|
|
396
367
|
i0.ɵɵadvance(2);
|
|
397
|
-
i0.ɵɵconditional(
|
|
368
|
+
i0.ɵɵconditional(ctx_r2.viewMode === "table" ? 10 : -1);
|
|
398
369
|
i0.ɵɵadvance();
|
|
399
|
-
i0.ɵɵconditional(
|
|
370
|
+
i0.ɵɵconditional(ctx_r2.viewMode === "card" ? 11 : -1);
|
|
400
371
|
i0.ɵɵadvance();
|
|
401
|
-
i0.ɵɵconditional(
|
|
372
|
+
i0.ɵɵconditional(ctx_r2.viewMode === "hierarchy" ? 12 : -1);
|
|
402
373
|
} }
|
|
403
|
-
function
|
|
404
|
-
const
|
|
405
|
-
i0.ɵɵelementStart(0, "div",
|
|
406
|
-
i0.ɵɵlistener("click", function
|
|
407
|
-
i0.ɵɵelement(1, "i")(2, "i",
|
|
408
|
-
i0.ɵɵelementStart(3, "span",
|
|
374
|
+
function ListsBrowseResource_ng_template_19_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
375
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
376
|
+
i0.ɵɵelementStart(0, "div", 105);
|
|
377
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_19_Conditional_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r15); const node_r16 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r16)); });
|
|
378
|
+
i0.ɵɵelement(1, "i")(2, "i", 106);
|
|
379
|
+
i0.ɵɵelementStart(3, "span", 107);
|
|
409
380
|
i0.ɵɵtext(4);
|
|
410
381
|
i0.ɵɵelementEnd();
|
|
411
|
-
i0.ɵɵelementStart(5, "span",
|
|
382
|
+
i0.ɵɵelementStart(5, "span", 108);
|
|
412
383
|
i0.ɵɵtext(6);
|
|
413
384
|
i0.ɵɵelementEnd()();
|
|
414
385
|
} if (rf & 2) {
|
|
415
|
-
const
|
|
416
|
-
const
|
|
386
|
+
const node_r16 = i0.ɵɵnextContext().node;
|
|
387
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
417
388
|
i0.ɵɵadvance();
|
|
418
|
-
i0.ɵɵclassMap(
|
|
389
|
+
i0.ɵɵclassMap(node_r16.isExpanded ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-right");
|
|
419
390
|
i0.ɵɵadvance();
|
|
420
|
-
i0.ɵɵclassProp("fa-folder-open",
|
|
391
|
+
i0.ɵɵclassProp("fa-folder-open", node_r16.isExpanded);
|
|
421
392
|
i0.ɵɵadvance(2);
|
|
422
|
-
i0.ɵɵtextInterpolate(
|
|
393
|
+
i0.ɵɵtextInterpolate(node_r16.category.Name);
|
|
423
394
|
i0.ɵɵadvance(2);
|
|
424
|
-
i0.ɵɵtextInterpolate(
|
|
395
|
+
i0.ɵɵtextInterpolate(ctx_r2.getListCountInCategory(node_r16));
|
|
425
396
|
} }
|
|
426
|
-
function
|
|
427
|
-
const
|
|
428
|
-
i0.ɵɵelementStart(0, "div",
|
|
429
|
-
i0.ɵɵlistener("click", function
|
|
430
|
-
i0.ɵɵelement(1, "i")(2, "i",
|
|
431
|
-
i0.ɵɵelementStart(3, "span",
|
|
397
|
+
function ListsBrowseResource_ng_template_19_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
398
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
399
|
+
i0.ɵɵelementStart(0, "div", 109);
|
|
400
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_19_Conditional_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r17); const node_r16 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r16)); });
|
|
401
|
+
i0.ɵɵelement(1, "i")(2, "i", 110);
|
|
402
|
+
i0.ɵɵelementStart(3, "span", 107);
|
|
432
403
|
i0.ɵɵtext(4, "Uncategorized");
|
|
433
404
|
i0.ɵɵelementEnd();
|
|
434
|
-
i0.ɵɵelementStart(5, "span",
|
|
405
|
+
i0.ɵɵelementStart(5, "span", 108);
|
|
435
406
|
i0.ɵɵtext(6);
|
|
436
407
|
i0.ɵɵelementEnd()();
|
|
437
408
|
} if (rf & 2) {
|
|
438
|
-
const
|
|
409
|
+
const node_r16 = i0.ɵɵnextContext().node;
|
|
439
410
|
i0.ɵɵadvance();
|
|
440
|
-
i0.ɵɵclassMap(
|
|
411
|
+
i0.ɵɵclassMap(node_r16.isExpanded ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-right");
|
|
441
412
|
i0.ɵɵadvance(5);
|
|
442
|
-
i0.ɵɵtextInterpolate(
|
|
413
|
+
i0.ɵɵtextInterpolate(node_r16.lists.length);
|
|
443
414
|
} }
|
|
444
|
-
function
|
|
415
|
+
function ListsBrowseResource_ng_template_19_Conditional_3_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
445
416
|
i0.ɵɵelementStart(0, "span");
|
|
446
417
|
i0.ɵɵtext(1);
|
|
447
418
|
i0.ɵɵelementEnd();
|
|
448
419
|
} if (rf & 2) {
|
|
449
|
-
const
|
|
420
|
+
const item_r19 = i0.ɵɵnextContext().$implicit;
|
|
450
421
|
i0.ɵɵadvance();
|
|
451
|
-
i0.ɵɵtextInterpolate1(" \u00B7 ",
|
|
422
|
+
i0.ɵɵtextInterpolate1(" \u00B7 ", item_r19.ownerName);
|
|
452
423
|
} }
|
|
453
|
-
function
|
|
454
|
-
const
|
|
455
|
-
i0.ɵɵelementStart(0, "div",
|
|
456
|
-
i0.ɵɵlistener("click", function
|
|
457
|
-
i0.ɵɵelementStart(1, "div",
|
|
424
|
+
function ListsBrowseResource_ng_template_19_Conditional_3_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
425
|
+
const _r18 = i0.ɵɵgetCurrentView();
|
|
426
|
+
i0.ɵɵelementStart(0, "div", 112);
|
|
427
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_19_Conditional_3_For_2_Template_div_click_0_listener() { const item_r19 = i0.ɵɵrestoreView(_r18).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r19)); })("keydown.enter", function ListsBrowseResource_ng_template_19_Conditional_3_For_2_Template_div_keydown_enter_0_listener() { const item_r19 = i0.ɵɵrestoreView(_r18).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r19)); });
|
|
428
|
+
i0.ɵɵelementStart(1, "div", 59);
|
|
458
429
|
i0.ɵɵelement(2, "i");
|
|
459
430
|
i0.ɵɵelementEnd();
|
|
460
|
-
i0.ɵɵelementStart(3, "div",
|
|
431
|
+
i0.ɵɵelementStart(3, "div", 113)(4, "span", 61);
|
|
461
432
|
i0.ɵɵtext(5);
|
|
462
433
|
i0.ɵɵelementEnd();
|
|
463
|
-
i0.ɵɵelementStart(6, "span",
|
|
434
|
+
i0.ɵɵelementStart(6, "span", 114);
|
|
464
435
|
i0.ɵɵtext(7);
|
|
465
|
-
i0.ɵɵconditionalCreate(8,
|
|
436
|
+
i0.ɵɵconditionalCreate(8, ListsBrowseResource_ng_template_19_Conditional_3_For_2_Conditional_8_Template, 2, 1, "span");
|
|
466
437
|
i0.ɵɵelementEnd()();
|
|
467
|
-
i0.ɵɵelementStart(9, "div",
|
|
468
|
-
i0.ɵɵlistener("click", function
|
|
469
|
-
i0.ɵɵelement(11, "i",
|
|
438
|
+
i0.ɵɵelementStart(9, "div", 115)(10, "button", 116);
|
|
439
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_19_Conditional_3_For_2_Template_button_click_10_listener($event) { const item_r19 = i0.ɵɵrestoreView(_r18).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r19)); });
|
|
440
|
+
i0.ɵɵelement(11, "i", 73);
|
|
470
441
|
i0.ɵɵelementEnd()()();
|
|
471
442
|
} if (rf & 2) {
|
|
472
|
-
const
|
|
473
|
-
const
|
|
443
|
+
const item_r19 = ctx.$implicit;
|
|
444
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
474
445
|
i0.ɵɵadvance();
|
|
475
|
-
i0.ɵɵstyleProp("background-color",
|
|
446
|
+
i0.ɵɵstyleProp("background-color", ctx_r2.getEntityColor(item_r19.entityName));
|
|
476
447
|
i0.ɵɵadvance();
|
|
477
|
-
i0.ɵɵclassMap(
|
|
448
|
+
i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r19.entityName));
|
|
478
449
|
i0.ɵɵadvance(3);
|
|
479
|
-
i0.ɵɵtextInterpolate(
|
|
450
|
+
i0.ɵɵtextInterpolate(item_r19.list.Name);
|
|
480
451
|
i0.ɵɵadvance(2);
|
|
481
|
-
i0.ɵɵtextInterpolate2(" ",
|
|
452
|
+
i0.ɵɵtextInterpolate2(" ", item_r19.entityName, " \u00B7 ", item_r19.itemCount, " items ");
|
|
482
453
|
i0.ɵɵadvance();
|
|
483
|
-
i0.ɵɵconditional(!
|
|
454
|
+
i0.ɵɵconditional(!item_r19.isOwner ? 8 : -1);
|
|
484
455
|
} }
|
|
485
|
-
function
|
|
486
|
-
i0.ɵɵelementStart(0, "div",
|
|
487
|
-
i0.ɵɵrepeaterCreate(1,
|
|
456
|
+
function ListsBrowseResource_ng_template_19_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
457
|
+
i0.ɵɵelementStart(0, "div", 104);
|
|
458
|
+
i0.ɵɵrepeaterCreate(1, ListsBrowseResource_ng_template_19_Conditional_3_For_2_Template, 12, 8, "div", 111, i0.ɵɵrepeaterTrackByIdentity);
|
|
488
459
|
i0.ɵɵelementEnd();
|
|
489
460
|
} if (rf & 2) {
|
|
490
|
-
const
|
|
461
|
+
const node_r16 = i0.ɵɵnextContext().node;
|
|
491
462
|
i0.ɵɵadvance();
|
|
492
|
-
i0.ɵɵrepeater(
|
|
463
|
+
i0.ɵɵrepeater(node_r16.lists);
|
|
493
464
|
} }
|
|
494
|
-
function
|
|
465
|
+
function ListsBrowseResource_ng_template_19_Conditional_4_For_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
495
466
|
i0.ɵɵelementContainer(0);
|
|
496
467
|
} }
|
|
497
|
-
function
|
|
498
|
-
i0.ɵɵtemplate(0,
|
|
468
|
+
function ListsBrowseResource_ng_template_19_Conditional_4_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
469
|
+
i0.ɵɵtemplate(0, ListsBrowseResource_ng_template_19_Conditional_4_For_1_ng_container_0_Template, 1, 0, "ng-container", 100);
|
|
499
470
|
} if (rf & 2) {
|
|
500
|
-
const
|
|
501
|
-
const
|
|
471
|
+
const child_r20 = ctx.$implicit;
|
|
472
|
+
const depth_r21 = i0.ɵɵnextContext(2).depth;
|
|
502
473
|
i0.ɵɵnextContext();
|
|
503
|
-
const
|
|
504
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
474
|
+
const categoryNodeTemplate_r14 = i0.ɵɵreference(20);
|
|
475
|
+
i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r14)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, child_r20, depth_r21 + 1));
|
|
505
476
|
} }
|
|
506
|
-
function
|
|
507
|
-
i0.ɵɵrepeaterCreate(0,
|
|
477
|
+
function ListsBrowseResource_ng_template_19_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
478
|
+
i0.ɵɵrepeaterCreate(0, ListsBrowseResource_ng_template_19_Conditional_4_For_1_Template, 1, 5, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
508
479
|
} if (rf & 2) {
|
|
509
|
-
const
|
|
510
|
-
i0.ɵɵrepeater(
|
|
480
|
+
const node_r16 = i0.ɵɵnextContext().node;
|
|
481
|
+
i0.ɵɵrepeater(node_r16.children);
|
|
511
482
|
} }
|
|
512
|
-
function
|
|
513
|
-
i0.ɵɵelementStart(0, "div",
|
|
514
|
-
i0.ɵɵconditionalCreate(1,
|
|
515
|
-
i0.ɵɵconditionalCreate(2,
|
|
516
|
-
i0.ɵɵconditionalCreate(3,
|
|
517
|
-
i0.ɵɵconditionalCreate(4,
|
|
483
|
+
function ListsBrowseResource_ng_template_19_Template(rf, ctx) { if (rf & 1) {
|
|
484
|
+
i0.ɵɵelementStart(0, "div", 101);
|
|
485
|
+
i0.ɵɵconditionalCreate(1, ListsBrowseResource_ng_template_19_Conditional_1_Template, 7, 6, "div", 102);
|
|
486
|
+
i0.ɵɵconditionalCreate(2, ListsBrowseResource_ng_template_19_Conditional_2_Template, 7, 3, "div", 103);
|
|
487
|
+
i0.ɵɵconditionalCreate(3, ListsBrowseResource_ng_template_19_Conditional_3_Template, 3, 0, "div", 104);
|
|
488
|
+
i0.ɵɵconditionalCreate(4, ListsBrowseResource_ng_template_19_Conditional_4_Template, 2, 0);
|
|
518
489
|
i0.ɵɵelementEnd();
|
|
519
490
|
} if (rf & 2) {
|
|
520
|
-
const
|
|
521
|
-
const
|
|
522
|
-
i0.ɵɵstyleProp("margin-left",
|
|
491
|
+
const node_r16 = ctx.node;
|
|
492
|
+
const depth_r21 = ctx.depth;
|
|
493
|
+
i0.ɵɵstyleProp("margin-left", depth_r21 * 20, "px");
|
|
523
494
|
i0.ɵɵadvance();
|
|
524
|
-
i0.ɵɵconditional(
|
|
495
|
+
i0.ɵɵconditional(node_r16.category ? 1 : -1);
|
|
525
496
|
i0.ɵɵadvance();
|
|
526
|
-
i0.ɵɵconditional(!
|
|
497
|
+
i0.ɵɵconditional(!node_r16.category && node_r16.lists.length > 0 ? 2 : -1);
|
|
527
498
|
i0.ɵɵadvance();
|
|
528
|
-
i0.ɵɵconditional(
|
|
499
|
+
i0.ɵɵconditional(node_r16.isExpanded ? 3 : -1);
|
|
529
500
|
i0.ɵɵadvance();
|
|
530
|
-
i0.ɵɵconditional(
|
|
501
|
+
i0.ɵɵconditional(node_r16.isExpanded ? 4 : -1);
|
|
531
502
|
} }
|
|
532
|
-
function
|
|
533
|
-
const
|
|
534
|
-
i0.ɵɵelementStart(0, "div",
|
|
535
|
-
i0.ɵɵlistener("click", function
|
|
503
|
+
function ListsBrowseResource_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
504
|
+
const _r22 = i0.ɵɵgetCurrentView();
|
|
505
|
+
i0.ɵɵelementStart(0, "div", 117);
|
|
506
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_21_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r22); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeContextMenu()); });
|
|
536
507
|
i0.ɵɵelementEnd();
|
|
537
508
|
} }
|
|
538
|
-
function
|
|
539
|
-
const
|
|
540
|
-
i0.ɵɵelementStart(0, "button",
|
|
541
|
-
i0.ɵɵlistener("click", function
|
|
542
|
-
i0.ɵɵelement(1, "i",
|
|
509
|
+
function ListsBrowseResource_Conditional_22_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
510
|
+
const _r24 = i0.ɵɵgetCurrentView();
|
|
511
|
+
i0.ɵɵelementStart(0, "button", 120);
|
|
512
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_22_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.editList()); });
|
|
513
|
+
i0.ɵɵelement(1, "i", 123);
|
|
543
514
|
i0.ɵɵtext(2, " Edit ");
|
|
544
515
|
i0.ɵɵelementEnd();
|
|
545
516
|
} }
|
|
546
|
-
function
|
|
547
|
-
const
|
|
548
|
-
i0.ɵɵelementStart(0, "button",
|
|
549
|
-
i0.ɵɵlistener("click", function
|
|
550
|
-
i0.ɵɵelement(1, "i",
|
|
517
|
+
function ListsBrowseResource_Conditional_22_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
518
|
+
const _r25 = i0.ɵɵgetCurrentView();
|
|
519
|
+
i0.ɵɵelementStart(0, "button", 120);
|
|
520
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_22_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.openShareDialog()); });
|
|
521
|
+
i0.ɵɵelement(1, "i", 75);
|
|
551
522
|
i0.ɵɵtext(2, " Share ");
|
|
552
523
|
i0.ɵɵelementEnd();
|
|
553
524
|
} }
|
|
554
|
-
function
|
|
555
|
-
const
|
|
556
|
-
i0.ɵɵelement(0, "div",
|
|
557
|
-
i0.ɵɵelementStart(1, "button",
|
|
558
|
-
i0.ɵɵlistener("click", function
|
|
559
|
-
i0.ɵɵelement(2, "i",
|
|
525
|
+
function ListsBrowseResource_Conditional_22_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
526
|
+
const _r26 = i0.ɵɵgetCurrentView();
|
|
527
|
+
i0.ɵɵelement(0, "div", 124);
|
|
528
|
+
i0.ɵɵelementStart(1, "button", 125);
|
|
529
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_22_Conditional_6_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.confirmDeleteList()); });
|
|
530
|
+
i0.ɵɵelement(2, "i", 126);
|
|
560
531
|
i0.ɵɵtext(3, " Delete ");
|
|
561
532
|
i0.ɵɵelementEnd();
|
|
562
533
|
} }
|
|
563
|
-
function
|
|
564
|
-
i0.ɵɵelementStart(0, "div",
|
|
565
|
-
i0.ɵɵelement(1, "i",
|
|
534
|
+
function ListsBrowseResource_Conditional_22_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
535
|
+
i0.ɵɵelementStart(0, "div", 122);
|
|
536
|
+
i0.ɵɵelement(1, "i", 127);
|
|
566
537
|
i0.ɵɵtext(2, " Viewer access \u2014 read only ");
|
|
567
538
|
i0.ɵɵelementEnd();
|
|
568
539
|
} }
|
|
569
|
-
function
|
|
570
|
-
const
|
|
571
|
-
i0.ɵɵelementStart(0, "div",
|
|
572
|
-
i0.ɵɵconditionalCreate(1,
|
|
573
|
-
i0.ɵɵconditionalCreate(2,
|
|
574
|
-
i0.ɵɵelementStart(3, "button",
|
|
575
|
-
i0.ɵɵlistener("click", function
|
|
576
|
-
i0.ɵɵelement(4, "i",
|
|
540
|
+
function ListsBrowseResource_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
541
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
542
|
+
i0.ɵɵelementStart(0, "div", 118);
|
|
543
|
+
i0.ɵɵconditionalCreate(1, ListsBrowseResource_Conditional_22_Conditional_1_Template, 3, 0, "button", 119);
|
|
544
|
+
i0.ɵɵconditionalCreate(2, ListsBrowseResource_Conditional_22_Conditional_2_Template, 3, 0, "button", 119);
|
|
545
|
+
i0.ɵɵelementStart(3, "button", 120);
|
|
546
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_22_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r23); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.duplicateList()); });
|
|
547
|
+
i0.ɵɵelement(4, "i", 121);
|
|
577
548
|
i0.ɵɵtext(5, " Duplicate ");
|
|
578
549
|
i0.ɵɵelementEnd();
|
|
579
|
-
i0.ɵɵconditionalCreate(6,
|
|
580
|
-
i0.ɵɵconditionalCreate(7,
|
|
550
|
+
i0.ɵɵconditionalCreate(6, ListsBrowseResource_Conditional_22_Conditional_6_Template, 4, 0);
|
|
551
|
+
i0.ɵɵconditionalCreate(7, ListsBrowseResource_Conditional_22_Conditional_7_Template, 3, 0, "div", 122);
|
|
581
552
|
i0.ɵɵelementEnd();
|
|
582
553
|
} if (rf & 2) {
|
|
583
|
-
const
|
|
584
|
-
i0.ɵɵstyleProp("top",
|
|
554
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
555
|
+
i0.ɵɵstyleProp("top", ctx_r2.contextMenuY, "px")("left", ctx_r2.contextMenuX, "px");
|
|
585
556
|
i0.ɵɵadvance();
|
|
586
|
-
i0.ɵɵconditional(
|
|
557
|
+
i0.ɵɵconditional(ctx_r2.contextItemCapabilities.CanEdit ? 1 : -1);
|
|
587
558
|
i0.ɵɵadvance();
|
|
588
|
-
i0.ɵɵconditional(
|
|
559
|
+
i0.ɵɵconditional(ctx_r2.contextItemCapabilities.CanShare ? 2 : -1);
|
|
589
560
|
i0.ɵɵadvance(4);
|
|
590
|
-
i0.ɵɵconditional(
|
|
561
|
+
i0.ɵɵconditional(ctx_r2.contextItemCapabilities.CanDelete ? 6 : -1);
|
|
591
562
|
i0.ɵɵadvance();
|
|
592
|
-
i0.ɵɵconditional(!
|
|
563
|
+
i0.ɵɵconditional(!ctx_r2.contextItemCapabilities.CanEdit && !ctx_r2.contextItemCapabilities.CanShare && !ctx_r2.contextItemCapabilities.CanDelete ? 7 : -1);
|
|
593
564
|
} }
|
|
594
|
-
function
|
|
595
|
-
const
|
|
596
|
-
i0.ɵɵelementStart(0, "div",
|
|
597
|
-
i0.ɵɵlistener("click", function
|
|
565
|
+
function ListsBrowseResource_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
566
|
+
const _r27 = i0.ɵɵgetCurrentView();
|
|
567
|
+
i0.ɵɵelementStart(0, "div", 128);
|
|
568
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_23_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
|
|
598
569
|
i0.ɵɵelementEnd();
|
|
599
570
|
} }
|
|
600
|
-
function
|
|
601
|
-
const
|
|
602
|
-
i0.ɵɵelementStart(0, "div",
|
|
571
|
+
function ListsBrowseResource_Conditional_24_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
572
|
+
const _r29 = i0.ɵɵgetCurrentView();
|
|
573
|
+
i0.ɵɵelementStart(0, "div", 133)(1, "label");
|
|
603
574
|
i0.ɵɵtext(2, "Entity *");
|
|
604
575
|
i0.ɵɵelementEnd();
|
|
605
|
-
i0.ɵɵelementStart(3, "div",
|
|
606
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
607
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
576
|
+
i0.ɵɵelementStart(3, "div", 142)(4, "input", 143, 1);
|
|
577
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_24_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); });
|
|
578
|
+
i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Conditional_24_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_24_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)); });
|
|
608
579
|
i0.ɵɵelementEnd()()();
|
|
609
580
|
} if (rf & 2) {
|
|
610
|
-
const
|
|
581
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
611
582
|
i0.ɵɵadvance(4);
|
|
612
|
-
i0.ɵɵtwoWayProperty("ngModel",
|
|
583
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.entitySearchTerm);
|
|
613
584
|
} }
|
|
614
|
-
function
|
|
615
|
-
i0.ɵɵelementStart(0, "div",
|
|
585
|
+
function ListsBrowseResource_Conditional_24_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
586
|
+
i0.ɵɵelementStart(0, "div", 133)(1, "label");
|
|
616
587
|
i0.ɵɵtext(2, "Entity");
|
|
617
588
|
i0.ɵɵelementEnd();
|
|
618
|
-
i0.ɵɵelement(3, "input",
|
|
589
|
+
i0.ɵɵelement(3, "input", 144);
|
|
619
590
|
i0.ɵɵelementEnd();
|
|
620
591
|
} if (rf & 2) {
|
|
621
|
-
const
|
|
592
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
622
593
|
i0.ɵɵadvance(3);
|
|
623
|
-
i0.ɵɵproperty("value",
|
|
594
|
+
i0.ɵɵproperty("value", ctx_r2.entitySearchTerm);
|
|
624
595
|
} }
|
|
625
|
-
function
|
|
626
|
-
i0.ɵɵelementStart(0, "option",
|
|
596
|
+
function ListsBrowseResource_Conditional_24_For_24_Template(rf, ctx) { if (rf & 1) {
|
|
597
|
+
i0.ɵɵelementStart(0, "option", 137);
|
|
627
598
|
i0.ɵɵtext(1);
|
|
628
599
|
i0.ɵɵelementEnd();
|
|
629
600
|
} if (rf & 2) {
|
|
630
|
-
const
|
|
631
|
-
i0.ɵɵproperty("ngValue",
|
|
601
|
+
const cat_r31 = ctx.$implicit;
|
|
602
|
+
i0.ɵɵproperty("ngValue", cat_r31.ID);
|
|
632
603
|
i0.ɵɵadvance();
|
|
633
|
-
i0.ɵɵtextInterpolate(
|
|
604
|
+
i0.ɵɵtextInterpolate(cat_r31.displayName);
|
|
634
605
|
} }
|
|
635
|
-
function
|
|
636
|
-
i0.ɵɵelement(0, "i",
|
|
606
|
+
function ListsBrowseResource_Conditional_24_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
607
|
+
i0.ɵɵelement(0, "i", 140);
|
|
637
608
|
} }
|
|
638
|
-
function
|
|
639
|
-
const
|
|
640
|
-
i0.ɵɵelementStart(0, "div",
|
|
609
|
+
function ListsBrowseResource_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
610
|
+
const _r28 = i0.ɵɵgetCurrentView();
|
|
611
|
+
i0.ɵɵelementStart(0, "div", 21)(1, "div", 129)(2, "h3");
|
|
641
612
|
i0.ɵɵtext(3);
|
|
642
613
|
i0.ɵɵelementEnd();
|
|
643
|
-
i0.ɵɵelementStart(4, "button",
|
|
644
|
-
i0.ɵɵlistener("click", function
|
|
645
|
-
i0.ɵɵelement(5, "i",
|
|
614
|
+
i0.ɵɵelementStart(4, "button", 130);
|
|
615
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_24_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
|
|
616
|
+
i0.ɵɵelement(5, "i", 131);
|
|
646
617
|
i0.ɵɵelementEnd()();
|
|
647
|
-
i0.ɵɵelementStart(6, "div",
|
|
618
|
+
i0.ɵɵelementStart(6, "div", 132)(7, "div", 133)(8, "label");
|
|
648
619
|
i0.ɵɵtext(9, "Name *");
|
|
649
620
|
i0.ɵɵelementEnd();
|
|
650
|
-
i0.ɵɵelementStart(10, "input",
|
|
651
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
621
|
+
i0.ɵɵelementStart(10, "input", 134);
|
|
622
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_24_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); });
|
|
652
623
|
i0.ɵɵelementEnd()();
|
|
653
|
-
i0.ɵɵelementStart(11, "div",
|
|
624
|
+
i0.ɵɵelementStart(11, "div", 133)(12, "label");
|
|
654
625
|
i0.ɵɵtext(13, "Description");
|
|
655
626
|
i0.ɵɵelementEnd();
|
|
656
|
-
i0.ɵɵelementStart(14, "textarea",
|
|
657
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
627
|
+
i0.ɵɵelementStart(14, "textarea", 135);
|
|
628
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_24_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); });
|
|
658
629
|
i0.ɵɵelementEnd()();
|
|
659
|
-
i0.ɵɵconditionalCreate(15,
|
|
660
|
-
i0.ɵɵconditionalCreate(16,
|
|
661
|
-
i0.ɵɵelementStart(17, "div",
|
|
630
|
+
i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_24_Conditional_15_Template, 6, 1, "div", 133);
|
|
631
|
+
i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_24_Conditional_16_Template, 4, 1, "div", 133);
|
|
632
|
+
i0.ɵɵelementStart(17, "div", 133)(18, "label");
|
|
662
633
|
i0.ɵɵtext(19, "Category");
|
|
663
634
|
i0.ɵɵelementEnd();
|
|
664
|
-
i0.ɵɵelementStart(20, "select",
|
|
665
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
666
|
-
i0.ɵɵelementStart(21, "option",
|
|
635
|
+
i0.ɵɵelementStart(20, "select", 136);
|
|
636
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_24_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); });
|
|
637
|
+
i0.ɵɵelementStart(21, "option", 137);
|
|
667
638
|
i0.ɵɵtext(22, "No category");
|
|
668
639
|
i0.ɵɵelementEnd();
|
|
669
|
-
i0.ɵɵrepeaterCreate(23,
|
|
640
|
+
i0.ɵɵrepeaterCreate(23, ListsBrowseResource_Conditional_24_For_24_Template, 2, 2, "option", 137, i0.ɵɵrepeaterTrackByIdentity);
|
|
670
641
|
i0.ɵɵelementEnd()()();
|
|
671
|
-
i0.ɵɵelementStart(25, "div",
|
|
672
|
-
i0.ɵɵlistener("click", function
|
|
673
|
-
i0.ɵɵconditionalCreate(27,
|
|
642
|
+
i0.ɵɵelementStart(25, "div", 138)(26, "button", 139);
|
|
643
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_24_Template_button_click_26_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveList()); });
|
|
644
|
+
i0.ɵɵconditionalCreate(27, ListsBrowseResource_Conditional_24_Conditional_27_Template, 1, 0, "i", 140);
|
|
674
645
|
i0.ɵɵtext(28);
|
|
675
646
|
i0.ɵɵelementEnd();
|
|
676
|
-
i0.ɵɵelementStart(29, "button",
|
|
677
|
-
i0.ɵɵlistener("click", function
|
|
647
|
+
i0.ɵɵelementStart(29, "button", 141);
|
|
648
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_24_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
|
|
678
649
|
i0.ɵɵtext(30, "Cancel");
|
|
679
650
|
i0.ɵɵelementEnd()()();
|
|
680
651
|
} if (rf & 2) {
|
|
681
|
-
const
|
|
652
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
682
653
|
i0.ɵɵadvance(3);
|
|
683
|
-
i0.ɵɵtextInterpolate(
|
|
654
|
+
i0.ɵɵtextInterpolate(ctx_r2.editingList ? "Edit List" : "Create New List");
|
|
684
655
|
i0.ɵɵadvance(7);
|
|
685
|
-
i0.ɵɵtwoWayProperty("ngModel",
|
|
656
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.newListName);
|
|
686
657
|
i0.ɵɵadvance(4);
|
|
687
|
-
i0.ɵɵtwoWayProperty("ngModel",
|
|
658
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.newListDescription);
|
|
688
659
|
i0.ɵɵadvance();
|
|
689
|
-
i0.ɵɵconditional(!
|
|
660
|
+
i0.ɵɵconditional(!ctx_r2.editingList ? 15 : -1);
|
|
690
661
|
i0.ɵɵadvance();
|
|
691
|
-
i0.ɵɵconditional(
|
|
662
|
+
i0.ɵɵconditional(ctx_r2.editingList ? 16 : -1);
|
|
692
663
|
i0.ɵɵadvance(4);
|
|
693
|
-
i0.ɵɵtwoWayProperty("ngModel",
|
|
664
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.selectedCategoryId);
|
|
694
665
|
i0.ɵɵadvance();
|
|
695
666
|
i0.ɵɵproperty("ngValue", null);
|
|
696
667
|
i0.ɵɵadvance(2);
|
|
697
|
-
i0.ɵɵrepeater(
|
|
668
|
+
i0.ɵɵrepeater(ctx_r2.flatCategories);
|
|
698
669
|
i0.ɵɵadvance(3);
|
|
699
|
-
i0.ɵɵproperty("disabled", !
|
|
670
|
+
i0.ɵɵproperty("disabled", !ctx_r2.newListName || !ctx_r2.editingList && !ctx_r2.selectedEntityId || ctx_r2.isSaving);
|
|
700
671
|
i0.ɵɵadvance();
|
|
701
|
-
i0.ɵɵconditional(
|
|
672
|
+
i0.ɵɵconditional(ctx_r2.isSaving ? 27 : -1);
|
|
702
673
|
i0.ɵɵadvance();
|
|
703
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
674
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.isSaving ? "Saving..." : ctx_r2.editingList ? "Save" : "Create", " ");
|
|
704
675
|
i0.ɵɵadvance();
|
|
705
|
-
i0.ɵɵproperty("disabled",
|
|
676
|
+
i0.ɵɵproperty("disabled", ctx_r2.isSaving);
|
|
706
677
|
} }
|
|
707
|
-
function
|
|
708
|
-
const
|
|
709
|
-
i0.ɵɵelementStart(0, "div",
|
|
710
|
-
i0.ɵɵlistener("click", function
|
|
678
|
+
function ListsBrowseResource_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
679
|
+
const _r32 = i0.ɵɵgetCurrentView();
|
|
680
|
+
i0.ɵɵelementStart(0, "div", 128);
|
|
681
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_25_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
711
682
|
i0.ɵɵelementEnd();
|
|
712
683
|
} }
|
|
713
|
-
function
|
|
714
|
-
i0.ɵɵelement(0, "i",
|
|
684
|
+
function ListsBrowseResource_Conditional_26_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
685
|
+
i0.ɵɵelement(0, "i", 140);
|
|
715
686
|
} }
|
|
716
|
-
function
|
|
717
|
-
const
|
|
718
|
-
i0.ɵɵelementStart(0, "div",
|
|
687
|
+
function ListsBrowseResource_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
688
|
+
const _r33 = i0.ɵɵgetCurrentView();
|
|
689
|
+
i0.ɵɵelementStart(0, "div", 22)(1, "div", 129)(2, "h3");
|
|
719
690
|
i0.ɵɵtext(3, "Delete List");
|
|
720
691
|
i0.ɵɵelementEnd();
|
|
721
|
-
i0.ɵɵelementStart(4, "button",
|
|
722
|
-
i0.ɵɵlistener("click", function
|
|
723
|
-
i0.ɵɵelement(5, "i",
|
|
692
|
+
i0.ɵɵelementStart(4, "button", 130);
|
|
693
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_26_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
694
|
+
i0.ɵɵelement(5, "i", 131);
|
|
724
695
|
i0.ɵɵelementEnd()();
|
|
725
|
-
i0.ɵɵelementStart(6, "div",
|
|
696
|
+
i0.ɵɵelementStart(6, "div", 132)(7, "p");
|
|
726
697
|
i0.ɵɵtext(8, "Are you sure you want to delete \"");
|
|
727
698
|
i0.ɵɵelementStart(9, "strong");
|
|
728
699
|
i0.ɵɵtext(10);
|
|
729
700
|
i0.ɵɵelementEnd();
|
|
730
701
|
i0.ɵɵtext(11, "\"?");
|
|
731
702
|
i0.ɵɵelementEnd();
|
|
732
|
-
i0.ɵɵelementStart(12, "p",
|
|
703
|
+
i0.ɵɵelementStart(12, "p", 145);
|
|
733
704
|
i0.ɵɵtext(13, "This will also remove all items in the list.");
|
|
734
705
|
i0.ɵɵelementEnd()();
|
|
735
|
-
i0.ɵɵelementStart(14, "div",
|
|
736
|
-
i0.ɵɵlistener("click", function
|
|
737
|
-
i0.ɵɵconditionalCreate(16,
|
|
706
|
+
i0.ɵɵelementStart(14, "div", 138)(15, "button", 146);
|
|
707
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_26_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.deleteList()); });
|
|
708
|
+
i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_26_Conditional_16_Template, 1, 0, "i", 140);
|
|
738
709
|
i0.ɵɵtext(17);
|
|
739
710
|
i0.ɵɵelementEnd();
|
|
740
|
-
i0.ɵɵelementStart(18, "button",
|
|
741
|
-
i0.ɵɵlistener("click", function
|
|
711
|
+
i0.ɵɵelementStart(18, "button", 141);
|
|
712
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_26_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
742
713
|
i0.ɵɵtext(19, "Cancel");
|
|
743
714
|
i0.ɵɵelementEnd()()();
|
|
744
715
|
} if (rf & 2) {
|
|
745
|
-
const
|
|
716
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
746
717
|
i0.ɵɵadvance(10);
|
|
747
|
-
i0.ɵɵtextInterpolate(
|
|
718
|
+
i0.ɵɵtextInterpolate(ctx_r2.deleteListName);
|
|
748
719
|
i0.ɵɵadvance(5);
|
|
749
|
-
i0.ɵɵproperty("disabled",
|
|
720
|
+
i0.ɵɵproperty("disabled", ctx_r2.isDeleting);
|
|
750
721
|
i0.ɵɵadvance();
|
|
751
|
-
i0.ɵɵconditional(
|
|
722
|
+
i0.ɵɵconditional(ctx_r2.isDeleting ? 16 : -1);
|
|
752
723
|
i0.ɵɵadvance();
|
|
753
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
724
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.isDeleting ? "Deleting..." : "Delete", " ");
|
|
754
725
|
i0.ɵɵadvance();
|
|
755
|
-
i0.ɵɵproperty("disabled",
|
|
726
|
+
i0.ɵɵproperty("disabled", ctx_r2.isDeleting);
|
|
756
727
|
} }
|
|
757
|
-
function
|
|
758
|
-
const
|
|
759
|
-
i0.ɵɵelementStart(0, "mj-list-share-dialog",
|
|
760
|
-
i0.ɵɵlistener("complete", function
|
|
728
|
+
function ListsBrowseResource_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
729
|
+
const _r34 = i0.ɵɵgetCurrentView();
|
|
730
|
+
i0.ɵɵelementStart(0, "mj-list-share-dialog", 147);
|
|
731
|
+
i0.ɵɵlistener("complete", function ListsBrowseResource_Conditional_27_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_27_Template_mj_list_share_dialog_cancel_0_listener() { i0.ɵɵrestoreView(_r34); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onShareCancel()); })("manageInvitations", function ListsBrowseResource_Conditional_27_Template_mj_list_share_dialog_manageInvitations_0_listener() { i0.ɵɵrestoreView(_r34); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onManageInvitations()); })("viewAuditLog", function ListsBrowseResource_Conditional_27_Template_mj_list_share_dialog_viewAuditLog_0_listener() { i0.ɵɵrestoreView(_r34); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onViewAuditLog()); });
|
|
761
732
|
i0.ɵɵelementEnd();
|
|
762
733
|
} if (rf & 2) {
|
|
763
|
-
const
|
|
764
|
-
i0.ɵɵproperty("config",
|
|
734
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
735
|
+
i0.ɵɵproperty("config", ctx_r2.shareDialogConfig)("visible", ctx_r2.showShareDialog);
|
|
765
736
|
} }
|
|
766
|
-
function
|
|
767
|
-
const
|
|
768
|
-
i0.ɵɵelementStart(0, "mj-dialog",
|
|
769
|
-
i0.ɵɵlistener("Close", function
|
|
770
|
-
i0.ɵɵelementStart(1, "div",
|
|
771
|
-
i0.ɵɵelement(2, "mj-list-invitations",
|
|
772
|
-
i0.ɵɵelementEnd();
|
|
773
|
-
i0.ɵɵelementStart(3, "mj-dialog-actions")(4, "button",
|
|
774
|
-
i0.ɵɵlistener("click", function
|
|
737
|
+
function ListsBrowseResource_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
738
|
+
const _r35 = i0.ɵɵgetCurrentView();
|
|
739
|
+
i0.ɵɵelementStart(0, "mj-dialog", 148);
|
|
740
|
+
i0.ɵɵlistener("Close", function ListsBrowseResource_Conditional_28_Template_mj_dialog_Close_0_listener() { i0.ɵɵrestoreView(_r35); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeInvitationsDialog()); });
|
|
741
|
+
i0.ɵɵelementStart(1, "div", 149);
|
|
742
|
+
i0.ɵɵelement(2, "mj-list-invitations", 150);
|
|
743
|
+
i0.ɵɵelementEnd();
|
|
744
|
+
i0.ɵɵelementStart(3, "mj-dialog-actions")(4, "button", 151);
|
|
745
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_28_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r35); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeInvitationsDialog()); });
|
|
775
746
|
i0.ɵɵtext(5, "Close");
|
|
776
747
|
i0.ɵɵelementEnd()()();
|
|
777
748
|
} if (rf & 2) {
|
|
778
|
-
const
|
|
779
|
-
i0.ɵɵproperty("Visible", true)("Title", "Invitations \u2014 " + (
|
|
749
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
750
|
+
i0.ɵɵproperty("Visible", true)("Title", "Invitations \u2014 " + (ctx_r2.activeShareListName ?? "List"))("MinWidth", 640)("Width", 900)("Height", 640);
|
|
780
751
|
i0.ɵɵadvance(2);
|
|
781
|
-
i0.ɵɵproperty("Provider",
|
|
752
|
+
i0.ɵɵproperty("Provider", ctx_r2.ProviderToUse)("ListID", ctx_r2.activeShareListId)("ListName", ctx_r2.activeShareListName);
|
|
782
753
|
} }
|
|
783
|
-
function
|
|
784
|
-
const
|
|
785
|
-
i0.ɵɵelementStart(0, "mj-dialog",
|
|
786
|
-
i0.ɵɵlistener("Close", function
|
|
787
|
-
i0.ɵɵelementStart(1, "div",
|
|
788
|
-
i0.ɵɵelement(2, "mj-list-audit-log",
|
|
789
|
-
i0.ɵɵelementEnd();
|
|
790
|
-
i0.ɵɵelementStart(3, "mj-dialog-actions")(4, "button",
|
|
791
|
-
i0.ɵɵlistener("click", function
|
|
754
|
+
function ListsBrowseResource_Conditional_29_Template(rf, ctx) { if (rf & 1) {
|
|
755
|
+
const _r36 = i0.ɵɵgetCurrentView();
|
|
756
|
+
i0.ɵɵelementStart(0, "mj-dialog", 148);
|
|
757
|
+
i0.ɵɵlistener("Close", function ListsBrowseResource_Conditional_29_Template_mj_dialog_Close_0_listener() { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeAuditLogDialog()); });
|
|
758
|
+
i0.ɵɵelementStart(1, "div", 149);
|
|
759
|
+
i0.ɵɵelement(2, "mj-list-audit-log", 152);
|
|
760
|
+
i0.ɵɵelementEnd();
|
|
761
|
+
i0.ɵɵelementStart(3, "mj-dialog-actions")(4, "button", 151);
|
|
762
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_29_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeAuditLogDialog()); });
|
|
792
763
|
i0.ɵɵtext(5, "Close");
|
|
793
764
|
i0.ɵɵelementEnd()()();
|
|
794
765
|
} if (rf & 2) {
|
|
795
|
-
const
|
|
796
|
-
i0.ɵɵproperty("Visible", true)("Title", "Audit Log \u2014 " + (
|
|
766
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
767
|
+
i0.ɵɵproperty("Visible", true)("Title", "Audit Log \u2014 " + (ctx_r2.activeShareListName ?? "List"))("MinWidth", 720)("Width", 980)("Height", 680);
|
|
797
768
|
i0.ɵɵadvance(2);
|
|
798
|
-
i0.ɵɵproperty("Provider",
|
|
769
|
+
i0.ɵɵproperty("Provider", ctx_r2.ProviderToUse)("ListID", ctx_r2.activeShareListId);
|
|
799
770
|
} }
|
|
800
|
-
function
|
|
801
|
-
const
|
|
802
|
-
i0.ɵɵelementStart(0, "div",
|
|
803
|
-
i0.ɵɵlistener("mousedown", function
|
|
771
|
+
function ListsBrowseResource_Conditional_30_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
772
|
+
const _r37 = i0.ɵɵgetCurrentView();
|
|
773
|
+
i0.ɵɵelementStart(0, "div", 157);
|
|
774
|
+
i0.ɵɵlistener("mousedown", function ListsBrowseResource_Conditional_30_For_3_Template_div_mousedown_0_listener($event) { const entity_r38 = i0.ɵɵrestoreView(_r37).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); ctx_r2.selectEntity(entity_r38); return i0.ɵɵresetView($event.preventDefault()); });
|
|
804
775
|
i0.ɵɵtext(1);
|
|
805
776
|
i0.ɵɵelementEnd();
|
|
806
777
|
} if (rf & 2) {
|
|
807
|
-
const
|
|
778
|
+
const entity_r38 = ctx.$implicit;
|
|
808
779
|
i0.ɵɵadvance();
|
|
809
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
780
|
+
i0.ɵɵtextInterpolate1(" ", entity_r38.Name, " ");
|
|
810
781
|
} }
|
|
811
|
-
function
|
|
812
|
-
i0.ɵɵelementStart(0, "div",
|
|
782
|
+
function ListsBrowseResource_Conditional_30_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
783
|
+
i0.ɵɵelementStart(0, "div", 156);
|
|
813
784
|
i0.ɵɵtext(1, " No entities found ");
|
|
814
785
|
i0.ɵɵelementEnd();
|
|
815
786
|
} }
|
|
816
|
-
function
|
|
817
|
-
i0.ɵɵelementStart(0, "div",
|
|
818
|
-
i0.ɵɵrepeaterCreate(2,
|
|
819
|
-
i0.ɵɵconditionalCreate(4,
|
|
787
|
+
function ListsBrowseResource_Conditional_30_Template(rf, ctx) { if (rf & 1) {
|
|
788
|
+
i0.ɵɵelementStart(0, "div", 153)(1, "div", 154);
|
|
789
|
+
i0.ɵɵrepeaterCreate(2, ListsBrowseResource_Conditional_30_For_3_Template, 2, 1, "div", 155, i0.ɵɵrepeaterTrackByIdentity);
|
|
790
|
+
i0.ɵɵconditionalCreate(4, ListsBrowseResource_Conditional_30_Conditional_4_Template, 2, 0, "div", 156);
|
|
820
791
|
i0.ɵɵelementEnd()();
|
|
821
792
|
} if (rf & 2) {
|
|
822
|
-
const
|
|
823
|
-
i0.ɵɵstyleProp("top",
|
|
824
|
-
i0.ɵɵclassProp("dropdown-above",
|
|
793
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
794
|
+
i0.ɵɵstyleProp("top", ctx_r2.entityDropdownPosition.top, "px")("left", ctx_r2.entityDropdownPosition.left, "px")("width", ctx_r2.entityDropdownPosition.width, "px");
|
|
795
|
+
i0.ɵɵclassProp("dropdown-above", ctx_r2.entityDropdownPosition.openAbove);
|
|
825
796
|
i0.ɵɵadvance();
|
|
826
|
-
i0.ɵɵclassProp("open-above",
|
|
797
|
+
i0.ɵɵclassProp("open-above", ctx_r2.entityDropdownPosition.openAbove);
|
|
827
798
|
i0.ɵɵadvance();
|
|
828
|
-
i0.ɵɵrepeater(
|
|
799
|
+
i0.ɵɵrepeater(ctx_r2.filteredEntitiesList);
|
|
829
800
|
i0.ɵɵadvance(2);
|
|
830
|
-
i0.ɵɵconditional(
|
|
801
|
+
i0.ɵɵconditional(ctx_r2.filteredEntitiesList.length === 0 ? 4 : -1);
|
|
831
802
|
} }
|
|
832
803
|
let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponent {
|
|
833
804
|
cdr;
|
|
@@ -1182,7 +1153,11 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
|
|
|
1182
1153
|
];
|
|
1183
1154
|
/** Values record consumed by the centralized <mj-filter-panel>. */
|
|
1184
1155
|
get listFilterValues() {
|
|
1185
|
-
return {
|
|
1156
|
+
return {
|
|
1157
|
+
selectedOwner: this.selectedOwner,
|
|
1158
|
+
selectedEntity: this.selectedEntity,
|
|
1159
|
+
favorites: this.showOnlyFavorites ? 'favorites' : 'all',
|
|
1160
|
+
};
|
|
1186
1161
|
}
|
|
1187
1162
|
/** Field config consumed by the centralized <mj-filter-panel>. */
|
|
1188
1163
|
get listFilterFields() {
|
|
@@ -1202,23 +1177,34 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
|
|
|
1202
1177
|
filterable: this.entityOptions.length > 10,
|
|
1203
1178
|
options: this.entityOptions.map(o => ({ text: o.name, value: o.value })),
|
|
1204
1179
|
},
|
|
1180
|
+
{
|
|
1181
|
+
key: 'favorites',
|
|
1182
|
+
type: 'chips',
|
|
1183
|
+
label: 'Favorites',
|
|
1184
|
+
chipOptions: [
|
|
1185
|
+
{ text: 'All lists', value: 'all' },
|
|
1186
|
+
{ text: 'Favorites only', value: 'favorites' },
|
|
1187
|
+
],
|
|
1188
|
+
},
|
|
1205
1189
|
];
|
|
1206
1190
|
}
|
|
1207
1191
|
/** Receive popover updates and apply them. */
|
|
1208
1192
|
onFilterValuesChange(values) {
|
|
1209
1193
|
this.selectedOwner = values['selectedOwner'] ?? 'mine';
|
|
1210
1194
|
this.selectedEntity = values['selectedEntity'] ?? 'all';
|
|
1195
|
+
this.showOnlyFavorites = values['favorites'] === 'favorites';
|
|
1211
1196
|
this.applyFilters();
|
|
1212
1197
|
this.buildCategoryTree();
|
|
1213
1198
|
}
|
|
1214
|
-
/** Reset popover
|
|
1199
|
+
/** Reset the popover's own fields (Owner · Entity · Favorites); leaves search + tags alone. */
|
|
1215
1200
|
resetPopoverFilters() {
|
|
1216
1201
|
this.selectedOwner = 'mine';
|
|
1217
1202
|
this.selectedEntity = 'all';
|
|
1203
|
+
this.showOnlyFavorites = false;
|
|
1218
1204
|
this.applyFilters();
|
|
1219
1205
|
this.buildCategoryTree();
|
|
1220
1206
|
}
|
|
1221
|
-
/** Active
|
|
1207
|
+
/** Active popover-field count for the badge (Owner + Entity; excludes search). */
|
|
1222
1208
|
get ActiveFilterCount() {
|
|
1223
1209
|
let n = 0;
|
|
1224
1210
|
if (this.selectedOwner && this.selectedOwner !== 'mine')
|
|
@@ -1227,6 +1213,19 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
|
|
|
1227
1213
|
n++;
|
|
1228
1214
|
return n;
|
|
1229
1215
|
}
|
|
1216
|
+
/** Total active filters (Owner + Entity + Favorites + Tags) — drives the Filter button badge. */
|
|
1217
|
+
get TotalActiveFilterCount() {
|
|
1218
|
+
return this.ActiveFilterCount + (this.showOnlyFavorites ? 1 : 0) + this.tagFilters.length;
|
|
1219
|
+
}
|
|
1220
|
+
/** Clear every filter (Owner · Entity · Favorites · Tags). Leaves search. */
|
|
1221
|
+
clearAllAppliedFilters() {
|
|
1222
|
+
this.selectedOwner = 'mine';
|
|
1223
|
+
this.selectedEntity = 'all';
|
|
1224
|
+
this.showOnlyFavorites = false;
|
|
1225
|
+
this.tagFilters = [];
|
|
1226
|
+
void this.recomputeTagMembership();
|
|
1227
|
+
this.buildCategoryTree();
|
|
1228
|
+
}
|
|
1230
1229
|
onSearchChange(term) {
|
|
1231
1230
|
this.searchTerm = term;
|
|
1232
1231
|
this.applyFilters();
|
|
@@ -1962,98 +1961,86 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
|
|
|
1962
1961
|
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)); };
|
|
1963
1962
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListsBrowseResource, selectors: [["mj-lists-browse-resource"]], hostBindings: function ListsBrowseResource_HostBindings(rf, ctx) { if (rf & 1) {
|
|
1964
1963
|
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);
|
|
1965
|
-
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
1964
|
+
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 31, vars: 23, consts: [["categoryNodeTemplate", ""], ["entityInput", ""], ["Title", "Lists", "Icon", "fa-solid fa-list-check"], ["meta", ""], ["Label", "lists", 3, "Count", "Total"], ["actions", ""], ["mjButton", "", "variant", "primary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "action-btn-label"], ["toolbar", ""], ["Placeholder", "Search lists...", 3, "ValueChange", "Value"], ["Label", "Filters", "Icon", "fa-solid fa-filter", 3, "ClearAllRequested", "ActiveCount", "ShowClearAll"], [3, "ValuesChange", "Reset", "Fields", "Values"], [3, "KeyChange", "Options", "ActiveKey"], [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"], [3, "Visible", "Title", "MinWidth", "Width", "Height"], [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, "result-count"], [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", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-ellipsis-v"], [1, "sharing-indicator"], [1, "fa-solid", "fa-share-nodes"], [1, "share-count"], [1, "fa-solid", "fa-lock"], ["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, "favorite-btn", 3, "click", "title"], [1, "card-menu"], [1, "menu-btn", 3, "click"], [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-tags", 3, "click"], ["EntityName", "MJ: Lists", 3, "TagClicked", "Provider", "RecordID", "Editable", "MaxDisplay"], [1, "card-footer"], [1, "owner-tag"], [1, "fa-solid", "fa-user"], [1, "card-footer-right"], [1, "date-info"], [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"], [1, "menu-item", 3, "click"], [1, "fa-solid", "fa-copy"], [1, "menu-viewer-hint"], [1, "fa-solid", "fa-pen"], [1, "menu-divider"], [1, "menu-item", "danger", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "fa-solid", "fa-eye"], [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", "manageInvitations", "viewAuditLog", "config", "visible"], [3, "Close", "Visible", "Title", "MinWidth", "Width", "Height"], [1, "dialog-content"], [3, "Provider", "ListID", "ListName"], ["mjButton", "", "variant", "outline", 3, "click"], [3, "Provider", "ListID"], [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) {
|
|
1966
1965
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
1967
1966
|
i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 2)(2, "div", 3);
|
|
1968
1967
|
i0.ɵɵelement(3, "mj-stat-badge", 4);
|
|
1969
1968
|
i0.ɵɵelementEnd();
|
|
1970
|
-
i0.ɵɵelementStart(4, "div", 5)(5, "
|
|
1971
|
-
i0.ɵɵlistener("
|
|
1972
|
-
i0.ɵɵ
|
|
1973
|
-
i0.ɵɵ
|
|
1974
|
-
i0.ɵɵ
|
|
1975
|
-
i0.ɵɵ
|
|
1976
|
-
i0.ɵɵ
|
|
1977
|
-
i0.ɵɵ
|
|
1978
|
-
i0.ɵɵelementStart(8, "button", 9);
|
|
1979
|
-
i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleShowOnlyFavorites()); });
|
|
1980
|
-
i0.ɵɵelement(9, "i");
|
|
1981
|
-
i0.ɵɵtext(10, " Favorites ");
|
|
1969
|
+
i0.ɵɵelementStart(4, "div", 5)(5, "button", 6);
|
|
1970
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.createNewList()); });
|
|
1971
|
+
i0.ɵɵelement(6, "i", 7);
|
|
1972
|
+
i0.ɵɵelementStart(7, "span", 8);
|
|
1973
|
+
i0.ɵɵtext(8, "New List");
|
|
1974
|
+
i0.ɵɵelementEnd()()();
|
|
1975
|
+
i0.ɵɵelementStart(9, "div", 9)(10, "mj-page-search", 10);
|
|
1976
|
+
i0.ɵɵlistener("ValueChange", function ListsBrowseResource_Template_mj_page_search_ValueChange_10_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSearchChange($event)); });
|
|
1982
1977
|
i0.ɵɵelementEnd();
|
|
1983
|
-
i0.ɵɵelementStart(11, "
|
|
1984
|
-
i0.ɵɵlistener("
|
|
1985
|
-
i0.ɵɵ
|
|
1986
|
-
i0.ɵɵ
|
|
1978
|
+
i0.ɵɵelementStart(11, "mj-filter-popover", 11);
|
|
1979
|
+
i0.ɵɵlistener("ClearAllRequested", function ListsBrowseResource_Template_mj_filter_popover_ClearAllRequested_11_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.clearAllAppliedFilters()); });
|
|
1980
|
+
i0.ɵɵelementStart(12, "mj-filter-panel", 12);
|
|
1981
|
+
i0.ɵɵlistener("ValuesChange", function ListsBrowseResource_Template_mj_filter_panel_ValuesChange_12_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onFilterValuesChange($event)); })("Reset", function ListsBrowseResource_Template_mj_filter_panel_Reset_12_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.resetPopoverFilters()); });
|
|
1987
1982
|
i0.ɵɵelementEnd()();
|
|
1988
|
-
i0.ɵɵelementStart(
|
|
1989
|
-
i0.ɵɵlistener("
|
|
1983
|
+
i0.ɵɵelementStart(13, "mj-view-toggle", 13);
|
|
1984
|
+
i0.ɵɵlistener("KeyChange", function ListsBrowseResource_Template_mj_view_toggle_KeyChange_13_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode($event)); });
|
|
1990
1985
|
i0.ɵɵelementEnd()()();
|
|
1991
|
-
i0.ɵɵelementStart(
|
|
1992
|
-
i0.ɵɵconditionalCreate(
|
|
1993
|
-
i0.ɵɵconditionalCreate(
|
|
1994
|
-
i0.ɵɵconditionalCreate(
|
|
1995
|
-
i0.ɵɵconditionalCreate(
|
|
1996
|
-
i0.ɵɵ
|
|
1997
|
-
i0.ɵɵ
|
|
1998
|
-
i0.ɵɵconditionalCreate(
|
|
1999
|
-
i0.ɵɵconditionalCreate(25, ListsBrowseResource_Conditional_25_Template, 8, 8, "div", 20);
|
|
1986
|
+
i0.ɵɵelementStart(14, "mj-page-body");
|
|
1987
|
+
i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_15_Template, 2, 0, "div", 14);
|
|
1988
|
+
i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_16_Template, 24, 0, "div", 15);
|
|
1989
|
+
i0.ɵɵconditionalCreate(17, ListsBrowseResource_Conditional_17_Template, 11, 0, "div", 16);
|
|
1990
|
+
i0.ɵɵconditionalCreate(18, ListsBrowseResource_Conditional_18_Template, 13, 6, "div", 17);
|
|
1991
|
+
i0.ɵɵtemplate(19, ListsBrowseResource_ng_template_19_Template, 5, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
1992
|
+
i0.ɵɵconditionalCreate(21, ListsBrowseResource_Conditional_21_Template, 1, 0, "div", 18);
|
|
1993
|
+
i0.ɵɵconditionalCreate(22, ListsBrowseResource_Conditional_22_Template, 8, 8, "div", 19);
|
|
2000
1994
|
i0.ɵɵelementEnd();
|
|
2001
|
-
i0.ɵɵconditionalCreate(
|
|
2002
|
-
i0.ɵɵconditionalCreate(
|
|
2003
|
-
i0.ɵɵconditionalCreate(
|
|
2004
|
-
i0.ɵɵconditionalCreate(
|
|
2005
|
-
i0.ɵɵconditionalCreate(
|
|
2006
|
-
i0.ɵɵconditionalCreate(
|
|
2007
|
-
i0.ɵɵconditionalCreate(
|
|
2008
|
-
i0.ɵɵconditionalCreate(
|
|
1995
|
+
i0.ɵɵconditionalCreate(23, ListsBrowseResource_Conditional_23_Template, 1, 0, "div", 20);
|
|
1996
|
+
i0.ɵɵconditionalCreate(24, ListsBrowseResource_Conditional_24_Template, 31, 11, "div", 21);
|
|
1997
|
+
i0.ɵɵconditionalCreate(25, ListsBrowseResource_Conditional_25_Template, 1, 0, "div", 20);
|
|
1998
|
+
i0.ɵɵconditionalCreate(26, ListsBrowseResource_Conditional_26_Template, 20, 5, "div", 22);
|
|
1999
|
+
i0.ɵɵconditionalCreate(27, ListsBrowseResource_Conditional_27_Template, 1, 2, "mj-list-share-dialog", 23);
|
|
2000
|
+
i0.ɵɵconditionalCreate(28, ListsBrowseResource_Conditional_28_Template, 6, 8, "mj-dialog", 24);
|
|
2001
|
+
i0.ɵɵconditionalCreate(29, ListsBrowseResource_Conditional_29_Template, 6, 7, "mj-dialog", 24);
|
|
2002
|
+
i0.ɵɵconditionalCreate(30, ListsBrowseResource_Conditional_30_Template, 5, 11, "div", 25);
|
|
2009
2003
|
i0.ɵɵelementEnd();
|
|
2010
2004
|
} if (rf & 2) {
|
|
2011
2005
|
i0.ɵɵadvance(3);
|
|
2012
2006
|
i0.ɵɵproperty("Count", ctx.filteredLists.length)("Total", ctx.allLists.length);
|
|
2013
|
-
i0.ɵɵadvance(
|
|
2014
|
-
i0.ɵɵproperty("
|
|
2007
|
+
i0.ɵɵadvance(7);
|
|
2008
|
+
i0.ɵɵproperty("Value", ctx.searchTerm);
|
|
2009
|
+
i0.ɵɵadvance();
|
|
2010
|
+
i0.ɵɵproperty("ActiveCount", ctx.TotalActiveFilterCount)("ShowClearAll", ctx.TotalActiveFilterCount > 0);
|
|
2015
2011
|
i0.ɵɵadvance();
|
|
2016
2012
|
i0.ɵɵproperty("Fields", ctx.listFilterFields)("Values", ctx.listFilterValues);
|
|
2017
2013
|
i0.ɵɵadvance();
|
|
2018
2014
|
i0.ɵɵproperty("Options", ctx.listViewOptions)("ActiveKey", ctx.viewMode);
|
|
2019
|
-
i0.ɵɵadvance();
|
|
2020
|
-
i0.ɵɵclassProp("favorite-filter-toggle--active", ctx.showOnlyFavorites);
|
|
2021
|
-
i0.ɵɵproperty("title", ctx.showOnlyFavorites ? "Showing favorites only" : "Show all lists");
|
|
2022
|
-
i0.ɵɵadvance();
|
|
2023
|
-
i0.ɵɵclassMap(ctx.showOnlyFavorites ? "fa-solid fa-star" : "fa-regular fa-star");
|
|
2024
|
-
i0.ɵɵadvance(6);
|
|
2025
|
-
i0.ɵɵproperty("Value", ctx.searchTerm);
|
|
2026
2015
|
i0.ɵɵadvance(2);
|
|
2027
|
-
i0.ɵɵconditional(ctx.
|
|
2028
|
-
i0.ɵɵadvance();
|
|
2029
|
-
i0.ɵɵconditional(ctx.isLoading ? 18 : -1);
|
|
2016
|
+
i0.ɵɵconditional(ctx.isLoading ? 15 : -1);
|
|
2030
2017
|
i0.ɵɵadvance();
|
|
2031
|
-
i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length === 0 ?
|
|
2018
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length === 0 ? 16 : -1);
|
|
2032
2019
|
i0.ɵɵadvance();
|
|
2033
|
-
i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length > 0 && ctx.filteredLists.length === 0 ?
|
|
2020
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length > 0 && ctx.filteredLists.length === 0 ? 17 : -1);
|
|
2034
2021
|
i0.ɵɵadvance();
|
|
2035
|
-
i0.ɵɵconditional(!ctx.isLoading && ctx.filteredLists.length > 0 ?
|
|
2022
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.filteredLists.length > 0 ? 18 : -1);
|
|
2036
2023
|
i0.ɵɵadvance(3);
|
|
2037
|
-
i0.ɵɵconditional(ctx.showContextMenu ?
|
|
2024
|
+
i0.ɵɵconditional(ctx.showContextMenu ? 21 : -1);
|
|
2038
2025
|
i0.ɵɵadvance();
|
|
2039
|
-
i0.ɵɵconditional(ctx.showContextMenu ?
|
|
2026
|
+
i0.ɵɵconditional(ctx.showContextMenu ? 22 : -1);
|
|
2040
2027
|
i0.ɵɵadvance();
|
|
2041
|
-
i0.ɵɵconditional(ctx.showCreateDialog ?
|
|
2028
|
+
i0.ɵɵconditional(ctx.showCreateDialog ? 23 : -1);
|
|
2042
2029
|
i0.ɵɵadvance();
|
|
2043
|
-
i0.ɵɵconditional(ctx.showCreateDialog ?
|
|
2030
|
+
i0.ɵɵconditional(ctx.showCreateDialog ? 24 : -1);
|
|
2044
2031
|
i0.ɵɵadvance();
|
|
2045
|
-
i0.ɵɵconditional(ctx.showDeleteConfirm ?
|
|
2032
|
+
i0.ɵɵconditional(ctx.showDeleteConfirm ? 25 : -1);
|
|
2046
2033
|
i0.ɵɵadvance();
|
|
2047
|
-
i0.ɵɵconditional(ctx.showDeleteConfirm ?
|
|
2034
|
+
i0.ɵɵconditional(ctx.showDeleteConfirm ? 26 : -1);
|
|
2048
2035
|
i0.ɵɵadvance();
|
|
2049
|
-
i0.ɵɵconditional(ctx.shareDialogConfig ?
|
|
2036
|
+
i0.ɵɵconditional(ctx.shareDialogConfig ? 27 : -1);
|
|
2050
2037
|
i0.ɵɵadvance();
|
|
2051
|
-
i0.ɵɵconditional(ctx.showInvitationsDialog && ctx.activeShareListId ?
|
|
2038
|
+
i0.ɵɵconditional(ctx.showInvitationsDialog && ctx.activeShareListId ? 28 : -1);
|
|
2052
2039
|
i0.ɵɵadvance();
|
|
2053
|
-
i0.ɵɵconditional(ctx.showAuditLogDialog && ctx.activeShareListId ?
|
|
2040
|
+
i0.ɵɵconditional(ctx.showAuditLogDialog && ctx.activeShareListId ? 29 : -1);
|
|
2054
2041
|
i0.ɵɵadvance();
|
|
2055
|
-
i0.ɵɵconditional(ctx.showEntityDropdown && !ctx.editingList ?
|
|
2056
|
-
} }, dependencies: [i4.NgTemplateOutlet, i5.NgSelectOption, i5.ɵNgSelectMultipleOption, i5.DefaultValueAccessor, i5.SelectControlValueAccessor, i5.NgControlStatus, i5.NgModel, i6.MJButtonDirective, i6.MJDialogComponent, i6.MJDialogActionsComponent, i6.MJPageLayoutComponent, i6.MJPageHeaderComponent, i6.MJPageBodyComponent, i6.MJPageSearchComponent, i6.MJFilterPopoverComponent, i6.MJFilterPanelComponent, i6.MJViewToggleComponent, i6.MJStatBadgeComponent, i7.LoadingComponent, i3.ListAuditLogComponent, i3.ListInvitationsComponent, i3.ListShareDialogComponent, i3.TagChipsComponent], 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 /* Tag chips on a card. Stop-propagation is set on the wrapper so\n clicks on chips don't open the underlying list. */\n .card-tags {\n margin-top: 8px;\n }\n\n /* Favorite star on cards (Phase 5.3). */\n .favorite-btn {\n background: none;\n border: none;\n padding: 4px;\n margin: -4px;\n cursor: pointer;\n color: var(--mj-text-muted);\n font-size: 14px;\n border-radius: 4px;\n transition: color 0.12s ease, background 0.12s ease;\n }\n\n .favorite-btn:hover {\n background: var(--mj-bg-surface-card);\n color: var(--mj-status-warning);\n }\n\n .favorite-btn--active {\n color: var(--mj-status-warning);\n }\n\n /* Favorites-only toggle in the toolbar. */\n .favorite-filter-toggle {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 12.5px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n }\n\n .favorite-filter-toggle:hover {\n border-color: var(--mj-status-warning);\n color: var(--mj-status-warning);\n }\n\n .favorite-filter-toggle--active {\n background: color-mix(in srgb, var(--mj-status-warning) 12%, var(--mj-bg-surface));\n border-color: var(--mj-status-warning);\n color: var(--mj-status-warning);\n font-weight: 600;\n }\n\n /* Active-tag filter row above the grid (Phase 4.3). */\n .tag-filter-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n margin-bottom: 12px;\n background: var(--mj-bg-surface-sunken);\n border: 1px dashed var(--mj-border-default);\n border-radius: 8px;\n font-size: 12.5px;\n }\n\n .tag-filter-row__label {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-text-muted);\n font-weight: 500;\n }\n\n .tag-filter-chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 2px 10px;\n border-radius: 999px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border: 1px solid var(--mj-brand-primary);\n font-size: 11.5px;\n cursor: pointer;\n }\n\n .tag-filter-chip:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-bg-surface));\n }\n\n .tag-filter-row__clear {\n background: none;\n border: none;\n color: var(--mj-text-link);\n font-size: 11.5px;\n cursor: pointer;\n margin-left: auto;\n }\n\n .tag-filter-row__clear:hover {\n text-decoration: underline;\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 .menu-viewer-hint {\n padding: 10px 14px;\n font-size: 12px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n font-style: italic;\n }\n .menu-viewer-hint i { color: var(--mj-text-muted); }\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 });
|
|
2042
|
+
i0.ɵɵconditional(ctx.showEntityDropdown && !ctx.editingList ? 30 : -1);
|
|
2043
|
+
} }, dependencies: [i4.NgTemplateOutlet, i5.NgSelectOption, i5.ɵNgSelectMultipleOption, i5.DefaultValueAccessor, i5.SelectControlValueAccessor, i5.NgControlStatus, i5.NgModel, i6.MJButtonDirective, i6.MJDialogComponent, i6.MJDialogActionsComponent, i6.MJPageLayoutComponent, i6.MJPageHeaderComponent, i6.MJPageBodyComponent, i6.MJPageSearchComponent, i6.MJFilterPopoverComponent, i6.MJFilterPanelComponent, i6.MJViewToggleComponent, i6.MJStatBadgeComponent, i7.LoadingComponent, i3.ListAuditLogComponent, i3.ListInvitationsComponent, i3.ListShareDialogComponent, i3.TagChipsComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n /* Control bar: on mobile search grows so the icon-only Filter + view toggle\n stay on one line. On desktop search keeps its natural width. */\n @media (max-width: 768px) {\n mj-page-search {\n flex: 1;\n }\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 /* Tag chips on a card. Stop-propagation is set on the wrapper so\n clicks on chips don't open the underlying list. */\n .card-tags {\n margin-top: 8px;\n }\n\n /* Favorite star on cards (Phase 5.3). */\n .favorite-btn {\n background: none;\n border: none;\n padding: 4px;\n margin: -4px;\n cursor: pointer;\n color: var(--mj-text-muted);\n font-size: 14px;\n border-radius: 4px;\n transition: color 0.12s ease, background 0.12s ease;\n }\n\n .favorite-btn:hover {\n background: var(--mj-bg-surface-card);\n color: var(--mj-status-warning);\n }\n\n .favorite-btn--active {\n color: var(--mj-status-warning);\n }\n\n /* Favorites-only toggle in the toolbar. */\n .favorite-filter-toggle {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 12.5px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n }\n\n .favorite-filter-toggle:hover {\n border-color: var(--mj-status-warning);\n color: var(--mj-status-warning);\n }\n\n .favorite-filter-toggle--active {\n background: color-mix(in srgb, var(--mj-status-warning) 12%, var(--mj-bg-surface));\n border-color: var(--mj-status-warning);\n color: var(--mj-status-warning);\n font-weight: 600;\n }\n\n /* Active-tag filter row above the grid (Phase 4.3). */\n .tag-filter-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n margin-bottom: 12px;\n background: var(--mj-bg-surface-sunken);\n border: 1px dashed var(--mj-border-default);\n border-radius: 8px;\n font-size: 12.5px;\n }\n\n .tag-filter-row__label {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-text-muted);\n font-weight: 500;\n }\n\n .tag-filter-chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 2px 10px;\n border-radius: 999px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border: 1px solid var(--mj-brand-primary);\n font-size: 11.5px;\n cursor: pointer;\n }\n\n .tag-filter-chip:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-bg-surface));\n }\n\n .tag-filter-row__clear {\n background: none;\n border: none;\n color: var(--mj-text-link);\n font-size: 11.5px;\n cursor: pointer;\n margin-left: auto;\n }\n\n .tag-filter-row__clear:hover {\n text-decoration: underline;\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 .menu-viewer-hint {\n padding: 10px 14px;\n font-size: 12px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n font-style: italic;\n }\n .menu-viewer-hint i { color: var(--mj-text-muted); }\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 });
|
|
2057
2044
|
};
|
|
2058
2045
|
ListsBrowseResource = __decorate([
|
|
2059
2046
|
RegisterClass(BaseResourceComponent, 'ListsBrowseResource')
|
|
@@ -2073,10 +2060,28 @@ export { ListsBrowseResource };
|
|
|
2073
2060
|
</mj-stat-badge>
|
|
2074
2061
|
</div>
|
|
2075
2062
|
<div actions>
|
|
2063
|
+
<!-- Single primary CTA; all filters live behind the Filter button in
|
|
2064
|
+
the control bar below (concise chrome). -->
|
|
2065
|
+
<button mjButton variant="primary" size="sm" (click)="createNewList()">
|
|
2066
|
+
<i class="fa-solid fa-plus"></i> <span class="action-btn-label">New List</span>
|
|
2067
|
+
</button>
|
|
2068
|
+
</div>
|
|
2069
|
+
<div toolbar>
|
|
2070
|
+
<!-- Control bar: search · Filter · view. Owner, Entity and Favorites
|
|
2071
|
+
all live behind the one Filter button; applied filters (including
|
|
2072
|
+
tags) show as removable chips below. On mobile the popover docks
|
|
2073
|
+
as a bottom sheet and the Filter button is icon-only. -->
|
|
2074
|
+
<mj-page-search
|
|
2075
|
+
Placeholder="Search lists..."
|
|
2076
|
+
[Value]="searchTerm"
|
|
2077
|
+
(ValueChange)="onSearchChange($event)">
|
|
2078
|
+
</mj-page-search>
|
|
2076
2079
|
<mj-filter-popover
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
+
Label="Filters"
|
|
2081
|
+
Icon="fa-solid fa-filter"
|
|
2082
|
+
[ActiveCount]="TotalActiveFilterCount"
|
|
2083
|
+
[ShowClearAll]="TotalActiveFilterCount > 0"
|
|
2084
|
+
(ClearAllRequested)="clearAllAppliedFilters()">
|
|
2080
2085
|
<mj-filter-panel
|
|
2081
2086
|
[Fields]="listFilterFields"
|
|
2082
2087
|
[Values]="listFilterValues"
|
|
@@ -2084,61 +2089,15 @@ export { ListsBrowseResource };
|
|
|
2084
2089
|
(Reset)="resetPopoverFilters()">
|
|
2085
2090
|
</mj-filter-panel>
|
|
2086
2091
|
</mj-filter-popover>
|
|
2087
|
-
|
|
2088
2092
|
<mj-view-toggle
|
|
2089
2093
|
[Options]="listViewOptions"
|
|
2090
2094
|
[ActiveKey]="viewMode"
|
|
2091
2095
|
(KeyChange)="setViewMode($any($event))">
|
|
2092
2096
|
</mj-view-toggle>
|
|
2093
|
-
|
|
2094
|
-
<!-- Favorites-only toggle (Phase 5.3). Sits next to the view toggle
|
|
2095
|
-
so it reads as "filter scope" alongside view mode. -->
|
|
2096
|
-
<button
|
|
2097
|
-
class="favorite-filter-toggle"
|
|
2098
|
-
[class.favorite-filter-toggle--active]="showOnlyFavorites"
|
|
2099
|
-
(click)="toggleShowOnlyFavorites()"
|
|
2100
|
-
[title]="showOnlyFavorites ? 'Showing favorites only' : 'Show all lists'">
|
|
2101
|
-
<i [class]="showOnlyFavorites ? 'fa-solid fa-star' : 'fa-regular fa-star'"></i>
|
|
2102
|
-
Favorites
|
|
2103
|
-
</button>
|
|
2104
|
-
|
|
2105
|
-
<button mjButton variant="primary" size="sm" (click)="createNewList()">
|
|
2106
|
-
<i class="fa-solid fa-plus"></i> New List
|
|
2107
|
-
</button>
|
|
2108
|
-
</div>
|
|
2109
|
-
<div toolbar>
|
|
2110
|
-
<mj-page-search
|
|
2111
|
-
Placeholder="Search lists..."
|
|
2112
|
-
[Value]="searchTerm"
|
|
2113
|
-
(ValueChange)="onSearchChange($event)">
|
|
2114
|
-
</mj-page-search>
|
|
2115
2097
|
</div>
|
|
2116
2098
|
</mj-page-header>
|
|
2117
2099
|
|
|
2118
2100
|
<mj-page-body>
|
|
2119
|
-
|
|
2120
|
-
<!-- Active tag filters (Phase 4.3). Renders only when at least one
|
|
2121
|
-
tag is active — multi-tag = AND. Clicking a chip's × removes it. -->
|
|
2122
|
-
@if (tagFilters.length > 0) {
|
|
2123
|
-
<div class="tag-filter-row">
|
|
2124
|
-
<span class="tag-filter-row__label">
|
|
2125
|
-
<i class="fa-solid fa-tag"></i>
|
|
2126
|
-
Filtering by tag:
|
|
2127
|
-
</span>
|
|
2128
|
-
@for (f of tagFilters; track f.TagID) {
|
|
2129
|
-
<button
|
|
2130
|
-
class="tag-filter-chip"
|
|
2131
|
-
type="button"
|
|
2132
|
-
(click)="removeTagFilter(f.TagID)">
|
|
2133
|
-
{{ f.Name }}
|
|
2134
|
-
<i class="fa-solid fa-xmark"></i>
|
|
2135
|
-
</button>
|
|
2136
|
-
}
|
|
2137
|
-
<button class="tag-filter-row__clear" type="button" (click)="clearTagFilters()">
|
|
2138
|
-
Clear all
|
|
2139
|
-
</button>
|
|
2140
|
-
</div>
|
|
2141
|
-
}
|
|
2142
2101
|
|
|
2143
2102
|
<!-- Loading State -->
|
|
2144
2103
|
@if (isLoading) {
|
|
@@ -2674,7 +2633,7 @@ export { ListsBrowseResource };
|
|
|
2674
2633
|
</div>
|
|
2675
2634
|
}
|
|
2676
2635
|
</mj-page-layout>
|
|
2677
|
-
`, 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 /* Tag chips on a card. Stop-propagation is set on the wrapper so\n clicks on chips don't open the underlying list. */\n .card-tags {\n margin-top: 8px;\n }\n\n /* Favorite star on cards (Phase 5.3). */\n .favorite-btn {\n background: none;\n border: none;\n padding: 4px;\n margin: -4px;\n cursor: pointer;\n color: var(--mj-text-muted);\n font-size: 14px;\n border-radius: 4px;\n transition: color 0.12s ease, background 0.12s ease;\n }\n\n .favorite-btn:hover {\n background: var(--mj-bg-surface-card);\n color: var(--mj-status-warning);\n }\n\n .favorite-btn--active {\n color: var(--mj-status-warning);\n }\n\n /* Favorites-only toggle in the toolbar. */\n .favorite-filter-toggle {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 12.5px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n }\n\n .favorite-filter-toggle:hover {\n border-color: var(--mj-status-warning);\n color: var(--mj-status-warning);\n }\n\n .favorite-filter-toggle--active {\n background: color-mix(in srgb, var(--mj-status-warning) 12%, var(--mj-bg-surface));\n border-color: var(--mj-status-warning);\n color: var(--mj-status-warning);\n font-weight: 600;\n }\n\n /* Active-tag filter row above the grid (Phase 4.3). */\n .tag-filter-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n margin-bottom: 12px;\n background: var(--mj-bg-surface-sunken);\n border: 1px dashed var(--mj-border-default);\n border-radius: 8px;\n font-size: 12.5px;\n }\n\n .tag-filter-row__label {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-text-muted);\n font-weight: 500;\n }\n\n .tag-filter-chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 2px 10px;\n border-radius: 999px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border: 1px solid var(--mj-brand-primary);\n font-size: 11.5px;\n cursor: pointer;\n }\n\n .tag-filter-chip:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-bg-surface));\n }\n\n .tag-filter-row__clear {\n background: none;\n border: none;\n color: var(--mj-text-link);\n font-size: 11.5px;\n cursor: pointer;\n margin-left: auto;\n }\n\n .tag-filter-row__clear:hover {\n text-decoration: underline;\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 .menu-viewer-hint {\n padding: 10px 14px;\n font-size: 12px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n font-style: italic;\n }\n .menu-viewer-hint i { color: var(--mj-text-muted); }\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 "] }]
|
|
2636
|
+
`, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n /* Control bar: on mobile search grows so the icon-only Filter + view toggle\n stay on one line. On desktop search keeps its natural width. */\n @media (max-width: 768px) {\n mj-page-search {\n flex: 1;\n }\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 /* Tag chips on a card. Stop-propagation is set on the wrapper so\n clicks on chips don't open the underlying list. */\n .card-tags {\n margin-top: 8px;\n }\n\n /* Favorite star on cards (Phase 5.3). */\n .favorite-btn {\n background: none;\n border: none;\n padding: 4px;\n margin: -4px;\n cursor: pointer;\n color: var(--mj-text-muted);\n font-size: 14px;\n border-radius: 4px;\n transition: color 0.12s ease, background 0.12s ease;\n }\n\n .favorite-btn:hover {\n background: var(--mj-bg-surface-card);\n color: var(--mj-status-warning);\n }\n\n .favorite-btn--active {\n color: var(--mj-status-warning);\n }\n\n /* Favorites-only toggle in the toolbar. */\n .favorite-filter-toggle {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: none;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 12.5px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n }\n\n .favorite-filter-toggle:hover {\n border-color: var(--mj-status-warning);\n color: var(--mj-status-warning);\n }\n\n .favorite-filter-toggle--active {\n background: color-mix(in srgb, var(--mj-status-warning) 12%, var(--mj-bg-surface));\n border-color: var(--mj-status-warning);\n color: var(--mj-status-warning);\n font-weight: 600;\n }\n\n /* Active-tag filter row above the grid (Phase 4.3). */\n .tag-filter-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n margin-bottom: 12px;\n background: var(--mj-bg-surface-sunken);\n border: 1px dashed var(--mj-border-default);\n border-radius: 8px;\n font-size: 12.5px;\n }\n\n .tag-filter-row__label {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-text-muted);\n font-weight: 500;\n }\n\n .tag-filter-chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 2px 10px;\n border-radius: 999px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border: 1px solid var(--mj-brand-primary);\n font-size: 11.5px;\n cursor: pointer;\n }\n\n .tag-filter-chip:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-bg-surface));\n }\n\n .tag-filter-row__clear {\n background: none;\n border: none;\n color: var(--mj-text-link);\n font-size: 11.5px;\n cursor: pointer;\n margin-left: auto;\n }\n\n .tag-filter-row__clear:hover {\n text-decoration: underline;\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 .menu-viewer-hint {\n padding: 10px 14px;\n font-size: 12px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n font-style: italic;\n }\n .menu-viewer-hint i { color: var(--mj-text-muted); }\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 "] }]
|
|
2678
2637
|
}], () => [{ type: i0.ChangeDetectorRef }, { type: i1.TabService }, { type: i2.MJNotificationService }, { type: i0.ElementRef }, { type: i3.ListSharingService }], { onDocumentClick: [{
|
|
2679
2638
|
type: HostListener,
|
|
2680
2639
|
args: ['document:click', ['$event']]
|
|
@@ -2682,5 +2641,5 @@ export { ListsBrowseResource };
|
|
|
2682
2641
|
type: HostListener,
|
|
2683
2642
|
args: ['document:keydown.escape']
|
|
2684
2643
|
}] }); })();
|
|
2685
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsBrowseResource, { className: "ListsBrowseResource", filePath: "src/Lists/components/lists-browse-resource.component.ts", lineNumber:
|
|
2644
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsBrowseResource, { className: "ListsBrowseResource", filePath: "src/Lists/components/lists-browse-resource.component.ts", lineNumber: 1846 }); })();
|
|
2686
2645
|
//# sourceMappingURL=lists-browse-resource.component.js.map
|