@memberjunction/ng-dashboards 2.47.0 → 2.49.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 (92) hide show
  1. package/README.md +105 -2
  2. package/dist/AI/ai-dashboard.component.d.ts +2 -0
  3. package/dist/AI/ai-dashboard.component.d.ts.map +1 -1
  4. package/dist/AI/ai-dashboard.component.js +66 -43
  5. package/dist/AI/ai-dashboard.component.js.map +1 -1
  6. package/dist/AI/components/agents/agent-configuration.component.js +45 -58
  7. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  8. package/dist/AI/components/agents/agent-editor.component.d.ts +6 -1
  9. package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -1
  10. package/dist/AI/components/agents/agent-editor.component.js +368 -366
  11. package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
  12. package/dist/AI/components/agents/agent-filter-panel.component.js +83 -85
  13. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  14. package/dist/AI/components/charts/performance-heatmap.component.d.ts +66 -0
  15. package/dist/AI/components/charts/performance-heatmap.component.d.ts.map +1 -0
  16. package/dist/AI/components/charts/performance-heatmap.component.js +428 -0
  17. package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -0
  18. package/dist/AI/components/charts/time-series-chart.component.d.ts +66 -0
  19. package/dist/AI/components/charts/time-series-chart.component.d.ts.map +1 -0
  20. package/dist/AI/components/charts/time-series-chart.component.js +547 -0
  21. package/dist/AI/components/charts/time-series-chart.component.js.map +1 -0
  22. package/dist/AI/components/execution-monitoring.component.d.ts +157 -5
  23. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
  24. package/dist/AI/components/execution-monitoring.component.js +2032 -20
  25. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  26. package/dist/AI/components/models/model-management.component.js +211 -237
  27. package/dist/AI/components/models/model-management.component.js.map +1 -1
  28. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +208 -226
  29. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  30. package/dist/AI/components/prompts/prompt-filter-panel.component.js +97 -99
  31. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
  32. package/dist/AI/components/prompts/prompt-management.component.js +381 -424
  33. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  34. package/dist/AI/components/prompts/prompt-version-control.component.js +173 -191
  35. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  36. package/dist/AI/components/system/system-config-filter-panel.component.js +85 -87
  37. package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
  38. package/dist/AI/components/system/system-configuration.component.js +86 -99
  39. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  40. package/dist/AI/components/widgets/kpi-card.component.d.ts +25 -0
  41. package/dist/AI/components/widgets/kpi-card.component.d.ts.map +1 -0
  42. package/dist/AI/components/widgets/kpi-card.component.js +163 -0
  43. package/dist/AI/components/widgets/kpi-card.component.js.map +1 -0
  44. package/dist/AI/components/widgets/live-execution-widget.component.d.ts +25 -0
  45. package/dist/AI/components/widgets/live-execution-widget.component.d.ts.map +1 -0
  46. package/dist/AI/components/widgets/live-execution-widget.component.js +298 -0
  47. package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -0
  48. package/dist/AI/index.d.ts +7 -0
  49. package/dist/AI/index.d.ts.map +1 -0
  50. package/dist/AI/index.js +9 -0
  51. package/dist/AI/index.js.map +1 -0
  52. package/dist/AI/services/ai-instrumentation.service.d.ts +109 -0
  53. package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -0
  54. package/dist/AI/services/ai-instrumentation.service.js +490 -0
  55. package/dist/AI/services/ai-instrumentation.service.js.map +1 -0
  56. package/dist/Actions/actions-management-dashboard.component.js +40 -41
  57. package/dist/Actions/actions-management-dashboard.component.js.map +1 -1
  58. package/dist/Actions/components/actions-list-view.component.js +117 -134
  59. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  60. package/dist/Actions/components/actions-overview.component.js +274 -296
  61. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  62. package/dist/Actions/components/categories-list-view.component.js +12 -14
  63. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  64. package/dist/Actions/components/code-management.component.js +12 -14
  65. package/dist/Actions/components/code-management.component.js.map +1 -1
  66. package/dist/Actions/components/entity-integration.component.js +12 -14
  67. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  68. package/dist/Actions/components/execution-monitoring.component.js +238 -256
  69. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  70. package/dist/Actions/components/executions-list-view.component.js +12 -14
  71. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  72. package/dist/Actions/components/scheduled-actions.component.js +12 -14
  73. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  74. package/dist/Actions/components/security-permissions.component.js +12 -14
  75. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  76. package/dist/EntityAdmin/components/entity-details.component.js +105 -107
  77. package/dist/EntityAdmin/components/entity-details.component.js.map +1 -1
  78. package/dist/EntityAdmin/components/entity-filter-panel.component.js +100 -102
  79. package/dist/EntityAdmin/components/entity-filter-panel.component.js.map +1 -1
  80. package/dist/EntityAdmin/components/erd-composite.component.js +84 -100
  81. package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -1
  82. package/dist/EntityAdmin/components/erd-diagram.component.js +50 -50
  83. package/dist/EntityAdmin/components/erd-diagram.component.js.map +1 -1
  84. package/dist/EntityAdmin/entity-admin-dashboard.component.js +45 -49
  85. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  86. package/dist/generic/base-dashboard.js +28 -40
  87. package/dist/generic/base-dashboard.js.map +1 -1
  88. package/dist/module.d.ts +16 -12
  89. package/dist/module.d.ts.map +1 -1
  90. package/dist/module.js +36 -15
  91. package/dist/module.js.map +1 -1
  92. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"execution-monitoring.component.js","sourceRoot":"","sources":["../../../src/Actions/components/execution-monitoring.component.ts","../../../src/Actions/components/execution-monitoring.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-monitoring.component.js","sourceRoot":"","sources":["../../../src/Actions/components/execution-monitoring.component.ts","../../../src/Actions/components/execution-monitoring.component.html"],"names":[],"mappings":"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"}
@@ -2,21 +2,19 @@ import { Component, Output, EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@memberjunction/ng-container-directives";
4
4
  export class ExecutionsListViewComponent {
5
- constructor() {
6
- this.openEntityRecord = new EventEmitter();
7
- }
5
+ openEntityRecord = new EventEmitter();
6
+ static ɵfac = function ExecutionsListViewComponent_Factory(t) { return new (t || ExecutionsListViewComponent)(); };
7
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExecutionsListViewComponent, selectors: [["mj-executions-list-view"]], outputs: { openEntityRecord: "openEntityRecord" }, decls: 7, vars: 0, consts: [["mjFillContainer", "", 1, "executions-list-placeholder"], [1, "placeholder-content"], [1, "fa-solid", "fa-list"]], template: function ExecutionsListViewComponent_Template(rf, ctx) { if (rf & 1) {
8
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
9
+ i0.ɵɵelement(2, "i", 2);
10
+ i0.ɵɵelementStart(3, "h3");
11
+ i0.ɵɵtext(4, "Executions List View");
12
+ i0.ɵɵelementEnd();
13
+ i0.ɵɵelementStart(5, "p");
14
+ i0.ɵɵtext(6, "Detailed execution history with filtering and sorting coming soon...");
15
+ i0.ɵɵelementEnd()()();
16
+ } }, dependencies: [i1.FillContainer], styles: [".executions-list-placeholder[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n background: var(--kendo-color-app-surface);\n \n .placeholder-content {\n text-align: center;\n color: var(--kendo-color-subtle);\n \n i {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n color: var(--kendo-color-primary);\n }\n \n h3 {\n margin: 0 0 0.5rem 0;\n font-size: 1.25rem;\n font-weight: 600;\n }\n \n p {\n margin: 0;\n font-size: 0.875rem;\n }\n }\n }"] });
8
17
  }
