@memberjunction/ng-explorer-core 6.2.0-edge.0 → 6.2.0-edge.2

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 (190) hide show
  1. package/dist/app-routing.module.d.ts +23 -1
  2. package/dist/app-routing.module.d.ts.map +1 -1
  3. package/dist/app-routing.module.js +50 -14
  4. package/dist/app-routing.module.js.map +1 -1
  5. package/dist/generated/lazy-feature-config.d.ts +1 -1
  6. package/dist/generated/lazy-feature-config.d.ts.map +1 -1
  7. package/dist/generated/lazy-feature-config.js +12 -1
  8. package/dist/generated/lazy-feature-config.js.map +1 -1
  9. package/dist/lib/command-palette/command-palette.component.d.ts +7 -1
  10. package/dist/lib/command-palette/command-palette.component.d.ts.map +1 -1
  11. package/dist/lib/command-palette/command-palette.component.js +28 -14
  12. package/dist/lib/command-palette/command-palette.component.js.map +1 -1
  13. package/dist/lib/conversation-feedback/conversation-feedback.d.ts +103 -13
  14. package/dist/lib/conversation-feedback/conversation-feedback.d.ts.map +1 -1
  15. package/dist/lib/conversation-feedback/conversation-feedback.js +219 -67
  16. package/dist/lib/conversation-feedback/conversation-feedback.js.map +1 -1
  17. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts +64 -10
  18. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts.map +1 -1
  19. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +172 -66
  20. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
  21. package/dist/lib/generic/resource-container-component.d.ts +19 -5
  22. package/dist/lib/generic/resource-container-component.d.ts.map +1 -1
  23. package/dist/lib/generic/resource-container-component.js +43 -13
  24. package/dist/lib/generic/resource-container-component.js.map +1 -1
  25. package/dist/lib/guards/entities.guard.d.ts +4 -0
  26. package/dist/lib/guards/entities.guard.d.ts.map +1 -1
  27. package/dist/lib/guards/entities.guard.js +10 -2
  28. package/dist/lib/guards/entities.guard.js.map +1 -1
  29. package/dist/lib/identity-claims/claim-redeem.component.d.ts +4 -0
  30. package/dist/lib/identity-claims/claim-redeem.component.d.ts.map +1 -1
  31. package/dist/lib/identity-claims/claim-redeem.component.js +10 -2
  32. package/dist/lib/identity-claims/claim-redeem.component.js.map +1 -1
  33. package/dist/lib/oauth/oauth-callback.component.d.ts +4 -0
  34. package/dist/lib/oauth/oauth-callback.component.d.ts.map +1 -1
  35. package/dist/lib/oauth/oauth-callback.component.js +10 -2
  36. package/dist/lib/oauth/oauth-callback.component.js.map +1 -1
  37. package/dist/lib/profile/profile-dialog.component.d.ts.map +1 -1
  38. package/dist/lib/profile/profile-dialog.component.js +194 -191
  39. package/dist/lib/profile/profile-dialog.component.js.map +1 -1
  40. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +20 -2
  41. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -1
  42. package/dist/lib/resource-wrappers/artifact-resource.component.js +33 -9
  43. package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
  44. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +80 -10
  45. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
  46. package/dist/lib/resource-wrappers/chat-collections-resource.component.js +168 -56
  47. package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
  48. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +199 -25
  49. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
  50. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +534 -182
  51. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
  52. package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts +2 -0
  53. package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts.map +1 -1
  54. package/dist/lib/resource-wrappers/chat-deeplink-params.js +5 -1
  55. package/dist/lib/resource-wrappers/chat-deeplink-params.js.map +1 -1
  56. package/dist/lib/resource-wrappers/chat-search-routing.d.ts +25 -0
  57. package/dist/lib/resource-wrappers/chat-search-routing.d.ts.map +1 -0
  58. package/dist/lib/resource-wrappers/chat-search-routing.js +24 -0
  59. package/dist/lib/resource-wrappers/chat-search-routing.js.map +1 -0
  60. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +14 -2
  61. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -1
  62. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +32 -8
  63. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -1
  64. package/dist/lib/resource-wrappers/compose-email-fallback.d.ts +46 -0
  65. package/dist/lib/resource-wrappers/compose-email-fallback.d.ts.map +1 -0
  66. package/dist/lib/resource-wrappers/compose-email-fallback.js +62 -0
  67. package/dist/lib/resource-wrappers/compose-email-fallback.js.map +1 -0
  68. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +54 -8
  69. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
  70. package/dist/lib/resource-wrappers/dashboard-resource.component.js +138 -46
  71. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  72. package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts +223 -30
  73. package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts.map +1 -1
  74. package/dist/lib/resource-wrappers/livekit-room-resource.component.js +438 -118
  75. package/dist/lib/resource-wrappers/livekit-room-resource.component.js.map +1 -1
  76. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +7 -3
  77. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
  78. package/dist/lib/resource-wrappers/search-results-resource.component.js +23 -15
  79. package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
  80. package/dist/lib/resource-wrappers/view-resource.component.d.ts +74 -11
  81. package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
  82. package/dist/lib/resource-wrappers/view-resource.component.js +214 -68
  83. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  84. package/dist/lib/services/server-connectivity.service.d.ts +9 -4
  85. package/dist/lib/services/server-connectivity.service.d.ts.map +1 -1
  86. package/dist/lib/services/server-connectivity.service.js +56 -12
  87. package/dist/lib/services/server-connectivity.service.js.map +1 -1
  88. package/dist/lib/services/startup-validation.service.d.ts +4 -0
  89. package/dist/lib/services/startup-validation.service.d.ts.map +1 -1
  90. package/dist/lib/services/startup-validation.service.js +10 -2
  91. package/dist/lib/services/startup-validation.service.js.map +1 -1
  92. package/dist/lib/services/system-validation.service.d.ts +13 -1
  93. package/dist/lib/services/system-validation.service.d.ts.map +1 -1
  94. package/dist/lib/services/system-validation.service.js +29 -5
  95. package/dist/lib/services/system-validation.service.js.map +1 -1
  96. package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts +54 -4
  97. package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts.map +1 -1
  98. package/dist/lib/shell/components/dialogs/app-access-dialog.component.js +130 -40
  99. package/dist/lib/shell/components/dialogs/app-access-dialog.component.js.map +1 -1
  100. package/dist/lib/shell/components/header/app-nav.component.d.ts +29 -1
  101. package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -1
  102. package/dist/lib/shell/components/header/app-nav.component.js +56 -12
  103. package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
  104. package/dist/lib/shell/components/header/app-switcher.component.d.ts +33 -5
  105. package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -1
  106. package/dist/lib/shell/components/header/app-switcher.component.js +85 -29
  107. package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -1
  108. package/dist/lib/shell/components/record-open/record-origin-crumb.component.js +1 -1
  109. package/dist/lib/shell/components/record-open/record-origin-crumb.component.js.map +1 -1
  110. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +50 -6
  111. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
  112. package/dist/lib/shell/components/tabs/component-cache-manager.js +95 -22
  113. package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
  114. package/dist/lib/shell/components/tabs/tab-container.component.d.ts +91 -9
  115. package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
  116. package/dist/lib/shell/components/tabs/tab-container.component.js +257 -101
  117. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
  118. package/dist/lib/shell/loading-themes.d.ts +16 -12
  119. package/dist/lib/shell/loading-themes.d.ts.map +1 -1
  120. package/dist/lib/shell/loading-themes.js +145 -137
  121. package/dist/lib/shell/loading-themes.js.map +1 -1
  122. package/dist/lib/shell/readiness-beacon.d.ts +2 -0
  123. package/dist/lib/shell/readiness-beacon.d.ts.map +1 -1
  124. package/dist/lib/shell/readiness-beacon.js +5 -1
  125. package/dist/lib/shell/readiness-beacon.js.map +1 -1
  126. package/dist/lib/shell/services/about-dialog.service.d.ts +6 -0
  127. package/dist/lib/shell/services/about-dialog.service.d.ts.map +1 -1
  128. package/dist/lib/shell/services/about-dialog.service.js +16 -4
  129. package/dist/lib/shell/services/about-dialog.service.js.map +1 -1
  130. package/dist/lib/shell/services/profile-dialog.service.d.ts +6 -0
  131. package/dist/lib/shell/services/profile-dialog.service.d.ts.map +1 -1
  132. package/dist/lib/shell/services/profile-dialog.service.js +16 -4
  133. package/dist/lib/shell/services/profile-dialog.service.js.map +1 -1
  134. package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts +6 -0
  135. package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts.map +1 -1
  136. package/dist/lib/shell/services/user-sharing-center-dialog.service.js +15 -3
  137. package/dist/lib/shell/services/user-sharing-center-dialog.service.js.map +1 -1
  138. package/dist/lib/shell/shell.component.d.ts +264 -39
  139. package/dist/lib/shell/shell.component.d.ts.map +1 -1
  140. package/dist/lib/shell/shell.component.js +697 -294
  141. package/dist/lib/shell/shell.component.js.map +1 -1
  142. package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts +64 -8
  143. package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts.map +1 -1
  144. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +129 -37
  145. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
  146. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts +26 -2
  147. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts.map +1 -1
  148. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +48 -10
  149. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
  150. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts +84 -6
  151. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts.map +1 -1
  152. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +133 -29
  153. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
  154. package/dist/lib/single-dashboard/single-dashboard.component.d.ts +173 -23
  155. package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
  156. package/dist/lib/single-dashboard/single-dashboard.component.js +383 -109
  157. package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
  158. package/dist/lib/single-list-detail/single-list-detail.component.d.ts +383 -55
  159. package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
  160. package/dist/lib/single-list-detail/single-list-detail.component.js +962 -326
  161. package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
  162. package/dist/lib/single-query/single-query.component.d.ts +22 -2
  163. package/dist/lib/single-query/single-query.component.d.ts.map +1 -1
  164. package/dist/lib/single-query/single-query.component.js +40 -10
  165. package/dist/lib/single-query/single-query.component.js.map +1 -1
  166. package/dist/lib/single-record/single-record.component.d.ts +41 -3
  167. package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
  168. package/dist/lib/single-record/single-record.component.js +71 -11
  169. package/dist/lib/single-record/single-record.component.js.map +1 -1
  170. package/dist/lib/single-search-result/single-search-result.component.d.ts +23 -3
  171. package/dist/lib/single-search-result/single-search-result.component.d.ts.map +1 -1
  172. package/dist/lib/single-search-result/single-search-result.component.js +42 -12
  173. package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
  174. package/dist/lib/system-validation/system-validation-banner.component.d.ts +12 -2
  175. package/dist/lib/system-validation/system-validation-banner.component.d.ts.map +1 -1
  176. package/dist/lib/system-validation/system-validation-banner.component.js +25 -5
  177. package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -1
  178. package/dist/lib/user-menu/user-menu.types.d.ts +4 -0
  179. package/dist/lib/user-menu/user-menu.types.d.ts.map +1 -1
  180. package/dist/lib/user-menu/user-menu.types.js +10 -2
  181. package/dist/lib/user-menu/user-menu.types.js.map +1 -1
  182. package/dist/lib/user-notifications/user-notifications.component.d.ts +59 -7
  183. package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
  184. package/dist/lib/user-notifications/user-notifications.component.js +151 -47
  185. package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
  186. package/dist/lib/user-profile/user-profile.component.d.ts +3 -2
  187. package/dist/lib/user-profile/user-profile.component.d.ts.map +1 -1
  188. package/dist/lib/user-profile/user-profile.component.js +5 -4
  189. package/dist/lib/user-profile/user-profile.component.js.map +1 -1
  190. package/package.json +52 -52
