@memberjunction/ng-dashboards 3.4.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 +12 -5
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +103 -44
- 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 +3 -6
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +34 -27
- 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 +3 -6
- package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +34 -32
- 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 +0 -2
- package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-applications-panel.component.js +193 -189
- package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.d.ts +0 -2
- package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.js +175 -180
- package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.d.ts +0 -2
- package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.js +231 -225
- package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-list.component.d.ts +0 -2
- package/dist/APIKeys/api-key-list.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-list.component.js +113 -114
- package/dist/APIKeys/api-key-list.component.js.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.d.ts +0 -2
- package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.js +294 -302
- 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.map +1 -1
- package/dist/Actions/components/explorer/action-breadcrumb.component.js +6 -6
- package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-card.component.js +11 -10
- package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +0 -4
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +10 -14
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-list-item.component.js +8 -8
- package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-toolbar.component.js +15 -14
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-tree-panel.component.js +11 -10
- package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
- package/dist/Actions/components/explorer/index.d.ts +0 -1
- package/dist/Actions/components/explorer/index.d.ts.map +1 -1
- package/dist/Actions/components/explorer/index.js +0 -4
- package/dist/Actions/components/explorer/index.js.map +1 -1
- package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/new-action-panel.component.js +10 -10
- package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
- package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/new-category-panel.component.js +8 -8
- package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
- 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 +0 -7
- package/dist/Actions/index.d.ts.map +1 -1
- package/dist/Actions/index.js +0 -8
- package/dist/Actions/index.js.map +1 -1
- package/dist/Communication/communication-dashboard.component.d.ts +0 -1
- package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
- package/dist/Communication/communication-dashboard.component.js +38 -51
- package/dist/Communication/communication-dashboard.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +0 -4
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +112 -108
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.d.ts +0 -4
- package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +210 -201
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.d.ts +0 -4
- package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +136 -124
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.d.ts +0 -4
- package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +91 -88
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +0 -4
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +139 -122
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +0 -4
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js +21 -20
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +11 -12
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
- 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.map +1 -1
- package/dist/ComponentStudio/components/browser/component-browser.component.js +23 -21
- package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +10 -10
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +13 -13
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js +7 -7
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/editors/spec-editor.component.js +5 -5
- package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +4 -4
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +9 -9
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
- 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.map +1 -1
- package/dist/ComponentStudio/components/workspace/component-preview.component.js +10 -9
- package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -1
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +4 -4
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
- package/dist/Credentials/components/credential-category-edit-panel.component.d.ts +44 -0
- package/dist/Credentials/components/credential-category-edit-panel.component.d.ts.map +1 -0
- package/dist/Credentials/components/credential-category-edit-panel.component.js +456 -0
- package/dist/Credentials/components/credential-category-edit-panel.component.js.map +1 -0
- package/dist/Credentials/components/credential-edit-panel.component.d.ts +70 -0
- package/dist/Credentials/components/credential-edit-panel.component.d.ts.map +1 -0
- package/dist/Credentials/components/credential-edit-panel.component.js +694 -0
- package/dist/Credentials/components/credential-edit-panel.component.js.map +1 -0
- package/dist/Credentials/components/credential-type-edit-panel.component.d.ts +56 -0
- package/dist/Credentials/components/credential-type-edit-panel.component.d.ts.map +1 -0
- package/dist/Credentials/components/credential-type-edit-panel.component.js +563 -0
- package/dist/Credentials/components/credential-type-edit-panel.component.js.map +1 -0
- 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 +0 -1
- 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 +0 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +251 -240
- 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 +0 -1
- 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.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 +0 -4
- package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -1
- package/dist/MCP/components/mcp-connection-dialog.component.js +33 -39
- package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -1
- package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +0 -4
- package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -1
- package/dist/MCP/components/mcp-log-detail-panel.component.js +42 -44
- package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
- package/dist/MCP/components/mcp-server-dialog.component.d.ts +3 -4
- package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -1
- package/dist/MCP/components/mcp-server-dialog.component.js +186 -77
- package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -1
- package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +0 -4
- package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -1
- package/dist/MCP/components/mcp-test-tool-dialog.component.js +187 -187
- package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
- package/dist/MCP/index.d.ts +5 -5
- package/dist/MCP/index.d.ts.map +1 -1
- package/dist/MCP/index.js +5 -5
- package/dist/MCP/index.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.d.ts +65 -7
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +976 -697
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- 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 +11 -5
- package/dist/MCP/mcp-resource.component.d.ts.map +1 -1
- package/dist/MCP/mcp-resource.component.js +8 -9
- package/dist/MCP/mcp-resource.component.js.map +1 -1
- package/dist/MCP/mcp.module.d.ts +16 -19
- package/dist/MCP/mcp.module.d.ts.map +1 -1
- package/dist/MCP/mcp.module.js +17 -26
- package/dist/MCP/mcp.module.js.map +1 -1
- package/dist/MCP/services/mcp-tools.service.d.ts +10 -4
- package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -1
- package/dist/MCP/services/mcp-tools.service.js +5 -6
- package/dist/MCP/services/mcp-tools.service.js.map +1 -1
- 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/job-slideout.component.d.ts.map +1 -1
- package/dist/Scheduling/components/job-slideout.component.js +117 -116
- package/dist/Scheduling/components/job-slideout.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +0 -4
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.js +3 -9
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +134 -134
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-health-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-health.component.d.ts +30 -0
- package/dist/Scheduling/components/scheduling-health.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-health.component.js +315 -0
- package/dist/Scheduling/components/scheduling-health.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-history-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-history-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-history-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-history-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-history.component.d.ts +48 -0
- package/dist/Scheduling/components/scheduling-history.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-history.component.js +377 -0
- package/dist/Scheduling/components/scheduling-history.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +0 -4
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +3 -9
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +102 -97
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-monitor-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-monitor-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-monitoring.component.d.ts +37 -0
- package/dist/Scheduling/components/scheduling-monitoring.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-monitoring.component.js +488 -0
- package/dist/Scheduling/components/scheduling-monitoring.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +0 -4
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.js +3 -9
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +127 -122
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-types-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-types-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-types-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-types-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-types.component.d.ts +22 -0
- package/dist/Scheduling/components/scheduling-types.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-types.component.js +165 -0
- package/dist/Scheduling/components/scheduling-types.component.js.map +1 -0
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +0 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +35 -43
- package/dist/Scheduling/scheduling-dashboard.component.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/testing-analytics-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js +3 -3
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js +30 -30
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +3 -3
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.js +7 -7
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
- package/dist/Testing/components/testing-execution-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-execution-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-execution-resource.component.js +55 -0
- package/dist/Testing/components/testing-execution-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-execution.component.d.ts +71 -0
- package/dist/Testing/components/testing-execution.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-execution.component.js +845 -0
- package/dist/Testing/components/testing-execution.component.js.map +1 -0
- package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.js +3 -3
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +42 -35
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-feedback-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-feedback-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-feedback-resource.component.js +55 -0
- package/dist/Testing/components/testing-feedback-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-feedback.component.d.ts +111 -0
- package/dist/Testing/components/testing-feedback.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-feedback.component.js +1486 -0
- package/dist/Testing/components/testing-feedback.component.js.map +1 -0
- package/dist/Testing/components/testing-overview-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-overview-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-overview-resource.component.js +55 -0
- package/dist/Testing/components/testing-overview-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-overview.component.d.ts +30 -0
- package/dist/Testing/components/testing-overview.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-overview.component.js +361 -0
- package/dist/Testing/components/testing-overview.component.js.map +1 -0
- package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.js +3 -3
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review.component.js +16 -16
- package/dist/Testing/components/testing-review.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +3 -3
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs.component.js +15 -15
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/components/testing-version-comparison.component.d.ts +62 -0
- package/dist/Testing/components/testing-version-comparison.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-version-comparison.component.js +815 -0
- package/dist/Testing/components/testing-version-comparison.component.js.map +1 -0
- package/dist/Testing/components/testing-version-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-version-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-version-resource.component.js +55 -0
- package/dist/Testing/components/testing-version-resource.component.js.map +1 -0
- 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 +0 -1
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +9 -8
- 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 +42 -36
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +41 -7
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +20 -19
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +22 -120
- package/dist/public-api.js.map +1 -1
- package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -1
- package/dist/shared/pipes/highlight-search.pipe.js +2 -1
- package/dist/shared/pipes/highlight-search.pipe.js.map +1 -1
- package/package.json +64 -62
|
@@ -15,15 +15,15 @@ import * as i2 from "@angular/common";
|
|
|
15
15
|
import * as i3 from "@angular/forms";
|
|
16
16
|
import * as i4 from "@memberjunction/ng-shared-generic";
|
|
17
17
|
const _c0 = a0 => ({ vm: a0 });
|
|
18
|
-
function
|
|
19
|
-
i0.ɵɵelementStart(0, "div",
|
|
20
|
-
i0.ɵɵelement(1, "mj-loading",
|
|
18
|
+
function ListsCategoriesResource_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
i0.ɵɵelementStart(0, "div", 8);
|
|
20
|
+
i0.ɵɵelement(1, "mj-loading", 12);
|
|
21
21
|
i0.ɵɵelementEnd();
|
|
22
22
|
} }
|
|
23
|
-
function
|
|
23
|
+
function ListsCategoriesResource_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
24
24
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
25
|
-
i0.ɵɵelementStart(0, "div",
|
|
26
|
-
i0.ɵɵelement(2, "div",
|
|
25
|
+
i0.ɵɵelementStart(0, "div", 9)(1, "div", 13);
|
|
26
|
+
i0.ɵɵelement(2, "div", 14)(3, "i", 15);
|
|
27
27
|
i0.ɵɵelementEnd();
|
|
28
28
|
i0.ɵɵelementStart(4, "h3");
|
|
29
29
|
i0.ɵɵtext(5, "No Categories Yet");
|
|
@@ -31,41 +31,38 @@ function ListsCategoriesResource_div_12_Template(rf, ctx) { if (rf & 1) {
|
|
|
31
31
|
i0.ɵɵelementStart(6, "p");
|
|
32
32
|
i0.ɵɵtext(7, "Categories help you organize lists into logical groups.");
|
|
33
33
|
i0.ɵɵelementEnd();
|
|
34
|
-
i0.ɵɵelementStart(8, "div",
|
|
35
|
-
i0.ɵɵelement(10, "i",
|
|
34
|
+
i0.ɵɵelementStart(8, "div", 16)(9, "div", 17);
|
|
35
|
+
i0.ɵɵelement(10, "i", 18);
|
|
36
36
|
i0.ɵɵelementStart(11, "span");
|
|
37
37
|
i0.ɵɵtext(12, "Create hierarchical folder structures");
|
|
38
38
|
i0.ɵɵelementEnd()();
|
|
39
|
-
i0.ɵɵelementStart(13, "div",
|
|
40
|
-
i0.ɵɵelement(14, "i",
|
|
39
|
+
i0.ɵɵelementStart(13, "div", 17);
|
|
40
|
+
i0.ɵɵelement(14, "i", 18);
|
|
41
41
|
i0.ɵɵelementStart(15, "span");
|
|
42
42
|
i0.ɵɵtext(16, "Quickly find related lists");
|
|
43
43
|
i0.ɵɵelementEnd()()();
|
|
44
|
-
i0.ɵɵelementStart(17, "button",
|
|
45
|
-
i0.ɵɵlistener("click", function
|
|
44
|
+
i0.ɵɵelementStart(17, "button", 19);
|
|
45
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_12_Template_button_click_17_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createCategory()); });
|
|
46
46
|
i0.ɵɵelement(18, "i", 7);
|
|
47
47
|
i0.ɵɵtext(19, " Create Your First Category ");
|
|
48
48
|
i0.ɵɵelementEnd()();
|
|
49
49
|
} }
|
|
50
|
-
function
|
|
50
|
+
function ListsCategoriesResource_Conditional_13_For_10_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
51
51
|
i0.ɵɵelementContainer(0);
|
|
52
52
|
} }
|
|
53
|
-
function
|
|
54
|
-
i0.ɵɵ
|
|
55
|
-
i0.ɵɵtemplate(1, ListsCategoriesResource_div_13_ng_container_9_ng_container_1_Template, 1, 0, "ng-container", 31);
|
|
56
|
-
i0.ɵɵelementContainerEnd();
|
|
53
|
+
function ListsCategoriesResource_Conditional_13_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
+
i0.ɵɵtemplate(0, ListsCategoriesResource_Conditional_13_For_10_ng_container_0_Template, 1, 0, "ng-container", 27);
|
|
57
55
|
} if (rf & 2) {
|
|
58
56
|
const vm_r4 = ctx.$implicit;
|
|
59
57
|
i0.ɵɵnextContext(2);
|
|
60
58
|
const categoryNodeTemplate_r5 = i0.ɵɵreference(15);
|
|
61
|
-
i0.ɵɵadvance();
|
|
62
59
|
i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r5)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, vm_r4));
|
|
63
60
|
} }
|
|
64
|
-
function
|
|
65
|
-
i0.ɵɵelementStart(0, "div",
|
|
61
|
+
function ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
62
|
+
i0.ɵɵelementStart(0, "div", 34)(1, "label");
|
|
66
63
|
i0.ɵɵtext(2, "Description");
|
|
67
64
|
i0.ɵɵelementEnd();
|
|
68
|
-
i0.ɵɵelementStart(3, "span",
|
|
65
|
+
i0.ɵɵelementStart(3, "span", 35);
|
|
69
66
|
i0.ɵɵtext(4);
|
|
70
67
|
i0.ɵɵelementEnd()();
|
|
71
68
|
} if (rf & 2) {
|
|
@@ -73,9 +70,9 @@ function ListsCategoriesResource_div_13_div_10_div_15_Template(rf, ctx) { if (rf
|
|
|
73
70
|
i0.ɵɵadvance(4);
|
|
74
71
|
i0.ɵɵtextInterpolate(ctx_r2.selectedCategory.Description);
|
|
75
72
|
} }
|
|
76
|
-
function
|
|
77
|
-
i0.ɵɵelementStart(0, "div",
|
|
78
|
-
i0.ɵɵelement(1, "i",
|
|
73
|
+
function ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_32_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
74
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
75
|
+
i0.ɵɵelement(1, "i", 43);
|
|
79
76
|
i0.ɵɵelementStart(2, "span");
|
|
80
77
|
i0.ɵɵtext(3);
|
|
81
78
|
i0.ɵɵelementEnd()();
|
|
@@ -84,64 +81,64 @@ function ListsCategoriesResource_div_13_div_10_div_32_div_4_Template(rf, ctx) {
|
|
|
84
81
|
i0.ɵɵadvance(3);
|
|
85
82
|
i0.ɵɵtextInterpolate(list_r7.Name);
|
|
86
83
|
} }
|
|
87
|
-
function
|
|
88
|
-
i0.ɵɵelementStart(0, "div",
|
|
84
|
+
function ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_32_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
+
i0.ɵɵelementStart(0, "div", 40)(1, "h4");
|
|
89
86
|
i0.ɵɵtext(2, "Lists in this category");
|
|
90
87
|
i0.ɵɵelementEnd();
|
|
91
|
-
i0.ɵɵelementStart(3, "div",
|
|
92
|
-
i0.ɵɵ
|
|
88
|
+
i0.ɵɵelementStart(3, "div", 41);
|
|
89
|
+
i0.ɵɵrepeaterCreate(4, ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_32_For_5_Template, 4, 1, "div", 42, i0.ɵɵrepeaterTrackByIdentity);
|
|
93
90
|
i0.ɵɵelementEnd()();
|
|
94
91
|
} if (rf & 2) {
|
|
95
92
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
96
93
|
i0.ɵɵadvance(4);
|
|
97
|
-
i0.ɵɵ
|
|
94
|
+
i0.ɵɵrepeater(ctx_r2.selectedCategoryLists);
|
|
98
95
|
} }
|
|
99
|
-
function
|
|
96
|
+
function ListsCategoriesResource_Conditional_13_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
100
97
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
101
|
-
i0.ɵɵelementStart(0, "div",
|
|
98
|
+
i0.ɵɵelementStart(0, "div", 25)(1, "div", 22)(2, "h3");
|
|
102
99
|
i0.ɵɵtext(3, "Category Details");
|
|
103
100
|
i0.ɵɵelementEnd();
|
|
104
|
-
i0.ɵɵelementStart(4, "div",
|
|
105
|
-
i0.ɵɵlistener("click", function
|
|
106
|
-
i0.ɵɵelement(6, "i",
|
|
101
|
+
i0.ɵɵelementStart(4, "div", 28)(5, "button", 29);
|
|
102
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_13_Conditional_11_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.editCategory()); });
|
|
103
|
+
i0.ɵɵelement(6, "i", 30);
|
|
107
104
|
i0.ɵɵelementEnd();
|
|
108
|
-
i0.ɵɵelementStart(7, "button",
|
|
109
|
-
i0.ɵɵlistener("click", function
|
|
110
|
-
i0.ɵɵelement(8, "i",
|
|
105
|
+
i0.ɵɵelementStart(7, "button", 31);
|
|
106
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_13_Conditional_11_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.deleteCategory()); });
|
|
107
|
+
i0.ɵɵelement(8, "i", 32);
|
|
111
108
|
i0.ɵɵelementEnd()()();
|
|
112
|
-
i0.ɵɵelementStart(9, "div",
|
|
109
|
+
i0.ɵɵelementStart(9, "div", 33)(10, "div", 34)(11, "label");
|
|
113
110
|
i0.ɵɵtext(12, "Name");
|
|
114
111
|
i0.ɵɵelementEnd();
|
|
115
|
-
i0.ɵɵelementStart(13, "span",
|
|
112
|
+
i0.ɵɵelementStart(13, "span", 35);
|
|
116
113
|
i0.ɵɵtext(14);
|
|
117
114
|
i0.ɵɵelementEnd()();
|
|
118
|
-
i0.ɵɵ
|
|
119
|
-
i0.ɵɵelementStart(16, "div",
|
|
115
|
+
i0.ɵɵconditionalCreate(15, ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_15_Template, 5, 1, "div", 34);
|
|
116
|
+
i0.ɵɵelementStart(16, "div", 34)(17, "label");
|
|
120
117
|
i0.ɵɵtext(18, "Parent Category");
|
|
121
118
|
i0.ɵɵelementEnd();
|
|
122
|
-
i0.ɵɵelementStart(19, "span",
|
|
119
|
+
i0.ɵɵelementStart(19, "span", 35);
|
|
123
120
|
i0.ɵɵtext(20);
|
|
124
121
|
i0.ɵɵelementEnd()();
|
|
125
|
-
i0.ɵɵelementStart(21, "div",
|
|
122
|
+
i0.ɵɵelementStart(21, "div", 36)(22, "div", 37)(23, "span", 38);
|
|
126
123
|
i0.ɵɵtext(24);
|
|
127
124
|
i0.ɵɵelementEnd();
|
|
128
|
-
i0.ɵɵelementStart(25, "span",
|
|
125
|
+
i0.ɵɵelementStart(25, "span", 39);
|
|
129
126
|
i0.ɵɵtext(26, "Lists");
|
|
130
127
|
i0.ɵɵelementEnd()();
|
|
131
|
-
i0.ɵɵelementStart(27, "div",
|
|
128
|
+
i0.ɵɵelementStart(27, "div", 37)(28, "span", 38);
|
|
132
129
|
i0.ɵɵtext(29);
|
|
133
130
|
i0.ɵɵelementEnd();
|
|
134
|
-
i0.ɵɵelementStart(30, "span",
|
|
131
|
+
i0.ɵɵelementStart(30, "span", 39);
|
|
135
132
|
i0.ɵɵtext(31, "Subcategories");
|
|
136
133
|
i0.ɵɵelementEnd()()();
|
|
137
|
-
i0.ɵɵ
|
|
134
|
+
i0.ɵɵconditionalCreate(32, ListsCategoriesResource_Conditional_13_Conditional_11_Conditional_32_Template, 6, 0, "div", 40);
|
|
138
135
|
i0.ɵɵelementEnd()();
|
|
139
136
|
} if (rf & 2) {
|
|
140
137
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
141
138
|
i0.ɵɵadvance(14);
|
|
142
139
|
i0.ɵɵtextInterpolate(ctx_r2.selectedCategory.Name);
|
|
143
140
|
i0.ɵɵadvance();
|
|
144
|
-
i0.ɵɵ
|
|
141
|
+
i0.ɵɵconditional(ctx_r2.selectedCategory.Description ? 15 : -1);
|
|
145
142
|
i0.ɵɵadvance(5);
|
|
146
143
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.getParentCategoryName(ctx_r2.selectedCategory) || "(Top Level)", " ");
|
|
147
144
|
i0.ɵɵadvance(4);
|
|
@@ -149,42 +146,43 @@ function ListsCategoriesResource_div_13_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
149
146
|
i0.ɵɵadvance(5);
|
|
150
147
|
i0.ɵɵtextInterpolate(ctx_r2.getSelectedCategoryChildCount());
|
|
151
148
|
i0.ɵɵadvance(3);
|
|
152
|
-
i0.ɵɵ
|
|
149
|
+
i0.ɵɵconditional(ctx_r2.selectedCategoryLists.length > 0 ? 32 : -1);
|
|
153
150
|
} }
|
|
154
|
-
function
|
|
155
|
-
i0.ɵɵelementStart(0, "div",
|
|
156
|
-
i0.ɵɵelement(2, "i",
|
|
151
|
+
function ListsCategoriesResource_Conditional_13_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
152
|
+
i0.ɵɵelementStart(0, "div", 26)(1, "div", 44);
|
|
153
|
+
i0.ɵɵelement(2, "i", 45);
|
|
157
154
|
i0.ɵɵelementStart(3, "p");
|
|
158
155
|
i0.ɵɵtext(4, "Select a category to view details");
|
|
159
156
|
i0.ɵɵelementEnd()()();
|
|
160
157
|
} }
|
|
161
|
-
function
|
|
162
|
-
i0.ɵɵelementStart(0, "div",
|
|
158
|
+
function ListsCategoriesResource_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
159
|
+
i0.ɵɵelementStart(0, "div", 10)(1, "div", 20)(2, "div", 21)(3, "div", 22)(4, "h3");
|
|
163
160
|
i0.ɵɵtext(5, "Categories");
|
|
164
161
|
i0.ɵɵelementEnd();
|
|
165
|
-
i0.ɵɵelementStart(6, "span",
|
|
162
|
+
i0.ɵɵelementStart(6, "span", 23);
|
|
166
163
|
i0.ɵɵtext(7);
|
|
167
164
|
i0.ɵɵelementEnd()();
|
|
168
|
-
i0.ɵɵelementStart(8, "div",
|
|
169
|
-
i0.ɵɵ
|
|
165
|
+
i0.ɵɵelementStart(8, "div", 24);
|
|
166
|
+
i0.ɵɵrepeaterCreate(9, ListsCategoriesResource_Conditional_13_For_10_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
170
167
|
i0.ɵɵelementEnd()();
|
|
171
|
-
i0.ɵɵ
|
|
168
|
+
i0.ɵɵconditionalCreate(11, ListsCategoriesResource_Conditional_13_Conditional_11_Template, 33, 6, "div", 25);
|
|
169
|
+
i0.ɵɵconditionalCreate(12, ListsCategoriesResource_Conditional_13_Conditional_12_Template, 5, 0, "div", 26);
|
|
172
170
|
i0.ɵɵelementEnd()();
|
|
173
171
|
} if (rf & 2) {
|
|
174
172
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
175
173
|
i0.ɵɵadvance(7);
|
|
176
174
|
i0.ɵɵtextInterpolate(ctx_r2.categories.length);
|
|
177
175
|
i0.ɵɵadvance(2);
|
|
178
|
-
i0.ɵɵ
|
|
179
|
-
i0.ɵɵadvance();
|
|
180
|
-
i0.ɵɵ
|
|
176
|
+
i0.ɵɵrepeater(ctx_r2.getTopLevelCategories());
|
|
177
|
+
i0.ɵɵadvance(2);
|
|
178
|
+
i0.ɵɵconditional(ctx_r2.selectedCategory ? 11 : -1);
|
|
181
179
|
i0.ɵɵadvance();
|
|
182
|
-
i0.ɵɵ
|
|
180
|
+
i0.ɵɵconditional(!ctx_r2.selectedCategory ? 12 : -1);
|
|
183
181
|
} }
|
|
184
|
-
function
|
|
182
|
+
function ListsCategoriesResource_ng_template_14_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
185
183
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
186
|
-
i0.ɵɵelementStart(0, "button",
|
|
187
|
-
i0.ɵɵlistener("click", function
|
|
184
|
+
i0.ɵɵelementStart(0, "button", 54);
|
|
185
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_ng_template_14_Conditional_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r10); const vm_r9 = i0.ɵɵnextContext().vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleExpand($event, vm_r9)); });
|
|
188
186
|
i0.ɵɵelement(1, "i");
|
|
189
187
|
i0.ɵɵelementEnd();
|
|
190
188
|
} if (rf & 2) {
|
|
@@ -192,46 +190,44 @@ function ListsCategoriesResource_ng_template_14_button_2_Template(rf, ctx) { if
|
|
|
192
190
|
i0.ɵɵadvance();
|
|
193
191
|
i0.ɵɵclassMap(vm_r9.isExpanded ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-right");
|
|
194
192
|
} }
|
|
195
|
-
function
|
|
196
|
-
i0.ɵɵelement(0, "span",
|
|
193
|
+
function ListsCategoriesResource_ng_template_14_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
194
|
+
i0.ɵɵelement(0, "span", 49);
|
|
197
195
|
} }
|
|
198
|
-
function
|
|
196
|
+
function ListsCategoriesResource_ng_template_14_Conditional_9_For_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
199
197
|
i0.ɵɵelementContainer(0);
|
|
200
198
|
} }
|
|
201
|
-
function
|
|
202
|
-
i0.ɵɵ
|
|
203
|
-
i0.ɵɵtemplate(1, ListsCategoriesResource_ng_template_14_div_9_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 31);
|
|
204
|
-
i0.ɵɵelementContainerEnd();
|
|
199
|
+
function ListsCategoriesResource_ng_template_14_Conditional_9_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
200
|
+
i0.ɵɵtemplate(0, ListsCategoriesResource_ng_template_14_Conditional_9_For_2_ng_container_0_Template, 1, 0, "ng-container", 27);
|
|
205
201
|
} if (rf & 2) {
|
|
206
202
|
const childVm_r11 = ctx.$implicit;
|
|
207
203
|
i0.ɵɵnextContext(3);
|
|
208
204
|
const categoryNodeTemplate_r5 = i0.ɵɵreference(15);
|
|
209
|
-
i0.ɵɵadvance();
|
|
210
205
|
i0.ɵɵproperty("ngTemplateOutlet", categoryNodeTemplate_r5)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, childVm_r11));
|
|
211
206
|
} }
|
|
212
|
-
function
|
|
213
|
-
i0.ɵɵelementStart(0, "div",
|
|
214
|
-
i0.ɵɵ
|
|
207
|
+
function ListsCategoriesResource_ng_template_14_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
208
|
+
i0.ɵɵelementStart(0, "div", 53);
|
|
209
|
+
i0.ɵɵrepeaterCreate(1, ListsCategoriesResource_ng_template_14_Conditional_9_For_2_Template, 1, 4, "ng-container", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
215
210
|
i0.ɵɵelementEnd();
|
|
216
211
|
} if (rf & 2) {
|
|
217
212
|
const vm_r9 = i0.ɵɵnextContext().vm;
|
|
218
213
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
219
214
|
i0.ɵɵadvance();
|
|
220
|
-
i0.ɵɵ
|
|
215
|
+
i0.ɵɵrepeater(ctx_r2.getChildCategories(vm_r9.category));
|
|
221
216
|
} }
|
|
222
217
|
function ListsCategoriesResource_ng_template_14_Template(rf, ctx) { if (rf & 1) {
|
|
223
218
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
224
|
-
i0.ɵɵelementStart(0, "div",
|
|
219
|
+
i0.ɵɵelementStart(0, "div", 46)(1, "div", 47);
|
|
225
220
|
i0.ɵɵlistener("click", function ListsCategoriesResource_ng_template_14_Template_div_click_1_listener() { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectCategory(vm_r9.category)); })("keydown.enter", function ListsCategoriesResource_ng_template_14_Template_div_keydown_enter_1_listener() { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectCategory(vm_r9.category)); })("keydown.space", function ListsCategoriesResource_ng_template_14_Template_div_keydown_space_1_listener($event) { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.selectCategory(vm_r9.category); return i0.ɵɵresetView($event.preventDefault()); })("keydown.arrowRight", function ListsCategoriesResource_ng_template_14_Template_div_keydown_arrowRight_1_listener($event) { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.expandNode($event, vm_r9)); })("keydown.arrowLeft", function ListsCategoriesResource_ng_template_14_Template_div_keydown_arrowLeft_1_listener($event) { const vm_r9 = i0.ɵɵrestoreView(_r8).vm; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.collapseNode($event, vm_r9)); });
|
|
226
|
-
i0.ɵɵ
|
|
227
|
-
i0.ɵɵ
|
|
228
|
-
i0.ɵɵ
|
|
221
|
+
i0.ɵɵconditionalCreate(2, ListsCategoriesResource_ng_template_14_Conditional_2_Template, 2, 2, "button", 48);
|
|
222
|
+
i0.ɵɵconditionalCreate(3, ListsCategoriesResource_ng_template_14_Conditional_3_Template, 1, 0, "span", 49);
|
|
223
|
+
i0.ɵɵelement(4, "i", 50);
|
|
224
|
+
i0.ɵɵelementStart(5, "span", 51);
|
|
229
225
|
i0.ɵɵtext(6);
|
|
230
226
|
i0.ɵɵelementEnd();
|
|
231
|
-
i0.ɵɵelementStart(7, "span",
|
|
227
|
+
i0.ɵɵelementStart(7, "span", 52);
|
|
232
228
|
i0.ɵɵtext(8);
|
|
233
229
|
i0.ɵɵelementEnd()();
|
|
234
|
-
i0.ɵɵ
|
|
230
|
+
i0.ɵɵconditionalCreate(9, ListsCategoriesResource_ng_template_14_Conditional_9_Template, 3, 0, "div", 53);
|
|
235
231
|
i0.ɵɵelementEnd();
|
|
236
232
|
} if (rf & 2) {
|
|
237
233
|
const vm_r9 = ctx.vm;
|
|
@@ -241,9 +237,9 @@ function ListsCategoriesResource_ng_template_14_Template(rf, ctx) { if (rf & 1)
|
|
|
241
237
|
i0.ɵɵclassProp("selected", (ctx_r2.selectedCategory == null ? null : ctx_r2.selectedCategory.ID) === vm_r9.category.ID);
|
|
242
238
|
i0.ɵɵattribute("aria-expanded", ctx_r2.hasChildren(vm_r9.category) ? vm_r9.isExpanded : null)("aria-selected", (ctx_r2.selectedCategory == null ? null : ctx_r2.selectedCategory.ID) === vm_r9.category.ID)("aria-label", vm_r9.category.Name + " - " + vm_r9.listCount + " lists");
|
|
243
239
|
i0.ɵɵadvance();
|
|
244
|
-
i0.ɵɵ
|
|
240
|
+
i0.ɵɵconditional(ctx_r2.hasChildren(vm_r9.category) ? 2 : -1);
|
|
245
241
|
i0.ɵɵadvance();
|
|
246
|
-
i0.ɵɵ
|
|
242
|
+
i0.ɵɵconditional(!ctx_r2.hasChildren(vm_r9.category) ? 3 : -1);
|
|
247
243
|
i0.ɵɵadvance();
|
|
248
244
|
i0.ɵɵclassProp("fa-folder-open", vm_r9.isExpanded);
|
|
249
245
|
i0.ɵɵadvance(2);
|
|
@@ -251,10 +247,10 @@ function ListsCategoriesResource_ng_template_14_Template(rf, ctx) { if (rf & 1)
|
|
|
251
247
|
i0.ɵɵadvance(2);
|
|
252
248
|
i0.ɵɵtextInterpolate(vm_r9.listCount);
|
|
253
249
|
i0.ɵɵadvance();
|
|
254
|
-
i0.ɵɵ
|
|
250
|
+
i0.ɵɵconditional(vm_r9.isExpanded && ctx_r2.hasChildren(vm_r9.category) ? 9 : -1);
|
|
255
251
|
} }
|
|
256
|
-
function
|
|
257
|
-
i0.ɵɵelementStart(0, "option",
|
|
252
|
+
function ListsCategoriesResource_Conditional_16_For_22_Template(rf, ctx) { if (rf & 1) {
|
|
253
|
+
i0.ɵɵelementStart(0, "option", 66);
|
|
258
254
|
i0.ɵɵtext(1);
|
|
259
255
|
i0.ɵɵelementEnd();
|
|
260
256
|
} if (rf & 2) {
|
|
@@ -263,49 +259,49 @@ function ListsCategoriesResource_div_16_option_21_Template(rf, ctx) { if (rf & 1
|
|
|
263
259
|
i0.ɵɵadvance();
|
|
264
260
|
i0.ɵɵtextInterpolate(parent_r13.displayName);
|
|
265
261
|
} }
|
|
266
|
-
function
|
|
267
|
-
i0.ɵɵelement(0, "i",
|
|
262
|
+
function ListsCategoriesResource_Conditional_16_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
263
|
+
i0.ɵɵelement(0, "i", 69);
|
|
268
264
|
} }
|
|
269
|
-
function
|
|
265
|
+
function ListsCategoriesResource_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
270
266
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
271
|
-
i0.ɵɵelementStart(0, "div",
|
|
272
|
-
i0.ɵɵlistener("click", function
|
|
273
|
-
i0.ɵɵelementStart(1, "div",
|
|
274
|
-
i0.ɵɵlistener("click", function
|
|
275
|
-
i0.ɵɵelementStart(2, "div",
|
|
267
|
+
i0.ɵɵelementStart(0, "div", 55);
|
|
268
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_16_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDialog()); });
|
|
269
|
+
i0.ɵɵelementStart(1, "div", 56);
|
|
270
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_16_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r12); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
271
|
+
i0.ɵɵelementStart(2, "div", 57)(3, "h3");
|
|
276
272
|
i0.ɵɵtext(4);
|
|
277
273
|
i0.ɵɵelementEnd();
|
|
278
|
-
i0.ɵɵelementStart(5, "button",
|
|
279
|
-
i0.ɵɵlistener("click", function
|
|
280
|
-
i0.ɵɵelement(6, "i",
|
|
274
|
+
i0.ɵɵelementStart(5, "button", 58);
|
|
275
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_16_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDialog()); });
|
|
276
|
+
i0.ɵɵelement(6, "i", 59);
|
|
281
277
|
i0.ɵɵelementEnd()();
|
|
282
|
-
i0.ɵɵelementStart(7, "div",
|
|
278
|
+
i0.ɵɵelementStart(7, "div", 60)(8, "div", 61)(9, "div", 62)(10, "label");
|
|
283
279
|
i0.ɵɵtext(11, "Name *");
|
|
284
280
|
i0.ɵɵelementEnd();
|
|
285
|
-
i0.ɵɵelementStart(12, "input",
|
|
286
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
281
|
+
i0.ɵɵelementStart(12, "input", 63);
|
|
282
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsCategoriesResource_Conditional_16_Template_input_ngModelChange_12_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.dialogName, $event) || (ctx_r2.dialogName = $event); return i0.ɵɵresetView($event); });
|
|
287
283
|
i0.ɵɵelementEnd()();
|
|
288
|
-
i0.ɵɵelementStart(13, "div",
|
|
284
|
+
i0.ɵɵelementStart(13, "div", 62)(14, "label");
|
|
289
285
|
i0.ɵɵtext(15, "Description");
|
|
290
286
|
i0.ɵɵelementEnd();
|
|
291
|
-
i0.ɵɵelementStart(16, "textarea",
|
|
292
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
287
|
+
i0.ɵɵelementStart(16, "textarea", 64);
|
|
288
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsCategoriesResource_Conditional_16_Template_textarea_ngModelChange_16_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.dialogDescription, $event) || (ctx_r2.dialogDescription = $event); return i0.ɵɵresetView($event); });
|
|
293
289
|
i0.ɵɵelementEnd()();
|
|
294
|
-
i0.ɵɵelementStart(17, "div",
|
|
290
|
+
i0.ɵɵelementStart(17, "div", 62)(18, "label");
|
|
295
291
|
i0.ɵɵtext(19, "Parent Category");
|
|
296
292
|
i0.ɵɵelementEnd();
|
|
297
|
-
i0.ɵɵelementStart(20, "select",
|
|
298
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
299
|
-
i0.ɵɵ
|
|
293
|
+
i0.ɵɵelementStart(20, "select", 65);
|
|
294
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ListsCategoriesResource_Conditional_16_Template_select_ngModelChange_20_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.dialogParentId, $event) || (ctx_r2.dialogParentId = $event); return i0.ɵɵresetView($event); });
|
|
295
|
+
i0.ɵɵrepeaterCreate(21, ListsCategoriesResource_Conditional_16_For_22_Template, 2, 2, "option", 66, i0.ɵɵrepeaterTrackByIdentity);
|
|
300
296
|
i0.ɵɵelementEnd()()()();
|
|
301
|
-
i0.ɵɵelementStart(
|
|
302
|
-
i0.ɵɵlistener("click", function
|
|
303
|
-
i0.ɵɵ
|
|
304
|
-
i0.ɵɵtext(
|
|
297
|
+
i0.ɵɵelementStart(23, "div", 67)(24, "button", 68);
|
|
298
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_16_Template_button_click_24_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.saveCategory()); });
|
|
299
|
+
i0.ɵɵconditionalCreate(25, ListsCategoriesResource_Conditional_16_Conditional_25_Template, 1, 0, "i", 69);
|
|
300
|
+
i0.ɵɵtext(26);
|
|
305
301
|
i0.ɵɵelementEnd();
|
|
306
|
-
i0.ɵɵelementStart(
|
|
307
|
-
i0.ɵɵlistener("click", function
|
|
308
|
-
i0.ɵɵtext(
|
|
302
|
+
i0.ɵɵelementStart(27, "button", 70);
|
|
303
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_16_Template_button_click_27_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDialog()); });
|
|
304
|
+
i0.ɵɵtext(28, "Cancel");
|
|
309
305
|
i0.ɵɵelementEnd()()()();
|
|
310
306
|
} if (rf & 2) {
|
|
311
307
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -320,38 +316,38 @@ function ListsCategoriesResource_div_16_Template(rf, ctx) { if (rf & 1) {
|
|
|
320
316
|
i0.ɵɵadvance(4);
|
|
321
317
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.dialogParentId);
|
|
322
318
|
i0.ɵɵadvance();
|
|
323
|
-
i0.ɵɵ
|
|
324
|
-
i0.ɵɵadvance(
|
|
319
|
+
i0.ɵɵrepeater(ctx_r2.availableParents);
|
|
320
|
+
i0.ɵɵadvance(3);
|
|
325
321
|
i0.ɵɵproperty("disabled", !ctx_r2.dialogName || ctx_r2.isSaving);
|
|
326
322
|
i0.ɵɵadvance();
|
|
327
|
-
i0.ɵɵ
|
|
323
|
+
i0.ɵɵconditional(ctx_r2.isSaving ? 25 : -1);
|
|
328
324
|
i0.ɵɵadvance();
|
|
329
325
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.isSaving ? "Saving..." : ctx_r2.editingCategory ? "Save" : "Create", " ");
|
|
330
326
|
i0.ɵɵadvance();
|
|
331
327
|
i0.ɵɵproperty("disabled", ctx_r2.isSaving);
|
|
332
328
|
} }
|
|
333
|
-
function
|
|
329
|
+
function ListsCategoriesResource_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
334
330
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
335
|
-
i0.ɵɵelementStart(0, "div",
|
|
336
|
-
i0.ɵɵlistener("click", function
|
|
337
|
-
i0.ɵɵelementStart(1, "div",
|
|
338
|
-
i0.ɵɵlistener("click", function
|
|
339
|
-
i0.ɵɵelementStart(2, "div",
|
|
331
|
+
i0.ɵɵelementStart(0, "div", 55);
|
|
332
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_17_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
333
|
+
i0.ɵɵelementStart(1, "div", 71);
|
|
334
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_17_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r14); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
335
|
+
i0.ɵɵelementStart(2, "div", 72)(3, "h3");
|
|
340
336
|
i0.ɵɵtext(4, "Delete Category");
|
|
341
337
|
i0.ɵɵelementEnd();
|
|
342
|
-
i0.ɵɵelementStart(5, "button",
|
|
343
|
-
i0.ɵɵlistener("click", function
|
|
344
|
-
i0.ɵɵelement(6, "i",
|
|
338
|
+
i0.ɵɵelementStart(5, "button", 73);
|
|
339
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_17_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
340
|
+
i0.ɵɵelement(6, "i", 59);
|
|
345
341
|
i0.ɵɵelementEnd()();
|
|
346
|
-
i0.ɵɵelementStart(7, "div",
|
|
342
|
+
i0.ɵɵelementStart(7, "div", 60)(8, "p");
|
|
347
343
|
i0.ɵɵtext(9);
|
|
348
344
|
i0.ɵɵelementEnd()();
|
|
349
|
-
i0.ɵɵelementStart(10, "div",
|
|
350
|
-
i0.ɵɵlistener("click", function
|
|
345
|
+
i0.ɵɵelementStart(10, "div", 67)(11, "button", 74);
|
|
346
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_17_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.confirmDelete()); });
|
|
351
347
|
i0.ɵɵtext(12, " Delete ");
|
|
352
348
|
i0.ɵɵelementEnd();
|
|
353
|
-
i0.ɵɵelementStart(13, "button",
|
|
354
|
-
i0.ɵɵlistener("click", function
|
|
349
|
+
i0.ɵɵelementStart(13, "button", 75);
|
|
350
|
+
i0.ɵɵlistener("click", function ListsCategoriesResource_Conditional_17_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cancelDelete()); });
|
|
355
351
|
i0.ɵɵtext(14, "Cancel");
|
|
356
352
|
i0.ɵɵelementEnd()()()();
|
|
357
353
|
} if (rf & 2) {
|
|
@@ -359,9 +355,6 @@ function ListsCategoriesResource_div_17_Template(rf, ctx) { if (rf & 1) {
|
|
|
359
355
|
i0.ɵɵadvance(9);
|
|
360
356
|
i0.ɵɵtextInterpolate(ctx_r2.deleteConfirmMessage);
|
|
361
357
|
} }
|
|
362
|
-
export function LoadListsCategoriesResource() {
|
|
363
|
-
// tree shaker
|
|
364
|
-
}
|
|
365
358
|
let ListsCategoriesResource = class ListsCategoriesResource extends BaseResourceComponent {
|
|
366
359
|
cdr;
|
|
367
360
|
notificationService;
|
|
@@ -678,7 +671,7 @@ let ListsCategoriesResource = class ListsCategoriesResource extends BaseResource
|
|
|
678
671
|
return 'fa-solid fa-tags';
|
|
679
672
|
}
|
|
680
673
|
static ɵfac = function ListsCategoriesResource_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ListsCategoriesResource)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MJNotificationService)); };
|
|
681
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListsCategoriesResource, selectors: [["mj-lists-categories-resource"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 5, consts: [["categoryNodeTemplate", ""], [1, "lists-categories-container"], [1, "categories-header"], [1, "header-title"], [1, "fa-solid", "fa-tags"], [1, "header-actions"], [1, "btn-create", 3, "click"], [1, "fa-solid", "fa-plus"], [
|
|
674
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListsCategoriesResource, selectors: [["mj-lists-categories-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 5, consts: [["categoryNodeTemplate", ""], [1, "lists-categories-container"], [1, "categories-header"], [1, "header-title"], [1, "fa-solid", "fa-tags"], [1, "header-actions"], [1, "btn-create", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "loading-container"], [1, "empty-state"], [1, "categories-content"], [1, "modal-overlay"], ["text", "Loading categories...", "size", "medium"], [1, "empty-state-icon-wrapper"], [1, "icon-bg"], [1, "fa-solid", "fa-folder-tree"], [1, "empty-state-features"], [1, "feature-item"], [1, "fa-solid", "fa-check-circle"], [1, "btn-create-large", 3, "click"], [1, "categories-layout"], [1, "category-tree-panel"], [1, "panel-header"], [1, "count-badge"], ["role", "tree", "aria-label", "Category tree", 1, "tree-content"], [1, "category-detail-panel"], [1, "category-detail-panel", "empty"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "panel-actions"], ["title", "Edit", 1, "icon-btn", 3, "click"], [1, "fa-solid", "fa-pen"], ["title", "Delete", 1, "icon-btn", "danger", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "detail-content"], [1, "detail-field"], [1, "field-value"], [1, "detail-stats"], [1, "stat-item"], [1, "stat-value"], [1, "stat-label"], [1, "category-lists"], [1, "mini-list"], [1, "mini-list-item"], [1, "fa-solid", "fa-list"], [1, "no-selection"], [1, "fa-solid", "fa-arrow-left"], [1, "category-node"], ["tabindex", "0", "role", "treeitem", 1, "node-content", 3, "click", "keydown.enter", "keydown.space", "keydown.arrowRight", "keydown.arrowLeft"], ["tabindex", "-1", "aria-hidden", "true", 1, "expand-btn"], [1, "expand-placeholder"], ["aria-hidden", "true", 1, "fa-solid", "fa-folder"], [1, "node-name"], ["aria-hidden", "true", 1, "node-count"], ["role", "group", 1, "node-children"], ["tabindex", "-1", "aria-hidden", "true", 1, "expand-btn", 3, "click"], [1, "modal-overlay", 3, "click"], [1, "modal-dialog", 3, "click"], [1, "modal-header"], [1, "modal-close", 3, "click", "disabled"], [1, "fa-solid", "fa-times"], [1, "modal-body"], [1, "category-form"], [1, "form-group"], ["type", "text", "placeholder", "Enter category 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, "modal-dialog", "modal-sm", 3, "click"], [1, "modal-header", "danger"], [1, "modal-close", 3, "click"], [1, "btn-danger", 3, "click"], [1, "btn-secondary", 3, "click"]], template: function ListsCategoriesResource_Template(rf, ctx) { if (rf & 1) {
|
|
682
675
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
683
676
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div", 3);
|
|
684
677
|
i0.ɵɵelement(3, "i", 4);
|
|
@@ -691,20 +684,25 @@ let ListsCategoriesResource = class ListsCategoriesResource extends BaseResource
|
|
|
691
684
|
i0.ɵɵelementStart(9, "span");
|
|
692
685
|
i0.ɵɵtext(10, "New Category");
|
|
693
686
|
i0.ɵɵelementEnd()()()();
|
|
694
|
-
i0.ɵɵ
|
|
687
|
+
i0.ɵɵconditionalCreate(11, ListsCategoriesResource_Conditional_11_Template, 2, 0, "div", 8);
|
|
688
|
+
i0.ɵɵconditionalCreate(12, ListsCategoriesResource_Conditional_12_Template, 20, 0, "div", 9);
|
|
689
|
+
i0.ɵɵconditionalCreate(13, ListsCategoriesResource_Conditional_13_Template, 13, 3, "div", 10);
|
|
690
|
+
i0.ɵɵtemplate(14, ListsCategoriesResource_ng_template_14_Template, 10, 14, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
691
|
+
i0.ɵɵconditionalCreate(16, ListsCategoriesResource_Conditional_16_Template, 29, 9, "div", 11);
|
|
692
|
+
i0.ɵɵconditionalCreate(17, ListsCategoriesResource_Conditional_17_Template, 15, 1, "div", 11);
|
|
695
693
|
i0.ɵɵelementEnd();
|
|
696
694
|
} if (rf & 2) {
|
|
697
695
|
i0.ɵɵadvance(11);
|
|
698
|
-
i0.ɵɵ
|
|
696
|
+
i0.ɵɵconditional(ctx.isLoading ? 11 : -1);
|
|
699
697
|
i0.ɵɵadvance();
|
|
700
|
-
i0.ɵɵ
|
|
698
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.categoryViewModels.length === 0 ? 12 : -1);
|
|
701
699
|
i0.ɵɵadvance();
|
|
702
|
-
i0.ɵɵ
|
|
700
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.categoryViewModels.length > 0 ? 13 : -1);
|
|
703
701
|
i0.ɵɵadvance(3);
|
|
704
|
-
i0.ɵɵ
|
|
702
|
+
i0.ɵɵconditional(ctx.showDialog ? 16 : -1);
|
|
705
703
|
i0.ɵɵadvance();
|
|
706
|
-
i0.ɵɵ
|
|
707
|
-
} }, dependencies: [i2.NgForOf, i2.NgIf, i2.NgTemplateOutlet, i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i3.DefaultValueAccessor, i3.SelectControlValueAccessor, i3.NgControlStatus, i3.NgModel, i4.LoadingComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-categories-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n overflow: hidden;\n }\n\n /* Header */\n .categories-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\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 .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: 420px;\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: 100px;\n height: 100px;\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: 48px;\n color: #2196F3;\n z-index: 1;\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-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 16px 0 24px;\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 /* Content Layout */\n .categories-content {\n flex: 1;\n padding: 16px 24px;\n overflow: hidden;\n }\n\n .categories-layout {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n height: 100%;\n }\n\n .category-tree-panel,\n .category-detail-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n }\n\n .count-badge {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .panel-actions {\n display: flex;\n gap: 4px;\n }\n\n .icon-btn {\n background: none;\n border: none;\n padding: 6px 8px;\n color: #666;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .icon-btn:hover {\n background: #f0f0f0;\n color: #333;\n }\n\n .icon-btn.danger:hover {\n background: #ffebee;\n color: #d32f2f;\n }\n\n /* Tree Content */\n .tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .category-node {\n user-select: none;\n }\n\n .node-content {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .node-content:hover {\n background: #f5f5f5;\n }\n\n .node-content:focus {\n outline: none;\n background: #e8f4fd;\n }\n\n .node-content:focus-visible {\n outline: 2px solid #2196F3;\n outline-offset: -2px;\n background: #e8f4fd;\n }\n\n .node-content.selected {\n background: #e3f2fd;\n }\n\n .node-content.selected:focus-visible {\n outline: 2px solid #1976D2;\n }\n\n .expand-btn {\n background: none;\n border: none;\n padding: 2px;\n color: #999;\n cursor: pointer;\n width: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .expand-btn:hover {\n color: #666;\n }\n\n .expand-placeholder {\n width: 20px;\n }\n\n .node-content .fa-folder,\n .node-content .fa-folder-open {\n color: #ffc107;\n }\n\n .node-name {\n flex: 1;\n font-size: 14px;\n color: #333;\n }\n\n .node-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 1px 6px;\n border-radius: 8px;\n }\n\n /* Detail Panel */\n .detail-content {\n flex: 1;\n padding: 16px;\n overflow-y: auto;\n }\n\n .detail-field {\n margin-bottom: 16px;\n }\n\n .detail-field label {\n display: block;\n font-size: 12px;\n font-weight: 500;\n color: #999;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 4px;\n }\n\n .field-value {\n font-size: 14px;\n color: #333;\n }\n\n .detail-stats {\n display: flex;\n gap: 24px;\n margin: 24px 0;\n padding: 16px;\n background: #f5f7fa;\n border-radius: 8px;\n }\n\n .stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .stat-value {\n font-size: 24px;\n font-weight: 600;\n color: #2196F3;\n }\n\n .stat-label {\n font-size: 12px;\n color: #999;\n }\n\n .category-lists h4 {\n margin: 0 0 12px;\n font-size: 13px;\n font-weight: 600;\n color: #666;\n }\n\n .mini-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .mini-list-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #f5f7fa;\n border-radius: 4px;\n font-size: 13px;\n color: #333;\n }\n\n .mini-list-item i {\n color: #999;\n }\n\n /* No Selection */\n .category-detail-panel.empty {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .no-selection {\n text-align: center;\n color: #999;\n }\n\n .no-selection i {\n font-size: 32px;\n margin-bottom: 12px;\n }\n\n .no-selection p {\n margin: 0;\n }\n\n /* Form */\n .category-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .form-group label {\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 4px;\n font-size: 14px;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #2196F3;\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 display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n animation: fadeIn 0.15s ease-out;\n }\n\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .modal-dialog {\n background: white;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n width: 450px;\n max-width: 90vw;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n animation: slideIn 0.2s ease-out;\n }\n\n .modal-dialog.modal-sm {\n width: 400px;\n }\n\n @keyframes slideIn {\n from { transform: translateY(-20px); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\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.danger {\n background: #ffebee;\n border-bottom-color: #ffcdd2;\n }\n\n .modal-header.danger h3 {\n color: #c62828;\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 transition: all 0.15s;\n }\n\n .modal-close:hover:not(:disabled) {\n background: #f0f0f0;\n color: #333;\n }\n\n .modal-close:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0;\n color: #666;\n line-height: 1.6;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-secondary {\n padding: 8px 16px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n color: #666;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n border-color: #ccc;\n }\n\n .btn-secondary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-danger {\n padding: 8px 16px;\n background: #d32f2f;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-danger:hover {\n background: #c62828;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .categories-layout {\n grid-template-columns: 1fr;\n }\n\n .category-detail-panel.empty {\n display: none;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "], encapsulation: 2 });
|
|
704
|
+
i0.ɵɵconditional(ctx.showDeleteConfirm ? 17 : -1);
|
|
705
|
+
} }, dependencies: [i2.NgTemplateOutlet, i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i3.DefaultValueAccessor, i3.SelectControlValueAccessor, i3.NgControlStatus, i3.NgModel, i4.LoadingComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-categories-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n overflow: hidden;\n }\n\n /* Header */\n .categories-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\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 .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: 420px;\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: 100px;\n height: 100px;\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: 48px;\n color: #2196F3;\n z-index: 1;\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-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 16px 0 24px;\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 /* Content Layout */\n .categories-content {\n flex: 1;\n padding: 16px 24px;\n overflow: hidden;\n }\n\n .categories-layout {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n height: 100%;\n }\n\n .category-tree-panel,\n .category-detail-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n }\n\n .count-badge {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .panel-actions {\n display: flex;\n gap: 4px;\n }\n\n .icon-btn {\n background: none;\n border: none;\n padding: 6px 8px;\n color: #666;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .icon-btn:hover {\n background: #f0f0f0;\n color: #333;\n }\n\n .icon-btn.danger:hover {\n background: #ffebee;\n color: #d32f2f;\n }\n\n /* Tree Content */\n .tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .category-node {\n user-select: none;\n }\n\n .node-content {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .node-content:hover {\n background: #f5f5f5;\n }\n\n .node-content:focus {\n outline: none;\n background: #e8f4fd;\n }\n\n .node-content:focus-visible {\n outline: 2px solid #2196F3;\n outline-offset: -2px;\n background: #e8f4fd;\n }\n\n .node-content.selected {\n background: #e3f2fd;\n }\n\n .node-content.selected:focus-visible {\n outline: 2px solid #1976D2;\n }\n\n .expand-btn {\n background: none;\n border: none;\n padding: 2px;\n color: #999;\n cursor: pointer;\n width: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .expand-btn:hover {\n color: #666;\n }\n\n .expand-placeholder {\n width: 20px;\n }\n\n .node-content .fa-folder,\n .node-content .fa-folder-open {\n color: #ffc107;\n }\n\n .node-name {\n flex: 1;\n font-size: 14px;\n color: #333;\n }\n\n .node-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 1px 6px;\n border-radius: 8px;\n }\n\n /* Detail Panel */\n .detail-content {\n flex: 1;\n padding: 16px;\n overflow-y: auto;\n }\n\n .detail-field {\n margin-bottom: 16px;\n }\n\n .detail-field label {\n display: block;\n font-size: 12px;\n font-weight: 500;\n color: #999;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 4px;\n }\n\n .field-value {\n font-size: 14px;\n color: #333;\n }\n\n .detail-stats {\n display: flex;\n gap: 24px;\n margin: 24px 0;\n padding: 16px;\n background: #f5f7fa;\n border-radius: 8px;\n }\n\n .stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .stat-value {\n font-size: 24px;\n font-weight: 600;\n color: #2196F3;\n }\n\n .stat-label {\n font-size: 12px;\n color: #999;\n }\n\n .category-lists h4 {\n margin: 0 0 12px;\n font-size: 13px;\n font-weight: 600;\n color: #666;\n }\n\n .mini-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .mini-list-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #f5f7fa;\n border-radius: 4px;\n font-size: 13px;\n color: #333;\n }\n\n .mini-list-item i {\n color: #999;\n }\n\n /* No Selection */\n .category-detail-panel.empty {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .no-selection {\n text-align: center;\n color: #999;\n }\n\n .no-selection i {\n font-size: 32px;\n margin-bottom: 12px;\n }\n\n .no-selection p {\n margin: 0;\n }\n\n /* Form */\n .category-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .form-group label {\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 4px;\n font-size: 14px;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #2196F3;\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 display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n animation: fadeIn 0.15s ease-out;\n }\n\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .modal-dialog {\n background: white;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n width: 450px;\n max-width: 90vw;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n animation: slideIn 0.2s ease-out;\n }\n\n .modal-dialog.modal-sm {\n width: 400px;\n }\n\n @keyframes slideIn {\n from { transform: translateY(-20px); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\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.danger {\n background: #ffebee;\n border-bottom-color: #ffcdd2;\n }\n\n .modal-header.danger h3 {\n color: #c62828;\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 transition: all 0.15s;\n }\n\n .modal-close:hover:not(:disabled) {\n background: #f0f0f0;\n color: #333;\n }\n\n .modal-close:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0;\n color: #666;\n line-height: 1.6;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-secondary {\n padding: 8px 16px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n color: #666;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n border-color: #ccc;\n }\n\n .btn-secondary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-danger {\n padding: 8px 16px;\n background: #d32f2f;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-danger:hover {\n background: #c62828;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .categories-layout {\n grid-template-columns: 1fr;\n }\n\n .category-detail-panel.empty {\n display: none;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "], encapsulation: 2 });
|
|
708
706
|
};
|
|
709
707
|
ListsCategoriesResource = __decorate([
|
|
710
708
|
RegisterClass(BaseResourceComponent, 'ListsCategoriesResource')
|
|
@@ -712,7 +710,7 @@ ListsCategoriesResource = __decorate([
|
|
|
712
710
|
export { ListsCategoriesResource };
|
|
713
711
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListsCategoriesResource, [{
|
|
714
712
|
type: Component,
|
|
715
|
-
args: [{ selector: 'mj-lists-categories-resource', template: `
|
|
713
|
+
args: [{ standalone: false, selector: 'mj-lists-categories-resource', template: `
|
|
716
714
|
<div class="lists-categories-container">
|
|
717
715
|
<!-- Header -->
|
|
718
716
|
<div class="categories-header">
|
|
@@ -727,114 +725,127 @@ export { ListsCategoriesResource };
|
|
|
727
725
|
</button>
|
|
728
726
|
</div>
|
|
729
727
|
</div>
|
|
730
|
-
|
|
728
|
+
|
|
731
729
|
<!-- Loading State -->
|
|
732
|
-
|
|
733
|
-
<
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
<!-- Empty State -->
|
|
737
|
-
<div class="empty-state" *ngIf="!isLoading && categoryViewModels.length === 0">
|
|
738
|
-
<div class="empty-state-icon-wrapper">
|
|
739
|
-
<div class="icon-bg"></div>
|
|
740
|
-
<i class="fa-solid fa-folder-tree"></i>
|
|
730
|
+
@if (isLoading) {
|
|
731
|
+
<div class="loading-container">
|
|
732
|
+
<mj-loading text="Loading categories..." size="medium"></mj-loading>
|
|
741
733
|
</div>
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
<i class="fa-solid fa-check-circle"></i>
|
|
751
|
-
<span>Quickly find related lists</span>
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
<!-- Empty State -->
|
|
737
|
+
@if (!isLoading && categoryViewModels.length === 0) {
|
|
738
|
+
<div class="empty-state">
|
|
739
|
+
<div class="empty-state-icon-wrapper">
|
|
740
|
+
<div class="icon-bg"></div>
|
|
741
|
+
<i class="fa-solid fa-folder-tree"></i>
|
|
752
742
|
</div>
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
<
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
<!-- Categories Content -->
|
|
761
|
-
<div class="categories-content" *ngIf="!isLoading && categoryViewModels.length > 0">
|
|
762
|
-
<div class="categories-layout">
|
|
763
|
-
<!-- Category Tree -->
|
|
764
|
-
<div class="category-tree-panel">
|
|
765
|
-
<div class="panel-header">
|
|
766
|
-
<h3>Categories</h3>
|
|
767
|
-
<span class="count-badge">{{categories.length}}</span>
|
|
743
|
+
<h3>No Categories Yet</h3>
|
|
744
|
+
<p>Categories help you organize lists into logical groups.</p>
|
|
745
|
+
<div class="empty-state-features">
|
|
746
|
+
<div class="feature-item">
|
|
747
|
+
<i class="fa-solid fa-check-circle"></i>
|
|
748
|
+
<span>Create hierarchical folder structures</span>
|
|
768
749
|
</div>
|
|
769
|
-
<div class="
|
|
770
|
-
<
|
|
771
|
-
|
|
772
|
-
</ng-container>
|
|
750
|
+
<div class="feature-item">
|
|
751
|
+
<i class="fa-solid fa-check-circle"></i>
|
|
752
|
+
<span>Quickly find related lists</span>
|
|
773
753
|
</div>
|
|
774
754
|
</div>
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
<label>Name</label>
|
|
792
|
-
<span class="field-value">{{selectedCategory.Name}}</span>
|
|
793
|
-
</div>
|
|
794
|
-
<div class="detail-field" *ngIf="selectedCategory.Description">
|
|
795
|
-
<label>Description</label>
|
|
796
|
-
<span class="field-value">{{selectedCategory.Description}}</span>
|
|
755
|
+
<button class="btn-create-large" (click)="createCategory()">
|
|
756
|
+
<i class="fa-solid fa-plus"></i>
|
|
757
|
+
Create Your First Category
|
|
758
|
+
</button>
|
|
759
|
+
</div>
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
<!-- Categories Content -->
|
|
763
|
+
@if (!isLoading && categoryViewModels.length > 0) {
|
|
764
|
+
<div class="categories-content">
|
|
765
|
+
<div class="categories-layout">
|
|
766
|
+
<!-- Category Tree -->
|
|
767
|
+
<div class="category-tree-panel">
|
|
768
|
+
<div class="panel-header">
|
|
769
|
+
<h3>Categories</h3>
|
|
770
|
+
<span class="count-badge">{{categories.length}}</span>
|
|
797
771
|
</div>
|
|
798
|
-
<div class="
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
</span>
|
|
772
|
+
<div class="tree-content" role="tree" aria-label="Category tree">
|
|
773
|
+
@for (vm of getTopLevelCategories(); track vm) {
|
|
774
|
+
<ng-container *ngTemplateOutlet="categoryNodeTemplate; context: { vm: vm }"></ng-container>
|
|
775
|
+
}
|
|
803
776
|
</div>
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
777
|
+
</div>
|
|
778
|
+
<!-- Category Details -->
|
|
779
|
+
@if (selectedCategory) {
|
|
780
|
+
<div class="category-detail-panel">
|
|
781
|
+
<div class="panel-header">
|
|
782
|
+
<h3>Category Details</h3>
|
|
783
|
+
<div class="panel-actions">
|
|
784
|
+
<button class="icon-btn" (click)="editCategory()" title="Edit">
|
|
785
|
+
<i class="fa-solid fa-pen"></i>
|
|
786
|
+
</button>
|
|
787
|
+
<button class="icon-btn danger" (click)="deleteCategory()" title="Delete">
|
|
788
|
+
<i class="fa-solid fa-trash"></i>
|
|
789
|
+
</button>
|
|
790
|
+
</div>
|
|
808
791
|
</div>
|
|
809
|
-
<div class="
|
|
810
|
-
<
|
|
811
|
-
|
|
792
|
+
<div class="detail-content">
|
|
793
|
+
<div class="detail-field">
|
|
794
|
+
<label>Name</label>
|
|
795
|
+
<span class="field-value">{{selectedCategory.Name}}</span>
|
|
796
|
+
</div>
|
|
797
|
+
@if (selectedCategory.Description) {
|
|
798
|
+
<div class="detail-field">
|
|
799
|
+
<label>Description</label>
|
|
800
|
+
<span class="field-value">{{selectedCategory.Description}}</span>
|
|
801
|
+
</div>
|
|
802
|
+
}
|
|
803
|
+
<div class="detail-field">
|
|
804
|
+
<label>Parent Category</label>
|
|
805
|
+
<span class="field-value">
|
|
806
|
+
{{getParentCategoryName(selectedCategory) || '(Top Level)'}}
|
|
807
|
+
</span>
|
|
808
|
+
</div>
|
|
809
|
+
<div class="detail-stats">
|
|
810
|
+
<div class="stat-item">
|
|
811
|
+
<span class="stat-value">{{getSelectedCategoryListCount()}}</span>
|
|
812
|
+
<span class="stat-label">Lists</span>
|
|
813
|
+
</div>
|
|
814
|
+
<div class="stat-item">
|
|
815
|
+
<span class="stat-value">{{getSelectedCategoryChildCount()}}</span>
|
|
816
|
+
<span class="stat-label">Subcategories</span>
|
|
817
|
+
</div>
|
|
818
|
+
</div>
|
|
819
|
+
<!-- Lists in this category -->
|
|
820
|
+
@if (selectedCategoryLists.length > 0) {
|
|
821
|
+
<div class="category-lists">
|
|
822
|
+
<h4>Lists in this category</h4>
|
|
823
|
+
<div class="mini-list">
|
|
824
|
+
@for (list of selectedCategoryLists; track list) {
|
|
825
|
+
<div class="mini-list-item">
|
|
826
|
+
<i class="fa-solid fa-list"></i>
|
|
827
|
+
<span>{{list.Name}}</span>
|
|
828
|
+
</div>
|
|
829
|
+
}
|
|
830
|
+
</div>
|
|
831
|
+
</div>
|
|
832
|
+
}
|
|
812
833
|
</div>
|
|
813
834
|
</div>
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
<div class="
|
|
819
|
-
<
|
|
820
|
-
|
|
821
|
-
<span>{{list.Name}}</span>
|
|
822
|
-
</div>
|
|
835
|
+
}
|
|
836
|
+
<!-- No Selection State -->
|
|
837
|
+
@if (!selectedCategory) {
|
|
838
|
+
<div class="category-detail-panel empty">
|
|
839
|
+
<div class="no-selection">
|
|
840
|
+
<i class="fa-solid fa-arrow-left"></i>
|
|
841
|
+
<p>Select a category to view details</p>
|
|
823
842
|
</div>
|
|
824
843
|
</div>
|
|
825
|
-
|
|
826
|
-
</div>
|
|
827
|
-
|
|
828
|
-
<!-- No Selection State -->
|
|
829
|
-
<div class="category-detail-panel empty" *ngIf="!selectedCategory">
|
|
830
|
-
<div class="no-selection">
|
|
831
|
-
<i class="fa-solid fa-arrow-left"></i>
|
|
832
|
-
<p>Select a category to view details</p>
|
|
833
|
-
</div>
|
|
844
|
+
}
|
|
834
845
|
</div>
|
|
835
846
|
</div>
|
|
836
|
-
|
|
837
|
-
|
|
847
|
+
}
|
|
848
|
+
|
|
838
849
|
<!-- Category Node Template -->
|
|
839
850
|
<ng-template #categoryNodeTemplate let-vm="vm">
|
|
840
851
|
<div class="category-node" [style.padding-left.px]="vm.depth * 20">
|
|
@@ -851,99 +862,112 @@ export { ListsCategoriesResource };
|
|
|
851
862
|
[attr.aria-expanded]="hasChildren(vm.category) ? vm.isExpanded : null"
|
|
852
863
|
[attr.aria-selected]="selectedCategory?.ID === vm.category.ID"
|
|
853
864
|
[attr.aria-label]="vm.category.Name + ' - ' + vm.listCount + ' lists'">
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
865
|
+
@if (hasChildren(vm.category)) {
|
|
866
|
+
<button
|
|
867
|
+
class="expand-btn"
|
|
868
|
+
(click)="toggleExpand($event, vm)"
|
|
869
|
+
tabindex="-1"
|
|
870
|
+
aria-hidden="true">
|
|
871
|
+
<i [class]="vm.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'"></i>
|
|
872
|
+
</button>
|
|
873
|
+
}
|
|
874
|
+
@if (!hasChildren(vm.category)) {
|
|
875
|
+
<span class="expand-placeholder"></span>
|
|
876
|
+
}
|
|
863
877
|
<i class="fa-solid fa-folder" [class.fa-folder-open]="vm.isExpanded" aria-hidden="true"></i>
|
|
864
878
|
<span class="node-name">{{vm.category.Name}}</span>
|
|
865
879
|
<span class="node-count" aria-hidden="true">{{vm.listCount}}</span>
|
|
866
880
|
</div>
|
|
867
|
-
|
|
868
|
-
<
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
881
|
+
@if (vm.isExpanded && hasChildren(vm.category)) {
|
|
882
|
+
<div class="node-children" role="group">
|
|
883
|
+
@for (childVm of getChildCategories(vm.category); track childVm) {
|
|
884
|
+
<ng-container *ngTemplateOutlet="categoryNodeTemplate; context: { vm: childVm }"></ng-container>
|
|
885
|
+
}
|
|
886
|
+
</div>
|
|
887
|
+
}
|
|
872
888
|
</div>
|
|
873
889
|
</ng-template>
|
|
874
|
-
|
|
890
|
+
|
|
875
891
|
<!-- Create/Edit Dialog -->
|
|
876
|
-
|
|
877
|
-
<div class="modal-
|
|
878
|
-
<div class="modal-
|
|
879
|
-
<
|
|
880
|
-
|
|
881
|
-
<
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
<div class="
|
|
886
|
-
<div class="form
|
|
887
|
-
<
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
<
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
892
|
+
@if (showDialog) {
|
|
893
|
+
<div class="modal-overlay" (click)="closeDialog()">
|
|
894
|
+
<div class="modal-dialog" (click)="$event.stopPropagation()">
|
|
895
|
+
<div class="modal-header">
|
|
896
|
+
<h3>{{editingCategory ? 'Edit Category' : 'Create Category'}}</h3>
|
|
897
|
+
<button class="modal-close" (click)="closeDialog()" [disabled]="isSaving">
|
|
898
|
+
<i class="fa-solid fa-times"></i>
|
|
899
|
+
</button>
|
|
900
|
+
</div>
|
|
901
|
+
<div class="modal-body">
|
|
902
|
+
<div class="category-form">
|
|
903
|
+
<div class="form-group">
|
|
904
|
+
<label>Name *</label>
|
|
905
|
+
<input
|
|
906
|
+
type="text"
|
|
907
|
+
[(ngModel)]="dialogName"
|
|
908
|
+
placeholder="Enter category name"
|
|
909
|
+
class="form-input" />
|
|
910
|
+
</div>
|
|
911
|
+
<div class="form-group">
|
|
912
|
+
<label>Description</label>
|
|
913
|
+
<textarea
|
|
914
|
+
[(ngModel)]="dialogDescription"
|
|
915
|
+
placeholder="Optional description"
|
|
916
|
+
class="form-input"
|
|
900
917
|
rows="3"></textarea>
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
918
|
+
</div>
|
|
919
|
+
<div class="form-group">
|
|
920
|
+
<label>Parent Category</label>
|
|
921
|
+
<select
|
|
922
|
+
[(ngModel)]="dialogParentId"
|
|
923
|
+
class="form-input">
|
|
924
|
+
@for (parent of availableParents; track parent) {
|
|
925
|
+
<option [ngValue]="parent.ID">{{parent.displayName}}</option>
|
|
926
|
+
}
|
|
927
|
+
</select>
|
|
928
|
+
</div>
|
|
909
929
|
</div>
|
|
910
930
|
</div>
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
931
|
+
<div class="modal-footer">
|
|
932
|
+
<button
|
|
933
|
+
class="btn-primary"
|
|
934
|
+
(click)="saveCategory()"
|
|
935
|
+
[disabled]="!dialogName || isSaving">
|
|
936
|
+
@if (isSaving) {
|
|
937
|
+
<i class="fa-solid fa-spinner fa-spin"></i>
|
|
938
|
+
}
|
|
939
|
+
{{isSaving ? 'Saving...' : (editingCategory ? 'Save' : 'Create')}}
|
|
940
|
+
</button>
|
|
941
|
+
<button class="btn-secondary" (click)="closeDialog()" [disabled]="isSaving">Cancel</button>
|
|
942
|
+
</div>
|
|
921
943
|
</div>
|
|
922
944
|
</div>
|
|
923
|
-
|
|
924
|
-
|
|
945
|
+
}
|
|
946
|
+
|
|
925
947
|
<!-- Delete Confirmation Dialog -->
|
|
926
|
-
|
|
927
|
-
<div class="modal-
|
|
928
|
-
<div class="modal-
|
|
929
|
-
<
|
|
930
|
-
|
|
931
|
-
<
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
<
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
<
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
948
|
+
@if (showDeleteConfirm) {
|
|
949
|
+
<div class="modal-overlay" (click)="cancelDelete()">
|
|
950
|
+
<div class="modal-dialog modal-sm" (click)="$event.stopPropagation()">
|
|
951
|
+
<div class="modal-header danger">
|
|
952
|
+
<h3>Delete Category</h3>
|
|
953
|
+
<button class="modal-close" (click)="cancelDelete()">
|
|
954
|
+
<i class="fa-solid fa-times"></i>
|
|
955
|
+
</button>
|
|
956
|
+
</div>
|
|
957
|
+
<div class="modal-body">
|
|
958
|
+
<p>{{deleteConfirmMessage}}</p>
|
|
959
|
+
</div>
|
|
960
|
+
<div class="modal-footer">
|
|
961
|
+
<button class="btn-danger" (click)="confirmDelete()">
|
|
962
|
+
Delete
|
|
963
|
+
</button>
|
|
964
|
+
<button class="btn-secondary" (click)="cancelDelete()">Cancel</button>
|
|
965
|
+
</div>
|
|
942
966
|
</div>
|
|
943
967
|
</div>
|
|
944
|
-
|
|
968
|
+
}
|
|
945
969
|
</div>
|
|
946
|
-
`, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-categories-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n overflow: hidden;\n }\n\n /* Header */\n .categories-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\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 .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: 420px;\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: 100px;\n height: 100px;\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: 48px;\n color: #2196F3;\n z-index: 1;\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-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 16px 0 24px;\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 /* Content Layout */\n .categories-content {\n flex: 1;\n padding: 16px 24px;\n overflow: hidden;\n }\n\n .categories-layout {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n height: 100%;\n }\n\n .category-tree-panel,\n .category-detail-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n }\n\n .count-badge {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .panel-actions {\n display: flex;\n gap: 4px;\n }\n\n .icon-btn {\n background: none;\n border: none;\n padding: 6px 8px;\n color: #666;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .icon-btn:hover {\n background: #f0f0f0;\n color: #333;\n }\n\n .icon-btn.danger:hover {\n background: #ffebee;\n color: #d32f2f;\n }\n\n /* Tree Content */\n .tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .category-node {\n user-select: none;\n }\n\n .node-content {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .node-content:hover {\n background: #f5f5f5;\n }\n\n .node-content:focus {\n outline: none;\n background: #e8f4fd;\n }\n\n .node-content:focus-visible {\n outline: 2px solid #2196F3;\n outline-offset: -2px;\n background: #e8f4fd;\n }\n\n .node-content.selected {\n background: #e3f2fd;\n }\n\n .node-content.selected:focus-visible {\n outline: 2px solid #1976D2;\n }\n\n .expand-btn {\n background: none;\n border: none;\n padding: 2px;\n color: #999;\n cursor: pointer;\n width: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .expand-btn:hover {\n color: #666;\n }\n\n .expand-placeholder {\n width: 20px;\n }\n\n .node-content .fa-folder,\n .node-content .fa-folder-open {\n color: #ffc107;\n }\n\n .node-name {\n flex: 1;\n font-size: 14px;\n color: #333;\n }\n\n .node-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 1px 6px;\n border-radius: 8px;\n }\n\n /* Detail Panel */\n .detail-content {\n flex: 1;\n padding: 16px;\n overflow-y: auto;\n }\n\n .detail-field {\n margin-bottom: 16px;\n }\n\n .detail-field label {\n display: block;\n font-size: 12px;\n font-weight: 500;\n color: #999;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 4px;\n }\n\n .field-value {\n font-size: 14px;\n color: #333;\n }\n\n .detail-stats {\n display: flex;\n gap: 24px;\n margin: 24px 0;\n padding: 16px;\n background: #f5f7fa;\n border-radius: 8px;\n }\n\n .stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .stat-value {\n font-size: 24px;\n font-weight: 600;\n color: #2196F3;\n }\n\n .stat-label {\n font-size: 12px;\n color: #999;\n }\n\n .category-lists h4 {\n margin: 0 0 12px;\n font-size: 13px;\n font-weight: 600;\n color: #666;\n }\n\n .mini-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .mini-list-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #f5f7fa;\n border-radius: 4px;\n font-size: 13px;\n color: #333;\n }\n\n .mini-list-item i {\n color: #999;\n }\n\n /* No Selection */\n .category-detail-panel.empty {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .no-selection {\n text-align: center;\n color: #999;\n }\n\n .no-selection i {\n font-size: 32px;\n margin-bottom: 12px;\n }\n\n .no-selection p {\n margin: 0;\n }\n\n /* Form */\n .category-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .form-group label {\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 4px;\n font-size: 14px;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #2196F3;\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 display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n animation: fadeIn 0.15s ease-out;\n }\n\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .modal-dialog {\n background: white;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n width: 450px;\n max-width: 90vw;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n animation: slideIn 0.2s ease-out;\n }\n\n .modal-dialog.modal-sm {\n width: 400px;\n }\n\n @keyframes slideIn {\n from { transform: translateY(-20px); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\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.danger {\n background: #ffebee;\n border-bottom-color: #ffcdd2;\n }\n\n .modal-header.danger h3 {\n color: #c62828;\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 transition: all 0.15s;\n }\n\n .modal-close:hover:not(:disabled) {\n background: #f0f0f0;\n color: #333;\n }\n\n .modal-close:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0;\n color: #666;\n line-height: 1.6;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-secondary {\n padding: 8px 16px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n color: #666;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n border-color: #ccc;\n }\n\n .btn-secondary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-danger {\n padding: 8px 16px;\n background: #d32f2f;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-danger:hover {\n background: #c62828;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .categories-layout {\n grid-template-columns: 1fr;\n }\n\n .category-detail-panel.empty {\n display: none;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "] }]
|
|
970
|
+
`, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .lists-categories-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #f5f7fa;\n overflow: hidden;\n }\n\n /* Header */\n .categories-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\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 .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: 420px;\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: 100px;\n height: 100px;\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: 48px;\n color: #2196F3;\n z-index: 1;\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-features {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 16px 0 24px;\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 /* Content Layout */\n .categories-content {\n flex: 1;\n padding: 16px 24px;\n overflow: hidden;\n }\n\n .categories-layout {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n height: 100%;\n }\n\n .category-tree-panel,\n .category-detail-panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.08);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n border-bottom: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n }\n\n .count-badge {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n .panel-actions {\n display: flex;\n gap: 4px;\n }\n\n .icon-btn {\n background: none;\n border: none;\n padding: 6px 8px;\n color: #666;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n }\n\n .icon-btn:hover {\n background: #f0f0f0;\n color: #333;\n }\n\n .icon-btn.danger:hover {\n background: #ffebee;\n color: #d32f2f;\n }\n\n /* Tree Content */\n .tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .category-node {\n user-select: none;\n }\n\n .node-content {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n transition: background 0.15s;\n }\n\n .node-content:hover {\n background: #f5f5f5;\n }\n\n .node-content:focus {\n outline: none;\n background: #e8f4fd;\n }\n\n .node-content:focus-visible {\n outline: 2px solid #2196F3;\n outline-offset: -2px;\n background: #e8f4fd;\n }\n\n .node-content.selected {\n background: #e3f2fd;\n }\n\n .node-content.selected:focus-visible {\n outline: 2px solid #1976D2;\n }\n\n .expand-btn {\n background: none;\n border: none;\n padding: 2px;\n color: #999;\n cursor: pointer;\n width: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .expand-btn:hover {\n color: #666;\n }\n\n .expand-placeholder {\n width: 20px;\n }\n\n .node-content .fa-folder,\n .node-content .fa-folder-open {\n color: #ffc107;\n }\n\n .node-name {\n flex: 1;\n font-size: 14px;\n color: #333;\n }\n\n .node-count {\n font-size: 12px;\n color: #999;\n background: #f0f0f0;\n padding: 1px 6px;\n border-radius: 8px;\n }\n\n /* Detail Panel */\n .detail-content {\n flex: 1;\n padding: 16px;\n overflow-y: auto;\n }\n\n .detail-field {\n margin-bottom: 16px;\n }\n\n .detail-field label {\n display: block;\n font-size: 12px;\n font-weight: 500;\n color: #999;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 4px;\n }\n\n .field-value {\n font-size: 14px;\n color: #333;\n }\n\n .detail-stats {\n display: flex;\n gap: 24px;\n margin: 24px 0;\n padding: 16px;\n background: #f5f7fa;\n border-radius: 8px;\n }\n\n .stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .stat-value {\n font-size: 24px;\n font-weight: 600;\n color: #2196F3;\n }\n\n .stat-label {\n font-size: 12px;\n color: #999;\n }\n\n .category-lists h4 {\n margin: 0 0 12px;\n font-size: 13px;\n font-weight: 600;\n color: #666;\n }\n\n .mini-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .mini-list-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #f5f7fa;\n border-radius: 4px;\n font-size: 13px;\n color: #333;\n }\n\n .mini-list-item i {\n color: #999;\n }\n\n /* No Selection */\n .category-detail-panel.empty {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .no-selection {\n text-align: center;\n color: #999;\n }\n\n .no-selection i {\n font-size: 32px;\n margin-bottom: 12px;\n }\n\n .no-selection p {\n margin: 0;\n }\n\n /* Form */\n .category-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .form-group label {\n font-size: 13px;\n font-weight: 500;\n color: #666;\n }\n\n .form-input {\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 4px;\n font-size: 14px;\n }\n\n .form-input:focus {\n outline: none;\n border-color: #2196F3;\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 display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10000;\n animation: fadeIn 0.15s ease-out;\n }\n\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .modal-dialog {\n background: white;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n width: 450px;\n max-width: 90vw;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n animation: slideIn 0.2s ease-out;\n }\n\n .modal-dialog.modal-sm {\n width: 400px;\n }\n\n @keyframes slideIn {\n from { transform: translateY(-20px); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\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.danger {\n background: #ffebee;\n border-bottom-color: #ffcdd2;\n }\n\n .modal-header.danger h3 {\n color: #c62828;\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 transition: all 0.15s;\n }\n\n .modal-close:hover:not(:disabled) {\n background: #f0f0f0;\n color: #333;\n }\n\n .modal-close:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n\n .modal-body p {\n margin: 0;\n color: #666;\n line-height: 1.6;\n }\n\n .modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #fafafa;\n }\n\n .btn-secondary {\n padding: 8px 16px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 6px;\n color: #666;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n border-color: #ccc;\n }\n\n .btn-secondary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #2196F3;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-primary:hover:not(:disabled) {\n background: #1976D2;\n }\n\n .btn-primary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .btn-danger {\n padding: 8px 16px;\n background: #d32f2f;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .btn-danger:hover {\n background: #c62828;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .categories-layout {\n grid-template-columns: 1fr;\n }\n\n .category-detail-panel.empty {\n display: none;\n }\n\n .modal-dialog {\n width: 95vw;\n }\n }\n "] }]
|
|
947
971
|
}], () => [{ type: i0.ChangeDetectorRef }, { type: i1.MJNotificationService }], null); })();
|
|
948
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsCategoriesResource, { className: "ListsCategoriesResource", filePath: "src/
|
|
972
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListsCategoriesResource, { className: "ListsCategoriesResource", filePath: "src/lists/components/lists-categories-resource.component.ts", lineNumber: 913 }); })();
|
|
949
973
|
//# sourceMappingURL=lists-categories-resource.component.js.map
|