@memberjunction/ng-dashboards 2.120.0 → 2.122.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AI/components/agents/agent-configuration.component.d.ts +23 -11
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +122 -95
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.js +88 -90
- package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
- package/dist/AI/components/agents/agent-filter-panel.component.js +2 -2
- package/dist/AI/components/execution-monitoring.component.d.ts +23 -10
- package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js +143 -124
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management-v2.component.d.ts +17 -13
- package/dist/AI/components/models/model-management-v2.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management-v2.component.js +248 -266
- package/dist/AI/components/models/model-management-v2.component.js.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +76 -78
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.js +2 -2
- package/dist/AI/components/prompts/prompt-management-v2.component.d.ts +17 -15
- package/dist/AI/components/prompts/prompt-management-v2.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management-v2.component.js +372 -397
- package/dist/AI/components/prompts/prompt-management-v2.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-version-control.component.js +100 -102
- package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
- package/dist/AI/components/system/system-config-filter-panel.component.js +2 -2
- package/dist/AI/components/system/system-configuration.component.d.ts +17 -10
- package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +82 -61
- 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 +11 -7
- package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
- package/dist/AI/index.d.ts +4 -0
- package/dist/AI/index.d.ts.map +1 -1
- package/dist/AI/index.js +6 -1
- package/dist/AI/index.js.map +1 -1
- package/dist/Actions/components/actions-list-view.component.js +9 -9
- package/dist/Actions/components/actions-list-view.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.d.ts +16 -13
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +62 -48
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/categories-list-view.component.js +9 -9
- package/dist/Actions/components/categories-list-view.component.js.map +1 -1
- package/dist/Actions/components/code-management.component.d.ts +17 -7
- package/dist/Actions/components/code-management.component.d.ts.map +1 -1
- package/dist/Actions/components/code-management.component.js +45 -12
- package/dist/Actions/components/code-management.component.js.map +1 -1
- package/dist/Actions/components/entity-integration.component.d.ts +17 -7
- package/dist/Actions/components/entity-integration.component.d.ts.map +1 -1
- package/dist/Actions/components/entity-integration.component.js +45 -12
- package/dist/Actions/components/entity-integration.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +16 -10
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +56 -30
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.d.ts +17 -7
- package/dist/Actions/components/scheduled-actions.component.d.ts.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.js +45 -12
- package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
- package/dist/Actions/components/security-permissions.component.d.ts +17 -7
- package/dist/Actions/components/security-permissions.component.d.ts.map +1 -1
- package/dist/Actions/components/security-permissions.component.js +45 -12
- package/dist/Actions/components/security-permissions.component.js.map +1 -1
- package/dist/Actions/index.d.ts +6 -1
- package/dist/Actions/index.d.ts.map +1 -1
- package/dist/Actions/index.js +9 -1
- package/dist/Actions/index.js.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js +8 -8
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-load-dialog.component.js +52 -57
- package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +8 -9
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +107 -0
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -0
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +553 -0
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -0
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts +179 -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 +814 -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 +151 -0
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +1 -0
- package/dist/DataExplorer/components/view-selector/view-selector.component.js +480 -0
- package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -0
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +439 -0
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -0
- package/dist/DataExplorer/data-explorer-dashboard.component.js +2129 -0
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -0
- package/dist/DataExplorer/index.d.ts +5 -0
- package/dist/DataExplorer/index.d.ts.map +1 -0
- package/dist/DataExplorer/index.js +10 -0
- package/dist/DataExplorer/index.js.map +1 -0
- package/dist/DataExplorer/models/explorer-state.interface.d.ts +183 -0
- package/dist/DataExplorer/models/explorer-state.interface.d.ts.map +1 -0
- package/dist/DataExplorer/models/explorer-state.interface.js +31 -0
- package/dist/DataExplorer/models/explorer-state.interface.js.map +1 -0
- package/dist/DataExplorer/services/explorer-state.service.d.ts +232 -0
- package/dist/DataExplorer/services/explorer-state.service.d.ts.map +1 -0
- package/dist/DataExplorer/services/explorer-state.service.js +912 -0
- package/dist/DataExplorer/services/explorer-state.service.js.map +1 -0
- package/dist/EntityAdmin/components/entity-details.component.d.ts.map +1 -1
- package/dist/EntityAdmin/components/entity-details.component.js +11 -13
- package/dist/EntityAdmin/components/entity-details.component.js.map +1 -1
- package/dist/EntityAdmin/components/entity-filter-panel.component.js +2 -2
- package/dist/EntityAdmin/components/erd-composite.component.js +2 -2
- package/dist/EntityAdmin/components/erd-diagram.component.js +2 -2
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +14 -15
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +122 -0
- package/dist/Home/home-dashboard.component.d.ts.map +1 -0
- package/dist/Home/home-dashboard.component.js +698 -0
- package/dist/Home/home-dashboard.component.js.map +1 -0
- package/dist/Scheduling/components/index.d.ts +11 -0
- package/dist/Scheduling/components/index.d.ts.map +1 -0
- package/dist/Scheduling/components/index.js +13 -0
- package/dist/Scheduling/components/index.js.map +1 -0
- 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.js +7 -8
- package/dist/Scheduling/components/scheduling-health.component.js.map +1 -1
- 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.js +7 -8
- package/dist/Scheduling/components/scheduling-history.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-jobs.component.js +7 -8
- 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.js +7 -8
- package/dist/Scheduling/components/scheduling-monitoring.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.js +7 -8
- package/dist/Scheduling/components/scheduling-types.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +3 -3
- package/dist/Testing/components/index.d.ts +11 -0
- package/dist/Testing/components/index.d.ts.map +1 -0
- package/dist/Testing/components/index.js +13 -0
- package/dist/Testing/components/index.js.map +1 -0
- package/dist/Testing/components/testing-analytics-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-analytics-resource.component.js +55 -0
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -0
- 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.js +3 -3
- package/dist/Testing/components/testing-execution.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-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-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/testing-dashboard.component.d.ts +1 -1
- package/dist/Testing/testing-dashboard.component.js +23 -25
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/module.d.ts +83 -66
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +137 -19
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +6 -4
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +41 -13
- package/dist/public-api.js.map +1 -1
- package/package.json +17 -14
- package/dist/AI/ai-dashboard.component.d.ts +0 -62
- package/dist/AI/ai-dashboard.component.d.ts.map +0 -1
- package/dist/AI/ai-dashboard.component.js +0 -338
- package/dist/AI/ai-dashboard.component.js.map +0 -1
- package/dist/Actions/actions-management-dashboard.component.d.ts +0 -52
- package/dist/Actions/actions-management-dashboard.component.d.ts.map +0 -1
- package/dist/Actions/actions-management-dashboard.component.js +0 -308
- package/dist/Actions/actions-management-dashboard.component.js.map +0 -1
- package/dist/generic/base-dashboard.d.ts +0 -65
- package/dist/generic/base-dashboard.d.ts.map +0 -1
- package/dist/generic/base-dashboard.js +0 -74
- package/dist/generic/base-dashboard.js.map +0 -1
|
@@ -591,11 +591,11 @@ export class ERDDiagramComponent {
|
|
|
591
591
|
i0.ɵɵelementEnd()()();
|
|
592
592
|
i0.ɵɵelement(13, "div", 12, 0);
|
|
593
593
|
i0.ɵɵelementEnd();
|
|
594
|
-
} }, styles: [".erd-section[_ngcontent-%COMP%] {\n background: white;\n overflow: hidden;\n height: 100%;\n
|
|
594
|
+
} }, styles: ["[_nghost-%COMP%] {\n display: block;\n height: 100%;\n width: 100%;\n}\n\n.erd-section[_ngcontent-%COMP%] {\n background: white;\n overflow: hidden;\n height: 100%;\n flex-direction: column;\n min-height: 0; \n\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n background-color: #f5f5f5;\n border-bottom: 1px solid #e0e0e0;\n}\n.section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n}\n\n.erd-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n\n.control-btn[_ngcontent-%COMP%] {\n padding: 4px 8px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: white;\n cursor: pointer;\n font-size: 12px;\n}\n.control-btn[_ngcontent-%COMP%]:hover {\n background-color: #f0f0f0;\n}\n\n.erd-container[_ngcontent-%COMP%] {\n flex: 1;\n position: relative;\n background-color: #fafafa;\n overflow: hidden;\n width: 100%;\n height: 1000px;\n box-sizing: border-box;\n}\n.erd-container[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n width: 100% !important;\n height: 100% !important;\n box-sizing: border-box;\n}\n\n.loading-overlay[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(250, 250, 250, 0.95);\n backdrop-filter: blur(2px);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n animation: fadeIn 0.3s ease-in-out;\n}\n\n.loading-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.loading-spinner[_ngcontent-%COMP%] {\n position: relative;\n width: 60px;\n height: 60px;\n}\n\n.spinner-ring[_ngcontent-%COMP%] {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1.5s linear infinite;\n}\n.spinner-ring[_ngcontent-%COMP%]:nth-child(1) {\n border-top-color: #2196f3;\n animation-delay: 0s;\n}\n.spinner-ring[_ngcontent-%COMP%]:nth-child(2) {\n border-top-color: #9c27b0;\n animation-delay: 0.3s;\n transform: scale(0.8);\n}\n.spinner-ring[_ngcontent-%COMP%]:nth-child(3) {\n border-top-color: #ff6b35;\n animation-delay: 0.6s;\n transform: scale(0.6);\n}\n\n.loading-text[_ngcontent-%COMP%] {\n font-size: 14px;\n color: #666;\n font-weight: 500;\n text-align: center;\n}\n\n.control-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n@keyframes _ngcontent-%COMP%_spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n[_nghost-%COMP%] .erd-container svg .node .entity-rect.highlighted {\n stroke: #ff9800 !important;\n stroke-width: 4px !important;\n filter: drop-shadow(0 0 8px rgba(255, 152, 0, 0.6));\n animation: _ngcontent-%COMP%_pulse 1s ease-in-out infinite alternate;\n}\n[_nghost-%COMP%] .erd-container svg .node.selected .entity-rect {\n stroke: #2196f3 !important;\n stroke-width: 4px !important;\n filter: drop-shadow(0 0 12px rgba(33, 150, 243, 0.8));\n fill: #f3f8ff !important;\n animation: _ngcontent-%COMP%_selectedPulse 2s ease-in-out infinite alternate;\n}\n[_nghost-%COMP%] .erd-container svg .node.selected .entity-header {\n fill: #2196f3 !important;\n}\n[_nghost-%COMP%] .erd-container svg .node.selected .entity-header-bottom {\n fill: #2196f3 !important;\n}\n[_nghost-%COMP%] .erd-container svg .node.selected .entity-name {\n fill: white !important;\n font-weight: bold !important;\n}\n@keyframes _ngcontent-%COMP%_selectedPulse {\n 0% {\n stroke-width: 4px;\n filter: drop-shadow(0 0 12px rgba(33, 150, 243, 0.8));\n }\n 100% {\n stroke-width: 5px;\n filter: drop-shadow(0 0 16px rgb(33, 150, 243));\n }\n}\n[_nghost-%COMP%] .erd-container svg .node.relationship-connected .entity-rect.relationship-highlighted {\n stroke: #ff6b35 !important;\n stroke-width: 3px !important;\n filter: drop-shadow(0 0 6px rgba(255, 107, 53, 0.5));\n animation: _ngcontent-%COMP%_entityPulse 1.5s ease-in-out infinite alternate;\n}\n[_nghost-%COMP%] .erd-container svg .node.relationship-connected .entity-header {\n fill: #ff6b35 !important;\n}\n[_nghost-%COMP%] .erd-container svg .node.relationship-connected .entity-header-bottom {\n fill: #ff6b35 !important;\n}\n[_nghost-%COMP%] .erd-container svg .node.entity-connections-highlighted .entity-rect.connection-highlighted {\n stroke: #9b59b6 !important;\n stroke-width: 3px !important;\n filter: drop-shadow(0 0 6px rgba(155, 89, 182, 0.5));\n opacity: 0.9;\n}\n[_nghost-%COMP%] .erd-container svg .node.entity-connections-highlighted .entity-header {\n fill: #9b59b6 !important;\n opacity: 0.8;\n}\n[_nghost-%COMP%] .erd-container svg .node.entity-connections-highlighted .entity-header-bottom {\n fill: #9b59b6 !important;\n opacity: 0.8;\n}\n[_nghost-%COMP%] .erd-container svg .link-group .link {\n stroke-width: 2px;\n transition: all 0.2s ease;\n cursor: pointer;\n}\n[_nghost-%COMP%] .erd-container svg .link-group .link:hover {\n stroke-width: 3px;\n stroke: #ff6b35;\n opacity: 1;\n}\n[_nghost-%COMP%] .erd-container svg .link-group .link.highlighted {\n stroke: #ff6b35 !important;\n stroke-width: 4px !important;\n opacity: 1 !important;\n filter: drop-shadow(0 0 6px rgba(255, 107, 53, 0.6));\n animation: _ngcontent-%COMP%_linkPulse 1.5s ease-in-out infinite alternate;\n}\n[_nghost-%COMP%] .erd-container svg .link-group .link-label {\n font-family: \"Segoe UI\", Tahoma, Geneva, Verdana, sans-serif;\n opacity: 0.8;\n pointer-events: none;\n transition: opacity 0.2s ease;\n}\n[_nghost-%COMP%] .erd-container svg .link-group .link-label.highlighted {\n opacity: 1;\n font-weight: bold;\n fill: #ff6b35;\n}\n[_nghost-%COMP%] .erd-container svg .link-group.highlighted {\n z-index: 10;\n}\n[_nghost-%COMP%] .erd-container svg .field-group .field-bg {\n transition: fill 0.2s;\n}\n[_nghost-%COMP%] .erd-container svg .field-group:hover .field-bg {\n fill: #e3f2fd !important;\n}\n@keyframes _ngcontent-%COMP%_pulse {\n 0% {\n stroke-width: 4px;\n }\n 100% {\n stroke-width: 6px;\n }\n}\n@keyframes _ngcontent-%COMP%_linkPulse {\n 0% {\n stroke-width: 4px;\n filter: drop-shadow(0 0 6px rgba(255, 107, 53, 0.6));\n }\n 100% {\n stroke-width: 5px;\n filter: drop-shadow(0 0 10px rgba(255, 107, 53, 0.8));\n }\n}\n@keyframes _ngcontent-%COMP%_entityPulse {\n 0% {\n stroke-width: 3px;\n filter: drop-shadow(0 0 6px rgba(255, 107, 53, 0.5));\n }\n 100% {\n stroke-width: 4px;\n filter: drop-shadow(0 0 8px rgba(255, 107, 53, 0.7));\n }\n}"] });
|
|
595
595
|
}
|
|
596
596
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ERDDiagramComponent, [{
|
|
597
597
|
type: Component,
|
|
598
|
-
args: [{ selector: 'mj-erd-diagram', template: "<div class=\"erd-section\">\n <div class=\"section-header\">\n <h3>Entity Relationship Diagram</h3>\n <div class=\"erd-controls\">\n <button class=\"control-btn\" (click)=\"zoomIn()\" title=\"Zoom In\">\n <span class=\"fa-solid fa-search-plus\"></span>\n </button>\n <button class=\"control-btn\" (click)=\"zoomOut()\" title=\"Zoom Out\">\n <span class=\"fa-solid fa-search-minus\"></span>\n </button>\n <button class=\"control-btn\" (click)=\"resetZoom()\" title=\"Reset Zoom\">\n <span class=\"fa-solid fa-expand\"></span>\n </button>\n <button class=\"control-btn\" (click)=\"setupERD()\" title=\"Refresh Diagram\">\n <span class=\"fa-solid fa-refresh\"></span>\n </button>\n </div>\n </div>\n <div class=\"erd-container\" #erdContainer></div>\n</div>", styles: [".erd-section {\n background: white;\n overflow: hidden;\n height: 100%;\n
|
|
598
|
+
args: [{ selector: 'mj-erd-diagram', template: "<div class=\"erd-section\">\n <div class=\"section-header\">\n <h3>Entity Relationship Diagram</h3>\n <div class=\"erd-controls\">\n <button class=\"control-btn\" (click)=\"zoomIn()\" title=\"Zoom In\">\n <span class=\"fa-solid fa-search-plus\"></span>\n </button>\n <button class=\"control-btn\" (click)=\"zoomOut()\" title=\"Zoom Out\">\n <span class=\"fa-solid fa-search-minus\"></span>\n </button>\n <button class=\"control-btn\" (click)=\"resetZoom()\" title=\"Reset Zoom\">\n <span class=\"fa-solid fa-expand\"></span>\n </button>\n <button class=\"control-btn\" (click)=\"setupERD()\" title=\"Refresh Diagram\">\n <span class=\"fa-solid fa-refresh\"></span>\n </button>\n </div>\n </div>\n <div class=\"erd-container\" #erdContainer></div>\n</div>", styles: [":host {\n display: block;\n height: 100%;\n width: 100%;\n}\n\n.erd-section {\n background: white;\n overflow: hidden;\n height: 100%;\n flex-direction: column;\n min-height: 0; /* Allow flex children to shrink below content size */\n}\n\n.section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n background-color: #f5f5f5;\n border-bottom: 1px solid #e0e0e0;\n}\n.section-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n}\n\n.erd-controls {\n display: flex;\n gap: 8px;\n}\n\n.control-btn {\n padding: 4px 8px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: white;\n cursor: pointer;\n font-size: 12px;\n}\n.control-btn:hover {\n background-color: #f0f0f0;\n}\n\n.erd-container {\n flex: 1;\n position: relative;\n background-color: #fafafa;\n overflow: hidden;\n width: 100%;\n height: 1000px;\n box-sizing: border-box;\n}\n.erd-container svg {\n position: absolute;\n top: 0;\n left: 0;\n width: 100% !important;\n height: 100% !important;\n box-sizing: border-box;\n}\n\n.loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(250, 250, 250, 0.95);\n backdrop-filter: blur(2px);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n animation: fadeIn 0.3s ease-in-out;\n}\n\n.loading-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.loading-spinner {\n position: relative;\n width: 60px;\n height: 60px;\n}\n\n.spinner-ring {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-radius: 50%;\n animation: spin 1.5s linear infinite;\n}\n.spinner-ring:nth-child(1) {\n border-top-color: #2196f3;\n animation-delay: 0s;\n}\n.spinner-ring:nth-child(2) {\n border-top-color: #9c27b0;\n animation-delay: 0.3s;\n transform: scale(0.8);\n}\n.spinner-ring:nth-child(3) {\n border-top-color: #ff6b35;\n animation-delay: 0.6s;\n transform: scale(0.6);\n}\n\n.loading-text {\n font-size: 14px;\n color: #666;\n font-weight: 500;\n text-align: center;\n}\n\n.control-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n:host ::ng-deep .erd-container svg .node .entity-rect.highlighted {\n stroke: #ff9800 !important;\n stroke-width: 4px !important;\n filter: drop-shadow(0 0 8px rgba(255, 152, 0, 0.6));\n animation: pulse 1s ease-in-out infinite alternate;\n}\n:host ::ng-deep .erd-container svg .node.selected .entity-rect {\n stroke: #2196f3 !important;\n stroke-width: 4px !important;\n filter: drop-shadow(0 0 12px rgba(33, 150, 243, 0.8));\n fill: #f3f8ff !important;\n animation: selectedPulse 2s ease-in-out infinite alternate;\n}\n:host ::ng-deep .erd-container svg .node.selected .entity-header {\n fill: #2196f3 !important;\n}\n:host ::ng-deep .erd-container svg .node.selected .entity-header-bottom {\n fill: #2196f3 !important;\n}\n:host ::ng-deep .erd-container svg .node.selected .entity-name {\n fill: white !important;\n font-weight: bold !important;\n}\n@keyframes selectedPulse {\n 0% {\n stroke-width: 4px;\n filter: drop-shadow(0 0 12px rgba(33, 150, 243, 0.8));\n }\n 100% {\n stroke-width: 5px;\n filter: drop-shadow(0 0 16px rgb(33, 150, 243));\n }\n}\n:host ::ng-deep .erd-container svg .node.relationship-connected .entity-rect.relationship-highlighted {\n stroke: #ff6b35 !important;\n stroke-width: 3px !important;\n filter: drop-shadow(0 0 6px rgba(255, 107, 53, 0.5));\n animation: entityPulse 1.5s ease-in-out infinite alternate;\n}\n:host ::ng-deep .erd-container svg .node.relationship-connected .entity-header {\n fill: #ff6b35 !important;\n}\n:host ::ng-deep .erd-container svg .node.relationship-connected .entity-header-bottom {\n fill: #ff6b35 !important;\n}\n:host ::ng-deep .erd-container svg .node.entity-connections-highlighted .entity-rect.connection-highlighted {\n stroke: #9b59b6 !important;\n stroke-width: 3px !important;\n filter: drop-shadow(0 0 6px rgba(155, 89, 182, 0.5));\n opacity: 0.9;\n}\n:host ::ng-deep .erd-container svg .node.entity-connections-highlighted .entity-header {\n fill: #9b59b6 !important;\n opacity: 0.8;\n}\n:host ::ng-deep .erd-container svg .node.entity-connections-highlighted .entity-header-bottom {\n fill: #9b59b6 !important;\n opacity: 0.8;\n}\n:host ::ng-deep .erd-container svg .link-group .link {\n stroke-width: 2px;\n transition: all 0.2s ease;\n cursor: pointer;\n}\n:host ::ng-deep .erd-container svg .link-group .link:hover {\n stroke-width: 3px;\n stroke: #ff6b35;\n opacity: 1;\n}\n:host ::ng-deep .erd-container svg .link-group .link.highlighted {\n stroke: #ff6b35 !important;\n stroke-width: 4px !important;\n opacity: 1 !important;\n filter: drop-shadow(0 0 6px rgba(255, 107, 53, 0.6));\n animation: linkPulse 1.5s ease-in-out infinite alternate;\n}\n:host ::ng-deep .erd-container svg .link-group .link-label {\n font-family: \"Segoe UI\", Tahoma, Geneva, Verdana, sans-serif;\n opacity: 0.8;\n pointer-events: none;\n transition: opacity 0.2s ease;\n}\n:host ::ng-deep .erd-container svg .link-group .link-label.highlighted {\n opacity: 1;\n font-weight: bold;\n fill: #ff6b35;\n}\n:host ::ng-deep .erd-container svg .link-group.highlighted {\n z-index: 10;\n}\n:host ::ng-deep .erd-container svg .field-group .field-bg {\n transition: fill 0.2s;\n}\n:host ::ng-deep .erd-container svg .field-group:hover .field-bg {\n fill: #e3f2fd !important;\n}\n@keyframes pulse {\n 0% {\n stroke-width: 4px;\n }\n 100% {\n stroke-width: 6px;\n }\n}\n@keyframes linkPulse {\n 0% {\n stroke-width: 4px;\n filter: drop-shadow(0 0 6px rgba(255, 107, 53, 0.6));\n }\n 100% {\n stroke-width: 5px;\n filter: drop-shadow(0 0 10px rgba(255, 107, 53, 0.8));\n }\n}\n@keyframes entityPulse {\n 0% {\n stroke-width: 3px;\n filter: drop-shadow(0 0 6px rgba(255, 107, 53, 0.5));\n }\n 100% {\n stroke-width: 4px;\n filter: drop-shadow(0 0 8px rgba(255, 107, 53, 0.7));\n }\n}\n"] }]
|
|
599
599
|
}], null, { erdContainer: [{
|
|
600
600
|
type: ViewChild,
|
|
601
601
|
args: ['erdContainer', { static: false }]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AfterViewInit, OnDestroy } from '@angular/core';
|
|
2
|
-
import { BaseDashboard } from '
|
|
2
|
+
import { BaseDashboard } from '@memberjunction/ng-shared';
|
|
3
3
|
import { EntityInfo } from '@memberjunction/core';
|
|
4
4
|
import { ERDCompositeComponent } from './components/erd-composite.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-admin-dashboard.component.d.ts","sourceRoot":"","sources":["../../src/EntityAdmin/entity-admin-dashboard.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AAIhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;;AAE7E,UAAU,cAAc;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,GAAG,CAAC;IACb,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,4BAA4B,EAAE,OAAO,CAAC;CACvC;AAED,qBAMa,6BAA8B,SAAQ,aAAc,YAAW,aAAa,EAAE,SAAS;IACpD,YAAY,EAAG,qBAAqB,CAAC;IAE5E,SAAS,UAAS;IAClB,eAAe,UAAS;IACxB,cAAc,SAAM;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG5B,kBAAkB,UAAQ;IAC1B,cAAc,EAAE,UAAU,GAAG,IAAI,CAAQ;IACzC,gBAAgB,EAAE,UAAU,EAAE,CAAM;IAG3C,OAAO,CAAC,sBAAsB,CAAiC;IAC/D,OAAO,CAAC,kBAAkB,CAAS;IAEnC,eAAe,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"entity-admin-dashboard.component.d.ts","sourceRoot":"","sources":["../../src/EntityAdmin/entity-admin-dashboard.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AAIhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;;AAE7E,UAAU,cAAc;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,GAAG,CAAC;IACb,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,4BAA4B,EAAE,OAAO,CAAC;CACvC;AAED,qBAMa,6BAA8B,SAAQ,aAAc,YAAW,aAAa,EAAE,SAAS;IACpD,YAAY,EAAG,qBAAqB,CAAC;IAE5E,SAAS,UAAS;IAClB,eAAe,UAAS;IACxB,cAAc,SAAM;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG5B,kBAAkB,UAAQ;IAC1B,cAAc,EAAE,UAAU,GAAG,IAAI,CAAQ;IACzC,gBAAgB,EAAE,UAAU,EAAE,CAAM;IAG3C,OAAO,CAAC,sBAAsB,CAAiC;IAC/D,OAAO,CAAC,kBAAkB,CAAS;IAEnC,eAAe,IAAI,IAAI;IASd,WAAW,IAAI,IAAI;IAK5B,SAAS,CAAC,aAAa,IAAI,IAAI;IAK/B,SAAS,CAAC,QAAQ,IAAI,IAAI;IAInB,iBAAiB,IAAI,IAAI;IAQzB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAoB1C,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAI9C,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKxC,YAAY,CAAC,KAAK,EAAE;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IAQjE,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAS3C,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,mBAAmB;yCA3GhB,6BAA6B;2CAA7B,6BAA6B;CA+GzC;AAED,wBAAgB,wBAAwB,SAEvC"}
|
|
@@ -5,28 +5,26 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { Component, ViewChild } from '@angular/core';
|
|
8
|
-
import { BaseDashboard } from '
|
|
8
|
+
import { BaseDashboard } from '@memberjunction/ng-shared';
|
|
9
9
|
import { RegisterClass } from '@memberjunction/global';
|
|
10
10
|
import { CompositeKey } from '@memberjunction/core';
|
|
11
11
|
import { Subject } from 'rxjs';
|
|
12
12
|
import { debounceTime } from 'rxjs/operators';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "
|
|
14
|
+
import * as i1 from "@memberjunction/ng-shared-generic";
|
|
15
|
+
import * as i2 from "./components/erd-composite.component";
|
|
15
16
|
const _c0 = ["erdComposite"];
|
|
16
17
|
function EntityAdminDashboardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
-
i0.ɵɵelementStart(0, "div", 8)
|
|
18
|
-
i0.ɵɵelement(
|
|
18
|
+
i0.ɵɵelementStart(0, "div", 8);
|
|
19
|
+
i0.ɵɵelement(1, "mj-loading", 11);
|
|
19
20
|
i0.ɵɵelementEnd();
|
|
20
|
-
i0.ɵɵelementStart(6, "div", 14);
|
|
21
|
-
i0.ɵɵtext(7);
|
|
22
|
-
i0.ɵɵelementEnd()()();
|
|
23
21
|
} if (rf & 2) {
|
|
24
22
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
25
|
-
i0.ɵɵadvance(
|
|
26
|
-
i0.ɵɵ
|
|
23
|
+
i0.ɵɵadvance();
|
|
24
|
+
i0.ɵɵproperty("text", ctx_r0.loadingMessage);
|
|
27
25
|
} }
|
|
28
26
|
function EntityAdminDashboardComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
-
i0.ɵɵelementStart(0, "div", 9)(1, "p",
|
|
27
|
+
i0.ɵɵelementStart(0, "div", 9)(1, "p", 12);
|
|
30
28
|
i0.ɵɵtext(2);
|
|
31
29
|
i0.ɵɵelementEnd()();
|
|
32
30
|
} if (rf & 2) {
|
|
@@ -36,7 +34,7 @@ function EntityAdminDashboardComponent_Conditional_10_Template(rf, ctx) { if (rf
|
|
|
36
34
|
} }
|
|
37
35
|
function EntityAdminDashboardComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
38
36
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
39
|
-
i0.ɵɵelementStart(0, "div", 10)(1, "mj-erd-composite",
|
|
37
|
+
i0.ɵɵelementStart(0, "div", 10)(1, "mj-erd-composite", 13, 0);
|
|
40
38
|
i0.ɵɵlistener("stateChange", function EntityAdminDashboardComponent_Conditional_11_Template_mj_erd_composite_stateChange_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onStateChange($event)); })("userStateChange", function EntityAdminDashboardComponent_Conditional_11_Template_mj_erd_composite_userStateChange_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onUserStateChange($event)); })("entityOpened", function EntityAdminDashboardComponent_Conditional_11_Template_mj_erd_composite_entityOpened_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onEntityOpened($event)); })("openRecord", function EntityAdminDashboardComponent_Conditional_11_Template_mj_erd_composite_openRecord_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onOpenRecord($event)); });
|
|
41
39
|
i0.ɵɵelementEnd()();
|
|
42
40
|
} if (rf & 2) {
|
|
@@ -65,6 +63,7 @@ let EntityAdminDashboardComponent = class EntityAdminDashboardComponent extends
|
|
|
65
63
|
}
|
|
66
64
|
ngOnDestroy() {
|
|
67
65
|
this.userStateChangeSubject.complete();
|
|
66
|
+
super.ngOnDestroy();
|
|
68
67
|
}
|
|
69
68
|
initDashboard() {
|
|
70
69
|
// Initialize dashboard - called by BaseDashboard
|
|
@@ -142,7 +141,7 @@ let EntityAdminDashboardComponent = class EntityAdminDashboardComponent extends
|
|
|
142
141
|
} if (rf & 2) {
|
|
143
142
|
let _t;
|
|
144
143
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.erdComposite = _t.first);
|
|
145
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 6, consts: [["erdComposite", ""], [1, "entity-admin-dashboard-container"], [1, "dashboard-header"], [1, "header-info"], [1, "visible-entities-count"], [1, "header-controls"], ["title", "Toggle Filters", 1, "control-btn", 3, "click"], [1, "fa-solid", "fa-filter"], [1, "loading-container"], [1, "error-container"], [1, "dashboard-content"], [
|
|
144
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 6, consts: [["erdComposite", ""], [1, "entity-admin-dashboard-container"], [1, "dashboard-header"], [1, "header-info"], [1, "visible-entities-count"], [1, "header-controls"], ["title", "Toggle Filters", 1, "control-btn", 3, "click"], [1, "fa-solid", "fa-filter"], [1, "loading-container"], [1, "error-container"], [1, "dashboard-content"], ["size", "large", 3, "text"], [1, "error-message"], [3, "stateChange", "userStateChange", "entityOpened", "openRecord", "isRefreshingERD"]], template: function EntityAdminDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
146
145
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div", 3)(3, "span", 4);
|
|
147
146
|
i0.ɵɵtext(4);
|
|
148
147
|
i0.ɵɵelementEnd()();
|
|
@@ -151,7 +150,7 @@ let EntityAdminDashboardComponent = class EntityAdminDashboardComponent extends
|
|
|
151
150
|
i0.ɵɵelement(7, "span", 7);
|
|
152
151
|
i0.ɵɵtext(8, " Filters ");
|
|
153
152
|
i0.ɵɵelementEnd()()();
|
|
154
|
-
i0.ɵɵtemplate(9, EntityAdminDashboardComponent_Conditional_9_Template,
|
|
153
|
+
i0.ɵɵtemplate(9, EntityAdminDashboardComponent_Conditional_9_Template, 2, 1, "div", 8)(10, EntityAdminDashboardComponent_Conditional_10_Template, 3, 1, "div", 9)(11, EntityAdminDashboardComponent_Conditional_11_Template, 3, 1, "div", 10);
|
|
155
154
|
i0.ɵɵelementEnd();
|
|
156
155
|
} if (rf & 2) {
|
|
157
156
|
i0.ɵɵadvance(4);
|
|
@@ -164,7 +163,7 @@ let EntityAdminDashboardComponent = class EntityAdminDashboardComponent extends
|
|
|
164
163
|
i0.ɵɵconditional(ctx.error ? 10 : -1);
|
|
165
164
|
i0.ɵɵadvance();
|
|
166
165
|
i0.ɵɵconditional(!ctx.isLoading && !ctx.error ? 11 : -1);
|
|
167
|
-
} }, dependencies: [i1.ERDCompositeComponent], styles: [".entity-admin-dashboard-container[_ngcontent-%COMP%] {\n overflow: hidden;\n padding: 4px;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.dashboard-header[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n
|
|
166
|
+
} }, dependencies: [i1.LoadingComponent, i2.ERDCompositeComponent], styles: [".entity-admin-dashboard-container[_ngcontent-%COMP%] {\n overflow: hidden;\n padding: 4px;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.dashboard-header[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.dashboard-header[_ngcontent-%COMP%] .header-info[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n}\n.dashboard-header[_ngcontent-%COMP%] .visible-entities-count[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #2196f3;\n font-weight: 600;\n background: rgba(33, 150, 243, 0.1);\n padding: 4px 8px;\n border-radius: 4px;\n border: 1px solid rgba(33, 150, 243, 0.2);\n}\n.dashboard-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n.dashboard-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn[_ngcontent-%COMP%] {\n padding: 8px 12px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: white;\n cursor: pointer;\n font-size: 12px;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: all 0.2s;\n}\n.dashboard-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn[_ngcontent-%COMP%]:hover {\n background-color: #f0f0f0;\n border-color: #2196f3;\n}\n.dashboard-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn.active[_ngcontent-%COMP%] {\n background-color: #2196f3;\n border-color: #2196f3;\n color: white;\n}\n.dashboard-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.dashboard-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn[_ngcontent-%COMP%]:disabled:hover {\n background-color: white;\n border-color: #ccc;\n}\n.dashboard-header[_ngcontent-%COMP%] .header-controls[_ngcontent-%COMP%] .control-btn[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.loading-container[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background: #fafafa;\n flex: 1;\n}\n.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .error-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n color: #666;\n font-size: 14px;\n}\n\n.error-message[_ngcontent-%COMP%] {\n color: #d32f2f;\n font-weight: 500;\n}\n\n.dashboard-content[_ngcontent-%COMP%] {\n overflow: hidden;\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0; \n\n}\n\n.loading-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.loading-spinner[_ngcontent-%COMP%] {\n position: relative;\n width: 60px;\n height: 60px;\n}\n\n.spinner-ring[_ngcontent-%COMP%] {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_spin 1.5s linear infinite;\n}\n.spinner-ring[_ngcontent-%COMP%]:nth-child(1) {\n border-top-color: #2196f3;\n animation-delay: 0s;\n}\n.spinner-ring[_ngcontent-%COMP%]:nth-child(2) {\n border-top-color: #9c27b0;\n animation-delay: 0.3s;\n transform: scale(0.8);\n}\n.spinner-ring[_ngcontent-%COMP%]:nth-child(3) {\n border-top-color: #ff6b35;\n animation-delay: 0.6s;\n transform: scale(0.6);\n}\n\n.loading-text[_ngcontent-%COMP%] {\n font-size: 14px;\n color: #666;\n font-weight: 500;\n text-align: center;\n}\n\n@keyframes _ngcontent-%COMP%_spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}"] });
|
|
168
167
|
};
|
|
169
168
|
EntityAdminDashboardComponent = __decorate([
|
|
170
169
|
RegisterClass(BaseDashboard, 'EntityAdmin')
|
|
@@ -172,7 +171,7 @@ EntityAdminDashboardComponent = __decorate([
|
|
|
172
171
|
export { EntityAdminDashboardComponent };
|
|
173
172
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityAdminDashboardComponent, [{
|
|
174
173
|
type: Component,
|
|
175
|
-
args: [{ selector: 'mj-entity-admin-dashboard', template: "<div class=\"entity-admin-dashboard-container\">\n <div class=\"dashboard-header\">\n <div class=\"header-info\">\n <span class=\"visible-entities-count\">{{ filteredEntities.length }} visible entities</span>\n </div>\n <div class=\"header-controls\">\n <button \n class=\"control-btn\" \n (click)=\"toggleFilterPanel()\" \n [class.active]=\"filterPanelVisible\"\n title=\"Toggle Filters\">\n <span class=\"fa-solid fa-filter\"></span>\n Filters\n </button>\n </div>\n </div>\n \n @if (isLoading) {\n <div class=\"loading-container\">\n <
|
|
174
|
+
args: [{ selector: 'mj-entity-admin-dashboard', template: "<div class=\"entity-admin-dashboard-container\">\n <div class=\"dashboard-header\">\n <div class=\"header-info\">\n <span class=\"visible-entities-count\">{{ filteredEntities.length }} visible entities</span>\n </div>\n <div class=\"header-controls\">\n <button \n class=\"control-btn\" \n (click)=\"toggleFilterPanel()\" \n [class.active]=\"filterPanelVisible\"\n title=\"Toggle Filters\">\n <span class=\"fa-solid fa-filter\"></span>\n Filters\n </button>\n </div>\n </div>\n \n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading [text]=\"loadingMessage\" size=\"large\"></mj-loading>\n </div>\n }\n \n @if (error) {\n <div class=\"error-container\">\n <p class=\"error-message\">{{ error }}</p>\n </div>\n }\n \n @if (!isLoading && !error) {\n <div class=\"dashboard-content\">\n <mj-erd-composite \n #erdComposite\n [isRefreshingERD]=\"isRefreshingERD\"\n (stateChange)=\"onStateChange($event)\"\n (userStateChange)=\"onUserStateChange($event)\"\n (entityOpened)=\"onEntityOpened($event)\"\n (openRecord)=\"onOpenRecord($event)\"\n >\n </mj-erd-composite>\n </div>\n }\n</div>", styles: [".entity-admin-dashboard-container {\n overflow: hidden;\n padding: 4px;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.dashboard-header {\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.dashboard-header .header-info {\n flex: 1;\n display: flex;\n align-items: center;\n}\n.dashboard-header .visible-entities-count {\n font-size: 12px;\n color: #2196f3;\n font-weight: 600;\n background: rgba(33, 150, 243, 0.1);\n padding: 4px 8px;\n border-radius: 4px;\n border: 1px solid rgba(33, 150, 243, 0.2);\n}\n.dashboard-header .header-controls {\n display: flex;\n gap: 8px;\n}\n.dashboard-header .header-controls .control-btn {\n padding: 8px 12px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: white;\n cursor: pointer;\n font-size: 12px;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: all 0.2s;\n}\n.dashboard-header .header-controls .control-btn:hover {\n background-color: #f0f0f0;\n border-color: #2196f3;\n}\n.dashboard-header .header-controls .control-btn.active {\n background-color: #2196f3;\n border-color: #2196f3;\n color: white;\n}\n.dashboard-header .header-controls .control-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.dashboard-header .header-controls .control-btn:disabled:hover {\n background-color: white;\n border-color: #ccc;\n}\n.dashboard-header .header-controls .control-btn .fa-solid {\n font-size: 14px;\n}\n\n.loading-container, .error-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background: #fafafa;\n flex: 1;\n}\n.loading-container p, .error-container p {\n color: #666;\n font-size: 14px;\n}\n\n.error-message {\n color: #d32f2f;\n font-weight: 500;\n}\n\n.dashboard-content {\n overflow: hidden;\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0; /* Allow flex children to shrink below their content size */\n}\n\n.loading-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.loading-spinner {\n position: relative;\n width: 60px;\n height: 60px;\n}\n\n.spinner-ring {\n position: absolute;\n width: 100%;\n height: 100%;\n border: 3px solid transparent;\n border-radius: 50%;\n animation: spin 1.5s linear infinite;\n}\n.spinner-ring:nth-child(1) {\n border-top-color: #2196f3;\n animation-delay: 0s;\n}\n.spinner-ring:nth-child(2) {\n border-top-color: #9c27b0;\n animation-delay: 0.3s;\n transform: scale(0.8);\n}\n.spinner-ring:nth-child(3) {\n border-top-color: #ff6b35;\n animation-delay: 0.6s;\n transform: scale(0.6);\n}\n\n.loading-text {\n font-size: 14px;\n color: #666;\n font-weight: 500;\n text-align: center;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n"] }]
|
|
176
175
|
}], null, { erdComposite: [{
|
|
177
176
|
type: ViewChild,
|
|
178
177
|
args: ['erdComposite', { static: false }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-admin-dashboard.component.js","sourceRoot":"","sources":["../../src/EntityAdmin/entity-admin-dashboard.component.ts","../../src/EntityAdmin/entity-admin-dashboard.component.html"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAA4B,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAc,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC
|
|
1
|
+
{"version":3,"file":"entity-admin-dashboard.component.js","sourceRoot":"","sources":["../../src/EntityAdmin/entity-admin-dashboard.component.ts","../../src/EntityAdmin/entity-admin-dashboard.component.html"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { BaseDashboard, NavigationService, RecentAccessService, RecentAccessItem } from '@memberjunction/ng-shared';
|
|
4
|
+
import { UserFavoriteEntity, UserNotificationEntity } from '@memberjunction/core-entities';
|
|
5
|
+
import { ApplicationManager, BaseApplication } from '@memberjunction/ng-base-application';
|
|
6
|
+
import { UserAppConfigComponent } from '@memberjunction/ng-explorer-settings';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* Home Dashboard - Personalized home screen showing all available applications
|
|
10
|
+
* with quick access navigation and configuration options.
|
|
11
|
+
*/
|
|
12
|
+
export declare class HomeDashboardComponent extends BaseDashboard implements OnInit, OnDestroy {
|
|
13
|
+
private appManager;
|
|
14
|
+
private navigationService;
|
|
15
|
+
private recentAccessService;
|
|
16
|
+
private router;
|
|
17
|
+
private cdr;
|
|
18
|
+
private destroy$;
|
|
19
|
+
private metadata;
|
|
20
|
+
appConfigDialog: UserAppConfigComponent;
|
|
21
|
+
isLoading: boolean;
|
|
22
|
+
apps: BaseApplication[];
|
|
23
|
+
currentUser: {
|
|
24
|
+
Name: string;
|
|
25
|
+
Email: string;
|
|
26
|
+
} | null;
|
|
27
|
+
showConfigDialog: boolean;
|
|
28
|
+
favorites: UserFavoriteEntity[];
|
|
29
|
+
favoritesLoading: boolean;
|
|
30
|
+
recentItems: RecentAccessItem[];
|
|
31
|
+
recentsLoading: boolean;
|
|
32
|
+
unreadNotifications: UserNotificationEntity[];
|
|
33
|
+
notificationsLoading: boolean;
|
|
34
|
+
sidebarOpen: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Check if sidebar has any content to show
|
|
37
|
+
*/
|
|
38
|
+
get hasSidebarContent(): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Toggle sidebar visibility
|
|
41
|
+
*/
|
|
42
|
+
toggleSidebar(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Check if current device is mobile (width <= 768px)
|
|
45
|
+
*/
|
|
46
|
+
private isMobileDevice;
|
|
47
|
+
constructor(appManager: ApplicationManager, navigationService: NavigationService, recentAccessService: RecentAccessService, router: Router, cdr: ChangeDetectorRef);
|
|
48
|
+
ngOnInit(): Promise<void>;
|
|
49
|
+
ngOnDestroy(): void;
|
|
50
|
+
protected initDashboard(): void;
|
|
51
|
+
protected loadData(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Get a greeting based on time of day
|
|
54
|
+
*/
|
|
55
|
+
get greeting(): string;
|
|
56
|
+
/**
|
|
57
|
+
* Get formatted date string
|
|
58
|
+
*/
|
|
59
|
+
get formattedDate(): string;
|
|
60
|
+
/**
|
|
61
|
+
* Navigate to an application
|
|
62
|
+
*/
|
|
63
|
+
onAppClick(app: BaseApplication): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Open app configuration dialog
|
|
66
|
+
*/
|
|
67
|
+
openConfigDialog(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Handle when config is saved
|
|
70
|
+
*/
|
|
71
|
+
onConfigSaved(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Get nav items count for an app
|
|
74
|
+
*/
|
|
75
|
+
getNavItemsCount(app: BaseApplication): number;
|
|
76
|
+
/**
|
|
77
|
+
* Get first few nav items for preview
|
|
78
|
+
*/
|
|
79
|
+
getNavItemsPreview(app: BaseApplication): {
|
|
80
|
+
Label: string;
|
|
81
|
+
Icon: string;
|
|
82
|
+
}[];
|
|
83
|
+
/**
|
|
84
|
+
* Load user favorites from the database
|
|
85
|
+
*/
|
|
86
|
+
private loadFavorites;
|
|
87
|
+
/**
|
|
88
|
+
* Load recent items via the RecentAccessService
|
|
89
|
+
*/
|
|
90
|
+
private loadRecents;
|
|
91
|
+
/**
|
|
92
|
+
* Navigate to a favorite item
|
|
93
|
+
*/
|
|
94
|
+
onFavoriteClick(favorite: UserFavoriteEntity): void;
|
|
95
|
+
/**
|
|
96
|
+
* Navigate to a recent item
|
|
97
|
+
*/
|
|
98
|
+
onRecentClick(item: RecentAccessItem): void;
|
|
99
|
+
/**
|
|
100
|
+
* Navigate to a notification
|
|
101
|
+
*/
|
|
102
|
+
onNotificationClick(notification: UserNotificationEntity): void;
|
|
103
|
+
/**
|
|
104
|
+
* Get icon for a resource type
|
|
105
|
+
*/
|
|
106
|
+
getResourceIcon(resourceType: string): string;
|
|
107
|
+
/**
|
|
108
|
+
* Get icon for a favorite based on its entity type
|
|
109
|
+
*/
|
|
110
|
+
getFavoriteIcon(favorite: UserFavoriteEntity): string;
|
|
111
|
+
/**
|
|
112
|
+
* Format a date for display
|
|
113
|
+
*/
|
|
114
|
+
formatDate(date: Date): string;
|
|
115
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HomeDashboardComponent, never>;
|
|
116
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HomeDashboardComponent, "mj-home-dashboard", never, {}, {}, never, never, false, never>;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Tree-shaking prevention
|
|
120
|
+
*/
|
|
121
|
+
export declare function LoadHomeDashboard(): void;
|
|
122
|
+
//# sourceMappingURL=home-dashboard.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"home-dashboard.component.d.ts","sourceRoot":"","sources":["../../src/Home/home-dashboard.component.ts"],"names":[],"mappings":"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"}
|