@memberjunction/ng-explorer-core 6.1.4 → 6.2.0-edge.1

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 (184) hide show
  1. package/dist/app-routing.module.d.ts +23 -1
  2. package/dist/app-routing.module.d.ts.map +1 -1
  3. package/dist/app-routing.module.js +73 -17
  4. package/dist/app-routing.module.js.map +1 -1
  5. package/dist/generated/lazy-feature-config.d.ts +1 -1
  6. package/dist/generated/lazy-feature-config.d.ts.map +1 -1
  7. package/dist/generated/lazy-feature-config.js +1 -8
  8. package/dist/generated/lazy-feature-config.js.map +1 -1
  9. package/dist/lib/command-palette/command-palette.component.d.ts +7 -1
  10. package/dist/lib/command-palette/command-palette.component.d.ts.map +1 -1
  11. package/dist/lib/command-palette/command-palette.component.js +28 -14
  12. package/dist/lib/command-palette/command-palette.component.js.map +1 -1
  13. package/dist/lib/conversation-feedback/conversation-feedback.d.ts +103 -13
  14. package/dist/lib/conversation-feedback/conversation-feedback.d.ts.map +1 -1
  15. package/dist/lib/conversation-feedback/conversation-feedback.js +219 -67
  16. package/dist/lib/conversation-feedback/conversation-feedback.js.map +1 -1
  17. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts +64 -10
  18. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts.map +1 -1
  19. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +172 -66
  20. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
  21. package/dist/lib/generic/resource-container-component.d.ts +19 -5
  22. package/dist/lib/generic/resource-container-component.d.ts.map +1 -1
  23. package/dist/lib/generic/resource-container-component.js +43 -13
  24. package/dist/lib/generic/resource-container-component.js.map +1 -1
  25. package/dist/lib/guards/entities.guard.d.ts +4 -0
  26. package/dist/lib/guards/entities.guard.d.ts.map +1 -1
  27. package/dist/lib/guards/entities.guard.js +10 -2
  28. package/dist/lib/guards/entities.guard.js.map +1 -1
  29. package/dist/lib/identity-claims/claim-redeem.component.d.ts +4 -0
  30. package/dist/lib/identity-claims/claim-redeem.component.d.ts.map +1 -1
  31. package/dist/lib/identity-claims/claim-redeem.component.js +10 -2
  32. package/dist/lib/identity-claims/claim-redeem.component.js.map +1 -1
  33. package/dist/lib/oauth/oauth-callback.component.d.ts +4 -0
  34. package/dist/lib/oauth/oauth-callback.component.d.ts.map +1 -1
  35. package/dist/lib/oauth/oauth-callback.component.js +10 -2
  36. package/dist/lib/oauth/oauth-callback.component.js.map +1 -1
  37. package/dist/lib/profile/profile-dialog.component.d.ts.map +1 -1
  38. package/dist/lib/profile/profile-dialog.component.js +194 -191
  39. package/dist/lib/profile/profile-dialog.component.js.map +1 -1
  40. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +20 -2
  41. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -1
  42. package/dist/lib/resource-wrappers/artifact-resource.component.js +33 -9
  43. package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
  44. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +80 -10
  45. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
  46. package/dist/lib/resource-wrappers/chat-collections-resource.component.js +168 -56
  47. package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
  48. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +186 -23
  49. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
  50. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +500 -177
  51. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
  52. package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts +2 -0
  53. package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts.map +1 -1
  54. package/dist/lib/resource-wrappers/chat-deeplink-params.js +5 -1
  55. package/dist/lib/resource-wrappers/chat-deeplink-params.js.map +1 -1
  56. package/dist/lib/resource-wrappers/chat-search-routing.d.ts +25 -0
  57. package/dist/lib/resource-wrappers/chat-search-routing.d.ts.map +1 -0
  58. package/dist/lib/resource-wrappers/chat-search-routing.js +24 -0
  59. package/dist/lib/resource-wrappers/chat-search-routing.js.map +1 -0
  60. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +14 -2
  61. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -1
  62. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +32 -8
  63. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -1
  64. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +54 -8
  65. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
  66. package/dist/lib/resource-wrappers/dashboard-resource.component.js +138 -46
  67. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  68. package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts +223 -30
  69. package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts.map +1 -1
  70. package/dist/lib/resource-wrappers/livekit-room-resource.component.js +438 -118
  71. package/dist/lib/resource-wrappers/livekit-room-resource.component.js.map +1 -1
  72. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +7 -3
  73. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
  74. package/dist/lib/resource-wrappers/search-results-resource.component.js +23 -15
  75. package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
  76. package/dist/lib/resource-wrappers/view-resource.component.d.ts +68 -10
  77. package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
  78. package/dist/lib/resource-wrappers/view-resource.component.js +178 -62
  79. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  80. package/dist/lib/services/startup-validation.service.d.ts +4 -0
  81. package/dist/lib/services/startup-validation.service.d.ts.map +1 -1
  82. package/dist/lib/services/startup-validation.service.js +10 -2
  83. package/dist/lib/services/startup-validation.service.js.map +1 -1
  84. package/dist/lib/services/system-validation.service.d.ts +13 -1
  85. package/dist/lib/services/system-validation.service.d.ts.map +1 -1
  86. package/dist/lib/services/system-validation.service.js +29 -5
  87. package/dist/lib/services/system-validation.service.js.map +1 -1
  88. package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts +54 -4
  89. package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts.map +1 -1
  90. package/dist/lib/shell/components/dialogs/app-access-dialog.component.js +130 -40
  91. package/dist/lib/shell/components/dialogs/app-access-dialog.component.js.map +1 -1
  92. package/dist/lib/shell/components/header/app-nav.component.d.ts +29 -1
  93. package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -1
  94. package/dist/lib/shell/components/header/app-nav.component.js +56 -12
  95. package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
  96. package/dist/lib/shell/components/header/app-switcher.component.d.ts +33 -5
  97. package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -1
  98. package/dist/lib/shell/components/header/app-switcher.component.js +85 -29
  99. package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -1
  100. package/dist/lib/shell/components/record-open/record-origin-crumb.component.d.ts +7 -1
  101. package/dist/lib/shell/components/record-open/record-origin-crumb.component.d.ts.map +1 -1
  102. package/dist/lib/shell/components/record-open/record-origin-crumb.component.js +63 -9
  103. package/dist/lib/shell/components/record-open/record-origin-crumb.component.js.map +1 -1
  104. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +30 -1
  105. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
  106. package/dist/lib/shell/components/tabs/component-cache-manager.js +63 -15
  107. package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
  108. package/dist/lib/shell/components/tabs/tab-container.component.d.ts +99 -9
  109. package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
  110. package/dist/lib/shell/components/tabs/tab-container.component.js +310 -110
  111. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
  112. package/dist/lib/shell/loading-themes.d.ts +16 -12
  113. package/dist/lib/shell/loading-themes.d.ts.map +1 -1
  114. package/dist/lib/shell/loading-themes.js +145 -137
  115. package/dist/lib/shell/loading-themes.js.map +1 -1
  116. package/dist/lib/shell/readiness-beacon.d.ts +24 -0
  117. package/dist/lib/shell/readiness-beacon.d.ts.map +1 -0
  118. package/dist/lib/shell/readiness-beacon.js +40 -0
  119. package/dist/lib/shell/readiness-beacon.js.map +1 -0
  120. package/dist/lib/shell/services/about-dialog.service.d.ts +6 -0
  121. package/dist/lib/shell/services/about-dialog.service.d.ts.map +1 -1
  122. package/dist/lib/shell/services/about-dialog.service.js +16 -4
  123. package/dist/lib/shell/services/about-dialog.service.js.map +1 -1
  124. package/dist/lib/shell/services/profile-dialog.service.d.ts +6 -0
  125. package/dist/lib/shell/services/profile-dialog.service.d.ts.map +1 -1
  126. package/dist/lib/shell/services/profile-dialog.service.js +16 -4
  127. package/dist/lib/shell/services/profile-dialog.service.js.map +1 -1
  128. package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts +6 -0
  129. package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts.map +1 -1
  130. package/dist/lib/shell/services/user-sharing-center-dialog.service.js +15 -3
  131. package/dist/lib/shell/services/user-sharing-center-dialog.service.js.map +1 -1
  132. package/dist/lib/shell/shell.component.d.ts +275 -40
  133. package/dist/lib/shell/shell.component.d.ts.map +1 -1
  134. package/dist/lib/shell/shell.component.js +704 -290
  135. package/dist/lib/shell/shell.component.js.map +1 -1
  136. package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts +64 -8
  137. package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts.map +1 -1
  138. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +129 -37
  139. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
  140. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts +26 -2
  141. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts.map +1 -1
  142. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +48 -10
  143. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
  144. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts +84 -6
  145. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts.map +1 -1
  146. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +133 -29
  147. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
  148. package/dist/lib/single-dashboard/single-dashboard.component.d.ts +173 -23
  149. package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
  150. package/dist/lib/single-dashboard/single-dashboard.component.js +383 -109
  151. package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
  152. package/dist/lib/single-list-detail/single-list-detail.component.d.ts +383 -55
  153. package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
  154. package/dist/lib/single-list-detail/single-list-detail.component.js +962 -326
  155. package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
  156. package/dist/lib/single-query/single-query.component.d.ts +22 -2
  157. package/dist/lib/single-query/single-query.component.d.ts.map +1 -1
  158. package/dist/lib/single-query/single-query.component.js +40 -10
  159. package/dist/lib/single-query/single-query.component.js.map +1 -1
  160. package/dist/lib/single-record/single-record.component.d.ts +41 -3
  161. package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
  162. package/dist/lib/single-record/single-record.component.js +71 -11
  163. package/dist/lib/single-record/single-record.component.js.map +1 -1
  164. package/dist/lib/single-search-result/single-search-result.component.d.ts +23 -3
  165. package/dist/lib/single-search-result/single-search-result.component.d.ts.map +1 -1
  166. package/dist/lib/single-search-result/single-search-result.component.js +42 -12
  167. package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
  168. package/dist/lib/system-validation/system-validation-banner.component.d.ts +12 -2
  169. package/dist/lib/system-validation/system-validation-banner.component.d.ts.map +1 -1
  170. package/dist/lib/system-validation/system-validation-banner.component.js +25 -5
  171. package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -1
  172. package/dist/lib/user-menu/user-menu.types.d.ts +4 -0
  173. package/dist/lib/user-menu/user-menu.types.d.ts.map +1 -1
  174. package/dist/lib/user-menu/user-menu.types.js +10 -2
  175. package/dist/lib/user-menu/user-menu.types.js.map +1 -1
  176. package/dist/lib/user-notifications/user-notifications.component.d.ts +59 -7
  177. package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
  178. package/dist/lib/user-notifications/user-notifications.component.js +151 -47
  179. package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
  180. package/dist/lib/user-profile/user-profile.component.d.ts +3 -2
  181. package/dist/lib/user-profile/user-profile.component.d.ts.map +1 -1
  182. package/dist/lib/user-profile/user-profile.component.js +5 -4
  183. package/dist/lib/user-profile/user-profile.component.js.map +1 -1
  184. package/package.json +52 -52
