@memberjunction/ng-explorer-core 5.3.0 → 5.4.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 (68) hide show
  1. package/dist/app-routing.module.js.map +1 -1
  2. package/dist/generic/Item.types.js.map +1 -1
  3. package/dist/generic/PathData.types.js.map +1 -1
  4. package/dist/generic/app-nav-view.types.js.map +1 -1
  5. package/dist/lib/__tests__/explorer-core.test.js.map +1 -1
  6. package/dist/lib/command-palette/command-palette.component.js.map +1 -1
  7. package/dist/lib/command-palette/command-palette.service.js.map +1 -1
  8. package/dist/lib/command-palette/index.js.map +1 -1
  9. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
  10. package/dist/lib/generic/form-toolbar.js.map +1 -1
  11. package/dist/lib/generic/resource-container-component.js.map +1 -1
  12. package/dist/lib/guards/auth-guard.service.js.map +1 -1
  13. package/dist/lib/guards/entities.guard.js.map +1 -1
  14. package/dist/lib/oauth/oauth-callback.component.js.map +1 -1
  15. package/dist/lib/oauth/oauth.module.js.map +1 -1
  16. package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
  17. package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
  18. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
  19. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -1
  20. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
  21. package/dist/lib/resource-wrappers/dashboard-resource.component.js +3 -3
  22. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  23. package/dist/lib/resource-wrappers/list-detail-resource.component.js.map +1 -1
  24. package/dist/lib/resource-wrappers/notifications-resource.component.js.map +1 -1
  25. package/dist/lib/resource-wrappers/query-resource.component.js.map +1 -1
  26. package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
  27. package/dist/lib/resource-wrappers/resource-wrappers-loader.js.map +1 -1
  28. package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
  29. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  30. package/dist/lib/services/startup-validation.service.js.map +1 -1
  31. package/dist/lib/services/system-validation.service.js.map +1 -1
  32. package/dist/lib/shell/components/dialogs/app-access-dialog.component.js.map +1 -1
  33. package/dist/lib/shell/components/header/app-nav.component.js +2 -2
  34. package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
  35. package/dist/lib/shell/components/header/app-switcher.component.js +7 -7
  36. package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -1
  37. package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
  38. package/dist/lib/shell/components/tabs/tab-container.component.js +2 -2
  39. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
  40. package/dist/lib/shell/loading-themes.js.map +1 -1
  41. package/dist/lib/shell/services/settings-dialog.service.js.map +1 -1
  42. package/dist/lib/shell/shell.component.d.ts +7 -2
  43. package/dist/lib/shell/shell.component.d.ts.map +1 -1
  44. package/dist/lib/shell/shell.component.js +102 -34
  45. package/dist/lib/shell/shell.component.js.map +1 -1
  46. package/dist/lib/shell/shell.module.js.map +1 -1
  47. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
  48. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
  49. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
  50. package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
  51. package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
  52. package/dist/lib/single-query/single-query.component.js.map +1 -1
  53. package/dist/lib/single-record/single-record.component.js.map +1 -1
  54. package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
  55. package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -1
  56. package/dist/lib/user-menu/base-user-menu.d.ts +17 -0
  57. package/dist/lib/user-menu/base-user-menu.d.ts.map +1 -1
  58. package/dist/lib/user-menu/base-user-menu.js +70 -1
  59. package/dist/lib/user-menu/base-user-menu.js.map +1 -1
  60. package/dist/lib/user-menu/index.js.map +1 -1
  61. package/dist/lib/user-menu/user-menu.types.d.ts +7 -0
  62. package/dist/lib/user-menu/user-menu.types.d.ts.map +1 -1
  63. package/dist/lib/user-menu/user-menu.types.js.map +1 -1
  64. package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
  65. package/dist/lib/user-profile/user-profile.component.js.map +1 -1
  66. package/dist/module.js.map +1 -1
  67. package/dist/public-api.js.map +1 -1
  68. package/package.json +34 -34
@@ -146,7 +146,8 @@ export class BaseUserMenu {
146
146
  enabled: true,
147
147
  tooltip: 'View current application state in console'
148
148
  },