@@ -151,35 +151,143 @@ function SingleDashboardComponent_Conditional_13_Template(rf, ctx) { if (rf & 1)
151
151
  } }
152
152
  export class SingleDashboardComponent extends BaseDashboard {
153
153
  route;
154
- sharedService;
155
- dashboardNameInput;
154
+ SharedService;
155
+ DashboardNameInput;
156
+ /** @deprecated Use {@link DashboardNameInput}. */
157
+ get dashboardNameInput() {
158
+ return this.DashboardNameInput;
159
+ }
160
+ /** @deprecated Use {@link DashboardNameInput}. */
161
+ set dashboardNameInput(value) {
162
+ this.DashboardNameInput = value;
163
+ }
156
164
  ResourceData;
157
- dashboardSaved = new EventEmitter();
158
- loadComplete = new EventEmitter();
159
- loadStarted = new EventEmitter();
160
- items = [];
161
- dashboardEntity;
165
+ DashboardSaved = new EventEmitter();
166
+ /**
167
+ * @deprecated Use {@link DashboardSaved}.
168
+ *
169
+ * The same emitter under the old binding name, so a template still binding
170
+ * (dashboardSaved) keeps working. Must stay AFTER DashboardSaved: class fields
171
+ * initialise in order, and the other way round this captures undefined.
172
+ */
173
+ dashboardSaved = this.DashboardSaved;
174
+ loadComplete = new EventEmitter(); // case-violation-ok-legacy-back-compat: an ancestor class already declares the PascalCase name
175
+ loadStarted = new EventEmitter(); // case-violation-ok-legacy-back-compat: an ancestor class already declares the PascalCase name
176
+ Items = [];
177
+ /** @deprecated Use {@link Items}. */
178
+ get items() {
179
+ return this.Items;
180
+ }
181
+ /** @deprecated Use {@link Items}. */
182
+ set items(value) {
183
+ this.Items = value;
184
+ }
185
+ DashboardEntity;
186
+ /** @deprecated Use {@link DashboardEntity}. */
187
+ get dashboardEntity() {
188
+ return this.DashboardEntity;
189
+ }
190
+ /** @deprecated Use {@link DashboardEntity}. */
191
+ set dashboardEntity(value) {
192
+ this.DashboardEntity = value;
193
+ }
162
194
  config = new DashboardConfigDetails();
163
- isItemDialogOpened = false;
164
- isEditDialogOpened = false;
165
- isEditDashboardNameDialogOpened = false;
166
- isDeletingDashboardItem = false;
167
- allowResize = false;
168
- allowReorder = false;
169
- isEditingDashboard = false;
170
- selectedResource;
171
- selectedDashboardItem;
195
+ IsItemDialogOpened = false;
196
+ /** @deprecated Use {@link IsItemDialogOpened}. */
197
+ get isItemDialogOpened() {
198
+ return this.IsItemDialogOpened;
199
+ }
200
+ /** @deprecated Use {@link IsItemDialogOpened}. */
201
+ set isItemDialogOpened(value) {
202
+ this.IsItemDialogOpened = value;
203
+ }
204
+ IsEditDialogOpened = false;
205
+ /** @deprecated Use {@link IsEditDialogOpened}. */
206
+ get isEditDialogOpened() {
207
+ return this.IsEditDialogOpened;
208
+ }
209
+ /** @deprecated Use {@link IsEditDialogOpened}. */
210
+ set isEditDialogOpened(value) {
211
+ this.IsEditDialogOpened = value;
212
+ }
213
+ IsEditDashboardNameDialogOpened = false;
214
+ /** @deprecated Use {@link IsEditDashboardNameDialogOpened}. */
215
+ get isEditDashboardNameDialogOpened() {
216
+ return this.IsEditDashboardNameDialogOpened;
217
+ }
218
+ /** @deprecated Use {@link IsEditDashboardNameDialogOpened}. */
219
+ set isEditDashboardNameDialogOpened(value) {
220
+ this.IsEditDashboardNameDialogOpened = value;
221
+ }
222
+ IsDeletingDashboardItem = false;
223
+ /** @deprecated Use {@link IsDeletingDashboardItem}. */
224
+ get isDeletingDashboardItem() {
225
+ return this.IsDeletingDashboardItem;
226
+ }
227
+ /** @deprecated Use {@link IsDeletingDashboardItem}. */
228
+ set isDeletingDashboardItem(value) {
229
+ this.IsDeletingDashboardItem = value;
230
+ }
231
+ AllowResize = false;
232
+ /** @deprecated Use {@link AllowResize}. */
233
+ get allowResize() {
234
+ return this.AllowResize;
235
+ }
236
+ /** @deprecated Use {@link AllowResize}. */
237
+ set allowResize(value) {
238
+ this.AllowResize = value;
239
+ }
240
+ AllowReorder = false;
241
+ /** @deprecated Use {@link AllowReorder}. */
242
+ get allowReorder() {
243
+ return this.AllowReorder;
244
+ }
245
+ /** @deprecated Use {@link AllowReorder}. */
246
+ set allowReorder(value) {
247
+ this.AllowReorder = value;
248
+ }
249
+ IsEditingDashboard = false;
250
+ /** @deprecated Use {@link IsEditingDashboard}. */
251
+ get isEditingDashboard() {
252
+ return this.IsEditingDashboard;
253
+ }
254
+ /** @deprecated Use {@link IsEditingDashboard}. */
255
+ set isEditingDashboard(value) {
256
+ this.IsEditingDashboard = value;
257
+ }
258
+ SelectedResource;
259
+ /** @deprecated Use {@link SelectedResource}. */
260
+ get selectedResource() {
261
+ return this.SelectedResource;
262
+ }
263
+ /** @deprecated Use {@link SelectedResource}. */
264
+ set selectedResource(value) {
265
+ this.SelectedResource = value;
266
+ }
267
+ SelectedDashboardItem;
268
+ /** @deprecated Use {@link SelectedDashboardItem}. */
269
+ get selectedDashboardItem() {
270
+ return this.SelectedDashboardItem;
271
+ }
272
+ /** @deprecated Use {@link SelectedDashboardItem}. */
273
+ set selectedDashboardItem(value) {
274
+ this.SelectedDashboardItem = value;
275
+ }
172
276
  saveChangesSubject = new Subject();
173
277
  editOnLoad = false;
174
278
  recentAccessService;
175
- get contentLoading() {
176
- for (const item of this.items) {
279
+ get ContentLoading() {
280
+ for (const item of this.Items) {
177
281
  if (item.contentLoading) {
178
282
  return true;
179
283
  }
180
284
  }
181
285
  return false;
182
286
  }
287
+ /** @deprecated Use {@link ContentLoading}. */
288
+ get contentLoading() {
289
+ return this.ContentLoading;
290
+ }
183
291
  initDashboard() {
184
292
  }
185
293
  loadData() {
@@ -187,10 +295,10 @@ export class SingleDashboardComponent extends BaseDashboard {
187
295
  async GetResourceDisplayName(data) {
188
296
  return "Dashboard";
189
297
  }
190
- constructor(route, sharedService) {
298
+ constructor(route, SharedService) {
191
299
  super();
192
300
  this.route = route;
193
- this.sharedService = sharedService;
301
+ this.SharedService = SharedService;
194
302
  this.recentAccessService = new RecentAccessService();
195
303
  this.saveChangesSubject
196
304
  .pipe(debounceTime(500), takeUntil(this.destroy$))
@@ -202,6 +310,14 @@ export class SingleDashboardComponent extends BaseDashboard {
202
310
  this.editOnLoad = true;
203
311
  }
204
312
  }
313
+ /** @deprecated Use {@link SharedService}. */
314
+ get sharedService() {
315
+ return this.SharedService;
316
+ }
317
+ /** @deprecated Use {@link SharedService}. */
318
+ set sharedService(value) {
319
+ this.SharedService = value;
320
+ }
205
321
  async ngOnInit() {
206
322
  super.ngOnInit();
207
323
  // load up the dashboard
@@ -210,13 +326,13 @@ export class SingleDashboardComponent extends BaseDashboard {
210
326
  if (this.ResourceData) {
211
327
  const md = this.ProviderToUse;
212
328
  let uiConfig = { items: [] };
213
- this.dashboardEntity = await md.GetEntityObject('MJ: Dashboards');
329
+ this.DashboardEntity = await md.GetEntityObject('MJ: Dashboards');
214
330
  if (this.ResourceData.ResourceRecordID && this.ResourceData.ResourceRecordID.length > 0) {
215
- await this.dashboardEntity.Load(this.ResourceData.ResourceRecordID);
331
+ await this.DashboardEntity.Load(this.ResourceData.ResourceRecordID);
216
332
  // Log access to dashboard (fire-and-forget, don't await)
217
333
  this.recentAccessService.logAccess('Dashboards', this.ResourceData.ResourceRecordID, 'dashboard');
218
334
  // now we have loaded and we need to get the UIConfigDetails
219
- const raw = this.dashboardEntity.UIConfigDetails;
335
+ const raw = this.DashboardEntity.UIConfigDetails;
220
336
  if (raw) {
221
337
  uiConfig = JSON.parse(raw);
222
338
  this.config.columns = uiConfig.columns;
@@ -228,15 +344,15 @@ export class SingleDashboardComponent extends BaseDashboard {
228
344
  //and we only want to show the edit view once
229
345
  if (this.editOnLoad) {
230
346
  this.editOnLoad = false;
231
- this.toggleEditDashboard(true);
347
+ this.ToggleEditDashboard(true);
232
348
  }
233
349
  }
234
350
  else {
235
- this.dashboardEntity.NewRecord(); // creating a new dashboard
236
- this.dashboardEntity.UserID = md.CurrentUser.ID;
351
+ this.DashboardEntity.NewRecord(); // creating a new dashboard
352
+ this.DashboardEntity.UserID = md.CurrentUser.ID;
237
353
  // We should never get here now because dashboard creation is handled in dashboard-browser
238
354
  // But just in case, set a better default name
239
- this.dashboardEntity.Name = 'My Dashboard';
355
+ this.DashboardEntity.Name = 'My Dashboard';
240
356
  // Set default configuration
241
357
  this.config.columns = 4; // 4-column layout
242
358
  this.config.rowHeight = 150;
@@ -244,15 +360,15 @@ export class SingleDashboardComponent extends BaseDashboard {
244
360
  this.config.reorderable = true;
245
361
  // Automatically show edit mode for new dashboards to encourage adding items
246
362
  setTimeout(() => {
247
- this.toggleEditDashboard(true);
363
+ this.ToggleEditDashboard(true);
248
364
  }, 500);
249
365
  }
250
366
  // now we need to load up the items
251
- this.items = [];
367
+ this.Items = [];
252
368
  //const tempItems = uiConfig.items.sort((a: any, b: any) => a.order - b.order);
253
369
  for (const item of uiConfig.items) {
254
370
  const dashboardItem = this.CreateDashboardItem(item);
255
- this.items.push(dashboardItem);
371
+ this.Items.push(dashboardItem);
256
372
  }
257
373
  }
258
374
  this.NotifyLoadComplete();
@@ -270,170 +386,258 @@ export class SingleDashboardComponent extends BaseDashboard {
270
386
  }
271
387
  return dashboardItem;
272
388
  }
273
- loadingStarted(resourceComponent) {
389
+ LoadingStarted(resourceComponent) {
274
390
  // look up the copmonent in the
275
- const item = this.items.find(i => i.ResourceData === resourceComponent.Data);
391
+ const item = this.Items.find(i => i.ResourceData === resourceComponent.Data);
276
392
  if (item) {
277
393
  item.contentLoading = true;
278
394
  this.loadStarted.emit();
279
395
  }
280
396
  }
281
- loadingComplete(resourceComponent) {
397
+ /** @deprecated Use {@link LoadingStarted}. */
398
+ loadingStarted(resourceComponent) {
399
+ return this.LoadingStarted(resourceComponent);
400
+ }
401
+ LoadingComplete(resourceComponent) {
282
402
  // look up the copmonent in the
283
- const item = this.items.find(i => i.ResourceData === resourceComponent.Data);
403
+ const item = this.Items.find(i => i.ResourceData === resourceComponent.Data);
284
404
  if (item) {
285
405
  item.contentLoading = false;
286
- if (!this.contentLoading) {
406
+ if (!this.ContentLoading) {
287
407
  this.loadComplete.emit();
288
408
  }
289
409
  }
290
410
  }
411
+ /** @deprecated Use {@link LoadingComplete}. */
412
+ loadingComplete(resourceComponent) {
413
+ return this.LoadingComplete(resourceComponent);
414
+ }
415
+ AddItem(resourceType = null) {
416
+ this.SelectedResource = resourceType;
417
+ this.IsItemDialogOpened = true;
418
+ this.IsEditDialogOpened = false;
419
+ }
420
+ /** @deprecated Use {@link AddItem}. */
291
421
  addItem(resourceType = null) {
292
- this.selectedResource = resourceType;
293
- this.isItemDialogOpened = true;
294
- this.isEditDialogOpened = false;
422
+ return this.AddItem(resourceType);
295
423
  }
296
- closeDialog(data) {
424
+ CloseDialog(data) {
297
425
  if (data) {
298
426
  const dashboardItem = this.CreateDashboardItem(data);
299
- this.items.push(dashboardItem);
427
+ this.Items.push(dashboardItem);
300
428
  console.log(dashboardItem);
301
429
  this.saveChangesSubject.next(true);
302
430
  }
303
- this.selectedResource = null;
304
- this.isItemDialogOpened = false;
431
+ this.SelectedResource = null;
432
+ this.IsItemDialogOpened = false;
433
+ }
434
+ /** @deprecated Use {@link CloseDialog}. */
435
+ closeDialog(data) {
436
+ return this.CloseDialog(data);
305
437
  }
438
+ ToggleEditDashboard(allowEdit) {
439
+ this.AllowReorder = allowEdit;
440
+ this.AllowResize = allowEdit;
441
+ this.IsEditingDashboard = allowEdit;
442
+ this.ToggleInlineNameEdit(false);
443
+ }
444
+ /** @deprecated Use {@link ToggleEditDashboard}. */
306
445
  toggleEditDashboard(allowEdit) {
307
- this.allowReorder = allowEdit;
308
- this.allowResize = allowEdit;
309
- this.isEditingDashboard = allowEdit;
310
- this.toggleInlineNameEdit(false);
446
+ return this.ToggleEditDashboard(allowEdit);
311
447
  }
312
- async onClickSaveDashboard() {
313
- this.toggleEditDashboard(false);
448
+ async OnClickSaveDashboard() {
449
+ this.ToggleEditDashboard(false);
314
450
  let result = await this.SaveDashboard();
315
451
  if (result) {
316
- this.sharedService.CreateSimpleNotification("Dashboard changes have been saved.", "success", 1000);
452
+ this.SharedService.CreateSimpleNotification("Dashboard changes have been saved.", "success", 1000);
317
453
  await this.ngOnInit();
318
454
  }
319
455
  else {
320
- this.sharedService.CreateSimpleNotification("An error occured saving the dashboard changes", "error", 1000);
456
+ this.SharedService.CreateSimpleNotification("An error occured saving the dashboard changes", "error", 1000);
321
457
  }
322
458
  }
323
- async onclickCancelChanges() {
324
- this.toggleEditDashboard(false);
459
+ /** @deprecated Use {@link OnClickSaveDashboard}. */
460
+ async onClickSaveDashboard() {
461
+ return this.OnClickSaveDashboard();
462
+ }
463
+ async OnclickCancelChanges() {
464
+ this.ToggleEditDashboard(false);
325
465
  await this.ngOnInit();
326
466
  }
467
+ /** @deprecated Use {@link OnclickCancelChanges}. */
468
+ async onclickCancelChanges() {
469
+ return this.OnclickCancelChanges();
470
+ }
471
+ CloseDashboardDialog(data = null) {
472
+ this.IsEditDialogOpened = false;
473
+ }
474
+ /** @deprecated Use {@link CloseDashboardDialog}. */
327
475
  closeDashboardDialog(data = null) {
328
- this.isEditDialogOpened = false;
476
+ return this.CloseDashboardDialog(data);
329
477
  }
330
- saveChanges(data) {
478
+ SaveChanges(data) {
331
479
  if (data.config) {
332
480
  this.config = data.config;
333
481
  }
334
482
  if (data.itemsChanged && data.items) {
335
- this.items = data.items;
336
- this.sharedService.InvokeManualResize();
483
+ this.Items = data.items;
484
+ this.SharedService.InvokeManualResize();
337
485
  }
338
486
  this.SaveDashboard();
339
- this.closeDashboardDialog();
487
+ this.CloseDashboardDialog();
488
+ }
489
+ /** @deprecated Use {@link SaveChanges}. */
490
+ saveChanges(data) {
491
+ return this.SaveChanges(data);
340
492
  }
341
493
  async SaveDashboard() {
342
- if (this.dashboardEntity) {
494
+ if (this.DashboardEntity) {
343
495
  const configData = {
344
496
  columns: this.config.columns,
345
497
  rowHeight: this.config.rowHeight,
346
498
  resizable: this.config.resizable,
347
499
  reorderable: this.config.reorderable,
348
- items: this.items
500
+ items: this.Items
349
501
  };
350
502
  const configJSON = JSON.stringify(configData);
351
- this.dashboardEntity.UIConfigDetails = configJSON;
352
- const result = await this.dashboardEntity.Save();
503
+ this.DashboardEntity.UIConfigDetails = configJSON;
504
+ const result = await this.DashboardEntity.Save();
353
505
  return result;
354
506
  }
355
507
  else
356
508
  return false;
357
509
  }
510
+ DashboardSaveComplete(entity) {
511
+ this.DashboardSaved.emit(entity);
512
+ }
513
+ /** @deprecated Use {@link DashboardSaveComplete}. */
358
514
  dashboardSaveComplete(entity) {
359
- this.dashboardSaved.emit(entity);
515
+ return this.DashboardSaveComplete(entity);
360
516
  }
361
- toggleInlineNameEdit(visible) {
362
- this.isEditDashboardNameDialogOpened = visible;
363
- if (this.isEditDashboardNameDialogOpened) {
364
- this.dashboardNameInput?.nativeElement?.focus();
517
+ ToggleInlineNameEdit(visible) {
518
+ this.IsEditDashboardNameDialogOpened = visible;
519
+ if (this.IsEditDashboardNameDialogOpened) {
520
+ this.DashboardNameInput?.nativeElement?.focus();
365
521
  }
366
522
  }
367
- saveDashboardName() {
368
- this.toggleInlineNameEdit(true);
369
- const inputValue = this.dashboardNameInput.nativeElement.value;
523
+ /** @deprecated Use {@link ToggleInlineNameEdit}. */
524
+ toggleInlineNameEdit(visible) {
525
+ return this.ToggleInlineNameEdit(visible);
526
+ }
527
+ SaveDashboardName() {
528
+ this.ToggleInlineNameEdit(true);
529
+ const inputValue = this.DashboardNameInput.nativeElement.value;
370
530
  if (inputValue && inputValue.length > 3) {
371
- this.dashboardEntity.Name = inputValue;
531
+ this.DashboardEntity.Name = inputValue;
372
532
  this.SaveDashboard();
373
533
  }
374
534
  else {
375
- this.sharedService.CreateSimpleNotification('Invalid dashboard name: Must be at least 3 characters.', 'warning', 1000);
535
+ this.SharedService.CreateSimpleNotification('Invalid dashboard name: Must be at least 3 characters.', 'warning', 1000);
376
536
  }
377
537
  }
538
+ /** @deprecated Use {@link SaveDashboardName}. */
539
+ saveDashboardName() {
540
+ return this.SaveDashboardName();
541
+ }
542
+ CancelNameChange() {
543
+ this.ToggleInlineNameEdit(false);
544
+ }
545
+ /** @deprecated Use {@link CancelNameChange}. */
378
546
  cancelNameChange() {
379
- this.toggleInlineNameEdit(false);
547
+ return this.CancelNameChange();
548
+ }
549
+ CloseDeleteItemComponent() {
550
+ this.SelectedDashboardItem = null;
551
+ this.IsDeletingDashboardItem = false;
380
552
  }
553
+ /** @deprecated Use {@link CloseDeleteItemComponent}. */
381
554
  closeDeleteItemComponent() {
382
- this.selectedDashboardItem = null;
383
- this.isDeletingDashboardItem = false;
555
+ return this.CloseDeleteItemComponent();
384
556
  }
557
+ ShowConfirmDeleteDashboardItem(item) {
558
+ this.SelectedDashboardItem = item;
559
+ this.IsDeletingDashboardItem = true;
560
+ }
561
+ /** @deprecated Use {@link ShowConfirmDeleteDashboardItem}. */
385
562
  showConfirmDeleteDashboardItem(item) {
386
- this.selectedDashboardItem = item;
387
- this.isDeletingDashboardItem = true;
563
+ return this.ShowConfirmDeleteDashboardItem(item);
388
564
  }
389
- async deleteDashboardItem(item) {
390
- this.items = this.items.filter(i => i.uniqueId != item.uniqueId);
565
+ async DeleteDashboardItem(item) {
566
+ this.Items = this.Items.filter(i => i.uniqueId != item.uniqueId);
391
567
  let result = await this.SaveDashboard();
392
568
  if (result) {
393
- this.sharedService.CreateSimpleNotification(`Dashboard item ${item.uniqueId} deleted successfully`, "success", 1000);
569
+ this.SharedService.CreateSimpleNotification(`Dashboard item ${item.uniqueId} deleted successfully`, "success", 1000);
394
570
  }
395
571
  else {
396
- this.sharedService.CreateSimpleNotification(`Unable to delete dashboard item ${item.uniqueId}`, "error", 1000);
572
+ this.SharedService.CreateSimpleNotification(`Unable to delete dashboard item ${item.uniqueId}`, "error", 1000);
397
573
  }
398
- this.selectedDashboardItem = null;
399
- this.isDeletingDashboardItem = false;
574
+ this.SelectedDashboardItem = null;
575
+ this.IsDeletingDashboardItem = false;
576
+ }
577
+ /** @deprecated Use {@link DeleteDashboardItem}. */
578
+ async deleteDashboardItem(item) {
579
+ return this.DeleteDashboardItem(item);
400
580
  }
581
+ GetIsEditingItemBodyStyle() {
582
+ return this.IsEditingDashboard ? "bg-light-grey" : "";
583
+ }
584
+ /** @deprecated Use {@link GetIsEditingItemBodyStyle}. */
401
585
  getIsEditingItemBodyStyle() {
402
- return this.isEditingDashboard ? "bg-light-grey" : "";
586
+ return this.GetIsEditingItemBodyStyle();
587
+ }
588
+ GetIsEditingItemHeaderStyle() {
589
+ return this.IsEditingDashboard ? "bg-dark-grey" : "bg-blue";
403
590
  }
591
+ /** @deprecated Use {@link GetIsEditingItemHeaderStyle}. */
404
592
  getIsEditingItemHeaderStyle() {
405
- return this.isEditingDashboard ? "bg-dark-grey" : "bg-blue";
593
+ return this.GetIsEditingItemHeaderStyle();
406
594
  }
407
- onReorder(e) {
408
- const item = e.uniqueId != null ? this.items.find(i => i.uniqueId === e.uniqueId) : this.items[e.oldIndex];
595
+ OnReorder(e) {
596
+ const item = e.uniqueId != null ? this.Items.find(i => i.uniqueId === e.uniqueId) : this.Items[e.oldIndex];
409
597
  if (item) {
410
598
  if (e.oldIndex !== e.newIndex) {
411
- this.items.splice(e.oldIndex, 1);
412
- this.items.splice(e.newIndex, 0, item);
599
+ this.Items.splice(e.oldIndex, 1);
600
+ this.Items.splice(e.newIndex, 0, item);
413
601
  }
414
602
  item.col = e.newCol ?? item.col;
415
603
  item.row = e.newRow ?? item.row;
416
604
  }
417
605
  }
418
- onResize(e) {
419
- const item = e.uniqueId != null ? this.items.find(i => i.uniqueId === e.uniqueId) : undefined;
606
+ /** @deprecated Use {@link OnReorder}. */
607
+ onReorder(e) {
608
+ return this.OnReorder(e);
609
+ }
610
+ OnResize(e) {
611
+ const item = e.uniqueId != null ? this.Items.find(i => i.uniqueId === e.uniqueId) : undefined;
420
612
  if (item) {
421
613
  item.colSpan = e.newColSpan;
422
614
  item.rowSpan = e.newRowSpan;
423
615
  }
424
616
  }
617
+ /** @deprecated Use {@link OnResize}. */
618
+ onResize(e) {
619
+ return this.OnResize(e);
620
+ }
621
+ OnMouseEnter(e) {
622
+ // Available for future drag-and-drop support
623
+ }
624
+ /** @deprecated Use {@link OnMouseEnter}. */
425
625
  onMouseEnter(e) {
626
+ return this.OnMouseEnter(e);
627
+ }
628
+ OnMouseOut(e) {
426
629
  // Available for future drag-and-drop support
427
630
  }
631
+ /** @deprecated Use {@link OnMouseOut}. */
428
632
  onMouseOut(e) {
429
- // Available for future drag-and-drop support
633
+ return this.OnMouseOut(e);
430
634
  }
431
635
  /**
432
636
  * Get the appropriate icon for a resource type
433
637
  * @param resourceType The type of resource
434
638
  * @returns FontAwesome icon class
435
639
  */
436
- getResourceIcon(resourceType) {
640
+ GetResourceIcon(resourceType) {
437
641
  // Default to a cube icon if type is undefined
438
642
  if (!resourceType)
439
643
  return 'fa-solid fa-cube';
@@ -446,13 +650,17 @@ export class SingleDashboardComponent extends BaseDashboard {
446
650
  };
447
651
  return iconMap[resourceType] || iconMap['default'];
448
652
  }
653
+ /** @deprecated Use {@link GetResourceIcon}. */
654
+ getResourceIcon(resourceType) {
655
+ return this.GetResourceIcon(resourceType);
656
+ }
449
657
  static ɵfac = function SingleDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SingleDashboardComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.SharedService)); };
450
658
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SingleDashboardComponent, selectors: [["mj-single-dashboard"]], viewQuery: function SingleDashboardComponent_Query(rf, ctx) { if (rf & 1) {
451
659
  i0.ɵɵviewQuery(_c0, 5);
452
660
  } if (rf & 2) {
453
661
  let _t;
454
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dashboardNameInput = _t.first);
455
- } }, inputs: { ResourceData: "ResourceData" }, outputs: { dashboardSaved: "dashboardSaved", loadComplete: "loadComplete", loadStarted: "loadStarted" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 14, vars: 7, consts: [["dashboardNameInput", ""], [3, "selectedResource"], [3, "dashboardItem"], [1, "dashboard-container"], [1, "main-head-dashboard"], [1, "dashboard-title"], [1, "dashboard-header"], [1, "tile-resource-container"], ["Icon", "fa-solid fa-grip-vertical", "Title", "This dashboard is empty", "Message", "Start by adding reports or user views to your dashboard", "ActionText", "Add Item", "ActionIcon", "fa-solid fa-plus", 1, "empty-dashboard"], [1, "mj-tile-layout", 3, "grid-template-columns", "grid-auto-rows"], [3, "onClose", "selectedResource"], [3, "onClose", "triggerAddItem", "onSave", "items", "config"], [3, "removeDashboardItem", "onClose", "dashboardItem"], ["type", "text", "placeholder", "Enter name here", "id", "txtDashboardName", 1, "mj-input", 3, "keydown.enter"], ["mjButton", "", 3, "click"], [1, "fa-solid", "fa-check"], [1, "fa-solid", "fa-xmark"], ["aria-hidden", "true", 1, "fa-solid", "fa-star", "dashboard-star-icon"], [3, "click"], [1, "fa-solid", "fa-plus"], [1, "fa-solid", "fa-gear"], ["Icon", "fa-solid fa-grip-vertical", "Title", "This dashboard is empty", "Message", "Start by adding reports or user views to your dashboard", "ActionText", "Add Item", "ActionIcon", "fa-solid fa-plus", 1, "empty-dashboard", 3, "Action"], [1, "mj-tile-layout"], [1, "mj-tile-item", 3, "grid-column", "grid-row", "id"], [1, "mj-tile-item", 3, "mouseenter", "mouseleave", "id"], [1, "mj-tile-header", 3, "ngClass"], [1, "item-title"], ["aria-hidden", "true"], [1, "mj-tile-body", 3, "ngClass"], [3, "ContentLoadingStarted", "ContentLoadingComplete", "Data", "isVisible"], [1, "btn-wrapper"], ["mjButton", "", "title", "Edit dashboard", 3, "click"], [1, "fa-solid", "fa-pen-to-square"], ["mjButton", "", "title", "Remove item", 3, "click"], [1, "fa-solid", "fa-trash"]], template: function SingleDashboardComponent_Template(rf, ctx) { if (rf & 1) {
662
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.DashboardNameInput = _t.first);
663
+ } }, inputs: { ResourceData: "ResourceData" }, outputs: { DashboardSaved: "DashboardSaved", dashboardSaved: "dashboardSaved", loadComplete: "loadComplete", loadStarted: "loadStarted" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 14, vars: 7, consts: [["dashboardNameInput", ""], [3, "selectedResource"], [3, "dashboardItem"], [1, "dashboard-container"], [1, "main-head-dashboard"], [1, "dashboard-title"], [1, "dashboard-header"], [1, "tile-resource-container"], ["Icon", "fa-solid fa-grip-vertical", "Title", "This dashboard is empty", "Message", "Start by adding reports or user views to your dashboard", "ActionText", "Add Item", "ActionIcon", "fa-solid fa-plus", 1, "empty-dashboard"], [1, "mj-tile-layout", 3, "grid-template-columns", "grid-auto-rows"], [3, "onClose", "selectedResource"], [3, "onClose", "triggerAddItem", "onSave", "items", "config"], [3, "removeDashboardItem", "onClose", "dashboardItem"], ["type", "text", "placeholder", "Enter name here", "id", "txtDashboardName", 1, "mj-input", 3, "keydown.enter"], ["mjButton", "", 3, "click"], [1, "fa-solid", "fa-check"], [1, "fa-solid", "fa-xmark"], ["aria-hidden", "true", 1, "fa-solid", "fa-star", "dashboard-star-icon"], [3, "click"], [1, "fa-solid", "fa-plus"], [1, "fa-solid", "fa-gear"], ["Icon", "fa-solid fa-grip-vertical", "Title", "This dashboard is empty", "Message", "Start by adding reports or user views to your dashboard", "ActionText", "Add Item", "ActionIcon", "fa-solid fa-plus", 1, "empty-dashboard", 3, "Action"], [1, "mj-tile-layout"], [1, "mj-tile-item", 3, "grid-column", "grid-row", "id"], [1, "mj-tile-item", 3, "mouseenter", "mouseleave", "id"], [1, "mj-tile-header", 3, "ngClass"], [1, "item-title"], ["aria-hidden", "true"], [1, "mj-tile-body", 3, "ngClass"], [3, "ContentLoadingStarted", "ContentLoadingComplete", "Data", "isVisible"], [1, "btn-wrapper"], ["mjButton", "", "title", "Edit dashboard", 3, "click"], [1, "fa-solid", "fa-pen-to-square"], ["mjButton", "", "title", "Remove item", 3, "click"], [1, "fa-solid", "fa-trash"]], template: function SingleDashboardComponent_Template(rf, ctx) { if (rf & 1) {
456
664
  i0.ɵɵconditionalCreate(0, SingleDashboardComponent_Conditional_0_Template, 1, 1, "app-add-item-dialog", 1);
457
665
  i0.ɵɵconditionalCreate(1, SingleDashboardComponent_Conditional_1_Template, 2, 2, "div");
458
666
  i0.ɵɵconditionalCreate(2, SingleDashboardComponent_Conditional_2_Template, 1, 1, "app-delete-item-dialog", 2);
@@ -485,11 +693,13 @@ export class SingleDashboardComponent extends BaseDashboard {
485
693
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SingleDashboardComponent, [{
486
694
  type: Component,
487
695
  args: [{ standalone: false, selector: 'mj-single-dashboard', template: "@if (isItemDialogOpened) {\n <app-add-item-dialog (onClose)=\"closeDialog($event)\" [selectedResource]=\"selectedResource\"></app-add-item-dialog>\n}\n@if (isEditDialogOpened) {\n <div>\n <app-edit-dashboard (onClose)=\"closeDashboardDialog($event)\" (triggerAddItem)=\"addItem($event)\" [items]=\"items\" [config]=\"config\" (onSave)=\"saveChanges($event)\"></app-edit-dashboard>\n </div>\n}\n\n@if (isDeletingDashboardItem) {\n <app-delete-item-dialog [dashboardItem]=\"selectedDashboardItem\" (removeDashboardItem)=\"deleteDashboardItem($event)\" (onClose)=\"closeDeleteItemComponent()\"></app-delete-item-dialog>\n}\n\n<div class=\"dashboard-container\">\n <div class=\"main-head-dashboard\">\n <div class=\"dashboard-title\">\n @if (isEditDashboardNameDialogOpened) {\n <div class=\"dashboard-header\">\n <input class=\"mj-input\" (keydown.enter)=\"saveDashboardName()\" type=\"text\" placeholder=\"Enter name here\" id=\"txtDashboardName\" #dashboardNameInput>\n <button mjButton (click)=\"saveDashboardName()\">\n <span class=\"fa-solid fa-check\"></span>\n Save\n </button>\n <button mjButton (click)=\"cancelNameChange()\" >\n <span class=\"fa-solid fa-xmark\"></span>\n Cancel\n </button>\n </div>\n } @else {\n <i class=\"fa-solid fa-star dashboard-star-icon\" aria-hidden=\"true\"></i>\n <h3 (click)=\"toggleInlineNameEdit(true)\">{{dashboardEntity ? dashboardEntity.Name : ''}}</h3>\n }\n </div>\n <div class=\"dashboard-header\">\n @if (isEditingDashboard) {\n <div>\n <button mjButton (click)=\"onClickSaveDashboard()\">\n <span class=\"fa-solid fa-check\"></span>\n Save\n </button>\n <button mjButton (click)=\"onclickCancelChanges()\">\n <span class=\"fa-solid fa-xmark\"></span>\n Cancel\n </button>\n </div>\n } @else {\n <button mjButton (click)=\"addItem()\">\n <span class=\"fa-solid fa-plus\"></span>\n Add Item\n </button>\n <button mjButton (click)=\"toggleEditDashboard(true)\" >\n <span class=\"fa-solid fa-gear\"></span>\n Edit Dashboard\n </button>\n }\n </div>\n </div>\n <div class=\"tile-resource-container\">\n <!-- Show empty state if no items -->\n @if (items.length === 0 && !isEditingDashboard) {\n <mj-empty-state class=\"empty-dashboard\"\n Icon=\"fa-solid fa-grip-vertical\"\n Title=\"This dashboard is empty\"\n Message=\"Start by adding reports or user views to your dashboard\"\n ActionText=\"Add Item\"\n ActionIcon=\"fa-solid fa-plus\"\n (Action)=\"addItem()\" />\n }\n\n <!-- Show tile layout if there are items or if editing -->\n @if (items.length > 0 || isEditingDashboard) {\n <div class=\"mj-tile-layout\"\n [style.grid-template-columns]=\"'repeat(' + config.columns + ', 1fr)'\"\n [style.grid-auto-rows]=\"config.rowHeight + 'px'\">\n @for (item of items; track item.uniqueId) {\n <div class=\"mj-tile-item\"\n [style.grid-column]=\"item.col + ' / span ' + item.colSpan\"\n [style.grid-row]=\"'span ' + item.rowSpan\"\n [id]=\"item.uniqueId\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseOut($event)\">\n <div class=\"mj-tile-header\" [ngClass]=\"[getIsEditingItemHeaderStyle()]\">\n <div class=\"item-title\">\n <i [class]=\"getResourceIcon(item.ResourceData.ResourceType)\" aria-hidden=\"true\"></i>\n {{item.title}}\n </div>\n @if (!isEditingDashboard) {\n <div>\n <div class=\"btn-wrapper\">\n <button mjButton title=\"Edit dashboard\" (click)=\"toggleEditDashboard(true)\">\n <span class=\"fa-solid fa-pen-to-square\"></span>\n </button>\n <button mjButton title=\"Remove item\" (click)=\"showConfirmDeleteDashboardItem(item)\">\n <span class=\"fa-solid fa-trash\"></span>\n </button>\n </div>\n </div>\n }\n </div>\n <div class=\"mj-tile-body\" [ngClass]=\"[getIsEditingItemBodyStyle()]\">\n <mj-resource [Data]=\"item.ResourceData\" [isVisible]=\"true\" (ContentLoadingStarted)=\"loadingStarted($event)\" (ContentLoadingComplete)=\"loadingComplete($event)\"></mj-resource>\n </div>\n </div>\n }\n </div>\n }\n </div>\n</div>\n", styles: [":host {\n display: block;\n padding: 20px;\n height: 100%;\n box-sizing: border-box;\n}\n\n.dashboard-container {\n height: calc(100% - 60px);\n overflow: auto;\n}\n\n.dashboard-title {\n display: flex;\n align-items: center;\n gap: 15px;\n}\n\n.dashboard-star-icon {\n color: var(--mj-brand-primary);\n font-size: 22px;\n}\n\n.dashboard-title h3 {\n color: var(--mj-text-secondary);\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin: 0;\n cursor: pointer;\n}\n\n.dashboard-title h3:hover {\n text-decoration: underline;\n}\n\n.dashboard-header {\n display: flex;\n gap: 10px;\n align-items: center;\n justify-content: flex-end;\n}\n\n.button-spacing {\n margin-right: 8px;\n}\n\n.btn-wrapper {\n display: flex;\n gap: 5px;\n}\n\n.btn-wrapper > button {\n margin-left: 5px;\n}\n\n.main-head-dashboard {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n padding-bottom: 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.tile-resource-container {\n margin-top: 20px;\n padding: 15px;\n border-radius: 8px;\n background-color: var(--mj-bg-surface-card);\n}\n\n/* CSS Grid tile layout */\n.mj-tile-layout {\n display: grid;\n gap: 16px;\n background: var(--mj-bg-surface);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);\n border-radius: 8px;\n padding: 10px;\n}\n\n.mj-tile-item {\n border-radius: 6px;\n overflow: hidden;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n}\n\n.mj-tile-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 15px;\n font-weight: 500;\n background-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse, white);\n}\n\n.mj-tile-header .item-title {\n display: flex;\n align-items: center;\n gap: 8px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mj-tile-body {\n flex: 1;\n overflow: auto;\n}\n\n.bg-light-grey {\n background-color: var(--mj-bg-surface-sunken);\n}\n\n.bg-dark-grey {\n background-color: var(--mj-text-secondary);\n color: var(--mj-text-inverse, white);\n}\n\n.bg-blue {\n background-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse, white);\n}\n\n/* Empty dashboard state */\n.empty-dashboard {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n text-align: center;\n color: var(--mj-text-secondary);\n background-color: var(--mj-bg-surface-card);\n border-radius: 8px;\n margin-top: 20px;\n}\n\n.empty-dashboard i {\n font-size: 48px;\n margin-bottom: 20px;\n color: var(--mj-border-strong);\n}\n\n.empty-dashboard h3 {\n margin-bottom: 10px;\n}\n\n.empty-dashboard p {\n margin-bottom: 20px;\n}\n"] }]
488
- }], () => [{ type: i1.ActivatedRoute }, { type: i2.SharedService }], { dashboardNameInput: [{
696
+ }], () => [{ type: i1.ActivatedRoute }, { type: i2.SharedService }], { DashboardNameInput: [{
489
697
  type: ViewChild,
490
698
  args: ['dashboardNameInput']
491
699
  }], ResourceData: [{
492
700
  type: Input
701
+ }], DashboardSaved: [{
702
+ type: Output
493
703
  }], dashboardSaved: [{
494
704
  type: Output
495
705
  }], loadComplete: [{
@@ -499,10 +709,10 @@ export class SingleDashboardComponent extends BaseDashboard {
499
709
  }] }); })();
500
710
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SingleDashboardComponent, { className: "SingleDashboardComponent", filePath: "src/lib/single-dashboard/single-dashboard.component.ts", lineNumber: 17 }); })();
501
711
  export class DashboardConfigDetails {
502
- columns = 4;
503
- rowHeight = 150;
504
- resizable = true;
505
- reorderable = true;
712
+ columns = 4; // case-violation-ok-legacy-back-compat: object literals are assigned to this class, so an accessor stub changes what they must supply
713
+ rowHeight = 150; // case-violation-ok-legacy-back-compat: object literals are assigned to this class, so an accessor stub changes what they must supply
714
+ resizable = true; // case-violation-ok-legacy-back-compat: object literals are assigned to this class, so an accessor stub changes what they must supply
715
+ reorderable = true; // case-violation-ok-legacy-back-compat: object literals are assigned to this class, so an accessor stub changes what they must supply
506
716
  }
507
717
  export class DashboardItem {
508
718
  static nextUniqueId = 1;
@@ -510,16 +720,80 @@ export class DashboardItem {
510
720
  return DashboardItem.nextUniqueId++;
511
721
  }
512
722
  constructor() {
513
- this.uniqueId = this.getNextUniqueID();
514
- }
515
- uniqueId;
516
- title;
517
- col;
518
- row;
519
- rowSpan;
520
- colSpan;
521
- order;
723
+ this.UniqueId = this.getNextUniqueID();
724
+ }
725
+ UniqueId;
726
+ /** @deprecated Use {@link UniqueId}. */
727
+ get uniqueId() {
728
+ return this.UniqueId;
729
+ }
730
+ /** @deprecated Use {@link UniqueId}. */
731
+ set uniqueId(value) {
732
+ this.UniqueId = value;
733
+ }
734
+ Title;
735
+ /** @deprecated Use {@link Title}. */
736
+ get title() {
737
+ return this.Title;
738
+ }
739
+ /** @deprecated Use {@link Title}. */
740
+ set title(value) {
741
+ this.Title = value;
742
+ }
743
+ Col;
744
+ /** @deprecated Use {@link Col}. */
745
+ get col() {
746
+ return this.Col;
747
+ }
748
+ /** @deprecated Use {@link Col}. */
749
+ set col(value) {
750
+ this.Col = value;
751
+ }
752
+ Row;
753
+ /** @deprecated Use {@link Row}. */
754
+ get row() {
755
+ return this.Row;
756
+ }
757
+ /** @deprecated Use {@link Row}. */
758
+ set row(value) {
759
+ this.Row = value;
760
+ }
761
+ RowSpan;
762
+ /** @deprecated Use {@link RowSpan}. */
763
+ get rowSpan() {
764
+ return this.RowSpan;
765
+ }
766
+ /** @deprecated Use {@link RowSpan}. */
767
+ set rowSpan(value) {
768
+ this.RowSpan = value;
769
+ }
770
+ ColSpan;
771
+ /** @deprecated Use {@link ColSpan}. */
772
+ get colSpan() {
773
+ return this.ColSpan;
774
+ }
775
+ /** @deprecated Use {@link ColSpan}. */
776
+ set colSpan(value) {
777
+ this.ColSpan = value;
778
+ }
779
+ Order;
780
+ /** @deprecated Use {@link Order}. */
781
+ get order() {
782
+ return this.Order;
783
+ }
784
+ /** @deprecated Use {@link Order}. */
785
+ set order(value) {
786
+ this.Order = value;
787
+ }
522
788
  ResourceData;
523
- contentLoading = false;
789
+ ContentLoading = false;
790
+ /** @deprecated Use {@link ContentLoading}. */
791
+ get contentLoading() {
792
+ return this.ContentLoading;
793
+ }
794
+ /** @deprecated Use {@link ContentLoading}. */
795
+ set contentLoading(value) {
796
+ this.ContentLoading = value;
797
+ }
524
798
  }
525
799
  //# sourceMappingURL=single-dashboard.component.js.map