@memberjunction/ng-dashboards 3.0.0 → 3.1.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 (161) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.js +1 -1
  2. package/dist/AI/components/agents/agent-editor.component.js +1 -1
  3. package/dist/AI/components/agents/agent-filter-panel.component.js +1 -1
  4. package/dist/AI/components/charts/performance-heatmap.component.js +1 -1
  5. package/dist/AI/components/charts/time-series-chart.component.js +1 -1
  6. package/dist/AI/components/execution-monitoring.component.js +1 -1
  7. package/dist/AI/components/models/model-management.component.js +1 -1
  8. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +1 -1
  9. package/dist/AI/components/prompts/prompt-filter-panel.component.js +1 -1
  10. package/dist/AI/components/prompts/prompt-management.component.js +1 -1
  11. package/dist/AI/components/prompts/prompt-version-control.component.js +1 -1
  12. package/dist/AI/components/system/system-config-filter-panel.component.js +1 -1
  13. package/dist/AI/components/system/system-configuration.component.js +1 -1
  14. package/dist/AI/components/widgets/kpi-card.component.js +1 -1
  15. package/dist/AI/components/widgets/live-execution-widget.component.js +1 -1
  16. package/dist/Actions/components/actions-list-view.component.js +1 -1
  17. package/dist/Actions/components/actions-overview.component.js +1 -1
  18. package/dist/Actions/components/categories-list-view.component.js +1 -1
  19. package/dist/Actions/components/code-management.component.js +1 -1
  20. package/dist/Actions/components/entity-integration.component.js +1 -1
  21. package/dist/Actions/components/execution-monitoring.component.js +1 -1
  22. package/dist/Actions/components/executions-list-view.component.js +1 -1
  23. package/dist/Actions/components/scheduled-actions.component.js +1 -1
  24. package/dist/Actions/components/security-permissions.component.js +1 -1
  25. package/dist/Communication/communication-dashboard.component.js +1 -1
  26. package/dist/Communication/communication-logs-resource.component.js +1 -1
  27. package/dist/Communication/communication-monitor-resource.component.js +1 -1
  28. package/dist/Communication/communication-providers-resource.component.js +1 -1
  29. package/dist/Communication/communication-runs-resource.component.js +1 -1
  30. package/dist/ComponentStudio/component-studio-dashboard.component.js +1 -1
  31. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +1 -1
  32. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +1 -1
  33. package/dist/ComponentStudio/components/text-import-dialog.component.js +1 -1
  34. package/dist/Credentials/components/credential-category-edit-panel.component.js +1 -1
  35. package/dist/Credentials/components/credential-edit-panel.component.js +1 -1
  36. package/dist/Credentials/components/credential-type-edit-panel.component.js +1 -1
  37. package/dist/Credentials/components/credentials-audit-resource.component.js +1 -1
  38. package/dist/Credentials/components/credentials-categories-resource.component.js +1 -1
  39. package/dist/Credentials/components/credentials-list-resource.component.js +1 -1
  40. package/dist/Credentials/components/credentials-overview-resource.component.js +1 -1
  41. package/dist/Credentials/components/credentials-types-resource.component.js +1 -1
  42. package/dist/Credentials/credentials-dashboard.component.js +1 -1
  43. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +225 -0
  44. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -0
  45. package/dist/DashboardBrowser/dashboard-browser-resource.component.js +1038 -0
  46. package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -0
  47. package/dist/DashboardBrowser/dashboard-share-dialog.component.d.ts +116 -0
  48. package/dist/DashboardBrowser/dashboard-share-dialog.component.d.ts.map +1 -0
  49. package/dist/DashboardBrowser/dashboard-share-dialog.component.js +549 -0
  50. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -0
  51. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +1 -1
  52. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +1 -1
  53. package/dist/DataExplorer/components/view-selector/view-selector.component.js +1 -1
  54. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +2 -1
  55. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  56. package/dist/DataExplorer/data-explorer-dashboard.component.js +74 -55
  57. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  58. package/dist/DataExplorer/data-explorer-resource.component.d.ts +38 -0
  59. package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -0
  60. package/dist/DataExplorer/data-explorer-resource.component.js +153 -0
  61. package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -0
  62. package/dist/DataExplorer/index.d.ts +1 -0
  63. package/dist/DataExplorer/index.d.ts.map +1 -1
  64. package/dist/DataExplorer/index.js +2 -0
  65. package/dist/DataExplorer/index.js.map +1 -1
  66. package/dist/EntityAdmin/entity-admin-dashboard.component.js +1 -1
  67. package/dist/Home/home-application.d.ts +53 -0
  68. package/dist/Home/home-application.d.ts.map +1 -0
  69. package/dist/Home/home-application.js +148 -0
  70. package/dist/Home/home-application.js.map +1 -0
  71. package/dist/Home/home-dashboard.component.d.ts +10 -10
  72. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  73. package/dist/Home/home-dashboard.component.js +43 -41
  74. package/dist/Home/home-dashboard.component.js.map +1 -1
  75. package/dist/Lists/components/lists-browse-resource.component.js +1 -1
  76. package/dist/Lists/components/lists-categories-resource.component.js +1 -1
  77. package/dist/Lists/components/lists-my-lists-resource.component.js +1 -1
  78. package/dist/Lists/components/lists-operations-resource.component.js +1 -1
  79. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +1 -1
  80. package/dist/QueryBrowser/query-browser-resource.component.d.ts +101 -0
  81. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -0
  82. package/dist/QueryBrowser/query-browser-resource.component.js +662 -0
  83. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -0
  84. package/dist/Scheduling/components/scheduling-health-resource.component.js +1 -1
  85. package/dist/Scheduling/components/scheduling-health.component.js +1 -1
  86. package/dist/Scheduling/components/scheduling-history-resource.component.js +1 -1
  87. package/dist/Scheduling/components/scheduling-history.component.js +1 -1
  88. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +1 -1
  89. package/dist/Scheduling/components/scheduling-jobs.component.js +1 -1
  90. package/dist/Scheduling/components/scheduling-monitor-resource.component.js +1 -1
  91. package/dist/Scheduling/components/scheduling-monitoring.component.js +1 -1
  92. package/dist/Scheduling/components/scheduling-types-resource.component.js +1 -1
  93. package/dist/Scheduling/components/scheduling-types.component.js +1 -1
  94. package/dist/Scheduling/scheduling-dashboard.component.js +1 -1
  95. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +3 -3
  96. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  97. package/dist/SystemDiagnostics/system-diagnostics.component.js +7 -20
  98. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  99. package/dist/Testing/components/testing-analytics-resource.component.js +1 -1
  100. package/dist/Testing/components/testing-analytics.component.js +1 -1
  101. package/dist/Testing/components/testing-execution-resource.component.js +1 -1
  102. package/dist/Testing/components/testing-execution.component.js +1 -1
  103. package/dist/Testing/components/testing-feedback-resource.component.js +1 -1
  104. package/dist/Testing/components/testing-feedback.component.js +1 -1
  105. package/dist/Testing/components/testing-overview-resource.component.js +1 -1
  106. package/dist/Testing/components/testing-overview.component.js +1 -1
  107. package/dist/Testing/components/testing-version-comparison.component.js +1 -1
  108. package/dist/Testing/components/testing-version-resource.component.js +1 -1
  109. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +1 -1
  110. package/dist/Testing/components/widgets/suite-tree.component.js +2 -2
  111. package/dist/Testing/components/widgets/test-run-detail-panel.component.js +1 -1
  112. package/dist/Testing/testing-dashboard.component.js +1 -1
  113. package/dist/module.d.ts +61 -55
  114. package/dist/module.d.ts.map +1 -1
  115. package/dist/module.js +49 -9
  116. package/dist/module.js.map +1 -1
  117. package/dist/public-api.d.ts +5 -0
  118. package/dist/public-api.d.ts.map +1 -1
  119. package/dist/public-api.js +25 -1
  120. package/dist/public-api.js.map +1 -1
  121. package/package.json +32 -30
  122. package/dist/AI/ai-dashboard.component.d.ts +0 -62
  123. package/dist/AI/ai-dashboard.component.d.ts.map +0 -1
  124. package/dist/AI/ai-dashboard.component.js +0 -338
  125. package/dist/AI/ai-dashboard.component.js.map +0 -1
  126. package/dist/AI/components/models/model-management-v2.component.d.ts +0 -96
  127. package/dist/AI/components/models/model-management-v2.component.d.ts.map +0 -1
  128. package/dist/AI/components/models/model-management-v2.component.js +0 -981
  129. package/dist/AI/components/models/model-management-v2.component.js.map +0 -1
  130. package/dist/AI/components/prompts/prompt-management-v2.component.d.ts +0 -97
  131. package/dist/AI/components/prompts/prompt-management-v2.component.d.ts.map +0 -1
  132. package/dist/AI/components/prompts/prompt-management-v2.component.js +0 -811
  133. package/dist/AI/components/prompts/prompt-management-v2.component.js.map +0 -1
  134. package/dist/Actions/actions-management-dashboard.component.d.ts +0 -52
  135. package/dist/Actions/actions-management-dashboard.component.d.ts.map +0 -1
  136. package/dist/Actions/actions-management-dashboard.component.js +0 -308
  137. package/dist/Actions/actions-management-dashboard.component.js.map +0 -1
  138. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts +0 -245
  139. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts.map +0 -1
  140. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js +0 -1143
  141. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js.map +0 -1
  142. package/dist/EntityAdmin/components/entity-details.component.d.ts +0 -50
  143. package/dist/EntityAdmin/components/entity-details.component.d.ts.map +0 -1
  144. package/dist/EntityAdmin/components/entity-details.component.js +0 -680
  145. package/dist/EntityAdmin/components/entity-details.component.js.map +0 -1
  146. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts +0 -31
  147. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts.map +0 -1
  148. package/dist/EntityAdmin/components/entity-filter-panel.component.js +0 -160
  149. package/dist/EntityAdmin/components/entity-filter-panel.component.js.map +0 -1
  150. package/dist/EntityAdmin/components/erd-composite.component.d.ts +0 -73
  151. package/dist/EntityAdmin/components/erd-composite.component.d.ts.map +0 -1
  152. package/dist/EntityAdmin/components/erd-composite.component.js +0 -271
  153. package/dist/EntityAdmin/components/erd-composite.component.js.map +0 -1
  154. package/dist/EntityAdmin/components/erd-diagram.component.d.ts +0 -47
  155. package/dist/EntityAdmin/components/erd-diagram.component.d.ts.map +0 -1
  156. package/dist/EntityAdmin/components/erd-diagram.component.js +0 -618
  157. package/dist/EntityAdmin/components/erd-diagram.component.js.map +0 -1
  158. package/dist/generic/base-dashboard.d.ts +0 -65
  159. package/dist/generic/base-dashboard.d.ts.map +0 -1
  160. package/dist/generic/base-dashboard.js +0 -74
  161. package/dist/generic/base-dashboard.js.map +0 -1
