@memberjunction/ng-dashboards 3.3.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AI/ai-dashboard.component.d.ts +62 -0
- package/dist/AI/ai-dashboard.component.d.ts.map +1 -0
- package/dist/AI/ai-dashboard.component.js +338 -0
- package/dist/AI/ai-dashboard.component.js.map +1 -0
- package/dist/AI/components/agents/agent-configuration.component.d.ts +36 -5
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +287 -141
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.d.ts +14 -5
- package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.js +149 -211
- package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-filter-panel.component.js +4 -4
- package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
- package/dist/AI/components/charts/performance-heatmap.component.d.ts.map +1 -1
- package/dist/AI/components/charts/performance-heatmap.component.js +4 -6
- package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
- package/dist/AI/components/charts/time-series-chart.component.d.ts.map +1 -1
- package/dist/AI/components/charts/time-series-chart.component.js +6 -7
- package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
- package/dist/AI/components/execution-monitoring.component.d.ts +0 -4
- package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js +33 -37
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management-v2.component.d.ts +96 -0
- package/dist/AI/components/models/model-management-v2.component.d.ts.map +1 -0
- package/dist/AI/components/models/model-management-v2.component.js +981 -0
- package/dist/AI/components/models/model-management-v2.component.js.map +1 -0
- package/dist/AI/components/models/model-management.component.d.ts +26 -6
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +216 -103
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +22 -17
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.js +4 -4
- package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management-v2.component.d.ts +97 -0
- package/dist/AI/components/prompts/prompt-management-v2.component.d.ts.map +1 -0
- package/dist/AI/components/prompts/prompt-management-v2.component.js +811 -0
- package/dist/AI/components/prompts/prompt-management-v2.component.js.map +1 -0
- package/dist/AI/components/prompts/prompt-management.component.d.ts +26 -6
- package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +164 -57
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-version-control.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-version-control.component.js +33 -28
- package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-config-filter-panel.component.js +4 -4
- package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.d.ts +0 -4
- package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +26 -27
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/widgets/kpi-card.component.d.ts.map +1 -1
- package/dist/AI/components/widgets/kpi-card.component.js +52 -42
- package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
- package/dist/AI/components/widgets/live-execution-widget.component.d.ts.map +1 -1
- package/dist/AI/components/widgets/live-execution-widget.component.js +7 -7
- package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
- package/dist/APIKeys/api-applications-panel.component.d.ts +5 -5
- package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-applications-panel.component.js +242 -239
- package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.d.ts +4 -5
- package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.js +237 -217
- package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.d.ts +1 -3
- package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.js +268 -249
- package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-list.component.d.ts +2 -3
- package/dist/APIKeys/api-key-list.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-list.component.js +136 -133
- package/dist/APIKeys/api-key-list.component.js.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.d.ts +6 -6
- package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.js +335 -358
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/APIKeys/api-scopes-panel.component.d.ts +0 -2
- package/dist/APIKeys/api-scopes-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-scopes-panel.component.js +151 -155
- package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
- package/dist/APIKeys/api-usage-panel.component.d.ts +0 -2
- package/dist/APIKeys/api-usage-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-usage-panel.component.js +237 -234
- package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
- package/dist/Actions/actions-management-dashboard.component.d.ts +52 -0
- package/dist/Actions/actions-management-dashboard.component.d.ts.map +1 -0
- package/dist/Actions/actions-management-dashboard.component.js +308 -0
- package/dist/Actions/actions-management-dashboard.component.js.map +1 -0
- package/dist/Actions/components/actions-list-view.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-list-view.component.js +15 -14
- package/dist/Actions/components/actions-list-view.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.d.ts +3 -6
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +17 -19
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -1
- package/dist/Actions/components/categories-list-view.component.js +6 -6
- package/dist/Actions/components/categories-list-view.component.js.map +1 -1
- package/dist/Actions/components/code-management.component.d.ts +0 -4
- package/dist/Actions/components/code-management.component.d.ts.map +1 -1
- package/dist/Actions/components/code-management.component.js +3 -9
- package/dist/Actions/components/code-management.component.js.map +1 -1
- package/dist/Actions/components/entity-integration.component.d.ts +0 -4
- package/dist/Actions/components/entity-integration.component.d.ts.map +1 -1
- package/dist/Actions/components/entity-integration.component.js +3 -9
- package/dist/Actions/components/entity-integration.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +3 -6
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +13 -16
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/executions-list-view.component.d.ts.map +1 -1
- package/dist/Actions/components/executions-list-view.component.js +3 -3
- package/dist/Actions/components/executions-list-view.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts +22 -0
- package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-breadcrumb.component.js +139 -0
- package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-card.component.d.ts +39 -0
- package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-card.component.js +411 -0
- package/dist/Actions/components/explorer/action-card.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +58 -0
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-explorer.component.js +523 -0
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-list-item.component.d.ts +24 -0
- package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-list-item.component.js +210 -0
- package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts +63 -0
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-toolbar.component.js +484 -0
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.d.ts +57 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.js +455 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -0
- package/dist/Actions/components/explorer/index.d.ts +9 -0
- package/dist/Actions/components/explorer/index.d.ts.map +1 -0
- package/dist/Actions/components/explorer/index.js +10 -0
- package/dist/Actions/components/explorer/index.js.map +1 -0
- package/dist/Actions/components/explorer/new-action-panel.component.d.ts +49 -0
- package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/new-action-panel.component.js +359 -0
- package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -0
- package/dist/Actions/components/explorer/new-category-panel.component.d.ts +37 -0
- package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/new-category-panel.component.js +282 -0
- package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -0
- package/dist/Actions/components/scheduled-actions.component.d.ts +0 -4
- package/dist/Actions/components/scheduled-actions.component.d.ts.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.js +3 -9
- package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
- package/dist/Actions/components/security-permissions.component.d.ts +0 -4
- package/dist/Actions/components/security-permissions.component.d.ts.map +1 -1
- package/dist/Actions/components/security-permissions.component.js +3 -9
- package/dist/Actions/components/security-permissions.component.js.map +1 -1
- package/dist/Actions/index.d.ts +2 -6
- package/dist/Actions/index.d.ts.map +1 -1
- package/dist/Actions/index.js +4 -7
- package/dist/Actions/index.js.map +1 -1
- package/dist/Actions/services/action-explorer-state.service.d.ts +104 -0
- package/dist/Actions/services/action-explorer-state.service.d.ts.map +1 -0
- package/dist/Actions/services/action-explorer-state.service.js +352 -0
- package/dist/Actions/services/action-explorer-state.service.js.map +1 -0
- package/dist/Communication/communication-dashboard.component.d.ts +2 -7
- package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
- package/dist/Communication/communication-dashboard.component.js +143 -107
- package/dist/Communication/communication-dashboard.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +10 -8
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +270 -134
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.d.ts +38 -7
- package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +469 -186
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.d.ts +16 -9
- package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +262 -139
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.d.ts +4 -6
- package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +168 -159
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +39 -0
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -0
- package/dist/Communication/communication-templates-resource.component.js +388 -0
- package/dist/Communication/communication-templates-resource.component.js.map +1 -0
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +69 -271
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js +705 -1808
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +68 -0
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +400 -0
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -0
- package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/artifact-load-dialog.component.js +25 -22
- package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +16 -16
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/browser/component-browser.component.d.ts +44 -0
- package/dist/ComponentStudio/components/browser/component-browser.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/browser/component-browser.component.js +638 -0
- package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts +35 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +380 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts +24 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +221 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts +28 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js +263 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts +34 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.js +307 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts +29 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +159 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts +20 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +192 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -0
- package/dist/ComponentStudio/components/text-import-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/text-import-dialog.component.js +4 -4
- package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts +57 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.js +343 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts +15 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +144 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -0
- package/dist/ComponentStudio/services/component-studio-state.service.d.ts +203 -0
- package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -0
- package/dist/ComponentStudio/services/component-studio-state.service.js +651 -0
- package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -0
- package/dist/ComponentStudio/services/component-version.service.d.ts +120 -0
- package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -0
- package/dist/ComponentStudio/services/component-version.service.js +394 -0
- package/dist/ComponentStudio/services/component-version.service.js.map +1 -0
- package/dist/Credentials/components/credential-category-edit-panel.component.js +1 -1
- package/dist/Credentials/components/credential-edit-panel.component.js +1 -1
- package/dist/Credentials/components/credential-type-edit-panel.component.js +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts +0 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +200 -196
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.d.ts +1 -2
- package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +195 -190
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts +1 -2
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +252 -241
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.d.ts +0 -1
- package/dist/Credentials/components/credentials-overview-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +228 -226
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts +1 -2
- package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +214 -210
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/Credentials/credentials-dashboard.component.d.ts +0 -1
- package/dist/Credentials/credentials-dashboard.component.d.ts.map +1 -1
- package/dist/Credentials/credentials-dashboard.component.js +31 -44
- package/dist/Credentials/credentials-dashboard.component.js.map +1 -1
- package/dist/Credentials/pipes/group-by.pipe.d.ts.map +1 -1
- package/dist/Credentials/pipes/group-by.pipe.js +2 -1
- package/dist/Credentials/pipes/group-by.pipe.js.map +1 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +0 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.js +73 -80
- package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
- package/dist/DashboardBrowser/dashboard-share-dialog.component.d.ts.map +1 -1
- package/dist/DashboardBrowser/dashboard-share-dialog.component.js +46 -45
- package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +1 -1
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +7 -7
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +2 -2
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +15 -15
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -1
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts +245 -0
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts.map +1 -0
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js +1143 -0
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js.map +1 -0
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +1 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.js +17 -11
- package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +0 -4
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +49 -54
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.d.ts +0 -1
- package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.js +3 -6
- package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
- package/dist/DataExplorer/index.d.ts +2 -2
- package/dist/DataExplorer/index.d.ts.map +1 -1
- package/dist/DataExplorer/index.js +2 -2
- package/dist/DataExplorer/index.js.map +1 -1
- package/dist/EntityAdmin/components/entity-details.component.d.ts +50 -0
- package/dist/EntityAdmin/components/entity-details.component.d.ts.map +1 -0
- package/dist/EntityAdmin/components/entity-details.component.js +680 -0
- package/dist/EntityAdmin/components/entity-details.component.js.map +1 -0
- package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts +31 -0
- package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts.map +1 -0
- package/dist/EntityAdmin/components/entity-filter-panel.component.js +160 -0
- package/dist/EntityAdmin/components/entity-filter-panel.component.js.map +1 -0
- package/dist/EntityAdmin/components/erd-composite.component.d.ts +73 -0
- package/dist/EntityAdmin/components/erd-composite.component.d.ts.map +1 -0
- package/dist/EntityAdmin/components/erd-composite.component.js +271 -0
- package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -0
- package/dist/EntityAdmin/components/erd-diagram.component.d.ts +47 -0
- package/dist/EntityAdmin/components/erd-diagram.component.d.ts.map +1 -0
- package/dist/EntityAdmin/components/erd-diagram.component.js +618 -0
- package/dist/EntityAdmin/components/erd-diagram.component.js.map +1 -0
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +0 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +6 -7
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-application.d.ts +0 -5
- package/dist/Home/home-application.d.ts.map +1 -1
- package/dist/Home/home-application.js +0 -9
- package/dist/Home/home-application.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +0 -4
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +141 -139
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +0 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +761 -685
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.d.ts +0 -1
- package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +340 -316
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts +0 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +530 -482
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts +0 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js +508 -455
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
- package/dist/Lists/components/venn-diagram/venn-diagram.component.js +44 -39
- package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
- package/dist/Lists/index.d.ts +0 -1
- package/dist/Lists/index.d.ts.map +1 -1
- package/dist/Lists/index.js +0 -11
- package/dist/Lists/index.js.map +1 -1
- package/dist/MCP/components/mcp-connection-dialog.component.d.ts +68 -0
- package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-connection-dialog.component.js +523 -0
- package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +73 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.js +533 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -0
- package/dist/MCP/components/mcp-server-dialog.component.d.ts +76 -0
- package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-server-dialog.component.js +546 -0
- package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +267 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.js +1300 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -0
- package/dist/MCP/index.d.ts +11 -0
- package/dist/MCP/index.d.ts.map +1 -0
- package/dist/MCP/index.js +15 -0
- package/dist/MCP/index.js.map +1 -0
- package/dist/MCP/mcp-dashboard.component.d.ts +467 -0
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -0
- package/dist/MCP/mcp-dashboard.component.js +2765 -0
- package/dist/MCP/mcp-dashboard.component.js.map +1 -0
- package/dist/MCP/mcp-filter-panel.component.d.ts +54 -0
- package/dist/MCP/mcp-filter-panel.component.d.ts.map +1 -0
- package/dist/MCP/mcp-filter-panel.component.js +288 -0
- package/dist/MCP/mcp-filter-panel.component.js.map +1 -0
- package/dist/MCP/mcp-resource.component.d.ts +26 -0
- package/dist/MCP/mcp-resource.component.d.ts.map +1 -0
- package/dist/MCP/mcp-resource.component.js +54 -0
- package/dist/MCP/mcp-resource.component.js.map +1 -0
- package/dist/MCP/mcp.module.d.ts +24 -0
- package/dist/MCP/mcp.module.d.ts.map +1 -0
- package/dist/MCP/mcp.module.js +113 -0
- package/dist/MCP/mcp.module.js.map +1 -0
- package/dist/MCP/services/mcp-tools.service.d.ts +115 -0
- package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -0
- package/dist/MCP/services/mcp-tools.service.js +221 -0
- package/dist/MCP/services/mcp-tools.service.js.map +1 -0
- package/dist/QueryBrowser/query-browser-resource.component.d.ts +0 -1
- package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +79 -88
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/index.d.ts +5 -8
- package/dist/Scheduling/components/index.d.ts.map +1 -1
- package/dist/Scheduling/components/index.js +6 -9
- package/dist/Scheduling/components/index.js.map +1 -1
- package/dist/Scheduling/components/job-slideout.component.d.ts +45 -0
- package/dist/Scheduling/components/job-slideout.component.d.ts.map +1 -0
- package/dist/Scheduling/components/job-slideout.component.js +459 -0
- package/dist/Scheduling/components/job-slideout.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +15 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.js +45 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-activity.component.d.ts +71 -0
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-activity.component.js +714 -0
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.js +1 -1
- package/dist/Scheduling/components/scheduling-health.component.js +1 -1
- package/dist/Scheduling/components/scheduling-history-resource.component.js +1 -1
- package/dist/Scheduling/components/scheduling-history.component.js +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +3 -8
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +5 -15
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts +52 -34
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +452 -262
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-monitor-resource.component.js +1 -1
- package/dist/Scheduling/components/scheduling-monitoring.component.js +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +15 -0
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-overview-resource.component.js +45 -0
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-overview.component.d.ts +43 -0
- package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-overview.component.js +600 -0
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-types-resource.component.js +1 -1
- package/dist/Scheduling/components/scheduling-types.component.js +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +22 -33
- package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +173 -175
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +49 -6
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.js +218 -149
- package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +0 -4
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +1552 -1534
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/index.d.ts +7 -8
- package/dist/Testing/components/index.d.ts.map +1 -1
- package/dist/Testing/components/index.js +8 -9
- package/dist/Testing/components/index.js.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts +0 -4
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js +3 -9
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics.component.d.ts +52 -37
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js +1024 -570
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +16 -0
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +47 -0
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts +57 -0
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-dashboard-tab.component.js +649 -0
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -0
- package/dist/Testing/components/testing-execution-resource.component.js +1 -1
- package/dist/Testing/components/testing-execution.component.js +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts +16 -0
- package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-explorer-resource.component.js +47 -0
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-explorer.component.d.ts +193 -0
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-explorer.component.js +2219 -0
- package/dist/Testing/components/testing-explorer.component.js.map +1 -0
- package/dist/Testing/components/testing-feedback-resource.component.js +1 -1
- package/dist/Testing/components/testing-feedback.component.js +1 -1
- package/dist/Testing/components/testing-overview-resource.component.js +1 -1
- package/dist/Testing/components/testing-overview.component.js +1 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts +16 -0
- package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-review-resource.component.js +47 -0
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-review.component.d.ts +60 -0
- package/dist/Testing/components/testing-review.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-review.component.js +985 -0
- package/dist/Testing/components/testing-review.component.js.map +1 -0
- package/dist/Testing/components/testing-runs-resource.component.d.ts +16 -0
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-runs-resource.component.js +47 -0
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-runs.component.d.ts +82 -0
- package/dist/Testing/components/testing-runs.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-runs.component.js +1067 -0
- package/dist/Testing/components/testing-runs.component.js.map +1 -0
- package/dist/Testing/components/testing-version-comparison.component.js +1 -1
- package/dist/Testing/components/testing-version-resource.component.js +1 -1
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.d.ts.map +1 -1
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +73 -61
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
- package/dist/Testing/components/widgets/suite-tree.component.d.ts.map +1 -1
- package/dist/Testing/components/widgets/suite-tree.component.js +34 -31
- package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
- package/dist/Testing/components/widgets/test-run-detail-panel.component.d.ts.map +1 -1
- package/dist/Testing/components/widgets/test-run-detail-panel.component.js +180 -171
- package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.d.ts +12 -16
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +51 -72
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.d.ts +119 -0
- package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -0
- package/dist/VersionHistory/components/diff-resource.component.js +1162 -0
- package/dist/VersionHistory/components/diff-resource.component.js.map +1 -0
- package/dist/VersionHistory/components/graph-resource.component.d.ts +67 -0
- package/dist/VersionHistory/components/graph-resource.component.d.ts.map +1 -0
- package/dist/VersionHistory/components/graph-resource.component.js +521 -0
- package/dist/VersionHistory/components/graph-resource.component.js.map +1 -0
- package/dist/VersionHistory/components/index.d.ts +5 -0
- package/dist/VersionHistory/components/index.d.ts.map +1 -0
- package/dist/VersionHistory/components/index.js +5 -0
- package/dist/VersionHistory/components/index.js.map +1 -0
- package/dist/VersionHistory/components/labels-resource.component.d.ts +89 -0
- package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -0
- package/dist/VersionHistory/components/labels-resource.component.js +968 -0
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -0
- package/dist/VersionHistory/components/restore-resource.component.d.ts +40 -0
- package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -0
- package/dist/VersionHistory/components/restore-resource.component.js +472 -0
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -0
- package/dist/VersionHistory/index.d.ts +2 -0
- package/dist/VersionHistory/index.d.ts.map +1 -0
- package/dist/VersionHistory/index.js +2 -0
- package/dist/VersionHistory/index.js.map +1 -0
- package/dist/generic/base-dashboard.d.ts +65 -0
- package/dist/generic/base-dashboard.d.ts.map +1 -0
- package/dist/generic/base-dashboard.js +74 -0
- package/dist/generic/base-dashboard.js.map +1 -0
- package/dist/module.d.ts +127 -104
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +221 -95
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +22 -19
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +28 -119
- package/dist/public-api.js.map +1 -1
- package/dist/shared/pipes/highlight-search.pipe.d.ts +17 -0
- package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -0
- package/dist/shared/pipes/highlight-search.pipe.js +41 -0
- package/dist/shared/pipes/highlight-search.pipe.js.map +1 -0
- package/dist/shared/pipes/index.d.ts +2 -0
- package/dist/shared/pipes/index.d.ts.map +1 -0
- package/dist/shared/pipes/index.js +2 -0
- package/dist/shared/pipes/index.js.map +1 -0
- package/dist/shared/shared-pipes.module.d.ts +11 -0
- package/dist/shared/shared-pipes.module.d.ts.map +1 -0
- package/dist/shared/shared-pipes.module.js +24 -0
- package/dist/shared/shared-pipes.module.js.map +1 -0
- package/package.json +65 -56
|
@@ -18,15 +18,15 @@ import * as i5 from "@angular/forms";
|
|
|
18
18
|
import * as i6 from "@memberjunction/ng-shared-generic";
|
|
19
19
|
const _c0 = a0 => ({ node: a0, depth: 0 });
|
|
20
20
|
const _c1 = (a0, a1) => ({ node: a0, depth: a1 });
|
|
21
|
-
function
|
|
21
|
+
function ListsBrowseResource_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
22
22
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
23
23
|
i0.ɵɵelementStart(0, "button", 36);
|
|
24
|
-
i0.ɵɵlistener("click", function
|
|
24
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_15_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearSearch()); });
|
|
25
25
|
i0.ɵɵelement(1, "i", 37);
|
|
26
26
|
i0.ɵɵelementEnd();
|
|
27
27
|
} }
|
|
28
|
-
function
|
|
29
|
-
i0.ɵɵelementStart(0, "option",
|
|
28
|
+
function ListsBrowseResource_For_19_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
+
i0.ɵɵelementStart(0, "option", 16);
|
|
30
30
|
i0.ɵɵtext(1);
|
|
31
31
|
i0.ɵɵelementEnd();
|
|
32
32
|
} if (rf & 2) {
|
|
@@ -35,8 +35,8 @@ function ListsBrowseResource_option_18_Template(rf, ctx) { if (rf & 1) {
|
|
|
35
35
|
i0.ɵɵadvance();
|
|
36
36
|
i0.ɵɵtextInterpolate(opt_r4.name);
|
|
37
37
|
} }
|
|
38
|
-
function
|
|
39
|
-
i0.ɵɵelementStart(0, "option",
|
|
38
|
+
function ListsBrowseResource_For_23_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
+
i0.ɵɵelementStart(0, "option", 16);
|
|
40
40
|
i0.ɵɵtext(1);
|
|
41
41
|
i0.ɵɵelementEnd();
|
|
42
42
|
} if (rf & 2) {
|
|
@@ -45,15 +45,15 @@ function ListsBrowseResource_option_21_Template(rf, ctx) { if (rf & 1) {
|
|
|
45
45
|
i0.ɵɵadvance();
|
|
46
46
|
i0.ɵɵtextInterpolate(opt_r5.name);
|
|
47
47
|
} }
|
|
48
|
-
function
|
|
49
|
-
i0.ɵɵelementStart(0, "div",
|
|
50
|
-
i0.ɵɵelement(1, "mj-loading",
|
|
48
|
+
function ListsBrowseResource_Conditional_31_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
+
i0.ɵɵelementStart(0, "div", 25);
|
|
50
|
+
i0.ɵɵelement(1, "mj-loading", 38);
|
|
51
51
|
i0.ɵɵelementEnd();
|
|
52
52
|
} }
|
|
53
|
-
function
|
|
53
|
+
function ListsBrowseResource_Conditional_32_Template(rf, ctx) { if (rf & 1) {
|
|
54
54
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
55
|
-
i0.ɵɵelementStart(0, "div",
|
|
56
|
-
i0.ɵɵelement(2, "div",
|
|
55
|
+
i0.ɵɵelementStart(0, "div", 26)(1, "div", 39);
|
|
56
|
+
i0.ɵɵelement(2, "div", 40)(3, "i", 6);
|
|
57
57
|
i0.ɵɵelementEnd();
|
|
58
58
|
i0.ɵɵelementStart(4, "h3");
|
|
59
59
|
i0.ɵɵtext(5, "No Lists Yet");
|
|
@@ -61,31 +61,31 @@ function ListsBrowseResource_div_30_Template(rf, ctx) { if (rf & 1) {
|
|
|
61
61
|
i0.ɵɵelementStart(6, "p");
|
|
62
62
|
i0.ɵɵtext(7, "Lists help you organize and track groups of records across your data.");
|
|
63
63
|
i0.ɵɵelementEnd();
|
|
64
|
-
i0.ɵɵelementStart(8, "div",
|
|
65
|
-
i0.ɵɵelement(10, "i",
|
|
64
|
+
i0.ɵɵelementStart(8, "div", 41)(9, "div", 42);
|
|
65
|
+
i0.ɵɵelement(10, "i", 43);
|
|
66
66
|
i0.ɵɵelementStart(11, "span");
|
|
67
67
|
i0.ɵɵtext(12, "Group records from any entity");
|
|
68
68
|
i0.ɵɵelementEnd()();
|
|
69
|
-
i0.ɵɵelementStart(13, "div",
|
|
70
|
-
i0.ɵɵelement(14, "i",
|
|
69
|
+
i0.ɵɵelementStart(13, "div", 42);
|
|
70
|
+
i0.ɵɵelement(14, "i", 43);
|
|
71
71
|
i0.ɵɵelementStart(15, "span");
|
|
72
72
|
i0.ɵɵtext(16, "Organize with categories");
|
|
73
73
|
i0.ɵɵelementEnd()();
|
|
74
|
-
i0.ɵɵelementStart(17, "div",
|
|
75
|
-
i0.ɵɵelement(18, "i",
|
|
74
|
+
i0.ɵɵelementStart(17, "div", 42);
|
|
75
|
+
i0.ɵɵelement(18, "i", 43);
|
|
76
76
|
i0.ɵɵelementStart(19, "span");
|
|
77
77
|
i0.ɵɵtext(20, "Quick access from any view");
|
|
78
78
|
i0.ɵɵelementEnd()()();
|
|
79
|
-
i0.ɵɵelementStart(21, "button",
|
|
80
|
-
i0.ɵɵlistener("click", function
|
|
79
|
+
i0.ɵɵelementStart(21, "button", 44);
|
|
80
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_32_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createNewList()); });
|
|
81
81
|
i0.ɵɵelement(22, "i", 8);
|
|
82
82
|
i0.ɵɵtext(23, " Create Your First List ");
|
|
83
83
|
i0.ɵɵelementEnd()();
|
|
84
84
|
} }
|
|
85
|
-
function
|
|
85
|
+
function ListsBrowseResource_Conditional_33_Template(rf, ctx) { if (rf & 1) {
|
|
86
86
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
87
|
-
i0.ɵɵelementStart(0, "div",
|
|
88
|
-
i0.ɵɵelement(2, "i",
|
|
87
|
+
i0.ɵɵelementStart(0, "div", 27)(1, "div", 45);
|
|
88
|
+
i0.ɵɵelement(2, "i", 46);
|
|
89
89
|
i0.ɵɵelementEnd();
|
|
90
90
|
i0.ɵɵelementStart(3, "h3");
|
|
91
91
|
i0.ɵɵtext(4, "No Results Found");
|
|
@@ -93,16 +93,16 @@ function ListsBrowseResource_div_31_Template(rf, ctx) { if (rf & 1) {
|
|
|
93
93
|
i0.ɵɵelementStart(5, "p");
|
|
94
94
|
i0.ɵɵtext(6, "No lists match your current filters.");
|
|
95
95
|
i0.ɵɵelementEnd();
|
|
96
|
-
i0.ɵɵelementStart(7, "p",
|
|
96
|
+
i0.ɵɵelementStart(7, "p", 47);
|
|
97
97
|
i0.ɵɵtext(8, "Try adjusting your search or filters.");
|
|
98
98
|
i0.ɵɵelementEnd();
|
|
99
|
-
i0.ɵɵelementStart(9, "button",
|
|
100
|
-
i0.ɵɵlistener("click", function
|
|
99
|
+
i0.ɵɵelementStart(9, "button", 48);
|
|
100
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_33_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearFilters()); });
|
|
101
101
|
i0.ɵɵtext(10, "Clear All Filters");
|
|
102
102
|
i0.ɵɵelementEnd()();
|
|
103
103
|
} }
|
|
104
|
-
function
|
|
105
|
-
i0.ɵɵelementStart(0, "option",
|
|
104
|
+
function ListsBrowseResource_Conditional_34_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
+
i0.ɵɵelementStart(0, "option", 16);
|
|
106
106
|
i0.ɵɵtext(1);
|
|
107
107
|
i0.ɵɵelementEnd();
|
|
108
108
|
} if (rf & 2) {
|
|
@@ -111,8 +111,8 @@ function ListsBrowseResource_div_32_option_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
111
111
|
i0.ɵɵadvance();
|
|
112
112
|
i0.ɵɵtextInterpolate(opt_r9.name);
|
|
113
113
|
} }
|
|
114
|
-
function
|
|
115
|
-
i0.ɵɵelementStart(0, "span",
|
|
114
|
+
function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
115
|
+
i0.ɵɵelementStart(0, "span", 72);
|
|
116
116
|
i0.ɵɵtext(1);
|
|
117
117
|
i0.ɵɵelementEnd();
|
|
118
118
|
} if (rf & 2) {
|
|
@@ -120,76 +120,76 @@ function ListsBrowseResource_div_32_div_9_tr_20_span_8_Template(rf, ctx) { if (r
|
|
|
120
120
|
i0.ɵɵadvance();
|
|
121
121
|
i0.ɵɵtextInterpolate(item_r11.list.Description);
|
|
122
122
|
} }
|
|
123
|
-
function
|
|
124
|
-
i0.ɵɵelementStart(0, "span",
|
|
125
|
-
i0.ɵɵelement(1, "i",
|
|
126
|
-
i0.ɵɵelementStart(2, "span",
|
|
123
|
+
function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
124
|
+
i0.ɵɵelementStart(0, "span", 83);
|
|
125
|
+
i0.ɵɵelement(1, "i", 84);
|
|
126
|
+
i0.ɵɵelementStart(2, "span", 85);
|
|
127
127
|
i0.ɵɵtext(3);
|
|
128
128
|
i0.ɵɵelementEnd()();
|
|
129
129
|
} if (rf & 2) {
|
|
130
|
-
const sharing_r12 = i0.ɵɵnextContext()
|
|
130
|
+
const sharing_r12 = i0.ɵɵnextContext();
|
|
131
131
|
i0.ɵɵadvance(3);
|
|
132
132
|
i0.ɵɵtextInterpolate(sharing_r12.totalShares);
|
|
133
133
|
} }
|
|
134
|
-
function
|
|
135
|
-
i0.ɵɵelementStart(0, "span",
|
|
136
|
-
i0.ɵɵelement(1, "i",
|
|
134
|
+
function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
135
|
+
i0.ɵɵelementStart(0, "span", 77);
|
|
136
|
+
i0.ɵɵelement(1, "i", 86);
|
|
137
137
|
i0.ɵɵelementEnd();
|
|
138
138
|
} }
|
|
139
|
-
function
|
|
140
|
-
i0.ɵɵ
|
|
141
|
-
i0.ɵɵ
|
|
142
|
-
i0.ɵɵelementContainerEnd();
|
|
139
|
+
function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
140
|
+
i0.ɵɵconditionalCreate(0, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Conditional_0_Template, 4, 1, "span", 83);
|
|
141
|
+
i0.ɵɵconditionalCreate(1, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Conditional_1_Template, 2, 0, "span", 77);
|
|
143
142
|
} if (rf & 2) {
|
|
144
|
-
const sharing_r12 = ctx
|
|
143
|
+
const sharing_r12 = ctx;
|
|
144
|
+
i0.ɵɵconditional(sharing_r12.totalShares > 0 ? 0 : -1);
|
|
145
145
|
i0.ɵɵadvance();
|
|
146
|
-
i0.ɵɵ
|
|
147
|
-
i0.ɵɵadvance();
|
|
148
|
-
i0.ɵɵproperty("ngIf", sharing_r12.totalShares === 0);
|
|
146
|
+
i0.ɵɵconditional(sharing_r12.totalShares === 0 ? 1 : -1);
|
|
149
147
|
} }
|
|
150
|
-
function
|
|
151
|
-
i0.ɵɵelementStart(0, "span",
|
|
152
|
-
i0.ɵɵelement(1, "i",
|
|
148
|
+
function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
149
|
+
i0.ɵɵelementStart(0, "span", 77);
|
|
150
|
+
i0.ɵɵelement(1, "i", 86);
|
|
153
151
|
i0.ɵɵelementEnd();
|
|
154
152
|
} }
|
|
155
|
-
function
|
|
153
|
+
function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
156
154
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
157
|
-
i0.ɵɵelementStart(0, "button",
|
|
158
|
-
i0.ɵɵlistener("click", function
|
|
159
|
-
i0.ɵɵelement(1, "i",
|
|
155
|
+
i0.ɵɵelementStart(0, "button", 87);
|
|
156
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_23_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r13); const item_r11 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r11)); });
|
|
157
|
+
i0.ɵɵelement(1, "i", 88);
|
|
160
158
|
i0.ɵɵelementEnd();
|
|
161
159
|
} }
|
|
162
|
-
function
|
|
160
|
+
function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Template(rf, ctx) { if (rf & 1) {
|
|
163
161
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
164
|
-
i0.ɵɵelementStart(0, "tr",
|
|
165
|
-
i0.ɵɵlistener("click", function
|
|
166
|
-
i0.ɵɵelementStart(1, "td",
|
|
162
|
+
i0.ɵɵelementStart(0, "tr", 66);
|
|
163
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_34_Conditional_10_For_21_Template_tr_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_34_Conditional_10_For_21_Template_tr_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)); });
|
|
164
|
+
i0.ɵɵelementStart(1, "td", 67)(2, "div", 68)(3, "div", 69);
|
|
167
165
|
i0.ɵɵelement(4, "i");
|
|
168
166
|
i0.ɵɵelementEnd();
|
|
169
|
-
i0.ɵɵelementStart(5, "div",
|
|
167
|
+
i0.ɵɵelementStart(5, "div", 70)(6, "span", 71);
|
|
170
168
|
i0.ɵɵtext(7);
|
|
171
169
|
i0.ɵɵelementEnd();
|
|
172
|
-
i0.ɵɵ
|
|
170
|
+
i0.ɵɵconditionalCreate(8, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_8_Template, 2, 1, "span", 72);
|
|
173
171
|
i0.ɵɵelementEnd()()();
|
|
174
|
-
i0.ɵɵelementStart(9, "td",
|
|
172
|
+
i0.ɵɵelementStart(9, "td", 73)(10, "span", 74);
|
|
175
173
|
i0.ɵɵtext(11);
|
|
176
174
|
i0.ɵɵelementEnd()();
|
|
177
|
-
i0.ɵɵelementStart(12, "td",
|
|
175
|
+
i0.ɵɵelementStart(12, "td", 75);
|
|
178
176
|
i0.ɵɵtext(13);
|
|
179
177
|
i0.ɵɵelementEnd();
|
|
180
|
-
i0.ɵɵelementStart(14, "td",
|
|
181
|
-
i0.ɵɵ
|
|
178
|
+
i0.ɵɵelementStart(14, "td", 76);
|
|
179
|
+
i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_15_Template, 2, 2);
|
|
180
|
+
i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_16_Template, 2, 0, "span", 77);
|
|
182
181
|
i0.ɵɵelementEnd();
|
|
183
|
-
i0.ɵɵelementStart(17, "td",
|
|
182
|
+
i0.ɵɵelementStart(17, "td", 78)(18, "span", 79);
|
|
184
183
|
i0.ɵɵtext(19);
|
|
185
184
|
i0.ɵɵelementEnd()();
|
|
186
|
-
i0.ɵɵelementStart(20, "td",
|
|
185
|
+
i0.ɵɵelementStart(20, "td", 80);
|
|
187
186
|
i0.ɵɵtext(21);
|
|
188
187
|
i0.ɵɵelementEnd();
|
|
189
|
-
i0.ɵɵelementStart(22, "td",
|
|
190
|
-
i0.ɵɵ
|
|
188
|
+
i0.ɵɵelementStart(22, "td", 81);
|
|
189
|
+
i0.ɵɵconditionalCreate(23, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Conditional_23_Template, 2, 0, "button", 82);
|
|
191
190
|
i0.ɵɵelementEnd()();
|
|
192
191
|
} if (rf & 2) {
|
|
192
|
+
let tmp_19_0;
|
|
193
193
|
const item_r11 = ctx.$implicit;
|
|
194
194
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
195
195
|
i0.ɵɵadvance(3);
|
|
@@ -199,15 +199,15 @@ function ListsBrowseResource_div_32_div_9_tr_20_Template(rf, ctx) { if (rf & 1)
|
|
|
199
199
|
i0.ɵɵadvance(3);
|
|
200
200
|
i0.ɵɵtextInterpolate(item_r11.list.Name);
|
|
201
201
|
i0.ɵɵadvance();
|
|
202
|
-
i0.ɵɵ
|
|
202
|
+
i0.ɵɵconditional(item_r11.list.Description ? 8 : -1);
|
|
203
203
|
i0.ɵɵadvance(3);
|
|
204
204
|
i0.ɵɵtextInterpolate(item_r11.entityName);
|
|
205
205
|
i0.ɵɵadvance(2);
|
|
206
206
|
i0.ɵɵtextInterpolate(item_r11.itemCount);
|
|
207
207
|
i0.ɵɵadvance(2);
|
|
208
|
-
i0.ɵɵ
|
|
208
|
+
i0.ɵɵconditional((tmp_19_0 = item_r11.sharingInfo) ? 15 : -1, tmp_19_0);
|
|
209
209
|
i0.ɵɵadvance();
|
|
210
|
-
i0.ɵɵ
|
|
210
|
+
i0.ɵɵconditional(!item_r11.sharingInfo ? 16 : -1);
|
|
211
211
|
i0.ɵɵadvance(2);
|
|
212
212
|
i0.ɵɵclassProp("is-me", item_r11.isOwner);
|
|
213
213
|
i0.ɵɵadvance();
|
|
@@ -215,47 +215,47 @@ function ListsBrowseResource_div_32_div_9_tr_20_Template(rf, ctx) { if (rf & 1)
|
|
|
215
215
|
i0.ɵɵadvance(2);
|
|
216
216
|
i0.ɵɵtextInterpolate(ctx_r2.formatDate(item_r11.list.__mj_UpdatedAt));
|
|
217
217
|
i0.ɵɵadvance(2);
|
|
218
|
-
i0.ɵɵ
|
|
218
|
+
i0.ɵɵconditional(item_r11.isOwner ? 23 : -1);
|
|
219
219
|
} }
|
|
220
|
-
function
|
|
221
|
-
i0.ɵɵelementStart(0, "div",
|
|
220
|
+
function ListsBrowseResource_Conditional_34_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
221
|
+
i0.ɵɵelementStart(0, "div", 53)(1, "table", 56)(2, "thead")(3, "tr")(4, "th", 57);
|
|
222
222
|
i0.ɵɵtext(5, "Name");
|
|
223
223
|
i0.ɵɵelementEnd();
|
|
224
|
-
i0.ɵɵelementStart(6, "th",
|
|
224
|
+
i0.ɵɵelementStart(6, "th", 58);
|
|
225
225
|
i0.ɵɵtext(7, "Entity");
|
|
226
226
|
i0.ɵɵelementEnd();
|
|
227
|
-
i0.ɵɵelementStart(8, "th",
|
|
227
|
+
i0.ɵɵelementStart(8, "th", 59);
|
|
228
228
|
i0.ɵɵtext(9, "Items");
|
|
229
229
|
i0.ɵɵelementEnd();
|
|
230
|
-
i0.ɵɵelementStart(10, "th",
|
|
230
|
+
i0.ɵɵelementStart(10, "th", 60);
|
|
231
231
|
i0.ɵɵtext(11, "Shared");
|
|
232
232
|
i0.ɵɵelementEnd();
|
|
233
|
-
i0.ɵɵelementStart(12, "th",
|
|
233
|
+
i0.ɵɵelementStart(12, "th", 61);
|
|
234
234
|
i0.ɵɵtext(13, "Owner");
|
|
235
235
|
i0.ɵɵelementEnd();
|
|
236
|
-
i0.ɵɵelementStart(14, "th",
|
|
236
|
+
i0.ɵɵelementStart(14, "th", 62);
|
|
237
237
|
i0.ɵɵtext(15, "Updated");
|
|
238
238
|
i0.ɵɵelementEnd();
|
|
239
|
-
i0.ɵɵelementStart(16, "th",
|
|
239
|
+
i0.ɵɵelementStart(16, "th", 63)(17, "span", 64);
|
|
240
240
|
i0.ɵɵtext(18, "Actions");
|
|
241
241
|
i0.ɵɵelementEnd()()()();
|
|
242
242
|
i0.ɵɵelementStart(19, "tbody");
|
|
243
|
-
i0.ɵɵ
|
|
243
|
+
i0.ɵɵrepeaterCreate(20, ListsBrowseResource_Conditional_34_Conditional_10_For_21_Template, 24, 15, "tr", 65, i0.ɵɵrepeaterTrackByIdentity);
|
|
244
244
|
i0.ɵɵelementEnd()()();
|
|
245
245
|
} if (rf & 2) {
|
|
246
246
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
247
247
|
i0.ɵɵadvance(20);
|
|
248
|
-
i0.ɵɵ
|
|
248
|
+
i0.ɵɵrepeater(ctx_r2.filteredLists);
|
|
249
249
|
} }
|
|
250
|
-
function
|
|
250
|
+
function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
251
251
|
const _r16 = i0.ɵɵgetCurrentView();
|
|
252
|
-
i0.ɵɵelementStart(0, "div",
|
|
253
|
-
i0.ɵɵlistener("click", function
|
|
254
|
-
i0.ɵɵelement(2, "i",
|
|
252
|
+
i0.ɵɵelementStart(0, "div", 93)(1, "button", 106);
|
|
253
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_4_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r16); const item_r15 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r15)); });
|
|
254
|
+
i0.ɵɵelement(2, "i", 88);
|
|
255
255
|
i0.ɵɵelementEnd()();
|
|
256
256
|
} }
|
|
257
|
-
function
|
|
258
|
-
i0.ɵɵelementStart(0, "p",
|
|
257
|
+
function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
258
|
+
i0.ɵɵelementStart(0, "p", 96);
|
|
259
259
|
i0.ɵɵtext(1);
|
|
260
260
|
i0.ɵɵelementEnd();
|
|
261
261
|
} if (rf & 2) {
|
|
@@ -263,54 +263,51 @@ function ListsBrowseResource_div_32_div_10_div_1_p_8_Template(rf, ctx) { if (rf
|
|
|
263
263
|
i0.ɵɵadvance();
|
|
264
264
|
i0.ɵɵtextInterpolate(item_r15.list.Description);
|
|
265
265
|
} }
|
|
266
|
-
function
|
|
267
|
-
i0.ɵɵelementStart(0, "span",
|
|
268
|
-
i0.ɵɵelement(1, "i",
|
|
266
|
+
function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_21_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
267
|
+
i0.ɵɵelementStart(0, "span", 107);
|
|
268
|
+
i0.ɵɵelement(1, "i", 84);
|
|
269
269
|
i0.ɵɵelementEnd();
|
|
270
270
|
} if (rf & 2) {
|
|
271
|
-
const sharing_r17 = i0.ɵɵnextContext()
|
|
271
|
+
const sharing_r17 = i0.ɵɵnextContext();
|
|
272
272
|
i0.ɵɵproperty("title", "Shared with " + sharing_r17.totalShares + " user(s)/role(s)");
|
|
273
273
|
} }
|
|
274
|
-
function
|
|
275
|
-
i0.ɵɵ
|
|
276
|
-
i0.ɵɵtemplate(1, ListsBrowseResource_div_32_div_10_div_1_ng_container_21_span_1_Template, 2, 1, "span", 120);
|
|
277
|
-
i0.ɵɵelementContainerEnd();
|
|
274
|
+
function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
275
|
+
i0.ɵɵconditionalCreate(0, ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_21_Conditional_0_Template, 2, 1, "span", 107);
|
|
278
276
|
} if (rf & 2) {
|
|
279
|
-
|
|
280
|
-
i0.ɵɵadvance();
|
|
281
|
-
i0.ɵɵproperty("ngIf", sharing_r17.totalShares > 0);
|
|
277
|
+
i0.ɵɵconditional(ctx.totalShares > 0 ? 0 : -1);
|
|
282
278
|
} }
|
|
283
|
-
function
|
|
279
|
+
function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
284
280
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
285
|
-
i0.ɵɵelementStart(0, "div",
|
|
286
|
-
i0.ɵɵlistener("click", function
|
|
287
|
-
i0.ɵɵelementStart(1, "div",
|
|
281
|
+
i0.ɵɵelementStart(0, "div", 90);
|
|
282
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Template_div_click_0_listener() { const item_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r15)); })("keydown.enter", function ListsBrowseResource_Conditional_34_Conditional_11_For_2_Template_div_keydown_enter_0_listener() { const item_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r15)); });
|
|
283
|
+
i0.ɵɵelementStart(1, "div", 91)(2, "div", 92);
|
|
288
284
|
i0.ɵɵelement(3, "i");
|
|
289
285
|
i0.ɵɵelementEnd();
|
|
290
|
-
i0.ɵɵ
|
|
286
|
+
i0.ɵɵconditionalCreate(4, ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_4_Template, 3, 0, "div", 93);
|
|
291
287
|
i0.ɵɵelementEnd();
|
|
292
|
-
i0.ɵɵelementStart(5, "div",
|
|
288
|
+
i0.ɵɵelementStart(5, "div", 94)(6, "h3", 95);
|
|
293
289
|
i0.ɵɵtext(7);
|
|
294
290
|
i0.ɵɵelementEnd();
|
|
295
|
-
i0.ɵɵ
|
|
296
|
-
i0.ɵɵelementStart(9, "div",
|
|
297
|
-
i0.ɵɵelement(11, "i",
|
|
291
|
+
i0.ɵɵconditionalCreate(8, ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_8_Template, 2, 1, "p", 96);
|
|
292
|
+
i0.ɵɵelementStart(9, "div", 97)(10, "span", 98);
|
|
293
|
+
i0.ɵɵelement(11, "i", 99);
|
|
298
294
|
i0.ɵɵtext(12);
|
|
299
295
|
i0.ɵɵelementEnd();
|
|
300
|
-
i0.ɵɵelementStart(13, "span",
|
|
301
|
-
i0.ɵɵelement(14, "i",
|
|
296
|
+
i0.ɵɵelementStart(13, "span", 98);
|
|
297
|
+
i0.ɵɵelement(14, "i", 100);
|
|
302
298
|
i0.ɵɵtext(15);
|
|
303
299
|
i0.ɵɵelementEnd()()();
|
|
304
|
-
i0.ɵɵelementStart(16, "div",
|
|
305
|
-
i0.ɵɵelement(18, "i",
|
|
300
|
+
i0.ɵɵelementStart(16, "div", 101)(17, "span", 102);
|
|
301
|
+
i0.ɵɵelement(18, "i", 103);
|
|
306
302
|
i0.ɵɵtext(19);
|
|
307
303
|
i0.ɵɵelementEnd();
|
|
308
|
-
i0.ɵɵelementStart(20, "div",
|
|
309
|
-
i0.ɵɵ
|
|
310
|
-
i0.ɵɵelementStart(22, "span",
|
|
304
|
+
i0.ɵɵelementStart(20, "div", 104);
|
|
305
|
+
i0.ɵɵconditionalCreate(21, ListsBrowseResource_Conditional_34_Conditional_11_For_2_Conditional_21_Template, 1, 1);
|
|
306
|
+
i0.ɵɵelementStart(22, "span", 105);
|
|
311
307
|
i0.ɵɵtext(23);
|
|
312
308
|
i0.ɵɵelementEnd()()()();
|
|
313
309
|
} if (rf & 2) {
|
|
310
|
+
let tmp_22_0;
|
|
314
311
|
const item_r15 = ctx.$implicit;
|
|
315
312
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
316
313
|
i0.ɵɵadvance(2);
|
|
@@ -318,11 +315,11 @@ function ListsBrowseResource_div_32_div_10_div_1_Template(rf, ctx) { if (rf & 1)
|
|
|
318
315
|
i0.ɵɵadvance();
|
|
319
316
|
i0.ɵɵclassMap(ctx_r2.getEntityIcon(item_r15.entityName));
|
|
320
317
|
i0.ɵɵadvance();
|
|
321
|
-
i0.ɵɵ
|
|
318
|
+
i0.ɵɵconditional(item_r15.isOwner ? 4 : -1);
|
|
322
319
|
i0.ɵɵadvance(3);
|
|
323
320
|
i0.ɵɵtextInterpolate(item_r15.list.Name);
|
|
324
321
|
i0.ɵɵadvance();
|
|
325
|
-
i0.ɵɵ
|
|
322
|
+
i0.ɵɵconditional(item_r15.list.Description ? 8 : -1);
|
|
326
323
|
i0.ɵɵadvance(4);
|
|
327
324
|
i0.ɵɵtextInterpolate1(" ", item_r15.entityName, " ");
|
|
328
325
|
i0.ɵɵadvance(3);
|
|
@@ -332,81 +329,80 @@ function ListsBrowseResource_div_32_div_10_div_1_Template(rf, ctx) { if (rf & 1)
|
|
|
332
329
|
i0.ɵɵadvance(2);
|
|
333
330
|
i0.ɵɵtextInterpolate1(" ", item_r15.isOwner ? "You" : item_r15.ownerName, " ");
|
|
334
331
|
i0.ɵɵadvance(2);
|
|
335
|
-
i0.ɵɵ
|
|
332
|
+
i0.ɵɵconditional((tmp_22_0 = item_r15.sharingInfo) ? 21 : -1, tmp_22_0);
|
|
336
333
|
i0.ɵɵadvance(2);
|
|
337
334
|
i0.ɵɵtextInterpolate(ctx_r2.formatDate(item_r15.list.__mj_UpdatedAt));
|
|
338
335
|
} }
|
|
339
|
-
function
|
|
340
|
-
i0.ɵɵelementStart(0, "div",
|
|
341
|
-
i0.ɵɵ
|
|
336
|
+
function ListsBrowseResource_Conditional_34_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
337
|
+
i0.ɵɵelementStart(0, "div", 54);
|
|
338
|
+
i0.ɵɵrepeaterCreate(1, ListsBrowseResource_Conditional_34_Conditional_11_For_2_Template, 24, 15, "div", 89, i0.ɵɵrepeaterTrackByIdentity);
|
|
342
339
|
i0.ɵɵelementEnd();
|
|
343
340
|
} if (rf & 2) {
|
|
344
341
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
345
342
|
i0.ɵɵadvance();
|
|
346
|
-
i0.ɵɵ
|
|
343
|
+
i0.ɵɵrepeater(ctx_r2.filteredLists);
|
|
347
344
|
} }
|
|
348
|
-
function
|
|
345
|
+
function ListsBrowseResource_Conditional_34_Conditional_12_For_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
349
346
|
i0.ɵɵelementContainer(0);
|
|
350
347
|
} }
|
|
351
|
-
function
|
|
352
|
-
i0.ɵɵ
|
|
353
|
-
i0.ɵɵtemplate(1, ListsBrowseResource_div_32_div_11_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 124);
|
|
354
|
-
i0.ɵɵelementContainerEnd();
|
|
348
|
+
function ListsBrowseResource_Conditional_34_Conditional_12_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
349
|
+
i0.ɵɵtemplate(0, ListsBrowseResource_Conditional_34_Conditional_12_For_2_ng_container_0_Template, 1, 0, "ng-container", 108);
|
|
355
350
|
} if (rf & 2) {
|
|
356
351
|
const node_r18 = ctx.$implicit;
|
|
357
352
|
i0.ɵɵnextContext(3);
|
|
358
|
-
const categoryNodeTemplate_r19 = i0.ɵɵreference(
|
|
359
|
-
i0.ɵɵadvance();
|
|
353
|
+
const categoryNodeTemplate_r19 = i0.ɵɵreference(36);
|
|
360
354
|
i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r19)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, node_r18));
|
|
361
355
|
} }
|
|
362
|
-
function
|
|
363
|
-
i0.ɵɵelementStart(0, "div",
|
|
364
|
-
i0.ɵɵ
|
|
356
|
+
function ListsBrowseResource_Conditional_34_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
357
|
+
i0.ɵɵelementStart(0, "div", 55);
|
|
358
|
+
i0.ɵɵrepeaterCreate(1, ListsBrowseResource_Conditional_34_Conditional_12_For_2_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
365
359
|
i0.ɵɵelementEnd();
|
|
366
360
|
} if (rf & 2) {
|
|
367
361
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
368
362
|
i0.ɵɵadvance();
|
|
369
|
-
i0.ɵɵ
|
|
363
|
+
i0.ɵɵrepeater(ctx_r2.categoryTree);
|
|
370
364
|
} }
|
|
371
|
-
function
|
|
365
|
+
function ListsBrowseResource_Conditional_34_Template(rf, ctx) { if (rf & 1) {
|
|
372
366
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
373
|
-
i0.ɵɵelementStart(0, "div",
|
|
367
|
+
i0.ɵɵelementStart(0, "div", 28)(1, "div", 49)(2, "span", 50);
|
|
374
368
|
i0.ɵɵtext(3);
|
|
375
369
|
i0.ɵɵelementEnd();
|
|
376
|
-
i0.ɵɵelementStart(4, "div",
|
|
370
|
+
i0.ɵɵelementStart(4, "div", 51)(5, "label");
|
|
377
371
|
i0.ɵɵtext(6, "Sort:");
|
|
378
372
|
i0.ɵɵelementEnd();
|
|
379
|
-
i0.ɵɵelementStart(7, "select",
|
|
380
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
381
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
382
|
-
i0.ɵɵ
|
|
373
|
+
i0.ɵɵelementStart(7, "select", 52);
|
|
374
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_34_Template_select_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedSort, $event) || (ctx_r2.selectedSort = $event); return i0.ɵɵresetView($event); });
|
|
375
|
+
i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Conditional_34_Template_select_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSortChange($event)); });
|
|
376
|
+
i0.ɵɵrepeaterCreate(8, ListsBrowseResource_Conditional_34_For_9_Template, 2, 2, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
|
|
383
377
|
i0.ɵɵelementEnd()()();
|
|
384
|
-
i0.ɵɵ
|
|
378
|
+
i0.ɵɵconditionalCreate(10, ListsBrowseResource_Conditional_34_Conditional_10_Template, 22, 0, "div", 53);
|
|
379
|
+
i0.ɵɵconditionalCreate(11, ListsBrowseResource_Conditional_34_Conditional_11_Template, 3, 0, "div", 54);
|
|
380
|
+
i0.ɵɵconditionalCreate(12, ListsBrowseResource_Conditional_34_Conditional_12_Template, 3, 0, "div", 55);
|
|
385
381
|
i0.ɵɵelementEnd();
|
|
386
382
|
} if (rf & 2) {
|
|
387
383
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
388
384
|
i0.ɵɵadvance(3);
|
|
389
|
-
i0.ɵɵtextInterpolate2("", ctx_r2.filteredLists.length, " list", ctx_r2.filteredLists.length !== 1 ? "s" : ""
|
|
385
|
+
i0.ɵɵtextInterpolate2("", ctx_r2.filteredLists.length, " list", ctx_r2.filteredLists.length !== 1 ? "s" : "");
|
|
390
386
|
i0.ɵɵadvance(4);
|
|
391
387
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.selectedSort);
|
|
392
388
|
i0.ɵɵadvance();
|
|
393
|
-
i0.ɵɵ
|
|
394
|
-
i0.ɵɵadvance();
|
|
395
|
-
i0.ɵɵ
|
|
389
|
+
i0.ɵɵrepeater(ctx_r2.sortOptions);
|
|
390
|
+
i0.ɵɵadvance(2);
|
|
391
|
+
i0.ɵɵconditional(ctx_r2.viewMode === "table" ? 10 : -1);
|
|
396
392
|
i0.ɵɵadvance();
|
|
397
|
-
i0.ɵɵ
|
|
393
|
+
i0.ɵɵconditional(ctx_r2.viewMode === "card" ? 11 : -1);
|
|
398
394
|
i0.ɵɵadvance();
|
|
399
|
-
i0.ɵɵ
|
|
395
|
+
i0.ɵɵconditional(ctx_r2.viewMode === "hierarchy" ? 12 : -1);
|
|
400
396
|
} }
|
|
401
|
-
function
|
|
397
|
+
function ListsBrowseResource_ng_template_35_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
402
398
|
const _r20 = i0.ɵɵgetCurrentView();
|
|
403
|
-
i0.ɵɵelementStart(0, "div",
|
|
404
|
-
i0.ɵɵlistener("click", function
|
|
405
|
-
i0.ɵɵelement(1, "i")(2, "i",
|
|
406
|
-
i0.ɵɵelementStart(3, "span",
|
|
399
|
+
i0.ɵɵelementStart(0, "div", 113);
|
|
400
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_35_Conditional_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r20); const node_r21 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r21)); });
|
|
401
|
+
i0.ɵɵelement(1, "i")(2, "i", 114);
|
|
402
|
+
i0.ɵɵelementStart(3, "span", 115);
|
|
407
403
|
i0.ɵɵtext(4);
|
|
408
404
|
i0.ɵɵelementEnd();
|
|
409
|
-
i0.ɵɵelementStart(5, "span",
|
|
405
|
+
i0.ɵɵelementStart(5, "span", 116);
|
|
410
406
|
i0.ɵɵtext(6);
|
|
411
407
|
i0.ɵɵelementEnd()();
|
|
412
408
|
} if (rf & 2) {
|
|
@@ -421,15 +417,15 @@ function ListsBrowseResource_ng_template_33_div_1_Template(rf, ctx) { if (rf & 1
|
|
|
421
417
|
i0.ɵɵadvance(2);
|
|
422
418
|
i0.ɵɵtextInterpolate(ctx_r2.getListCountInCategory(node_r21));
|
|
423
419
|
} }
|
|
424
|
-
function
|
|
420
|
+
function ListsBrowseResource_ng_template_35_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
425
421
|
const _r22 = i0.ɵɵgetCurrentView();
|
|
426
|
-
i0.ɵɵelementStart(0, "div",
|
|
427
|
-
i0.ɵɵlistener("click", function
|
|
428
|
-
i0.ɵɵelement(1, "i")(2, "i",
|
|
429
|
-
i0.ɵɵelementStart(3, "span",
|
|
422
|
+
i0.ɵɵelementStart(0, "div", 117);
|
|
423
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_35_Conditional_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r22); const node_r21 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCategory(node_r21)); });
|
|
424
|
+
i0.ɵɵelement(1, "i")(2, "i", 118);
|
|
425
|
+
i0.ɵɵelementStart(3, "span", 115);
|
|
430
426
|
i0.ɵɵtext(4, "Uncategorized");
|
|
431
427
|
i0.ɵɵelementEnd();
|
|
432
|
-
i0.ɵɵelementStart(5, "span",
|
|
428
|
+
i0.ɵɵelementStart(5, "span", 116);
|
|
433
429
|
i0.ɵɵtext(6);
|
|
434
430
|
i0.ɵɵelementEnd()();
|
|
435
431
|
} if (rf & 2) {
|
|
@@ -439,37 +435,37 @@ function ListsBrowseResource_ng_template_33_div_2_Template(rf, ctx) { if (rf & 1
|
|
|
439
435
|
i0.ɵɵadvance(5);
|
|
440
436
|
i0.ɵɵtextInterpolate(node_r21.lists.length);
|
|
441
437
|
} }
|
|
442
|
-
function
|
|
438
|
+
function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
443
439
|
i0.ɵɵelementStart(0, "span");
|
|
444
440
|
i0.ɵɵtext(1);
|
|
445
441
|
i0.ɵɵelementEnd();
|
|
446
442
|
} if (rf & 2) {
|
|
447
443
|
const item_r24 = i0.ɵɵnextContext().$implicit;
|
|
448
444
|
i0.ɵɵadvance();
|
|
449
|
-
i0.ɵɵtextInterpolate1(" \u00B7 ", item_r24.ownerName
|
|
445
|
+
i0.ɵɵtextInterpolate1(" \u00B7 ", item_r24.ownerName);
|
|
450
446
|
} }
|
|
451
|
-
function
|
|
447
|
+
function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
452
448
|
const _r25 = i0.ɵɵgetCurrentView();
|
|
453
|
-
i0.ɵɵelementStart(0, "div",
|
|
454
|
-
i0.ɵɵlistener("click", function
|
|
455
|
-
i0.ɵɵelement(2, "i",
|
|
449
|
+
i0.ɵɵelementStart(0, "div", 123)(1, "button", 124);
|
|
450
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Conditional_9_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r25); const item_r24 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openListMenu($event, item_r24)); });
|
|
451
|
+
i0.ɵɵelement(2, "i", 88);
|
|
456
452
|
i0.ɵɵelementEnd()();
|
|
457
453
|
} }
|
|
458
|
-
function
|
|
454
|
+
function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
459
455
|
const _r23 = i0.ɵɵgetCurrentView();
|
|
460
|
-
i0.ɵɵelementStart(0, "div",
|
|
461
|
-
i0.ɵɵlistener("click", function
|
|
462
|
-
i0.ɵɵelementStart(1, "div",
|
|
456
|
+
i0.ɵɵelementStart(0, "div", 120);
|
|
457
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Template_div_click_0_listener() { const item_r24 = i0.ɵɵrestoreView(_r23).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r24)); })("keydown.enter", function ListsBrowseResource_ng_template_35_Conditional_3_For_2_Template_div_keydown_enter_0_listener() { const item_r24 = i0.ɵɵrestoreView(_r23).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openList(item_r24)); });
|
|
458
|
+
i0.ɵɵelementStart(1, "div", 69);
|
|
463
459
|
i0.ɵɵelement(2, "i");
|
|
464
460
|
i0.ɵɵelementEnd();
|
|
465
|
-
i0.ɵɵelementStart(3, "div",
|
|
461
|
+
i0.ɵɵelementStart(3, "div", 121)(4, "span", 71);
|
|
466
462
|
i0.ɵɵtext(5);
|
|
467
463
|
i0.ɵɵelementEnd();
|
|
468
|
-
i0.ɵɵelementStart(6, "span",
|
|
464
|
+
i0.ɵɵelementStart(6, "span", 122);
|
|
469
465
|
i0.ɵɵtext(7);
|
|
470
|
-
i0.ɵɵ
|
|
466
|
+
i0.ɵɵconditionalCreate(8, ListsBrowseResource_ng_template_35_Conditional_3_For_2_Conditional_8_Template, 2, 1, "span");
|
|
471
467
|
i0.ɵɵelementEnd()();
|
|
472
|
-
i0.ɵɵ
|
|
468
|
+
i0.ɵɵconditionalCreate(9, ListsBrowseResource_ng_template_35_Conditional_3_For_2_Conditional_9_Template, 3, 0, "div", 123);
|
|
473
469
|
i0.ɵɵelementEnd();
|
|
474
470
|
} if (rf & 2) {
|
|
475
471
|
const item_r24 = ctx.$implicit;
|
|
@@ -483,126 +479,123 @@ function ListsBrowseResource_ng_template_33_div_3_div_1_Template(rf, ctx) { if (
|
|
|
483
479
|
i0.ɵɵadvance(2);
|
|
484
480
|
i0.ɵɵtextInterpolate2(" ", item_r24.entityName, " \u00B7 ", item_r24.itemCount, " items ");
|
|
485
481
|
i0.ɵɵadvance();
|
|
486
|
-
i0.ɵɵ
|
|
482
|
+
i0.ɵɵconditional(!item_r24.isOwner ? 8 : -1);
|
|
487
483
|
i0.ɵɵadvance();
|
|
488
|
-
i0.ɵɵ
|
|
484
|
+
i0.ɵɵconditional(item_r24.isOwner ? 9 : -1);
|
|
489
485
|
} }
|
|
490
|
-
function
|
|
491
|
-
i0.ɵɵelementStart(0, "div",
|
|
492
|
-
i0.ɵɵ
|
|
486
|
+
function ListsBrowseResource_ng_template_35_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
487
|
+
i0.ɵɵelementStart(0, "div", 112);
|
|
488
|
+
i0.ɵɵrepeaterCreate(1, ListsBrowseResource_ng_template_35_Conditional_3_For_2_Template, 10, 9, "div", 119, i0.ɵɵrepeaterTrackByIdentity);
|
|
493
489
|
i0.ɵɵelementEnd();
|
|
494
490
|
} if (rf & 2) {
|
|
495
491
|
const node_r21 = i0.ɵɵnextContext().node;
|
|
496
492
|
i0.ɵɵadvance();
|
|
497
|
-
i0.ɵɵ
|
|
493
|
+
i0.ɵɵrepeater(node_r21.lists);
|
|
498
494
|
} }
|
|
499
|
-
function
|
|
495
|
+
function ListsBrowseResource_ng_template_35_Conditional_4_For_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
500
496
|
i0.ɵɵelementContainer(0);
|
|
501
497
|
} }
|
|
502
|
-
function
|
|
503
|
-
i0.ɵɵ
|
|
504
|
-
i0.ɵɵtemplate(1, ListsBrowseResource_ng_template_33_ng_container_4_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 124);
|
|
505
|
-
i0.ɵɵelementContainerEnd();
|
|
498
|
+
function ListsBrowseResource_ng_template_35_Conditional_4_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
499
|
+
i0.ɵɵtemplate(0, ListsBrowseResource_ng_template_35_Conditional_4_For_1_ng_container_0_Template, 1, 0, "ng-container", 108);
|
|
506
500
|
} if (rf & 2) {
|
|
507
501
|
const child_r26 = ctx.$implicit;
|
|
508
502
|
const depth_r27 = i0.ɵɵnextContext(2).depth;
|
|
509
503
|
i0.ɵɵnextContext();
|
|
510
|
-
const categoryNodeTemplate_r19 = i0.ɵɵreference(
|
|
511
|
-
i0.ɵɵadvance();
|
|
504
|
+
const categoryNodeTemplate_r19 = i0.ɵɵreference(36);
|
|
512
505
|
i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r19)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, child_r26, depth_r27 + 1));
|
|
513
506
|
} }
|
|
514
|
-
function
|
|
515
|
-
i0.ɵɵ
|
|
516
|
-
i0.ɵɵtemplate(1, ListsBrowseResource_ng_template_33_ng_container_4_ng_container_1_Template, 2, 5, "ng-container", 123);
|
|
517
|
-
i0.ɵɵelementContainerEnd();
|
|
507
|
+
function ListsBrowseResource_ng_template_35_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
508
|
+
i0.ɵɵrepeaterCreate(0, ListsBrowseResource_ng_template_35_Conditional_4_For_1_Template, 1, 5, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
518
509
|
} if (rf & 2) {
|
|
519
510
|
const node_r21 = i0.ɵɵnextContext().node;
|
|
520
|
-
i0.ɵɵ
|
|
521
|
-
i0.ɵɵproperty("ngForOf", node_r21.children);
|
|
511
|
+
i0.ɵɵrepeater(node_r21.children);
|
|
522
512
|
} }
|
|
523
|
-
function
|
|
524
|
-
i0.ɵɵelementStart(0, "div",
|
|
525
|
-
i0.ɵɵ
|
|
513
|
+
function ListsBrowseResource_ng_template_35_Template(rf, ctx) { if (rf & 1) {
|
|
514
|
+
i0.ɵɵelementStart(0, "div", 109);
|
|
515
|
+
i0.ɵɵconditionalCreate(1, ListsBrowseResource_ng_template_35_Conditional_1_Template, 7, 6, "div", 110);
|
|
516
|
+
i0.ɵɵconditionalCreate(2, ListsBrowseResource_ng_template_35_Conditional_2_Template, 7, 3, "div", 111);
|
|
517
|
+
i0.ɵɵconditionalCreate(3, ListsBrowseResource_ng_template_35_Conditional_3_Template, 3, 0, "div", 112);
|
|
518
|
+
i0.ɵɵconditionalCreate(4, ListsBrowseResource_ng_template_35_Conditional_4_Template, 2, 0);
|
|
526
519
|
i0.ɵɵelementEnd();
|
|
527
520
|
} if (rf & 2) {
|
|
528
521
|
const node_r21 = ctx.node;
|
|
529
522
|
const depth_r27 = ctx.depth;
|
|
530
523
|
i0.ɵɵstyleProp("margin-left", depth_r27 * 20, "px");
|
|
531
524
|
i0.ɵɵadvance();
|
|
532
|
-
i0.ɵɵ
|
|
525
|
+
i0.ɵɵconditional(node_r21.category ? 1 : -1);
|
|
533
526
|
i0.ɵɵadvance();
|
|
534
|
-
i0.ɵɵ
|
|
527
|
+
i0.ɵɵconditional(!node_r21.category && node_r21.lists.length > 0 ? 2 : -1);
|
|
535
528
|
i0.ɵɵadvance();
|
|
536
|
-
i0.ɵɵ
|
|
529
|
+
i0.ɵɵconditional(node_r21.isExpanded ? 3 : -1);
|
|
537
530
|
i0.ɵɵadvance();
|
|
538
|
-
i0.ɵɵ
|
|
531
|
+
i0.ɵɵconditional(node_r21.isExpanded ? 4 : -1);
|
|
539
532
|
} }
|
|
540
|
-
function
|
|
533
|
+
function ListsBrowseResource_Conditional_37_Template(rf, ctx) { if (rf & 1) {
|
|
541
534
|
const _r28 = i0.ɵɵgetCurrentView();
|
|
542
|
-
i0.ɵɵelementStart(0, "div",
|
|
543
|
-
i0.ɵɵlistener("click", function
|
|
535
|
+
i0.ɵɵelementStart(0, "div", 125);
|
|
536
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_37_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeContextMenu()); });
|
|
544
537
|
i0.ɵɵelementEnd();
|
|
545
538
|
} }
|
|
546
|
-
function
|
|
539
|
+
function ListsBrowseResource_Conditional_38_Template(rf, ctx) { if (rf & 1) {
|
|
547
540
|
const _r29 = i0.ɵɵgetCurrentView();
|
|
548
|
-
i0.ɵɵelementStart(0, "div",
|
|
549
|
-
i0.ɵɵlistener("click", function
|
|
550
|
-
i0.ɵɵelement(2, "i",
|
|
541
|
+
i0.ɵɵelementStart(0, "div", 126)(1, "button", 127);
|
|
542
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_38_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.editList()); });
|
|
543
|
+
i0.ɵɵelement(2, "i", 128);
|
|
551
544
|
i0.ɵɵtext(3, " Edit ");
|
|
552
545
|
i0.ɵɵelementEnd();
|
|
553
|
-
i0.ɵɵelementStart(4, "button",
|
|
554
|
-
i0.ɵɵlistener("click", function
|
|
555
|
-
i0.ɵɵelement(5, "i",
|
|
546
|
+
i0.ɵɵelementStart(4, "button", 127);
|
|
547
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_38_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.openShareDialog()); });
|
|
548
|
+
i0.ɵɵelement(5, "i", 84);
|
|
556
549
|
i0.ɵɵtext(6, " Share ");
|
|
557
550
|
i0.ɵɵelementEnd();
|
|
558
|
-
i0.ɵɵelementStart(7, "button",
|
|
559
|
-
i0.ɵɵlistener("click", function
|
|
560
|
-
i0.ɵɵelement(8, "i",
|
|
551
|
+
i0.ɵɵelementStart(7, "button", 127);
|
|
552
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_38_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.duplicateList()); });
|
|
553
|
+
i0.ɵɵelement(8, "i", 129);
|
|
561
554
|
i0.ɵɵtext(9, " Duplicate ");
|
|
562
555
|
i0.ɵɵelementEnd();
|
|
563
|
-
i0.ɵɵelement(10, "div",
|
|
564
|
-
i0.ɵɵelementStart(11, "button",
|
|
565
|
-
i0.ɵɵlistener("click", function
|
|
566
|
-
i0.ɵɵelement(12, "i",
|
|
556
|
+
i0.ɵɵelement(10, "div", 130);
|
|
557
|
+
i0.ɵɵelementStart(11, "button", 131);
|
|
558
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_38_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.confirmDeleteList()); });
|
|
559
|
+
i0.ɵɵelement(12, "i", 132);
|
|
567
560
|
i0.ɵɵtext(13, " Delete ");
|
|
568
561
|
i0.ɵɵelementEnd()();
|
|
569
562
|
} if (rf & 2) {
|
|
570
563
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
571
564
|
i0.ɵɵstyleProp("top", ctx_r2.contextMenuY, "px")("left", ctx_r2.contextMenuX, "px");
|
|
572
565
|
} }
|
|
573
|
-
function
|
|
566
|
+
function ListsBrowseResource_Conditional_39_Template(rf, ctx) { if (rf & 1) {
|
|
574
567
|
const _r30 = i0.ɵɵgetCurrentView();
|
|
575
|
-
i0.ɵɵelementStart(0, "div",
|
|
576
|
-
i0.ɵɵlistener("click", function
|
|
568
|
+
i0.ɵɵelementStart(0, "div", 133);
|
|
569
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_39_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
|
|
577
570
|
i0.ɵɵelementEnd();
|
|
578
571
|
} }
|
|
579
|
-
function
|
|
572
|
+
function ListsBrowseResource_Conditional_40_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
580
573
|
const _r32 = i0.ɵɵgetCurrentView();
|
|
581
|
-
i0.ɵɵelementStart(0, "div",
|
|
574
|
+
i0.ɵɵelementStart(0, "div", 137)(1, "label");
|
|
582
575
|
i0.ɵɵtext(2, "Entity *");
|
|
583
576
|
i0.ɵɵelementEnd();
|
|
584
|
-
i0.ɵɵelementStart(3, "div",
|
|
585
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
586
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
577
|
+
i0.ɵɵelementStart(3, "div", 146)(4, "input", 147, 1);
|
|
578
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_40_Conditional_15_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.entitySearchTerm, $event) || (ctx_r2.entitySearchTerm = $event); return i0.ɵɵresetView($event); });
|
|
579
|
+
i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Conditional_40_Conditional_15_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.filterEntities($event)); })("focus", function ListsBrowseResource_Conditional_40_Conditional_15_Template_input_focus_4_listener() { i0.ɵɵrestoreView(_r32); const entityInput_r33 = i0.ɵɵreference(5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.openEntityDropdown(entityInput_r33)); });
|
|
587
580
|
i0.ɵɵelementEnd()()();
|
|
588
581
|
} if (rf & 2) {
|
|
589
582
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
590
583
|
i0.ɵɵadvance(4);
|
|
591
584
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.entitySearchTerm);
|
|
592
585
|
} }
|
|
593
|
-
function
|
|
594
|
-
i0.ɵɵelementStart(0, "div",
|
|
586
|
+
function ListsBrowseResource_Conditional_40_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
587
|
+
i0.ɵɵelementStart(0, "div", 137)(1, "label");
|
|
595
588
|
i0.ɵɵtext(2, "Entity");
|
|
596
589
|
i0.ɵɵelementEnd();
|
|
597
|
-
i0.ɵɵelement(3, "input",
|
|
590
|
+
i0.ɵɵelement(3, "input", 148);
|
|
598
591
|
i0.ɵɵelementEnd();
|
|
599
592
|
} if (rf & 2) {
|
|
600
593
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
601
594
|
i0.ɵɵadvance(3);
|
|
602
595
|
i0.ɵɵproperty("value", ctx_r2.entitySearchTerm);
|
|
603
596
|
} }
|
|
604
|
-
function
|
|
605
|
-
i0.ɵɵelementStart(0, "option",
|
|
597
|
+
function ListsBrowseResource_Conditional_40_For_24_Template(rf, ctx) { if (rf & 1) {
|
|
598
|
+
i0.ɵɵelementStart(0, "option", 141);
|
|
606
599
|
i0.ɵɵtext(1);
|
|
607
600
|
i0.ɵɵelementEnd();
|
|
608
601
|
} if (rf & 2) {
|
|
@@ -611,49 +604,50 @@ function ListsBrowseResource_div_38_option_23_Template(rf, ctx) { if (rf & 1) {
|
|
|
611
604
|
i0.ɵɵadvance();
|
|
612
605
|
i0.ɵɵtextInterpolate(cat_r34.displayName);
|
|
613
606
|
} }
|
|
614
|
-
function
|
|
615
|
-
i0.ɵɵelement(0, "i",
|
|
607
|
+
function ListsBrowseResource_Conditional_40_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
608
|
+
i0.ɵɵelement(0, "i", 144);
|
|
616
609
|
} }
|
|
617
|
-
function
|
|
610
|
+
function ListsBrowseResource_Conditional_40_Template(rf, ctx) { if (rf & 1) {
|
|
618
611
|
const _r31 = i0.ɵɵgetCurrentView();
|
|
619
|
-
i0.ɵɵelementStart(0, "div",
|
|
612
|
+
i0.ɵɵelementStart(0, "div", 32)(1, "div", 134)(2, "h3");
|
|
620
613
|
i0.ɵɵtext(3);
|
|
621
614
|
i0.ɵɵelementEnd();
|
|
622
|
-
i0.ɵɵelementStart(4, "button",
|
|
623
|
-
i0.ɵɵlistener("click", function
|
|
615
|
+
i0.ɵɵelementStart(4, "button", 135);
|
|
616
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_40_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
|
|
624
617
|
i0.ɵɵelement(5, "i", 37);
|
|
625
618
|
i0.ɵɵelementEnd()();
|
|
626
|
-
i0.ɵɵelementStart(6, "div",
|
|
619
|
+
i0.ɵɵelementStart(6, "div", 136)(7, "div", 137)(8, "label");
|
|
627
620
|
i0.ɵɵtext(9, "Name *");
|
|
628
621
|
i0.ɵɵelementEnd();
|
|
629
|
-
i0.ɵɵelementStart(10, "input",
|
|
630
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
622
|
+
i0.ɵɵelementStart(10, "input", 138);
|
|
623
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_40_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListName, $event) || (ctx_r2.newListName = $event); return i0.ɵɵresetView($event); });
|
|
631
624
|
i0.ɵɵelementEnd()();
|
|
632
|
-
i0.ɵɵelementStart(11, "div",
|
|
625
|
+
i0.ɵɵelementStart(11, "div", 137)(12, "label");
|
|
633
626
|
i0.ɵɵtext(13, "Description");
|
|
634
627
|
i0.ɵɵelementEnd();
|
|
635
|
-
i0.ɵɵelementStart(14, "textarea",
|
|
636
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
628
|
+
i0.ɵɵelementStart(14, "textarea", 139);
|
|
629
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_40_Template_textarea_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.newListDescription, $event) || (ctx_r2.newListDescription = $event); return i0.ɵɵresetView($event); });
|
|
637
630
|
i0.ɵɵelementEnd()();
|
|
638
|
-
i0.ɵɵ
|
|
639
|
-
i0.ɵɵ
|
|
631
|
+
i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_40_Conditional_15_Template, 6, 1, "div", 137);
|
|
632
|
+
i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_40_Conditional_16_Template, 4, 1, "div", 137);
|
|
633
|
+
i0.ɵɵelementStart(17, "div", 137)(18, "label");
|
|
640
634
|
i0.ɵɵtext(19, "Category");
|
|
641
635
|
i0.ɵɵelementEnd();
|
|
642
|
-
i0.ɵɵelementStart(20, "select",
|
|
643
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
644
|
-
i0.ɵɵelementStart(21, "option",
|
|
636
|
+
i0.ɵɵelementStart(20, "select", 140);
|
|
637
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Conditional_40_Template_select_ngModelChange_20_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedCategoryId, $event) || (ctx_r2.selectedCategoryId = $event); return i0.ɵɵresetView($event); });
|
|
638
|
+
i0.ɵɵelementStart(21, "option", 141);
|
|
645
639
|
i0.ɵɵtext(22, "No category");
|
|
646
640
|
i0.ɵɵelementEnd();
|
|
647
|
-
i0.ɵɵ
|
|
641
|
+
i0.ɵɵrepeaterCreate(23, ListsBrowseResource_Conditional_40_For_24_Template, 2, 2, "option", 141, i0.ɵɵrepeaterTrackByIdentity);
|
|
648
642
|
i0.ɵɵelementEnd()()();
|
|
649
|
-
i0.ɵɵelementStart(
|
|
650
|
-
i0.ɵɵlistener("click", function
|
|
651
|
-
i0.ɵɵ
|
|
652
|
-
i0.ɵɵtext(
|
|
653
|
-
i0.ɵɵelementEnd();
|
|
654
|
-
i0.ɵɵelementStart(
|
|
655
|
-
i0.ɵɵlistener("click", function
|
|
656
|
-
i0.ɵɵtext(
|
|
643
|
+
i0.ɵɵelementStart(25, "div", 142)(26, "button", 143);
|
|
644
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_40_Template_button_click_26_listener() { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveList()); });
|
|
645
|
+
i0.ɵɵconditionalCreate(27, ListsBrowseResource_Conditional_40_Conditional_27_Template, 1, 0, "i", 144);
|
|
646
|
+
i0.ɵɵtext(28);
|
|
647
|
+
i0.ɵɵelementEnd();
|
|
648
|
+
i0.ɵɵelementStart(29, "button", 145);
|
|
649
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_40_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r31); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeCreateDialog()); });
|
|
650
|
+
i0.ɵɵtext(30, "Cancel");
|
|
657
651
|
i0.ɵɵelementEnd()()();
|
|
658
652
|
} if (rf & 2) {
|
|
659
653
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -664,59 +658,59 @@ function ListsBrowseResource_div_38_Template(rf, ctx) { if (rf & 1) {
|
|
|
664
658
|
i0.ɵɵadvance(4);
|
|
665
659
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.newListDescription);
|
|
666
660
|
i0.ɵɵadvance();
|
|
667
|
-
i0.ɵɵ
|
|
661
|
+
i0.ɵɵconditional(!ctx_r2.editingList ? 15 : -1);
|
|
668
662
|
i0.ɵɵadvance();
|
|
669
|
-
i0.ɵɵ
|
|
663
|
+
i0.ɵɵconditional(ctx_r2.editingList ? 16 : -1);
|
|
670
664
|
i0.ɵɵadvance(4);
|
|
671
665
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.selectedCategoryId);
|
|
672
666
|
i0.ɵɵadvance();
|
|
673
667
|
i0.ɵɵproperty("ngValue", null);
|
|
674
668
|
i0.ɵɵadvance(2);
|
|
675
|
-
i0.ɵɵ
|
|
676
|
-
i0.ɵɵadvance(
|
|
669
|
+
i0.ɵɵrepeater(ctx_r2.flatCategories);
|
|
670
|
+
i0.ɵɵadvance(3);
|
|
677
671
|
i0.ɵɵproperty("disabled", !ctx_r2.newListName || !ctx_r2.editingList && !ctx_r2.selectedEntityId || ctx_r2.isSaving);
|
|
678
672
|
i0.ɵɵadvance();
|
|
679
|
-
i0.ɵɵ
|
|
673
|
+
i0.ɵɵconditional(ctx_r2.isSaving ? 27 : -1);
|
|
680
674
|
i0.ɵɵadvance();
|
|
681
675
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.isSaving ? "Saving..." : ctx_r2.editingList ? "Save" : "Create", " ");
|
|
682
676
|
i0.ɵɵadvance();
|
|
683
677
|
i0.ɵɵproperty("disabled", ctx_r2.isSaving);
|
|
684
678
|
} }
|
|
685
|
-
function
|
|
679
|
+
function ListsBrowseResource_Conditional_41_Template(rf, ctx) { if (rf & 1) {
|
|
686
680
|
const _r35 = i0.ɵɵgetCurrentView();
|
|
687
|
-
i0.ɵɵelementStart(0, "div",
|
|
688
|
-
i0.ɵɵlistener("click", function
|
|
681
|
+
i0.ɵɵelementStart(0, "div", 133);
|
|
682
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_41_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r35); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
689
683
|
i0.ɵɵelementEnd();
|
|
690
684
|
} }
|
|
691
|
-
function
|
|
692
|
-
i0.ɵɵelement(0, "i",
|
|
685
|
+
function ListsBrowseResource_Conditional_42_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
686
|
+
i0.ɵɵelement(0, "i", 144);
|
|
693
687
|
} }
|
|
694
|
-
function
|
|
688
|
+
function ListsBrowseResource_Conditional_42_Template(rf, ctx) { if (rf & 1) {
|
|
695
689
|
const _r36 = i0.ɵɵgetCurrentView();
|
|
696
|
-
i0.ɵɵelementStart(0, "div",
|
|
690
|
+
i0.ɵɵelementStart(0, "div", 33)(1, "div", 134)(2, "h3");
|
|
697
691
|
i0.ɵɵtext(3, "Delete List");
|
|
698
692
|
i0.ɵɵelementEnd();
|
|
699
|
-
i0.ɵɵelementStart(4, "button",
|
|
700
|
-
i0.ɵɵlistener("click", function
|
|
693
|
+
i0.ɵɵelementStart(4, "button", 135);
|
|
694
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_42_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
701
695
|
i0.ɵɵelement(5, "i", 37);
|
|
702
696
|
i0.ɵɵelementEnd()();
|
|
703
|
-
i0.ɵɵelementStart(6, "div",
|
|
697
|
+
i0.ɵɵelementStart(6, "div", 136)(7, "p");
|
|
704
698
|
i0.ɵɵtext(8, "Are you sure you want to delete \"");
|
|
705
699
|
i0.ɵɵelementStart(9, "strong");
|
|
706
700
|
i0.ɵɵtext(10);
|
|
707
701
|
i0.ɵɵelementEnd();
|
|
708
702
|
i0.ɵɵtext(11, "\"?");
|
|
709
703
|
i0.ɵɵelementEnd();
|
|
710
|
-
i0.ɵɵelementStart(12, "p",
|
|
704
|
+
i0.ɵɵelementStart(12, "p", 149);
|
|
711
705
|
i0.ɵɵtext(13, "This will also remove all items in the list.");
|
|
712
706
|
i0.ɵɵelementEnd()();
|
|
713
|
-
i0.ɵɵelementStart(14, "div",
|
|
714
|
-
i0.ɵɵlistener("click", function
|
|
715
|
-
i0.ɵɵ
|
|
707
|
+
i0.ɵɵelementStart(14, "div", 142)(15, "button", 150);
|
|
708
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_42_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.deleteList()); });
|
|
709
|
+
i0.ɵɵconditionalCreate(16, ListsBrowseResource_Conditional_42_Conditional_16_Template, 1, 0, "i", 144);
|
|
716
710
|
i0.ɵɵtext(17);
|
|
717
711
|
i0.ɵɵelementEnd();
|
|
718
|
-
i0.ɵɵelementStart(18, "button",
|
|
719
|
-
i0.ɵɵlistener("click", function
|
|
712
|
+
i0.ɵɵelementStart(18, "button", 145);
|
|
713
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_42_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
720
714
|
i0.ɵɵtext(19, "Cancel");
|
|
721
715
|
i0.ɵɵelementEnd()()();
|
|
722
716
|
} if (rf & 2) {
|
|
@@ -726,25 +720,25 @@ function ListsBrowseResource_div_40_Template(rf, ctx) { if (rf & 1) {
|
|
|
726
720
|
i0.ɵɵadvance(5);
|
|
727
721
|
i0.ɵɵproperty("disabled", ctx_r2.isDeleting);
|
|
728
722
|
i0.ɵɵadvance();
|
|
729
|
-
i0.ɵɵ
|
|
723
|
+
i0.ɵɵconditional(ctx_r2.isDeleting ? 16 : -1);
|
|
730
724
|
i0.ɵɵadvance();
|
|
731
725
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.isDeleting ? "Deleting..." : "Delete", " ");
|
|
732
726
|
i0.ɵɵadvance();
|
|
733
727
|
i0.ɵɵproperty("disabled", ctx_r2.isDeleting);
|
|
734
728
|
} }
|
|
735
|
-
function
|
|
729
|
+
function ListsBrowseResource_Conditional_43_Template(rf, ctx) { if (rf & 1) {
|
|
736
730
|
const _r37 = i0.ɵɵgetCurrentView();
|
|
737
|
-
i0.ɵɵelementStart(0, "mj-list-share-dialog",
|
|
738
|
-
i0.ɵɵlistener("complete", function
|
|
731
|
+
i0.ɵɵelementStart(0, "mj-list-share-dialog", 151);
|
|
732
|
+
i0.ɵɵlistener("complete", function ListsBrowseResource_Conditional_43_Template_mj_list_share_dialog_complete_0_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onShareComplete($event)); })("cancel", function ListsBrowseResource_Conditional_43_Template_mj_list_share_dialog_cancel_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onShareCancel()); });
|
|
739
733
|
i0.ɵɵelementEnd();
|
|
740
734
|
} if (rf & 2) {
|
|
741
735
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
742
736
|
i0.ɵɵproperty("config", ctx_r2.shareDialogConfig)("visible", ctx_r2.showShareDialog);
|
|
743
737
|
} }
|
|
744
|
-
function
|
|
738
|
+
function ListsBrowseResource_Conditional_44_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
745
739
|
const _r39 = i0.ɵɵgetCurrentView();
|
|
746
|
-
i0.ɵɵelementStart(0, "div",
|
|
747
|
-
i0.ɵɵlistener("click", function
|
|
740
|
+
i0.ɵɵelementStart(0, "div", 157);
|
|
741
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_44_For_4_Template_div_click_0_listener() { const entity_r40 = i0.ɵɵrestoreView(_r39).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.selectEntity(entity_r40)); });
|
|
748
742
|
i0.ɵɵtext(1);
|
|
749
743
|
i0.ɵɵelementEnd();
|
|
750
744
|
} if (rf & 2) {
|
|
@@ -752,18 +746,19 @@ function ListsBrowseResource_div_42_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
752
746
|
i0.ɵɵadvance();
|
|
753
747
|
i0.ɵɵtextInterpolate1(" ", entity_r40.Name, " ");
|
|
754
748
|
} }
|
|
755
|
-
function
|
|
756
|
-
i0.ɵɵelementStart(0, "div",
|
|
749
|
+
function ListsBrowseResource_Conditional_44_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
750
|
+
i0.ɵɵelementStart(0, "div", 156);
|
|
757
751
|
i0.ɵɵtext(1, " No entities found ");
|
|
758
752
|
i0.ɵɵelementEnd();
|
|
759
753
|
} }
|
|
760
|
-
function
|
|
754
|
+
function ListsBrowseResource_Conditional_44_Template(rf, ctx) { if (rf & 1) {
|
|
761
755
|
const _r38 = i0.ɵɵgetCurrentView();
|
|
762
|
-
i0.ɵɵelementStart(0, "div",
|
|
763
|
-
i0.ɵɵlistener("click", function
|
|
756
|
+
i0.ɵɵelementStart(0, "div", 152)(1, "div", 153);
|
|
757
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Conditional_44_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r38); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeEntityDropdown()); });
|
|
764
758
|
i0.ɵɵelementEnd();
|
|
765
|
-
i0.ɵɵelementStart(2, "div",
|
|
766
|
-
i0.ɵɵ
|
|
759
|
+
i0.ɵɵelementStart(2, "div", 154);
|
|
760
|
+
i0.ɵɵrepeaterCreate(3, ListsBrowseResource_Conditional_44_For_4_Template, 2, 1, "div", 155, i0.ɵɵrepeaterTrackByIdentity);
|
|
761
|
+
i0.ɵɵconditionalCreate(5, ListsBrowseResource_Conditional_44_Conditional_5_Template, 2, 0, "div", 156);
|
|
767
762
|
i0.ɵɵelementEnd()();
|
|
768
763
|
} if (rf & 2) {
|
|
769
764
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -772,13 +767,10 @@ function ListsBrowseResource_div_42_Template(rf, ctx) { if (rf & 1) {
|
|
|
772
767
|
i0.ɵɵadvance(2);
|
|
773
768
|
i0.ɵɵclassProp("open-above", ctx_r2.entityDropdownPosition.openAbove);
|
|
774
769
|
i0.ɵɵadvance();
|
|
775
|
-
i0.ɵɵ
|
|
776
|
-
i0.ɵɵadvance();
|
|
777
|
-
i0.ɵɵ
|
|
770
|
+
i0.ɵɵrepeater(ctx_r2.filteredEntitiesList);
|
|
771
|
+
i0.ɵɵadvance(2);
|
|
772
|
+
i0.ɵɵconditional(ctx_r2.filteredEntitiesList.length === 0 ? 5 : -1);
|
|
778
773
|
} }
|
|
779
|
-
export function LoadListsBrowseResource() {
|
|
780
|
-
// tree shaker
|
|
781
|
-
}
|
|
782
774
|
let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponent {
|
|
783
775
|
cdr;
|
|
784
776
|
tabService;
|
|
@@ -1406,8 +1398,8 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
|
|
|
1406
1398
|
}
|
|
1407
1399
|
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)); };
|
|
1408
1400
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListsBrowseResource, selectors: [["mj-lists-browse-resource"]], hostBindings: function ListsBrowseResource_HostBindings(rf, ctx) { if (rf & 1) {
|
|
1409
|
-
i0.ɵɵlistener("click", function ListsBrowseResource_click_HostBindingHandler($event) { return ctx.onDocumentClick($event); },
|
|
1410
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
1401
|
+
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);
|
|
1402
|
+
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 45, vars: 22, consts: [["categoryNodeTemplate", ""], ["entityInput", ""], [1, "lists-browse-container"], [1, "browse-header"], [1, "header-row"], [1, "header-title"], [1, "fa-solid", "fa-list-check"], [1, "btn-create", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "header-actions"], [1, "search-box"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search lists...", 3, "ngModelChange", "ngModel"], [1, "clear-search"], [1, "filter-group"], ["title", "Filter by owner", 1, "filter-select", 3, "ngModelChange", "ngModel"], [3, "value"], ["title", "Filter by entity", 1, "filter-select", 3, "ngModelChange", "ngModel"], [1, "view-toggle-group"], ["title", "Table view", 1, "view-toggle", 3, "click"], [1, "fa-solid", "fa-table-list"], ["title", "Card view", 1, "view-toggle", 3, "click"], [1, "fa-solid", "fa-grip"], ["title", "Category view", 1, "view-toggle", 3, "click"], [1, "fa-solid", "fa-folder-tree"], [1, "loading-container"], [1, "empty-state"], [1, "empty-state", "search-empty"], [1, "browse-content"], [1, "context-menu-overlay"], [1, "context-menu", 3, "top", "left"], [1, "modal-overlay"], [1, "modal-dialog"], [1, "modal-dialog", "confirm-dialog"], [3, "config", "visible"], [1, "entity-dropdown-portal", 3, "top", "left", "width", "dropdown-above"], [1, "clear-search", 3, "click"], [1, "fa-solid", "fa-times"], ["text", "Loading lists...", "size", "medium"], [1, "empty-state-icon-wrapper"], [1, "icon-bg"], [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"], [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"], ["title", "More options", 1, "action-btn"], [1, "sharing-indicator"], [1, "fa-solid", "fa-share-nodes"], [1, "share-count"], [1, "fa-solid", "fa-lock"], ["title", "More options", 1, "action-btn", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-ellipsis-v"], ["tabindex", "0", "role", "listitem", 1, "list-card"], ["tabindex", "0", "role", "listitem", 1, "list-card", 3, "click", "keydown.enter"], [1, "card-header"], ["aria-hidden", "true", 1, "card-icon"], [1, "card-menu"], [1, "card-body"], [1, "card-title"], [1, "card-description"], [1, "card-meta"], [1, "meta-item"], [1, "fa-solid", "fa-database"], [1, "fa-solid", "fa-hashtag"], [1, "card-footer"], [1, "owner-tag"], [1, "fa-solid", "fa-user"], [1, "card-footer-right"], [1, "date-info"], [1, "menu-btn", 3, "click"], [1, "sharing-badge", 3, "title"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "category-section"], [1, "category-header"], [1, "category-header", "uncategorized"], ["role", "list", 1, "category-lists"], [1, "category-header", 3, "click"], [1, "fa-solid", "fa-folder"], [1, "category-name"], [1, "category-count"], [1, "category-header", "uncategorized", 3, "click"], [1, "fa-solid", "fa-inbox"], ["tabindex", "0", "role", "listitem", 1, "list-row", "hierarchy-row"], ["tabindex", "0", "role", "listitem", 1, "list-row", "hierarchy-row", 3, "click", "keydown.enter"], [1, "list-info"], [1, "list-meta"], [1, "list-actions"], [1, "action-btn", 3, "click"], [1, "context-menu-overlay", 3, "click"], [1, "context-menu"], [1, "menu-item", 3, "click"], [1, "fa-solid", "fa-pen"], [1, "fa-solid", "fa-copy"], [1, "menu-divider"], [1, "menu-item", "danger", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "modal-overlay", 3, "click"], [1, "modal-header"], [1, "modal-close", 3, "click"], [1, "modal-body"], [1, "form-group"], ["type", "text", "placeholder", "Enter list name", 1, "form-input", 3, "ngModelChange", "ngModel"], ["placeholder", "Optional description", "rows", "3", 1, "form-input", 3, "ngModelChange", "ngModel"], [1, "form-input", 3, "ngModelChange", "ngModel"], [3, "ngValue"], [1, "modal-footer"], [1, "btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "btn-secondary", 3, "click", "disabled"], [1, "custom-select-wrapper"], ["type", "text", "placeholder", "Search and select an entity", 1, "form-input", 3, "ngModelChange", "focus", "ngModel"], ["type", "text", "disabled", "", 1, "form-input", 3, "value"], [1, "warning-text"], [1, "btn-danger", 3, "click", "disabled"], [3, "complete", "cancel", "config", "visible"], [1, "entity-dropdown-portal"], [1, "entity-dropdown-backdrop", 3, "click"], [1, "entity-dropdown-content"], [1, "dropdown-item"], [1, "dropdown-empty"], [1, "dropdown-item", 3, "click"]], template: function ListsBrowseResource_Template(rf, ctx) { if (rf & 1) {
|
|
1411
1403
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
1412
1404
|
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4)(3, "div", 5);
|
|
1413
1405
|
i0.ɵɵelement(4, "i", 6);
|
|
@@ -1426,76 +1418,88 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
|
|
|
1426
1418
|
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Template_input_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.searchTerm, $event) || (ctx.searchTerm = $event); return i0.ɵɵresetView($event); });
|
|
1427
1419
|
i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Template_input_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSearchChange($event)); });
|
|
1428
1420
|
i0.ɵɵelementEnd();
|
|
1429
|
-
i0.ɵɵ
|
|
1421
|
+
i0.ɵɵconditionalCreate(15, ListsBrowseResource_Conditional_15_Template, 2, 0, "button", 13);
|
|
1430
1422
|
i0.ɵɵelementEnd();
|
|
1431
1423
|
i0.ɵɵelementStart(16, "div", 14)(17, "select", 15);
|
|
1432
1424
|
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Template_select_ngModelChange_17_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.selectedOwner, $event) || (ctx.selectedOwner = $event); return i0.ɵɵresetView($event); });
|
|
1433
1425
|
i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Template_select_ngModelChange_17_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onOwnerFilterChange($event)); });
|
|
1434
|
-
i0.ɵɵ
|
|
1426
|
+
i0.ɵɵrepeaterCreate(18, ListsBrowseResource_For_19_Template, 2, 2, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
|
|
1435
1427
|
i0.ɵɵelementEnd()();
|
|
1436
|
-
i0.ɵɵelementStart(
|
|
1437
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
1438
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
1439
|
-
i0.ɵɵ
|
|
1428
|
+
i0.ɵɵelementStart(20, "div", 14)(21, "select", 17);
|
|
1429
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsBrowseResource_Template_select_ngModelChange_21_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.selectedEntity, $event) || (ctx.selectedEntity = $event); return i0.ɵɵresetView($event); });
|
|
1430
|
+
i0.ɵɵlistener("ngModelChange", function ListsBrowseResource_Template_select_ngModelChange_21_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onEntityFilterChange($event)); });
|
|
1431
|
+
i0.ɵɵrepeaterCreate(22, ListsBrowseResource_For_23_Template, 2, 2, "option", 16, i0.ɵɵrepeaterTrackByIdentity);
|
|
1440
1432
|
i0.ɵɵelementEnd()();
|
|
1441
|
-
i0.ɵɵelementStart(
|
|
1442
|
-
i0.ɵɵlistener("click", function
|
|
1443
|
-
i0.ɵɵelement(
|
|
1433
|
+
i0.ɵɵelementStart(24, "div", 18)(25, "button", 19);
|
|
1434
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_25_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode("table")); });
|
|
1435
|
+
i0.ɵɵelement(26, "i", 20);
|
|
1444
1436
|
i0.ɵɵelementEnd();
|
|
1445
|
-
i0.ɵɵelementStart(
|
|
1446
|
-
i0.ɵɵlistener("click", function
|
|
1447
|
-
i0.ɵɵelement(
|
|
1437
|
+
i0.ɵɵelementStart(27, "button", 21);
|
|
1438
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_27_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode("card")); });
|
|
1439
|
+
i0.ɵɵelement(28, "i", 22);
|
|
1448
1440
|
i0.ɵɵelementEnd();
|
|
1449
|
-
i0.ɵɵelementStart(
|
|
1450
|
-
i0.ɵɵlistener("click", function
|
|
1451
|
-
i0.ɵɵelement(
|
|
1441
|
+
i0.ɵɵelementStart(29, "button", 23);
|
|
1442
|
+
i0.ɵɵlistener("click", function ListsBrowseResource_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setViewMode("hierarchy")); });
|
|
1443
|
+
i0.ɵɵelement(30, "i", 24);
|
|
1452
1444
|
i0.ɵɵelementEnd()()()();
|
|
1453
|
-
i0.ɵɵ
|
|
1445
|
+
i0.ɵɵconditionalCreate(31, ListsBrowseResource_Conditional_31_Template, 2, 0, "div", 25);
|
|
1446
|
+
i0.ɵɵconditionalCreate(32, ListsBrowseResource_Conditional_32_Template, 24, 0, "div", 26);
|
|
1447
|
+
i0.ɵɵconditionalCreate(33, ListsBrowseResource_Conditional_33_Template, 11, 0, "div", 27);
|
|
1448
|
+
i0.ɵɵconditionalCreate(34, ListsBrowseResource_Conditional_34_Template, 13, 6, "div", 28);
|
|
1449
|
+
i0.ɵɵtemplate(35, ListsBrowseResource_ng_template_35_Template, 5, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
1450
|
+
i0.ɵɵconditionalCreate(37, ListsBrowseResource_Conditional_37_Template, 1, 0, "div", 29);
|
|
1451
|
+
i0.ɵɵconditionalCreate(38, ListsBrowseResource_Conditional_38_Template, 14, 4, "div", 30);
|
|
1452
|
+
i0.ɵɵconditionalCreate(39, ListsBrowseResource_Conditional_39_Template, 1, 0, "div", 31);
|
|
1453
|
+
i0.ɵɵconditionalCreate(40, ListsBrowseResource_Conditional_40_Template, 31, 11, "div", 32);
|
|
1454
|
+
i0.ɵɵconditionalCreate(41, ListsBrowseResource_Conditional_41_Template, 1, 0, "div", 31);
|
|
1455
|
+
i0.ɵɵconditionalCreate(42, ListsBrowseResource_Conditional_42_Template, 20, 5, "div", 33);
|
|
1456
|
+
i0.ɵɵconditionalCreate(43, ListsBrowseResource_Conditional_43_Template, 1, 2, "mj-list-share-dialog", 34);
|
|
1457
|
+
i0.ɵɵconditionalCreate(44, ListsBrowseResource_Conditional_44_Template, 6, 11, "div", 35);
|
|
1454
1458
|
i0.ɵɵelementEnd();
|
|
1455
1459
|
} if (rf & 2) {
|
|
1456
1460
|
i0.ɵɵadvance(14);
|
|
1457
1461
|
i0.ɵɵtwoWayProperty("ngModel", ctx.searchTerm);
|
|
1458
1462
|
i0.ɵɵadvance();
|
|
1459
|
-
i0.ɵɵ
|
|
1463
|
+
i0.ɵɵconditional(ctx.searchTerm ? 15 : -1);
|
|
1460
1464
|
i0.ɵɵadvance(2);
|
|
1461
1465
|
i0.ɵɵtwoWayProperty("ngModel", ctx.selectedOwner);
|
|
1462
1466
|
i0.ɵɵadvance();
|
|
1463
|
-
i0.ɵɵ
|
|
1464
|
-
i0.ɵɵadvance(
|
|
1467
|
+
i0.ɵɵrepeater(ctx.ownerOptions);
|
|
1468
|
+
i0.ɵɵadvance(3);
|
|
1465
1469
|
i0.ɵɵtwoWayProperty("ngModel", ctx.selectedEntity);
|
|
1466
1470
|
i0.ɵɵadvance();
|
|
1467
|
-
i0.ɵɵ
|
|
1468
|
-
i0.ɵɵadvance(
|
|
1471
|
+
i0.ɵɵrepeater(ctx.entityOptions);
|
|
1472
|
+
i0.ɵɵadvance(3);
|
|
1469
1473
|
i0.ɵɵclassProp("active", ctx.viewMode === "table");
|
|
1470
1474
|
i0.ɵɵadvance(2);
|
|
1471
1475
|
i0.ɵɵclassProp("active", ctx.viewMode === "card");
|
|
1472
1476
|
i0.ɵɵadvance(2);
|
|
1473
1477
|
i0.ɵɵclassProp("active", ctx.viewMode === "hierarchy");
|
|
1474
1478
|
i0.ɵɵadvance(2);
|
|
1475
|
-
i0.ɵɵ
|
|
1479
|
+
i0.ɵɵconditional(ctx.isLoading ? 31 : -1);
|
|
1476
1480
|
i0.ɵɵadvance();
|
|
1477
|
-
i0.ɵɵ
|
|
1481
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length === 0 ? 32 : -1);
|
|
1478
1482
|
i0.ɵɵadvance();
|
|
1479
|
-
i0.ɵɵ
|
|
1483
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.allLists.length > 0 && ctx.filteredLists.length === 0 ? 33 : -1);
|
|
1480
1484
|
i0.ɵɵadvance();
|
|
1481
|
-
i0.ɵɵ
|
|
1485
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.filteredLists.length > 0 ? 34 : -1);
|
|
1482
1486
|
i0.ɵɵadvance(3);
|
|
1483
|
-
i0.ɵɵ
|
|
1487
|
+
i0.ɵɵconditional(ctx.showContextMenu ? 37 : -1);
|
|
1484
1488
|
i0.ɵɵadvance();
|
|
1485
|
-
i0.ɵɵ
|
|
1489
|
+
i0.ɵɵconditional(ctx.showContextMenu ? 38 : -1);
|
|
1486
1490
|
i0.ɵɵadvance();
|
|
1487
|
-
i0.ɵɵ
|
|
1491
|
+
i0.ɵɵconditional(ctx.showCreateDialog ? 39 : -1);
|
|
1488
1492
|
i0.ɵɵadvance();
|
|
1489
|
-
i0.ɵɵ
|
|
1493
|
+
i0.ɵɵconditional(ctx.showCreateDialog ? 40 : -1);
|
|
1490
1494
|
i0.ɵɵadvance();
|
|
1491
|
-
i0.ɵɵ
|
|
1495
|
+
i0.ɵɵconditional(ctx.showDeleteConfirm ? 41 : -1);
|
|
1492
1496
|
i0.ɵɵadvance();
|
|
1493
|
-
i0.ɵɵ
|
|
1497
|
+
i0.ɵɵconditional(ctx.showDeleteConfirm ? 42 : -1);
|
|
1494
1498
|
i0.ɵɵadvance();
|
|
1495
|
-
i0.ɵɵ
|
|
1499
|
+
i0.ɵɵconditional(ctx.shareDialogConfig ? 43 : -1);
|
|
1496
1500
|
i0.ɵɵadvance();
|
|
1497
|
-
i0.ɵɵ
|
|
1498
|
-
} }, dependencies: [i4.NgForOf, i4.NgIf, i4.NgTemplateOutlet, i5.NgSelectOption, i5.ɵNgSelectMultipleOption, i5.DefaultValueAccessor, i5.SelectControlValueAccessor, i5.NgControlStatus, i5.NgModel, i6.LoadingComponent, i3.ListShareDialogComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-browse-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\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: white;\n border-bottom: 1px solid #e0e0e0;\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: #2196F3;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\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: #999;\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid #ddd;\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: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: #999;\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: #666;\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n background: white;\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid #ddd;\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: white;\n border: none;\n border-right: 1px solid #ddd;\n color: #666;\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: #f5f5f5;\n }\n\n .view-toggle.active {\n background: #2196F3;\n color: white;\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n color: white;\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: #1976D2;\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: linear-gradient(135deg, rgba(33, 150, 243, 0.1) 0%, rgba(33, 150, 243, 0.05) 100%);\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: #2196F3;\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: #9e9e9e;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: #333;\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: #666;\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: #999 !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: #555;\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: #4CAF50 !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);\n color: white;\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 rgba(33, 150, 243, 0.3);\n }\n\n .btn-create-large:hover {\n background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.4);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: #f0f0f0;\n border: none;\n border-radius: 6px;\n color: #666;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: #e0e0e0;\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: #666;\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: #666;\n }\n\n /* Table View */\n .lists-table {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\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: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n font-size: 14px;\n color: #333;\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: #f5f5f5;\n }\n\n .list-row:focus {\n background: #e8f4fd;\n }\n\n .list-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\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: #2196F3;\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: #999;\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: #e3f2fd;\n border-radius: 50%;\n color: #2196F3;\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: white;\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: #999;\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: #e8f4fd;\n border-radius: 4px;\n font-size: 12px;\n color: #1976D2;\n }\n\n .owner-name {\n color: #666;\n }\n\n .owner-name.is-me {\n color: #2196F3;\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: #e0e0e0;\n color: #666;\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: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\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: 0 4px 12px rgba(0,0,0,0.12);\n }\n\n .list-card:focus {\n outline: 2px solid #2196F3;\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 #2196F3;\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: white;\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: #f5f5f5;\n color: #666;\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: #333;\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: #666;\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: #999;\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 #f0f0f0;\n background: #fafafa;\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: #666;\n }\n\n .owner-tag.is-me {\n color: #2196F3;\n }\n\n .date-info {\n font-size: 12px;\n color: #999;\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: white;\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: #f5f5f5;\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: #999;\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: #ffc107;\n }\n\n .category-header.uncategorized .fa-inbox {\n color: #999;\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: #333;\n }\n\n .category-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid #f0f0f0;\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: #f5f5f5;\n }\n\n .hierarchy-row:focus {\n background: #e3f2fd;\n }\n\n .hierarchy-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: #999;\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: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\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: #333;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: #f5f5f5;\n }\n\n .menu-item.danger {\n color: #d32f2f;\n }\n\n .menu-item.danger:hover {\n background: #ffebee;\n }\n\n .menu-divider {\n height: 1px;\n background: #e0e0e0;\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\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 #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: #f0f0f0;\n color: #666;\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: #333;\n }\n\n .warning-text {\n color: #d32f2f !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 #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #2196F3;\n color: white;\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: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #d32f2f;\n color: white;\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: #c62828;\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: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n 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: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .form-input:disabled {\n background: #f5f5f5;\n color: #999;\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-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\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: #333;\n }\n\n .dropdown-item:hover {\n background: #e3f2fd;\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: #999;\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 });
|
|
1501
|
+
i0.ɵɵconditional(ctx.showEntityDropdown && !ctx.editingList ? 44 : -1);
|
|
1502
|
+
} }, dependencies: [i4.NgTemplateOutlet, i5.NgSelectOption, i5.ɵNgSelectMultipleOption, i5.DefaultValueAccessor, i5.SelectControlValueAccessor, i5.NgControlStatus, i5.NgModel, i6.LoadingComponent, i3.ListShareDialogComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-browse-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\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: white;\n border-bottom: 1px solid #e0e0e0;\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: #2196F3;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\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: #999;\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid #ddd;\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: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: #999;\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: #666;\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n background: white;\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid #ddd;\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: white;\n border: none;\n border-right: 1px solid #ddd;\n color: #666;\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: #f5f5f5;\n }\n\n .view-toggle.active {\n background: #2196F3;\n color: white;\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n color: white;\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: #1976D2;\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: linear-gradient(135deg, rgba(33, 150, 243, 0.1) 0%, rgba(33, 150, 243, 0.05) 100%);\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: #2196F3;\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: #9e9e9e;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: #333;\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: #666;\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: #999 !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: #555;\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: #4CAF50 !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);\n color: white;\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 rgba(33, 150, 243, 0.3);\n }\n\n .btn-create-large:hover {\n background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.4);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: #f0f0f0;\n border: none;\n border-radius: 6px;\n color: #666;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: #e0e0e0;\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: #666;\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: #666;\n }\n\n /* Table View */\n .lists-table {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\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: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n font-size: 14px;\n color: #333;\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: #f5f5f5;\n }\n\n .list-row:focus {\n background: #e8f4fd;\n }\n\n .list-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\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: #2196F3;\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: #999;\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: #e3f2fd;\n border-radius: 50%;\n color: #2196F3;\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: white;\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: #999;\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: #e8f4fd;\n border-radius: 4px;\n font-size: 12px;\n color: #1976D2;\n }\n\n .owner-name {\n color: #666;\n }\n\n .owner-name.is-me {\n color: #2196F3;\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: #e0e0e0;\n color: #666;\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: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\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: 0 4px 12px rgba(0,0,0,0.12);\n }\n\n .list-card:focus {\n outline: 2px solid #2196F3;\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 #2196F3;\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: white;\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: #f5f5f5;\n color: #666;\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: #333;\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: #666;\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: #999;\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 #f0f0f0;\n background: #fafafa;\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: #666;\n }\n\n .owner-tag.is-me {\n color: #2196F3;\n }\n\n .date-info {\n font-size: 12px;\n color: #999;\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: white;\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: #f5f5f5;\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: #999;\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: #ffc107;\n }\n\n .category-header.uncategorized .fa-inbox {\n color: #999;\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: #333;\n }\n\n .category-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid #f0f0f0;\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: #f5f5f5;\n }\n\n .hierarchy-row:focus {\n background: #e3f2fd;\n }\n\n .hierarchy-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: #999;\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: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\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: #333;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: #f5f5f5;\n }\n\n .menu-item.danger {\n color: #d32f2f;\n }\n\n .menu-item.danger:hover {\n background: #ffebee;\n }\n\n .menu-divider {\n height: 1px;\n background: #e0e0e0;\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\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 #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: #f0f0f0;\n color: #666;\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: #333;\n }\n\n .warning-text {\n color: #d32f2f !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 #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #2196F3;\n color: white;\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: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #d32f2f;\n color: white;\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: #c62828;\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: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n 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: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .form-input:disabled {\n background: #f5f5f5;\n color: #999;\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-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\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: #333;\n }\n\n .dropdown-item:hover {\n background: #e3f2fd;\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: #999;\n font-style: italic;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .header-row {\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n }\n\n .btn-create {\n width: 100%;\n justify-content: center;\n }\n\n .header-actions {\n flex-direction: column;\n align-items: stretch;\n }\n\n .search-box {\n max-width: none;\n }\n\n .filter-group {\n width: 100%;\n }\n\n .filter-select {\n flex: 1;\n width: 100%;\n }\n\n .view-toggle-group {\n justify-content: center;\n }\n\n .lists-table {\n overflow-x: auto;\n }\n\n .col-entity, .col-items, .col-updated {\n display: none;\n }\n\n .lists-grid {\n grid-template-columns: 1fr;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "], encapsulation: 2 });
|
|
1499
1503
|
};
|
|
1500
1504
|
ListsBrowseResource = __decorate([
|
|
1501
1505
|
RegisterClass(BaseResourceComponent, 'ListsBrowseResource')
|
|
@@ -1503,7 +1507,7 @@ ListsBrowseResource = __decorate([
|
|
|
1503
1507
|
export { ListsBrowseResource };
|
|
1504
1508
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListsBrowseResource, [{
|
|
1505
1509
|
type: Component,
|
|
1506
|
-
args: [{ selector: 'mj-lists-browse-resource', template: `
|
|
1510
|
+
args: [{ standalone: false, selector: 'mj-lists-browse-resource', template: `
|
|
1507
1511
|
<div class="lists-browse-container">
|
|
1508
1512
|
<!-- Header -->
|
|
1509
1513
|
<div class="browse-header">
|
|
@@ -1517,7 +1521,7 @@ export { ListsBrowseResource };
|
|
|
1517
1521
|
<span>New List</span>
|
|
1518
1522
|
</button>
|
|
1519
1523
|
</div>
|
|
1520
|
-
|
|
1524
|
+
|
|
1521
1525
|
<div class="header-actions">
|
|
1522
1526
|
<div class="search-box">
|
|
1523
1527
|
<i class="fa-solid fa-search"></i>
|
|
@@ -1526,31 +1530,37 @@ export { ListsBrowseResource };
|
|
|
1526
1530
|
placeholder="Search lists..."
|
|
1527
1531
|
[(ngModel)]="searchTerm"
|
|
1528
1532
|
(ngModelChange)="onSearchChange($event)" />
|
|
1529
|
-
|
|
1530
|
-
<
|
|
1531
|
-
|
|
1533
|
+
@if (searchTerm) {
|
|
1534
|
+
<button class="clear-search" (click)="clearSearch()">
|
|
1535
|
+
<i class="fa-solid fa-times"></i>
|
|
1536
|
+
</button>
|
|
1537
|
+
}
|
|
1532
1538
|
</div>
|
|
1533
|
-
|
|
1539
|
+
|
|
1534
1540
|
<div class="filter-group">
|
|
1535
1541
|
<select
|
|
1536
1542
|
[(ngModel)]="selectedOwner"
|
|
1537
1543
|
(ngModelChange)="onOwnerFilterChange($event)"
|
|
1538
1544
|
class="filter-select"
|
|
1539
1545
|
title="Filter by owner">
|
|
1540
|
-
|
|
1546
|
+
@for (opt of ownerOptions; track opt) {
|
|
1547
|
+
<option [value]="opt.value">{{opt.name}}</option>
|
|
1548
|
+
}
|
|
1541
1549
|
</select>
|
|
1542
1550
|
</div>
|
|
1543
|
-
|
|
1551
|
+
|
|
1544
1552
|
<div class="filter-group">
|
|
1545
1553
|
<select
|
|
1546
1554
|
[(ngModel)]="selectedEntity"
|
|
1547
1555
|
(ngModelChange)="onEntityFilterChange($event)"
|
|
1548
1556
|
class="filter-select"
|
|
1549
1557
|
title="Filter by entity">
|
|
1550
|
-
|
|
1558
|
+
@for (opt of entityOptions; track opt) {
|
|
1559
|
+
<option [value]="opt.value">{{opt.name}}</option>
|
|
1560
|
+
}
|
|
1551
1561
|
</select>
|
|
1552
1562
|
</div>
|
|
1553
|
-
|
|
1563
|
+
|
|
1554
1564
|
<div class="view-toggle-group">
|
|
1555
1565
|
<button
|
|
1556
1566
|
class="view-toggle"
|
|
@@ -1576,395 +1586,461 @@ export { ListsBrowseResource };
|
|
|
1576
1586
|
</div>
|
|
1577
1587
|
</div>
|
|
1578
1588
|
</div>
|
|
1579
|
-
|
|
1589
|
+
|
|
1580
1590
|
<!-- Loading State -->
|
|
1581
|
-
|
|
1582
|
-
<
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
<!-- Empty State - No Lists -->
|
|
1586
|
-
<div class="empty-state" *ngIf="!isLoading && allLists.length === 0">
|
|
1587
|
-
<div class="empty-state-icon-wrapper">
|
|
1588
|
-
<div class="icon-bg"></div>
|
|
1589
|
-
<i class="fa-solid fa-list-check"></i>
|
|
1591
|
+
@if (isLoading) {
|
|
1592
|
+
<div class="loading-container">
|
|
1593
|
+
<mj-loading text="Loading lists..." size="medium"></mj-loading>
|
|
1590
1594
|
</div>
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
<i class="fa-solid fa-check-circle"></i>
|
|
1600
|
-
<span>Organize with categories</span>
|
|
1595
|
+
}
|
|
1596
|
+
|
|
1597
|
+
<!-- Empty State - No Lists -->
|
|
1598
|
+
@if (!isLoading && allLists.length === 0) {
|
|
1599
|
+
<div class="empty-state">
|
|
1600
|
+
<div class="empty-state-icon-wrapper">
|
|
1601
|
+
<div class="icon-bg"></div>
|
|
1602
|
+
<i class="fa-solid fa-list-check"></i>
|
|
1601
1603
|
</div>
|
|
1602
|
-
<
|
|
1603
|
-
|
|
1604
|
-
|
|
1604
|
+
<h3>No Lists Yet</h3>
|
|
1605
|
+
<p>Lists help you organize and track groups of records across your data.</p>
|
|
1606
|
+
<div class="empty-state-features">
|
|
1607
|
+
<div class="feature-item">
|
|
1608
|
+
<i class="fa-solid fa-check-circle"></i>
|
|
1609
|
+
<span>Group records from any entity</span>
|
|
1610
|
+
</div>
|
|
1611
|
+
<div class="feature-item">
|
|
1612
|
+
<i class="fa-solid fa-check-circle"></i>
|
|
1613
|
+
<span>Organize with categories</span>
|
|
1614
|
+
</div>
|
|
1615
|
+
<div class="feature-item">
|
|
1616
|
+
<i class="fa-solid fa-check-circle"></i>
|
|
1617
|
+
<span>Quick access from any view</span>
|
|
1618
|
+
</div>
|
|
1605
1619
|
</div>
|
|
1620
|
+
<button class="btn-create-large" (click)="createNewList()">
|
|
1621
|
+
<i class="fa-solid fa-plus"></i>
|
|
1622
|
+
Create Your First List
|
|
1623
|
+
</button>
|
|
1606
1624
|
</div>
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
Create Your First List
|
|
1610
|
-
</button>
|
|
1611
|
-
</div>
|
|
1612
|
-
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1613
1627
|
<!-- Empty State - No Results -->
|
|
1614
|
-
|
|
1615
|
-
<div class="empty-state
|
|
1616
|
-
<
|
|
1628
|
+
@if (!isLoading && allLists.length > 0 && filteredLists.length === 0) {
|
|
1629
|
+
<div class="empty-state search-empty">
|
|
1630
|
+
<div class="empty-state-icon-wrapper search">
|
|
1631
|
+
<i class="fa-solid fa-filter-circle-xmark"></i>
|
|
1632
|
+
</div>
|
|
1633
|
+
<h3>No Results Found</h3>
|
|
1634
|
+
<p>No lists match your current filters.</p>
|
|
1635
|
+
<p class="empty-hint">Try adjusting your search or filters.</p>
|
|
1636
|
+
<button class="btn-clear" (click)="clearFilters()">Clear All Filters</button>
|
|
1617
1637
|
</div>
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
<p class="empty-hint">Try adjusting your search or filters.</p>
|
|
1621
|
-
<button class="btn-clear" (click)="clearFilters()">Clear All Filters</button>
|
|
1622
|
-
</div>
|
|
1623
|
-
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1624
1640
|
<!-- Results Content -->
|
|
1625
|
-
|
|
1626
|
-
<div class="
|
|
1627
|
-
<
|
|
1628
|
-
|
|
1629
|
-
<
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1641
|
+
@if (!isLoading && filteredLists.length > 0) {
|
|
1642
|
+
<div class="browse-content">
|
|
1643
|
+
<div class="results-header">
|
|
1644
|
+
<span class="result-count">{{filteredLists.length}} list{{filteredLists.length !== 1 ? 's' : ''}}</span>
|
|
1645
|
+
<div class="sort-options">
|
|
1646
|
+
<label>Sort:</label>
|
|
1647
|
+
<select
|
|
1648
|
+
[(ngModel)]="selectedSort"
|
|
1649
|
+
(ngModelChange)="onSortChange($event)"
|
|
1650
|
+
class="filter-select sort-select">
|
|
1651
|
+
@for (opt of sortOptions; track opt) {
|
|
1652
|
+
<option [value]="opt.value">{{opt.name}}</option>
|
|
1653
|
+
}
|
|
1654
|
+
</select>
|
|
1655
|
+
</div>
|
|
1636
1656
|
</div>
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1657
|
+
<!-- Table View -->
|
|
1658
|
+
@if (viewMode === 'table') {
|
|
1659
|
+
<div class="lists-table">
|
|
1660
|
+
<table role="grid" aria-label="Lists table">
|
|
1661
|
+
<thead>
|
|
1662
|
+
<tr>
|
|
1663
|
+
<th class="col-name" scope="col">Name</th>
|
|
1664
|
+
<th class="col-entity" scope="col">Entity</th>
|
|
1665
|
+
<th class="col-items" scope="col">Items</th>
|
|
1666
|
+
<th class="col-sharing" scope="col">Shared</th>
|
|
1667
|
+
<th class="col-owner" scope="col">Owner</th>
|
|
1668
|
+
<th class="col-updated" scope="col">Updated</th>
|
|
1669
|
+
<th class="col-actions" scope="col"><span class="sr-only">Actions</span></th>
|
|
1670
|
+
</tr>
|
|
1671
|
+
</thead>
|
|
1672
|
+
<tbody>
|
|
1673
|
+
@for (item of filteredLists; track item) {
|
|
1674
|
+
<tr
|
|
1675
|
+
(click)="openList(item)"
|
|
1676
|
+
(keydown.enter)="openList(item)"
|
|
1677
|
+
class="list-row"
|
|
1678
|
+
tabindex="0"
|
|
1679
|
+
role="row">
|
|
1680
|
+
<td class="col-name" role="gridcell">
|
|
1681
|
+
<div class="name-cell">
|
|
1682
|
+
<div class="list-icon" [style.background-color]="getEntityColor(item.entityName)" aria-hidden="true">
|
|
1683
|
+
<i [class]="getEntityIcon(item.entityName)"></i>
|
|
1684
|
+
</div>
|
|
1685
|
+
<div class="name-content">
|
|
1686
|
+
<span class="list-name">{{item.list.Name}}</span>
|
|
1687
|
+
@if (item.list.Description) {
|
|
1688
|
+
<span class="list-desc">{{item.list.Description}}</span>
|
|
1689
|
+
}
|
|
1690
|
+
</div>
|
|
1691
|
+
</div>
|
|
1692
|
+
</td>
|
|
1693
|
+
<td class="col-entity" role="gridcell">
|
|
1694
|
+
<span class="entity-badge">{{item.entityName}}</span>
|
|
1695
|
+
</td>
|
|
1696
|
+
<td class="col-items" role="gridcell">{{item.itemCount}}</td>
|
|
1697
|
+
<td class="col-sharing" role="gridcell">
|
|
1698
|
+
@if (item.sharingInfo; as sharing) {
|
|
1699
|
+
@if (sharing.totalShares > 0) {
|
|
1700
|
+
<span class="sharing-indicator">
|
|
1701
|
+
<i class="fa-solid fa-share-nodes"></i>
|
|
1702
|
+
<span class="share-count">{{sharing.totalShares}}</span>
|
|
1703
|
+
</span>
|
|
1704
|
+
}
|
|
1705
|
+
@if (sharing.totalShares === 0) {
|
|
1706
|
+
<span class="sharing-private">
|
|
1707
|
+
<i class="fa-solid fa-lock"></i>
|
|
1708
|
+
</span>
|
|
1709
|
+
}
|
|
1710
|
+
}
|
|
1711
|
+
@if (!item.sharingInfo) {
|
|
1712
|
+
<span class="sharing-private">
|
|
1713
|
+
<i class="fa-solid fa-lock"></i>
|
|
1714
|
+
</span>
|
|
1715
|
+
}
|
|
1716
|
+
</td>
|
|
1717
|
+
<td class="col-owner" role="gridcell">
|
|
1718
|
+
<span class="owner-name" [class.is-me]="item.isOwner">
|
|
1719
|
+
{{item.isOwner ? 'You' : item.ownerName}}
|
|
1720
|
+
</span>
|
|
1721
|
+
</td>
|
|
1722
|
+
<td class="col-updated" role="gridcell">{{formatDate(item.list.__mj_UpdatedAt)}}</td>
|
|
1723
|
+
<td class="col-actions" role="gridcell">
|
|
1724
|
+
@if (item.isOwner) {
|
|
1725
|
+
<button
|
|
1726
|
+
class="action-btn"
|
|
1727
|
+
(click)="openListMenu($event, item)"
|
|
1728
|
+
title="More options">
|
|
1729
|
+
<i class="fa-solid fa-ellipsis-v" aria-hidden="true"></i>
|
|
1730
|
+
</button>
|
|
1731
|
+
}
|
|
1732
|
+
</td>
|
|
1733
|
+
</tr>
|
|
1734
|
+
}
|
|
1735
|
+
</tbody>
|
|
1736
|
+
</table>
|
|
1737
|
+
</div>
|
|
1738
|
+
}
|
|
1739
|
+
<!-- Card View -->
|
|
1740
|
+
@if (viewMode === 'card') {
|
|
1741
|
+
<div class="lists-grid" role="list" aria-label="Lists">
|
|
1742
|
+
@for (item of filteredLists; track item) {
|
|
1743
|
+
<div
|
|
1744
|
+
class="list-card"
|
|
1745
|
+
(click)="openList(item)"
|
|
1746
|
+
(keydown.enter)="openList(item)"
|
|
1747
|
+
tabindex="0"
|
|
1748
|
+
role="listitem">
|
|
1749
|
+
<div class="card-header">
|
|
1750
|
+
<div class="card-icon" [style.background-color]="getEntityColor(item.entityName)" aria-hidden="true">
|
|
1664
1751
|
<i [class]="getEntityIcon(item.entityName)"></i>
|
|
1665
1752
|
</div>
|
|
1666
|
-
|
|
1667
|
-
<
|
|
1668
|
-
|
|
1753
|
+
@if (item.isOwner) {
|
|
1754
|
+
<div class="card-menu">
|
|
1755
|
+
<button class="menu-btn" (click)="openListMenu($event, item)">
|
|
1756
|
+
<i class="fa-solid fa-ellipsis-v" aria-hidden="true"></i>
|
|
1757
|
+
</button>
|
|
1758
|
+
</div>
|
|
1759
|
+
}
|
|
1760
|
+
</div>
|
|
1761
|
+
<div class="card-body">
|
|
1762
|
+
<h3 class="card-title">{{item.list.Name}}</h3>
|
|
1763
|
+
@if (item.list.Description) {
|
|
1764
|
+
<p class="card-description">{{item.list.Description}}</p>
|
|
1765
|
+
}
|
|
1766
|
+
<div class="card-meta">
|
|
1767
|
+
<span class="meta-item">
|
|
1768
|
+
<i class="fa-solid fa-database"></i>
|
|
1769
|
+
{{item.entityName}}
|
|
1770
|
+
</span>
|
|
1771
|
+
<span class="meta-item">
|
|
1772
|
+
<i class="fa-solid fa-hashtag"></i>
|
|
1773
|
+
{{item.itemCount}} item{{item.itemCount !== 1 ? 's' : ''}}
|
|
1774
|
+
</span>
|
|
1669
1775
|
</div>
|
|
1670
1776
|
</div>
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
<td class="col-items" role="gridcell">{{item.itemCount}}</td>
|
|
1676
|
-
<td class="col-sharing" role="gridcell">
|
|
1677
|
-
<ng-container *ngIf="item.sharingInfo as sharing">
|
|
1678
|
-
<span class="sharing-indicator" *ngIf="sharing.totalShares > 0">
|
|
1679
|
-
<i class="fa-solid fa-share-nodes"></i>
|
|
1680
|
-
<span class="share-count">{{sharing.totalShares}}</span>
|
|
1681
|
-
</span>
|
|
1682
|
-
<span class="sharing-private" *ngIf="sharing.totalShares === 0">
|
|
1683
|
-
<i class="fa-solid fa-lock"></i>
|
|
1777
|
+
<div class="card-footer">
|
|
1778
|
+
<span class="owner-tag" [class.is-me]="item.isOwner">
|
|
1779
|
+
<i class="fa-solid fa-user"></i>
|
|
1780
|
+
{{item.isOwner ? 'You' : item.ownerName}}
|
|
1684
1781
|
</span>
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
class="action-btn"
|
|
1699
|
-
*ngIf="item.isOwner"
|
|
1700
|
-
(click)="openListMenu($event, item)"
|
|
1701
|
-
title="More options">
|
|
1702
|
-
<i class="fa-solid fa-ellipsis-v" aria-hidden="true"></i>
|
|
1703
|
-
</button>
|
|
1704
|
-
</td>
|
|
1705
|
-
</tr>
|
|
1706
|
-
</tbody>
|
|
1707
|
-
</table>
|
|
1708
|
-
</div>
|
|
1709
|
-
|
|
1710
|
-
<!-- Card View -->
|
|
1711
|
-
<div class="lists-grid" *ngIf="viewMode === 'card'" role="list" aria-label="Lists">
|
|
1712
|
-
<div
|
|
1713
|
-
class="list-card"
|
|
1714
|
-
*ngFor="let item of filteredLists"
|
|
1715
|
-
(click)="openList(item)"
|
|
1716
|
-
(keydown.enter)="openList(item)"
|
|
1717
|
-
tabindex="0"
|
|
1718
|
-
role="listitem">
|
|
1719
|
-
<div class="card-header">
|
|
1720
|
-
<div class="card-icon" [style.background-color]="getEntityColor(item.entityName)" aria-hidden="true">
|
|
1721
|
-
<i [class]="getEntityIcon(item.entityName)"></i>
|
|
1722
|
-
</div>
|
|
1723
|
-
<div class="card-menu" *ngIf="item.isOwner">
|
|
1724
|
-
<button class="menu-btn" (click)="openListMenu($event, item)">
|
|
1725
|
-
<i class="fa-solid fa-ellipsis-v" aria-hidden="true"></i>
|
|
1726
|
-
</button>
|
|
1727
|
-
</div>
|
|
1728
|
-
</div>
|
|
1729
|
-
<div class="card-body">
|
|
1730
|
-
<h3 class="card-title">{{item.list.Name}}</h3>
|
|
1731
|
-
<p class="card-description" *ngIf="item.list.Description">{{item.list.Description}}</p>
|
|
1732
|
-
<div class="card-meta">
|
|
1733
|
-
<span class="meta-item">
|
|
1734
|
-
<i class="fa-solid fa-database"></i>
|
|
1735
|
-
{{item.entityName}}
|
|
1736
|
-
</span>
|
|
1737
|
-
<span class="meta-item">
|
|
1738
|
-
<i class="fa-solid fa-hashtag"></i>
|
|
1739
|
-
{{item.itemCount}} item{{item.itemCount !== 1 ? 's' : ''}}
|
|
1740
|
-
</span>
|
|
1741
|
-
</div>
|
|
1782
|
+
<div class="card-footer-right">
|
|
1783
|
+
@if (item.sharingInfo; as sharing) {
|
|
1784
|
+
@if (sharing.totalShares > 0) {
|
|
1785
|
+
<span class="sharing-badge" [title]="'Shared with ' + sharing.totalShares + ' user(s)/role(s)'">
|
|
1786
|
+
<i class="fa-solid fa-share-nodes"></i>
|
|
1787
|
+
</span>
|
|
1788
|
+
}
|
|
1789
|
+
}
|
|
1790
|
+
<span class="date-info">{{formatDate(item.list.__mj_UpdatedAt)}}</span>
|
|
1791
|
+
</div>
|
|
1792
|
+
</div>
|
|
1793
|
+
</div>
|
|
1794
|
+
}
|
|
1742
1795
|
</div>
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
<span class="sharing-badge" *ngIf="sharing.totalShares > 0" [title]="'Shared with ' + sharing.totalShares + ' user(s)/role(s)'">
|
|
1751
|
-
<i class="fa-solid fa-share-nodes"></i>
|
|
1752
|
-
</span>
|
|
1753
|
-
</ng-container>
|
|
1754
|
-
<span class="date-info">{{formatDate(item.list.__mj_UpdatedAt)}}</span>
|
|
1755
|
-
</div>
|
|
1796
|
+
}
|
|
1797
|
+
<!-- Hierarchy View -->
|
|
1798
|
+
@if (viewMode === 'hierarchy') {
|
|
1799
|
+
<div class="category-tree">
|
|
1800
|
+
@for (node of categoryTree; track node) {
|
|
1801
|
+
<ng-container *ngTemplateOutlet="categoryNodeTemplate; context: { node: node, depth: 0 }"></ng-container>
|
|
1802
|
+
}
|
|
1756
1803
|
</div>
|
|
1757
|
-
|
|
1804
|
+
}
|
|
1758
1805
|
</div>
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
<div class="category-tree" *ngIf="viewMode === 'hierarchy'">
|
|
1762
|
-
<ng-container *ngFor="let node of categoryTree">
|
|
1763
|
-
<ng-container *ngTemplateOutlet="categoryNodeTemplate; context: { node: node, depth: 0 }"></ng-container>
|
|
1764
|
-
</ng-container>
|
|
1765
|
-
</div>
|
|
1766
|
-
</div>
|
|
1767
|
-
|
|
1806
|
+
}
|
|
1807
|
+
|
|
1768
1808
|
<!-- Category Node Template -->
|
|
1769
1809
|
<ng-template #categoryNodeTemplate let-node="node" let-depth="depth">
|
|
1770
1810
|
<div class="category-section" [style.margin-left.px]="depth * 20">
|
|
1771
1811
|
<!-- Category Header -->
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1812
|
+
@if (node.category) {
|
|
1813
|
+
<div
|
|
1814
|
+
class="category-header"
|
|
1815
|
+
(click)="toggleCategory(node)">
|
|
1816
|
+
<i [class]="node.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'"></i>
|
|
1817
|
+
<i class="fa-solid fa-folder" [class.fa-folder-open]="node.isExpanded"></i>
|
|
1818
|
+
<span class="category-name">{{node.category.Name}}</span>
|
|
1819
|
+
<span class="category-count">{{getListCountInCategory(node)}}</span>
|
|
1820
|
+
</div>
|
|
1821
|
+
}
|
|
1822
|
+
|
|
1782
1823
|
<!-- Uncategorized Header -->
|
|
1783
|
-
|
|
1784
|
-
class="category-header uncategorized"
|
|
1785
|
-
*ngIf="!node.category && node.lists.length > 0"
|
|
1786
|
-
(click)="toggleCategory(node)">
|
|
1787
|
-
<i [class]="node.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'"></i>
|
|
1788
|
-
<i class="fa-solid fa-inbox"></i>
|
|
1789
|
-
<span class="category-name">Uncategorized</span>
|
|
1790
|
-
<span class="category-count">{{node.lists.length}}</span>
|
|
1791
|
-
</div>
|
|
1792
|
-
|
|
1793
|
-
<!-- Lists in this category -->
|
|
1794
|
-
<div class="category-lists" *ngIf="node.isExpanded" role="list">
|
|
1824
|
+
@if (!node.category && node.lists.length > 0) {
|
|
1795
1825
|
<div
|
|
1796
|
-
class="
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
<div class="list-icon" [style.background-color]="getEntityColor(item.entityName)" aria-hidden="true">
|
|
1803
|
-
<i [class]="getEntityIcon(item.entityName)"></i>
|
|
1804
|
-
</div>
|
|
1805
|
-
<div class="list-info">
|
|
1806
|
-
<span class="list-name">{{item.list.Name}}</span>
|
|
1807
|
-
<span class="list-meta">
|
|
1808
|
-
{{item.entityName}} · {{item.itemCount}} items
|
|
1809
|
-
<span *ngIf="!item.isOwner"> · {{item.ownerName}}</span>
|
|
1810
|
-
</span>
|
|
1811
|
-
</div>
|
|
1812
|
-
<div class="list-actions" *ngIf="item.isOwner">
|
|
1813
|
-
<button class="action-btn" (click)="openListMenu($event, item)">
|
|
1814
|
-
<i class="fa-solid fa-ellipsis-v" aria-hidden="true"></i>
|
|
1815
|
-
</button>
|
|
1816
|
-
</div>
|
|
1826
|
+
class="category-header uncategorized"
|
|
1827
|
+
(click)="toggleCategory(node)">
|
|
1828
|
+
<i [class]="node.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'"></i>
|
|
1829
|
+
<i class="fa-solid fa-inbox"></i>
|
|
1830
|
+
<span class="category-name">Uncategorized</span>
|
|
1831
|
+
<span class="category-count">{{node.lists.length}}</span>
|
|
1817
1832
|
</div>
|
|
1818
|
-
|
|
1819
|
-
|
|
1833
|
+
}
|
|
1834
|
+
|
|
1835
|
+
<!-- Lists in this category -->
|
|
1836
|
+
@if (node.isExpanded) {
|
|
1837
|
+
<div class="category-lists" role="list">
|
|
1838
|
+
@for (item of node.lists; track item) {
|
|
1839
|
+
<div
|
|
1840
|
+
class="list-row hierarchy-row"
|
|
1841
|
+
(click)="openList(item)"
|
|
1842
|
+
(keydown.enter)="openList(item)"
|
|
1843
|
+
tabindex="0"
|
|
1844
|
+
role="listitem">
|
|
1845
|
+
<div class="list-icon" [style.background-color]="getEntityColor(item.entityName)" aria-hidden="true">
|
|
1846
|
+
<i [class]="getEntityIcon(item.entityName)"></i>
|
|
1847
|
+
</div>
|
|
1848
|
+
<div class="list-info">
|
|
1849
|
+
<span class="list-name">{{item.list.Name}}</span>
|
|
1850
|
+
<span class="list-meta">
|
|
1851
|
+
{{item.entityName}} · {{item.itemCount}} items
|
|
1852
|
+
@if (!item.isOwner) {
|
|
1853
|
+
<span> · {{item.ownerName}}</span>
|
|
1854
|
+
}
|
|
1855
|
+
</span>
|
|
1856
|
+
</div>
|
|
1857
|
+
@if (item.isOwner) {
|
|
1858
|
+
<div class="list-actions">
|
|
1859
|
+
<button class="action-btn" (click)="openListMenu($event, item)">
|
|
1860
|
+
<i class="fa-solid fa-ellipsis-v" aria-hidden="true"></i>
|
|
1861
|
+
</button>
|
|
1862
|
+
</div>
|
|
1863
|
+
}
|
|
1864
|
+
</div>
|
|
1865
|
+
}
|
|
1866
|
+
</div>
|
|
1867
|
+
}
|
|
1868
|
+
|
|
1820
1869
|
<!-- Child categories -->
|
|
1821
|
-
|
|
1822
|
-
|
|
1870
|
+
@if (node.isExpanded) {
|
|
1871
|
+
@for (child of node.children; track child) {
|
|
1823
1872
|
<ng-container *ngTemplateOutlet="categoryNodeTemplate; context: { node: child, depth: depth + 1 }"></ng-container>
|
|
1824
|
-
|
|
1825
|
-
|
|
1873
|
+
}
|
|
1874
|
+
}
|
|
1826
1875
|
</div>
|
|
1827
1876
|
</ng-template>
|
|
1828
|
-
|
|
1877
|
+
|
|
1829
1878
|
<!-- Context Menu -->
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
<!-- Create/Edit Dialog -->
|
|
1852
|
-
<div class="modal-overlay" *ngIf="showCreateDialog" (click)="closeCreateDialog()"></div>
|
|
1853
|
-
<div class="modal-dialog" *ngIf="showCreateDialog">
|
|
1854
|
-
<div class="modal-header">
|
|
1855
|
-
<h3>{{editingList ? 'Edit List' : 'Create New List'}}</h3>
|
|
1856
|
-
<button class="modal-close" (click)="closeCreateDialog()">
|
|
1857
|
-
<i class="fa-solid fa-times"></i>
|
|
1879
|
+
@if (showContextMenu) {
|
|
1880
|
+
<div class="context-menu-overlay" (click)="closeContextMenu()"></div>
|
|
1881
|
+
}
|
|
1882
|
+
@if (showContextMenu) {
|
|
1883
|
+
<div class="context-menu" [style.top.px]="contextMenuY" [style.left.px]="contextMenuX">
|
|
1884
|
+
<button class="menu-item" (click)="editList()">
|
|
1885
|
+
<i class="fa-solid fa-pen"></i>
|
|
1886
|
+
Edit
|
|
1887
|
+
</button>
|
|
1888
|
+
<button class="menu-item" (click)="openShareDialog()">
|
|
1889
|
+
<i class="fa-solid fa-share-nodes"></i>
|
|
1890
|
+
Share
|
|
1891
|
+
</button>
|
|
1892
|
+
<button class="menu-item" (click)="duplicateList()">
|
|
1893
|
+
<i class="fa-solid fa-copy"></i>
|
|
1894
|
+
Duplicate
|
|
1895
|
+
</button>
|
|
1896
|
+
<div class="menu-divider"></div>
|
|
1897
|
+
<button class="menu-item danger" (click)="confirmDeleteList()">
|
|
1898
|
+
<i class="fa-solid fa-trash"></i>
|
|
1899
|
+
Delete
|
|
1858
1900
|
</button>
|
|
1859
1901
|
</div>
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
<
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
placeholder="Optional description"
|
|
1874
|
-
class="form-input"
|
|
1875
|
-
rows="3"></textarea>
|
|
1902
|
+
}
|
|
1903
|
+
|
|
1904
|
+
<!-- Create/Edit Dialog -->
|
|
1905
|
+
@if (showCreateDialog) {
|
|
1906
|
+
<div class="modal-overlay" (click)="closeCreateDialog()"></div>
|
|
1907
|
+
}
|
|
1908
|
+
@if (showCreateDialog) {
|
|
1909
|
+
<div class="modal-dialog">
|
|
1910
|
+
<div class="modal-header">
|
|
1911
|
+
<h3>{{editingList ? 'Edit List' : 'Create New List'}}</h3>
|
|
1912
|
+
<button class="modal-close" (click)="closeCreateDialog()">
|
|
1913
|
+
<i class="fa-solid fa-times"></i>
|
|
1914
|
+
</button>
|
|
1876
1915
|
</div>
|
|
1877
|
-
<div class="
|
|
1878
|
-
<
|
|
1879
|
-
|
|
1916
|
+
<div class="modal-body">
|
|
1917
|
+
<div class="form-group">
|
|
1918
|
+
<label>Name *</label>
|
|
1880
1919
|
<input
|
|
1881
|
-
#entityInput
|
|
1882
1920
|
type="text"
|
|
1883
|
-
[(ngModel)]="
|
|
1884
|
-
|
|
1885
|
-
(focus)="openEntityDropdown(entityInput)"
|
|
1886
|
-
placeholder="Search and select an entity"
|
|
1921
|
+
[(ngModel)]="newListName"
|
|
1922
|
+
placeholder="Enter list name"
|
|
1887
1923
|
class="form-input" />
|
|
1888
1924
|
</div>
|
|
1925
|
+
<div class="form-group">
|
|
1926
|
+
<label>Description</label>
|
|
1927
|
+
<textarea
|
|
1928
|
+
[(ngModel)]="newListDescription"
|
|
1929
|
+
placeholder="Optional description"
|
|
1930
|
+
class="form-input"
|
|
1931
|
+
rows="3"></textarea>
|
|
1932
|
+
</div>
|
|
1933
|
+
@if (!editingList) {
|
|
1934
|
+
<div class="form-group">
|
|
1935
|
+
<label>Entity *</label>
|
|
1936
|
+
<div class="custom-select-wrapper">
|
|
1937
|
+
<input
|
|
1938
|
+
#entityInput
|
|
1939
|
+
type="text"
|
|
1940
|
+
[(ngModel)]="entitySearchTerm"
|
|
1941
|
+
(ngModelChange)="filterEntities($event)"
|
|
1942
|
+
(focus)="openEntityDropdown(entityInput)"
|
|
1943
|
+
placeholder="Search and select an entity"
|
|
1944
|
+
class="form-input" />
|
|
1945
|
+
</div>
|
|
1946
|
+
</div>
|
|
1947
|
+
}
|
|
1948
|
+
@if (editingList) {
|
|
1949
|
+
<div class="form-group">
|
|
1950
|
+
<label>Entity</label>
|
|
1951
|
+
<input type="text" [value]="entitySearchTerm" class="form-input" disabled />
|
|
1952
|
+
</div>
|
|
1953
|
+
}
|
|
1954
|
+
<div class="form-group">
|
|
1955
|
+
<label>Category</label>
|
|
1956
|
+
<select [(ngModel)]="selectedCategoryId" class="form-input">
|
|
1957
|
+
<option [ngValue]="null">No category</option>
|
|
1958
|
+
@for (cat of flatCategories; track cat) {
|
|
1959
|
+
<option [ngValue]="cat.ID">{{cat.displayName}}</option>
|
|
1960
|
+
}
|
|
1961
|
+
</select>
|
|
1962
|
+
</div>
|
|
1889
1963
|
</div>
|
|
1890
|
-
<div class="
|
|
1891
|
-
<
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
</
|
|
1964
|
+
<div class="modal-footer">
|
|
1965
|
+
<button
|
|
1966
|
+
class="btn-primary"
|
|
1967
|
+
(click)="saveList()"
|
|
1968
|
+
[disabled]="!newListName || (!editingList && !selectedEntityId) || isSaving">
|
|
1969
|
+
@if (isSaving) {
|
|
1970
|
+
<i class="fa-solid fa-spinner fa-spin"></i>
|
|
1971
|
+
}
|
|
1972
|
+
{{isSaving ? 'Saving...' : (editingList ? 'Save' : 'Create')}}
|
|
1973
|
+
</button>
|
|
1974
|
+
<button class="btn-secondary" (click)="closeCreateDialog()" [disabled]="isSaving">Cancel</button>
|
|
1900
1975
|
</div>
|
|
1901
1976
|
</div>
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
class="btn-primary"
|
|
1905
|
-
(click)="saveList()"
|
|
1906
|
-
[disabled]="!newListName || (!editingList && !selectedEntityId) || isSaving">
|
|
1907
|
-
<i *ngIf="isSaving" class="fa-solid fa-spinner fa-spin"></i>
|
|
1908
|
-
{{isSaving ? 'Saving...' : (editingList ? 'Save' : 'Create')}}
|
|
1909
|
-
</button>
|
|
1910
|
-
<button class="btn-secondary" (click)="closeCreateDialog()" [disabled]="isSaving">Cancel</button>
|
|
1911
|
-
</div>
|
|
1912
|
-
</div>
|
|
1913
|
-
|
|
1977
|
+
}
|
|
1978
|
+
|
|
1914
1979
|
<!-- Delete Confirmation Dialog -->
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1980
|
+
@if (showDeleteConfirm) {
|
|
1981
|
+
<div class="modal-overlay" (click)="cancelDelete()"></div>
|
|
1982
|
+
}
|
|
1983
|
+
@if (showDeleteConfirm) {
|
|
1984
|
+
<div class="modal-dialog confirm-dialog">
|
|
1985
|
+
<div class="modal-header">
|
|
1986
|
+
<h3>Delete List</h3>
|
|
1987
|
+
<button class="modal-close" (click)="cancelDelete()">
|
|
1988
|
+
<i class="fa-solid fa-times"></i>
|
|
1989
|
+
</button>
|
|
1990
|
+
</div>
|
|
1991
|
+
<div class="modal-body">
|
|
1992
|
+
<p>Are you sure you want to delete "<strong>{{deleteListName}}</strong>"?</p>
|
|
1993
|
+
<p class="warning-text">This will also remove all items in the list.</p>
|
|
1994
|
+
</div>
|
|
1995
|
+
<div class="modal-footer">
|
|
1996
|
+
<button class="btn-danger" (click)="deleteList()" [disabled]="isDeleting">
|
|
1997
|
+
@if (isDeleting) {
|
|
1998
|
+
<i class="fa-solid fa-spinner fa-spin"></i>
|
|
1999
|
+
}
|
|
2000
|
+
{{isDeleting ? 'Deleting...' : 'Delete'}}
|
|
2001
|
+
</button>
|
|
2002
|
+
<button class="btn-secondary" (click)="cancelDelete()" [disabled]="isDeleting">Cancel</button>
|
|
2003
|
+
</div>
|
|
1933
2004
|
</div>
|
|
1934
|
-
|
|
1935
|
-
|
|
2005
|
+
}
|
|
2006
|
+
|
|
1936
2007
|
<!-- Share Dialog -->
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
2008
|
+
@if (shareDialogConfig) {
|
|
2009
|
+
<mj-list-share-dialog
|
|
2010
|
+
[config]="shareDialogConfig"
|
|
2011
|
+
[visible]="showShareDialog"
|
|
2012
|
+
(complete)="onShareComplete($event)"
|
|
2013
|
+
(cancel)="onShareCancel()">
|
|
2014
|
+
</mj-list-share-dialog>
|
|
2015
|
+
}
|
|
2016
|
+
|
|
1945
2017
|
<!-- Entity Dropdown Portal -->
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
2018
|
+
@if (showEntityDropdown && !editingList) {
|
|
2019
|
+
<div
|
|
2020
|
+
class="entity-dropdown-portal"
|
|
2021
|
+
[style.top.px]="entityDropdownPosition.top"
|
|
2022
|
+
[style.left.px]="entityDropdownPosition.left"
|
|
2023
|
+
[style.width.px]="entityDropdownPosition.width"
|
|
2024
|
+
[class.dropdown-above]="entityDropdownPosition.openAbove">
|
|
2025
|
+
<div class="entity-dropdown-backdrop" (click)="closeEntityDropdown()"></div>
|
|
2026
|
+
<div class="entity-dropdown-content" [class.open-above]="entityDropdownPosition.openAbove">
|
|
2027
|
+
@for (entity of filteredEntitiesList; track entity) {
|
|
2028
|
+
<div
|
|
2029
|
+
class="dropdown-item"
|
|
2030
|
+
(click)="selectEntity(entity)">
|
|
2031
|
+
{{entity.Name}}
|
|
2032
|
+
</div>
|
|
2033
|
+
}
|
|
2034
|
+
@if (filteredEntitiesList.length === 0) {
|
|
2035
|
+
<div class="dropdown-empty">
|
|
2036
|
+
No entities found
|
|
2037
|
+
</div>
|
|
2038
|
+
}
|
|
1963
2039
|
</div>
|
|
1964
2040
|
</div>
|
|
1965
|
-
|
|
2041
|
+
}
|
|
1966
2042
|
</div>
|
|
1967
|
-
`, 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: #f5f7fa;\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: white;\n border-bottom: 1px solid #e0e0e0;\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: #2196F3;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\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: #999;\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid #ddd;\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: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: #999;\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: #666;\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n background: white;\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid #ddd;\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: white;\n border: none;\n border-right: 1px solid #ddd;\n color: #666;\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: #f5f5f5;\n }\n\n .view-toggle.active {\n background: #2196F3;\n color: white;\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n color: white;\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: #1976D2;\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: linear-gradient(135deg, rgba(33, 150, 243, 0.1) 0%, rgba(33, 150, 243, 0.05) 100%);\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: #2196F3;\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: #9e9e9e;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: #333;\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: #666;\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: #999 !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: #555;\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: #4CAF50 !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);\n color: white;\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 rgba(33, 150, 243, 0.3);\n }\n\n .btn-create-large:hover {\n background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.4);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: #f0f0f0;\n border: none;\n border-radius: 6px;\n color: #666;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: #e0e0e0;\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: #666;\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: #666;\n }\n\n /* Table View */\n .lists-table {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\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: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n font-size: 14px;\n color: #333;\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: #f5f5f5;\n }\n\n .list-row:focus {\n background: #e8f4fd;\n }\n\n .list-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\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: #2196F3;\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: #999;\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: #e3f2fd;\n border-radius: 50%;\n color: #2196F3;\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: white;\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: #999;\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: #e8f4fd;\n border-radius: 4px;\n font-size: 12px;\n color: #1976D2;\n }\n\n .owner-name {\n color: #666;\n }\n\n .owner-name.is-me {\n color: #2196F3;\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: #e0e0e0;\n color: #666;\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: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\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: 0 4px 12px rgba(0,0,0,0.12);\n }\n\n .list-card:focus {\n outline: 2px solid #2196F3;\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 #2196F3;\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: white;\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: #f5f5f5;\n color: #666;\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: #333;\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: #666;\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: #999;\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 #f0f0f0;\n background: #fafafa;\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: #666;\n }\n\n .owner-tag.is-me {\n color: #2196F3;\n }\n\n .date-info {\n font-size: 12px;\n color: #999;\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: white;\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: #f5f5f5;\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: #999;\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: #ffc107;\n }\n\n .category-header.uncategorized .fa-inbox {\n color: #999;\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: #333;\n }\n\n .category-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid #f0f0f0;\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: #f5f5f5;\n }\n\n .hierarchy-row:focus {\n background: #e3f2fd;\n }\n\n .hierarchy-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: #999;\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: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\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: #333;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: #f5f5f5;\n }\n\n .menu-item.danger {\n color: #d32f2f;\n }\n\n .menu-item.danger:hover {\n background: #ffebee;\n }\n\n .menu-divider {\n height: 1px;\n background: #e0e0e0;\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\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 #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: #f0f0f0;\n color: #666;\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: #333;\n }\n\n .warning-text {\n color: #d32f2f !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 #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #2196F3;\n color: white;\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: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #d32f2f;\n color: white;\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: #c62828;\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: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n 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: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .form-input:disabled {\n background: #f5f5f5;\n color: #999;\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-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\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: #333;\n }\n\n .dropdown-item:hover {\n background: #e3f2fd;\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: #999;\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 "] }]
|
|
2043
|
+
`, 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: #f5f7fa;\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: white;\n border-bottom: 1px solid #e0e0e0;\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: #2196F3;\n }\n\n .header-title h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\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: #999;\n }\n\n .search-box input {\n padding: 8px 36px;\n border: 1px solid #ddd;\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: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .clear-search {\n position: absolute;\n right: 8px;\n background: none;\n border: none;\n color: #999;\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: #666;\n }\n\n .filter-select {\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n background: white;\n cursor: pointer;\n min-width: 120px;\n }\n\n .filter-select:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .sort-select {\n min-width: 140px;\n }\n\n .view-toggle-group {\n display: flex;\n border: 1px solid #ddd;\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-toggle {\n padding: 8px 12px;\n background: white;\n border: none;\n border-right: 1px solid #ddd;\n color: #666;\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: #f5f5f5;\n }\n\n .view-toggle.active {\n background: #2196F3;\n color: white;\n }\n\n .btn-create {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n color: white;\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: #1976D2;\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: linear-gradient(135deg, rgba(33, 150, 243, 0.1) 0%, rgba(33, 150, 243, 0.05) 100%);\n }\n\n .empty-state-icon-wrapper > i {\n position: relative;\n font-size: 56px;\n color: #2196F3;\n z-index: 1;\n }\n\n .empty-state-icon-wrapper.search > i {\n font-size: 48px;\n color: #9e9e9e;\n }\n\n .empty-state h3 {\n margin: 0 0 12px;\n font-size: 22px;\n font-weight: 600;\n color: #333;\n }\n\n .empty-state p {\n margin: 0 0 8px;\n color: #666;\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: #999 !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: #555;\n }\n\n .feature-item i {\n font-size: 14px !important;\n color: #4CAF50 !important;\n }\n\n .btn-create-large {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 28px;\n background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);\n color: white;\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 rgba(33, 150, 243, 0.3);\n }\n\n .btn-create-large:hover {\n background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.4);\n }\n\n .btn-clear {\n padding: 10px 20px;\n background: #f0f0f0;\n border: none;\n border-radius: 6px;\n color: #666;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-clear:hover {\n background: #e0e0e0;\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: #666;\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: #666;\n }\n\n /* Table View */\n .lists-table {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\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: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .lists-table td {\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n font-size: 14px;\n color: #333;\n }\n\n .list-row {\n cursor: pointer;\n transition: background 0.15s;\n outline: none;\n }\n\n .list-row:hover {\n background: #f5f5f5;\n }\n\n .list-row:focus {\n background: #e8f4fd;\n }\n\n .list-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\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: #2196F3;\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: #999;\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: #e3f2fd;\n border-radius: 50%;\n color: #2196F3;\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: white;\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: #999;\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: #e8f4fd;\n border-radius: 4px;\n font-size: 12px;\n color: #1976D2;\n }\n\n .owner-name {\n color: #666;\n }\n\n .owner-name.is-me {\n color: #2196F3;\n font-weight: 500;\n }\n\n .action-btn {\n background: none;\n border: none;\n padding: 6px 10px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .action-btn:hover {\n background: #e0e0e0;\n color: #666;\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: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\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: 0 4px 12px rgba(0,0,0,0.12);\n }\n\n .list-card:focus {\n outline: 2px solid #2196F3;\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 #2196F3;\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: white;\n font-size: 18px;\n }\n\n .menu-btn {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .menu-btn:hover {\n background: #f5f5f5;\n color: #666;\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: #333;\n }\n\n .card-description {\n margin: 0 0 12px;\n font-size: 13px;\n color: #666;\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: #999;\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 #f0f0f0;\n background: #fafafa;\n }\n\n .owner-tag {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: #666;\n }\n\n .owner-tag.is-me {\n color: #2196F3;\n }\n\n .date-info {\n font-size: 12px;\n color: #999;\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: white;\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: #f5f5f5;\n }\n\n .category-header i:first-child {\n width: 16px;\n text-align: center;\n color: #999;\n }\n\n .category-header .fa-folder,\n .category-header .fa-folder-open {\n color: #ffc107;\n }\n\n .category-header.uncategorized .fa-inbox {\n color: #999;\n }\n\n .category-name {\n flex: 1;\n font-weight: 500;\n color: #333;\n }\n\n .category-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .category-lists {\n border-top: 1px solid #f0f0f0;\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: #f5f5f5;\n }\n\n .hierarchy-row:focus {\n background: #e3f2fd;\n }\n\n .hierarchy-row:focus-visible {\n background: #e3f2fd;\n box-shadow: inset 3px 0 0 #2196F3;\n }\n\n .list-info {\n flex: 1;\n min-width: 0;\n }\n\n .list-meta {\n font-size: 12px;\n color: #999;\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: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\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: #333;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .menu-item:hover {\n background: #f5f5f5;\n }\n\n .menu-item.danger {\n color: #d32f2f;\n }\n\n .menu-item.danger:hover {\n background: #ffebee;\n }\n\n .menu-divider {\n height: 1px;\n background: #e0e0e0;\n margin: 4px 0;\n }\n\n /* Modal Styles */\n .modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n }\n\n .modal-dialog {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\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 #e0e0e0;\n }\n\n .modal-header h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n }\n\n .modal-close {\n background: none;\n border: none;\n padding: 4px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .modal-close:hover {\n background: #f0f0f0;\n color: #666;\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: #333;\n }\n\n .warning-text {\n color: #d32f2f !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 #e0e0e0;\n background: #fafafa;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #2196F3;\n color: white;\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: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .btn-secondary {\n padding: 10px 20px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n }\n\n .btn-danger {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 20px;\n background: #d32f2f;\n color: white;\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: #c62828;\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: #666;\n }\n\n .form-input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n 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: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n }\n\n .form-input:disabled {\n background: #f5f5f5;\n color: #999;\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-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n }\n\n .entity-dropdown-content {\n max-height: 200px;\n overflow-y: auto;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);\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: #333;\n }\n\n .dropdown-item:hover {\n background: #e3f2fd;\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: #999;\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 "] }]
|
|
1968
2044
|
}], () => [{ type: i0.ChangeDetectorRef }, { type: i1.TabService }, { type: i2.MJNotificationService }, { type: i0.ElementRef }, { type: i3.ListSharingService }], { onDocumentClick: [{
|
|
1969
2045
|
type: HostListener,
|
|
1970
2046
|
args: ['document:click', ['$event']]
|
|
@@ -1972,5 +2048,5 @@ export { ListsBrowseResource };
|
|
|
1972
2048
|
type: HostListener,
|
|
1973
2049
|
args: ['document:keydown.escape']
|
|
1974
2050
|
}] }); })();
|
|
1975
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsBrowseResource, { className: "ListsBrowseResource", filePath: "src/
|
|
2051
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsBrowseResource, { className: "ListsBrowseResource", filePath: "src/lists/components/lists-browse-resource.component.ts", lineNumber: 1675 }); })();
|
|
1976
2052
|
//# sourceMappingURL=lists-browse-resource.component.js.map
|