@memberjunction/ng-dashboards 2.42.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.
Files changed (117) hide show
  1. package/dist/AI/ai-dashboard.component.d.ts +54 -0
  2. package/dist/AI/ai-dashboard.component.d.ts.map +1 -0
  3. package/dist/AI/ai-dashboard.component.js +248 -0
  4. package/dist/AI/ai-dashboard.component.js.map +1 -0
  5. package/dist/AI/components/agents/agent-configuration.component.d.ts +41 -0
  6. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -0
  7. package/dist/AI/components/agents/agent-configuration.component.js +325 -0
  8. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -0
  9. package/dist/AI/components/agents/agent-editor.component.d.ts +77 -0
  10. package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -0
  11. package/dist/AI/components/agents/agent-editor.component.js +869 -0
  12. package/dist/AI/components/agents/agent-editor.component.js.map +1 -0
  13. package/dist/AI/components/agents/agent-filter-panel.component.d.ts +33 -0
  14. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +1 -0
  15. package/dist/AI/components/agents/agent-filter-panel.component.js +144 -0
  16. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -0
  17. package/dist/AI/components/execution-monitoring.component.d.ts +13 -0
  18. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -0
  19. package/dist/AI/components/execution-monitoring.component.js +30 -0
  20. package/dist/AI/components/execution-monitoring.component.js.map +1 -0
  21. package/dist/AI/components/models/model-management.component.d.ts +73 -0
  22. package/dist/AI/components/models/model-management.component.d.ts.map +1 -0
  23. package/dist/AI/components/models/model-management.component.js +669 -0
  24. package/dist/AI/components/models/model-management.component.js.map +1 -0
  25. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +49 -0
  26. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +1 -0
  27. package/dist/AI/components/prompts/prompt-filter-panel.component.js +186 -0
  28. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -0
  29. package/dist/AI/components/prompts/prompt-management.component.d.ts +113 -0
  30. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -0
  31. package/dist/AI/components/prompts/prompt-management.component.js +1316 -0
  32. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -0
  33. package/dist/AI/components/system/system-config-filter-panel.component.d.ts +33 -0
  34. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +1 -0
  35. package/dist/AI/components/system/system-config-filter-panel.component.js +146 -0
  36. package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -0
  37. package/dist/AI/components/system/system-configuration.component.d.ts +37 -0
  38. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -0
  39. package/dist/AI/components/system/system-configuration.component.js +311 -0
  40. package/dist/AI/components/system/system-configuration.component.js.map +1 -0
  41. package/dist/Actions/actions-management-dashboard.component.d.ts +50 -0
  42. package/dist/Actions/actions-management-dashboard.component.d.ts.map +1 -0
  43. package/dist/Actions/actions-management-dashboard.component.js +282 -0
  44. package/dist/Actions/actions-management-dashboard.component.js.map +1 -0
  45. package/dist/Actions/components/actions-list-view.component.d.ts +52 -0
  46. package/dist/Actions/components/actions-list-view.component.d.ts.map +1 -0
  47. package/dist/Actions/components/actions-list-view.component.js +366 -0
  48. package/dist/Actions/components/actions-list-view.component.js.map +1 -0
  49. package/dist/Actions/components/actions-overview.component.d.ts +71 -0
  50. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -0
  51. package/dist/Actions/components/actions-overview.component.js +605 -0
  52. package/dist/Actions/components/actions-overview.component.js.map +1 -0
  53. package/dist/Actions/components/categories-list-view.component.d.ts +11 -0
  54. package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -0
  55. package/dist/Actions/components/categories-list-view.component.js +35 -0
  56. package/dist/Actions/components/categories-list-view.component.js.map +1 -0
  57. package/dist/Actions/components/code-management.component.d.ts +11 -0
  58. package/dist/Actions/components/code-management.component.d.ts.map +1 -0
  59. package/dist/Actions/components/code-management.component.js +35 -0
  60. package/dist/Actions/components/code-management.component.js.map +1 -0
  61. package/dist/Actions/components/entity-integration.component.d.ts +11 -0
  62. package/dist/Actions/components/entity-integration.component.d.ts.map +1 -0
  63. package/dist/Actions/components/entity-integration.component.js +35 -0
  64. package/dist/Actions/components/entity-integration.component.js.map +1 -0
  65. package/dist/Actions/components/execution-monitoring.component.d.ts +83 -0
  66. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -0
  67. package/dist/Actions/components/execution-monitoring.component.js +629 -0
  68. package/dist/Actions/components/execution-monitoring.component.js.map +1 -0
  69. package/dist/Actions/components/executions-list-view.component.d.ts +11 -0
  70. package/dist/Actions/components/executions-list-view.component.d.ts.map +1 -0
  71. package/dist/Actions/components/executions-list-view.component.js +35 -0
  72. package/dist/Actions/components/executions-list-view.component.js.map +1 -0
  73. package/dist/Actions/components/scheduled-actions.component.d.ts +11 -0
  74. package/dist/Actions/components/scheduled-actions.component.d.ts.map +1 -0
  75. package/dist/Actions/components/scheduled-actions.component.js +35 -0
  76. package/dist/Actions/components/scheduled-actions.component.js.map +1 -0
  77. package/dist/Actions/components/security-permissions.component.d.ts +11 -0
  78. package/dist/Actions/components/security-permissions.component.d.ts.map +1 -0
  79. package/dist/Actions/components/security-permissions.component.js +35 -0
  80. package/dist/Actions/components/security-permissions.component.js.map +1 -0
  81. package/dist/Actions/index.d.ts +11 -0
  82. package/dist/Actions/index.d.ts.map +1 -0
  83. package/dist/Actions/index.js +11 -0
  84. package/dist/Actions/index.js.map +1 -0
  85. package/dist/EntityAdmin/components/entity-details.component.d.ts +50 -0
  86. package/dist/EntityAdmin/components/entity-details.component.d.ts.map +1 -0
  87. package/dist/EntityAdmin/components/entity-details.component.js +684 -0
  88. package/dist/EntityAdmin/components/entity-details.component.js.map +1 -0
  89. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts +31 -0
  90. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts.map +1 -0
  91. package/dist/EntityAdmin/components/entity-filter-panel.component.js +162 -0
  92. package/dist/EntityAdmin/components/entity-filter-panel.component.js.map +1 -0
  93. package/dist/EntityAdmin/components/erd-composite.component.d.ts +73 -0
  94. package/dist/EntityAdmin/components/erd-composite.component.d.ts.map +1 -0
  95. package/dist/EntityAdmin/components/erd-composite.component.js +288 -0
  96. package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -0
  97. package/dist/EntityAdmin/components/erd-diagram.component.d.ts +47 -0
  98. package/dist/EntityAdmin/components/erd-diagram.component.d.ts.map +1 -0
  99. package/dist/EntityAdmin/components/erd-diagram.component.js +618 -0
  100. package/dist/EntityAdmin/components/erd-diagram.component.js.map +1 -0
  101. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +50 -0
  102. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -0
  103. package/dist/EntityAdmin/entity-admin-dashboard.component.js +190 -0
  104. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -0
  105. package/dist/generic/base-dashboard.d.ts +65 -0
  106. package/dist/generic/base-dashboard.d.ts.map +1 -0
  107. package/dist/generic/base-dashboard.js +86 -0
  108. package/dist/generic/base-dashboard.js.map +1 -0
  109. package/dist/module.d.ts +43 -0
  110. package/dist/module.d.ts.map +1 -0
  111. package/dist/module.js +141 -0
  112. package/dist/module.js.map +1 -0
  113. package/dist/public-api.d.ts +6 -0
  114. package/dist/public-api.d.ts.map +1 -0
  115. package/dist/public-api.js +18 -0
  116. package/dist/public-api.js.map +1 -0
  117. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-details.component.js","sourceRoot":"","sources":["../../../src/EntityAdmin/components/entity-details.component.ts","../../../src/EntityAdmin/components/entity-details.component.html"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { EntityInfo } from '@memberjunction/core';