@@ -20,25 +20,81 @@ export interface FeedbackRow {
20
20
  export type RatingBand = 'all' | 'high' | 'mid' | 'low';
21
21
  export type DateRange = 'all' | '1d' | '7d' | '30d' | '90d';
22
22
  export declare class ConversationFeedbackResource extends BaseResourceComponent implements OnInit {
23
- isInitializing: boolean;
24
- loading: boolean;
25
- statsLoading: boolean;
23
+ IsInitializing: boolean;
24
+ /** @deprecated Use {@link IsInitializing}. */
25
+ get isInitializing(): boolean;
26
+ /** @deprecated Use {@link IsInitializing}. */
27
+ set isInitializing(value: boolean);
28
+ Loading: boolean;
29
+ /** @deprecated Use {@link Loading}. */
30
+ get loading(): boolean;
31
+ /** @deprecated Use {@link Loading}. */
32
+ set loading(value: boolean);
33
+ StatsLoading: boolean;
34
+ /** @deprecated Use {@link StatsLoading}. */
35
+ get statsLoading(): boolean;
36
+ /** @deprecated Use {@link StatsLoading}. */
37
+ set statsLoading(value: boolean);
26
38
  error: string | null;
27
- ratingBand: RatingBand;
28
- dateRange: DateRange;
29
- searchTerm: string;
30
- rows: FeedbackRow[];
31
- totalRowCount: number;
39
+ RatingBand: RatingBand;
40
+ /** @deprecated Use {@link RatingBand}. */
41
+ get ratingBand(): RatingBand;
42
+ /** @deprecated Use {@link RatingBand}. */
43
+ set ratingBand(value: RatingBand);
44
+ DateRange: DateRange;
45
+ /** @deprecated Use {@link DateRange}. */
46
+ get dateRange(): DateRange;
47
+ /** @deprecated Use {@link DateRange}. */
48
+ set dateRange(value: DateRange);
49
+ SearchTerm: string;
50
+ /** @deprecated Use {@link SearchTerm}. */
51
+ get searchTerm(): string;
52
+ /** @deprecated Use {@link SearchTerm}. */
53
+ set searchTerm(value: string);
54
+ Rows: FeedbackRow[];
55
+ /** @deprecated Use {@link Rows}. */
56
+ get rows(): FeedbackRow[];
57
+ /** @deprecated Use {@link Rows}. */
58
+ set rows(value: FeedbackRow[]);
59
+ TotalRowCount: number;
60
+ /** @deprecated Use {@link TotalRowCount}. */
61
+ get totalRowCount(): number;
62
+ /** @deprecated Use {@link TotalRowCount}. */
63
+ set totalRowCount(value: number);
32
64
  pageSize: number;
33
- currentPage: number;
34
- readonly pageSizeOptions: number[];
35
- stats: {
65
+ CurrentPage: number;
66
+ /** @deprecated Use {@link CurrentPage}. */
67
+ get currentPage(): number;
68
+ /** @deprecated Use {@link CurrentPage}. */
69
+ set currentPage(value: number);
70
+ readonly PageSizeOptions: number[];
71
+ /** @deprecated Use {@link PageSizeOptions}. */
72
+ get pageSizeOptions(): number[];
73
+ Stats: {
36
74
  total: number;
37
75
  avgRating: number;
38
76
  percentPositive: number;
39
77
  percentNegative: number;
40
78
  };
41
- selectedRow: FeedbackRow | null;
79
+ /** @deprecated Use {@link Stats}. */
80
+ get stats(): {
81
+ total: number;
82
+ avgRating: number;
83
+ percentPositive: number;
84
+ percentNegative: number;
85
+ };
86
+ /** @deprecated Use {@link Stats}. */
87
+ set stats(value: {
88
+ total: number;
89
+ avgRating: number;
90
+ percentPositive: number;
91
+ percentNegative: number;
92
+ });
93
+ SelectedRow: FeedbackRow | null;
94
+ /** @deprecated Use {@link SelectedRow}. */
95
+ get selectedRow(): FeedbackRow | null;
96
+ /** @deprecated Use {@link SelectedRow}. */
97
+ set selectedRow(value: FeedbackRow | null);
42
98
  private searchDebounceTimer;
43
99
  private cdr;
44
100
  private appManager;
@@ -46,30 +102,62 @@ export declare class ConversationFeedbackResource extends BaseResourceComponent
46
102
  GetResourceIconClass(): Promise<string>;
47
103
  ngOnInit(): Promise<void>;
48
104
  /** Manual refresh from the page header — same path as a filter change. */
105
+ LoadFeedback(): Promise<void>;
106
+ /** @deprecated Use {@link LoadFeedback}. */
49
107
  loadFeedback(): Promise<void>;
108
+ SetBand(band: RatingBand): void;
109
+ /** @deprecated Use {@link SetBand}. */
50
110
  setBand(band: RatingBand): void;
111
+ SetDateRange(range: DateRange): void;
112
+ /** @deprecated Use {@link SetDateRange}. */
51
113
  setDateRange(range: DateRange): void;
52
114
  /**
53
115
  * Search input fires on every keystroke; debounce so we don't slam the
54
116
  * server while the user is typing. 250ms is enough to feel responsive
55
117
  * without firing on intermediate states.
56
118
  */
119
+ OnSearchChange(): void;
120
+ /** @deprecated Use {@link OnSearchChange}. */
57
121
  onSearchChange(): void;
122
+ OnPageChange(event: {
123
+ PageNumber: number;
124
+ PageSize: number;
125
+ StartRow: number;
126
+ }): void;
127
+ /** @deprecated Use {@link OnPageChange}. */
58
128
  onPageChange(event: {
59
129
  PageNumber: number;
60
130
  PageSize: number;
61
131
  StartRow: number;
62
132
  }): void;
133
+ OnPageSizeChange(size: number): void;
134
+ /** @deprecated Use {@link OnPageSizeChange}. */
63
135
  onPageSizeChange(size: number): void;
136
+ OpenDrawer(row: FeedbackRow): void;
137
+ /** @deprecated Use {@link OpenDrawer}. */
64
138
  openDrawer(row: FeedbackRow): void;
139
+ CloseDrawer(): void;
140
+ /** @deprecated Use {@link CloseDrawer}. */
65
141
  closeDrawer(): void;
142
+ OpenConversation(): Promise<void>;
143
+ /** @deprecated Use {@link OpenConversation}. */
66
144
  openConversation(): Promise<void>;
67
145
  onEscape(): void;
146
+ BandClassFor(rating: number): string;
147
+ /** @deprecated Use {@link BandClassFor}. */
68
148
  bandClassFor(rating: number): string;
69
- trackByRatingID: (_: number, row: FeedbackRow) => string;
149
+ TrackByRatingID: (_: number, row: FeedbackRow) => string;
150
+ /** @deprecated Use {@link TrackByRatingID}. */
151
+ get trackByRatingID(): (_: number, row: FeedbackRow) => string;
152
+ /** @deprecated Use {@link TrackByRatingID}. */
153
+ set trackByRatingID(value: (_: number, row: FeedbackRow) => string);
70
154
  /** 1-based index of the first row on the current page (0 when empty). */
155
+ get RangeStart(): number;
156
+ /** @deprecated Use {@link RangeStart}. */
71
157
  get rangeStart(): number;
72
158
  /** 1-based index of the last row on the current page (clamped to total). */
159
+ get RangeEnd(): number;
160
+ /** @deprecated Use {@link RangeEnd}. */
73
161
  get rangeEnd(): number;
74
162
  /**
75
163
  * True when the filtered set fits on a single page — in this case
@@ -77,6 +165,8 @@ export declare class ConversationFeedbackResource extends BaseResourceComponent
77
165
  * line. When false we let mj-pagination own the bar (it has its own
78
166
  * `1-N of M` summary on the left + nav controls on the right).
79
167
  */
168
+ get IsSinglePage(): boolean;
169
+ /** @deprecated Use {@link IsSinglePage}. */
80
170
  get isSinglePage(): boolean;
81
171
  /**
82
172
  * Run both the rows-query (paged) and the stats-query (aggregate) against
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-feedback.d.ts","sourceRoot":"","sources":["../../../src/lib/conversation-feedback/conversation-feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-feedback.d.ts","sourceRoot":"","sources":["../../../src/lib/conversation-feedback/conversation-feedback.ts"],"names":[],"mappings":"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"}
@@ -480,20 +480,112 @@ function ConversationFeedbackResource_Conditional_5_Template(rf, ctx) { if (rf &
480
480
  i0.ɵɵproperty("disabled", !r_r11.conversationID)("title", r_r11.conversationID ? "Open the source conversation" : "No conversation linked");
481
481
  } }
482
482
  let ConversationFeedbackResource = class ConversationFeedbackResource extends BaseResourceComponent {
483
- isInitializing = true;
484
- loading = false;
485
- statsLoading = false;
483
+ IsInitializing = true;
484
+ /** @deprecated Use {@link IsInitializing}. */
485
+ get isInitializing() {
486
+ return this.IsInitializing;
487
+ }
488
+ /** @deprecated Use {@link IsInitializing}. */
489
+ set isInitializing(value) {
490
+ this.IsInitializing = value;
491
+ }
492
+ Loading = false;
493
+ /** @deprecated Use {@link Loading}. */
494
+ get loading() {
495
+ return this.Loading;
496
+ }
497
+ /** @deprecated Use {@link Loading}. */
498
+ set loading(value) {
499
+ this.Loading = value;
500
+ }
501
+ StatsLoading = false;
502
+ /** @deprecated Use {@link StatsLoading}. */
503
+ get statsLoading() {
504
+ return this.StatsLoading;
505
+ }
506
+ /** @deprecated Use {@link StatsLoading}. */
507
+ set statsLoading(value) {
508
+ this.StatsLoading = value;
509
+ }
486
510
  error = null;
487
- ratingBand = 'all';
488
- dateRange = '7d';
489
- searchTerm = '';
490
- rows = [];
491
- totalRowCount = 0;
511
+ RatingBand = 'all';
512
+ /** @deprecated Use {@link RatingBand}. */
513
+ get ratingBand() {
514
+ return this.RatingBand;
515
+ }
516
+ /** @deprecated Use {@link RatingBand}. */
517
+ set ratingBand(value) {
518
+ this.RatingBand = value;
519
+ }
520
+ DateRange = '7d';
521
+ /** @deprecated Use {@link DateRange}. */
522
+ get dateRange() {
523
+ return this.DateRange;
524
+ }
525
+ /** @deprecated Use {@link DateRange}. */
526
+ set dateRange(value) {
527
+ this.DateRange = value;
528
+ }
529
+ SearchTerm = '';
530
+ /** @deprecated Use {@link SearchTerm}. */
531
+ get searchTerm() {
532
+ return this.SearchTerm;
533
+ }
534
+ /** @deprecated Use {@link SearchTerm}. */
535
+ set searchTerm(value) {
536
+ this.SearchTerm = value;
537
+ }
538
+ Rows = [];
539
+ /** @deprecated Use {@link Rows}. */
540
+ get rows() {
541
+ return this.Rows;
542
+ }
543
+ /** @deprecated Use {@link Rows}. */
544
+ set rows(value) {
545
+ this.Rows = value;
546
+ }
547
+ TotalRowCount = 0;
548
+ /** @deprecated Use {@link TotalRowCount}. */
549
+ get totalRowCount() {
550
+ return this.TotalRowCount;
551
+ }
552
+ /** @deprecated Use {@link TotalRowCount}. */
553
+ set totalRowCount(value) {
554
+ this.TotalRowCount = value;
555
+ }
492
556
  pageSize = 10;
493
- currentPage = 1;
494
- pageSizeOptions = [10, 25, 50, 100];
495
- stats = { total: 0, avgRating: 0, percentPositive: 0, percentNegative: 0 };
496
- selectedRow = null;
557
+ CurrentPage = 1;
558
+ /** @deprecated Use {@link CurrentPage}. */
559
+ get currentPage() {
560
+ return this.CurrentPage;
561
+ }
562
+ /** @deprecated Use {@link CurrentPage}. */
563
+ set currentPage(value) {
564
+ this.CurrentPage = value;
565
+ }
566
+ PageSizeOptions = [10, 25, 50, 100];
567
+ /** @deprecated Use {@link PageSizeOptions}. */
568
+ get pageSizeOptions() {
569
+ return this.PageSizeOptions;
570
+ }
571
+ Stats = { total: 0, avgRating: 0, percentPositive: 0, percentNegative: 0 };
572
+ /** @deprecated Use {@link Stats}. */
573
+ get stats() {
574
+ return this.Stats;
575
+ }
576
+ /** @deprecated Use {@link Stats}. */
577
+ set stats(value) {
578
+ this.Stats = value;
579
+ }
580
+ SelectedRow = null;
581
+ /** @deprecated Use {@link SelectedRow}. */
582
+ get selectedRow() {
583
+ return this.SelectedRow;
584
+ }
585
+ /** @deprecated Use {@link SelectedRow}. */
586
+ set selectedRow(value) {
587
+ this.SelectedRow = value;
588
+ }
497
589
  searchDebounceTimer = null;
498
590
  cdr = inject(ChangeDetectorRef);
499
591
  appManager = inject(ApplicationManager);
@@ -504,68 +596,100 @@ let ConversationFeedbackResource = class ConversationFeedbackResource extends Ba
504
596
  return 'fa-solid fa-comment-dots';
505
597
  }
506
598
  async ngOnInit() {
507
- this.isInitializing = false;
599
+ this.IsInitializing = false;
508
600
  this.cdr.detectChanges();
509
601
  await this.applyFilters();
510
602
  this.NotifyLoadComplete();
511
603
  }
512
604
  /** Manual refresh from the page header — same path as a filter change. */
513
- async loadFeedback() {
605
+ async LoadFeedback() {
514
606
  await this.applyFilters();
515
607
  }
516
- setBand(band) {
517
- if (this.ratingBand === band)
608
+ /** @deprecated Use {@link LoadFeedback}. */
609
+ async loadFeedback() {
610
+ return this.LoadFeedback();
611
+ }
612
+ SetBand(band) {
613
+ if (this.RatingBand === band)
518
614
  return;
519
- this.ratingBand = band;
520
- this.currentPage = 1;
615
+ this.RatingBand = band;
616
+ this.CurrentPage = 1;
521
617
  void this.applyFilters();
522
618
  }
523
- setDateRange(range) {
524
- if (this.dateRange === range)
619
+ /** @deprecated Use {@link SetBand}. */
620
+ setBand(band) {
621
+ return this.SetBand(band);
622
+ }
623
+ SetDateRange(range) {
624
+ if (this.DateRange === range)
525
625
  return;
526
- this.dateRange = range;
527
- this.currentPage = 1;
626
+ this.DateRange = range;
627
+ this.CurrentPage = 1;
528
628
  void this.applyFilters();
529
629
  }
630
+ /** @deprecated Use {@link SetDateRange}. */
631
+ setDateRange(range) {
632
+ return this.SetDateRange(range);
633
+ }
530
634
  /**
531
635
  * Search input fires on every keystroke; debounce so we don't slam the
532
636
  * server while the user is typing. 250ms is enough to feel responsive
533
637
  * without firing on intermediate states.
534
638
  */
535
- onSearchChange() {
639
+ OnSearchChange() {
536
640
  if (this.searchDebounceTimer)
537
641
  clearTimeout(this.searchDebounceTimer);
538
642
  this.searchDebounceTimer = setTimeout(() => {
539
- this.currentPage = 1;
643
+ this.CurrentPage = 1;
540
644
  void this.applyFilters();
541
645
  }, 250);
542
646
  }
543
- onPageChange(event) {
544
- if (event.PageNumber === this.currentPage)
647
+ /** @deprecated Use {@link OnSearchChange}. */
648
+ onSearchChange() {
649
+ return this.OnSearchChange();
650
+ }
651
+ OnPageChange(event) {
652
+ if (event.PageNumber === this.CurrentPage)
545
653
  return;
546
- this.currentPage = event.PageNumber;
654
+ this.CurrentPage = event.PageNumber;
547
655
  void this.loadRows();
548
656
  }
549
- onPageSizeChange(size) {
657
+ /** @deprecated Use {@link OnPageChange}. */
658
+ onPageChange(event) {
659
+ return this.OnPageChange(event);
660
+ }
661
+ OnPageSizeChange(size) {
550
662
  const next = Number(size);
551
663
  if (!next || next === this.pageSize)
552
664
  return;
553
665
  this.pageSize = next;
554
- this.currentPage = 1;
666
+ this.CurrentPage = 1;
555
667
  void this.loadRows();
556
668
  }
669
+ /** @deprecated Use {@link OnPageSizeChange}. */
670
+ onPageSizeChange(size) {
671
+ return this.OnPageSizeChange(size);
672
+ }
673
+ OpenDrawer(row) {
674
+ this.SelectedRow = row;
675
+ this.cdr.detectChanges();
676
+ }
677
+ /** @deprecated Use {@link OpenDrawer}. */
557
678
  openDrawer(row) {
558
- this.selectedRow = row;
679
+ return this.OpenDrawer(row);
680
+ }
681
+ CloseDrawer() {
682
+ this.SelectedRow = null;
559
683
  this.cdr.detectChanges();
560
684
  }
685
+ /** @deprecated Use {@link CloseDrawer}. */
561
686
  closeDrawer() {
562
- this.selectedRow = null;
563
- this.cdr.detectChanges();
687
+ return this.CloseDrawer();
564
688
  }
565
- async openConversation() {
566
- if (!this.selectedRow?.conversationID)
689
+ async OpenConversation() {
690
+ if (!this.SelectedRow?.conversationID)
567
691
  return;
568
- const conversationID = this.selectedRow.conversationID;
692
+ const conversationID = this.SelectedRow.conversationID;
569
693
  // The Chat app owns the Conversations nav item; the active app (Agent
570
694
  // Feedback) does not, so we must target Chat explicitly. Fall back to
571
695
  // scanning all apps for a nav item whose DriverClass is the chat resource.
@@ -587,30 +711,54 @@ let ConversationFeedbackResource = class ConversationFeedbackResource extends Ba
587
711
  this.cdr.detectChanges();
588
712
  return;
589
713
  }
590
- this.closeDrawer();
714
+ this.CloseDrawer();
591
715
  await this.navigationService.OpenNavItemByName(navItemLabel, { conversationId: conversationID }, appId);
592
716
  }
717
+ /** @deprecated Use {@link OpenConversation}. */
718
+ async openConversation() {
719
+ return this.OpenConversation();
720
+ }
593
721
  onEscape() {
594
- if (this.selectedRow)
595
- this.closeDrawer();
722
+ if (this.SelectedRow)
723
+ this.CloseDrawer();
596
724
  }
597
- bandClassFor(rating) {
725
+ BandClassFor(rating) {
598
726
  if (rating >= 8)
599
727
  return 'rating-high';
600
728
  if (rating >= 4)
601
729
  return 'rating-mid';
602
730
  return 'rating-low';
603
731
  }
604
- trackByRatingID = (_, row) => row.ratingID;
732
+ /** @deprecated Use {@link BandClassFor}. */
733
+ bandClassFor(rating) {
734
+ return this.BandClassFor(rating);
735
+ }
736
+ TrackByRatingID = (_, row) => row.ratingID;
737
+ /** @deprecated Use {@link TrackByRatingID}. */
738
+ get trackByRatingID() {
739
+ return this.TrackByRatingID;
740
+ }
741
+ /** @deprecated Use {@link TrackByRatingID}. */
742
+ set trackByRatingID(value) {
743
+ this.TrackByRatingID = value;
744
+ }
605
745
  /** 1-based index of the first row on the current page (0 when empty). */
606
- get rangeStart() {
607
- if (this.totalRowCount === 0)
746
+ get RangeStart() {
747
+ if (this.TotalRowCount === 0)
608
748
  return 0;
609
- return (this.currentPage - 1) * this.pageSize + 1;
749
+ return (this.CurrentPage - 1) * this.pageSize + 1;
750
+ }
751
+ /** @deprecated Use {@link RangeStart}. */
752
+ get rangeStart() {
753
+ return this.RangeStart;
610
754
  }
611
755
  /** 1-based index of the last row on the current page (clamped to total). */
756
+ get RangeEnd() {
757
+ return Math.min(this.CurrentPage * this.pageSize, this.TotalRowCount);
758
+ }
759
+ /** @deprecated Use {@link RangeEnd}. */
612
760
  get rangeEnd() {
613
- return Math.min(this.currentPage * this.pageSize, this.totalRowCount);
761
+ return this.RangeEnd;
614
762
  }
615
763
  /**
616
764
  * True when the filtered set fits on a single page — in this case
@@ -618,10 +766,14 @@ let ConversationFeedbackResource = class ConversationFeedbackResource extends Ba
618
766
  * line. When false we let mj-pagination own the bar (it has its own
619
767
  * `1-N of M` summary on the left + nav controls on the right).
620
768
  */
621
- get isSinglePage() {
622
- if (this.totalRowCount <= 0)
769
+ get IsSinglePage() {
770
+ if (this.TotalRowCount <= 0)
623
771
  return false;
624
- return Math.ceil(this.totalRowCount / this.pageSize) <= 1;
772
+ return Math.ceil(this.TotalRowCount / this.pageSize) <= 1;
773
+ }
774
+ /** @deprecated Use {@link IsSinglePage}. */
775
+ get isSinglePage() {
776
+ return this.IsSinglePage;
625
777
  }
626
778
  /**
627
779
  * Run both the rows-query (paged) and the stats-query (aggregate) against
@@ -635,7 +787,7 @@ let ConversationFeedbackResource = class ConversationFeedbackResource extends Ba
635
787
  * footer reads `totalRowCount` to derive the page count.
636
788
  */
637
789
  async loadRows() {
638
- this.loading = true;
790
+ this.Loading = true;
639
791
  this.error = null;
640
792
  this.cdr.detectChanges();
641
793
  try {
@@ -644,25 +796,25 @@ let ConversationFeedbackResource = class ConversationFeedbackResource extends Ba
644
796
  QueryName: 'ListConversationDetailFeedback',
645
797
  CategoryPath: '/MJ/Conversations',
646
798
  Parameters: this.buildQueryParameters(),
647
- StartRow: (this.currentPage - 1) * this.pageSize,
799
+ StartRow: (this.CurrentPage - 1) * this.pageSize,
648
800
  MaxRows: this.pageSize
649
801
  });
650
802
  if (!result.Success) {
651
803
  this.error = result.ErrorMessage || 'Failed to load feedback';
652
- this.rows = [];
653
- this.totalRowCount = 0;
804
+ this.Rows = [];
805
+ this.TotalRowCount = 0;
654
806
  return;
655
807
  }
656
- this.rows = (result.Results ?? []).map((r) => this.mapRow(r));
657
- this.totalRowCount = result.TotalRowCount ?? this.rows.length;
808
+ this.Rows = (result.Results ?? []).map((r) => this.mapRow(r));
809
+ this.TotalRowCount = result.TotalRowCount ?? this.Rows.length;
658
810
  }
659
811
  catch (e) {
660
812
  this.error = e?.message || 'Failed to load feedback';
661
- this.rows = [];
662
- this.totalRowCount = 0;
813
+ this.Rows = [];
814
+ this.TotalRowCount = 0;
663
815
  }
664
816
  finally {
665
- this.loading = false;
817
+ this.Loading = false;
666
818
  this.cdr.detectChanges();
667
819
  }
668
820
  }
@@ -672,7 +824,7 @@ let ConversationFeedbackResource = class ConversationFeedbackResource extends Ba
672
824
  * sync after every filter change.
673
825
  */
674
826
  async loadStats() {
675
- this.statsLoading = true;
827
+ this.StatsLoading = true;
676
828
  this.cdr.detectChanges();
677
829
  try {
678
830
  const rq = new RunQuery();
@@ -686,7 +838,7 @@ let ConversationFeedbackResource = class ConversationFeedbackResource extends Ba
686
838
  const avg = Number(row.AvgRating ?? 0);
687
839
  const pos = Number(row.PositiveCount ?? 0);
688
840
  const neg = Number(row.NegativeCount ?? 0);
689
- this.stats = {
841
+ this.Stats = {
690
842
  total,
691
843
  avgRating: total ? Math.round(avg * 10) / 10 : 0,
692
844
  percentPositive: total ? Math.round((pos / total) * 100) : 0,
@@ -699,7 +851,7 @@ let ConversationFeedbackResource = class ConversationFeedbackResource extends Ba
699
851
  console.warn('[Feedback] stats query failed', e);
700
852
  }
701
853
  finally {
702
- this.statsLoading = false;
854
+ this.StatsLoading = false;
703
855
  this.cdr.detectChanges();
704
856
  }
705
857
  }
@@ -710,32 +862,32 @@ let ConversationFeedbackResource = class ConversationFeedbackResource extends Ba
710
862
  */
711
863
  buildQueryParameters() {
712
864
  const params = {};
713
- if (this.ratingBand === 'high') {
865
+ if (this.RatingBand === 'high') {
714
866
  params.MinRating = 8;
715
867
  }
716
- else if (this.ratingBand === 'mid') {
868
+ else if (this.RatingBand === 'mid') {
717
869
  params.MinRating = 4;
718
870
  params.MaxRating = 7;
719
871
  }
720
- else if (this.ratingBand === 'low') {
872
+ else if (this.RatingBand === 'low') {
721
873
  params.MaxRating = 3;
722
874
  }
723
875
  const cutoffIso = this.dateRangeCutoffIso();
724
876
  if (cutoffIso) {
725
877
  params.StartDate = cutoffIso;
726
878
  }
727
- const term = this.searchTerm.trim();
879
+ const term = this.SearchTerm.trim();
728
880
  if (term) {
729
881
  params.SearchText = term;
730
882
  }
731
883
  return params;
732
884
  }
733
885
  dateRangeCutoffIso() {
734
- if (this.dateRange === 'all')
886
+ if (this.DateRange === 'all')
735
887
  return null;
736
- const days = this.dateRange === '1d' ? 1
737
- : this.dateRange === '7d' ? 7
738
- : this.dateRange === '30d' ? 30
888
+ const days = this.DateRange === '1d' ? 1
889
+ : this.DateRange === '7d' ? 7
890
+ : this.DateRange === '30d' ? 30
739
891
  : 90;
740
892
  const cutoff = new Date(Date.now() - days * 24 * 60 * 60 * 1000);
741
893
  return cutoff.toISOString();