@memberjunction/ng-dashboards 5.32.0 → 5.33.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 (69) hide show
  1. package/dist/Admin/admin-data-schema.component.d.ts +16 -0
  2. package/dist/Admin/admin-data-schema.component.d.ts.map +1 -0
  3. package/dist/Admin/admin-data-schema.component.js +136 -0
  4. package/dist/Admin/admin-data-schema.component.js.map +1 -0
  5. package/dist/Admin/admin-dev-tools-resource.component.d.ts +14 -0
  6. package/dist/Admin/admin-dev-tools-resource.component.d.ts.map +1 -0
  7. package/dist/Admin/admin-dev-tools-resource.component.js +162 -0
  8. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -0
  9. package/dist/Admin/admin-identity-access.component.d.ts +15 -0
  10. package/dist/Admin/admin-identity-access.component.d.ts.map +1 -0
  11. package/dist/Admin/admin-identity-access.component.js +156 -0
  12. package/dist/Admin/admin-identity-access.component.js.map +1 -0
  13. package/dist/Admin/admin-monitoring.component.d.ts +15 -0
  14. package/dist/Admin/admin-monitoring.component.d.ts.map +1 -0
  15. package/dist/Admin/admin-monitoring.component.js +130 -0
  16. package/dist/Admin/admin-monitoring.component.js.map +1 -0
  17. package/dist/Admin/base-admin-container.component.d.ts +80 -0
  18. package/dist/Admin/base-admin-container.component.d.ts.map +1 -0
  19. package/dist/Admin/base-admin-container.component.js +198 -0
  20. package/dist/Admin/base-admin-container.component.js.map +1 -0
  21. package/dist/Admin/index.d.ts +6 -0
  22. package/dist/Admin/index.d.ts.map +1 -0
  23. package/dist/Admin/index.js +6 -0
  24. package/dist/Admin/index.js.map +1 -0
  25. package/dist/DevTools/app-state-inspector.component.d.ts +53 -0
  26. package/dist/DevTools/app-state-inspector.component.d.ts.map +1 -0
  27. package/dist/DevTools/app-state-inspector.component.js +301 -0
  28. package/dist/DevTools/app-state-inspector.component.js.map +1 -0
  29. package/dist/DevTools/class-registry.component.d.ts +64 -0
  30. package/dist/DevTools/class-registry.component.d.ts.map +1 -0
  31. package/dist/DevTools/class-registry.component.js +423 -0
  32. package/dist/DevTools/class-registry.component.js.map +1 -0
  33. package/dist/DevTools/dev-tools-prefs.d.ts +21 -0
  34. package/dist/DevTools/dev-tools-prefs.d.ts.map +1 -0
  35. package/dist/DevTools/dev-tools-prefs.js +48 -0
  36. package/dist/DevTools/dev-tools-prefs.js.map +1 -0
  37. package/dist/DevTools/event-monitor.component.d.ts +78 -0
  38. package/dist/DevTools/event-monitor.component.d.ts.map +1 -0
  39. package/dist/DevTools/event-monitor.component.js +659 -0
  40. package/dist/DevTools/event-monitor.component.js.map +1 -0
  41. package/dist/DevTools/graphql-console.component.d.ts +153 -0
  42. package/dist/DevTools/graphql-console.component.d.ts.map +1 -0
  43. package/dist/DevTools/graphql-console.component.js +1463 -0
  44. package/dist/DevTools/graphql-console.component.js.map +1 -0
  45. package/dist/DevTools/index.d.ts +8 -0
  46. package/dist/DevTools/index.d.ts.map +1 -0
  47. package/dist/DevTools/index.js +8 -0
  48. package/dist/DevTools/index.js.map +1 -0
  49. package/dist/DevTools/layout-inspector.component.d.ts +42 -0
  50. package/dist/DevTools/layout-inspector.component.d.ts.map +1 -0
  51. package/dist/DevTools/layout-inspector.component.js +208 -0
  52. package/dist/DevTools/layout-inspector.component.js.map +1 -0
  53. package/dist/DevTools/lazy-module-status.component.d.ts +65 -0
  54. package/dist/DevTools/lazy-module-status.component.d.ts.map +1 -0
  55. package/dist/DevTools/lazy-module-status.component.js +388 -0
  56. package/dist/DevTools/lazy-module-status.component.js.map +1 -0
  57. package/dist/DevTools/settings-explorer.component.d.ts +55 -0
  58. package/dist/DevTools/settings-explorer.component.d.ts.map +1 -0
  59. package/dist/DevTools/settings-explorer.component.js +394 -0
  60. package/dist/DevTools/settings-explorer.component.js.map +1 -0
  61. package/dist/core-dashboards.module.d.ts +45 -34
  62. package/dist/core-dashboards.module.d.ts.map +1 -1
  63. package/dist/core-dashboards.module.js +57 -0
  64. package/dist/core-dashboards.module.js.map +1 -1
  65. package/dist/public-api.d.ts +2 -0
  66. package/dist/public-api.d.ts.map +1 -1
  67. package/dist/public-api.js +2 -0
  68. package/dist/public-api.js.map +1 -1
  69. package/package.json +52 -52
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-registry.component.js","sourceRoot":"","sources":["../../src/DevTools/class-registry.component.ts","../../src/DevTools/class-registry.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { BaseResourceComponent } from '@memberjunction/ng-shared';\nimport { RegisterClass, MJGlobal } from '@memberjunction/global';\nimport { DevToolsPrefs } from './dev-tools-prefs';\n\n/** Local mirror of MJGlobal's ClassRegistration shape (avoids importing the type). */\ninterface ClassRegistration {\n BaseClass: { name?: string };\n SubClass: { name?: string };\n Key: string | null;\n Priority: number;\n}\n\ninterface RegistrationGroup {\n baseClassName: string;\n count: number;\n registrations: ClassRegistration[];\n expanded: boolean;\n /** Number of distinct keys (some keys can have multiple registrations at different priorities). */\n uniqueKeys: number;\n /** True when at least one key in this group has multiple registrations (priority resolution applies). */\n hasOverrides: boolean;\n}\n\n/**\n * Class Registry Browser — read-only inspector of every `@RegisterClass`\n * registration tracked by `MJGlobal.Instance.ClassFactory`. Groups by base\n * class, surfaces priority/override conflicts, supports search + copy.\n */\n@RegisterClass(BaseResourceComponent, 'ClassRegistryInspector')\n@Component({\n standalone: false,\n selector: 'mj-class-registry-inspector',\n templateUrl: './class-registry.component.html',\n styleUrls: ['./inspector-shared.css', './class-registry.component.css']\n})\nexport class ClassRegistryInspectorComponent extends BaseResourceComponent implements OnInit, OnDestroy {\n\n public Groups: RegistrationGroup[] = [];\n public Stats = { total: 0, baseClasses: 0, withOverrides: 0 };\n public SearchQuery = '';\n public CopyConfirmed = false;\n public LastRefreshed = new Date();\n\n constructor(private cdr: ChangeDetectorRef) {\n super();\n }\n\n public ngOnInit(): void {\n const prefs = DevToolsPrefs.Get<{ search?: string; expanded?: string[] }>('classRegistry');\n if (prefs?.search) this.SearchQuery = prefs.search;\n this.refresh();\n // Restore expansion after groups are built\n if (prefs?.expanded) {\n for (const g of this.Groups) {\n g.expanded = prefs.expanded.includes(g.baseClassName);\n }\n }\n this.NotifyLoadComplete();\n }\n\n public override ngOnDestroy(): void {\n this.savePrefs();\n super.ngOnDestroy();\n }\n\n public PersistPrefs(): void {\n this.savePrefs();\n }\n\n private savePrefs(): void {\n DevToolsPrefs.Save('classRegistry', {\n search: this.SearchQuery,\n expanded: this.Groups.filter(g => g.expanded).map(g => g.baseClassName)\n });\n }\n\n public override async GetResourceDisplayName(): Promise<string> { return 'Class Registry'; }\n public override async GetResourceIconClass(): Promise<string> { return 'fa-solid fa-cubes'; }\n\n public refresh(): void {\n const factory = MJGlobal.Instance.ClassFactory as unknown as { _registrations: ClassRegistration[] };\n const all = factory._registrations ?? [];\n\n // Group by base class name\n const byBase = new Map<string, ClassRegistration[]>();\n for (const reg of all) {\n const baseName = reg.BaseClass?.name ?? '(unknown)';\n const arr = byBase.get(baseName) ?? [];\n arr.push(reg);\n byBase.set(baseName, arr);\n }\n\n // Build groups\n const groups: RegistrationGroup[] = [];\n for (const [baseClassName, registrations] of byBase) {\n const keyCounts = new Map<string, number>();\n for (const r of registrations) {\n const k = r.Key ?? '';\n keyCounts.set(k, (keyCounts.get(k) ?? 0) + 1);\n }\n let hasOverrides = false;\n for (const c of keyCounts.values()) {\n if (c > 1) { hasOverrides = true; break; }\n }\n groups.push({\n baseClassName,\n count: registrations.length,\n registrations: registrations.sort((a, b) => {\n const ak = a.Key ?? '';\n const bk = b.Key ?? '';\n if (ak !== bk) return ak.localeCompare(bk);\n return b.Priority - a.Priority;\n }),\n expanded: false,\n uniqueKeys: keyCounts.size,\n hasOverrides\n });\n }\n\n this.Groups = groups.sort((a, b) => b.count - a.count);\n\n this.Stats = {\n total: all.length,\n baseClasses: byBase.size,\n withOverrides: groups.filter(g => g.hasOverrides).length\n };\n\n this.LastRefreshed = new Date();\n this.cdr.markForCheck();\n }\n\n public ToggleGroup(group: RegistrationGroup): void {\n group.expanded = !group.expanded;\n this.savePrefs();\n }\n\n public ExpandAll(): void {\n for (const g of this.FilteredGroups) g.expanded = true;\n this.savePrefs();\n }\n\n public CollapseAll(): void {\n for (const g of this.Groups) g.expanded = false;\n this.savePrefs();\n }\n\n public OnSearchChange(value: string): void {\n this.SearchQuery = value;\n this.savePrefs();\n }\n\n public get FilteredGroups(): RegistrationGroup[] {\n const q = this.SearchQuery.trim().toLowerCase();\n if (!q) return this.Groups;\n return this.Groups\n .map(g => ({\n ...g,\n expanded: true,\n registrations: g.registrations.filter(r => {\n const sub = r.SubClass?.name?.toLowerCase() ?? '';\n const key = r.Key?.toLowerCase() ?? '';\n return g.baseClassName.toLowerCase().includes(q) || sub.includes(q) || key.includes(q);\n })\n }))\n .filter(g => g.registrations.length > 0);\n }\n\n public IsConflictRow(group: RegistrationGroup, reg: ClassRegistration): boolean {\n if (!group.hasOverrides) return false;\n const sameKey = group.registrations.filter(r => (r.Key ?? '') === (reg.Key ?? ''));\n return sameKey.length > 1;\n }\n\n public IsWinningRow(group: RegistrationGroup, reg: ClassRegistration): boolean {\n const sameKey = group.registrations.filter(r => (r.Key ?? '') === (reg.Key ?? ''));\n if (sameKey.length === 1) return false;\n const max = Math.max(...sameKey.map(r => r.Priority));\n // If multiple share max priority, the LAST registered wins (matches ClassFactory behavior).\n const top = sameKey.filter(r => r.Priority === max);\n return top[top.length - 1] === reg;\n }\n\n public async OnCopy(): Promise<void> {\n const payload = {\n stats: this.Stats,\n groups: this.FilteredGroups.map(g => ({\n baseClass: g.baseClassName,\n count: g.count,\n registrations: g.registrations.map(r => ({\n key: r.Key,\n subClass: r.SubClass?.name ?? '(anonymous)',\n priority: r.Priority\n }))\n }))\n };\n try {\n await navigator.clipboard.writeText(JSON.stringify(payload, null, 2));\n this.CopyConfirmed = true;\n this.cdr.markForCheck();\n setTimeout(() => { this.CopyConfirmed = false; this.cdr.markForCheck(); }, 1800);\n } catch {\n // clipboard unavailable\n }\n }\n\n public get LastRefreshedLabel(): string {\n return this.LastRefreshed.toLocaleTimeString();\n }\n\n public TrackByBase = (_i: number, g: RegistrationGroup) => g.baseClassName;\n public TrackByReg = (_i: number, r: ClassRegistration) => `${r.SubClass?.name ?? ''}|${r.Key ?? ''}|${r.Priority}`;\n}\n","<div class=\"mj-inspector mj-inspector--solo\">\n <div class=\"mj-inspector__header\">\n <div class=\"mj-inspector__header-icon\"><i class=\"fa-solid fa-cubes\"></i></div>\n <div>\n <h3 class=\"mj-inspector__header-title\">Class Registry</h3>\n <div class=\"mj-inspector__header-sub\">Every class registered with <code>@RegisterClass</code></div>\n </div>\n <span class=\"mj-inspector__header-spacer\"></span>\n <div class=\"mj-inspector__header-actions\">\n <button class=\"mj-inspector__btn\" type=\"button\" (click)=\"ExpandAll()\" title=\"Expand all groups\">\n <i class=\"fa-solid fa-expand\"></i> Expand\n </button>\n <button class=\"mj-inspector__btn\" type=\"button\" (click)=\"CollapseAll()\" title=\"Collapse all groups\">\n <i class=\"fa-solid fa-compress\"></i> Collapse\n </button>\n <button class=\"mj-inspector__btn\" type=\"button\" (click)=\"refresh()\" title=\"Re-scan registry\">\n <i class=\"fa-solid fa-rotate\"></i> Refresh\n </button>\n <button class=\"mj-inspector__btn\"\n [class.mj-inspector__btn--success]=\"CopyConfirmed\"\n type=\"button\" (click)=\"OnCopy()\"\n [title]=\"CopyConfirmed ? 'Copied' : 'Copy as JSON'\">\n <i class=\"fa-solid\" [class.fa-clipboard]=\"!CopyConfirmed\" [class.fa-check]=\"CopyConfirmed\"></i>\n {{ CopyConfirmed ? 'Copied' : 'Copy' }}\n </button>\n </div>\n </div>\n\n <div class=\"cr-stats-row\">\n <div class=\"cr-stat\">\n <div class=\"cr-stat__value\">{{ Stats.total }}</div>\n <div class=\"cr-stat__label\">Total registrations</div>\n </div>\n <div class=\"cr-stat\">\n <div class=\"cr-stat__value\">{{ Stats.baseClasses }}</div>\n <div class=\"cr-stat__label\">Base classes</div>\n </div>\n <div class=\"cr-stat\" [class.cr-stat--warn]=\"Stats.withOverrides > 0\">\n <div class=\"cr-stat__value\">{{ Stats.withOverrides }}</div>\n <div class=\"cr-stat__label\">With overrides</div>\n </div>\n <div class=\"cr-stat cr-stat--inline\">\n <div class=\"cr-search-wrap\">\n <i class=\"fa-solid fa-search cr-search-icon\"></i>\n <input type=\"search\"\n class=\"cr-search\"\n placeholder=\"Search base class, subclass, or key…\"\n [value]=\"SearchQuery\"\n (input)=\"OnSearchChange($any($event.target).value)\" />\n @if (SearchQuery) {\n <button class=\"cr-search-clear\" (click)=\"OnSearchChange('')\" title=\"Clear\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n }\n </div>\n </div>\n </div>\n\n <div class=\"cr-groups\">\n @for (group of FilteredGroups; track TrackByBase($index, group)) {\n <div class=\"cr-group\" [class.cr-group--expanded]=\"group.expanded\">\n <button type=\"button\" class=\"cr-group-head\" (click)=\"ToggleGroup(group)\">\n <i class=\"fa-solid fa-chevron-right cr-group-chev\"\n [class.cr-group-chev--down]=\"group.expanded\"></i>\n <span class=\"cr-group-name\">{{ group.baseClassName }}</span>\n <span class=\"cr-group-meta\">\n <span class=\"cr-pill cr-pill--neutral\">{{ group.count }}</span>\n @if (group.uniqueKeys !== group.count) {\n <span class=\"cr-pill cr-pill--info\">{{ group.uniqueKeys }} keys</span>\n }\n @if (group.hasOverrides) {\n <span class=\"cr-pill cr-pill--warn\">\n <i class=\"fa-solid fa-bolt\"></i> overrides\n </span>\n }\n </span>\n </button>\n @if (group.expanded) {\n <table class=\"cr-table\">\n <thead>\n <tr>\n <th class=\"cr-th-key\">Key</th>\n <th class=\"cr-th-class\">Subclass</th>\n <th class=\"cr-th-prio\">Priority</th>\n <th class=\"cr-th-status\"></th>\n </tr>\n </thead>\n <tbody>\n @for (reg of group.registrations; track TrackByReg($index, reg)) {\n <tr [class.cr-row--conflict]=\"IsConflictRow(group, reg)\"\n [class.cr-row--winning]=\"IsWinningRow(group, reg)\">\n <td class=\"cr-td-key\">\n @if (reg.Key) {\n <code>{{ reg.Key }}</code>\n } @else {\n <span class=\"cr-td-empty\">(no key)</span>\n }\n </td>\n <td class=\"cr-td-class\">{{ reg.SubClass.name || '(anonymous)' }}</td>\n <td class=\"cr-td-prio\">{{ reg.Priority }}</td>\n <td class=\"cr-td-status\">\n @if (IsWinningRow(group, reg)) {\n <span class=\"cr-status cr-status--win\" title=\"Highest priority among same-key registrations\">\n <i class=\"fa-solid fa-crown\"></i> winner\n </span>\n } @else if (IsConflictRow(group, reg)) {\n <span class=\"cr-status cr-status--shadowed\" title=\"Outranked by another registration with the same key\">\n shadowed\n </span>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n }\n </div>\n }\n @if (FilteredGroups.length === 0) {\n <div class=\"cr-empty\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n <span>No registrations match \"{{ SearchQuery }}\"</span>\n </div>\n }\n </div>\n\n <div class=\"mj-inspector__footer-meta\">Refreshed {{ LastRefreshedLabel }}</div>\n</div>\n"]}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Lightweight wrapper around `UserInfoEngine` for the Admin → Developer
3
+ * Tools dashboards' user preferences. Each dev tool stores its own JSON
4
+ * blob keyed by `MJ.DevTools.<scope>` so individual prefs (filters,
5
+ * expansion state, sort order, search history) survive reloads + new
6
+ * sessions on a per-user basis.
7
+ *
8
+ * Reads are synchronous (the engine has already loaded user settings on
9
+ * shell startup). Writes are debounced via `SetSettingDebounced` so
10
+ * rapidly-typed search input doesn't hit the database on every keystroke.
11
+ */
12
+ export declare class DevToolsPrefs {
13
+ private static prefix;
14
+ /** Read prefs synchronously. Returns `null` if missing or invalid. */
15
+ static Get<T>(key: string): T | null;
16
+ /** Persist prefs (debounced). Safe to call on every state change. */
17
+ static Save<T>(key: string, value: T): void;
18
+ /** Force any pending debounced writes to flush — call on dev-tool destroy. */
19
+ static Flush(): Promise<void>;
20
+ }
21
+ //# sourceMappingURL=dev-tools-prefs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-tools-prefs.d.ts","sourceRoot":"","sources":["../../src/DevTools/dev-tools-prefs.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,MAAM,CAAC,MAAM;IAIrB,sEAAsE;WACxD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAU3C,qEAAqE;WACvD,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAWlD,8EAA8E;WAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7C"}
@@ -0,0 +1,48 @@
1
+ import { UserInfoEngine } from '@memberjunction/core-entities';
2
+ /**
3
+ * Lightweight wrapper around `UserInfoEngine` for the Admin → Developer
4
+ * Tools dashboards' user preferences. Each dev tool stores its own JSON
5
+ * blob keyed by `MJ.DevTools.<scope>` so individual prefs (filters,
6
+ * expansion state, sort order, search history) survive reloads + new
7
+ * sessions on a per-user basis.
8
+ *
9
+ * Reads are synchronous (the engine has already loaded user settings on
10
+ * shell startup). Writes are debounced via `SetSettingDebounced` so
11
+ * rapidly-typed search input doesn't hit the database on every keystroke.
12
+ */
13
+ export class DevToolsPrefs {
14
+ static prefix(key) {
15
+ return `MJ.DevTools.${key}`;
16
+ }
17
+ /** Read prefs synchronously. Returns `null` if missing or invalid. */
18
+ static Get(key) {
19
+ try {
20
+ const raw = UserInfoEngine.Instance.GetSetting(DevToolsPrefs.prefix(key));
21
+ if (!raw)
22
+ return null;
23
+ return JSON.parse(raw);
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ }
29
+ /** Persist prefs (debounced). Safe to call on every state change. */
30
+ static Save(key, value) {
31
+ try {
32
+ UserInfoEngine.Instance.SetSettingDebounced(DevToolsPrefs.prefix(key), JSON.stringify(value));
33
+ }
34
+ catch {
35
+ // Storage unavailable — silent. Dev tools degrade gracefully.
36
+ }
37
+ }
38
+ /** Force any pending debounced writes to flush — call on dev-tool destroy. */
39
+ static async Flush() {
40
+ try {
41
+ await UserInfoEngine.Instance.FlushPendingSettings();
42
+ }
43
+ catch {
44
+ // ignore
45
+ }
46
+ }
47
+ }
48
+ //# sourceMappingURL=dev-tools-prefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-tools-prefs.js","sourceRoot":"","sources":["../../src/DevTools/dev-tools-prefs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,aAAa;IACd,MAAM,CAAC,MAAM,CAAC,GAAW;QAC7B,OAAO,eAAe,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,sEAAsE;IAC/D,MAAM,CAAC,GAAG,CAAI,GAAW;QAC5B,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,qEAAqE;IAC9D,MAAM,CAAC,IAAI,CAAI,GAAW,EAAE,KAAQ;QACvC,IAAI,CAAC;YACD,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CACvC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EACzB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACxB,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,8DAA8D;QAClE,CAAC;IACL,CAAC;IAED,8EAA8E;IACvE,MAAM,CAAC,KAAK,CAAC,KAAK;QACrB,IAAI,CAAC;YACD,MAAM,cAAc,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;IACL,CAAC;CACJ","sourcesContent":["import { UserInfoEngine } from '@memberjunction/core-entities';\n\n/**\n * Lightweight wrapper around `UserInfoEngine` for the Admin → Developer\n * Tools dashboards' user preferences. Each dev tool stores its own JSON\n * blob keyed by `MJ.DevTools.<scope>` so individual prefs (filters,\n * expansion state, sort order, search history) survive reloads + new\n * sessions on a per-user basis.\n *\n * Reads are synchronous (the engine has already loaded user settings on\n * shell startup). Writes are debounced via `SetSettingDebounced` so\n * rapidly-typed search input doesn't hit the database on every keystroke.\n */\nexport class DevToolsPrefs {\n private static prefix(key: string): string {\n return `MJ.DevTools.${key}`;\n }\n\n /** Read prefs synchronously. Returns `null` if missing or invalid. */\n public static Get<T>(key: string): T | null {\n try {\n const raw = UserInfoEngine.Instance.GetSetting(DevToolsPrefs.prefix(key));\n if (!raw) return null;\n return JSON.parse(raw) as T;\n } catch {\n return null;\n }\n }\n\n /** Persist prefs (debounced). Safe to call on every state change. */\n public static Save<T>(key: string, value: T): void {\n try {\n UserInfoEngine.Instance.SetSettingDebounced(\n DevToolsPrefs.prefix(key),\n JSON.stringify(value)\n );\n } catch {\n // Storage unavailable — silent. Dev tools degrade gracefully.\n }\n }\n\n /** Force any pending debounced writes to flush — call on dev-tool destroy. */\n public static async Flush(): Promise<void> {\n try {\n await UserInfoEngine.Instance.FlushPendingSettings();\n } catch {\n // ignore\n }\n }\n}\n"]}
@@ -0,0 +1,78 @@
1
+ import { OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
2
+ import { BaseResourceComponent } from '@memberjunction/ng-shared';
3
+ import * as i0 from "@angular/core";
4
+ interface EventRow {
5
+ seq: number;
6
+ timestamp: Date;
7
+ type: string;
8
+ eventCode?: string;
9
+ componentName: string;
10
+ summary: string;
11
+ args: unknown;
12
+ expanded: boolean;
13
+ /** True when args is null/undefined/empty — used to render a clean empty-state on expand. */
14
+ hasPayload: boolean;
15
+ }
16
+ type SortField = 'time' | 'type' | 'eventCode' | 'component';
17
+ type SortDir = 'asc' | 'desc';
18
+ /**
19
+ * Event Monitor — live tail of `MJGlobal.Instance.GetEventListener()`.
20
+ * Captures events into a ring buffer (configurable cap) with filtering,
21
+ * pause/resume, click-to-expand-payload, copy.
22
+ */
23
+ export declare class EventMonitorComponent extends BaseResourceComponent implements OnInit, OnDestroy {
24
+ private cdr;
25
+ readonly MaxEvents = 500;
26
+ Events: EventRow[];
27
+ Paused: boolean;
28
+ AutoScroll: boolean;
29
+ Filter: string;
30
+ TypeFilter: string;
31
+ ComponentFilter: string;
32
+ CodeFilter: string;
33
+ KnownTypes: string[];
34
+ KnownComponents: string[];
35
+ KnownCodes: string[];
36
+ Stats: {
37
+ captured: number;
38
+ perSecond: number;
39
+ kept: number;
40
+ };
41
+ StartedAt: Date;
42
+ SortField: SortField;
43
+ SortDir: SortDir;
44
+ private sub?;
45
+ private seq;
46
+ private rateBucket;
47
+ private rateTimer?;
48
+ constructor(cdr: ChangeDetectorRef);
49
+ ngOnInit(): void;
50
+ ngOnDestroy(): void;
51
+ private loadPrefs;
52
+ private savePrefs;
53
+ GetResourceDisplayName(): Promise<string>;
54
+ GetResourceIconClass(): Promise<string>;
55
+ TogglePause(): void;
56
+ ToggleAutoScroll(): void;
57
+ Clear(): void;
58
+ ToggleRow(row: EventRow): void;
59
+ OnTypeFilterClick(type: string): void;
60
+ OnSortClick(field: SortField): void;
61
+ /** Public so the template can call on every ngModelChange (filters, selects). */
62
+ PersistPrefs(): void;
63
+ OnCopyRow(row: EventRow): Promise<void>;
64
+ get FilteredEvents(): EventRow[];
65
+ ClearFilters(): void;
66
+ get HasActiveFilters(): boolean;
67
+ get UptimeLabel(): string;
68
+ TrackBySeq: (_i: number, e: EventRow) => number;
69
+ private subscribe;
70
+ private handleEvent;
71
+ private computeHasPayload;
72
+ private tickRate;
73
+ private summarizeArgs;
74
+ static ɵfac: i0.ɵɵFactoryDeclaration<EventMonitorComponent, never>;
75
+ static ɵcmp: i0.ɵɵComponentDeclaration<EventMonitorComponent, "mj-event-monitor", never, {}, {}, never, never, false, never>;
76
+ }
77
+ export {};
78
+ //# sourceMappingURL=event-monitor.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-monitor.component.d.ts","sourceRoot":"","sources":["../../src/DevTools/event-monitor.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAclE,UAAU,QAAQ;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,6FAA6F;IAC7F,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;AAC7D,KAAK,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAE9B;;;;GAIG;AACH,qBAOa,qBAAsB,SAAQ,qBAAsB,YAAW,MAAM,EAAE,SAAS;IAuB7E,OAAO,CAAC,GAAG;IArBvB,SAAgB,SAAS,OAAO;IACzB,MAAM,EAAE,QAAQ,EAAE,CAAM;IACxB,MAAM,UAAS;IACf,UAAU,UAAQ;IAClB,MAAM,SAAM;IACZ,UAAU,SAAM;IAChB,eAAe,SAAM;IACrB,UAAU,SAAM;IAChB,UAAU,EAAE,MAAM,EAAE,CAAM;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAM;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAM;IAC1B,KAAK;;;;MAA0C;IAC/C,SAAS,OAAc;IACvB,SAAS,EAAE,SAAS,CAAU;IAC9B,OAAO,EAAE,OAAO,CAAU;IAEjC,OAAO,CAAC,GAAG,CAAC,CAAe;IAC3B,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,SAAS,CAAC,CAAiC;gBAE/B,GAAG,EAAE,iBAAiB;IAInC,QAAQ,IAAI,IAAI;IAOhB,WAAW,IAAI,IAAI;IAM1B,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;IAWK,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IACzC,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAEtD,WAAW,IAAI,IAAI;IAKnB,gBAAgB,IAAI,IAAI;IAIxB,KAAK,IAAI,IAAI;IAOb,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAI9B,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAU1C,iFAAiF;IAC1E,YAAY,IAAI,IAAI;IAId,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD,IAAW,cAAc,IAAI,QAAQ,EAAE,CA4BtC;IAEM,YAAY,IAAI,IAAI;IAQ3B,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED,IAAW,WAAW,IAAI,MAAM,CAM/B;IAEM,UAAU,GAAI,IAAI,MAAM,EAAE,GAAG,QAAQ,YAAW;IAIvD,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,WAAW;IA0CnB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,aAAa;yCAhPZ,qBAAqB;2CAArB,qBAAqB;CA4PjC"}