149
- // === SYSTEM GROUP ===
149
+ // === SYSTEM GROUP (Theme selection) ===
150
+ ...this.BuildThemeMenuItems(),
150
151
  {
151
152
  id: 'reset-layout',
152
153
  label: 'Reset Layout',
@@ -230,6 +231,7 @@ export class BaseUserMenu {
230
231
  // ========================================
231
232
  /**
232
233
  * Handle menu item click. Dispatches to specific Handle_<id> methods.
234
+ * Theme selection items (select-theme-*) are routed to HandleThemeSelection.
233
235
  */
234
236
  async HandleItemClick(itemId) {
235
237
  const items = this.GetMenuItems();
@@ -237,6 +239,11 @@ export class BaseUserMenu {
237
239
  if (!item || !item.enabled) {
238
240
  return { success: false, closeMenu: false, message: 'Item not found or disabled' };
239
241
  }
242
+ // Route theme selection items to the theme handler
243
+ if (itemId.startsWith('select-theme-')) {
244
+ const themeId = itemId.substring('select-theme-'.length);
245
+ return await this.HandleThemeSelection(themeId);
246
+ }
240
247
  // Convert item id to handler method name (e.g., 'toggle-dev-mode' -> 'Handle_toggle_dev_mode')
241
248
  const handlerName = `Handle_${itemId.replace(/-/g, '_')}`;
242
249
  if (typeof this[handlerName] === 'function') {
@@ -302,6 +309,17 @@ export class BaseUserMenu {
302
309
  console.groupEnd();
303
310
  return { success: true, closeMenu: true };
304
311
  }
312
+ /**
313
+ * Handle theme selection clicks.
314
+ * Item IDs follow the pattern 'select-theme-<themeId>'.
315
+ */
316
+ async HandleThemeSelection(themeId) {
317
+ return {
318
+ success: true,
319
+ closeMenu: false, // Keep menu open to see updated state
320
+ message: `select-theme-${themeId}` // Signal for shell to handle
321
+ };
322
+ }
305
323
  /**
306
324
  * Handle "Reset Layout" click
307
325
  */
@@ -328,6 +346,57 @@ export class BaseUserMenu {
328
346
  return { success: true, closeMenu: true };
329
347
  }
330
348
  // ========================================
349
+ // THEME HELPERS
350
+ // ========================================
351
+ /**
352
+ * Build menu items for each registered theme plus a 'System' option.
353
+ * Each theme gets a `select-theme-<id>` item ID. The currently active
354
+ * theme (or 'system' preference) shows a checkmark icon.
355
+ */
356
+ BuildThemeMenuItems() {
357
+ const themes = this._context?.availableThemes ?? [];
358
+ const currentPreference = this._context?.themePreference ?? 'system';
359
+ const items = [];
360
+ let order = 1;
361
+ for (const theme of themes) {
362
+ const isActive = currentPreference === theme.Id;
363
+ items.push({
364
+ id: `select-theme-${theme.Id}`,
365
+ label: theme.Name,
366
+ icon: isActive ? 'fa-solid fa-check' : this.GetThemeIconForBaseTheme(theme.BaseTheme),
367
+ color: isActive ? '#4CAF50' : undefined,
368
+ group: 'system',
369
+ order: order++,
370
+ developerOnly: false,
371
+ visible: true,
372
+ enabled: true,
373
+ tooltip: theme.Description ?? `Switch to ${theme.Name} theme`
374
+ });
375
+ }
376
+ // Always add a 'System' option (auto-detect OS preference)
377
+ const isSystemActive = currentPreference === 'system';
378
+ items.push({
379
+ id: 'select-theme-system',
380
+ label: 'System',
381
+ icon: isSystemActive ? 'fa-solid fa-check' : 'fa-solid fa-desktop',
382
+ color: isSystemActive ? '#4CAF50' : undefined,
383
+ group: 'system',
384
+ order: order++,
385
+ developerOnly: false,
386
+ visible: true,
387
+ enabled: true,
388
+ tooltip: 'Auto-detect theme from OS preference'
389
+ });
390
+ return items;
391
+ }
392
+ /**
393
+ * Get an appropriate icon for a base theme type.
394
+ * Used for non-active theme items to hint at light vs dark.
395
+ */
396
+ GetThemeIconForBaseTheme(baseTheme) {
397
+ return baseTheme === 'dark' ? 'fa-solid fa-moon' : 'fa-solid fa-sun';
398
+ }
399
+ // ========================================
331
400
  // UTILITY METHODS
332
401
  // ========================================
333
402
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"base-user-menu.js","sourceRoot":"","sources":["../../../src/lib/user-menu/base-user-menu.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,OAAO,YAAY;IACX,QAAQ,GAA2B,IAAI,CAAC;IACxC,QAAQ,CAAkB;IAEpC;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7C,CAAC;IAED,2CAA2C;IAC3C,iBAAiB;IACjB,2CAA2C;IAE3C;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,OAAwB;QAC5C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,YAAY,CAAC,OAAwB;QACjD,iDAAiD;IACrD,CAAC;IAED;;OAEG;IACI,OAAO;QACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,2CAA2C;IAC3C,UAAU;IACV,2CAA2C;IAE3C;;OAEG;IACO,iBAAiB;QACvB,OAAO;YACH,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,YAAY;YAC1B,cAAc,EAAE,MAAM;SACzB,CAAC;IACN,CAAC;IAED;;OAEG;IACI,UAAU;QACb,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,OAAiC;QAC/C,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IACrD,CAAC;IAED,2CAA2C;IAC3C,qCAAqC;IACrC,2CAA2C;IAE3C;;;;;;;;OAQG;IACI,YAAY;QACf,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,oBAAoB,IAAI,KAAK,CAAC;QAEpE,OAAO;YACH,wBAAwB;YACxB;gBACI,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,KAAK;gBACpB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,4BAA4B;aACxC;YAED,uDAAuD;YACvD;gBACI,EAAE,EAAE,iBAAiB;gBACrB,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,sBAAsB;gBACtE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB;gBACzE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC7C,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,mCAAmC;aAC/C;YACD;gBACI,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,oBAAoB;gBAC3B,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,gDAAgD;aAC5D;YACD;gBACI,EAAE,EAAE,eAAe;gBACnB,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,oCAAoC;gBAC1C,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,2CAA2C;aACvD;YAED,uBAAuB;YACvB;gBACI,EAAE,EAAE,cAAc;gBAClB,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,KAAK;gBACpB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,mCAAmC;aAC/C;YAED,uBAAuB;YACvB;gBACI,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,0BAA0B;gBAChC,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,GAAG;gBACV,aAAa,EAAE,KAAK;gBACpB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC;IACN,CAAC;IAED;;;OAGG;IACI,eAAe;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpE,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAsB,EAAE,CAAC;QAEvC,qBAAqB;QACrB,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,mCAAmC;QACnC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACrC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAqB,CAAC,CAAC;YACjE,CAAC;YAED,mCAAmC;YACnC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,IAAkB;QACtC,kCAAkC;QAClC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,gCAAgC;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,KAAqB;QACtC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,MAAM,CAAC;QAClB,CAAC,EAAE,EAAoC,CAAC,CAAC;IAC7C,CAAC;IAED,2CAA2C;IAC3C,iBAAiB;IACjB,2CAA2C;IAE3C;;OAEG;IACI,KAAK,CAAC,eAAe,CAAC,MAAc;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;QACvF,CAAC;QAED,+FAA+F;QAC/F,MAAM,WAAW,GAAG,UAAU,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAgB,CAAC;QAExE,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,UAAU,EAAE,CAAC;YAC1C,OAAO,MAAO,IAAI,CAAC,WAAW,CAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvF,CAAC;QAED,+BAA+B;QAC/B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,WAAW,CAAC,IAAkB;QAC1C,OAAO,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,2CAA2C;IAC3C,2CAA2C;IAC3C,2CAA2C;IAE3C;;OAEG;IACO,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,sBAAsB;QAClC,uFAAuF;QACvF,4EAA4E;QAC5E,OAAO;YACH,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,KAAK,EAAE,sCAAsC;YACxD,OAAO,EAAE,iBAAiB,CAAC,qCAAqC;SACnE,CAAC;IACN,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;QAC3F,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;QAE5D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,oBAAoB;QAChC,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACtF,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,mBAAmB;QAC/B,yCAAyC;QACzC,OAAO;YACH,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,cAAc,CAAC,qCAAqC;SAChE,CAAC;IACN,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;YAC9B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;QACtF,CAAC;QAED,kBAAkB;QAClB,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAElC,cAAc;QACd,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAEzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,2CAA2C;IAC3C,kBAAkB;IAClB,2CAA2C;IAE3C;;OAEG;IACI,kBAAkB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,EAAE,YAAY,IAAI,IAAI,CAAC;QAE7C,8BAA8B;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC;YAClC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE;YACzE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAEzC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACO,aAAa;QACnB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,IAAc,OAAO;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,OAAiC;QAClD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;QACrD,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"base-user-menu.js","sourceRoot":"","sources":["../../../src/lib/user-menu/base-user-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { RegisterClass } from '@memberjunction/global';\nimport {\n UserMenuItem,\n UserMenuElement,\n UserMenuContext,\n UserMenuActionResult,\n UserMenuOptions,\n UserMenuDivider\n} from './user-menu.types';\n\n/**\n * Base class for user menu implementations with built-in default behavior.\n *\n * This class provides the standard MemberJunction user menu. To customize:\n * 1. Create a subclass\n * 2. Register with @RegisterClass(BaseUserMenu)\n * 3. Override methods as needed\n *\n * Subclasses automatically get higher priority via compiler order since they\n * import this class, causing their @RegisterClass to execute after this one.\n *\n * @example\n * ```typescript\n * // In your custom app\n * import { BaseUserMenu } from '@memberjunction/ng-explorer-core';\n *\n * @RegisterClass(BaseUserMenu)\n * export class MyAppUserMenu extends BaseUserMenu {\n * public override GetMenuItems(): UserMenuItem[] {\n * const items = super.GetMenuItems();\n * // Add, remove, or modify items\n * items.push({ id: 'custom', label: 'My Custom Action', ... });\n * return items;\n * }\n *\n * protected override async Handle_custom(): Promise<UserMenuActionResult> {\n * // Handle the custom action\n * return { success: true, closeMenu: true };\n * }\n * }\n * ```\n */\nexport class BaseUserMenu {\n protected _context: UserMenuContext | null = null;\n protected _options: UserMenuOptions;\n\n constructor() {\n this._options = this.GetDefaultOptions();\n }\n\n // ========================================\n // INITIALIZATION\n // ========================================\n\n /**\n * Initialize the menu with context. Called by shell component.\n */\n public async Initialize(context: UserMenuContext): Promise<void> {\n this._context = context;\n await this.OnInitialize(context);\n }\n\n /**\n * Override to perform custom initialization\n */\n protected async OnInitialize(context: UserMenuContext): Promise<void> {\n // Override in subclass for custom initialization\n }\n\n /**\n * Cleanup when menu is destroyed\n */\n public Destroy(): void {\n this._context = null;\n }\n\n // ========================================\n // OPTIONS\n // ========================================\n\n /**\n * Get default menu configuration options\n */\n protected GetDefaultOptions(): UserMenuOptions {\n return {\n showUserName: true,\n showUserEmail: true,\n menuPosition: 'below-left',\n animationStyle: 'fade'\n };\n }\n\n /**\n * Get current menu options\n */\n public GetOptions(): UserMenuOptions {\n return { ...this._options };\n }\n\n /**\n * Update menu options\n */\n public SetOptions(options: Partial<UserMenuOptions>): void {\n this._options = { ...this._options, ...options };\n }\n\n // ========================================\n // MENU ITEMS - Override to customize\n // ========================================\n\n /**\n * Get all menu items. Override to customize the menu structure.\n *\n * Items are grouped by the `group` property with dividers between groups.\n * Groups are rendered in this order: primary, developer, system, danger.\n *\n * Developer-only items are automatically hidden unless the user has\n * Developer role AND developer mode is enabled.\n */\n public GetMenuItems(): UserMenuItem[] {\n const devModeEnabled = this._context?.developerModeEnabled ?? false;\n\n return [\n // === PRIMARY GROUP ===\n {\n id: 'profile',\n label: 'My Profile',\n icon: 'fa-solid fa-user-circle',\n group: 'primary',\n order: 10,\n developerOnly: false,\n visible: true,\n enabled: true,\n tooltip: 'View and edit your profile'\n },\n\n // === DEVELOPER GROUP (Only visible to developers) ===\n {\n id: 'toggle-dev-mode',\n label: devModeEnabled ? 'Developer Mode (On)' : 'Developer Mode (Off)',\n icon: devModeEnabled ? 'fa-solid fa-toggle-on' : 'fa-solid fa-toggle-off',\n color: devModeEnabled ? '#4CAF50' : undefined,\n group: 'developer',\n order: 10,\n developerOnly: true,\n visible: true,\n enabled: true,\n tooltip: 'Toggle developer tools visibility'\n },\n {\n id: 'log-layout',\n label: 'Log Layout (Debug)',\n icon: 'fa-solid fa-terminal',\n group: 'developer',\n order: 20,\n developerOnly: true,\n visible: devModeEnabled,\n enabled: true,\n tooltip: 'Output current layout configuration to console'\n },\n {\n id: 'inspect-state',\n label: 'Inspect App State',\n icon: 'fa-solid fa-magnifying-glass-chart',\n group: 'developer',\n order: 30,\n developerOnly: true,\n visible: devModeEnabled,\n enabled: true,\n tooltip: 'View current application state in console'\n },\n\n // === SYSTEM GROUP (Theme selection) ===\n ...this.BuildThemeMenuItems(),\n {\n id: 'reset-layout',\n label: 'Reset Layout',\n icon: 'fa-solid fa-rotate-left',\n group: 'system',\n order: 10,\n developerOnly: false,\n visible: true,\n enabled: true,\n tooltip: 'Reset workspace to default layout'\n },\n\n // === DANGER GROUP ===\n {\n id: 'logout',\n label: 'Sign Out',\n icon: 'fa-solid fa-sign-out-alt',\n color: '#c62828',\n cssClass: 'danger',\n group: 'danger',\n order: 100,\n developerOnly: false,\n visible: true,\n enabled: true\n }\n ];\n }\n\n /**\n * Get the complete menu element list including dividers between groups.\n * This is called by the template to render the menu.\n */\n public GetMenuElements(): UserMenuElement[] {\n const items = this.GetMenuItems();\n const visibleItems = items.filter(item => this.IsItemVisible(item));\n\n // Group items\n const groups = this.GroupItems(visibleItems);\n const elements: UserMenuElement[] = [];\n\n // Define group order\n const groupOrder = ['primary', 'developer', 'system', 'danger'];\n const sortedGroupKeys = Object.keys(groups).sort((a, b) => {\n const aIndex = groupOrder.indexOf(a);\n const bIndex = groupOrder.indexOf(b);\n return (aIndex === -1 ? 999 : aIndex) - (bIndex === -1 ? 999 : bIndex);\n });\n\n // Build element list with dividers\n sortedGroupKeys.forEach((group, index) => {\n if (index > 0) {\n elements.push({ type: 'divider', group } as UserMenuDivider);\n }\n\n // Sort items within group by order\n const groupItems = groups[group].sort((a, b) => a.order - b.order);\n elements.push(...groupItems);\n });\n\n return elements;\n }\n\n /**\n * Check if a menu item should be visible based on current context\n */\n protected IsItemVisible(item: UserMenuItem): boolean {\n // Check developer-only visibility\n if (item.developerOnly && !this._context?.isDeveloper) {\n return false;\n }\n\n // Check item's own visible flag\n return item.visible;\n }\n\n /**\n * Group items by their group property\n */\n protected GroupItems(items: UserMenuItem[]): Record<string, UserMenuItem[]> {\n return items.reduce((groups, item) => {\n const group = item.group || 'primary';\n if (!groups[group]) {\n groups[group] = [];\n }\n groups[group].push(item);\n return groups;\n }, {} as Record<string, UserMenuItem[]>);\n }\n\n // ========================================\n // CLICK HANDLING\n // ========================================\n\n /**\n * Handle menu item click. Dispatches to specific Handle_<id> methods.\n * Theme selection items (select-theme-*) are routed to HandleThemeSelection.\n */\n public async HandleItemClick(itemId: string): Promise<UserMenuActionResult> {\n const items = this.GetMenuItems();\n const item = items.find(i => i.id === itemId);\n\n if (!item || !item.enabled) {\n return { success: false, closeMenu: false, message: 'Item not found or disabled' };\n }\n\n // Route theme selection items to the theme handler\n if (itemId.startsWith('select-theme-')) {\n const themeId = itemId.substring('select-theme-'.length);\n return await this.HandleThemeSelection(themeId);\n }\n\n // Convert item id to handler method name (e.g., 'toggle-dev-mode' -> 'Handle_toggle_dev_mode')\n const handlerName = `Handle_${itemId.replace(/-/g, '_')}` as keyof this;\n\n if (typeof this[handlerName] === 'function') {\n return await (this[handlerName] as () => Promise<UserMenuActionResult>).call(this);\n }\n\n // Fall back to generic handler\n return await this.OnItemClick(item);\n }\n\n /**\n * Generic click handler for items without specific handlers.\n * Override for custom default behavior.\n */\n protected async OnItemClick(item: UserMenuItem): Promise<UserMenuActionResult> {\n console.warn(`No handler defined for menu item: ${item.id}`);\n return { success: false, closeMenu: true };\n }\n\n // ========================================\n // DEFAULT HANDLERS - Override to customize\n // ========================================\n\n /**\n * Handle \"My Profile\" click - Opens user profile/settings\n */\n protected async Handle_profile(): Promise<UserMenuActionResult> {\n if (this._context?.openSettings) {\n this._context.openSettings();\n }\n return { success: true, closeMenu: true };\n }\n\n /**\n * Handle \"Toggle Developer Mode\" click\n */\n protected async Handle_toggle_dev_mode(): Promise<UserMenuActionResult> {\n // This will be handled by the shell component which has access to DeveloperModeService\n // The result signals that the menu should refresh to show the updated state\n return {\n success: true,\n closeMenu: false, // Keep menu open to see updated state\n message: 'toggle-dev-mode' // Special signal for shell to handle\n };\n }\n\n /**\n * Handle \"Log Layout\" click - Debug utility\n */\n protected async Handle_log_layout(): Promise<UserMenuActionResult> {\n if (!this._context?.workspaceManager) {\n return { success: false, closeMenu: true, message: 'Workspace manager not available' };\n }\n\n const config = this._context.workspaceManager.GetConfiguration();\n console.log('📋 Workspace Configuration:', JSON.stringify(config, null, 2));\n console.log('📋 Workspace Configuration (object):', config);\n\n return { success: true, closeMenu: true };\n }\n\n /**\n * Handle \"Inspect App State\" click - Debug utility\n */\n protected async Handle_inspect_state(): Promise<UserMenuActionResult> {\n console.group('🔍 Application State Inspection');\n console.log('User:', this._context?.userEntity);\n console.log('Current App:', this._context?.currentApplication);\n console.log('Developer Mode:', this._context?.developerModeEnabled);\n console.log('Is Developer:', this._context?.isDeveloper);\n console.log('Workspace Config:', this._context?.workspaceManager?.GetConfiguration());\n console.groupEnd();\n\n return { success: true, closeMenu: true };\n }\n\n /**\n * Handle theme selection clicks.\n * Item IDs follow the pattern 'select-theme-<themeId>'.\n */\n protected async HandleThemeSelection(themeId: string): Promise<UserMenuActionResult> {\n return {\n success: true,\n closeMenu: false, // Keep menu open to see updated state\n message: `select-theme-${themeId}` // Signal for shell to handle\n };\n }\n\n /**\n * Handle \"Reset Layout\" click\n */\n protected async Handle_reset_layout(): Promise<UserMenuActionResult> {\n // Signal to shell to handle reset layout\n return {\n success: true,\n closeMenu: true,\n message: 'reset-layout' // Special signal for shell to handle\n };\n }\n\n /**\n * Handle \"Sign Out\" click\n */\n protected async Handle_logout(): Promise<UserMenuActionResult> {\n if (!this._context?.authService) {\n return { success: false, closeMenu: true, message: 'Auth service not available' };\n }\n\n // Clear auth data\n localStorage.removeItem('auth');\n localStorage.removeItem('claims');\n\n // Call logout\n await this._context.authService.logout();\n\n return { success: true, closeMenu: true };\n }\n\n // ========================================\n // THEME HELPERS\n // ========================================\n\n /**\n * Build menu items for each registered theme plus a 'System' option.\n * Each theme gets a `select-theme-<id>` item ID. The currently active\n * theme (or 'system' preference) shows a checkmark icon.\n */\n protected BuildThemeMenuItems(): UserMenuItem[] {\n const themes = this._context?.availableThemes ?? [];\n const currentPreference = this._context?.themePreference ?? 'system';\n const items: UserMenuItem[] = [];\n let order = 1;\n\n for (const theme of themes) {\n const isActive = currentPreference === theme.Id;\n items.push({\n id: `select-theme-${theme.Id}`,\n label: theme.Name,\n icon: isActive ? 'fa-solid fa-check' : this.GetThemeIconForBaseTheme(theme.BaseTheme),\n color: isActive ? '#4CAF50' : undefined,\n group: 'system',\n order: order++,\n developerOnly: false,\n visible: true,\n enabled: true,\n tooltip: theme.Description ?? `Switch to ${theme.Name} theme`\n });\n }\n\n // Always add a 'System' option (auto-detect OS preference)\n const isSystemActive = currentPreference === 'system';\n items.push({\n id: 'select-theme-system',\n label: 'System',\n icon: isSystemActive ? 'fa-solid fa-check' : 'fa-solid fa-desktop',\n color: isSystemActive ? '#4CAF50' : undefined,\n group: 'system',\n order: order++,\n developerOnly: false,\n visible: true,\n enabled: true,\n tooltip: 'Auto-detect theme from OS preference'\n });\n\n return items;\n }\n\n /**\n * Get an appropriate icon for a base theme type.\n * Used for non-active theme items to hint at light vs dark.\n */\n protected GetThemeIconForBaseTheme(baseTheme: 'light' | 'dark'): string {\n return baseTheme === 'dark' ? 'fa-solid fa-moon' : 'fa-solid fa-sun';\n }\n\n // ========================================\n // UTILITY METHODS\n // ========================================\n\n /**\n * Get user display information for menu header\n */\n public GetUserDisplayInfo(): { name: string; email: string; avatarUrl: string | null; initials: string } {\n const user = this._context?.userEntity;\n const name = user?.Name || this._context?.user?.Name || 'User';\n const email = user?.Email || '';\n const avatarUrl = user?.UserImageURL || null;\n\n // Generate initials from name\n const nameParts = name.split(' ').filter(Boolean);\n const initials = nameParts.length >= 2\n ? `${nameParts[0][0]}${nameParts[nameParts.length - 1][0]}`.toUpperCase()\n : name.substring(0, 2).toUpperCase();\n\n return { name, email, avatarUrl, initials };\n }\n\n /**\n * Generate a unique tab ID\n */\n protected GenerateTabId(): string {\n return `tab-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n }\n\n /**\n * Get the current context (for subclasses)\n */\n protected get Context(): UserMenuContext | null {\n return this._context;\n }\n\n /**\n * Update context (called by shell when developer mode changes)\n */\n public UpdateContext(updates: Partial<UserMenuContext>): void {\n if (this._context) {\n this._context = { ...this._context, ...updates };\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/user-menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/user-menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './user-menu.types';\nexport * from './base-user-menu';\n"]}
@@ -1,6 +1,7 @@
1
1
  import { ViewContainerRef } from '@angular/core';
2
2
  import { UserInfo } from '@memberjunction/core';
3
3
  import { MJUserEntity } from '@memberjunction/core-entities';
4
+ import type { ThemeDefinition } from '@memberjunction/ng-shared-generic';
4
5
  /**
5
6
  * Defines a single menu item in the user context menu
6
7
  */
@@ -93,6 +94,12 @@ export interface UserMenuContext {
93
94
  authService: AuthServiceRef;
94
95
  /** Function to open settings dialog */
95
96
  openSettings: () => void;
97
+ /** Current theme preference (theme ID or 'system') */
98
+ themePreference?: string;
99
+ /** All registered theme definitions, for building theme picker menus */
100
+ availableThemes?: ThemeDefinition[];
101
+ /** Currently applied theme ID (resolved, never 'system') */
102
+ appliedTheme?: string;
96
103
  }
97
104
  /**
98
105
  * Result of a menu item click handler
@@ -1 +1 @@
1
- {"version":3,"file":"user-menu.types.d.ts","sourceRoot":"","sources":["../../../src/lib/user-menu/user-menu.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-menu.types.d.ts","sourceRoot":"","sources":["../../../src/lib/user-menu/user-menu.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-menu.types.js","sourceRoot":"","sources":["../../../src/lib/user-menu/user-menu.types.ts"],"names":[],"mappings":"AA0DA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAwB;IACtD,OAAO,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAwB;IACnD,OAAO,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"user-menu.types.js","sourceRoot":"","sources":["../../../src/lib/user-menu/user-menu.types.ts"],"names":[],"mappings":"AA2DA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAwB;IACtD,OAAO,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAwB;IACnD,OAAO,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;AAChC,CAAC","sourcesContent":["import { ViewContainerRef } from '@angular/core';\nimport { UserInfo } from '@memberjunction/core';\nimport { MJUserEntity } from '@memberjunction/core-entities';\nimport type { ThemeDefinition } from '@memberjunction/ng-shared-generic';\n\n/**\n * Defines a single menu item in the user context menu\n */\nexport interface UserMenuItem {\n /** Unique identifier for the menu item */\n id: string;\n\n /** Display text for the menu item */\n label: string;\n\n /** Font Awesome icon class (e.g., 'fa-solid fa-gear') */\n icon: string;\n\n /** Optional icon/text color (CSS color value) */\n color?: string;\n\n /** Optional CSS class for custom styling */\n cssClass?: string;\n\n /** Group ID for organizing items (items with same group have dividers between groups) */\n group: 'primary' | 'developer' | 'system' | 'danger' | string;\n\n /** Sort order within group (lower = higher in menu) */\n order: number;\n\n /** Whether item requires Developer role to be visible */\n developerOnly: boolean;\n\n /** Whether the item is currently visible (dynamic control) */\n visible: boolean;\n\n /** Whether the item is currently enabled/clickable */\n enabled: boolean;\n\n /** Optional tooltip text */\n tooltip?: string;\n\n /** Optional keyboard shortcut hint */\n shortcut?: string;\n}\n\n/**\n * Defines a separator/divider in the menu\n */\nexport interface UserMenuDivider {\n type: 'divider';\n group: string;\n}\n\n/**\n * Union type for all menu element types\n */\nexport type UserMenuElement = UserMenuItem | UserMenuDivider;\n\n/**\n * Type guard to check if element is a divider\n */\nexport function isUserMenuDivider(element: UserMenuElement): element is UserMenuDivider {\n return 'type' in element && element.type === 'divider';\n}\n\n/**\n * Type guard to check if element is a menu item\n */\nexport function isUserMenuItem(element: UserMenuElement): element is UserMenuItem {\n return !('type' in element);\n}\n\n/**\n * Minimal application info needed by user menu\n */\nexport interface ApplicationInfoRef {\n ID: string;\n Name: string;\n [key: string]: unknown;\n}\n\n/**\n * Interface for workspace manager operations needed by user menu\n */\nexport interface WorkspaceManagerRef {\n GetConfiguration: () => unknown;\n}\n\n/**\n * Interface for auth service operations needed by user menu\n */\nexport interface AuthServiceRef {\n logout: () => void | Promise<void>;\n}\n\n/**\n * Context passed to menu handlers\n */\nexport interface UserMenuContext {\n /** Current authenticated user info */\n user: UserInfo;\n\n /** Full user entity with all fields */\n userEntity: MJUserEntity;\n\n /** Reference to shell component for advanced operations */\n shell: Record<string, unknown>;\n\n /** View container for opening dialogs/modals */\n viewContainerRef: ViewContainerRef;\n\n /** Whether user has Developer role */\n isDeveloper: boolean;\n\n /** Whether developer mode is currently enabled (can be toggled) */\n developerModeEnabled: boolean;\n\n /** Current application context */\n currentApplication: ApplicationInfoRef | null;\n\n /** Workspace manager for layout operations */\n workspaceManager: WorkspaceManagerRef;\n\n /** Auth service for logout operations */\n authService: AuthServiceRef;\n\n /** Function to open settings dialog */\n openSettings: () => void;\n\n /** Current theme preference (theme ID or 'system') */\n themePreference?: string;\n\n /** All registered theme definitions, for building theme picker menus */\n availableThemes?: ThemeDefinition[];\n\n /** Currently applied theme ID (resolved, never 'system') */\n appliedTheme?: string;\n}\n\n/**\n * Result of a menu item click handler\n */\nexport interface UserMenuActionResult {\n /** Whether the action succeeded */\n success: boolean;\n\n /** Whether to close the menu after action */\n closeMenu: boolean;\n\n /** Optional message to display (toast notification) */\n message?: string;\n}\n\n/**\n * Options for menu configuration\n */\nexport interface UserMenuOptions {\n /** Whether to show the user name in menu header */\n showUserName: boolean;\n\n /** Whether to show the user email in menu header */\n showUserEmail: boolean;\n\n /** Menu position relative to avatar */\n menuPosition: 'below-left' | 'below-right';\n\n /** Animation style for menu opening */\n animationStyle: 'fade' | 'slide' | 'none';\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"user-notifications.component.js","sourceRoot":"","sources":["../../../src/lib/user-notifications/user-notifications.component.ts","../../../src/lib/user-notifications/user-notifications.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-notifications.component.js","sourceRoot":"","sources":["../../../src/lib/user-notifications/user-notifications.component.ts","../../../src/lib/user-notifications/user-notifications.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, ViewChild, ElementRef, AfterViewInit, OnInit } from '@angular/core';\nimport { SharedService } from '@memberjunction/ng-shared';\nimport { MJConversationDetailEntity, MJConversationEntity, MJUserNotificationEntity, MJUserNotificationTypeEntity, UserInfoEngine } from '@memberjunction/core-entities';\nimport { Metadata, TransactionGroupBase, TransactionVariable } from '@memberjunction/core';\nimport { Router } from '@angular/router';\nimport { SafeJSONParse } from '@memberjunction/global';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\n\n/**\n * Radio button filter options for notification read status\n */\ntype ReadFilterOption = 'All' | 'Unread' | 'Read';\n\n/**\n * Configuration for record-type resource navigation\n */\ninterface RecordResourceConfig {\n Entity?: string;\n}\n\n/**\n * Configuration for conversation-type resource navigation\n */\ninterface ConversationResourceConfig {\n type: 'conversation';\n conversationId?: string;\n messageId?: string;\n artifactId?: string;\n versionNumber?: string;\n taskId?: string;\n}\n\n/**\n * Result of parsing a notification URL\n */\ninterface NotificationUrlInfo {\n urlParts: string[];\n queryString: string;\n}\n\n@Component({\n standalone: false,\n selector: 'app-user-notifications',\n templateUrl: './user-notifications.component.html',\n styleUrls: ['./user-notifications.component.css']\n})\nexport class UserNotificationsComponent implements OnInit, AfterViewInit {\n @ViewChild('allRadio') allRadio!: ElementRef<HTMLInputElement>;\n @ViewChild('unreadRadio') unreadRadio!: ElementRef<HTMLInputElement>;\n @ViewChild('readRadio') readRadio!: ElementRef<HTMLInputElement>;\n\n public radioSelected: ReadFilterOption = 'All';\n public currentFilter: string = '';\n public notificationTypes: MJUserNotificationTypeEntity[] = [];\n public selectedTypeFilter: string | null = null;\n public loadingTypes: boolean = true;\n\n constructor (public sharedService: SharedService, private router: Router) {}\n\n async ngOnInit() {\n this.loadNotificationTypes();\n }\n\n ngAfterViewInit(): void {\n this.sharedService.InvokeManualResize(); // make sure the notifications component is sized correctly\n }\n\n private loadNotificationTypes() {\n // Get notification types from UserInfoEngine cache, sorted client-side\n // UserInfoEngine is auto-configured via @RegisterForStartup()\n this.notificationTypes = [...UserInfoEngine.Instance.NotificationTypes].sort((a, b) => {\n const priorityA = a.Priority ?? 999;\n const priorityB = b.Priority ?? 999;\n if (priorityA !== priorityB) {\n return priorityA - priorityB;\n }\n return a.Name.localeCompare(b.Name);\n });\n this.loadingTypes = false;\n }\n\n public get NotificationsToShow(): MJUserNotificationEntity[] {\n let temp: MJUserNotificationEntity[] = [];\n switch (this.radioSelected) {\n case 'All':\n temp = this.AllNotifications;\n break;\n case 'Unread':\n temp = this.AllNotifications.filter(n => n.Unread);\n break;\n case 'Read':\n temp = this.AllNotifications.filter(n => !n.Unread);\n break;\n }\n\n // Apply type filter if selected\n if (this.selectedTypeFilter) {\n temp = temp.filter(n => n.NotificationTypeID === this.selectedTypeFilter);\n }\n\n // Apply text filter if it is not empty\n if (this.currentFilter.trim().length > 0) {\n // check for inclusion of filter value in title or message\n temp = temp.filter(n => n.Title?.toLowerCase().includes(this.currentFilter.trim().toLowerCase()) ||\n n.Message?.toLowerCase().includes(this.currentFilter.trim().toLowerCase())\n );\n }\n\n return temp;\n }\n\n public isNotificationClickable(notification: MJUserNotificationEntity): boolean {\n const info = this.notificationUrl(notification);\n return (info !== null && info.urlParts && info.urlParts.length > 0);\n }\n\n public notificationUrl(notification: MJUserNotificationEntity): NotificationUrlInfo {\n const url: string[] = [];\n let queryString = '';\n if (notification.ResourceRecordID && notification.ResourceRecordID.length > 0 &&\n notification.ResourceTypeID && notification.ResourceTypeID.length > 0) {\n // we have a resource here, like a Report, Dashboard, etc\n // we can generate a url to navigate to it\n const rt = this.sharedService.ResourceTypeByID(notification.ResourceTypeID);\n let routeSegment: string | null | undefined;\n if (rt)\n routeSegment = this.sharedService.mapResourceTypeNameToRouteSegment(rt.Name);\n\n if (rt && routeSegment && routeSegment.trim().length > 0) {\n url.push('resource');\n url.push(routeSegment);\n url.push(notification.ResourceRecordID.toString());\n if (notification.ResourceConfiguration && notification.ResourceConfiguration.trim().length > 0) {\n if (rt.Name.trim().toLowerCase() === 'records') {\n // special handling for records\n const config = SafeJSONParse<RecordResourceConfig>(notification.ResourceConfiguration);\n if (config && config.Entity)\n queryString = `Entity=${config.Entity}`;\n }\n else\n queryString = notification.ResourceConfiguration;\n }\n }\n }\n else if (notification.ResourceConfiguration && notification.ResourceConfiguration.trim().length > 0) {\n // we do NOT have a resource type or resource record id, but we do have a ResourceConfiguration\n // string, which means we might have information on how to navigate to what we want if we parse the config\n // HOME screen stuff is done this way\n\n const config = SafeJSONParse<ConversationResourceConfig>(notification.ResourceConfiguration);\n if (config && config.type?.trim().toLowerCase() === 'conversation') {\n url.push('chat');\n // Build query string with conversation and artifact navigation\n const queryParams: string[] = [];\n if (config.conversationId) queryParams.push(`conversationId=${config.conversationId}`);\n if (config.messageId) queryParams.push(`messageId=${config.messageId}`);\n if (config.artifactId) queryParams.push(`artifactId=${config.artifactId}`);\n if (config.versionNumber) queryParams.push(`versionNumber=${config.versionNumber}`);\n if (config.taskId) queryParams.push(`taskId=${config.taskId}`);\n queryString = queryParams.join('&');\n }\n }\n\n return { urlParts: url, queryString };\n }\n\n public get AllNotifications(): MJUserNotificationEntity[] {\n return SharedService.UserNotifications;\n }\n\n public get UnreadNotifications(): MJUserNotificationEntity[] {\n return this.AllNotifications.filter(n => n.Unread);\n }\n\n public get ReadNotifications(): MJUserNotificationEntity[] {\n return this.AllNotifications.filter(n => !n.Unread);\n }\n\n selectReadOption(option: ReadFilterOption): void {\n this.radioSelected = option;\n // now update the radio button group in the UI\n switch (option) {\n case 'All':\n this.allRadio.nativeElement.checked = true;\n break;\n case 'Unread':\n this.unreadRadio.nativeElement.checked = true;\n break;\n case 'Read':\n this.readRadio.nativeElement.checked = true;\n break;\n }\n }\n\n onReadRadioChanged(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n this.radioSelected = event.target.value as ReadFilterOption;\n }\n }\n\n onFilterChanged(value: string): void {\n this.currentFilter = value;\n }\n\n getItemTitleClass(notification: MJUserNotificationEntity): string {\n if (notification.Unread) {\n return 'notification-title notification-title-unread';\n }\n return 'notification-title';\n }\n\n getItemWrapperClass(notification: MJUserNotificationEntity): string {\n let classInfo = 'notification-wrap';\n\n if (this.isNotificationClickable(notification))\n classInfo += ' notification-wrap-clickable';\n\n if (notification.Unread)\n classInfo += ' notification-wrap-unread';\n\n return classInfo;\n }\n\n async markAsRead(notification: MJUserNotificationEntity, bRead: boolean, transGroup: TransactionGroupBase | null): Promise<boolean> {\n if (notification) {\n const notificationId = notification.ID;\n notification.Unread = !bRead;\n let notificationEntity: MJUserNotificationEntity;\n if (notification instanceof MJUserNotificationEntity) {\n // the passed in param truly is a MJUserNotificationEntity or subclass, so just use it, saves a DB round trip\n notificationEntity = notification;\n }\n else {\n // the passed in param is just a plain object, so we need to load the entity\n const md = new Metadata();\n notificationEntity = await md.GetEntityObject<MJUserNotificationEntity>('MJ: User Notifications');\n await notificationEntity.Load(notificationId); \n notificationEntity.Unread = !bRead; \n }\n\n // part of a transaction group, if so, add it as that will defer the actual network traffic/save\n if (transGroup) {\n notificationEntity.TransactionGroup = transGroup;\n await notificationEntity.Save()\n return true;\n }\n else {\n // Save the notification (not part of transaction group)\n await notificationEntity.Save();\n // Update the observables so badge count refreshes immediately\n MJNotificationService.UpdateNotificationObservables();\n return true;\n }\n }\n else {\n return false;\n }\n }\n\n public async markAllAsRead() {\n await this.markAll(true);\n\n // test harness for creating Conversations and Conversation Details record in a single transaction using variables\n await this.TestTransactionGroupVariables();\n }\n\n public async TestTransactionGroupVariables() {\n const md = new Metadata();\n const transGroup = await md.CreateTransactionGroup();\n\n const conversation = await md.GetEntityObject<MJConversationEntity>('MJ: Conversations');\n conversation.UserID = md.CurrentUser.ID;\n conversation.Description = 'Test Conversation';\n conversation.TransactionGroup = transGroup;\n if (!await conversation.Save()) {\n this.sharedService.CreateSimpleNotification('Unable to create conversation', 'error', 5000);\n }\n\n const tvDefine = new TransactionVariable('NewConvoID', conversation, 'ID', 'Define')\n transGroup.AddVariable(tvDefine);\n\n const conversationDetail = await md.GetEntityObject<MJConversationDetailEntity>('MJ: Conversation Details');\n conversationDetail.Message = 'Test Message';\n conversationDetail.Role = 'User';\n conversationDetail.ConversationID = 'x'; // fake UUID must be non-null to pass validation, this will be replaced by the variable, since we're part of a TG, not a real save, so doesn't validate it as a true fkey\n conversationDetail.TransactionGroup = transGroup;\n if (!await conversationDetail.Save()) {\n this.sharedService.CreateSimpleNotification('Unable to create conversation detail', 'error', 500);\n } \n const tvUse = new TransactionVariable('NewConvoID', conversationDetail, 'ConversationID', 'Use')\n transGroup.AddVariable(tvUse);\n\n if (await transGroup.Submit()) {\n this.sharedService.CreateSimpleNotification('Transaction Group with Variables worked', 'success', 5000);\n }\n else {\n this.sharedService.CreateSimpleNotification('Transaction Group with Variables failed', 'error', 5000);\n }\n }\n\n public async markAllAsUnread() {\n await this.markAll(false);\n }\n\n public async markAll(bRead: boolean) {\n // Use transaction group for batching - all saves are queued and sent in one round-trip\n const md = new Metadata();\n const transGroup = await md.CreateTransactionGroup();\n\n // Queue all saves - no need to await individual saves since transaction group queues them\n for (const notification of this.AllNotifications) {\n if (notification.Unread && bRead || !notification.Unread && !bRead) {\n // Don't await - Save() with transaction group queues the operation immediately\n this.markAsRead(notification, bRead, transGroup);\n }\n }\n\n // Submit transaction group - this is where the actual network call happens\n if (!await transGroup.Submit())\n this.sharedService.CreateSimpleNotification('Unable to mark all notifications as read', 'error', 5000);\n else\n SharedService.RefreshUserNotifications();\n }\n \n notificationClicked(notification: MJUserNotificationEntity): void {\n if (this.isNotificationClickable(notification)) {\n // also mark this as read when we click it\n this.markAsRead(notification, true, null);\n\n const info = this.notificationUrl(notification);\n if (info.queryString && info.queryString.trim().length > 0) {\n const fullUrl = `${info.urlParts.join('/')}${info.queryString ? '?' + info.queryString : ''}`;\n this.router.navigateByUrl(fullUrl);\n }\n else {\n this.router.navigate(info.urlParts);\n }\n }\n }\n\n public getNotificationType(typeId: string | null): MJUserNotificationTypeEntity | null {\n if (!typeId) return null;\n return this.notificationTypes.find(t => t.ID === typeId) || null;\n }\n\n public getTypeIcon(notification: MJUserNotificationEntity): string {\n const type = this.getNotificationType(notification.NotificationTypeID);\n return type?.Icon || 'fa-bell';\n }\n\n public getTypeColor(notification: MJUserNotificationEntity): string {\n const type = this.getNotificationType(notification.NotificationTypeID);\n return type?.Color || '#999';\n }\n\n public getTypeName(notification: MJUserNotificationEntity): string {\n const type = this.getNotificationType(notification.NotificationTypeID);\n return type ? type.Name : 'Notification';\n }\n\n public onTypeFilterChange(typeId: string | null): void {\n this.selectedTypeFilter = typeId;\n }\n}\n","<div class=\"notifications-container\">\n <!-- Header Section -->\n <div class=\"notifications-header\">\n <div class=\"header-top\">\n <div class=\"header-title\">\n <div class=\"title-icon\">\n <i class=\"fa-solid fa-bell\"></i>\n </div>\n <h1>Notifications</h1>\n </div>\n\n @if (AllNotifications.length > 0) {\n <div class=\"header-actions\">\n @if (UnreadNotifications.length > 0) {\n <button class=\"action-btn action-btn-ghost\"\n type=\"button\"\n (click)=\"markAllAsRead()\"\n aria-label=\"Mark all notifications as read\">\n <i class=\"fa-solid fa-check-double\" aria-hidden=\"true\"></i>\n <span class=\"btn-text\">Mark All Read</span>\n </button>\n }\n @if (ReadNotifications.length > 0) {\n <button class=\"action-btn action-btn-secondary\"\n type=\"button\"\n (click)=\"markAllAsUnread()\"\n aria-label=\"Mark all notifications as unread\">\n <i class=\"fa-solid fa-envelope\" aria-hidden=\"true\"></i>\n <span class=\"btn-text\">Mark All Unread</span>\n </button>\n }\n </div>\n }\n </div>\n\n <!-- Filters Section -->\n @if (AllNotifications.length > 0) {\n <div class=\"filters-section\">\n <!-- Horizontal Slider for Filters (Mobile) -->\n <div class=\"filters-slider\">\n <div class=\"slider-content\">\n <!-- Stats Pills (Filter Tabs) -->\n <div class=\"header-stats\" role=\"group\" aria-label=\"Filter notifications by read status\">\n <input #allRadio type=\"radio\" name=\"UnreadStatus\" value=\"All\"\n (change)=\"onReadRadioChanged($event)\" checked class=\"hidden-radio\"\n id=\"filter-all\" />\n <button class=\"stat-pill\"\n type=\"button\"\n [class.active]=\"radioSelected === 'All'\"\n (click)=\"selectReadOption('All')\"\n [attr.aria-pressed]=\"radioSelected === 'All'\"\n aria-label=\"Show all notifications\">\n <span class=\"stat-label\">All</span>\n <span class=\"stat-count\">{{AllNotifications.length}}</span>\n </button>\n\n <input #unreadRadio type=\"radio\" name=\"UnreadStatus\" value=\"Unread\"\n (change)=\"onReadRadioChanged($event)\" class=\"hidden-radio\"\n id=\"filter-unread\" />\n @if (UnreadNotifications.length > 0 || ReadNotifications.length === 0) {\n <button class=\"stat-pill\"\n type=\"button\"\n [class.active]=\"radioSelected === 'Unread'\"\n [class.has-unread]=\"UnreadNotifications.length > 0\"\n (click)=\"selectReadOption('Unread')\"\n [attr.aria-pressed]=\"radioSelected === 'Unread'\"\n aria-label=\"Show unread notifications\">\n <span class=\"stat-label\">Unread</span>\n <span class=\"stat-count\" [class.unread-count]=\"UnreadNotifications.length > 0\">\n {{UnreadNotifications.length}}\n </span>\n </button>\n }\n\n <input #readRadio type=\"radio\" name=\"UnreadStatus\" value=\"Read\"\n (change)=\"onReadRadioChanged($event)\" class=\"hidden-radio\"\n id=\"filter-read\" />\n @if (ReadNotifications.length > 0 || UnreadNotifications.length === 0) {\n <button class=\"stat-pill\"\n type=\"button\"\n [class.active]=\"radioSelected === 'Read'\"\n (click)=\"selectReadOption('Read')\"\n [attr.aria-pressed]=\"radioSelected === 'Read'\"\n aria-label=\"Show read notifications\">\n <span class=\"stat-label\">Read</span>\n <span class=\"stat-count\">{{ReadNotifications.length}}</span>\n </button>\n }\n </div>\n\n <!-- Native Type Filter Dropdown (in slider on mobile) -->\n @if (notificationTypes.length > 0) {\n <div class=\"filter-item type-filter-slider\">\n <select class=\"type-select\"\n [(ngModel)]=\"selectedTypeFilter\"\n (change)=\"onTypeFilterChange(selectedTypeFilter)\"\n aria-label=\"Filter by notification type\">\n <option [value]=\"null\">All Types</option>\n @for (type of notificationTypes; track type.ID) {\n <option [value]=\"type.ID\">{{type.Name}}</option>\n }\n </select>\n </div>\n }\n </div>\n </div>\n\n <!-- Search Filter (separate, full-width on mobile) -->\n <div class=\"search-section\">\n <div class=\"search-container\">\n <i class=\"fa-solid fa-magnifying-glass search-icon\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n class=\"search-input\"\n placeholder=\"Search notifications...\"\n [value]=\"currentFilter\"\n (input)=\"onFilterChanged($any($event.target).value)\"\n aria-label=\"Search notifications\" />\n </div>\n </div>\n\n <!-- Filter Info Badge -->\n @if (NotificationsToShow.length !== AllNotifications.length) {\n <div class=\"filter-info\">\n <span class=\"filter-badge\">\n <i class=\"fa-solid fa-filter\" aria-hidden=\"true\"></i>\n Showing {{NotificationsToShow.length}} of {{AllNotifications.length}}\n </span>\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Notifications Content -->\n <div class=\"notifications-content\">\n @if (NotificationsToShow.length === 0 && AllNotifications.length === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-bell-slash\"></i>\n </div>\n <h3>No Notifications</h3>\n <p>You're all caught up! New notifications will appear here.</p>\n </div>\n } @else if (NotificationsToShow.length === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-filter-circle-xmark\"></i>\n </div>\n <h3>No Matching Notifications</h3>\n <p>Try adjusting your filters to see more notifications.</p>\n </div>\n } @else {\n <!-- Notifications List -->\n <div class=\"notifications-list\">\n @for (notification of NotificationsToShow; track notification.ID) {\n <article class=\"notification-card\"\n [class.unread]=\"notification.Unread\"\n [class.clickable]=\"isNotificationClickable(notification)\"\n role=\"article\"\n [attr.aria-label]=\"notification.Title\">\n\n <!-- Unread Indicator Bar -->\n <div class=\"card-indicator\" aria-hidden=\"true\"></div>\n\n <!-- Type Icon -->\n <div class=\"card-icon\"\n [style.background-color]=\"getTypeColor(notification) + '15'\"\n aria-hidden=\"true\">\n <i [class]=\"'fa-solid ' + getTypeIcon(notification)\"\n [style.color]=\"getTypeColor(notification)\"></i>\n </div>\n\n <!-- Content -->\n <div class=\"card-content\" (click)=\"notificationClicked(notification)\">\n <div class=\"card-header\">\n <h3 class=\"card-title\" [class.card-title-unread]=\"notification.Unread\">\n {{notification.Title}}\n </h3>\n <span class=\"card-time\">\n <i class=\"fa-regular fa-clock\" aria-hidden=\"true\"></i>\n <time [attr.datetime]=\"notification.__mj_CreatedAt\">\n {{notification.__mj_CreatedAt | date:'MMM d, h:mm a'}}\n </time>\n </span>\n </div>\n\n <div class=\"card-meta\">\n <span class=\"card-type\"\n [style.background-color]=\"getTypeColor(notification) + '15'\"\n [style.color]=\"getTypeColor(notification)\">\n {{getTypeName(notification)}}\n </span>\n </div>\n\n <p class=\"card-message\">{{notification.Message}}</p>\n </div>\n\n <!-- Actions -->\n <div class=\"card-actions\">\n @if (notification.Unread) {\n <button class=\"card-action-btn\"\n type=\"button\"\n (click)=\"markAsRead(notification, true, null)\"\n [attr.aria-label]=\"'Mark ' + notification.Title + ' as read'\"\n title=\"Mark as Read\">\n <i class=\"fa-solid fa-check\" aria-hidden=\"true\"></i>\n <span class=\"action-text\">Read</span>\n </button>\n } @else {\n <button class=\"card-action-btn\"\n type=\"button\"\n (click)=\"markAsRead(notification, false, null)\"\n [attr.aria-label]=\"'Mark ' + notification.Title + ' as unread'\"\n title=\"Mark as Unread\">\n <i class=\"fa-solid fa-envelope\" aria-hidden=\"true\"></i>\n <span class=\"action-text\">Unread</span>\n </button>\n }\n </div>\n </article>\n }\n </div>\n }\n </div>\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"user-profile.component.js","sourceRoot":"","sources":["../../../src/lib/user-profile/user-profile.component.ts","../../../src/lib/user-profile/user-profile.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-profile.component.js","sourceRoot":"","sources":["../../../src/lib/user-profile/user-profile.component.ts","../../../src/lib/user-profile/user-profile.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { MJAuthBase, StandardUserInfo } from '@memberjunction/ng-auth-services';\nimport { UserInfoEngine, MJUserNotificationPreferenceEntity } from '@memberjunction/core-entities';\nimport { Metadata } from '@memberjunction/core';\nimport { SharedService } from '@memberjunction/ng-shared';\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\ninterface NotificationSummary {\n InAppEnabled: boolean;\n EmailEnabled: boolean;\n SMSEnabled: boolean;\n}\n\n@Component({\n standalone: false,\n selector: 'app-user-profile',\n templateUrl: './user-profile.component.html',\n styleUrls: ['./user-profile.component.css']\n})\nexport class UserProfileComponent implements OnInit, OnDestroy {\n public JSON: any = JSON;\n public User: Observable<StandardUserInfo | null>;\n public Loading = true;\n public Saving = false;\n public UnreadNotificationCount = 0;\n public NotificationSummary: NotificationSummary = {\n InAppEnabled: true,\n EmailEnabled: false,\n SMSEnabled: false\n };\n\n private destroy$ = new Subject<void>();\n\n constructor(\n public authBase: MJAuthBase,\n private sharedService: SharedService,\n private cdr: ChangeDetectorRef\n ) {\n // v3.0 API - User is now an observable that the template subscribes to\n this.User = authBase.getUserInfo();\n }\n\n async ngOnInit() {\n await this.LoadNotificationData();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * Loads notification data from UserInfoEngine\n */\n private async LoadNotificationData() {\n try {\n this.Loading = true;\n\n // Get unread notification count\n this.UnreadNotificationCount = UserInfoEngine.Instance.UnreadNotificationCount;\n\n // Calculate global channel preferences\n const preferences = UserInfoEngine.Instance.NotificationPreferences;\n const types = UserInfoEngine.Instance.NotificationTypes;\n\n if (preferences.length === 0 && types.length > 0) {\n // No preferences set yet - use defaults from types\n const inApp = types.some(t => t.DefaultInApp ?? true);\n const email = types.some(t => t.DefaultEmail ?? false);\n const sms = types.some(t => t.DefaultSMS ?? false);\n\n this.NotificationSummary = {\n InAppEnabled: inApp,\n EmailEnabled: email,\n SMSEnabled: sms\n };\n } else if (preferences.length > 0) {\n // Calculate from existing preferences\n const inApp = preferences.some(p => p.InAppEnabled);\n const email = preferences.some(p => p.EmailEnabled);\n const sms = preferences.some(p => p.SMSEnabled);\n\n this.NotificationSummary = {\n InAppEnabled: inApp,\n EmailEnabled: email,\n SMSEnabled: sms\n };\n }\n\n this.Loading = false;\n this.cdr.detectChanges();\n } catch (error: unknown) {\n this.Loading = false;\n const message = error instanceof Error ? error.message : 'Unknown error';\n this.sharedService.CreateSimpleNotification(`Failed to load notification data: ${message}`, 'error', 3000);\n this.cdr.detectChanges();\n }\n }\n\n /**\n * Toggles a specific notification channel globally\n */\n async ToggleChannel(channel: 'InApp' | 'Email' | 'SMS'): Promise<void> {\n try {\n this.Saving = true;\n const md = new Metadata();\n const currentUser = md.CurrentUser;\n const transGroup = await md.CreateTransactionGroup();\n\n const types = UserInfoEngine.Instance.NotificationTypes;\n const preferences = UserInfoEngine.Instance.NotificationPreferences;\n\n // Determine new state\n let newState: boolean;\n if (channel === 'InApp') {\n newState = !this.NotificationSummary.InAppEnabled;\n this.NotificationSummary.InAppEnabled = newState;\n } else if (channel === 'Email') {\n newState = !this.NotificationSummary.EmailEnabled;\n this.NotificationSummary.EmailEnabled = newState;\n } else {\n newState = !this.NotificationSummary.SMSEnabled;\n this.NotificationSummary.SMSEnabled = newState;\n }\n\n // Update all notification types that allow user preference\n for (const type of types) {\n if (type.AllowUserPreference === false) {\n continue; // Skip locked types\n }\n\n let pref = preferences.find(p => p.NotificationTypeID === type.ID);\n\n if (!pref) {\n // Create new preference record\n pref = await md.GetEntityObject<MJUserNotificationPreferenceEntity>('MJ: User Notification Preferences');\n pref.UserID = currentUser.ID;\n pref.NotificationTypeID = type.ID;\n\n // Set defaults from type\n pref.InAppEnabled = type.DefaultInApp ?? true;\n pref.EmailEnabled = type.DefaultEmail ?? false;\n pref.SMSEnabled = type.DefaultSMS ?? false;\n }\n\n // Update the specific channel\n if (channel === 'InApp') {\n pref.InAppEnabled = newState;\n } else if (channel === 'Email') {\n pref.EmailEnabled = newState;\n } else {\n pref.SMSEnabled = newState;\n }\n\n // Set Enabled based on whether any channel is enabled\n pref.Enabled = pref.InAppEnabled || pref.EmailEnabled || pref.SMSEnabled;\n\n pref.TransactionGroup = transGroup;\n pref.Save();\n }\n\n // Submit transaction group\n const success = await transGroup.Submit();\n\n if (success) {\n this.sharedService.CreateSimpleNotification(\n `${channel} notifications ${newState ? 'enabled' : 'disabled'} globally`,\n 'success',\n 2500\n );\n } else {\n throw new Error('Failed to save preferences');\n }\n\n this.Saving = false;\n this.cdr.detectChanges();\n } catch (error: unknown) {\n this.Saving = false;\n const message = error instanceof Error ? error.message : 'Unknown error';\n this.sharedService.CreateSimpleNotification(`Failed to update preferences: ${message}`, 'error', 3000);\n\n // Revert the UI state\n await this.LoadNotificationData();\n }\n }\n\n /**\n * Gets the appropriate icon for a channel\n */\n GetChannelIcon(channel: 'InApp' | 'Email' | 'SMS'): string {\n switch (channel) {\n case 'InApp': return 'fa-solid fa-bell';\n case 'Email': return 'fa-solid fa-envelope';\n case 'SMS': return 'fa-solid fa-mobile';\n default: return 'fa-solid fa-bell';\n }\n }\n\n /**\n * Gets the label for a channel\n */\n GetChannelLabel(channel: 'InApp' | 'Email' | 'SMS'): string {\n switch (channel) {\n case 'InApp': return 'In-App';\n case 'Email': return 'Email';\n case 'SMS': return 'SMS';\n default: return '';\n }\n }\n\n /**\n * Checks if a channel is enabled\n */\n IsChannelEnabled(channel: 'InApp' | 'Email' | 'SMS'): boolean {\n switch (channel) {\n case 'InApp': return this.NotificationSummary.InAppEnabled;\n case 'Email': return this.NotificationSummary.EmailEnabled;\n case 'SMS': return this.NotificationSummary.SMSEnabled;\n default: return false;\n }\n }\n}\n","@if (Loading) {\n <mj-loading text=\"Loading profile...\"></mj-loading>\n}\n\n@if (!Loading) {\n <div class=\"user-profile-container\">\n <!-- User Info Card -->\n @if (User | async; as user) {\n <div class=\"profile-card\">\n <div class=\"profile-header\">\n <div class=\"avatar-container\">\n <i class=\"fa-solid fa-user avatar-icon\"></i>\n </div>\n <div class=\"profile-info\">\n <h3 class=\"user-name\">{{ user.name }}</h3>\n <p class=\"user-email\">{{ user.email }}</p>\n </div>\n </div>\n </div>\n }\n <!-- Notification Summary Card -->\n <div class=\"notification-card\">\n <div class=\"card-header\">\n <div class=\"header-left\">\n <i class=\"fa-solid fa-bell header-icon\"></i>\n <h4>Notifications</h4>\n </div>\n @if (UnreadNotificationCount > 0) {\n <span class=\"unread-badge\">\n {{ UnreadNotificationCount }}\n </span>\n }\n </div>\n <div class=\"card-body\">\n <p class=\"card-description\">\n Manage your notification preferences for all channels\n </p>\n <div class=\"channel-toggles\">\n <!-- In-App Toggle -->\n <button\n class=\"channel-toggle\"\n [class.active]=\"IsChannelEnabled('InApp')\"\n [disabled]=\"Saving\"\n (click)=\"ToggleChannel('InApp')\"\n type=\"button\"\n >\n <i [class]=\"GetChannelIcon('InApp')\"></i>\n <span class=\"channel-label\">{{ GetChannelLabel('InApp') }}</span>\n <span class=\"toggle-indicator\">\n @if (IsChannelEnabled('InApp')) {\n <i class=\"fa-solid fa-check\"></i>\n }\n </span>\n </button>\n <!-- Email Toggle -->\n <button\n class=\"channel-toggle\"\n [class.active]=\"IsChannelEnabled('Email')\"\n [disabled]=\"Saving\"\n (click)=\"ToggleChannel('Email')\"\n type=\"button\"\n >\n <i [class]=\"GetChannelIcon('Email')\"></i>\n <span class=\"channel-label\">{{ GetChannelLabel('Email') }}</span>\n <span class=\"toggle-indicator\">\n @if (IsChannelEnabled('Email')) {\n <i class=\"fa-solid fa-check\"></i>\n }\n </span>\n </button>\n <!-- SMS Toggle -->\n <button\n class=\"channel-toggle\"\n [class.active]=\"IsChannelEnabled('SMS')\"\n [disabled]=\"Saving\"\n (click)=\"ToggleChannel('SMS')\"\n type=\"button\"\n >\n <i [class]=\"GetChannelIcon('SMS')\"></i>\n <span class=\"channel-label\">{{ GetChannelLabel('SMS') }}</span>\n <span class=\"toggle-indicator\">\n @if (IsChannelEnabled('SMS')) {\n <i class=\"fa-solid fa-check\"></i>\n }\n </span>\n </button>\n </div>\n <div class=\"card-footer\">\n <a href=\"/settings\" class=\"settings-link\">\n View all notification preferences\n <i class=\"fa-solid fa-arrow-right\"></i>\n </a>\n </div>\n </div>\n </div>\n </div>\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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","sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule, RouteReuseStrategy } from '@angular/router';\n\n// Services\nimport { SystemValidationService } from './lib/services/system-validation.service';\nimport { StartupValidationService } from './lib/services/startup-validation.service';\n\n// Kendo UI Angular imports\nimport { ButtonsModule } from '@progress/kendo-angular-buttons'; \nimport { DialogsModule } from '@progress/kendo-angular-dialog';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { ExcelExportModule } from '@progress/kendo-angular-excel-export';\nimport { ExcelModule, GridModule, PDFModule } from '@progress/kendo-angular-grid';\nimport { IndicatorsModule } from '@progress/kendo-angular-indicators';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { LabelModule } from '@progress/kendo-angular-label';\nimport { LayoutModule, TabStripModule, CardModule, AvatarModule } from '@progress/kendo-angular-layout';\nimport { ListViewModule } from '@progress/kendo-angular-listview';\nimport { TreeViewModule } from '@progress/kendo-angular-treeview';\nimport { ProgressBarModule } from \"@progress/kendo-angular-progressbar\";\nimport { DateInputsModule } from '@progress/kendo-angular-dateinputs';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\n// MJ\nimport { ContainerDirectivesModule } from '@memberjunction/ng-container-directives';\nimport { FileStorageModule } from '@memberjunction/ng-file-storage';\nimport { QueryViewerModule } from '@memberjunction/ng-query-viewer';\nimport { BaseFormsModule } from '@memberjunction/ng-base-forms';\nimport { RecordChangesModule } from '@memberjunction/ng-record-changes';\nimport { EntityFormDialogModule } from '@memberjunction/ng-entity-form-dialog';\nimport { RecordSelectorModule } from '@memberjunction/ng-record-selector';\nimport { ResourcePermissionsModule } from '@memberjunction/ng-resource-permissions';\nimport { EntityViewerModule } from '@memberjunction/ng-entity-viewer';\nimport { ListDetailGridModule } from '@memberjunction/ng-list-detail-grid';\n\n// Local Components\nimport { ConversationsModule } from '@memberjunction/ng-conversations';\nimport { DashboardsModule } from '@memberjunction/ng-dashboards';\nimport { DashboardViewerModule } from '@memberjunction/ng-dashboard-viewer';\nimport { ExplorerSettingsModule } from '@memberjunction/ng-explorer-settings';\nimport { AITestHarnessModule } from '@memberjunction/ng-ai-test-harness';\nimport { ArtifactsModule } from '@memberjunction/ng-artifacts';\nimport { MemberJunctionSharedModule } from '@memberjunction/ng-shared';\nimport { SharedGenericModule } from '@memberjunction/ng-shared-generic';\nimport { FormToolbarComponent } from './lib/generic/form-toolbar';\nimport { ResourceContainerComponent } from './lib/generic/resource-container-component';\nimport { DashboardPreferencesDialogComponent } from './lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component';\nimport { DashboardResource } from './lib/resource-wrappers/dashboard-resource.component';\nimport { QueryResource } from './lib/resource-wrappers/query-resource.component';\nimport { EntityRecordResource } from './lib/resource-wrappers/record-resource.component';\nimport { SearchResultsResource } from './lib/resource-wrappers/search-results-resource.component';\nimport { UserViewResource } from './lib/resource-wrappers/view-resource.component';\nimport { AddItemComponent } from './lib/single-dashboard/Components/add-item/add-item.component';\nimport { DeleteItemComponent } from './lib/single-dashboard/Components/delete-item/delete-item.component';\nimport { EditDashboardComponent } from './lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component';\nimport { SingleDashboardComponent } from './lib/single-dashboard/single-dashboard.component';\nimport { SingleQueryComponent } from './lib/single-query/single-query.component';\nimport { SingleRecordComponent } from './lib/single-record/single-record.component';\nimport { SingleSearchResultComponent } from './lib/single-search-result/single-search-result.component';\nimport { UserNotificationsComponent } from './lib/user-notifications/user-notifications.component';\nimport { UserProfileComponent } from './lib/user-profile/user-profile.component';\nimport { AppRoutingModule, CustomReuseStrategy } from './app-routing.module';\nimport { GenericDialogModule } from '@memberjunction/ng-generic-dialog';\nimport {SingleListDetailComponent} from './lib/single-list-detail/single-list-detail.component';\nimport { ListDetailResource } from './lib/resource-wrappers/list-detail-resource.component';\nimport { ChatConversationsResource } from './lib/resource-wrappers/chat-conversations-resource.component';\nimport { ChatCollectionsResource } from './lib/resource-wrappers/chat-collections-resource.component';\nimport { ChatTasksResource } from './lib/resource-wrappers/chat-tasks-resource.component';\nimport { ArtifactResource } from './lib/resource-wrappers/artifact-resource.component';\nimport { NotificationsResource } from './lib/resource-wrappers/notifications-resource.component';\nimport { OAuthCallbackComponent } from './lib/oauth/oauth-callback.component';\n\n@NgModule({\n declarations: [\n FormToolbarComponent,\n OAuthCallbackComponent,\n ResourceContainerComponent,\n DashboardResource,\n EntityRecordResource,\n SearchResultsResource,\n UserViewResource,\n SingleRecordComponent,\n SingleSearchResultComponent,\n SingleQueryComponent,\n UserProfileComponent,\n SingleDashboardComponent,\n AddItemComponent,\n DeleteItemComponent,\n EditDashboardComponent,\n UserNotificationsComponent,\n QueryResource,\n SingleListDetailComponent,\n ListDetailResource,\n ChatConversationsResource,\n ChatCollectionsResource,\n ChatTasksResource,\n ArtifactResource,\n NotificationsResource,\n DashboardPreferencesDialogComponent,\n ],\n imports: [\n AppRoutingModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n GridModule,\n DialogsModule,\n ExcelExportModule,\n IndicatorsModule,\n ButtonsModule,\n TabStripModule,\n ExcelModule,\n PDFModule,\n InputsModule,\n LabelModule,\n RecordChangesModule,\n ContainerDirectivesModule,\n BaseFormsModule,\n ListViewModule,\n TreeViewModule,\n QueryViewerModule,\n LayoutModule,\n DropDownsModule,\n MemberJunctionSharedModule,\n ConversationsModule,\n DashboardsModule,\n DashboardViewerModule,\n ExplorerSettingsModule,\n FileStorageModule,\n EntityFormDialogModule,\n RecordSelectorModule,\n ResourcePermissionsModule,\n GenericDialogModule,\n ProgressBarModule,\n DateInputsModule,\n DragDropModule,\n CardModule,\n AvatarModule,\n AITestHarnessModule, // [3.0] TO DO TO-DO Need to verify this works correctly!\n ArtifactsModule,\n SharedGenericModule,\n EntityViewerModule,\n ListDetailGridModule\n ],\n exports: [\n FormToolbarComponent,\n ResourceContainerComponent,\n DashboardResource,\n EntityRecordResource,\n SearchResultsResource,\n UserViewResource,\n SingleRecordComponent,\n SingleSearchResultComponent,\n UserProfileComponent,\n SingleDashboardComponent,\n AddItemComponent,\n DeleteItemComponent,\n EditDashboardComponent,\n UserNotificationsComponent,\n ListDetailResource,\n DashboardPreferencesDialogComponent \n ],\n providers: [\n { provide: RouteReuseStrategy, useClass: CustomReuseStrategy },\n SystemValidationService,\n StartupValidationService\n ],\n})\nexport class ExplorerCoreModule {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4CAA4C,CAAC;AAE3D,cAAc,sDAAsD,CAAA;AACpE,cAAc,2EAA2E,CAAA;AACzF,cAAc,mDAAmD,CAAA;AACjE,mEAAmE;AACnE,cAAc,2DAA2D,CAAA;AACzE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,wDAAwD,CAAA;AACtE,cAAc,+DAA+D,CAAA;AAC7E,cAAc,qDAAqD,CAAA;AAEnE,0DAA0D;AAC1D,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAE9D,qCAAqC;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6CAA6C,CAAA;AAC3D,cAAc,2DAA2D,CAAA;AACzE,cAAc,mDAAmD,CAAA;AACjE,cAAc,+DAA+D,CAAA;AAC7E,cAAc,qEAAqE,CAAA;AACnF,cAAc,2EAA2E,CAAA;AACzF,cAAc,uDAAuD,CAAA;AACrE,cAAc,2CAA2C,CAAA;AACzD,cAAc,uDAAuD,CAAC;AACtE,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAE5C,cAAc,2CAA2C,CAAA;AACzD,cAAc,kDAAkD,CAAA;AAEhE,sBAAsB;AACtB,cAAc,0CAA0C,CAAA;AACxD,cAAc,2CAA2C,CAAA;AACzD,cAAc,4DAA4D,CAAA;AAE1E,0BAA0B;AAC1B,cAAc,iBAAiB,CAAA;AAE/B,eAAe;AACf,cAAc,0BAA0B,CAAA;AACxC,cAAc,sCAAsC,CAAA;AAEpD,gEAAgE;AAChE,cAAc,sBAAsB,CAAA;AAEpC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4CAA4C,CAAC;AAE3D,cAAc,sDAAsD,CAAA;AACpE,cAAc,2EAA2E,CAAA;AACzF,cAAc,mDAAmD,CAAA;AACjE,mEAAmE;AACnE,cAAc,2DAA2D,CAAA;AACzE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,wDAAwD,CAAA;AACtE,cAAc,+DAA+D,CAAA;AAC7E,cAAc,qDAAqD,CAAA;AAEnE,0DAA0D;AAC1D,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAE9D,qCAAqC;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6CAA6C,CAAA;AAC3D,cAAc,2DAA2D,CAAA;AACzE,cAAc,mDAAmD,CAAA;AACjE,cAAc,+DAA+D,CAAA;AAC7E,cAAc,qEAAqE,CAAA;AACnF,cAAc,2EAA2E,CAAA;AACzF,cAAc,uDAAuD,CAAA;AACrE,cAAc,2CAA2C,CAAA;AACzD,cAAc,uDAAuD,CAAC;AACtE,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAE5C,cAAc,2CAA2C,CAAA;AACzD,cAAc,kDAAkD,CAAA;AAEhE,sBAAsB;AACtB,cAAc,0CAA0C,CAAA;AACxD,cAAc,2CAA2C,CAAA;AACzD,cAAc,4DAA4D,CAAA;AAE1E,0BAA0B;AAC1B,cAAc,iBAAiB,CAAA;AAE/B,eAAe;AACf,cAAc,0BAA0B,CAAA;AACxC,cAAc,sCAAsC,CAAA;AAEpD,gEAAgE;AAChE,cAAc,sBAAsB,CAAA;AAEpC,cAAc,UAAU,CAAC","sourcesContent":["/*\n * Public API Surface \n */\n\nexport * from './lib/generic/form-toolbar';\nexport * from './lib/generic/resource-container-component';\n\nexport * from './lib/resource-wrappers/dashboard-resource.component'\nexport * from './lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component'\nexport * from './lib/resource-wrappers/record-resource.component'\n// export * from './lib/resource-wrappers/resource-wrappers-loader'\nexport * from './lib/resource-wrappers/search-results-resource.component'\nexport * from './lib/resource-wrappers/view-resource.component'\nexport * from './lib/resource-wrappers/list-detail-resource.component'\nexport * from './lib/resource-wrappers/chat-conversations-resource.component'\nexport * from './lib/resource-wrappers/artifact-resource.component'\n\n// Command Palette (only component and service, no module)\nexport * from './lib/command-palette/command-palette.component';\nexport * from './lib/command-palette/command-palette.service';\n\n// New Shell Module (New Explorer UX)\nexport * from './lib/shell/shell.module'\nexport * from './lib/shell/shell.component'\nexport * from './lib/single-record/single-record.component'\nexport * from './lib/single-search-result/single-search-result.component'\nexport * from './lib/single-dashboard/single-dashboard.component'\nexport * from './lib/single-dashboard/Components/add-item/add-item.component'\nexport * from './lib/single-dashboard/Components/delete-item/delete-item.component'\nexport * from './lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component'\nexport * from './lib/single-list-detail/single-list-detail.component'\nexport * from './lib/user-profile/user-profile.component'\nexport * from './lib/user-notifications/user-notifications.component';\nexport * from './lib/guards/auth-guard.service';\nexport * from './lib/guards/entities.guard';\n\nexport * from './lib/single-query/single-query.component'\nexport * from './lib/resource-wrappers/query-resource.component'\n\n// Validation services\nexport * from './lib/services/system-validation.service'\nexport * from './lib/services/startup-validation.service'\nexport * from './lib/system-validation/system-validation-banner.component'\n\n// User Menu Plugin System\nexport * from './lib/user-menu'\n\n// OAuth Module\nexport * from './lib/oauth/oauth.module'\nexport * from './lib/oauth/oauth-callback.component'\n\n// Routing Module - must be imported directly in root app module\nexport * from './app-routing.module'\n\nexport * from './module';"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-explorer-core",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "description": "MemberJunction Explorer: Core Angular Components",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -30,39 +30,39 @@
30
30
  "@angular/cdk": "21.1.3",
31
31
  "@angular/platform-browser": "21.1.3",
32
32
  "@auth0/auth0-angular": "^2.6.0",
33
- "@memberjunction/ai-core-plus": "5.3.0",
34
- "@memberjunction/ai-engine-base": "5.3.0",
35
- "@memberjunction/communication-types": "5.3.0",
36
- "@memberjunction/core": "5.3.0",
37
- "@memberjunction/core-entities": "5.3.0",
38
- "@memberjunction/entity-communications-client": "5.3.0",
39
- "@memberjunction/global": "5.3.0",
40
- "@memberjunction/graphql-dataprovider": "5.3.0",
41
- "@memberjunction/ng-ai-test-harness": "5.3.0",
42
- "@memberjunction/ng-artifacts": "5.3.0",
43
- "@memberjunction/ng-auth-services": "5.3.0",
44
- "@memberjunction/ng-base-application": "5.3.0",
45
- "@memberjunction/ng-base-forms": "5.3.0",
46
- "@memberjunction/ng-container-directives": "5.3.0",
47
- "@memberjunction/ng-conversations": "5.3.0",
48
- "@memberjunction/ng-dashboards": "5.3.0",
49
- "@memberjunction/ng-entity-form-dialog": "5.3.0",
50
- "@memberjunction/ng-entity-permissions": "5.3.0",
51
- "@memberjunction/ng-dashboard-viewer": "5.3.0",
52
- "@memberjunction/ng-entity-viewer": "5.3.0",
53
- "@memberjunction/ng-list-detail-grid": "5.3.0",
54
- "@memberjunction/ng-explorer-settings": "5.3.0",
55
- "@memberjunction/ng-file-storage": "5.3.0",
56
- "@memberjunction/ng-generic-dialog": "5.3.0",
57
- "@memberjunction/ng-notifications": "5.3.0",
58
- "@memberjunction/ng-query-viewer": "5.3.0",
59
- "@memberjunction/ng-record-changes": "5.3.0",
60
- "@memberjunction/ng-record-selector": "5.3.0",
61
- "@memberjunction/ng-resource-permissions": "5.3.0",
62
- "@memberjunction/ng-shared": "5.3.0",
63
- "@memberjunction/ng-shared-generic": "5.3.0",
64
- "@memberjunction/ng-user-avatar": "5.3.0",
65
- "@memberjunction/templates-base-types": "5.3.0",
33
+ "@memberjunction/ai-core-plus": "5.4.0",
34
+ "@memberjunction/ai-engine-base": "5.4.0",
35
+ "@memberjunction/communication-types": "5.4.0",
36
+ "@memberjunction/core": "5.4.0",
37
+ "@memberjunction/core-entities": "5.4.0",
38
+ "@memberjunction/entity-communications-client": "5.4.0",
39
+ "@memberjunction/global": "5.4.0",
40
+ "@memberjunction/graphql-dataprovider": "5.4.0",
41
+ "@memberjunction/ng-ai-test-harness": "5.4.0",
42
+ "@memberjunction/ng-artifacts": "5.4.0",
43
+ "@memberjunction/ng-auth-services": "5.4.0",
44
+ "@memberjunction/ng-base-application": "5.4.0",
45
+ "@memberjunction/ng-base-forms": "5.4.0",
46
+ "@memberjunction/ng-container-directives": "5.4.0",
47
+ "@memberjunction/ng-conversations": "5.4.0",
48
+ "@memberjunction/ng-dashboards": "5.4.0",
49
+ "@memberjunction/ng-entity-form-dialog": "5.4.0",
50
+ "@memberjunction/ng-entity-permissions": "5.4.0",
51
+ "@memberjunction/ng-dashboard-viewer": "5.4.0",
52
+ "@memberjunction/ng-entity-viewer": "5.4.0",
53
+ "@memberjunction/ng-list-detail-grid": "5.4.0",
54
+ "@memberjunction/ng-explorer-settings": "5.4.0",
55
+ "@memberjunction/ng-file-storage": "5.4.0",
56
+ "@memberjunction/ng-generic-dialog": "5.4.0",
57
+ "@memberjunction/ng-notifications": "5.4.0",
58
+ "@memberjunction/ng-query-viewer": "5.4.0",
59
+ "@memberjunction/ng-record-changes": "5.4.0",
60
+ "@memberjunction/ng-record-selector": "5.4.0",
61
+ "@memberjunction/ng-resource-permissions": "5.4.0",
62
+ "@memberjunction/ng-shared": "5.4.0",
63
+ "@memberjunction/ng-shared-generic": "5.4.0",
64
+ "@memberjunction/ng-user-avatar": "5.4.0",
65
+ "@memberjunction/templates-base-types": "5.4.0",
66
66
  "@progress/kendo-angular-buttons": "22.0.1",
67
67
  "@progress/kendo-angular-dateinputs": "22.0.1",
68
68
  "@progress/kendo-angular-dialog": "22.0.1",