@@ -0,0 +1,549 @@
1
+ import { Component, Input, Output, EventEmitter, ViewEncapsulation } from '@angular/core';
2
+ import { Metadata, RunView } from '@memberjunction/core';
3
+ import { DashboardEngine } from '@memberjunction/core-entities';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@progress/kendo-angular-dialog";
8
+ const _forTrack0 = ($index, $item) => $item.User.ID;
9
+ const _forTrack1 = ($index, $item) => $item.ID;
10
+ function DashboardShareDialogComponent_kendo_window_0_Conditional_7_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵelementStart(0, "div", 5);
12
+ i0.ɵɵelement(1, "i", 27);
13
+ i0.ɵɵelementStart(2, "span");
14
+ i0.ɵɵtext(3);
15
+ i0.ɵɵelementEnd()();
16
+ } if (rf & 2) {
17
+ const ctx_r1 = i0.ɵɵnextContext(2);
18
+ i0.ɵɵadvance(3);
19
+ i0.ɵɵtextInterpolate(ctx_r1.Error);
20
+ } }
21
+ function DashboardShareDialogComponent_kendo_window_0_Conditional_12_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "span", 32);
23
+ i0.ɵɵtext(1);
24
+ i0.ɵɵelementEnd();
25
+ } if (rf & 2) {
26
+ const user_r4 = i0.ɵɵnextContext().$implicit;
27
+ i0.ɵɵadvance();
28
+ i0.ɵɵtextInterpolate(user_r4.Email);
29
+ } }
30
+ function DashboardShareDialogComponent_kendo_window_0_Conditional_12_For_2_Template(rf, ctx) { if (rf & 1) {
31
+ const _r3 = i0.ɵɵgetCurrentView();
32
+ i0.ɵɵelementStart(0, "button", 29);
33
+ i0.ɵɵlistener("click", function DashboardShareDialogComponent_kendo_window_0_Conditional_12_For_2_Template_button_click_0_listener() { const user_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.addUserShare(user_r4)); });
34
+ i0.ɵɵelementStart(1, "span", 30);
35
+ i0.ɵɵtext(2);
36
+ i0.ɵɵelementEnd();
37
+ i0.ɵɵelementStart(3, "span", 31);
38
+ i0.ɵɵtext(4);
39
+ i0.ɵɵelementEnd();
40
+ i0.ɵɵtemplate(5, DashboardShareDialogComponent_kendo_window_0_Conditional_12_For_2_Conditional_5_Template, 2, 1, "span", 32);
41
+ i0.ɵɵelement(6, "i", 33);
42
+ i0.ɵɵelementEnd();
43
+ } if (rf & 2) {
44
+ const user_r4 = ctx.$implicit;
45
+ const ctx_r1 = i0.ɵɵnextContext(3);
46
+ i0.ɵɵproperty("disabled", ctx_r1.IsLoading);
47
+ i0.ɵɵadvance(2);
48
+ i0.ɵɵtextInterpolate(ctx_r1.getUserInitials(user_r4));
49
+ i0.ɵɵadvance(2);
50
+ i0.ɵɵtextInterpolate(user_r4.Name);
51
+ i0.ɵɵadvance();
52
+ i0.ɵɵconditional(user_r4.Email ? 5 : -1);
53
+ } }
54
+ function DashboardShareDialogComponent_kendo_window_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
55
+ i0.ɵɵelementStart(0, "div", 10);
56
+ i0.ɵɵrepeaterCreate(1, DashboardShareDialogComponent_kendo_window_0_Conditional_12_For_2_Template, 7, 4, "button", 28, _forTrack1);
57
+ i0.ɵɵelementEnd();
58
+ } if (rf & 2) {
59
+ const ctx_r1 = i0.ɵɵnextContext(2);
60
+ i0.ɵɵadvance();
61
+ i0.ɵɵrepeater(ctx_r1.FilteredAvailableUsers);
62
+ } }
63
+ function DashboardShareDialogComponent_kendo_window_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
64
+ i0.ɵɵelementStart(0, "div", 11);
65
+ i0.ɵɵtext(1);
66
+ i0.ɵɵelementEnd();
67
+ } if (rf & 2) {
68
+ const ctx_r1 = i0.ɵɵnextContext(2);
69
+ i0.ɵɵadvance();
70
+ i0.ɵɵtextInterpolate1(" No users found matching \"", ctx_r1.UserSearchFilter, "\" ");
71
+ } }
72
+ function DashboardShareDialogComponent_kendo_window_0_For_26_Conditional_6_Template(rf, ctx) { if (rf & 1) {
73
+ i0.ɵɵelementStart(0, "span", 35);
74
+ i0.ɵɵtext(1, "New");
75
+ i0.ɵɵelementEnd();
76
+ } }
77
+ function DashboardShareDialogComponent_kendo_window_0_For_26_Conditional_7_Template(rf, ctx) { if (rf & 1) {
78
+ i0.ɵɵelementStart(0, "span", 36);
79
+ i0.ɵɵtext(1);
80
+ i0.ɵɵelementEnd();
81
+ } if (rf & 2) {
82
+ const share_r6 = i0.ɵɵnextContext().$implicit;
83
+ i0.ɵɵadvance();
84
+ i0.ɵɵtextInterpolate(share_r6.User.Email);
85
+ } }
86
+ function DashboardShareDialogComponent_kendo_window_0_For_26_Template(rf, ctx) { if (rf & 1) {
87
+ const _r5 = i0.ɵɵgetCurrentView();
88
+ i0.ɵɵelementStart(0, "div", 34)(1, "span", 30);
89
+ i0.ɵɵtext(2);
90
+ i0.ɵɵelementEnd();
91
+ i0.ɵɵelementStart(3, "div", 16)(4, "span", 17);
92
+ i0.ɵɵtext(5);
93
+ i0.ɵɵtemplate(6, DashboardShareDialogComponent_kendo_window_0_For_26_Conditional_6_Template, 2, 0, "span", 35);
94
+ i0.ɵɵelementEnd();
95
+ i0.ɵɵtemplate(7, DashboardShareDialogComponent_kendo_window_0_For_26_Conditional_7_Template, 2, 1, "span", 36);
96
+ i0.ɵɵelementEnd();
97
+ i0.ɵɵelementStart(8, "div", 37)(9, "label", 38);
98
+ i0.ɵɵelement(10, "input", 39)(11, "i", 40);
99
+ i0.ɵɵelementEnd();
100
+ i0.ɵɵelementStart(12, "label", 41)(13, "input", 42);
101
+ i0.ɵɵlistener("change", function DashboardShareDialogComponent_kendo_window_0_For_26_Template_input_change_13_listener() { const share_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleCanEdit(share_r6)); });
102
+ i0.ɵɵelementEnd();
103
+ i0.ɵɵelement(14, "i", 43);
104
+ i0.ɵɵelementEnd();
105
+ i0.ɵɵelementStart(15, "label", 44)(16, "input", 42);
106
+ i0.ɵɵlistener("change", function DashboardShareDialogComponent_kendo_window_0_For_26_Template_input_change_16_listener() { const share_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleCanDelete(share_r6)); });
107
+ i0.ɵɵelementEnd();
108
+ i0.ɵɵelement(17, "i", 45);
109
+ i0.ɵɵelementEnd();
110
+ i0.ɵɵelementStart(18, "label", 46)(19, "input", 42);
111
+ i0.ɵɵlistener("change", function DashboardShareDialogComponent_kendo_window_0_For_26_Template_input_change_19_listener() { const share_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleCanShare(share_r6)); });
112
+ i0.ɵɵelementEnd();
113
+ i0.ɵɵelement(20, "i", 47);
114
+ i0.ɵɵelementEnd()();
115
+ i0.ɵɵelementStart(21, "button", 48);
116
+ i0.ɵɵlistener("click", function DashboardShareDialogComponent_kendo_window_0_For_26_Template_button_click_21_listener() { const share_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.removeUserShare(share_r6)); });
117
+ i0.ɵɵelement(22, "i", 49);
118
+ i0.ɵɵelementEnd()();
119
+ } if (rf & 2) {
120
+ const share_r6 = ctx.$implicit;
121
+ const ctx_r1 = i0.ɵɵnextContext(2);
122
+ i0.ɵɵclassProp("share-person-new", share_r6.IsNew)("share-person-modified", share_r6.Permission.Dirty);
123
+ i0.ɵɵadvance(2);
124
+ i0.ɵɵtextInterpolate(ctx_r1.getUserInitials(share_r6.User));
125
+ i0.ɵɵadvance(3);
126
+ i0.ɵɵtextInterpolate1(" ", share_r6.User.Name, " ");
127
+ i0.ɵɵadvance();
128
+ i0.ɵɵconditional(share_r6.IsNew ? 6 : -1);
129
+ i0.ɵɵadvance();
130
+ i0.ɵɵconditional(share_r6.User.Email ? 7 : -1);
131
+ i0.ɵɵadvance(3);
132
+ i0.ɵɵproperty("checked", share_r6.Permission.CanRead);
133
+ i0.ɵɵadvance(3);
134
+ i0.ɵɵproperty("checked", share_r6.Permission.CanEdit);
135
+ i0.ɵɵadvance(3);
136
+ i0.ɵɵproperty("checked", share_r6.Permission.CanDelete);
137
+ i0.ɵɵadvance(3);
138
+ i0.ɵɵproperty("checked", share_r6.Permission.CanShare);
139
+ } }
140
+ function DashboardShareDialogComponent_kendo_window_0_Conditional_27_Template(rf, ctx) { if (rf & 1) {
141
+ i0.ɵɵelementStart(0, "div", 20);
142
+ i0.ɵɵelement(1, "i", 50);
143
+ i0.ɵɵelementStart(2, "span");
144
+ i0.ɵɵtext(3, "Not shared with anyone yet");
145
+ i0.ɵɵelementEnd()();
146
+ } }
147
+ function DashboardShareDialogComponent_kendo_window_0_Conditional_28_For_2_Template(rf, ctx) { if (rf & 1) {
148
+ const _r7 = i0.ɵɵgetCurrentView();
149
+ i0.ɵɵelementStart(0, "div", 51)(1, "span", 52);
150
+ i0.ɵɵtext(2);
151
+ i0.ɵɵelementEnd();
152
+ i0.ɵɵelementStart(3, "span", 53);
153
+ i0.ɵɵtext(4);
154
+ i0.ɵɵelementEnd();
155
+ i0.ɵɵelementStart(5, "button", 54);
156
+ i0.ɵɵlistener("click", function DashboardShareDialogComponent_kendo_window_0_Conditional_28_For_2_Template_button_click_5_listener() { const share_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.undoRemove(share_r8)); });
157
+ i0.ɵɵelement(6, "i", 55);
158
+ i0.ɵɵtext(7, " Undo ");
159
+ i0.ɵɵelementEnd()();
160
+ } if (rf & 2) {
161
+ const share_r8 = ctx.$implicit;
162
+ const ctx_r1 = i0.ɵɵnextContext(3);
163
+ i0.ɵɵadvance(2);
164
+ i0.ɵɵtextInterpolate(ctx_r1.getUserInitials(share_r8.User));
165
+ i0.ɵɵadvance(2);
166
+ i0.ɵɵtextInterpolate(share_r8.User.Name);
167
+ } }
168
+ function DashboardShareDialogComponent_kendo_window_0_Conditional_28_Template(rf, ctx) { if (rf & 1) {
169
+ i0.ɵɵelementStart(0, "div", 21);
170
+ i0.ɵɵrepeaterCreate(1, DashboardShareDialogComponent_kendo_window_0_Conditional_28_For_2_Template, 8, 2, "div", 51, _forTrack0);
171
+ i0.ɵɵelementEnd();
172
+ } if (rf & 2) {
173
+ const ctx_r1 = i0.ɵɵnextContext(2);
174
+ i0.ɵɵadvance();
175
+ i0.ɵɵrepeater(ctx_r1.RemovedShares);
176
+ } }
177
+ function DashboardShareDialogComponent_kendo_window_0_Conditional_30_Template(rf, ctx) { if (rf & 1) {
178
+ i0.ɵɵelementStart(0, "span", 23);
179
+ i0.ɵɵelement(1, "i", 56);
180
+ i0.ɵɵtext(2, " Unsaved changes ");
181
+ i0.ɵɵelementEnd();
182
+ } }
183
+ function DashboardShareDialogComponent_kendo_window_0_Conditional_35_Template(rf, ctx) { if (rf & 1) {
184
+ i0.ɵɵelement(0, "i", 57);
185
+ i0.ɵɵtext(1, " Saving... ");
186
+ } }
187
+ function DashboardShareDialogComponent_kendo_window_0_Conditional_36_Template(rf, ctx) { if (rf & 1) {
188
+ i0.ɵɵtext(0, " Save ");
189
+ } }
190
+ function DashboardShareDialogComponent_kendo_window_0_Template(rf, ctx) { if (rf & 1) {
191
+ const _r1 = i0.ɵɵgetCurrentView();
192
+ i0.ɵɵelementStart(0, "kendo-window", 1);
193
+ i0.ɵɵlistener("close", function DashboardShareDialogComponent_kendo_window_0_Template_kendo_window_close_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCancel()); });
194
+ i0.ɵɵelementStart(1, "kendo-window-titlebar")(2, "div", 2);
195
+ i0.ɵɵelement(3, "i", 3);
196
+ i0.ɵɵelementStart(4, "span");
197
+ i0.ɵɵtext(5);
198
+ i0.ɵɵelementEnd()()();
199
+ i0.ɵɵelementStart(6, "div", 4);
200
+ i0.ɵɵtemplate(7, DashboardShareDialogComponent_kendo_window_0_Conditional_7_Template, 4, 1, "div", 5);
201
+ i0.ɵɵelementStart(8, "div", 6)(9, "div", 7);
202
+ i0.ɵɵelement(10, "i", 8);
203
+ i0.ɵɵelementStart(11, "input", 9);
204
+ i0.ɵɵtwoWayListener("ngModelChange", function DashboardShareDialogComponent_kendo_window_0_Template_input_ngModelChange_11_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.UserSearchFilter, $event) || (ctx_r1.UserSearchFilter = $event); return i0.ɵɵresetView($event); });
205
+ i0.ɵɵelementEnd()();
206
+ i0.ɵɵtemplate(12, DashboardShareDialogComponent_kendo_window_0_Conditional_12_Template, 3, 0, "div", 10)(13, DashboardShareDialogComponent_kendo_window_0_Conditional_13_Template, 2, 1, "div", 11);
207
+ i0.ɵɵelementEnd();
208
+ i0.ɵɵelementStart(14, "div", 6)(15, "div", 12);
209
+ i0.ɵɵtext(16, "People with access");
210
+ i0.ɵɵelementEnd();
211
+ i0.ɵɵelementStart(17, "div", 13)(18, "span", 14);
212
+ i0.ɵɵelement(19, "i", 15);
213
+ i0.ɵɵelementEnd();
214
+ i0.ɵɵelementStart(20, "div", 16)(21, "span", 17);
215
+ i0.ɵɵtext(22);
216
+ i0.ɵɵelementEnd();
217
+ i0.ɵɵelementStart(23, "span", 18);
218
+ i0.ɵɵtext(24, "Owner");
219
+ i0.ɵɵelementEnd()()();
220
+ i0.ɵɵrepeaterCreate(25, DashboardShareDialogComponent_kendo_window_0_For_26_Template, 23, 12, "div", 19, _forTrack0);
221
+ i0.ɵɵtemplate(27, DashboardShareDialogComponent_kendo_window_0_Conditional_27_Template, 4, 0, "div", 20)(28, DashboardShareDialogComponent_kendo_window_0_Conditional_28_Template, 3, 0, "div", 21);
222
+ i0.ɵɵelementEnd();
223
+ i0.ɵɵelementStart(29, "div", 22);
224
+ i0.ɵɵtemplate(30, DashboardShareDialogComponent_kendo_window_0_Conditional_30_Template, 3, 0, "span", 23);
225
+ i0.ɵɵelementStart(31, "div", 24)(32, "button", 25);
226
+ i0.ɵɵlistener("click", function DashboardShareDialogComponent_kendo_window_0_Template_button_click_32_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCancel()); });
227
+ i0.ɵɵtext(33, " Cancel ");
228
+ i0.ɵɵelementEnd();
229
+ i0.ɵɵelementStart(34, "button", 26);
230
+ i0.ɵɵlistener("click", function DashboardShareDialogComponent_kendo_window_0_Template_button_click_34_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSave()); });
231
+ i0.ɵɵtemplate(35, DashboardShareDialogComponent_kendo_window_0_Conditional_35_Template, 2, 0)(36, DashboardShareDialogComponent_kendo_window_0_Conditional_36_Template, 1, 0);
232
+ i0.ɵɵelementEnd()()()()();
233
+ } if (rf & 2) {
234
+ const ctx_r1 = i0.ɵɵnextContext();
235
+ i0.ɵɵproperty("width", 560)("minHeight", 200)("resizable", false)("draggable", true)("keepContent", true);
236
+ i0.ɵɵadvance(5);
237
+ i0.ɵɵtextInterpolate1("Share \"", ctx_r1.Dashboard == null ? null : ctx_r1.Dashboard.Name, "\"");
238
+ i0.ɵɵadvance(2);
239
+ i0.ɵɵconditional(ctx_r1.Error ? 7 : -1);
240
+ i0.ɵɵadvance(4);
241
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r1.UserSearchFilter);
242
+ i0.ɵɵproperty("disabled", ctx_r1.IsLoading);
243
+ i0.ɵɵadvance();
244
+ i0.ɵɵconditional(ctx_r1.FilteredAvailableUsers.length > 0 ? 12 : -1);
245
+ i0.ɵɵadvance();
246
+ i0.ɵɵconditional(ctx_r1.UserSearchFilter && ctx_r1.FilteredAvailableUsers.length === 0 ? 13 : -1);
247
+ i0.ɵɵadvance(9);
248
+ i0.ɵɵtextInterpolate((ctx_r1.Dashboard == null ? null : ctx_r1.Dashboard.User) || "You");
249
+ i0.ɵɵadvance(3);
250
+ i0.ɵɵrepeater(ctx_r1.ActiveShares);
251
+ i0.ɵɵadvance(2);
252
+ i0.ɵɵconditional(ctx_r1.ActiveShares.length === 0 ? 27 : -1);
253
+ i0.ɵɵadvance();
254
+ i0.ɵɵconditional(ctx_r1.RemovedShares.length > 0 ? 28 : -1);
255
+ i0.ɵɵadvance(2);
256
+ i0.ɵɵconditional(ctx_r1.HasChanges ? 30 : -1);
257
+ i0.ɵɵadvance(4);
258
+ i0.ɵɵproperty("disabled", !ctx_r1.HasChanges || ctx_r1.IsLoading);
259
+ i0.ɵɵadvance();
260
+ i0.ɵɵconditional(ctx_r1.IsLoading ? 35 : 36);
261
+ } }
262
+ /**
263
+ * Dialog component for sharing dashboards with other users.
264
+ * Allows setting granular permissions (CanRead, CanEdit, CanDelete, CanShare).
265
+ */
266
+ export class DashboardShareDialogComponent {
267
+ cdr;
268
+ Visible = false;
269
+ Dashboard = null;
270
+ Result = new EventEmitter();
271
+ /** Current shares for this dashboard */
272
+ UserShares = [];
273
+ /** All available users for sharing (excludes owner and already shared) */
274
+ AvailableUsers = [];
275
+ /** All users in the system */
276
+ allUsers = [];
277
+ /** Loading state */
278
+ IsLoading = false;
279
+ /** Error message to display */
280
+ Error = null;
281
+ /** Search filter for available users */
282
+ UserSearchFilter = '';
283
+ constructor(cdr) {
284
+ this.cdr = cdr;
285
+ }
286
+ ngOnChanges(changes) {
287
+ if (changes['Visible'] && this.Visible && this.Dashboard) {
288
+ this.resetDialog();
289
+ this.loadData();
290
+ }
291
+ }
292
+ /**
293
+ * Reset dialog state
294
+ */
295
+ resetDialog() {
296
+ this.Error = null;
297
+ this.IsLoading = false;
298
+ this.UserShares = [];
299
+ this.AvailableUsers = [];
300
+ this.UserSearchFilter = '';
301
+ }
302
+ /**
303
+ * Load existing shares and available users
304
+ */
305
+ async loadData() {
306
+ if (!this.Dashboard)
307
+ return;
308
+ this.IsLoading = true;
309
+ this.cdr.detectChanges();
310
+ try {
311
+ const md = new Metadata();
312
+ const rv = new RunView();
313
+ // Load all users
314
+ const usersResult = await rv.RunView({
315
+ EntityName: 'Users',
316
+ ExtraFilter: "IsActive = 1",
317
+ OrderBy: 'Name',
318
+ ResultType: 'entity_object'
319
+ });
320
+ if (usersResult.Success) {
321
+ this.allUsers = usersResult.Results;
322
+ }
323
+ // Get existing shares from DashboardEngine
324
+ const existingShares = DashboardEngine.Instance.GetDashboardShares(this.Dashboard.ID);
325
+ // Build user shares list
326
+ this.UserShares = [];
327
+ for (const permission of existingShares) {
328
+ const user = this.allUsers.find(u => u.ID === permission.UserID);
329
+ if (user) {
330
+ this.UserShares.push({
331
+ Permission: permission,
332
+ User: user,
333
+ IsNew: false,
334
+ MarkedForRemoval: false
335
+ });
336
+ }
337
+ }
338
+ // Update available users
339
+ this.updateAvailableUsers();
340
+ }
341
+ catch (error) {
342
+ console.error('Error loading share data:', error);
343
+ this.Error = 'Failed to load sharing data. Please try again.';
344
+ }
345
+ finally {
346
+ this.IsLoading = false;
347
+ this.cdr.detectChanges();
348
+ }
349
+ }
350
+ /**
351
+ * Update the list of available users (excludes owner and already shared)
352
+ */
353
+ updateAvailableUsers() {
354
+ if (!this.Dashboard)
355
+ return;
356
+ const sharedUserIds = new Set(this.UserShares
357
+ .filter(s => !s.MarkedForRemoval)
358
+ .map(s => s.User.ID));
359
+ // Exclude dashboard owner and already shared users
360
+ this.AvailableUsers = this.allUsers.filter(user => user.ID !== this.Dashboard.UserID && !sharedUserIds.has(user.ID));
361
+ }
362
+ /**
363
+ * Get filtered available users based on search
364
+ */
365
+ get FilteredAvailableUsers() {
366
+ if (!this.UserSearchFilter.trim()) {
367
+ return this.AvailableUsers.slice(0, 10); // Show first 10 by default
368
+ }
369
+ const filter = this.UserSearchFilter.toLowerCase();
370
+ return this.AvailableUsers
371
+ .filter(user => user.Name.toLowerCase().includes(filter) ||
372
+ (user.Email && user.Email.toLowerCase().includes(filter)))
373
+ .slice(0, 10);
374
+ }
375
+ /**
376
+ * Check if there are unsaved changes
377
+ */
378
+ get HasChanges() {
379
+ return this.UserShares.some(s => s.IsNew || s.MarkedForRemoval || s.Permission.Dirty);
380
+ }
381
+ /**
382
+ * Add a user to the share list
383
+ */
384
+ async addUserShare(user) {
385
+ if (!this.Dashboard)
386
+ return;
387
+ const md = new Metadata();
388
+ const permission = await md.GetEntityObject('MJ: Dashboard Permissions');
389
+ permission.NewRecord();
390
+ permission.DashboardID = this.Dashboard.ID;
391
+ permission.UserID = user.ID;
392
+ permission.CanRead = true; // Default to read access
393
+ permission.CanEdit = false;
394
+ permission.CanDelete = false;
395
+ permission.CanShare = false;
396
+ this.UserShares.push({
397
+ Permission: permission,
398
+ User: user,
399
+ IsNew: true,
400
+ MarkedForRemoval: false
401
+ });
402
+ this.updateAvailableUsers();
403
+ this.UserSearchFilter = '';
404
+ this.cdr.detectChanges();
405
+ }
406
+ /**
407
+ * Mark a share for removal
408
+ */
409
+ removeUserShare(share) {
410
+ if (share.IsNew) {
411
+ // If it's new, just remove from the array
412
+ this.UserShares = this.UserShares.filter(s => s !== share);
413
+ }
414
+ else {
415
+ // Otherwise mark for removal
416
+ share.MarkedForRemoval = true;
417
+ }
418
+ this.updateAvailableUsers();
419
+ this.cdr.detectChanges();
420
+ }
421
+ /**
422
+ * Undo removal of a share
423
+ */
424
+ undoRemove(share) {
425
+ share.MarkedForRemoval = false;
426
+ this.updateAvailableUsers();
427
+ this.cdr.detectChanges();
428
+ }
429
+ /**
430
+ * Get shares that are not marked for removal
431
+ */
432
+ get ActiveShares() {
433
+ return this.UserShares.filter(s => !s.MarkedForRemoval);
434
+ }
435
+ /**
436
+ * Get shares marked for removal
437
+ */
438
+ get RemovedShares() {
439
+ return this.UserShares.filter(s => s.MarkedForRemoval);
440
+ }
441
+ /**
442
+ * Toggle CanEdit permission (also enables CanRead)
443
+ */
444
+ toggleCanEdit(share) {
445
+ share.Permission.CanEdit = !share.Permission.CanEdit;
446
+ if (share.Permission.CanEdit) {
447
+ share.Permission.CanRead = true;
448
+ }
449
+ this.cdr.detectChanges();
450
+ }
451
+ /**
452
+ * Toggle CanDelete permission (also enables CanRead and CanEdit)
453
+ */
454
+ toggleCanDelete(share) {
455
+ share.Permission.CanDelete = !share.Permission.CanDelete;
456
+ if (share.Permission.CanDelete) {
457
+ share.Permission.CanRead = true;
458
+ share.Permission.CanEdit = true;
459
+ }
460
+ this.cdr.detectChanges();
461
+ }
462
+ /**
463
+ * Toggle CanShare permission (also enables CanRead)
464
+ */
465
+ toggleCanShare(share) {
466
+ share.Permission.CanShare = !share.Permission.CanShare;
467
+ if (share.Permission.CanShare) {
468
+ share.Permission.CanRead = true;
469
+ }
470
+ this.cdr.detectChanges();
471
+ }
472
+ /**
473
+ * Save all permission changes
474
+ */
475
+ async onSave() {
476
+ if (!this.HasChanges) {
477
+ this.onCancel();
478
+ return;
479
+ }
480
+ this.IsLoading = true;
481
+ this.Error = null;
482
+ this.cdr.detectChanges();
483
+ try {
484
+ // Process removals first
485
+ for (const share of this.UserShares.filter(s => s.MarkedForRemoval && !s.IsNew)) {
486
+ const deleted = await share.Permission.Delete();
487
+ if (!deleted) {
488
+ throw new Error(`Failed to remove share for ${share.User.Name}`);
489
+ }
490
+ }
491
+ // Process new and modified shares
492
+ for (const share of this.UserShares.filter(s => !s.MarkedForRemoval && (s.IsNew || s.Permission.Dirty))) {
493
+ const saved = await share.Permission.Save();
494
+ if (!saved) {
495
+ throw new Error(`Failed to save share for ${share.User.Name}: ${share.Permission.LatestResult?.Message}`);
496
+ }
497
+ }
498
+ // Refresh the engine cache
499
+ await DashboardEngine.Instance.Config(true);
500
+ this.Result.emit({
501
+ Action: 'save',
502
+ Dashboard: this.Dashboard
503
+ });
504
+ }
505
+ catch (error) {
506
+ console.error('Error saving shares:', error);
507
+ this.Error = error instanceof Error ? error.message : 'Failed to save sharing settings.';
508
+ }
509
+ finally {
510
+ this.IsLoading = false;
511
+ this.cdr.detectChanges();
512
+ }
513
+ }
514
+ /**
515
+ * Cancel and close the dialog
516
+ */
517
+ onCancel() {
518
+ this.Result.emit({ Action: 'cancel' });
519
+ }
520
+ /**
521
+ * Get initials for a user (for avatar display)
522
+ */
523
+ getUserInitials(user) {
524
+ const name = user.Name || user.Email || '?';
525
+ const parts = name.split(' ');
526
+ if (parts.length >= 2) {
527
+ return (parts[0][0] + parts[1][0]).toUpperCase();
528
+ }
529
+ return name.substring(0, 2).toUpperCase();
530
+ }
531
+ static ɵfac = function DashboardShareDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DashboardShareDialogComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
532
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DashboardShareDialogComponent, selectors: [["mj-dashboard-share-dialog"]], inputs: { Visible: "Visible", Dashboard: "Dashboard" }, outputs: { Result: "Result" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "mj-share-dialog-window", "kendoWindowContainer", "", 3, "width", "minHeight", "resizable", "draggable", "keepContent", "close", 4, "ngIf"], ["kendoWindowContainer", "", 1, "mj-share-dialog-window", 3, "close", "width", "minHeight", "resizable", "draggable", "keepContent"], [1, "share-dialog-header"], [1, "fa-solid", "fa-share-nodes"], [1, "share-dialog-body"], [1, "share-alert", "share-alert-error"], [1, "share-section"], [1, "share-search-box"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Add people by name or email...", 3, "ngModelChange", "ngModel", "disabled"], [1, "share-user-dropdown"], [1, "share-no-results"], [1, "share-section-label"], [1, "share-person", "share-owner"], [1, "share-avatar", "share-avatar-owner"], [1, "fa-solid", "fa-crown"], [1, "share-person-info"], [1, "share-person-name"], [1, "share-person-role"], [1, "share-person", 3, "share-person-new", "share-person-modified"], [1, "share-empty"], [1, "share-removed-section"], [1, "share-footer"], [1, "share-changes-hint"], [1, "share-footer-actions"], ["type", "button", 1, "share-btn", "share-btn-secondary", 3, "click"], ["type", "button", 1, "share-btn", "share-btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-exclamation-triangle"], ["type", "button", 1, "share-user-option", 3, "disabled"], ["type", "button", 1, "share-user-option", 3, "click", "disabled"], [1, "share-avatar"], [1, "share-user-name"], [1, "share-user-email"], [1, "fa-solid", "fa-plus"], [1, "share-person"], [1, "share-badge-new"], [1, "share-person-email"], [1, "share-permissions"], ["title", "Can view", 1, "share-perm"], ["type", "checkbox", "disabled", "", 3, "checked"], [1, "fa-solid", "fa-eye"], ["title", "Can edit", 1, "share-perm"], ["type", "checkbox", 3, "change", "checked"], [1, "fa-solid", "fa-edit"], ["title", "Can delete", 1, "share-perm"], [1, "fa-solid", "fa-trash"], ["title", "Can share", 1, "share-perm"], [1, "fa-solid", "fa-share"], ["type", "button", "title", "Remove", 1, "share-remove-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "fa-solid", "fa-user-lock"], [1, "share-removed-item"], [1, "share-avatar", "share-avatar-removed"], [1, "share-removed-name"], ["type", "button", 1, "share-undo-btn", 3, "click"], [1, "fa-solid", "fa-undo"], [1, "fa-solid", "fa-circle"], [1, "fa-solid", "fa-spinner", "fa-spin"]], template: function DashboardShareDialogComponent_Template(rf, ctx) { if (rf & 1) {
533
+ i0.ɵɵtemplate(0, DashboardShareDialogComponent_kendo_window_0_Template, 37, 17, "kendo-window", 0);
534
+ } if (rf & 2) {
535
+ i0.ɵɵproperty("ngIf", ctx.Visible);
536
+ } }, dependencies: [i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.WindowComponent, i3.WindowTitleBarComponent, i3.WindowContainerDirective], styles: ["/* Dashboard Share Dialog - Compact Design */\n\n/* Window Styling - use specific class to override Kendo defaults */\n.mj-share-dialog-window.k-window {\n border-radius: 12px !important;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;\n overflow: hidden !important;\n}\n\n.mj-share-dialog-window .k-window-titlebar {\n background: #3f51b5 !important;\n border: none !important;\n padding: 16px 20px !important;\n}\n\n.mj-share-dialog-window .k-window-titlebar .k-window-title {\n display: none !important;\n}\n\n.mj-share-dialog-window .k-window-titlebar .k-window-actions .k-button {\n background: rgba(255, 255, 255, 0.15) !important;\n border: none !important;\n color: #fff !important;\n border-radius: 4px !important;\n}\n\n.mj-share-dialog-window .k-window-titlebar .k-window-actions .k-button:hover {\n background: rgba(255, 255, 255, 0.25) !important;\n}\n\n.mj-share-dialog-window .k-window-content {\n padding: 0 !important;\n background: #fff !important;\n}\n\n/* Header */\n.share-dialog-header {\n display: flex;\n align-items: center;\n gap: 10px;\n color: #fff;\n font-size: 16px;\n font-weight: 500;\n}\n\n.share-dialog-header i {\n font-size: 18px;\n opacity: 0.9;\n}\n\n/* Body */\n.share-dialog-body {\n padding: 0;\n}\n\n/* Alert */\n.share-alert {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 12px 20px;\n font-size: 13px;\n}\n\n.share-alert-error {\n background: #ffebee;\n color: #c62828;\n border-bottom: 1px solid #ffcdd2;\n}\n\n/* Sections */\n.share-section {\n padding: 16px 20px;\n}\n\n.share-section:not(:last-child) {\n border-bottom: 1px solid #e0e0e0;\n}\n\n.share-section-label {\n font-size: 11px;\n font-weight: 600;\n color: #757575;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 12px;\n}\n\n/* Search Box */\n.share-search-box {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 14px;\n background: #f5f5f5;\n border-radius: 8px;\n border: 1px solid transparent;\n transition: all 0.15s;\n}\n\n.share-search-box:focus-within {\n background: #fff;\n border-color: #3f51b5;\n box-shadow: 0 0 0 3px rgba(63, 81, 181, 0.1);\n}\n\n.share-search-box i {\n color: #9e9e9e;\n font-size: 14px;\n}\n\n.share-search-box input {\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n outline: none;\n}\n\n.share-search-box input::placeholder {\n color: #9e9e9e;\n}\n\n/* User Dropdown */\n.share-user-dropdown {\n margin-top: 8px;\n max-height: 180px;\n overflow-y: auto;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n background: #fafafa;\n}\n\n.share-user-option {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 12px;\n border: none;\n background: transparent;\n cursor: pointer;\n text-align: left;\n transition: background 0.1s;\n}\n\n.share-user-option:hover {\n background: rgba(63, 81, 181, 0.08);\n}\n\n.share-user-option:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.share-user-option .share-user-name {\n flex: 1;\n font-size: 14px;\n font-weight: 500;\n color: #212121;\n}\n\n.share-user-option .share-user-email {\n font-size: 12px;\n color: #757575;\n margin-right: auto;\n}\n\n.share-user-option i.fa-plus {\n color: #3f51b5;\n font-size: 12px;\n opacity: 0;\n transition: opacity 0.1s;\n}\n\n.share-user-option:hover i.fa-plus {\n opacity: 1;\n}\n\n.share-no-results {\n padding: 16px;\n text-align: center;\n color: #757575;\n font-size: 13px;\n}\n\n/* Avatar */\n.share-avatar {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: linear-gradient(135deg, #5c6bc0, #3f51b5);\n color: #fff;\n font-size: 12px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.share-avatar-owner {\n background: linear-gradient(135deg, #ffc107, #ff9800);\n font-size: 14px;\n}\n\n.share-avatar-removed {\n background: #bdbdbd;\n}\n\n/* Person Row */\n.share-person {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 0;\n}\n\n.share-person:not(:last-child) {\n border-bottom: 1px solid #f0f0f0;\n}\n\n.share-person-new {\n background: rgba(76, 175, 80, 0.05);\n margin: 0 -20px;\n padding: 10px 20px;\n}\n\n.share-person-modified {\n background: rgba(33, 150, 243, 0.05);\n margin: 0 -20px;\n padding: 10px 20px;\n}\n\n.share-person-info {\n flex: 1;\n min-width: 0;\n}\n\n.share-person-name {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 500;\n color: #212121;\n}\n\n.share-person-email {\n font-size: 12px;\n color: #757575;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.share-person-role {\n font-size: 12px;\n color: #ff9800;\n font-weight: 500;\n}\n\n.share-badge-new {\n padding: 2px 6px;\n background: #4caf50;\n color: #fff;\n font-size: 10px;\n font-weight: 600;\n border-radius: 4px;\n}\n\n/* Permissions */\n.share-permissions {\n display: flex;\n gap: 4px;\n}\n\n.share-perm {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: 4px;\n cursor: pointer;\n transition: all 0.1s;\n position: relative;\n}\n\n.share-perm input {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n}\n\n.share-perm i {\n font-size: 12px;\n color: #bdbdbd;\n transition: color 0.1s;\n}\n\n.share-perm:hover {\n background: #f0f0f0;\n}\n\n.share-perm input:checked + i {\n color: #3f51b5;\n}\n\n.share-perm input:disabled + i {\n color: #3f51b5;\n opacity: 0.7;\n}\n\n/* Remove Button */\n.share-remove-btn {\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: #bdbdbd;\n border-radius: 4px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.1s;\n}\n\n.share-remove-btn:hover {\n background: #ffebee;\n color: #f44336;\n}\n\n/* Empty State */\n.share-empty {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 20px;\n color: #9e9e9e;\n font-size: 13px;\n background: #fafafa;\n border-radius: 8px;\n justify-content: center;\n}\n\n.share-empty i {\n font-size: 16px;\n}\n\n/* Removed Section */\n.share-removed-section {\n margin-top: 12px;\n padding: 12px;\n background: #fff3e0;\n border-radius: 8px;\n border: 1px solid #ffe0b2;\n}\n\n.share-removed-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 6px 0;\n}\n\n.share-removed-name {\n flex: 1;\n font-size: 13px;\n color: #757575;\n text-decoration: line-through;\n}\n\n.share-undo-btn {\n padding: 4px 10px;\n border: none;\n background: transparent;\n color: #f57c00;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.share-undo-btn:hover {\n text-decoration: underline;\n}\n\n/* Footer */\n.share-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n background: #fafafa;\n border-top: 1px solid #e0e0e0;\n}\n\n.share-changes-hint {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #3f51b5;\n}\n\n.share-changes-hint i {\n font-size: 6px;\n}\n\n.share-footer-actions {\n display: flex;\n gap: 10px;\n margin-left: auto;\n}\n\n.share-btn {\n padding: 8px 18px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.share-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.share-btn-secondary {\n background: #fff;\n border: 1px solid #d0d0d0;\n color: #666;\n}\n\n.share-btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n border-color: #bdbdbd;\n}\n\n.share-btn-primary {\n background: #3f51b5;\n border: none;\n color: #fff;\n}\n\n.share-btn-primary:hover:not(:disabled) {\n background: #303f9f;\n box-shadow: 0 2px 8px rgba(63, 81, 181, 0.3);\n}\n\n/* Owner row specific styling */\n.share-owner {\n background: linear-gradient(135deg, #fff8e1, #ffecb3);\n margin: 0 -20px;\n padding: 10px 20px;\n border-radius: 0;\n}\n"], encapsulation: 2 });
537
+ }
538
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DashboardShareDialogComponent, [{
539
+ type: Component,
540
+ args: [{ selector: 'mj-dashboard-share-dialog', encapsulation: ViewEncapsulation.None, template: "<kendo-window\n *ngIf=\"Visible\"\n [width]=\"560\"\n [minHeight]=\"200\"\n [resizable]=\"false\"\n [draggable]=\"true\"\n [keepContent]=\"true\"\n (close)=\"onCancel()\"\n class=\"mj-share-dialog-window\"\n kendoWindowContainer>\n\n <kendo-window-titlebar>\n <div class=\"share-dialog-header\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n <span>Share \"{{ Dashboard?.Name }}\"</span>\n </div>\n </kendo-window-titlebar>\n\n <div class=\"share-dialog-body\">\n <!-- Error Alert -->\n @if (Error) {\n <div class=\"share-alert share-alert-error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n <span>{{ Error }}</span>\n </div>\n }\n\n <!-- Add Users Section -->\n <div class=\"share-section\">\n <div class=\"share-search-box\">\n <i class=\"fa-solid fa-search\"></i>\n <input\n type=\"text\"\n placeholder=\"Add people by name or email...\"\n [(ngModel)]=\"UserSearchFilter\"\n [disabled]=\"IsLoading\">\n </div>\n\n <!-- Available Users Dropdown -->\n @if (FilteredAvailableUsers.length > 0) {\n <div class=\"share-user-dropdown\">\n @for (user of FilteredAvailableUsers; track user.ID) {\n <button type=\"button\" class=\"share-user-option\" (click)=\"addUserShare(user)\" [disabled]=\"IsLoading\">\n <span class=\"share-avatar\">{{ getUserInitials(user) }}</span>\n <span class=\"share-user-name\">{{ user.Name }}</span>\n @if (user.Email) {\n <span class=\"share-user-email\">{{ user.Email }}</span>\n }\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n }\n </div>\n }\n @if (UserSearchFilter && FilteredAvailableUsers.length === 0) {\n <div class=\"share-no-results\">\n No users found matching \"{{ UserSearchFilter }}\"\n </div>\n }\n </div>\n\n <!-- People with Access -->\n <div class=\"share-section\">\n <div class=\"share-section-label\">People with access</div>\n\n <!-- Owner -->\n <div class=\"share-person share-owner\">\n <span class=\"share-avatar share-avatar-owner\">\n <i class=\"fa-solid fa-crown\"></i>\n </span>\n <div class=\"share-person-info\">\n <span class=\"share-person-name\">{{ Dashboard?.User || 'You' }}</span>\n <span class=\"share-person-role\">Owner</span>\n </div>\n </div>\n\n <!-- Shared Users -->\n @for (share of ActiveShares; track share.User.ID) {\n <div class=\"share-person\" [class.share-person-new]=\"share.IsNew\" [class.share-person-modified]=\"share.Permission.Dirty\">\n <span class=\"share-avatar\">{{ getUserInitials(share.User) }}</span>\n <div class=\"share-person-info\">\n <span class=\"share-person-name\">\n {{ share.User.Name }}\n @if (share.IsNew) {\n <span class=\"share-badge-new\">New</span>\n }\n </span>\n @if (share.User.Email) {\n <span class=\"share-person-email\">{{ share.User.Email }}</span>\n }\n </div>\n <div class=\"share-permissions\">\n <label class=\"share-perm\" title=\"Can view\">\n <input type=\"checkbox\" [checked]=\"share.Permission.CanRead\" disabled>\n <i class=\"fa-solid fa-eye\"></i>\n </label>\n <label class=\"share-perm\" title=\"Can edit\">\n <input type=\"checkbox\" [checked]=\"share.Permission.CanEdit\" (change)=\"toggleCanEdit(share)\">\n <i class=\"fa-solid fa-edit\"></i>\n </label>\n <label class=\"share-perm\" title=\"Can delete\">\n <input type=\"checkbox\" [checked]=\"share.Permission.CanDelete\" (change)=\"toggleCanDelete(share)\">\n <i class=\"fa-solid fa-trash\"></i>\n </label>\n <label class=\"share-perm\" title=\"Can share\">\n <input type=\"checkbox\" [checked]=\"share.Permission.CanShare\" (change)=\"toggleCanShare(share)\">\n <i class=\"fa-solid fa-share\"></i>\n </label>\n </div>\n <button type=\"button\" class=\"share-remove-btn\" (click)=\"removeUserShare(share)\" title=\"Remove\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n\n @if (ActiveShares.length === 0) {\n <div class=\"share-empty\">\n <i class=\"fa-solid fa-user-lock\"></i>\n <span>Not shared with anyone yet</span>\n </div>\n }\n\n <!-- Pending Removals -->\n @if (RemovedShares.length > 0) {\n <div class=\"share-removed-section\">\n @for (share of RemovedShares; track share.User.ID) {\n <div class=\"share-removed-item\">\n <span class=\"share-avatar share-avatar-removed\">{{ getUserInitials(share.User) }}</span>\n <span class=\"share-removed-name\">{{ share.User.Name }}</span>\n <button type=\"button\" class=\"share-undo-btn\" (click)=\"undoRemove(share)\">\n <i class=\"fa-solid fa-undo\"></i> Undo\n </button>\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Footer -->\n <div class=\"share-footer\">\n @if (HasChanges) {\n <span class=\"share-changes-hint\">\n <i class=\"fa-solid fa-circle\"></i> Unsaved changes\n </span>\n }\n <div class=\"share-footer-actions\">\n <button type=\"button\" class=\"share-btn share-btn-secondary\" (click)=\"onCancel()\">\n Cancel\n </button>\n <button\n type=\"button\"\n class=\"share-btn share-btn-primary\"\n (click)=\"onSave()\"\n [disabled]=\"!HasChanges || IsLoading\">\n @if (IsLoading) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Saving...\n } @else {\n Save\n }\n </button>\n </div>\n </div>\n </div>\n</kendo-window>\n", styles: ["/* Dashboard Share Dialog - Compact Design */\n\n/* Window Styling - use specific class to override Kendo defaults */\n.mj-share-dialog-window.k-window {\n border-radius: 12px !important;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;\n overflow: hidden !important;\n}\n\n.mj-share-dialog-window .k-window-titlebar {\n background: #3f51b5 !important;\n border: none !important;\n padding: 16px 20px !important;\n}\n\n.mj-share-dialog-window .k-window-titlebar .k-window-title {\n display: none !important;\n}\n\n.mj-share-dialog-window .k-window-titlebar .k-window-actions .k-button {\n background: rgba(255, 255, 255, 0.15) !important;\n border: none !important;\n color: #fff !important;\n border-radius: 4px !important;\n}\n\n.mj-share-dialog-window .k-window-titlebar .k-window-actions .k-button:hover {\n background: rgba(255, 255, 255, 0.25) !important;\n}\n\n.mj-share-dialog-window .k-window-content {\n padding: 0 !important;\n background: #fff !important;\n}\n\n/* Header */\n.share-dialog-header {\n display: flex;\n align-items: center;\n gap: 10px;\n color: #fff;\n font-size: 16px;\n font-weight: 500;\n}\n\n.share-dialog-header i {\n font-size: 18px;\n opacity: 0.9;\n}\n\n/* Body */\n.share-dialog-body {\n padding: 0;\n}\n\n/* Alert */\n.share-alert {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 12px 20px;\n font-size: 13px;\n}\n\n.share-alert-error {\n background: #ffebee;\n color: #c62828;\n border-bottom: 1px solid #ffcdd2;\n}\n\n/* Sections */\n.share-section {\n padding: 16px 20px;\n}\n\n.share-section:not(:last-child) {\n border-bottom: 1px solid #e0e0e0;\n}\n\n.share-section-label {\n font-size: 11px;\n font-weight: 600;\n color: #757575;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 12px;\n}\n\n/* Search Box */\n.share-search-box {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 14px;\n background: #f5f5f5;\n border-radius: 8px;\n border: 1px solid transparent;\n transition: all 0.15s;\n}\n\n.share-search-box:focus-within {\n background: #fff;\n border-color: #3f51b5;\n box-shadow: 0 0 0 3px rgba(63, 81, 181, 0.1);\n}\n\n.share-search-box i {\n color: #9e9e9e;\n font-size: 14px;\n}\n\n.share-search-box input {\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n outline: none;\n}\n\n.share-search-box input::placeholder {\n color: #9e9e9e;\n}\n\n/* User Dropdown */\n.share-user-dropdown {\n margin-top: 8px;\n max-height: 180px;\n overflow-y: auto;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n background: #fafafa;\n}\n\n.share-user-option {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 12px;\n border: none;\n background: transparent;\n cursor: pointer;\n text-align: left;\n transition: background 0.1s;\n}\n\n.share-user-option:hover {\n background: rgba(63, 81, 181, 0.08);\n}\n\n.share-user-option:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.share-user-option .share-user-name {\n flex: 1;\n font-size: 14px;\n font-weight: 500;\n color: #212121;\n}\n\n.share-user-option .share-user-email {\n font-size: 12px;\n color: #757575;\n margin-right: auto;\n}\n\n.share-user-option i.fa-plus {\n color: #3f51b5;\n font-size: 12px;\n opacity: 0;\n transition: opacity 0.1s;\n}\n\n.share-user-option:hover i.fa-plus {\n opacity: 1;\n}\n\n.share-no-results {\n padding: 16px;\n text-align: center;\n color: #757575;\n font-size: 13px;\n}\n\n/* Avatar */\n.share-avatar {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: linear-gradient(135deg, #5c6bc0, #3f51b5);\n color: #fff;\n font-size: 12px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.share-avatar-owner {\n background: linear-gradient(135deg, #ffc107, #ff9800);\n font-size: 14px;\n}\n\n.share-avatar-removed {\n background: #bdbdbd;\n}\n\n/* Person Row */\n.share-person {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 0;\n}\n\n.share-person:not(:last-child) {\n border-bottom: 1px solid #f0f0f0;\n}\n\n.share-person-new {\n background: rgba(76, 175, 80, 0.05);\n margin: 0 -20px;\n padding: 10px 20px;\n}\n\n.share-person-modified {\n background: rgba(33, 150, 243, 0.05);\n margin: 0 -20px;\n padding: 10px 20px;\n}\n\n.share-person-info {\n flex: 1;\n min-width: 0;\n}\n\n.share-person-name {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 500;\n color: #212121;\n}\n\n.share-person-email {\n font-size: 12px;\n color: #757575;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.share-person-role {\n font-size: 12px;\n color: #ff9800;\n font-weight: 500;\n}\n\n.share-badge-new {\n padding: 2px 6px;\n background: #4caf50;\n color: #fff;\n font-size: 10px;\n font-weight: 600;\n border-radius: 4px;\n}\n\n/* Permissions */\n.share-permissions {\n display: flex;\n gap: 4px;\n}\n\n.share-perm {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: 4px;\n cursor: pointer;\n transition: all 0.1s;\n position: relative;\n}\n\n.share-perm input {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n}\n\n.share-perm i {\n font-size: 12px;\n color: #bdbdbd;\n transition: color 0.1s;\n}\n\n.share-perm:hover {\n background: #f0f0f0;\n}\n\n.share-perm input:checked + i {\n color: #3f51b5;\n}\n\n.share-perm input:disabled + i {\n color: #3f51b5;\n opacity: 0.7;\n}\n\n/* Remove Button */\n.share-remove-btn {\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: #bdbdbd;\n border-radius: 4px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.1s;\n}\n\n.share-remove-btn:hover {\n background: #ffebee;\n color: #f44336;\n}\n\n/* Empty State */\n.share-empty {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 20px;\n color: #9e9e9e;\n font-size: 13px;\n background: #fafafa;\n border-radius: 8px;\n justify-content: center;\n}\n\n.share-empty i {\n font-size: 16px;\n}\n\n/* Removed Section */\n.share-removed-section {\n margin-top: 12px;\n padding: 12px;\n background: #fff3e0;\n border-radius: 8px;\n border: 1px solid #ffe0b2;\n}\n\n.share-removed-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 6px 0;\n}\n\n.share-removed-name {\n flex: 1;\n font-size: 13px;\n color: #757575;\n text-decoration: line-through;\n}\n\n.share-undo-btn {\n padding: 4px 10px;\n border: none;\n background: transparent;\n color: #f57c00;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.share-undo-btn:hover {\n text-decoration: underline;\n}\n\n/* Footer */\n.share-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n background: #fafafa;\n border-top: 1px solid #e0e0e0;\n}\n\n.share-changes-hint {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #3f51b5;\n}\n\n.share-changes-hint i {\n font-size: 6px;\n}\n\n.share-footer-actions {\n display: flex;\n gap: 10px;\n margin-left: auto;\n}\n\n.share-btn {\n padding: 8px 18px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.share-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.share-btn-secondary {\n background: #fff;\n border: 1px solid #d0d0d0;\n color: #666;\n}\n\n.share-btn-secondary:hover:not(:disabled) {\n background: #f5f5f5;\n border-color: #bdbdbd;\n}\n\n.share-btn-primary {\n background: #3f51b5;\n border: none;\n color: #fff;\n}\n\n.share-btn-primary:hover:not(:disabled) {\n background: #303f9f;\n box-shadow: 0 2px 8px rgba(63, 81, 181, 0.3);\n}\n\n/* Owner row specific styling */\n.share-owner {\n background: linear-gradient(135deg, #fff8e1, #ffecb3);\n margin: 0 -20px;\n padding: 10px 20px;\n border-radius: 0;\n}\n"] }]
541
+ }], () => [{ type: i0.ChangeDetectorRef }], { Visible: [{
542
+ type: Input
543
+ }], Dashboard: [{
544
+ type: Input
545
+ }], Result: [{
546
+ type: Output
547
+ }] }); })();
548
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardShareDialogComponent, { className: "DashboardShareDialogComponent", filePath: "src/DashboardBrowser/dashboard-share-dialog.component.ts", lineNumber: 39 }); })();
549
+ //# sourceMappingURL=dashboard-share-dialog.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-share-dialog.component.js","sourceRoot":"","sources":["../../src/DashboardBrowser/dashboard-share-dialog.component.ts","../../src/DashboardBrowser/dashboard-share-dialog.component.html"],"names":[],"mappings":"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"}
@@ -191,5 +191,5 @@ export class FilterDialogComponent {
191
191
  type: HostListener,
192
192
  args: ['document:keydown.escape']
193
193
  }] }); })();
194
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FilterDialogComponent, { className: "FilterDialogComponent" }); })();
194
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FilterDialogComponent, { className: "FilterDialogComponent", filePath: "src/DataExplorer/components/filter-dialog/filter-dialog.component.ts", lineNumber: 15 }); })();
195
195
  //# sourceMappingURL=filter-dialog.component.js.map
@@ -549,5 +549,5 @@ export class NavigationPanelComponent {
549
549
  }], expandAndFocus: [{
550
550
  type: Output
551
551
  }] }); })();
552
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NavigationPanelComponent, { className: "NavigationPanelComponent" }); })();
552
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NavigationPanelComponent, { className: "NavigationPanelComponent", filePath: "src/DataExplorer/components/navigation-panel/navigation-panel.component.ts", lineNumber: 26 }); })();
553
553
  //# sourceMappingURL=navigation-panel.component.js.map