9
- ExecutionsListViewComponent.ɵfac = function ExecutionsListViewComponent_Factory(t) { return new (t || ExecutionsListViewComponent)(); };
10
- ExecutionsListViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExecutionsListViewComponent, selectors: [["mj-executions-list-view"]], outputs: { openEntityRecord: "openEntityRecord" }, decls: 7, vars: 0, consts: [["mjFillContainer", "", 1, "executions-list-placeholder"], [1, "placeholder-content"], [1, "fa-solid", "fa-list"]], template: function ExecutionsListViewComponent_Template(rf, ctx) { if (rf & 1) {
11
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
12
- i0.ɵɵelement(2, "i", 2);
13
- i0.ɵɵelementStart(3, "h3");
14
- i0.ɵɵtext(4, "Executions List View");
15
- i0.ɵɵelementEnd();
16
- i0.ɵɵelementStart(5, "p");
17
- i0.ɵɵtext(6, "Detailed execution history with filtering and sorting coming soon...");
18
- i0.ɵɵelementEnd()()();
19
- } }, dependencies: [i1.FillContainer], styles: [".executions-list-placeholder[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n background: var(--kendo-color-app-surface);\n \n .placeholder-content {\n text-align: center;\n color: var(--kendo-color-subtle);\n \n i {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n color: var(--kendo-color-primary);\n }\n \n h3 {\n margin: 0 0 0.5rem 0;\n font-size: 1.25rem;\n font-weight: 600;\n }\n \n p {\n margin: 0;\n font-size: 0.875rem;\n }\n }\n }"] });
20
18
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExecutionsListViewComponent, [{
21
19
  type: Component,
22
20
  args: [{ selector: 'mj-executions-list-view', template: `
@@ -1 +1 @@
1
- {"version":3,"file":"executions-list-view.component.js","sourceRoot":"","sources":["../../../src/Actions/components/executions-list-view.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;AA8ChE,MAAM,OAAO,2BAA2B;IA5CxC;QA6CY,qBAAgB,GAAG,IAAI,YAAY,EAA0C,CAAC;KACzF;;sGAFY,2BAA2B;8EAA3B,2BAA2B;QAxClC,AADF,8BAAyD,aACtB;QAC/B,uBAAgC;QAChC,0BAAI;QAAA,oCAAoB;QAAA,iBAAK;QAC7B,yBAAG;QAAA,oFAAoE;QAE3E,AADE,AADyE,iBAAI,EACvE,EACF;;iFAmCG,2BAA2B;cA5CvC,SAAS;2BACE,yBAAyB,YACzB;;;;;;;;GAQT;gBAmCS,gBAAgB;kBAAzB,MAAM;;kFADI,2BAA2B"}
1
+ {"version":3,"file":"executions-list-view.component.js","sourceRoot":"","sources":["../../../src/Actions/components/executions-list-view.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;AA8ChE,MAAM,OAAO,2BAA2B;IAC5B,gBAAgB,GAAG,IAAI,YAAY,EAA0C,CAAC;qFAD7E,2BAA2B;6DAA3B,2BAA2B;YAxClC,AADF,8BAAyD,aACtB;YAC/B,uBAAgC;YAChC,0BAAI;YAAA,oCAAoB;YAAA,iBAAK;YAC7B,yBAAG;YAAA,oFAAoE;YAE3E,AADE,AADyE,iBAAI,EACvE,EACF;;;iFAmCG,2BAA2B;cA5CvC,SAAS;2BACE,yBAAyB,YACzB;;;;;;;;GAQT;gBAmCS,gBAAgB;kBAAzB,MAAM;;kFADI,2BAA2B"}
@@ -2,21 +2,19 @@ import { Component, Output, EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@memberjunction/ng-container-directives";
4
4
  export class ScheduledActionsComponent {
5
- constructor() {
6
- this.openEntityRecord = new EventEmitter();
7
- }
5
+ openEntityRecord = new EventEmitter();
6
+ static ɵfac = function ScheduledActionsComponent_Factory(t) { return new (t || ScheduledActionsComponent)(); };
7
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ScheduledActionsComponent, selectors: [["mj-scheduled-actions"]], outputs: { openEntityRecord: "openEntityRecord" }, decls: 7, vars: 0, consts: [["mjFillContainer", "", 1, "scheduled-actions-placeholder"], [1, "placeholder-content"], [1, "fa-solid", "fa-clock"]], template: function ScheduledActionsComponent_Template(rf, ctx) { if (rf & 1) {
8
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
9
+ i0.ɵɵelement(2, "i", 2);
10
+ i0.ɵɵelementStart(3, "h3");
11
+ i0.ɵɵtext(4, "Scheduled Actions");
12
+ i0.ɵɵelementEnd();
13
+ i0.ɵɵelementStart(5, "p");
14
+ i0.ɵɵtext(6, "Calendar view and schedule management coming soon...");
15
+ i0.ɵɵelementEnd()()();
16
+ } }, dependencies: [i1.FillContainer], styles: [".scheduled-actions-placeholder[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n \n .placeholder-content {\n text-align: center;\n color: var(--kendo-color-subtle);\n \n i {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n }\n \n h3 {\n margin: 0 0 0.5rem 0;\n font-size: 1.25rem;\n font-weight: 600;\n }\n \n p {\n margin: 0;\n font-size: 0.875rem;\n }\n }\n }"] });
8
17
  }
9
- ScheduledActionsComponent.ɵfac = function ScheduledActionsComponent_Factory(t) { return new (t || ScheduledActionsComponent)(); };
10
- ScheduledActionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ScheduledActionsComponent, selectors: [["mj-scheduled-actions"]], outputs: { openEntityRecord: "openEntityRecord" }, decls: 7, vars: 0, consts: [["mjFillContainer", "", 1, "scheduled-actions-placeholder"], [1, "placeholder-content"], [1, "fa-solid", "fa-clock"]], template: function ScheduledActionsComponent_Template(rf, ctx) { if (rf & 1) {
11
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
12
- i0.ɵɵelement(2, "i", 2);
13
- i0.ɵɵelementStart(3, "h3");
14
- i0.ɵɵtext(4, "Scheduled Actions");
15
- i0.ɵɵelementEnd();
16
- i0.ɵɵelementStart(5, "p");
17
- i0.ɵɵtext(6, "Calendar view and schedule management coming soon...");
18
- i0.ɵɵelementEnd()()();
19
- } }, dependencies: [i1.FillContainer], styles: [".scheduled-actions-placeholder[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n \n .placeholder-content {\n text-align: center;\n color: var(--kendo-color-subtle);\n \n i {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n }\n \n h3 {\n margin: 0 0 0.5rem 0;\n font-size: 1.25rem;\n font-weight: 600;\n }\n \n p {\n margin: 0;\n font-size: 0.875rem;\n }\n }\n }"] });
20
18
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ScheduledActionsComponent, [{
21
19
  type: Component,
22
20
  args: [{ selector: 'mj-scheduled-actions', template: `
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled-actions.component.js","sourceRoot":"","sources":["../../../src/Actions/components/scheduled-actions.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;AA4ChE,MAAM,OAAO,yBAAyB;IA1CtC;QA2CY,qBAAgB,GAAG,IAAI,YAAY,EAA0C,CAAC;KACzF;;kGAFY,yBAAyB;4EAAzB,yBAAyB;QAtChC,AADF,8BAA2D,aACxB;QAC/B,uBAAiC;QACjC,0BAAI;QAAA,iCAAiB;QAAA,iBAAK;QAC1B,yBAAG;QAAA,oEAAoD;QAE3D,AADE,AADyD,iBAAI,EACvD,EACF;;iFAiCG,yBAAyB;cA1CrC,SAAS;2BACE,sBAAsB,YACtB;;;;;;;;GAQT;gBAiCS,gBAAgB;kBAAzB,MAAM;;kFADI,yBAAyB"}
1
+ {"version":3,"file":"scheduled-actions.component.js","sourceRoot":"","sources":["../../../src/Actions/components/scheduled-actions.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;AA4ChE,MAAM,OAAO,yBAAyB;IAC1B,gBAAgB,GAAG,IAAI,YAAY,EAA0C,CAAC;mFAD7E,yBAAyB;6DAAzB,yBAAyB;YAtChC,AADF,8BAA2D,aACxB;YAC/B,uBAAiC;YACjC,0BAAI;YAAA,iCAAiB;YAAA,iBAAK;YAC1B,yBAAG;YAAA,oEAAoD;YAE3D,AADE,AADyD,iBAAI,EACvD,EACF;;;iFAiCG,yBAAyB;cA1CrC,SAAS;2BACE,sBAAsB,YACtB;;;;;;;;GAQT;gBAiCS,gBAAgB;kBAAzB,MAAM;;kFADI,yBAAyB"}
@@ -2,21 +2,19 @@ import { Component, Output, EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@memberjunction/ng-container-directives";
4
4
  export class SecurityPermissionsComponent {
5
- constructor() {
6
- this.openEntityRecord = new EventEmitter();
7
- }
5
+ openEntityRecord = new EventEmitter();
6
+ static ɵfac = function SecurityPermissionsComponent_Factory(t) { return new (t || SecurityPermissionsComponent)(); };
7
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SecurityPermissionsComponent, selectors: [["mj-security-permissions"]], outputs: { openEntityRecord: "openEntityRecord" }, decls: 7, vars: 0, consts: [["mjFillContainer", "", 1, "security-permissions-placeholder"], [1, "placeholder-content"], [1, "fa-solid", "fa-lock"]], template: function SecurityPermissionsComponent_Template(rf, ctx) { if (rf & 1) {
8
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
9
+ i0.ɵɵelement(2, "i", 2);
10
+ i0.ɵɵelementStart(3, "h3");
11
+ i0.ɵɵtext(4, "Security & Permissions");
12
+ i0.ɵɵelementEnd();
13
+ i0.ɵɵelementStart(5, "p");
14
+ i0.ɵɵtext(6, "Action authorization and security management coming soon...");
15
+ i0.ɵɵelementEnd()()();
16
+ } }, dependencies: [i1.FillContainer], styles: [".security-permissions-placeholder[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n \n .placeholder-content {\n text-align: center;\n color: var(--kendo-color-subtle);\n \n i {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n }\n \n h3 {\n margin: 0 0 0.5rem 0;\n font-size: 1.25rem;\n font-weight: 600;\n }\n \n p {\n margin: 0;\n font-size: 0.875rem;\n }\n }\n }"] });
8
17
  }
9
- SecurityPermissionsComponent.ɵfac = function SecurityPermissionsComponent_Factory(t) { return new (t || SecurityPermissionsComponent)(); };
10
- SecurityPermissionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SecurityPermissionsComponent, selectors: [["mj-security-permissions"]], outputs: { openEntityRecord: "openEntityRecord" }, decls: 7, vars: 0, consts: [["mjFillContainer", "", 1, "security-permissions-placeholder"], [1, "placeholder-content"], [1, "fa-solid", "fa-lock"]], template: function SecurityPermissionsComponent_Template(rf, ctx) { if (rf & 1) {
11
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
12
- i0.ɵɵelement(2, "i", 2);
13
- i0.ɵɵelementStart(3, "h3");
14
- i0.ɵɵtext(4, "Security & Permissions");
15
- i0.ɵɵelementEnd();
16
- i0.ɵɵelementStart(5, "p");
17
- i0.ɵɵtext(6, "Action authorization and security management coming soon...");
18
- i0.ɵɵelementEnd()()();
19
- } }, dependencies: [i1.FillContainer], styles: [".security-permissions-placeholder[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n \n .placeholder-content {\n text-align: center;\n color: var(--kendo-color-subtle);\n \n i {\n font-size: 3rem;\n margin-bottom: 1rem;\n opacity: 0.5;\n }\n \n h3 {\n margin: 0 0 0.5rem 0;\n font-size: 1.25rem;\n font-weight: 600;\n }\n \n p {\n margin: 0;\n font-size: 0.875rem;\n }\n }\n }"] });
20
18
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SecurityPermissionsComponent, [{
21
19
  type: Component,
22
20
  args: [{ selector: 'mj-security-permissions', template: `
@@ -1 +1 @@
1
- {"version":3,"file":"security-permissions.component.js","sourceRoot":"","sources":["../../../src/Actions/components/security-permissions.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;AA4ChE,MAAM,OAAO,4BAA4B;IA1CzC;QA2CY,qBAAgB,GAAG,IAAI,YAAY,EAA0C,CAAC;KACzF;;wGAFY,4BAA4B;+EAA5B,4BAA4B;QAtCnC,AADF,8BAA8D,aAC3B;QAC/B,uBAAgC;QAChC,0BAAI;QAAA,sCAAsB;QAAA,iBAAK;QAC/B,yBAAG;QAAA,2EAA2D;QAElE,AADE,AADgE,iBAAI,EAC9D,EACF;;iFAiCG,4BAA4B;cA1CxC,SAAS;2BACE,yBAAyB,YACzB;;;;;;;;GAQT;gBAiCS,gBAAgB;kBAAzB,MAAM;;kFADI,4BAA4B"}
1
+ {"version":3,"file":"security-permissions.component.js","sourceRoot":"","sources":["../../../src/Actions/components/security-permissions.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;AA4ChE,MAAM,OAAO,4BAA4B;IAC7B,gBAAgB,GAAG,IAAI,YAAY,EAA0C,CAAC;sFAD7E,4BAA4B;6DAA5B,4BAA4B;YAtCnC,AADF,8BAA8D,aAC3B;YAC/B,uBAAgC;YAChC,0BAAI;YAAA,sCAAsB;YAAA,iBAAK;YAC/B,yBAAG;YAAA,2EAA2D;YAElE,AADE,AADgE,iBAAI,EAC9D,EACF;;;iFAiCG,4BAA4B;cA1CxC,SAAS;2BACE,yBAAyB,YACzB;;;;;;;;GAQT;gBAiCS,gBAAgB;kBAAzB,MAAM;;kFADI,4BAA4B"}
@@ -389,30 +389,29 @@ function EntityDetailsComponent_Conditional_38_Template(rf, ctx) { if (rf & 1) {
389
389
  i0.ɵɵrepeater(ctx_r0.getRelatedEntities((ctx_r0.selectedEntity == null ? null : ctx_r0.selectedEntity.ID) || ""));
390
390
  } }
391
391
  export class EntityDetailsComponent {
392
- constructor() {
393
- this.selectedEntity = null;
394
- this.allEntityFields = [];
395
- this.fieldsSectionExpanded = true;
396
- this.relationshipsSectionExpanded = true;
397
- this.openEntity = new EventEmitter();
398
- this.closePanel = new EventEmitter();
399
- this.fieldsSectionToggle = new EventEmitter();
400
- this.relationshipsSectionToggle = new EventEmitter();
401
- this.entitySelected = new EventEmitter();
402
- this.openRecord = new EventEmitter();
403
- this.fieldFilter = 'all';
404
- this.expandedFieldDescriptions = new Set();
405
- this.expandedFieldValues = new Set();
406
- this.expandedFieldDetails = new Set();
407
- this.previousSelectedEntityId = null;
408
- }
392
+ fieldsListContainer;
393
+ relationshipsListContainer;
394
+ selectedEntity = null;
395
+ allEntityFields = [];
396
+ fieldsSectionExpanded = true;
397
+ relationshipsSectionExpanded = true;
398
+ openEntity = new EventEmitter();
399
+ closePanel = new EventEmitter();
400
+ fieldsSectionToggle = new EventEmitter();
401
+ relationshipsSectionToggle = new EventEmitter();
402
+ entitySelected = new EventEmitter();
403
+ openRecord = new EventEmitter();
404
+ fieldFilter = 'all';
405
+ expandedFieldDescriptions = new Set();
406
+ expandedFieldValues = new Set();
407
+ expandedFieldDetails = new Set();
408
+ previousSelectedEntityId = null;
409
409
  ngOnInit() {
410
410
  // Component initialization
411
411
  }
412
412
  ngOnChanges(changes) {
413
- var _a;
414
413
  if (changes['selectedEntity'] && !changes['selectedEntity'].firstChange) {
415
- const currentEntityId = ((_a = this.selectedEntity) === null || _a === void 0 ? void 0 : _a.ID) || null;
414
+ const currentEntityId = this.selectedEntity?.ID || null;
416
415
  // Check if entity actually changed
417
416
  if (currentEntityId !== this.previousSelectedEntityId) {
418
417
  // Reset scroll positions when entity changes
@@ -424,11 +423,10 @@ export class EntityDetailsComponent {
424
423
  resetScrollPositions() {
425
424
  // Use setTimeout to ensure the DOM is updated
426
425
  setTimeout(() => {
427
- var _a, _b;
428
- if ((_a = this.fieldsListContainer) === null || _a === void 0 ? void 0 : _a.nativeElement) {
426
+ if (this.fieldsListContainer?.nativeElement) {
429
427
  this.fieldsListContainer.nativeElement.scrollTop = 0;
430
428
  }
431
- if ((_b = this.relationshipsListContainer) === null || _b === void 0 ? void 0 : _b.nativeElement) {
429
+ if (this.relationshipsListContainer?.nativeElement) {
432
430
  this.relationshipsListContainer.nativeElement.scrollTop = 0;
433
431
  }
434
432
  }, 0);
@@ -564,92 +562,92 @@ export class EntityDetailsComponent {
564
562
  selectEntity(entity, _zoomTo = false) {
565
563
  this.entitySelected.emit(entity);
566
564
  }
565
+ static ɵfac = function EntityDetailsComponent_Factory(t) { return new (t || EntityDetailsComponent)(); };
566
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityDetailsComponent, selectors: [["mj-entity-details"]], viewQuery: function EntityDetailsComponent_Query(rf, ctx) { if (rf & 1) {
567
+ i0.ɵɵviewQuery(_c0, 5);
568
+ i0.ɵɵviewQuery(_c1, 5);
569
+ } if (rf & 2) {
570
+ let _t;
571
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fieldsListContainer = _t.first);
572
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.relationshipsListContainer = _t.first);
573
+ } }, inputs: { selectedEntity: "selectedEntity", allEntityFields: "allEntityFields", fieldsSectionExpanded: "fieldsSectionExpanded", relationshipsSectionExpanded: "relationshipsSectionExpanded" }, outputs: { openEntity: "openEntity", closePanel: "closePanel", fieldsSectionToggle: "fieldsSectionToggle", relationshipsSectionToggle: "relationshipsSectionToggle", entitySelected: "entitySelected", openRecord: "openRecord" }, features: [i0.ɵɵNgOnChangesFeature], decls: 39, vars: 21, consts: [["fieldsListContainer", ""], ["relationshipsListContainer", ""], [1, "details-panel"], [1, "panel-header"], [1, "panel-actions"], ["title", "Open Entity Record", 1, "open-btn", 3, "click"], [1, "fa-solid", "fa-external-link-alt"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "entity-info"], [1, "info-row"], [1, "fields-section"], [1, "section-header", "extra-padding"], [1, "section-title-group", 3, "click"], ["title", "Toggle fields section", 1, "expand-btn"], [1, "fa-solid", "fa-chevron-right"], [1, "field-filters"], [1, "fields-list"], [1, "relationships-section"], ["title", "Toggle relationships section", 1, "expand-btn"], [1, "related-entities-list"], ["title", "Show all fields", 1, "filter-btn", 3, "click"], ["title", "Show primary keys and ID fields", 1, "filter-btn", 3, "click"], ["title", "Show foreign key fields only", 1, "filter-btn", 3, "click"], ["title", "Show regular data fields", 1, "filter-btn", 3, "click"], [1, "field-item", 3, "class", "title"], [1, "field-item", 3, "click", "title"], [1, "field-header"], [1, "field-name"], ["title", "Primary Key", 1, "field-icon", "fa-solid", "fa-key"], ["title", "Foreign Key", 1, "field-icon", "fa-solid", "fa-link"], [1, "field-actions"], ["title", "Toggle possible values", 1, "field-values-btn", 3, "expanded"], ["title", "Toggle field description", 1, "field-info-btn", 3, "expanded"], [1, "field-badges"], [1, "field-badge", "primary-key"], [1, "field-badge", "foreign-key"], [1, "field-details"], [1, "field-type"], [1, "field-relation"], [1, "field-description"], [1, "field-values"], [1, "field-comprehensive-details"], ["title", "Toggle possible values", 1, "field-values-btn", 3, "click"], [1, "fa-solid", "fa-list"], ["title", "Toggle field description", 1, "field-info-btn", 3, "click"], [1, "fa-solid", "fa-info-circle"], [1, "fa-solid", "fa-arrow-right"], [1, "description-text"], [1, "values-header"], [1, "values-list"], [1, "value-tag"], [1, "comprehensive-description-top"], [1, "field-values-comprehensive"], [1, "details-grid"], [1, "detail-row"], [1, "detail-label"], [1, "detail-value"], [1, "description-content"], [1, "values-grid"], [1, "value-item"], [1, "value-main"], [1, "value-text"], [1, "value-code"], [1, "value-description"], [1, "detail-value", "default-value"], [1, "detail-value", "related-entity", 3, "click", "title"], [1, "detail-value", "auto-increment"], [1, "related-entity-item"], [1, "related-entity-item", 3, "click"], [1, "fa-solid", "fa-database"], [1, "entity-name"], ["title", "Click to zoom to entity", 1, "zoom-indicator", "fa-solid", "fa-search-plus"]], template: function EntityDetailsComponent_Template(rf, ctx) { if (rf & 1) {
574
+ i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "h3");
575
+ i0.ɵɵtext(3);
576
+ i0.ɵɵelementEnd();
577
+ i0.ɵɵelementStart(4, "div", 4)(5, "button", 5);
578
+ i0.ɵɵlistener("click", function EntityDetailsComponent_Template_button_click_5_listener() { return ctx.onOpenEntity(); });
579
+ i0.ɵɵelement(6, "span", 6);
580
+ i0.ɵɵtext(7, " Open ");
581
+ i0.ɵɵelementEnd();
582
+ i0.ɵɵelementStart(8, "button", 7);
583
+ i0.ɵɵlistener("click", function EntityDetailsComponent_Template_button_click_8_listener() { return ctx.onClosePanel(); });
584
+ i0.ɵɵelement(9, "span", 8);
585
+ i0.ɵɵelementEnd()()();
586
+ i0.ɵɵelementStart(10, "div", 9)(11, "div", 10)(12, "label");
587
+ i0.ɵɵtext(13, "Schema:");
588
+ i0.ɵɵelementEnd();
589
+ i0.ɵɵelementStart(14, "span");
590
+ i0.ɵɵtext(15);
591
+ i0.ɵɵelementEnd()();
592
+ i0.ɵɵelementStart(16, "div", 10)(17, "label");
593
+ i0.ɵɵtext(18, "Table:");
594
+ i0.ɵɵelementEnd();
595
+ i0.ɵɵelementStart(19, "span");
596
+ i0.ɵɵtext(20);
597
+ i0.ɵɵelementEnd()();
598
+ i0.ɵɵtemplate(21, EntityDetailsComponent_Conditional_21_Template, 5, 1, "div", 10);
599
+ i0.ɵɵelementEnd();
600
+ i0.ɵɵelementStart(22, "div", 11)(23, "div", 12)(24, "div", 13);
601
+ i0.ɵɵlistener("click", function EntityDetailsComponent_Template_div_click_24_listener() { return ctx.toggleFieldsSection(); });
602
+ i0.ɵɵelementStart(25, "button", 14);
603
+ i0.ɵɵelement(26, "span", 15);
604
+ i0.ɵɵelementEnd();
605
+ i0.ɵɵelementStart(27, "h4");
606
+ i0.ɵɵtext(28);
607
+ i0.ɵɵelementEnd()();
608
+ i0.ɵɵtemplate(29, EntityDetailsComponent_Conditional_29_Template, 9, 8, "div", 16);
609
+ i0.ɵɵelementEnd();
610
+ i0.ɵɵtemplate(30, EntityDetailsComponent_Conditional_30_Template, 4, 0, "div", 17);
611
+ i0.ɵɵelementEnd();
612
+ i0.ɵɵelementStart(31, "div", 18)(32, "div", 12)(33, "div", 13);
613
+ i0.ɵɵlistener("click", function EntityDetailsComponent_Template_div_click_33_listener() { return ctx.toggleRelationshipsSection(); });
614
+ i0.ɵɵelementStart(34, "button", 19);
615
+ i0.ɵɵelement(35, "span", 15);
616
+ i0.ɵɵelementEnd();
617
+ i0.ɵɵelementStart(36, "h4");
618
+ i0.ɵɵtext(37);
619
+ i0.ɵɵelementEnd()()();
620
+ i0.ɵɵtemplate(38, EntityDetailsComponent_Conditional_38_Template, 4, 0, "div", 20);
621
+ i0.ɵɵelementEnd()();
622
+ } if (rf & 2) {
623
+ i0.ɵɵadvance(3);
624
+ i0.ɵɵtextInterpolate((ctx.selectedEntity == null ? null : ctx.selectedEntity.Name) || (ctx.selectedEntity == null ? null : ctx.selectedEntity.SchemaName));
625
+ i0.ɵɵadvance(12);
626
+ i0.ɵɵtextInterpolate(ctx.selectedEntity == null ? null : ctx.selectedEntity.SchemaName);
627
+ i0.ɵɵadvance(5);
628
+ i0.ɵɵtextInterpolate(ctx.selectedEntity == null ? null : ctx.selectedEntity.BaseTable);
629
+ i0.ɵɵadvance();
630
+ i0.ɵɵconditional((ctx.selectedEntity == null ? null : ctx.selectedEntity.Description) ? 21 : -1);
631
+ i0.ɵɵadvance();
632
+ i0.ɵɵclassProp("section-expanded", ctx.fieldsSectionExpanded)("section-collapsed", !ctx.fieldsSectionExpanded);
633
+ i0.ɵɵadvance(3);
634
+ i0.ɵɵclassProp("expanded", ctx.fieldsSectionExpanded);
635
+ i0.ɵɵadvance(3);
636
+ i0.ɵɵtextInterpolate1("Fields (", ctx.selectedEntity ? ctx.getEntityFields(ctx.selectedEntity.ID).length : 0, ")");
637
+ i0.ɵɵadvance();
638
+ i0.ɵɵconditional(ctx.fieldsSectionExpanded ? 29 : -1);
639
+ i0.ɵɵadvance();
640
+ i0.ɵɵconditional(ctx.fieldsSectionExpanded ? 30 : -1);
641
+ i0.ɵɵadvance();
642
+ i0.ɵɵclassProp("section-expanded", ctx.relationshipsSectionExpanded)("section-collapsed", !ctx.relationshipsSectionExpanded);
643
+ i0.ɵɵadvance(3);
644
+ i0.ɵɵclassProp("expanded", ctx.relationshipsSectionExpanded);
645
+ i0.ɵɵadvance(3);
646
+ i0.ɵɵtextInterpolate1("Related Entities (", ctx.selectedEntity ? ctx.getRelatedEntities(ctx.selectedEntity.ID).length : 0, ")");
647
+ i0.ɵɵadvance();
648
+ i0.ɵɵconditional(ctx.relationshipsSectionExpanded ? 38 : -1);
649
+ } }, styles: [".details-panel[_ngcontent-%COMP%] {\n height: 100%;\n background: white;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n \n // Create proper scrolling structure\n .panel-header {\n flex-shrink: 0; // Header stays fixed\n }\n \n .entity-info {\n flex-shrink: 0; // Entity info stays fixed\n }\n \n .fields-section,\n .relationships-section {\n display: flex;\n flex-direction: column;\n min-height: 0; // Important for flex scrolling\n transition: flex 0.3s ease;\n \n &.section-expanded {\n flex: 1;\n }\n \n &.section-collapsed {\n flex: 0 0 auto;\n }\n \n &:last-child {\n border-bottom: none;\n }\n }\n}\n\n.panel-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 h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n }\n}\n\n.panel-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.open-btn[_ngcontent-%COMP%] {\n padding: 4px 8px;\n border: 1px solid #4caf50;\n border-radius: 4px;\n background: #4caf50;\n color: white;\n cursor: pointer;\n font-size: 10px;\n display: flex;\n align-items: center;\n gap: 4px;\n \n &:hover {\n background-color: #45a049;\n border-color: #45a049;\n }\n}\n\n.close-btn[_ngcontent-%COMP%] {\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.entity-info[_ngcontent-%COMP%] {\n padding: 16px;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.info-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n margin-bottom: 8px;\n font-size: 12px;\n \n &:last-child {\n margin-bottom: 0;\n }\n \n label {\n font-weight: 600;\n color: #666;\n min-width: 60px;\n }\n \n span {\n color: #333;\n flex: 1;\n text-align: right;\n }\n}\n\n.status-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n \n &.status-active {\n background-color: #e8f5e8;\n color: #2e7d32;\n }\n \n &.status-deprecated {\n background-color: #fff3e0;\n color: #f57c00;\n }\n \n &.status-disabled {\n background-color: #ffebee;\n color: #c62828;\n }\n}\n\n.extra-padding[_ngcontent-%COMP%] {\n padding: 4px;\n}\n.fields-section[_ngcontent-%COMP%], .relationships-section[_ngcontent-%COMP%] {\n border-bottom: 1px solid #d0d0d0;\n \n .section-header {\n flex-shrink: 0; // Header stays fixed\n padding: 16px 16px 12px 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #f8f9fa;\n border: none;\n border-bottom: 1px solid #e9ecef;\n \n .section-title-group {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n }\n \n h4 {\n margin: 0;\n font-size: 12px;\n font-weight: 600;\n color: #333;\n }\n}\n\n.expand-btn[_ngcontent-%COMP%] {\n padding: 4px;\n border: none;\n background: none;\n cursor: pointer;\n color: #666;\n border-radius: 3px;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: #f0f0f0;\n color: #333;\n }\n \n .fa-solid {\n font-size: 10px;\n transition: transform 0.2s ease;\n }\n \n &.expanded .fa-solid {\n transform: rotate(90deg);\n }\n}\n\n.section-title-group[_ngcontent-%COMP%] {\n cursor: pointer;\n user-select: none;\n \n &:hover {\n opacity: 0.8;\n }\n}\n\n.field-filters[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.filter-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: 10px;\n color: #666;\n transition: all 0.2s;\n \n &:hover {\n background-color: #f0f0f0;\n }\n \n &.active {\n background-color: #2196f3;\n border-color: #2196f3;\n color: white;\n }\n}\n\n.fields-list[_ngcontent-%COMP%], .related-entities-list[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 8px;\n overflow-y: auto;\n padding: 6px 16px 16px 16px;\n min-height: 0;\n \n // Enhanced scrollbar for better UX\n &::-webkit-scrollbar {\n width: 6px;\n }\n \n &::-webkit-scrollbar-track {\n background: #f1f1f1;\n border-radius: 3px;\n }\n \n &::-webkit-scrollbar-thumb {\n background: #c1c1c1;\n border-radius: 3px;\n \n &:hover {\n background: #a1a1a1;\n }\n }\n}\n\n.field-item[_ngcontent-%COMP%] {\n padding: 8px;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n font-size: 11px;\n cursor: pointer;\n user-select: none;\n transition: all 0.2s ease;\n \n &:hover {\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n }\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n transform: scale(1.02);\n }\n \n &.primary-key-field {\n border-color: #ff9800;\n background-color: #fff8e1;\n border-left: 4px solid #ff9800;\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(255, 152, 0, 0.2);\n }\n }\n \n &.foreign-key-field {\n border-color: #2196f3;\n background-color: #f3f9ff;\n border-left: 4px solid #2196f3;\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.2);\n }\n }\n \n &.regular-field {\n border-color: #e0e0e0;\n background-color: #fafafa;\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(0,0,0,0.1);\n }\n }\n}\n\n.field-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 4px;\n}\n\n.field-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.field-name[_ngcontent-%COMP%] {\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.field-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n \n &.fa-key {\n color: #ff9800;\n }\n \n &.fa-link {\n color: #2196f3;\n }\n}\n\n.field-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.field-badge[_ngcontent-%COMP%] {\n padding: 1px 4px;\n border-radius: 2px;\n font-size: 8px;\n font-weight: 700;\n text-transform: uppercase;\n \n &.primary-key {\n background-color: #ff9800;\n color: white;\n }\n \n &.foreign-key {\n background-color: #2196f3;\n color: white;\n }\n}\n\n.field-type[_ngcontent-%COMP%] {\n color: #666;\n font-size: 10px;\n}\n\n.field-relation[_ngcontent-%COMP%] {\n color: #2196f3;\n font-size: 10px;\n margin-top: 4px;\n \n .fa-solid {\n margin-right: 4px;\n }\n}\n\n.field-info-btn[_ngcontent-%COMP%], \n.field-values-btn[_ngcontent-%COMP%] {\n padding: 2px 4px;\n border: none;\n background: none;\n cursor: pointer;\n color: #999;\n border-radius: 3px;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: #e3f2fd;\n color: #2196f3;\n }\n \n &.expanded {\n color: #2196f3;\n background-color: #e3f2fd;\n }\n \n .fa-solid {\n font-size: 10px;\n }\n}\n\n\n.field-description[_ngcontent-%COMP%] {\n margin-top: 8px;\n padding: 8px;\n background-color: #f8f9fa;\n border-left: 3px solid #2196f3;\n border-radius: 0 4px 4px 0;\n animation: _ngcontent-%COMP%_fadeIn 0.3s ease-in-out;\n \n .description-text {\n font-size: 10px;\n color: #555;\n line-height: 1.4;\n font-style: italic;\n }\n}\n\n.field-details[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from {\n opacity: 0;\n transform: translateY(-5px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.field-values[_ngcontent-%COMP%] {\n margin-top: 8px;\n padding: 8px;\n background-color: #f8f4ff;\n border-left: 3px solid #9c27b0;\n border-radius: 0 4px 4px 0;\n animation: _ngcontent-%COMP%_fadeIn 0.3s ease-in-out;\n \n .values-header {\n font-size: 10px;\n color: #9c27b0;\n font-weight: 600;\n margin-bottom: 6px;\n }\n \n .values-list {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n }\n \n .value-tag {\n display: inline-block;\n padding: 2px 6px;\n background-color: #e1bee7;\n color: #4a148c;\n font-size: 9px;\n border-radius: 10px;\n font-weight: 500;\n white-space: nowrap;\n max-width: 80px;\n overflow: hidden;\n text-overflow: ellipsis;\n \n &:hover {\n background-color: #ce93d8;\n color: #2e003e;\n cursor: default;\n }\n }\n}\n\n.field-comprehensive-details[_ngcontent-%COMP%] {\n margin-top: 12px;\n padding: 12px;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n border: 1px solid #dee2e6;\n border-radius: 6px;\n animation: _ngcontent-%COMP%_slideDown 0.3s ease-out;\n \n .details-header {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 600;\n color: #495057;\n margin-bottom: 10px;\n padding-bottom: 6px;\n border-bottom: 1px solid #dee2e6;\n \n .fa-solid {\n color: #6c757d;\n }\n }\n \n .details-grid {\n display: grid;\n gap: 6px;\n }\n \n .detail-row {\n display: grid;\n grid-template-columns: 100px 1fr;\n gap: 8px;\n font-size: 10px;\n align-items: center;\n }\n \n .detail-label {\n font-weight: 600;\n color: #6c757d;\n text-align: right;\n }\n \n .detail-value {\n color: #495057;\n font-family: 'Courier New', monospace;\n background-color: #fff;\n padding: 2px 6px;\n border-radius: 3px;\n border: 1px solid #dee2e6;\n \n &.nullable-yes,\n &.nullable-no {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6;\n }\n \n &.virtual-yes {\n color: #6f42c1;\n background-color: #e2d9f3;\n border-color: #d1c4e9;\n }\n \n &.virtual-no {\n color: #6c757d;\n }\n \n &.default-value {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeaa7;\n }\n \n &.related-entity {\n color: #0066cc;\n background-color: #cce5ff;\n border-color: #99d6ff;\n cursor: pointer;\n user-select: none;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 4px;\n \n &:hover {\n text-decoration: underline;\n background-color: #b3d9ff;\n border-color: #66c2ff;\n transform: translateX(2px);\n }\n \n .fa-external-link-alt {\n font-size: 8px;\n opacity: 0.7;\n transition: opacity 0.2s ease;\n }\n \n &:hover .fa-external-link-alt {\n opacity: 1;\n }\n }\n \n &.auto-increment {\n color: #20c997;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n }\n }\n \n .comprehensive-description-top {\n margin-bottom: 12px;\n padding-bottom: 10px;\n border-bottom: 1px solid #dee2e6;\n \n .description-content {\n font-size: 11px;\n color: #495057;\n line-height: 1.4;\n font-style: italic;\n background: linear-gradient(135deg, #e3f2fd 0%, #f8f9fa 100%);\n padding: 10px;\n border-radius: 6px;\n border: 1px solid #bee5eb;\n border-left: 4px solid #17a2b8;\n }\n }\n \n .field-values-comprehensive {\n margin-bottom: 12px;\n padding: 12px;\n background: linear-gradient(135deg, #f3e5f5 0%, #fce4ec 100%);\n border: 1px solid #e1bee7;\n border-radius: 6px;\n border-left: 4px solid #9c27b0;\n \n .values-header {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 600;\n color: #6a1b9a;\n margin-bottom: 10px;\n padding-bottom: 6px;\n border-bottom: 1px solid #e1bee7;\n \n .fa-solid {\n color: #9c27b0;\n }\n }\n \n .values-grid {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 200px;\n overflow-y: auto;\n \n &::-webkit-scrollbar {\n width: 4px;\n }\n \n &::-webkit-scrollbar-track {\n background: #f3e5f5;\n border-radius: 2px;\n }\n \n &::-webkit-scrollbar-thumb {\n background: #ce93d8;\n border-radius: 2px;\n \n &:hover {\n background: #ba68c8;\n }\n }\n }\n \n .value-item {\n padding: 8px;\n background: white;\n border: 1px solid #e1bee7;\n border-radius: 4px;\n \n .value-main {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 2px;\n \n .value-text {\n font-size: 10px;\n font-weight: 600;\n color: #4a148c;\n }\n \n .value-code {\n font-size: 9px;\n color: #7b1fa2;\n background: #f3e5f5;\n padding: 1px 4px;\n border-radius: 3px;\n border: 1px solid #e1bee7;\n font-family: 'Courier New', monospace;\n }\n }\n \n .value-description {\n font-size: 9px;\n color: #666;\n line-height: 1.3;\n font-style: italic;\n margin-top: 2px;\n }\n }\n }\n}\n\n@keyframes _ngcontent-%COMP%_slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n max-height: 0;\n }\n to {\n opacity: 1;\n transform: translateY(0);\n max-height: 500px;\n }\n}\n\n.related-entity-item[_ngcontent-%COMP%] {\n padding: 10px 12px;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n cursor: pointer;\n font-size: 12px;\n color: #333;\n display: flex;\n align-items: center;\n justify-content: space-between;\n transition: all 0.3s ease;\n position: relative;\n max-width: calc(100% - 4px);\n min-width: 0;\n flex-shrink: 1;\n \n &:hover {\n background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);\n border-color: #2196f3;\n transform: translateX(4px);\n box-shadow: 0 2px 8px rgba(33, 150, 243, 0.2);\n \n .zoom-indicator {\n opacity: 1;\n transform: scale(1.1);\n }\n \n .fa-database {\n color: #2196f3;\n transform: scale(1.1);\n }\n \n &::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 3px;\n background: linear-gradient(to bottom, #2196f3, #9c27b0);\n border-radius: 0 3px 3px 0;\n }\n }\n \n .fa-solid {\n margin-right: 10px;\n color: #666;\n transition: all 0.2s ease;\n flex-shrink: 0;\n }\n \n .fa-database {\n font-size: 14px;\n }\n \n .entity-name {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n }\n \n .zoom-indicator {\n opacity: 0.4;\n color: #2196f3;\n font-size: 11px;\n transition: all 0.2s ease;\n flex-shrink: 0;\n }\n}"] });
567
650
  }
568
- EntityDetailsComponent.ɵfac = function EntityDetailsComponent_Factory(t) { return new (t || EntityDetailsComponent)(); };
569
- EntityDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityDetailsComponent, selectors: [["mj-entity-details"]], viewQuery: function EntityDetailsComponent_Query(rf, ctx) { if (rf & 1) {
570
- i0.ɵɵviewQuery(_c0, 5);
571
- i0.ɵɵviewQuery(_c1, 5);
572
- } if (rf & 2) {
573
- let _t;
574
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fieldsListContainer = _t.first);
575
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.relationshipsListContainer = _t.first);
576
- } }, inputs: { selectedEntity: "selectedEntity", allEntityFields: "allEntityFields", fieldsSectionExpanded: "fieldsSectionExpanded", relationshipsSectionExpanded: "relationshipsSectionExpanded" }, outputs: { openEntity: "openEntity", closePanel: "closePanel", fieldsSectionToggle: "fieldsSectionToggle", relationshipsSectionToggle: "relationshipsSectionToggle", entitySelected: "entitySelected", openRecord: "openRecord" }, features: [i0.ɵɵNgOnChangesFeature], decls: 39, vars: 21, consts: [["fieldsListContainer", ""], ["relationshipsListContainer", ""], [1, "details-panel"], [1, "panel-header"], [1, "panel-actions"], ["title", "Open Entity Record", 1, "open-btn", 3, "click"], [1, "fa-solid", "fa-external-link-alt"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "entity-info"], [1, "info-row"], [1, "fields-section"], [1, "section-header", "extra-padding"], [1, "section-title-group", 3, "click"], ["title", "Toggle fields section", 1, "expand-btn"], [1, "fa-solid", "fa-chevron-right"], [1, "field-filters"], [1, "fields-list"], [1, "relationships-section"], ["title", "Toggle relationships section", 1, "expand-btn"], [1, "related-entities-list"], ["title", "Show all fields", 1, "filter-btn", 3, "click"], ["title", "Show primary keys and ID fields", 1, "filter-btn", 3, "click"], ["title", "Show foreign key fields only", 1, "filter-btn", 3, "click"], ["title", "Show regular data fields", 1, "filter-btn", 3, "click"], [1, "field-item", 3, "class", "title"], [1, "field-item", 3, "click", "title"], [1, "field-header"], [1, "field-name"], ["title", "Primary Key", 1, "field-icon", "fa-solid", "fa-key"], ["title", "Foreign Key", 1, "field-icon", "fa-solid", "fa-link"], [1, "field-actions"], ["title", "Toggle possible values", 1, "field-values-btn", 3, "expanded"], ["title", "Toggle field description", 1, "field-info-btn", 3, "expanded"], [1, "field-badges"], [1, "field-badge", "primary-key"], [1, "field-badge", "foreign-key"], [1, "field-details"], [1, "field-type"], [1, "field-relation"], [1, "field-description"], [1, "field-values"], [1, "field-comprehensive-details"], ["title", "Toggle possible values", 1, "field-values-btn", 3, "click"], [1, "fa-solid", "fa-list"], ["title", "Toggle field description", 1, "field-info-btn", 3, "click"], [1, "fa-solid", "fa-info-circle"], [1, "fa-solid", "fa-arrow-right"], [1, "description-text"], [1, "values-header"], [1, "values-list"], [1, "value-tag"], [1, "comprehensive-description-top"], [1, "field-values-comprehensive"], [1, "details-grid"], [1, "detail-row"], [1, "detail-label"], [1, "detail-value"], [1, "description-content"], [1, "values-grid"], [1, "value-item"], [1, "value-main"], [1, "value-text"], [1, "value-code"], [1, "value-description"], [1, "detail-value", "default-value"], [1, "detail-value", "related-entity", 3, "click", "title"], [1, "detail-value", "auto-increment"], [1, "related-entity-item"], [1, "related-entity-item", 3, "click"], [1, "fa-solid", "fa-database"], [1, "entity-name"], ["title", "Click to zoom to entity", 1, "zoom-indicator", "fa-solid", "fa-search-plus"]], template: function EntityDetailsComponent_Template(rf, ctx) { if (rf & 1) {
577
- i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "h3");
578
- i0.ɵɵtext(3);
579
- i0.ɵɵelementEnd();
580
- i0.ɵɵelementStart(4, "div", 4)(5, "button", 5);
581
- i0.ɵɵlistener("click", function EntityDetailsComponent_Template_button_click_5_listener() { return ctx.onOpenEntity(); });
582
- i0.ɵɵelement(6, "span", 6);
583
- i0.ɵɵtext(7, " Open ");
584
- i0.ɵɵelementEnd();
585
- i0.ɵɵelementStart(8, "button", 7);
586
- i0.ɵɵlistener("click", function EntityDetailsComponent_Template_button_click_8_listener() { return ctx.onClosePanel(); });
587
- i0.ɵɵelement(9, "span", 8);
588
- i0.ɵɵelementEnd()()();
589
- i0.ɵɵelementStart(10, "div", 9)(11, "div", 10)(12, "label");
590
- i0.ɵɵtext(13, "Schema:");
591
- i0.ɵɵelementEnd();
592
- i0.ɵɵelementStart(14, "span");
593
- i0.ɵɵtext(15);
594
- i0.ɵɵelementEnd()();
595
- i0.ɵɵelementStart(16, "div", 10)(17, "label");
596
- i0.ɵɵtext(18, "Table:");
597
- i0.ɵɵelementEnd();
598
- i0.ɵɵelementStart(19, "span");
599
- i0.ɵɵtext(20);
600
- i0.ɵɵelementEnd()();
601
- i0.ɵɵtemplate(21, EntityDetailsComponent_Conditional_21_Template, 5, 1, "div", 10);
602
- i0.ɵɵelementEnd();
603
- i0.ɵɵelementStart(22, "div", 11)(23, "div", 12)(24, "div", 13);
604
- i0.ɵɵlistener("click", function EntityDetailsComponent_Template_div_click_24_listener() { return ctx.toggleFieldsSection(); });
605
- i0.ɵɵelementStart(25, "button", 14);
606
- i0.ɵɵelement(26, "span", 15);
607
- i0.ɵɵelementEnd();
608
- i0.ɵɵelementStart(27, "h4");
609
- i0.ɵɵtext(28);
610
- i0.ɵɵelementEnd()();
611
- i0.ɵɵtemplate(29, EntityDetailsComponent_Conditional_29_Template, 9, 8, "div", 16);
612
- i0.ɵɵelementEnd();
613
- i0.ɵɵtemplate(30, EntityDetailsComponent_Conditional_30_Template, 4, 0, "div", 17);
614
- i0.ɵɵelementEnd();
615
- i0.ɵɵelementStart(31, "div", 18)(32, "div", 12)(33, "div", 13);
616
- i0.ɵɵlistener("click", function EntityDetailsComponent_Template_div_click_33_listener() { return ctx.toggleRelationshipsSection(); });
617
- i0.ɵɵelementStart(34, "button", 19);
618
- i0.ɵɵelement(35, "span", 15);
619
- i0.ɵɵelementEnd();
620
- i0.ɵɵelementStart(36, "h4");
621
- i0.ɵɵtext(37);
622
- i0.ɵɵelementEnd()()();
623
- i0.ɵɵtemplate(38, EntityDetailsComponent_Conditional_38_Template, 4, 0, "div", 20);
624
- i0.ɵɵelementEnd()();
625
- } if (rf & 2) {
626
- i0.ɵɵadvance(3);
627
- i0.ɵɵtextInterpolate((ctx.selectedEntity == null ? null : ctx.selectedEntity.Name) || (ctx.selectedEntity == null ? null : ctx.selectedEntity.SchemaName));
628
- i0.ɵɵadvance(12);
629
- i0.ɵɵtextInterpolate(ctx.selectedEntity == null ? null : ctx.selectedEntity.SchemaName);
630
- i0.ɵɵadvance(5);
631
- i0.ɵɵtextInterpolate(ctx.selectedEntity == null ? null : ctx.selectedEntity.BaseTable);
632
- i0.ɵɵadvance();
633
- i0.ɵɵconditional((ctx.selectedEntity == null ? null : ctx.selectedEntity.Description) ? 21 : -1);
634
- i0.ɵɵadvance();
635
- i0.ɵɵclassProp("section-expanded", ctx.fieldsSectionExpanded)("section-collapsed", !ctx.fieldsSectionExpanded);
636
- i0.ɵɵadvance(3);
637
- i0.ɵɵclassProp("expanded", ctx.fieldsSectionExpanded);
638
- i0.ɵɵadvance(3);
639
- i0.ɵɵtextInterpolate1("Fields (", ctx.selectedEntity ? ctx.getEntityFields(ctx.selectedEntity.ID).length : 0, ")");
640
- i0.ɵɵadvance();
641
- i0.ɵɵconditional(ctx.fieldsSectionExpanded ? 29 : -1);
642
- i0.ɵɵadvance();
643
- i0.ɵɵconditional(ctx.fieldsSectionExpanded ? 30 : -1);
644
- i0.ɵɵadvance();
645
- i0.ɵɵclassProp("section-expanded", ctx.relationshipsSectionExpanded)("section-collapsed", !ctx.relationshipsSectionExpanded);
646
- i0.ɵɵadvance(3);
647
- i0.ɵɵclassProp("expanded", ctx.relationshipsSectionExpanded);
648
- i0.ɵɵadvance(3);
649
- i0.ɵɵtextInterpolate1("Related Entities (", ctx.selectedEntity ? ctx.getRelatedEntities(ctx.selectedEntity.ID).length : 0, ")");
650
- i0.ɵɵadvance();
651
- i0.ɵɵconditional(ctx.relationshipsSectionExpanded ? 38 : -1);
652
- } }, styles: [".details-panel[_ngcontent-%COMP%] {\n height: 100%;\n background: white;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n \n // Create proper scrolling structure\n .panel-header {\n flex-shrink: 0; // Header stays fixed\n }\n \n .entity-info {\n flex-shrink: 0; // Entity info stays fixed\n }\n \n .fields-section,\n .relationships-section {\n display: flex;\n flex-direction: column;\n min-height: 0; // Important for flex scrolling\n transition: flex 0.3s ease;\n \n &.section-expanded {\n flex: 1;\n }\n \n &.section-collapsed {\n flex: 0 0 auto;\n }\n \n &:last-child {\n border-bottom: none;\n }\n }\n}\n\n.panel-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 h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n }\n}\n\n.panel-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.open-btn[_ngcontent-%COMP%] {\n padding: 4px 8px;\n border: 1px solid #4caf50;\n border-radius: 4px;\n background: #4caf50;\n color: white;\n cursor: pointer;\n font-size: 10px;\n display: flex;\n align-items: center;\n gap: 4px;\n \n &:hover {\n background-color: #45a049;\n border-color: #45a049;\n }\n}\n\n.close-btn[_ngcontent-%COMP%] {\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.entity-info[_ngcontent-%COMP%] {\n padding: 16px;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.info-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n margin-bottom: 8px;\n font-size: 12px;\n \n &:last-child {\n margin-bottom: 0;\n }\n \n label {\n font-weight: 600;\n color: #666;\n min-width: 60px;\n }\n \n span {\n color: #333;\n flex: 1;\n text-align: right;\n }\n}\n\n.status-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n \n &.status-active {\n background-color: #e8f5e8;\n color: #2e7d32;\n }\n \n &.status-deprecated {\n background-color: #fff3e0;\n color: #f57c00;\n }\n \n &.status-disabled {\n background-color: #ffebee;\n color: #c62828;\n }\n}\n\n.extra-padding[_ngcontent-%COMP%] {\n padding: 4px;\n}\n.fields-section[_ngcontent-%COMP%], .relationships-section[_ngcontent-%COMP%] {\n border-bottom: 1px solid #d0d0d0;\n \n .section-header {\n flex-shrink: 0; // Header stays fixed\n padding: 16px 16px 12px 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #f8f9fa;\n border: none;\n border-bottom: 1px solid #e9ecef;\n \n .section-title-group {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n }\n \n h4 {\n margin: 0;\n font-size: 12px;\n font-weight: 600;\n color: #333;\n }\n}\n\n.expand-btn[_ngcontent-%COMP%] {\n padding: 4px;\n border: none;\n background: none;\n cursor: pointer;\n color: #666;\n border-radius: 3px;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: #f0f0f0;\n color: #333;\n }\n \n .fa-solid {\n font-size: 10px;\n transition: transform 0.2s ease;\n }\n \n &.expanded .fa-solid {\n transform: rotate(90deg);\n }\n}\n\n.section-title-group[_ngcontent-%COMP%] {\n cursor: pointer;\n user-select: none;\n \n &:hover {\n opacity: 0.8;\n }\n}\n\n.field-filters[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.filter-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: 10px;\n color: #666;\n transition: all 0.2s;\n \n &:hover {\n background-color: #f0f0f0;\n }\n \n &.active {\n background-color: #2196f3;\n border-color: #2196f3;\n color: white;\n }\n}\n\n.fields-list[_ngcontent-%COMP%], .related-entities-list[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 8px;\n overflow-y: auto;\n padding: 6px 16px 16px 16px;\n min-height: 0;\n \n // Enhanced scrollbar for better UX\n &::-webkit-scrollbar {\n width: 6px;\n }\n \n &::-webkit-scrollbar-track {\n background: #f1f1f1;\n border-radius: 3px;\n }\n \n &::-webkit-scrollbar-thumb {\n background: #c1c1c1;\n border-radius: 3px;\n \n &:hover {\n background: #a1a1a1;\n }\n }\n}\n\n.field-item[_ngcontent-%COMP%] {\n padding: 8px;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n font-size: 11px;\n cursor: pointer;\n user-select: none;\n transition: all 0.2s ease;\n \n &:hover {\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n }\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n transform: scale(1.02);\n }\n \n &.primary-key-field {\n border-color: #ff9800;\n background-color: #fff8e1;\n border-left: 4px solid #ff9800;\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(255, 152, 0, 0.2);\n }\n }\n \n &.foreign-key-field {\n border-color: #2196f3;\n background-color: #f3f9ff;\n border-left: 4px solid #2196f3;\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.2);\n }\n }\n \n &.regular-field {\n border-color: #e0e0e0;\n background-color: #fafafa;\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(0,0,0,0.1);\n }\n }\n}\n\n.field-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 4px;\n}\n\n.field-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.field-name[_ngcontent-%COMP%] {\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.field-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n \n &.fa-key {\n color: #ff9800;\n }\n \n &.fa-link {\n color: #2196f3;\n }\n}\n\n.field-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.field-badge[_ngcontent-%COMP%] {\n padding: 1px 4px;\n border-radius: 2px;\n font-size: 8px;\n font-weight: 700;\n text-transform: uppercase;\n \n &.primary-key {\n background-color: #ff9800;\n color: white;\n }\n \n &.foreign-key {\n background-color: #2196f3;\n color: white;\n }\n}\n\n.field-type[_ngcontent-%COMP%] {\n color: #666;\n font-size: 10px;\n}\n\n.field-relation[_ngcontent-%COMP%] {\n color: #2196f3;\n font-size: 10px;\n margin-top: 4px;\n \n .fa-solid {\n margin-right: 4px;\n }\n}\n\n.field-info-btn[_ngcontent-%COMP%], \n.field-values-btn[_ngcontent-%COMP%] {\n padding: 2px 4px;\n border: none;\n background: none;\n cursor: pointer;\n color: #999;\n border-radius: 3px;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: #e3f2fd;\n color: #2196f3;\n }\n \n &.expanded {\n color: #2196f3;\n background-color: #e3f2fd;\n }\n \n .fa-solid {\n font-size: 10px;\n }\n}\n\n\n.field-description[_ngcontent-%COMP%] {\n margin-top: 8px;\n padding: 8px;\n background-color: #f8f9fa;\n border-left: 3px solid #2196f3;\n border-radius: 0 4px 4px 0;\n animation: _ngcontent-%COMP%_fadeIn 0.3s ease-in-out;\n \n .description-text {\n font-size: 10px;\n color: #555;\n line-height: 1.4;\n font-style: italic;\n }\n}\n\n.field-details[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from {\n opacity: 0;\n transform: translateY(-5px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.field-values[_ngcontent-%COMP%] {\n margin-top: 8px;\n padding: 8px;\n background-color: #f8f4ff;\n border-left: 3px solid #9c27b0;\n border-radius: 0 4px 4px 0;\n animation: _ngcontent-%COMP%_fadeIn 0.3s ease-in-out;\n \n .values-header {\n font-size: 10px;\n color: #9c27b0;\n font-weight: 600;\n margin-bottom: 6px;\n }\n \n .values-list {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n }\n \n .value-tag {\n display: inline-block;\n padding: 2px 6px;\n background-color: #e1bee7;\n color: #4a148c;\n font-size: 9px;\n border-radius: 10px;\n font-weight: 500;\n white-space: nowrap;\n max-width: 80px;\n overflow: hidden;\n text-overflow: ellipsis;\n \n &:hover {\n background-color: #ce93d8;\n color: #2e003e;\n cursor: default;\n }\n }\n}\n\n.field-comprehensive-details[_ngcontent-%COMP%] {\n margin-top: 12px;\n padding: 12px;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n border: 1px solid #dee2e6;\n border-radius: 6px;\n animation: _ngcontent-%COMP%_slideDown 0.3s ease-out;\n \n .details-header {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 600;\n color: #495057;\n margin-bottom: 10px;\n padding-bottom: 6px;\n border-bottom: 1px solid #dee2e6;\n \n .fa-solid {\n color: #6c757d;\n }\n }\n \n .details-grid {\n display: grid;\n gap: 6px;\n }\n \n .detail-row {\n display: grid;\n grid-template-columns: 100px 1fr;\n gap: 8px;\n font-size: 10px;\n align-items: center;\n }\n \n .detail-label {\n font-weight: 600;\n color: #6c757d;\n text-align: right;\n }\n \n .detail-value {\n color: #495057;\n font-family: 'Courier New', monospace;\n background-color: #fff;\n padding: 2px 6px;\n border-radius: 3px;\n border: 1px solid #dee2e6;\n \n &.nullable-yes,\n &.nullable-no {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6;\n }\n \n &.virtual-yes {\n color: #6f42c1;\n background-color: #e2d9f3;\n border-color: #d1c4e9;\n }\n \n &.virtual-no {\n color: #6c757d;\n }\n \n &.default-value {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeaa7;\n }\n \n &.related-entity {\n color: #0066cc;\n background-color: #cce5ff;\n border-color: #99d6ff;\n cursor: pointer;\n user-select: none;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 4px;\n \n &:hover {\n text-decoration: underline;\n background-color: #b3d9ff;\n border-color: #66c2ff;\n transform: translateX(2px);\n }\n \n .fa-external-link-alt {\n font-size: 8px;\n opacity: 0.7;\n transition: opacity 0.2s ease;\n }\n \n &:hover .fa-external-link-alt {\n opacity: 1;\n }\n }\n \n &.auto-increment {\n color: #20c997;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n }\n }\n \n .comprehensive-description-top {\n margin-bottom: 12px;\n padding-bottom: 10px;\n border-bottom: 1px solid #dee2e6;\n \n .description-content {\n font-size: 11px;\n color: #495057;\n line-height: 1.4;\n font-style: italic;\n background: linear-gradient(135deg, #e3f2fd 0%, #f8f9fa 100%);\n padding: 10px;\n border-radius: 6px;\n border: 1px solid #bee5eb;\n border-left: 4px solid #17a2b8;\n }\n }\n \n .field-values-comprehensive {\n margin-bottom: 12px;\n padding: 12px;\n background: linear-gradient(135deg, #f3e5f5 0%, #fce4ec 100%);\n border: 1px solid #e1bee7;\n border-radius: 6px;\n border-left: 4px solid #9c27b0;\n \n .values-header {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 600;\n color: #6a1b9a;\n margin-bottom: 10px;\n padding-bottom: 6px;\n border-bottom: 1px solid #e1bee7;\n \n .fa-solid {\n color: #9c27b0;\n }\n }\n \n .values-grid {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 200px;\n overflow-y: auto;\n \n &::-webkit-scrollbar {\n width: 4px;\n }\n \n &::-webkit-scrollbar-track {\n background: #f3e5f5;\n border-radius: 2px;\n }\n \n &::-webkit-scrollbar-thumb {\n background: #ce93d8;\n border-radius: 2px;\n \n &:hover {\n background: #ba68c8;\n }\n }\n }\n \n .value-item {\n padding: 8px;\n background: white;\n border: 1px solid #e1bee7;\n border-radius: 4px;\n \n .value-main {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 2px;\n \n .value-text {\n font-size: 10px;\n font-weight: 600;\n color: #4a148c;\n }\n \n .value-code {\n font-size: 9px;\n color: #7b1fa2;\n background: #f3e5f5;\n padding: 1px 4px;\n border-radius: 3px;\n border: 1px solid #e1bee7;\n font-family: 'Courier New', monospace;\n }\n }\n \n .value-description {\n font-size: 9px;\n color: #666;\n line-height: 1.3;\n font-style: italic;\n margin-top: 2px;\n }\n }\n }\n}\n\n@keyframes _ngcontent-%COMP%_slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n max-height: 0;\n }\n to {\n opacity: 1;\n transform: translateY(0);\n max-height: 500px;\n }\n}\n\n.related-entity-item[_ngcontent-%COMP%] {\n padding: 10px 12px;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n cursor: pointer;\n font-size: 12px;\n color: #333;\n display: flex;\n align-items: center;\n justify-content: space-between;\n transition: all 0.3s ease;\n position: relative;\n max-width: calc(100% - 4px);\n min-width: 0;\n flex-shrink: 1;\n \n &:hover {\n background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);\n border-color: #2196f3;\n transform: translateX(4px);\n box-shadow: 0 2px 8px rgba(33, 150, 243, 0.2);\n \n .zoom-indicator {\n opacity: 1;\n transform: scale(1.1);\n }\n \n .fa-database {\n color: #2196f3;\n transform: scale(1.1);\n }\n \n &::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 3px;\n background: linear-gradient(to bottom, #2196f3, #9c27b0);\n border-radius: 0 3px 3px 0;\n }\n }\n \n .fa-solid {\n margin-right: 10px;\n color: #666;\n transition: all 0.2s ease;\n flex-shrink: 0;\n }\n \n .fa-database {\n font-size: 14px;\n }\n \n .entity-name {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n }\n \n .zoom-indicator {\n opacity: 0.4;\n color: #2196f3;\n font-size: 11px;\n transition: all 0.2s ease;\n flex-shrink: 0;\n }\n}"] });
653
651
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityDetailsComponent, [{
654
652
  type: Component,
655
653
  args: [{ selector: 'mj-entity-details', template: "<div class=\"details-panel\">\n <div class=\"panel-header\">\n <h3>{{ selectedEntity?.Name || selectedEntity?.SchemaName }}</h3>\n <div class=\"panel-actions\">\n <button class=\"open-btn\" (click)=\"onOpenEntity()\" title=\"Open Entity Record\">\n <span class=\"fa-solid fa-external-link-alt\"></span>\n Open\n </button>\n <button class=\"close-btn\" (click)=\"onClosePanel()\">\n <span class=\"fa-solid fa-times\"></span>\n </button>\n </div>\n </div>\n \n <div class=\"entity-info\">\n <div class=\"info-row\">\n <label>Schema:</label>\n <span>{{ selectedEntity?.SchemaName }}</span>\n </div>\n <div class=\"info-row\">\n <label>Table:</label>\n <span>{{ selectedEntity?.BaseTable }}</span>\n </div>\n @if (selectedEntity?.Description) {\n <div class=\"info-row\">\n <label>Description:</label>\n <span>{{ selectedEntity?.Description }}</span>\n </div>\n }\n </div>\n \n <div class=\"fields-section\" [class.section-expanded]=\"fieldsSectionExpanded\" [class.section-collapsed]=\"!fieldsSectionExpanded\">\n <div class=\"section-header extra-padding\">\n <div class=\"section-title-group\" (click)=\"toggleFieldsSection()\">\n <button \n class=\"expand-btn\" \n [class.expanded]=\"fieldsSectionExpanded\"\n title=\"Toggle fields section\">\n <span class=\"fa-solid fa-chevron-right\"></span>\n </button>\n <h4>Fields ({{ selectedEntity ? getEntityFields(selectedEntity.ID).length : 0 }})</h4>\n </div>\n @if (fieldsSectionExpanded) {\n <div class=\"field-filters\">\n <button \n class=\"filter-btn\" \n [class.active]=\"fieldFilter === 'all'\"\n (click)=\"setFieldFilter('all')\"\n title=\"Show all fields\">\n All\n </button>\n <button \n class=\"filter-btn\" \n [class.active]=\"fieldFilter === 'keys'\"\n (click)=\"setFieldFilter('keys')\"\n title=\"Show primary keys and ID fields\">\n Keys\n </button>\n <button \n class=\"filter-btn\" \n [class.active]=\"fieldFilter === 'foreign_keys'\"\n (click)=\"setFieldFilter('foreign_keys')\"\n title=\"Show foreign key fields only\">\n FKs\n </button>\n <button \n class=\"filter-btn\" \n [class.active]=\"fieldFilter === 'regular'\"\n (click)=\"setFieldFilter('regular')\"\n title=\"Show regular data fields\">\n Regular\n </button>\n </div>\n }\n </div>\n @if (fieldsSectionExpanded) {\n <div class=\"fields-list\" #fieldsListContainer>\n @for (field of getEntityFields(selectedEntity?.ID || ''); track field.ID) {\n <div class=\"field-item\" \n [class]=\"{ \n 'primary-key-field': field.IsPrimaryKey,\n 'foreign-key-field': field.RelatedEntityID && !field.IsPrimaryKey,\n 'regular-field': !field.IsPrimaryKey && !field.RelatedEntityID,\n 'field-expanded': isFieldDetailsExpanded(field.ID)\n }\"\n (click)=\"onFieldClick(field)\"\n [title]=\"'Click to see more details about ' + field.Name\">\n <div class=\"field-header\">\n <div class=\"field-name\">\n @if (field.IsPrimaryKey) {\n <span class=\"field-icon fa-solid fa-key\" title=\"Primary Key\"></span>\n } @else if (field.RelatedEntityID) {\n <span class=\"field-icon fa-solid fa-link\" title=\"Foreign Key\"></span>\n }\n {{ field.Name }}\n </div>\n <div class=\"field-actions\">\n @if (hasFieldPossibleValues(field)) {\n <button \n class=\"field-values-btn\"\n (click)=\"toggleFieldValues(field.ID)\"\n [class.expanded]=\"isFieldValuesExpanded(field.ID)\"\n title=\"Toggle possible values\">\n <span class=\"fa-solid fa-list\"></span>\n </button>\n }\n @if (field.Description) {\n <button \n class=\"field-info-btn\"\n (click)=\"toggleFieldDescription(field.ID)\"\n [class.expanded]=\"isFieldDescriptionExpanded(field.ID)\"\n title=\"Toggle field description\">\n <span class=\"fa-solid fa-info-circle\"></span>\n </button>\n }\n <div class=\"field-badges\">\n @if (field.IsPrimaryKey) {\n <span class=\"field-badge primary-key\">PK</span>\n }\n @if (field.RelatedEntityID && !field.IsPrimaryKey) {\n <span class=\"field-badge foreign-key\">FK</span>\n }\n </div>\n </div>\n </div>\n <div class=\"field-details\">\n <div class=\"field-type\">{{ field.Type }}</div>\n @if (field.RelatedEntityID) {\n <div class=\"field-relation\">\n <span class=\"fa-solid fa-arrow-right\"></span>\n Related Entity\n </div>\n }\n </div>\n @if (field.Description && isFieldDescriptionExpanded(field.ID)) {\n <div class=\"field-description\">\n <div class=\"description-text\">{{ field.Description }}</div>\n </div>\n }\n @if (hasFieldPossibleValues(field) && isFieldValuesExpanded(field.ID)) {\n <div class=\"field-values\">\n <div class=\"values-header\">Possible Values:</div>\n <div class=\"values-list\">\n @for (value of getFieldPossibleValues(field); track value; let i = $index) {\n <span class=\"value-tag\">{{ value }}</span>\n }\n </div>\n </div>\n }\n @if (isFieldDetailsExpanded(field.ID)) {\n <div class=\"field-comprehensive-details\">\n @if (field.Description) {\n <div class=\"comprehensive-description-top\">\n <div class=\"description-content\">{{ field.Description }}</div>\n </div>\n }\n @if (field.EntityFieldValues && field.EntityFieldValues.length > 0) {\n <div class=\"field-values-comprehensive\">\n <div class=\"values-header\">\n <span class=\"fa-solid fa-list\"></span>\n Possible Values ({{ field.EntityFieldValues.length }})\n </div>\n <div class=\"values-grid\">\n @for (fieldValue of getSortedEntityFieldValues(field); track fieldValue.ID) {\n <div class=\"value-item\">\n <div class=\"value-main\">\n <span class=\"value-text\">{{ fieldValue.Value }}</span>\n @if (fieldValue.Code && fieldValue.Code !== fieldValue.Value) {\n <span class=\"value-code\">[{{ fieldValue.Code }}]</span>\n }\n </div>\n @if (fieldValue.Description && fieldValue.Description !== fieldValue.Value) {\n <div class=\"value-description\">{{ fieldValue.Description }}</div>\n }\n </div>\n }\n </div>\n </div>\n }\n <div class=\"details-grid\">\n <div class=\"detail-row\">\n <span class=\"detail-label\">Data Type:</span>\n <span class=\"detail-value\">{{ field.Type }}</span>\n </div>\n <div class=\"detail-row\">\n <span class=\"detail-label\">Nullable:</span>\n <span class=\"detail-value\" [class]=\"field.AllowsNull ? 'nullable-yes' : 'nullable-no'\">\n {{ field.AllowsNull ? 'Yes' : 'No' }}\n </span>\n </div>\n @if (field.Length && field.Length > 0) {\n <div class=\"detail-row\">\n <span class=\"detail-label\">Max Length:</span>\n <span class=\"detail-value\">{{ field.Length }}</span>\n </div>\n }\n @if (field.Precision && field.Precision > 0) {\n <div class=\"detail-row\">\n <span class=\"detail-label\">Precision:</span>\n <span class=\"detail-value\">{{ field.Precision }}</span>\n </div>\n }\n @if (field.Scale && field.Scale > 0) {\n <div class=\"detail-row\">\n <span class=\"detail-label\">Scale:</span>\n <span class=\"detail-value\">{{ field.Scale }}</span>\n </div>\n }\n <div class=\"detail-row\">\n <span class=\"detail-label\">Virtual Field:</span>\n <span class=\"detail-value\" [class]=\"field.IsVirtual ? 'virtual-yes' : 'virtual-no'\">\n {{ field.IsVirtual ? 'Yes' : 'No' }}\n </span>\n </div>\n @if (field.DefaultValue) {\n <div class=\"detail-row\">\n <span class=\"detail-label\">Default Value:</span>\n <span class=\"detail-value default-value\">{{ field.DefaultValue }}</span>\n </div>\n }\n @if (field.RelatedEntityID) {\n <div class=\"detail-row\">\n <span class=\"detail-label\">Related Entity:</span>\n <span class=\"detail-value related-entity\" \n (click)=\"onRelatedEntityClick($event, field)\"\n title=\"Click to select {{ field.RelatedEntity }} in ERD\">\n {{ field.RelatedEntity }}\n <span class=\"fa-solid fa-arrow-right\"></span>\n </span>\n </div>\n }\n @if (field.AutoIncrement) {\n <div class=\"detail-row\">\n <span class=\"detail-label\">Auto Increment:</span>\n <span class=\"detail-value auto-increment\">Yes</span>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n \n <div class=\"relationships-section\" [class.section-expanded]=\"relationshipsSectionExpanded\" [class.section-collapsed]=\"!relationshipsSectionExpanded\">\n <div class=\"section-header extra-padding\">\n <div class=\"section-title-group\" (click)=\"toggleRelationshipsSection()\">\n <button \n class=\"expand-btn\" \n [class.expanded]=\"relationshipsSectionExpanded\"\n title=\"Toggle relationships section\">\n <span class=\"fa-solid fa-chevron-right\"></span>\n </button>\n <h4>Related Entities ({{ selectedEntity ? getRelatedEntities(selectedEntity.ID).length : 0 }})</h4>\n </div>\n </div>\n @if (relationshipsSectionExpanded) {\n <div class=\"related-entities-list\" #relationshipsListContainer>\n @for (relatedEntity of getRelatedEntities(selectedEntity?.ID || ''); track relatedEntity.ID) {\n <div class=\"related-entity-item\" (click)=\"selectEntity(relatedEntity, true)\">\n <span class=\"fa-solid fa-database\"></span>\n <span class=\"entity-name\">{{ relatedEntity.Name || relatedEntity.SchemaName }}</span>\n <span class=\"zoom-indicator fa-solid fa-search-plus\" title=\"Click to zoom to entity\"></span>\n </div>\n }\n </div>\n }\n </div>\n</div>", styles: [".details-panel {\n height: 100%;\n background: white;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n \n // Create proper scrolling structure\n .panel-header {\n flex-shrink: 0; // Header stays fixed\n }\n \n .entity-info {\n flex-shrink: 0; // Entity info stays fixed\n }\n \n .fields-section,\n .relationships-section {\n display: flex;\n flex-direction: column;\n min-height: 0; // Important for flex scrolling\n transition: flex 0.3s ease;\n \n &.section-expanded {\n flex: 1;\n }\n \n &.section-collapsed {\n flex: 0 0 auto;\n }\n \n &:last-child {\n border-bottom: none;\n }\n }\n}\n\n.panel-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 h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n }\n}\n\n.panel-actions {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.open-btn {\n padding: 4px 8px;\n border: 1px solid #4caf50;\n border-radius: 4px;\n background: #4caf50;\n color: white;\n cursor: pointer;\n font-size: 10px;\n display: flex;\n align-items: center;\n gap: 4px;\n \n &:hover {\n background-color: #45a049;\n border-color: #45a049;\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.entity-info {\n padding: 16px;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.info-row {\n display: flex;\n justify-content: space-between;\n margin-bottom: 8px;\n font-size: 12px;\n \n &:last-child {\n margin-bottom: 0;\n }\n \n label {\n font-weight: 600;\n color: #666;\n min-width: 60px;\n }\n \n span {\n color: #333;\n flex: 1;\n text-align: right;\n }\n}\n\n.status-badge {\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n \n &.status-active {\n background-color: #e8f5e8;\n color: #2e7d32;\n }\n \n &.status-deprecated {\n background-color: #fff3e0;\n color: #f57c00;\n }\n \n &.status-disabled {\n background-color: #ffebee;\n color: #c62828;\n }\n}\n\n.extra-padding {\n padding: 4px;\n}\n.fields-section, .relationships-section {\n border-bottom: 1px solid #d0d0d0;\n \n .section-header {\n flex-shrink: 0; // Header stays fixed\n padding: 16px 16px 12px 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #f8f9fa;\n border: none;\n border-bottom: 1px solid #e9ecef;\n \n .section-title-group {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n }\n \n h4 {\n margin: 0;\n font-size: 12px;\n font-weight: 600;\n color: #333;\n }\n}\n\n.expand-btn {\n padding: 4px;\n border: none;\n background: none;\n cursor: pointer;\n color: #666;\n border-radius: 3px;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: #f0f0f0;\n color: #333;\n }\n \n .fa-solid {\n font-size: 10px;\n transition: transform 0.2s ease;\n }\n \n &.expanded .fa-solid {\n transform: rotate(90deg);\n }\n}\n\n.section-title-group {\n cursor: pointer;\n user-select: none;\n \n &:hover {\n opacity: 0.8;\n }\n}\n\n.field-filters {\n display: flex;\n gap: 4px;\n}\n\n.filter-btn {\n padding: 4px 8px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: white;\n cursor: pointer;\n font-size: 10px;\n color: #666;\n transition: all 0.2s;\n \n &:hover {\n background-color: #f0f0f0;\n }\n \n &.active {\n background-color: #2196f3;\n border-color: #2196f3;\n color: white;\n }\n}\n\n.fields-list, .related-entities-list {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 8px;\n overflow-y: auto;\n padding: 6px 16px 16px 16px;\n min-height: 0;\n \n // Enhanced scrollbar for better UX\n &::-webkit-scrollbar {\n width: 6px;\n }\n \n &::-webkit-scrollbar-track {\n background: #f1f1f1;\n border-radius: 3px;\n }\n \n &::-webkit-scrollbar-thumb {\n background: #c1c1c1;\n border-radius: 3px;\n \n &:hover {\n background: #a1a1a1;\n }\n }\n}\n\n.field-item {\n padding: 8px;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n font-size: 11px;\n cursor: pointer;\n user-select: none;\n transition: all 0.2s ease;\n \n &:hover {\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n }\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n transform: scale(1.02);\n }\n \n &.primary-key-field {\n border-color: #ff9800;\n background-color: #fff8e1;\n border-left: 4px solid #ff9800;\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(255, 152, 0, 0.2);\n }\n }\n \n &.foreign-key-field {\n border-color: #2196f3;\n background-color: #f3f9ff;\n border-left: 4px solid #2196f3;\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(33, 150, 243, 0.2);\n }\n }\n \n &.regular-field {\n border-color: #e0e0e0;\n background-color: #fafafa;\n \n &.field-expanded {\n box-shadow: 0 4px 12px rgba(0,0,0,0.1);\n }\n }\n}\n\n.field-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 4px;\n}\n\n.field-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.field-name {\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.field-icon {\n font-size: 10px;\n \n &.fa-key {\n color: #ff9800;\n }\n \n &.fa-link {\n color: #2196f3;\n }\n}\n\n.field-badges {\n display: flex;\n gap: 4px;\n}\n\n.field-badge {\n padding: 1px 4px;\n border-radius: 2px;\n font-size: 8px;\n font-weight: 700;\n text-transform: uppercase;\n \n &.primary-key {\n background-color: #ff9800;\n color: white;\n }\n \n &.foreign-key {\n background-color: #2196f3;\n color: white;\n }\n}\n\n.field-type {\n color: #666;\n font-size: 10px;\n}\n\n.field-relation {\n color: #2196f3;\n font-size: 10px;\n margin-top: 4px;\n \n .fa-solid {\n margin-right: 4px;\n }\n}\n\n.field-info-btn,\n.field-values-btn {\n padding: 2px 4px;\n border: none;\n background: none;\n cursor: pointer;\n color: #999;\n border-radius: 3px;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: #e3f2fd;\n color: #2196f3;\n }\n \n &.expanded {\n color: #2196f3;\n background-color: #e3f2fd;\n }\n \n .fa-solid {\n font-size: 10px;\n }\n}\n\n\n.field-description {\n margin-top: 8px;\n padding: 8px;\n background-color: #f8f9fa;\n border-left: 3px solid #2196f3;\n border-radius: 0 4px 4px 0;\n animation: fadeIn 0.3s ease-in-out;\n \n .description-text {\n font-size: 10px;\n color: #555;\n line-height: 1.4;\n font-style: italic;\n }\n}\n\n.field-details {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-5px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.field-values {\n margin-top: 8px;\n padding: 8px;\n background-color: #f8f4ff;\n border-left: 3px solid #9c27b0;\n border-radius: 0 4px 4px 0;\n animation: fadeIn 0.3s ease-in-out;\n \n .values-header {\n font-size: 10px;\n color: #9c27b0;\n font-weight: 600;\n margin-bottom: 6px;\n }\n \n .values-list {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n }\n \n .value-tag {\n display: inline-block;\n padding: 2px 6px;\n background-color: #e1bee7;\n color: #4a148c;\n font-size: 9px;\n border-radius: 10px;\n font-weight: 500;\n white-space: nowrap;\n max-width: 80px;\n overflow: hidden;\n text-overflow: ellipsis;\n \n &:hover {\n background-color: #ce93d8;\n color: #2e003e;\n cursor: default;\n }\n }\n}\n\n.field-comprehensive-details {\n margin-top: 12px;\n padding: 12px;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n border: 1px solid #dee2e6;\n border-radius: 6px;\n animation: slideDown 0.3s ease-out;\n \n .details-header {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 600;\n color: #495057;\n margin-bottom: 10px;\n padding-bottom: 6px;\n border-bottom: 1px solid #dee2e6;\n \n .fa-solid {\n color: #6c757d;\n }\n }\n \n .details-grid {\n display: grid;\n gap: 6px;\n }\n \n .detail-row {\n display: grid;\n grid-template-columns: 100px 1fr;\n gap: 8px;\n font-size: 10px;\n align-items: center;\n }\n \n .detail-label {\n font-weight: 600;\n color: #6c757d;\n text-align: right;\n }\n \n .detail-value {\n color: #495057;\n font-family: 'Courier New', monospace;\n background-color: #fff;\n padding: 2px 6px;\n border-radius: 3px;\n border: 1px solid #dee2e6;\n \n &.nullable-yes,\n &.nullable-no {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6;\n }\n \n &.virtual-yes {\n color: #6f42c1;\n background-color: #e2d9f3;\n border-color: #d1c4e9;\n }\n \n &.virtual-no {\n color: #6c757d;\n }\n \n &.default-value {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeaa7;\n }\n \n &.related-entity {\n color: #0066cc;\n background-color: #cce5ff;\n border-color: #99d6ff;\n cursor: pointer;\n user-select: none;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 4px;\n \n &:hover {\n text-decoration: underline;\n background-color: #b3d9ff;\n border-color: #66c2ff;\n transform: translateX(2px);\n }\n \n .fa-external-link-alt {\n font-size: 8px;\n opacity: 0.7;\n transition: opacity 0.2s ease;\n }\n \n &:hover .fa-external-link-alt {\n opacity: 1;\n }\n }\n \n &.auto-increment {\n color: #20c997;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n }\n }\n \n .comprehensive-description-top {\n margin-bottom: 12px;\n padding-bottom: 10px;\n border-bottom: 1px solid #dee2e6;\n \n .description-content {\n font-size: 11px;\n color: #495057;\n line-height: 1.4;\n font-style: italic;\n background: linear-gradient(135deg, #e3f2fd 0%, #f8f9fa 100%);\n padding: 10px;\n border-radius: 6px;\n border: 1px solid #bee5eb;\n border-left: 4px solid #17a2b8;\n }\n }\n \n .field-values-comprehensive {\n margin-bottom: 12px;\n padding: 12px;\n background: linear-gradient(135deg, #f3e5f5 0%, #fce4ec 100%);\n border: 1px solid #e1bee7;\n border-radius: 6px;\n border-left: 4px solid #9c27b0;\n \n .values-header {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 600;\n color: #6a1b9a;\n margin-bottom: 10px;\n padding-bottom: 6px;\n border-bottom: 1px solid #e1bee7;\n \n .fa-solid {\n color: #9c27b0;\n }\n }\n \n .values-grid {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 200px;\n overflow-y: auto;\n \n &::-webkit-scrollbar {\n width: 4px;\n }\n \n &::-webkit-scrollbar-track {\n background: #f3e5f5;\n border-radius: 2px;\n }\n \n &::-webkit-scrollbar-thumb {\n background: #ce93d8;\n border-radius: 2px;\n \n &:hover {\n background: #ba68c8;\n }\n }\n }\n \n .value-item {\n padding: 8px;\n background: white;\n border: 1px solid #e1bee7;\n border-radius: 4px;\n \n .value-main {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 2px;\n \n .value-text {\n font-size: 10px;\n font-weight: 600;\n color: #4a148c;\n }\n \n .value-code {\n font-size: 9px;\n color: #7b1fa2;\n background: #f3e5f5;\n padding: 1px 4px;\n border-radius: 3px;\n border: 1px solid #e1bee7;\n font-family: 'Courier New', monospace;\n }\n }\n \n .value-description {\n font-size: 9px;\n color: #666;\n line-height: 1.3;\n font-style: italic;\n margin-top: 2px;\n }\n }\n }\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n max-height: 0;\n }\n to {\n opacity: 1;\n transform: translateY(0);\n max-height: 500px;\n }\n}\n\n.related-entity-item {\n padding: 10px 12px;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n cursor: pointer;\n font-size: 12px;\n color: #333;\n display: flex;\n align-items: center;\n justify-content: space-between;\n transition: all 0.3s ease;\n position: relative;\n max-width: calc(100% - 4px);\n min-width: 0;\n flex-shrink: 1;\n \n &:hover {\n background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);\n border-color: #2196f3;\n transform: translateX(4px);\n box-shadow: 0 2px 8px rgba(33, 150, 243, 0.2);\n \n .zoom-indicator {\n opacity: 1;\n transform: scale(1.1);\n }\n \n .fa-database {\n color: #2196f3;\n transform: scale(1.1);\n }\n \n &::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 3px;\n background: linear-gradient(to bottom, #2196f3, #9c27b0);\n border-radius: 0 3px 3px 0;\n }\n }\n \n .fa-solid {\n margin-right: 10px;\n color: #666;\n transition: all 0.2s ease;\n flex-shrink: 0;\n }\n \n .fa-database {\n font-size: 14px;\n }\n \n .entity-name {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n }\n \n .zoom-indicator {\n opacity: 0.4;\n color: #2196f3;\n font-size: 11px;\n transition: all 0.2s ease;\n flex-shrink: 0;\n }\n}"] }]