3
+ import * as i0 from "@angular/core";
4
+ interface EntityFilter {
5
+ schemaName: string | null;
6
+ entityName: string;
7
+ entityStatus: string | null;
8
+ baseTable: string;
9
+ }
10
+ export declare class EntityFilterPanelComponent implements OnInit {
11
+ entities: EntityInfo[];
12
+ filteredEntities: EntityInfo[];
13
+ filters: EntityFilter;
14
+ filtersChange: EventEmitter<EntityFilter>;
15
+ filterChange: EventEmitter<void>;
16
+ resetFilters: EventEmitter<void>;
17
+ closePanel: EventEmitter<void>;
18
+ distinctSchemas: Array<{
19
+ text: string;
20
+ value: string;
21
+ }>;
22
+ ngOnInit(): void;
23
+ onFilterChange(): void;
24
+ resetAllFilters(): void;
25
+ toggleFilterPanel(): void;
26
+ private updateDistinctSchemas;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<EntityFilterPanelComponent, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntityFilterPanelComponent, "mj-entity-filter-panel", never, { "entities": { "alias": "entities"; "required": false; }; "filteredEntities": { "alias": "filteredEntities"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; }, { "filtersChange": "filtersChange"; "filterChange": "filterChange"; "resetFilters": "resetFilters"; "closePanel": "closePanel"; }, never, never, false, never>;
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=entity-filter-panel.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-filter-panel.component.d.ts","sourceRoot":"","sources":["../../../src/EntityAdmin/components/entity-filter-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;;AAElD,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAKa,0BAA2B,YAAW,MAAM;IAC9C,QAAQ,EAAE,UAAU,EAAE,CAAM;IAC5B,gBAAgB,EAAE,UAAU,EAAE,CAAM;IACpC,OAAO,EAAE,YAAY,CAK5B;IAEQ,aAAa,6BAAoC;IACjD,YAAY,qBAA4B;IACxC,YAAY,qBAA4B;IACxC,UAAU,qBAA4B;IAEzC,eAAe,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAEpE,QAAQ,IAAI,IAAI;IAIT,cAAc,IAAI,IAAI;IAKtB,eAAe,IAAI,IAAI;IAIvB,iBAAiB,IAAI,IAAI;IAIhC,OAAO,CAAC,qBAAqB;yCAlClB,0BAA0B;2CAA1B,0BAA0B;CA8CtC"}
@@ -0,0 +1,162 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/forms";
5
+ function EntityFilterPanelComponent_option_19_Template(rf, ctx) { if (rf & 1) {
6
+ i0.ɵɵelementStart(0, "option", 12);
7
+ i0.ɵɵtext(1);
8
+ i0.ɵɵelementEnd();
9
+ } if (rf & 2) {
10
+ const schema_r1 = ctx.$implicit;
11
+ i0.ɵɵproperty("ngValue", schema_r1.value);
12
+ i0.ɵɵadvance();
13
+ i0.ɵɵtextInterpolate1(" ", schema_r1.text, " ");
14
+ } }
15
+ export class EntityFilterPanelComponent {
16
+ constructor() {
17
+ this.entities = [];
18
+ this.filteredEntities = [];
19
+ this.filters = {
20
+ schemaName: null,
21
+ entityName: '',
22
+ entityStatus: null,
23
+ baseTable: '',
24
+ };
25
+ this.filtersChange = new EventEmitter();
26
+ this.filterChange = new EventEmitter();
27
+ this.resetFilters = new EventEmitter();
28
+ this.closePanel = new EventEmitter();
29
+ this.distinctSchemas = [];
30
+ }
31
+ ngOnInit() {
32
+ this.updateDistinctSchemas();
33
+ }
34
+ onFilterChange() {
35
+ this.filtersChange.emit(this.filters);
36
+ this.filterChange.emit();
37
+ }
38
+ resetAllFilters() {
39
+ this.resetFilters.emit();
40
+ }
41
+ toggleFilterPanel() {
42
+ this.closePanel.emit();
43
+ }
44
+ updateDistinctSchemas() {
45
+ const schemas = new Set();
46
+ this.entities.forEach(entity => {
47
+ if (entity.SchemaName) {
48
+ schemas.add(entity.SchemaName);
49
+ }
50
+ });
51
+ this.distinctSchemas = Array.from(schemas)
52
+ .sort()
53
+ .map(schema => ({ text: schema, value: schema }));
54
+ }
55
+ }
56
+ EntityFilterPanelComponent.ɵfac = function EntityFilterPanelComponent_Factory(t) { return new (t || EntityFilterPanelComponent)(); };
57
+ EntityFilterPanelComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityFilterPanelComponent, selectors: [["mj-entity-filter-panel"]], inputs: { entities: "entities", filteredEntities: "filteredEntities", filters: "filters" }, outputs: { filtersChange: "filtersChange", filterChange: "filterChange", resetFilters: "resetFilters", closePanel: "closePanel" }, decls: 47, vars: 9, consts: [[1, "filter-panel"], [1, "filter-panel-header"], [1, "filter-summary-inline"], [1, "summary-value"], [1, "summary-label"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "filter-content"], [1, "filter-group"], [1, "filter-label"], [1, "fa-solid", "fa-database"], [1, "filter-select", 3, "ngModelChange", "ngModel"], [3, "ngValue"], [3, "ngValue", 4, "ngFor", "ngForOf"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search entities...", 1, "filter-input", 3, "ngModelChange", "input", "ngModel"], [1, "fa-solid", "fa-table"], ["type", "text", "placeholder", "Search tables...", 1, "filter-input", 3, "ngModelChange", "input", "ngModel"], [1, "fa-solid", "fa-check-circle"], ["value", "Active"], ["value", "Deprecated"], ["value", "Disabled"], [1, "filter-actions"], ["title", "Reset all filters", 1, "reset-btn", 3, "click"], [1, "fa-solid", "fa-undo"]], template: function EntityFilterPanelComponent_Template(rf, ctx) { if (rf & 1) {
58
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h3");
59
+ i0.ɵɵtext(3, "Entity Filters");
60
+ i0.ɵɵelementEnd();
61
+ i0.ɵɵelementStart(4, "div", 2)(5, "span", 3);
62
+ i0.ɵɵtext(6);
63
+ i0.ɵɵelementEnd();
64
+ i0.ɵɵelementStart(7, "span", 4);
65
+ i0.ɵɵtext(8);
66
+ i0.ɵɵelementEnd()();
67
+ i0.ɵɵelementStart(9, "button", 5);
68
+ i0.ɵɵlistener("click", function EntityFilterPanelComponent_Template_button_click_9_listener() { return ctx.toggleFilterPanel(); });
69
+ i0.ɵɵelement(10, "span", 6);
70
+ i0.ɵɵelementEnd()();
71
+ i0.ɵɵelementStart(11, "div", 7)(12, "div", 8)(13, "label", 9);
72
+ i0.ɵɵelement(14, "span", 10);
73
+ i0.ɵɵtext(15, " Schema ");
74
+ i0.ɵɵelementEnd();
75
+ i0.ɵɵelementStart(16, "select", 11);
76
+ i0.ɵɵtwoWayListener("ngModelChange", function EntityFilterPanelComponent_Template_select_ngModelChange_16_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.filters.schemaName, $event) || (ctx.filters.schemaName = $event); return $event; });
77
+ i0.ɵɵlistener("ngModelChange", function EntityFilterPanelComponent_Template_select_ngModelChange_16_listener() { return ctx.onFilterChange(); });
78
+ i0.ɵɵelementStart(17, "option", 12);
79
+ i0.ɵɵtext(18, "All Schemas");
80
+ i0.ɵɵelementEnd();
81
+ i0.ɵɵtemplate(19, EntityFilterPanelComponent_option_19_Template, 2, 2, "option", 13);
82
+ i0.ɵɵelementEnd()();
83
+ i0.ɵɵelementStart(20, "div", 8)(21, "label", 9);
84
+ i0.ɵɵelement(22, "span", 14);
85
+ i0.ɵɵtext(23, " Entity Name ");
86
+ i0.ɵɵelementEnd();
87
+ i0.ɵɵelementStart(24, "input", 15);
88
+ i0.ɵɵtwoWayListener("ngModelChange", function EntityFilterPanelComponent_Template_input_ngModelChange_24_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.filters.entityName, $event) || (ctx.filters.entityName = $event); return $event; });
89
+ i0.ɵɵlistener("ngModelChange", function EntityFilterPanelComponent_Template_input_ngModelChange_24_listener() { return ctx.onFilterChange(); })("input", function EntityFilterPanelComponent_Template_input_input_24_listener() { return ctx.onFilterChange(); });
90
+ i0.ɵɵelementEnd()();
91
+ i0.ɵɵelementStart(25, "div", 8)(26, "label", 9);
92
+ i0.ɵɵelement(27, "span", 16);
93
+ i0.ɵɵtext(28, " Base Table ");
94
+ i0.ɵɵelementEnd();
95
+ i0.ɵɵelementStart(29, "input", 17);
96
+ i0.ɵɵtwoWayListener("ngModelChange", function EntityFilterPanelComponent_Template_input_ngModelChange_29_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.filters.baseTable, $event) || (ctx.filters.baseTable = $event); return $event; });
97
+ i0.ɵɵlistener("ngModelChange", function EntityFilterPanelComponent_Template_input_ngModelChange_29_listener() { return ctx.onFilterChange(); })("input", function EntityFilterPanelComponent_Template_input_input_29_listener() { return ctx.onFilterChange(); });
98
+ i0.ɵɵelementEnd()();
99
+ i0.ɵɵelementStart(30, "div", 8)(31, "label", 9);
100
+ i0.ɵɵelement(32, "span", 18);
101
+ i0.ɵɵtext(33, " Status ");
102
+ i0.ɵɵelementEnd();
103
+ i0.ɵɵelementStart(34, "select", 11);
104
+ i0.ɵɵtwoWayListener("ngModelChange", function EntityFilterPanelComponent_Template_select_ngModelChange_34_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.filters.entityStatus, $event) || (ctx.filters.entityStatus = $event); return $event; });
105
+ i0.ɵɵlistener("ngModelChange", function EntityFilterPanelComponent_Template_select_ngModelChange_34_listener() { return ctx.onFilterChange(); });
106
+ i0.ɵɵelementStart(35, "option", 12);
107
+ i0.ɵɵtext(36, "All Statuses");
108
+ i0.ɵɵelementEnd();
109
+ i0.ɵɵelementStart(37, "option", 19);
110
+ i0.ɵɵtext(38, "Active");
111
+ i0.ɵɵelementEnd();
112
+ i0.ɵɵelementStart(39, "option", 20);
113
+ i0.ɵɵtext(40, "Deprecated");
114
+ i0.ɵɵelementEnd();
115
+ i0.ɵɵelementStart(41, "option", 21);
116
+ i0.ɵɵtext(42, "Disabled");
117
+ i0.ɵɵelementEnd()()();
118
+ i0.ɵɵelementStart(43, "div", 22)(44, "button", 23);
119
+ i0.ɵɵlistener("click", function EntityFilterPanelComponent_Template_button_click_44_listener() { return ctx.resetAllFilters(); });
120
+ i0.ɵɵelement(45, "span", 24);
121
+ i0.ɵɵtext(46, " Reset Filters ");
122
+ i0.ɵɵelementEnd()()()();
123
+ } if (rf & 2) {
124
+ i0.ɵɵadvance(6);
125
+ i0.ɵɵtextInterpolate(ctx.filteredEntities.length);
126
+ i0.ɵɵadvance(2);
127
+ i0.ɵɵtextInterpolate1("of ", ctx.entities.length, "");
128
+ i0.ɵɵadvance(8);
129
+ i0.ɵɵtwoWayProperty("ngModel", ctx.filters.schemaName);
130
+ i0.ɵɵadvance();
131
+ i0.ɵɵproperty("ngValue", null);
132
+ i0.ɵɵadvance(2);
133
+ i0.ɵɵproperty("ngForOf", ctx.distinctSchemas);
134
+ i0.ɵɵadvance(5);
135
+ i0.ɵɵtwoWayProperty("ngModel", ctx.filters.entityName);
136
+ i0.ɵɵadvance(5);
137
+ i0.ɵɵtwoWayProperty("ngModel", ctx.filters.baseTable);
138
+ i0.ɵɵadvance(5);
139
+ i0.ɵɵtwoWayProperty("ngModel", ctx.filters.entityStatus);
140
+ i0.ɵɵadvance();
141
+ i0.ɵɵproperty("ngValue", null);
142
+ } }, dependencies: [i1.NgForOf, i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.DefaultValueAccessor, i2.SelectControlValueAccessor, i2.NgControlStatus, i2.NgModel], styles: ["//[_ngcontent-%COMP%] Filter[_ngcontent-%COMP%] Panel[_ngcontent-%COMP%] Styles\n.filter-panel[_ngcontent-%COMP%] {\n height: 100%;\n background: white;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-width: 0;\n}\n\n.filter-panel-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px;\n background-color: #f5f5f5;\n border-bottom: 1px solid #e0e0e0;\n min-width: 0;\n \n h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n }\n \n .filter-summary-inline {\n display: flex;\n align-items: center;\n gap: 4px;\n \n .summary-value {\n font-size: 14px;\n font-weight: 700;\n color: #2196f3;\n }\n \n .summary-label {\n font-size: 11px;\n color: #666;\n }\n }\n \n .close-btn {\n padding: 4px;\n border: none;\n background: none;\n cursor: pointer;\n color: #666;\n \n &:hover {\n color: #333;\n }\n }\n}\n\n.filter-content[_ngcontent-%COMP%] {\n padding: 12px;\n overflow-y: auto;\n overflow-x: hidden;\n flex: 1;\n}\n\n.filter-group[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n \n .filter-label {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 8px;\n font-size: 13px;\n font-weight: 600;\n color: #2c3e50;\n \n .fa-solid {\n color: #3498db;\n width: 16px;\n }\n }\n \n .filter-input,\n .filter-select {\n width: 100%;\n max-width: 100%;\n padding: 8px 10px;\n border: 2px solid #e9ecef;\n border-radius: 6px;\n font-size: 13px;\n background: white;\n transition: all 0.2s ease;\n box-sizing: border-box;\n \n &:focus {\n outline: none;\n border-color: #3498db;\n box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);\n }\n \n &::placeholder {\n color: #95a5a6;\n font-style: italic;\n }\n }\n \n .filter-select {\n cursor: pointer;\n \n option {\n padding: 8px;\n }\n }\n}\n\n.filter-actions[_ngcontent-%COMP%] {\n margin-top: 20px;\n padding-top: 12px;\n border-top: 1px solid #e9ecef;\n \n .reset-btn {\n width: 100%;\n max-width: 100%;\n padding: 8px 12px;\n border: 2px solid #6c757d;\n border-radius: 6px;\n background: white;\n color: #6c757d;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.2s ease;\n box-sizing: border-box;\n \n &:hover {\n background-color: #6c757d;\n color: white;\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(108, 117, 125, 0.3);\n }\n \n &:active {\n transform: translateY(0);\n box-shadow: 0 1px 4px rgba(108, 117, 125, 0.3);\n }\n \n .fa-solid {\n font-size: 12px;\n }\n }\n}"] });
143
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityFilterPanelComponent, [{
144
+ type: Component,
145
+ args: [{ selector: 'mj-entity-filter-panel', template: "<div class=\"filter-panel\">\n <div class=\"filter-panel-header\">\n <h3>Entity Filters</h3>\n <div class=\"filter-summary-inline\">\n <span class=\"summary-value\">{{ filteredEntities.length }}</span>\n <span class=\"summary-label\">of {{ entities.length }}</span>\n </div>\n <button class=\"close-btn\" (click)=\"toggleFilterPanel()\">\n <span class=\"fa-solid fa-times\"></span>\n </button>\n </div>\n \n <div class=\"filter-content\">\n <!-- Schema Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-database\"></span>\n Schema\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.schemaName\"\n (ngModelChange)=\"onFilterChange()\">\n <option [ngValue]=\"null\">All Schemas</option>\n <option *ngFor=\"let schema of distinctSchemas\" [ngValue]=\"schema.value\">\n {{ schema.text }}\n </option>\n </select>\n </div>\n \n <!-- Entity Name Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-search\"></span>\n Entity Name\n </label>\n <input \n type=\"text\"\n class=\"filter-input\"\n [(ngModel)]=\"filters.entityName\"\n (ngModelChange)=\"onFilterChange()\"\n (input)=\"onFilterChange()\"\n placeholder=\"Search entities...\">\n </div>\n \n <!-- Base Table Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-table\"></span>\n Base Table\n </label>\n <input \n type=\"text\"\n class=\"filter-input\"\n [(ngModel)]=\"filters.baseTable\"\n (ngModelChange)=\"onFilterChange()\"\n (input)=\"onFilterChange()\"\n placeholder=\"Search tables...\">\n </div>\n \n <!-- Entity Status Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-check-circle\"></span>\n Status\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.entityStatus\"\n (ngModelChange)=\"onFilterChange()\">\n <option [ngValue]=\"null\">All Statuses</option>\n <option value=\"Active\">Active</option>\n <option value=\"Deprecated\">Deprecated</option>\n <option value=\"Disabled\">Disabled</option>\n </select>\n </div>\n \n <!-- Reset Button -->\n <div class=\"filter-actions\">\n <button class=\"reset-btn\" (click)=\"resetAllFilters()\" title=\"Reset all filters\">\n <span class=\"fa-solid fa-undo\"></span>\n Reset Filters\n </button>\n </div>\n </div>\n</div>", styles: ["// Filter Panel Styles\n.filter-panel {\n height: 100%;\n background: white;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-width: 0;\n}\n\n.filter-panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px;\n background-color: #f5f5f5;\n border-bottom: 1px solid #e0e0e0;\n min-width: 0;\n \n h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n }\n \n .filter-summary-inline {\n display: flex;\n align-items: center;\n gap: 4px;\n \n .summary-value {\n font-size: 14px;\n font-weight: 700;\n color: #2196f3;\n }\n \n .summary-label {\n font-size: 11px;\n color: #666;\n }\n }\n \n .close-btn {\n padding: 4px;\n border: none;\n background: none;\n cursor: pointer;\n color: #666;\n \n &:hover {\n color: #333;\n }\n }\n}\n\n.filter-content {\n padding: 12px;\n overflow-y: auto;\n overflow-x: hidden;\n flex: 1;\n}\n\n.filter-group {\n margin-bottom: 20px;\n \n .filter-label {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 8px;\n font-size: 13px;\n font-weight: 600;\n color: #2c3e50;\n \n .fa-solid {\n color: #3498db;\n width: 16px;\n }\n }\n \n .filter-input,\n .filter-select {\n width: 100%;\n max-width: 100%;\n padding: 8px 10px;\n border: 2px solid #e9ecef;\n border-radius: 6px;\n font-size: 13px;\n background: white;\n transition: all 0.2s ease;\n box-sizing: border-box;\n \n &:focus {\n outline: none;\n border-color: #3498db;\n box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);\n }\n \n &::placeholder {\n color: #95a5a6;\n font-style: italic;\n }\n }\n \n .filter-select {\n cursor: pointer;\n \n option {\n padding: 8px;\n }\n }\n}\n\n.filter-actions {\n margin-top: 20px;\n padding-top: 12px;\n border-top: 1px solid #e9ecef;\n \n .reset-btn {\n width: 100%;\n max-width: 100%;\n padding: 8px 12px;\n border: 2px solid #6c757d;\n border-radius: 6px;\n background: white;\n color: #6c757d;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.2s ease;\n box-sizing: border-box;\n \n &:hover {\n background-color: #6c757d;\n color: white;\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(108, 117, 125, 0.3);\n }\n \n &:active {\n transform: translateY(0);\n box-shadow: 0 1px 4px rgba(108, 117, 125, 0.3);\n }\n \n .fa-solid {\n font-size: 12px;\n }\n }\n}"] }]
146
+ }], null, { entities: [{
147
+ type: Input
148
+ }], filteredEntities: [{
149
+ type: Input
150
+ }], filters: [{
151
+ type: Input
152
+ }], filtersChange: [{
153
+ type: Output
154
+ }], filterChange: [{
155
+ type: Output
156
+ }], resetFilters: [{
157
+ type: Output
158
+ }], closePanel: [{
159
+ type: Output
160
+ }] }); })();
161
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EntityFilterPanelComponent, { className: "EntityFilterPanelComponent", filePath: "src/EntityAdmin/components/entity-filter-panel.component.ts", lineNumber: 18 }); })();
162
+ //# sourceMappingURL=entity-filter-panel.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-filter-panel.component.js","sourceRoot":"","sources":["../../../src/EntityAdmin/components/entity-filter-panel.component.ts","../../../src/EntityAdmin/components/entity-filter-panel.component.html"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { EventEmitter, OnInit, OnDestroy } from '@angular/core';
2
+ import { EntityInfo, EntityFieldInfo } from '@memberjunction/core';
3
+ import { ERDDiagramComponent } from './erd-diagram.component';
4
+ import * as i0 from "@angular/core";
5
+ interface EntityFilter {
6
+ schemaName: string | null;
7
+ entityName: string;
8
+ entityStatus: string | null;
9
+ baseTable: string;
10
+ }
11
+ interface DashboardState {
12
+ filterPanelVisible: boolean;
13
+ filterPanelWidth: number;
14
+ filters: EntityFilter;
15
+ selectedEntityId: string | null;
16
+ zoomLevel: number;
17
+ panPosition: {
18
+ x: number;
19
+ y: number;
20
+ };
21
+ fieldsSectionExpanded: boolean;
22
+ relationshipsSectionExpanded: boolean;
23
+ }
24
+ export declare class ERDCompositeComponent implements OnInit, OnDestroy {
25
+ erdDiagram: ERDDiagramComponent;
26
+ isRefreshingERD: boolean;
27
+ entities: EntityInfo[];
28
+ allEntityFields: EntityFieldInfo[];
29
+ stateChange: EventEmitter<DashboardState>;
30
+ userStateChange: EventEmitter<DashboardState>;
31
+ entityOpened: EventEmitter<EntityInfo>;
32
+ openRecord: EventEmitter<{
33
+ EntityName: string;
34
+ RecordID: string;
35
+ }>;
36
+ filterPanelVisible: boolean;
37
+ fieldsSectionExpanded: boolean;
38
+ relationshipsSectionExpanded: boolean;
39
+ selectedEntity: EntityInfo | null;
40
+ filteredEntities: EntityInfo[];
41
+ isDataLoaded: boolean;
42
+ filters: EntityFilter;
43
+ private stateChangeSubject;
44
+ private userStateChangeSubject;
45
+ private filterChangeSubject;
46
+ ngOnInit(): Promise<void>;
47
+ ngOnDestroy(): void;
48
+ private loadData;
49
+ private setupStateManagement;
50
+ onFilterChange(): void;
51
+ onFiltersChange(newFilters: EntityFilter): void;
52
+ onResetFilters(): void;
53
+ onToggleFilterPanel(): void;
54
+ onEntityDeselected(): void;
55
+ onEntitySelected(entity: EntityInfo): void;
56
+ onEntityOpened(entity: EntityInfo): void;
57
+ onFieldsSectionToggle(): void;
58
+ onRelationshipsSectionToggle(): void;
59
+ onOpenRecord(event: {
60
+ EntityName: string;
61
+ RecordID: string;
62
+ }): void;
63
+ onSplitterLayoutChange(event: any): void;
64
+ private applyFilters;
65
+ private emitStateChange;
66
+ private emitUserStateChange;
67
+ loadUserState(state: Partial<DashboardState>): void;
68
+ refreshERD(): void;
69
+ static ɵfac: i0.ɵɵFactoryDeclaration<ERDCompositeComponent, never>;
70
+ static ɵcmp: i0.ɵɵComponentDeclaration<ERDCompositeComponent, "mj-erd-composite", never, { "isRefreshingERD": { "alias": "isRefreshingERD"; "required": false; }; }, { "stateChange": "stateChange"; "userStateChange": "userStateChange"; "entityOpened": "entityOpened"; "openRecord": "openRecord"; }, never, never, false, never>;
71
+ }
72
+ export {};
73
+ //# sourceMappingURL=erd-composite.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erd-composite.component.d.ts","sourceRoot":"","sources":["../../../src/EntityAdmin/components/erd-composite.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAa,MAAM,eAAe,CAAC;AAKrG,OAAO,EAAE,UAAU,EAAE,eAAe,EAAY,MAAM,sBAAsB,CAAC;AAG7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;;AAG9D,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,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,qBAKa,qBAAsB,YAAW,MAAM,EAAE,SAAS;IAC7B,UAAU,EAAG,mBAAmB,CAAC;IAExD,eAAe,UAAS;IAG1B,QAAQ,EAAE,UAAU,EAAE,CAAM;IAC5B,eAAe,EAAE,eAAe,EAAE,CAAM;IAErC,WAAW,+BAAsC;IACjD,eAAe,+BAAsC;IACrD,YAAY,2BAAkC;IAC9C,UAAU;oBAAiC,MAAM;kBAAY,MAAM;OAAK;IAG3E,kBAAkB,UAAQ;IAC1B,qBAAqB,UAAQ;IAC7B,4BAA4B,UAAQ;IAGpC,cAAc,EAAE,UAAU,GAAG,IAAI,CAAQ;IACzC,gBAAgB,EAAE,UAAU,EAAE,CAAM;IACpC,YAAY,UAAS;IAGrB,OAAO,EAAE,YAAY,CAK1B;IAGF,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,sBAAsB,CAAiC;IAC/D,OAAO,CAAC,mBAAmB,CAAuB;IAE5C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAW/B,WAAW,IAAI,IAAI;YAML,QAAQ;IAatB,OAAO,CAAC,oBAAoB;IAwBrB,cAAc,IAAI,IAAI;IAItB,eAAe,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI;IAK/C,cAAc,IAAI,IAAI;IAUtB,mBAAmB,IAAI,IAAI;IAY3B,kBAAkB,IAAI,IAAI;IAO1B,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAO1C,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAIxC,qBAAqB,IAAI,IAAI;IAK7B,4BAA4B,IAAI,IAAI;IAKpC,YAAY,CAAC,KAAK,EAAE;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IAIjE,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAU/C,OAAO,CAAC,YAAY;IAkCpB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,mBAAmB;IAgBpB,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAyBnD,UAAU,IAAI,IAAI;yCA9Pd,qBAAqB;2CAArB,qBAAqB;CAiQjC"}
@@ -0,0 +1,288 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
11
+ import { Subject } from 'rxjs';
12
+ import { debounceTime } from 'rxjs/operators';
13
+ import { Metadata } from '@memberjunction/core';
14
+ import { ERDDiagramComponent } from './erd-diagram.component';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "@progress/kendo-angular-layout";
17
+ import * as i2 from "@memberjunction/ng-container-directives";
18
+ import * as i3 from "./entity-filter-panel.component";
19
+ import * as i4 from "./entity-details.component";
20
+ import * as i5 from "./erd-diagram.component";
21
+ export class ERDCompositeComponent {
22
+ constructor() {
23
+ this.isRefreshingERD = false;
24
+ // Data loaded internally
25
+ this.entities = [];
26
+ this.allEntityFields = [];
27
+ this.stateChange = new EventEmitter();
28
+ this.userStateChange = new EventEmitter();
29
+ this.entityOpened = new EventEmitter();
30
+ this.openRecord = new EventEmitter();
31
+ // Panel visibility and configuration
32
+ this.filterPanelVisible = true;
33
+ this.fieldsSectionExpanded = true;
34
+ this.relationshipsSectionExpanded = true;
35
+ // Entity state
36
+ this.selectedEntity = null;
37
+ this.filteredEntities = [];
38
+ this.isDataLoaded = false;
39
+ // Filters
40
+ this.filters = {
41
+ schemaName: null,
42
+ entityName: '',
43
+ entityStatus: null,
44
+ baseTable: '',
45
+ };
46
+ // State management
47
+ this.stateChangeSubject = new Subject();
48
+ this.userStateChangeSubject = new Subject();
49
+ this.filterChangeSubject = new Subject();
50
+ }
51
+ ngOnInit() {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ this.setupStateManagement();
54
+ yield this.loadData();
55
+ this.filteredEntities = [...this.entities];
56
+ this.applyFilters();
57
+ this.isDataLoaded = true;
58
+ // Notify parent that data is loaded and ready for state loading
59
+ this.emitStateChange();
60
+ });
61
+ }
62
+ ngOnDestroy() {
63
+ this.stateChangeSubject.complete();
64
+ this.userStateChangeSubject.complete();
65
+ this.filterChangeSubject.complete();
66
+ }
67
+ loadData() {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ // Load entities
70
+ const md = new Metadata();
71
+ this.entities = md.Entities;
72
+ // Load all entity fields from entities
73
+ this.allEntityFields = this.entities
74
+ .map((entity) => {
75
+ return entity.Fields;
76
+ })
77
+ .flat();
78
+ });
79
+ }
80
+ setupStateManagement() {
81
+ // State change emissions with debouncing
82
+ this.stateChangeSubject.pipe(debounceTime(50)).subscribe(state => {
83
+ this.stateChange.emit(state);
84
+ });
85
+ this.userStateChangeSubject.pipe(debounceTime(1000)).subscribe(state => {
86
+ this.userStateChange.emit(state);
87
+ });
88
+ // Filter changes with debouncing
89
+ this.filterChangeSubject.pipe(debounceTime(300)).subscribe(() => {
90
+ this.applyFilters();
91
+ this.emitStateChange();
92
+ this.emitUserStateChange();
93
+ });
94
+ }
95
+ onFilterChange() {
96
+ this.filterChangeSubject.next();
97
+ }
98
+ onFiltersChange(newFilters) {
99
+ this.filters = Object.assign({}, newFilters);
100
+ this.onFilterChange();
101
+ }
102
+ onResetFilters() {
103
+ this.filters = {
104
+ schemaName: null,
105
+ entityName: '',
106
+ entityStatus: null,
107
+ baseTable: '',
108
+ };
109
+ this.onFilterChange();
110
+ }
111
+ onToggleFilterPanel() {
112
+ this.filterPanelVisible = !this.filterPanelVisible;
113
+ // Trigger ERD resize when filter panel is toggled
114
+ if (this.erdDiagram) {
115
+ this.erdDiagram.triggerResize();
116
+ }
117
+ this.emitStateChange();
118
+ this.emitUserStateChange();
119
+ }
120
+ onEntityDeselected() {
121
+ this.selectedEntity = null;
122
+ this.emitStateChange();
123
+ this.emitUserStateChange();
124
+ }
125
+ onEntitySelected(entity) {
126
+ this.selectedEntity = entity;
127
+ this.emitStateChange();
128
+ this.emitUserStateChange();
129
+ }
130
+ onEntityOpened(entity) {
131
+ this.entityOpened.emit(entity);
132
+ }
133
+ onFieldsSectionToggle() {
134
+ this.fieldsSectionExpanded = !this.fieldsSectionExpanded;
135
+ this.emitUserStateChange();
136
+ }
137
+ onRelationshipsSectionToggle() {
138
+ this.relationshipsSectionExpanded = !this.relationshipsSectionExpanded;
139
+ this.emitUserStateChange();
140
+ }
141
+ onOpenRecord(event) {
142
+ this.openRecord.emit(event);
143
+ }
144
+ onSplitterLayoutChange(event) {
145
+ // Trigger ERD diagram resize when splitter layout changes
146
+ if (this.erdDiagram) {
147
+ this.erdDiagram.triggerResize();
148
+ }
149
+ this.emitStateChange();
150
+ this.emitUserStateChange();
151
+ }
152
+ applyFilters() {
153
+ this.filteredEntities = this.entities.filter(entity => {
154
+ // Schema filter
155
+ if (this.filters.schemaName && entity.SchemaName !== this.filters.schemaName) {
156
+ return false;
157
+ }
158
+ // Entity name filter
159
+ if (this.filters.entityName) {
160
+ const searchTerm = this.filters.entityName.toLowerCase();
161
+ const entityName = (entity.Name || entity.SchemaName || '').toLowerCase();
162
+ if (!entityName.includes(searchTerm)) {
163
+ return false;
164
+ }
165
+ }
166
+ // Base table filter
167
+ if (this.filters.baseTable) {
168
+ const searchTerm = this.filters.baseTable.toLowerCase();
169
+ const baseTable = (entity.BaseTable || '').toLowerCase();
170
+ if (!baseTable.includes(searchTerm)) {
171
+ return false;
172
+ }
173
+ }
174
+ // Status filter
175
+ if (this.filters.entityStatus && entity.Status !== this.filters.entityStatus) {
176
+ return false;
177
+ }
178
+ return true;
179
+ });
180
+ }
181
+ emitStateChange() {
182
+ var _a;
183
+ const state = {
184
+ filterPanelVisible: this.filterPanelVisible,
185
+ filterPanelWidth: 320,
186
+ filters: Object.assign({}, this.filters),
187
+ selectedEntityId: ((_a = this.selectedEntity) === null || _a === void 0 ? void 0 : _a.ID) || null,
188
+ zoomLevel: 1,
189
+ panPosition: { x: 0, y: 0 },
190
+ fieldsSectionExpanded: this.fieldsSectionExpanded,
191
+ relationshipsSectionExpanded: this.relationshipsSectionExpanded,
192
+ };
193
+ this.stateChangeSubject.next(state);
194
+ }
195
+ emitUserStateChange() {
196
+ var _a;
197
+ const state = {
198
+ filterPanelVisible: this.filterPanelVisible,
199
+ filterPanelWidth: 320,
200
+ filters: Object.assign({}, this.filters),
201
+ selectedEntityId: ((_a = this.selectedEntity) === null || _a === void 0 ? void 0 : _a.ID) || null,
202
+ zoomLevel: 1,
203
+ panPosition: { x: 0, y: 0 },
204
+ fieldsSectionExpanded: this.fieldsSectionExpanded,
205
+ relationshipsSectionExpanded: this.relationshipsSectionExpanded,
206
+ };
207
+ this.userStateChangeSubject.next(state);
208
+ }
209
+ // Public methods for external control
210
+ loadUserState(state) {
211
+ if (state.filterPanelVisible !== undefined) {
212
+ this.filterPanelVisible = state.filterPanelVisible;
213
+ }
214
+ if (state.filters) {
215
+ this.filters = Object.assign({}, state.filters);
216
+ }
217
+ if (state.fieldsSectionExpanded !== undefined) {
218
+ this.fieldsSectionExpanded = state.fieldsSectionExpanded;
219
+ }
220
+ if (state.relationshipsSectionExpanded !== undefined) {
221
+ this.relationshipsSectionExpanded = state.relationshipsSectionExpanded;
222
+ }
223
+ if (state.selectedEntityId && this.entities.length > 0) {
224
+ const entity = this.entities.find(e => e.ID === state.selectedEntityId);
225
+ if (entity) {
226
+ this.selectedEntity = entity;
227
+ }
228
+ }
229
+ else {
230
+ this.selectedEntity = null;
231
+ }
232
+ this.applyFilters();
233
+ }
234
+ refreshERD() {
235
+ // Emit event to refresh ERD
236
+ }
237
+ }
238
+ ERDCompositeComponent.ɵfac = function ERDCompositeComponent_Factory(t) { return new (t || ERDCompositeComponent)(); };
239
+ ERDCompositeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ERDCompositeComponent, selectors: [["mj-erd-composite"]], viewQuery: function ERDCompositeComponent_Query(rf, ctx) { if (rf & 1) {
240
+ i0.ɵɵviewQuery(ERDDiagramComponent, 5);
241
+ } if (rf & 2) {
242
+ let _t;
243
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.erdDiagram = _t.first);
244
+ } }, inputs: { isRefreshingERD: "isRefreshingERD" }, outputs: { stateChange: "stateChange", userStateChange: "userStateChange", entityOpened: "entityOpened", openRecord: "openRecord" }, decls: 9, vars: 23, consts: [["mjFillContainer", "", 1, "erd-composite"], ["orientation", "horizontal", "mjFillContainer", "", 1, "main-splitter", 3, "layoutChange"], [3, "size", "collapsible", "resizable", "scrollable", "hidden"], [3, "filtersChange", "filterChange", "resetFilters", "closePanel", "entities", "filteredEntities", "filters"], [3, "resizable", "scrollable"], ["mjFillContainer", "", 1, "erd-pane-container"], ["mjFillContainer", "", 3, "entitySelected", "entityDeselected", "refreshERD", "filteredEntities", "allEntityFields", "isRefreshingERD", "selectedEntityId"], [3, "openEntity", "closePanel", "fieldsSectionToggle", "relationshipsSectionToggle", "entitySelected", "openRecord", "selectedEntity", "allEntityFields", "fieldsSectionExpanded", "relationshipsSectionExpanded"]], template: function ERDCompositeComponent_Template(rf, ctx) { if (rf & 1) {
245
+ i0.ɵɵelementStart(0, "div", 0)(1, "kendo-splitter", 1);
246
+ i0.ɵɵlistener("layoutChange", function ERDCompositeComponent_Template_kendo_splitter_layoutChange_1_listener($event) { return ctx.onSplitterLayoutChange($event); });
247
+ i0.ɵɵelementStart(2, "kendo-splitter-pane", 2)(3, "mj-entity-filter-panel", 3);
248
+ i0.ɵɵlistener("filtersChange", function ERDCompositeComponent_Template_mj_entity_filter_panel_filtersChange_3_listener($event) { return ctx.onFiltersChange($event); })("filterChange", function ERDCompositeComponent_Template_mj_entity_filter_panel_filterChange_3_listener() { return ctx.onFilterChange(); })("resetFilters", function ERDCompositeComponent_Template_mj_entity_filter_panel_resetFilters_3_listener() { return ctx.onResetFilters(); })("closePanel", function ERDCompositeComponent_Template_mj_entity_filter_panel_closePanel_3_listener() { return ctx.onToggleFilterPanel(); });
249
+ i0.ɵɵelementEnd()();
250
+ i0.ɵɵelementStart(4, "kendo-splitter-pane", 4)(5, "div", 5)(6, "mj-erd-diagram", 6);
251
+ i0.ɵɵlistener("entitySelected", function ERDCompositeComponent_Template_mj_erd_diagram_entitySelected_6_listener($event) { return ctx.onEntitySelected($event); })("entityDeselected", function ERDCompositeComponent_Template_mj_erd_diagram_entityDeselected_6_listener() { return ctx.onEntityDeselected(); })("refreshERD", function ERDCompositeComponent_Template_mj_erd_diagram_refreshERD_6_listener() { return ctx.refreshERD(); });
252
+ i0.ɵɵelementEnd()()();
253
+ i0.ɵɵelementStart(7, "kendo-splitter-pane", 2)(8, "mj-entity-details", 7);
254
+ i0.ɵɵlistener("openEntity", function ERDCompositeComponent_Template_mj_entity_details_openEntity_8_listener($event) { return ctx.onEntityOpened($event); })("closePanel", function ERDCompositeComponent_Template_mj_entity_details_closePanel_8_listener() { return ctx.onEntityDeselected(); })("fieldsSectionToggle", function ERDCompositeComponent_Template_mj_entity_details_fieldsSectionToggle_8_listener() { return ctx.onFieldsSectionToggle(); })("relationshipsSectionToggle", function ERDCompositeComponent_Template_mj_entity_details_relationshipsSectionToggle_8_listener() { return ctx.onRelationshipsSectionToggle(); })("entitySelected", function ERDCompositeComponent_Template_mj_entity_details_entitySelected_8_listener($event) { return ctx.onEntitySelected($event); })("openRecord", function ERDCompositeComponent_Template_mj_entity_details_openRecord_8_listener($event) { return ctx.onOpenRecord($event); });
255
+ i0.ɵɵelementEnd()()()();
256
+ } if (rf & 2) {
257
+ i0.ɵɵadvance(2);
258
+ i0.ɵɵproperty("size", ctx.filterPanelVisible ? "320px" : "0px")("collapsible", false)("resizable", ctx.filterPanelVisible)("scrollable", false)("hidden", !ctx.filterPanelVisible);
259
+ i0.ɵɵadvance();
260
+ i0.ɵɵproperty("entities", ctx.entities)("filteredEntities", ctx.filteredEntities)("filters", ctx.filters);
261
+ i0.ɵɵadvance();
262
+ i0.ɵɵproperty("resizable", true)("scrollable", false);
263
+ i0.ɵɵadvance(2);
264
+ i0.ɵɵproperty("filteredEntities", ctx.filteredEntities)("allEntityFields", ctx.allEntityFields)("isRefreshingERD", ctx.isRefreshingERD)("selectedEntityId", (ctx.selectedEntity == null ? null : ctx.selectedEntity.ID) || null);
265
+ i0.ɵɵadvance();
266
+ i0.ɵɵproperty("size", ctx.selectedEntity ? "320px" : "0px")("collapsible", false)("resizable", !!ctx.selectedEntity)("scrollable", false)("hidden", !ctx.selectedEntity);
267
+ i0.ɵɵadvance();
268
+ i0.ɵɵproperty("selectedEntity", ctx.selectedEntity)("allEntityFields", ctx.allEntityFields)("fieldsSectionExpanded", ctx.fieldsSectionExpanded)("relationshipsSectionExpanded", ctx.relationshipsSectionExpanded);
269
+ } }, dependencies: [i1.SplitterComponent, i1.SplitterPaneComponent, i2.FillContainer, i3.EntityFilterPanelComponent, i4.EntityDetailsComponent, i5.ERDDiagramComponent], styles: [".erd-composite[_ngcontent-%COMP%] {\n overflow: hidden;\n}\n\n//[_ngcontent-%COMP%] Kendo[_ngcontent-%COMP%] Splitter[_ngcontent-%COMP%] Styles[_ngcontent-%COMP%] -[_ngcontent-%COMP%] let[_ngcontent-%COMP%] mjFillContainer[_ngcontent-%COMP%] handle[_ngcontent-%COMP%] sizing\n.main-splitter[_ngcontent-%COMP%] {\n .k-pane {\n overflow: hidden;\n }\n}\n\n//[_ngcontent-%COMP%] ERD[_ngcontent-%COMP%] Pane[_ngcontent-%COMP%] Container[_ngcontent-%COMP%] for[_ngcontent-%COMP%] floating[_ngcontent-%COMP%] panel\n.erd-pane-container[_ngcontent-%COMP%] {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n//[_ngcontent-%COMP%] Floating[_ngcontent-%COMP%] Details[_ngcontent-%COMP%] Panel\n.floating-details-panel[_ngcontent-%COMP%] {\n position: absolute;\n top: 50%;\n right: 20px;\n width: 380px;\n max-height: calc(100% - 40px);\n background: white;\n border: 1px solid #ddd;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n z-index: 1000;\n overflow: hidden;\n transform: translateY(-50%);\n animation: _ngcontent-%COMP%_slideInFromRight 0.3s ease-out;\n \n // Prevent panel from going off-screen on smaller displays\n @media (max-width: 768px) {\n right: 10px;\n left: 10px;\n width: auto;\n max-width: none;\n }\n \n // Ensure panel doesn't extend beyond viewport\n @media (max-height: 600px) {\n top: 20px;\n transform: none;\n max-height: calc(100vh - 40px);\n }\n}\n\n@keyframes _ngcontent-%COMP%_slideInFromRight {\n from {\n transform: translateY(-50%) translateX(100%);\n opacity: 0;\n }\n to {\n transform: translateY(-50%) translateX(0);\n opacity: 1;\n }\n}"] });
270
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ERDCompositeComponent, [{
271
+ type: Component,
272
+ args: [{ selector: 'mj-erd-composite', template: "<div class=\"erd-composite\" mjFillContainer>\n <!-- Main Layout with Kendo Splitter (2-pane) -->\n <kendo-splitter \n class=\"main-splitter\"\n orientation=\"horizontal\"\n (layoutChange)=\"onSplitterLayoutChange($event)\"\n mjFillContainer>\n \n <!-- Filter Panel (Left) -->\n <kendo-splitter-pane \n [size]=\"filterPanelVisible ? '320px' : '0px'\"\n [collapsible]=\"false\"\n [resizable]=\"filterPanelVisible\"\n [scrollable]=\"false\"\n [hidden]=\"!filterPanelVisible\">\n <mj-entity-filter-panel\n [entities]=\"entities\"\n [filteredEntities]=\"filteredEntities\"\n [filters]=\"filters\"\n (filtersChange)=\"onFiltersChange($event)\"\n (filterChange)=\"onFilterChange()\"\n (resetFilters)=\"onResetFilters()\"\n (closePanel)=\"onToggleFilterPanel()\">\n </mj-entity-filter-panel>\n </kendo-splitter-pane>\n \n <!-- ERD Section with Floating Details Panel -->\n <kendo-splitter-pane \n [resizable]=\"true\"\n [scrollable]=\"false\">\n <div class=\"erd-pane-container\" mjFillContainer>\n <mj-erd-diagram\n [filteredEntities]=\"filteredEntities\"\n [allEntityFields]=\"allEntityFields\"\n [isRefreshingERD]=\"isRefreshingERD\"\n [selectedEntityId]=\"selectedEntity?.ID || null\"\n (entitySelected)=\"onEntitySelected($event)\"\n (entityDeselected)=\"onEntityDeselected()\"\n (refreshERD)=\"refreshERD()\"\n mjFillContainer>\n </mj-erd-diagram>\n </div>\n </kendo-splitter-pane>\n <kendo-splitter-pane \n [size]=\"selectedEntity ? '320px' : '0px'\"\n [collapsible]=\"false\"\n [resizable]=\"!!selectedEntity\"\n [scrollable]=\"false\"\n [hidden]=\"!selectedEntity\">\n <mj-entity-details\n [selectedEntity]=\"selectedEntity\"\n [allEntityFields]=\"allEntityFields\"\n [fieldsSectionExpanded]=\"fieldsSectionExpanded\"\n [relationshipsSectionExpanded]=\"relationshipsSectionExpanded\"\n (openEntity)=\"onEntityOpened($event)\"\n (closePanel)=\"onEntityDeselected()\"\n (fieldsSectionToggle)=\"onFieldsSectionToggle()\"\n (relationshipsSectionToggle)=\"onRelationshipsSectionToggle()\"\n (entitySelected)=\"onEntitySelected($event)\"\n (openRecord)=\"onOpenRecord($event)\">\n </mj-entity-details>\n </kendo-splitter-pane>\n </kendo-splitter>\n</div>", styles: [".erd-composite {\n overflow: hidden;\n}\n\n// Kendo Splitter Styles - let mjFillContainer handle sizing\n.main-splitter {\n .k-pane {\n overflow: hidden;\n }\n}\n\n// ERD Pane Container for floating panel\n.erd-pane-container {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n// Floating Details Panel\n.floating-details-panel {\n position: absolute;\n top: 50%;\n right: 20px;\n width: 380px;\n max-height: calc(100% - 40px);\n background: white;\n border: 1px solid #ddd;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n z-index: 1000;\n overflow: hidden;\n transform: translateY(-50%);\n animation: slideInFromRight 0.3s ease-out;\n \n // Prevent panel from going off-screen on smaller displays\n @media (max-width: 768px) {\n right: 10px;\n left: 10px;\n width: auto;\n max-width: none;\n }\n \n // Ensure panel doesn't extend beyond viewport\n @media (max-height: 600px) {\n top: 20px;\n transform: none;\n max-height: calc(100vh - 40px);\n }\n}\n\n@keyframes slideInFromRight {\n from {\n transform: translateY(-50%) translateX(100%);\n opacity: 0;\n }\n to {\n transform: translateY(-50%) translateX(0);\n opacity: 1;\n }\n}"] }]
273
+ }], null, { erdDiagram: [{
274
+ type: ViewChild,
275
+ args: [ERDDiagramComponent]
276
+ }], isRefreshingERD: [{
277
+ type: Input
278
+ }], stateChange: [{
279
+ type: Output
280
+ }], userStateChange: [{
281
+ type: Output
282
+ }], entityOpened: [{
283
+ type: Output
284
+ }], openRecord: [{
285
+ type: Output
286
+ }] }); })();
287
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ERDCompositeComponent, { className: "ERDCompositeComponent", filePath: "src/EntityAdmin/components/erd-composite.component.ts", lineNumber: 35 }); })();
288
+ //# sourceMappingURL=erd-composite.component.js.map