@memberjunction/ng-explorer-core 6.2.0-edge.0 → 6.2.0-edge.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-routing.module.d.ts +23 -1
- package/dist/app-routing.module.d.ts.map +1 -1
- package/dist/app-routing.module.js +50 -14
- package/dist/app-routing.module.js.map +1 -1
- package/dist/generated/lazy-feature-config.d.ts +1 -1
- package/dist/generated/lazy-feature-config.d.ts.map +1 -1
- package/dist/generated/lazy-feature-config.js +12 -1
- package/dist/generated/lazy-feature-config.js.map +1 -1
- package/dist/lib/command-palette/command-palette.component.d.ts +7 -1
- package/dist/lib/command-palette/command-palette.component.d.ts.map +1 -1
- package/dist/lib/command-palette/command-palette.component.js +28 -14
- package/dist/lib/command-palette/command-palette.component.js.map +1 -1
- package/dist/lib/conversation-feedback/conversation-feedback.d.ts +103 -13
- package/dist/lib/conversation-feedback/conversation-feedback.d.ts.map +1 -1
- package/dist/lib/conversation-feedback/conversation-feedback.js +219 -67
- package/dist/lib/conversation-feedback/conversation-feedback.js.map +1 -1
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts +64 -10
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts.map +1 -1
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +172 -66
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
- package/dist/lib/generic/resource-container-component.d.ts +19 -5
- package/dist/lib/generic/resource-container-component.d.ts.map +1 -1
- package/dist/lib/generic/resource-container-component.js +43 -13
- package/dist/lib/generic/resource-container-component.js.map +1 -1
- package/dist/lib/guards/entities.guard.d.ts +4 -0
- package/dist/lib/guards/entities.guard.d.ts.map +1 -1
- package/dist/lib/guards/entities.guard.js +10 -2
- package/dist/lib/guards/entities.guard.js.map +1 -1
- package/dist/lib/identity-claims/claim-redeem.component.d.ts +4 -0
- package/dist/lib/identity-claims/claim-redeem.component.d.ts.map +1 -1
- package/dist/lib/identity-claims/claim-redeem.component.js +10 -2
- package/dist/lib/identity-claims/claim-redeem.component.js.map +1 -1
- package/dist/lib/oauth/oauth-callback.component.d.ts +4 -0
- package/dist/lib/oauth/oauth-callback.component.d.ts.map +1 -1
- package/dist/lib/oauth/oauth-callback.component.js +10 -2
- package/dist/lib/oauth/oauth-callback.component.js.map +1 -1
- package/dist/lib/profile/profile-dialog.component.d.ts.map +1 -1
- package/dist/lib/profile/profile-dialog.component.js +194 -191
- package/dist/lib/profile/profile-dialog.component.js.map +1 -1
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +20 -2
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/artifact-resource.component.js +33 -9
- package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +80 -10
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js +168 -56
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +199 -25
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +534 -182
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts +2 -0
- package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-deeplink-params.js +5 -1
- package/dist/lib/resource-wrappers/chat-deeplink-params.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-search-routing.d.ts +25 -0
- package/dist/lib/resource-wrappers/chat-search-routing.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/chat-search-routing.js +24 -0
- package/dist/lib/resource-wrappers/chat-search-routing.js.map +1 -0
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +14 -2
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +32 -8
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/compose-email-fallback.d.ts +46 -0
- package/dist/lib/resource-wrappers/compose-email-fallback.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/compose-email-fallback.js +62 -0
- package/dist/lib/resource-wrappers/compose-email-fallback.js.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +54 -8
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.js +138 -46
- package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts +223 -30
- package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/livekit-room-resource.component.js +438 -118
- package/dist/lib/resource-wrappers/livekit-room-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +7 -3
- package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.js +23 -15
- package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.d.ts +74 -11
- package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.js +214 -68
- package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
- package/dist/lib/services/server-connectivity.service.d.ts +9 -4
- package/dist/lib/services/server-connectivity.service.d.ts.map +1 -1
- package/dist/lib/services/server-connectivity.service.js +56 -12
- package/dist/lib/services/server-connectivity.service.js.map +1 -1
- package/dist/lib/services/startup-validation.service.d.ts +4 -0
- package/dist/lib/services/startup-validation.service.d.ts.map +1 -1
- package/dist/lib/services/startup-validation.service.js +10 -2
- package/dist/lib/services/startup-validation.service.js.map +1 -1
- package/dist/lib/services/system-validation.service.d.ts +13 -1
- package/dist/lib/services/system-validation.service.d.ts.map +1 -1
- package/dist/lib/services/system-validation.service.js +29 -5
- package/dist/lib/services/system-validation.service.js.map +1 -1
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts +54 -4
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts.map +1 -1
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.js +130 -40
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.js.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.d.ts +29 -1
- package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.js +56 -12
- package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
- package/dist/lib/shell/components/header/app-switcher.component.d.ts +33 -5
- package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -1
- package/dist/lib/shell/components/header/app-switcher.component.js +85 -29
- package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -1
- package/dist/lib/shell/components/record-open/record-origin-crumb.component.js +1 -1
- package/dist/lib/shell/components/record-open/record-origin-crumb.component.js.map +1 -1
- package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +50 -6
- package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/component-cache-manager.js +95 -22
- package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts +91 -9
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.js +257 -101
- package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
- package/dist/lib/shell/loading-themes.d.ts +16 -12
- package/dist/lib/shell/loading-themes.d.ts.map +1 -1
- package/dist/lib/shell/loading-themes.js +145 -137
- package/dist/lib/shell/loading-themes.js.map +1 -1
- package/dist/lib/shell/readiness-beacon.d.ts +2 -0
- package/dist/lib/shell/readiness-beacon.d.ts.map +1 -1
- package/dist/lib/shell/readiness-beacon.js +5 -1
- package/dist/lib/shell/readiness-beacon.js.map +1 -1
- package/dist/lib/shell/services/about-dialog.service.d.ts +6 -0
- package/dist/lib/shell/services/about-dialog.service.d.ts.map +1 -1
- package/dist/lib/shell/services/about-dialog.service.js +16 -4
- package/dist/lib/shell/services/about-dialog.service.js.map +1 -1
- package/dist/lib/shell/services/profile-dialog.service.d.ts +6 -0
- package/dist/lib/shell/services/profile-dialog.service.d.ts.map +1 -1
- package/dist/lib/shell/services/profile-dialog.service.js +16 -4
- package/dist/lib/shell/services/profile-dialog.service.js.map +1 -1
- package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts +6 -0
- package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts.map +1 -1
- package/dist/lib/shell/services/user-sharing-center-dialog.service.js +15 -3
- package/dist/lib/shell/services/user-sharing-center-dialog.service.js.map +1 -1
- package/dist/lib/shell/shell.component.d.ts +264 -39
- package/dist/lib/shell/shell.component.d.ts.map +1 -1
- package/dist/lib/shell/shell.component.js +697 -294
- package/dist/lib/shell/shell.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts +64 -8
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +129 -37
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts +26 -2
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +48 -10
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts +84 -6
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +133 -29
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.d.ts +173 -23
- package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js +383 -109
- package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.d.ts +383 -55
- package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.js +962 -326
- package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
- package/dist/lib/single-query/single-query.component.d.ts +22 -2
- package/dist/lib/single-query/single-query.component.d.ts.map +1 -1
- package/dist/lib/single-query/single-query.component.js +40 -10
- package/dist/lib/single-query/single-query.component.js.map +1 -1
- package/dist/lib/single-record/single-record.component.d.ts +41 -3
- package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
- package/dist/lib/single-record/single-record.component.js +71 -11
- package/dist/lib/single-record/single-record.component.js.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.d.ts +23 -3
- package/dist/lib/single-search-result/single-search-result.component.d.ts.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.js +42 -12
- package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
- package/dist/lib/system-validation/system-validation-banner.component.d.ts +12 -2
- package/dist/lib/system-validation/system-validation-banner.component.d.ts.map +1 -1
- package/dist/lib/system-validation/system-validation-banner.component.js +25 -5
- package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -1
- package/dist/lib/user-menu/user-menu.types.d.ts +4 -0
- package/dist/lib/user-menu/user-menu.types.d.ts.map +1 -1
- package/dist/lib/user-menu/user-menu.types.js +10 -2
- package/dist/lib/user-menu/user-menu.types.js.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.d.ts +59 -7
- package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.js +151 -47
- package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
- package/dist/lib/user-profile/user-profile.component.d.ts +3 -2
- package/dist/lib/user-profile/user-profile.component.d.ts.map +1 -1
- package/dist/lib/user-profile/user-profile.component.js +5 -4
- package/dist/lib/user-profile/user-profile.component.js.map +1 -1
- 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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAa,MAAM,EAA2C,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAIlE,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5D,qBAOa,4BAA6B,SAAQ,qBAAsB,YAAW,MAAM;IACvF,cAAc,UAAQ;
|
|
1
|
+
{"version":3,"file":"conversation-feedback.d.ts","sourceRoot":"","sources":["../../../src/lib/conversation-feedback/conversation-feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAA2C,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAIlE,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5D,qBAOa,4BAA6B,SAAQ,qBAAsB,YAAW,MAAM;IACvF,cAAc,UAAQ;IAEtB,8CAA8C;IAC9C,IAAI,cAAc,YAEjB;IACD,8CAA8C;IAC9C,IAAI,cAAc,CAAC,KAAK,SAAA,EAEvB;IACD,OAAO,UAAS;IAEhB,uCAAuC;IACvC,IAAI,OAAO,YAEV;IACD,uCAAuC;IACvC,IAAI,OAAO,CAAC,KAAK,SAAA,EAEhB;IACD,YAAY,UAAS;IAErB,4CAA4C;IAC5C,IAAI,YAAY,YAEf;IACD,4CAA4C;IAC5C,IAAI,YAAY,CAAC,KAAK,SAAA,EAErB;IACD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5B,UAAU,EAAE,UAAU,CAAS;IAE/B,0CAA0C;IAC1C,IAAI,UAAU,IAAI,UAAU,CAE3B;IACD,0CAA0C;IAC1C,IAAI,UAAU,CAAC,KAAK,EAAE,UAAU,EAE/B;IACD,SAAS,EAAE,SAAS,CAAQ;IAE5B,yCAAyC;IACzC,IAAI,SAAS,IAAI,SAAS,CAEzB;IACD,yCAAyC;IACzC,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS,EAE7B;IACD,UAAU,SAAM;IAEhB,0CAA0C;IAC1C,IAAI,UAAU,WAEb;IACD,0CAA0C;IAC1C,IAAI,UAAU,CAAC,KAAK,QAAA,EAEnB;IAED,IAAI,EAAE,WAAW,EAAE,CAAM;IAEzB,oCAAoC;IACpC,IAAI,IAAI,IAAI,WAAW,EAAE,CAExB;IACD,oCAAoC;IACpC,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,EAE5B;IACD,aAAa,SAAK;IAElB,6CAA6C;IAC7C,IAAI,aAAa,WAEhB;IACD,6CAA6C;IAC7C,IAAI,aAAa,CAAC,KAAK,QAAA,EAEtB;IAED,QAAQ,EAAE,MAAM,CAAM;IACtB,WAAW,EAAE,MAAM,CAAK;IAExB,2CAA2C;IAC3C,IAAI,WAAW,IAAI,MAAM,CAExB;IACD,2CAA2C;IAC3C,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAE5B;IACD,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAqB;IAEvD,+CAA+C;IAC/C,IAAI,eAAe,IAAI,MAAM,EAAE,CAE9B;IAED,KAAK;;;;;MAAsE;IAE3E,qCAAqC;IACrC,IAAI,KAAK;;;;;MAER;IACD,qCAAqC;IACrC,IAAI,KAAK,CAAC,KAAK;;;;;KAAA,EAEd;IAED,WAAW,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEvC,2CAA2C;IAC3C,IAAI,WAAW,IAAI,WAAW,GAAG,IAAI,CAEpC;IACD,2CAA2C;IAC3C,IAAI,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAExC;IAED,OAAO,CAAC,mBAAmB,CAA8C;IAEzE,OAAO,CAAC,GAAG,CAA6B;IACxC,OAAO,CAAC,UAAU,CAA8B;IAE1C,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIzC,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxC,0EAA0E;IACpE,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,4CAA4C;IACtC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAO/B,uCAAuC;IACvC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI/B,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAOpC,4CAA4C;IAC5C,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIpC;;;;OAIG;IACH,cAAc,IAAI,IAAI;IAQtB,8CAA8C;IAC9C,cAAc,IAAI,IAAI;IAItB,YAAY,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMrF,4CAA4C;IAC5C,YAAY,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIrF,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQpC,gDAAgD;IAChD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAKlC,0CAA0C;IAC1C,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAIlC,WAAW,IAAI,IAAI;IAKnB,2CAA2C;IAC3C,WAAW,IAAI,IAAI;IAIb,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCvC,gDAAgD;IAC1C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvC,QAAQ,IAAI,IAAI;IAIhB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAMpC,4CAA4C;IAC5C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIpC,eAAe,GAAI,GAAG,MAAM,EAAE,KAAK,WAAW,KAAG,MAAM,CAAiB;IAExE,+CAA+C;IAC/C,IAAI,eAAe,QAHG,MAAM,OAAO,WAAW,KAAG,MAAM,CAKtD;IACD,+CAA+C;IAC/C,IAAI,eAAe,CAAC,KAAK,MAPH,MAAM,OAAO,WAAW,KAAG,MAOxB,EAExB;IAED,yEAAyE;IACzE,IAAI,UAAU,IAAI,MAAM,CAGvB;IAED,0CAA0C;IAC1C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,4EAA4E;IAC5E,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,wCAAwC;IACxC,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;OAKG;IACH,IAAI,YAAY,IAAI,OAAO,CAG1B;IAED,4CAA4C;IAC5C,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;OAGG;YACW,YAAY;IAI1B;;;OAGG;YACW,QAAQ;IAkCtB;;;;OAIG;YACW,SAAS;IAkCvB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,MAAM;yCAxdH,4BAA4B;2CAA5B,4BAA4B;CA8exC"}
|
|
@@ -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
|
-
|
|
484
|
-
|
|
485
|
-
|
|
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
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
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
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
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.
|
|
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
|
|
605
|
+
async LoadFeedback() {
|
|
514
606
|
await this.applyFilters();
|
|
515
607
|
}
|
|
516
|
-
|
|
517
|
-
|
|
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.
|
|
520
|
-
this.
|
|
615
|
+
this.RatingBand = band;
|
|
616
|
+
this.CurrentPage = 1;
|
|
521
617
|
void this.applyFilters();
|
|
522
618
|
}
|
|
523
|
-
|
|
524
|
-
|
|
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.
|
|
527
|
-
this.
|
|
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
|
-
|
|
639
|
+
OnSearchChange() {
|
|
536
640
|
if (this.searchDebounceTimer)
|
|
537
641
|
clearTimeout(this.searchDebounceTimer);
|
|
538
642
|
this.searchDebounceTimer = setTimeout(() => {
|
|
539
|
-
this.
|
|
643
|
+
this.CurrentPage = 1;
|
|
540
644
|
void this.applyFilters();
|
|
541
645
|
}, 250);
|
|
542
646
|
}
|
|
543
|
-
|
|
544
|
-
|
|
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.
|
|
654
|
+
this.CurrentPage = event.PageNumber;
|
|
547
655
|
void this.loadRows();
|
|
548
656
|
}
|
|
549
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
563
|
-
this.cdr.detectChanges();
|
|
687
|
+
return this.CloseDrawer();
|
|
564
688
|
}
|
|
565
|
-
async
|
|
566
|
-
if (!this.
|
|
689
|
+
async OpenConversation() {
|
|
690
|
+
if (!this.SelectedRow?.conversationID)
|
|
567
691
|
return;
|
|
568
|
-
const conversationID = this.
|
|
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.
|
|
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.
|
|
595
|
-
this.
|
|
722
|
+
if (this.SelectedRow)
|
|
723
|
+
this.CloseDrawer();
|
|
596
724
|
}
|
|
597
|
-
|
|
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
|
-
|
|
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
|
|
607
|
-
if (this.
|
|
746
|
+
get RangeStart() {
|
|
747
|
+
if (this.TotalRowCount === 0)
|
|
608
748
|
return 0;
|
|
609
|
-
return (this.
|
|
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
|
|
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
|
|
622
|
-
if (this.
|
|
769
|
+
get IsSinglePage() {
|
|
770
|
+
if (this.TotalRowCount <= 0)
|
|
623
771
|
return false;
|
|
624
|
-
return Math.ceil(this.
|
|
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.
|
|
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.
|
|
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.
|
|
653
|
-
this.
|
|
804
|
+
this.Rows = [];
|
|
805
|
+
this.TotalRowCount = 0;
|
|
654
806
|
return;
|
|
655
807
|
}
|
|
656
|
-
this.
|
|
657
|
-
this.
|
|
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.
|
|
662
|
-
this.
|
|
813
|
+
this.Rows = [];
|
|
814
|
+
this.TotalRowCount = 0;
|
|
663
815
|
}
|
|
664
816
|
finally {
|
|
665
|
-
this.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
865
|
+
if (this.RatingBand === 'high') {
|
|
714
866
|
params.MinRating = 8;
|
|
715
867
|
}
|
|
716
|
-
else if (this.
|
|
868
|
+
else if (this.RatingBand === 'mid') {
|
|
717
869
|
params.MinRating = 4;
|
|
718
870
|
params.MaxRating = 7;
|
|
719
871
|
}
|
|
720
|
-
else if (this.
|
|
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.
|
|
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.
|
|
886
|
+
if (this.DateRange === 'all')
|
|
735
887
|
return null;
|
|
736
|
-
const days = this.
|
|
737
|
-
: this.
|
|
738
|
-
: this.
|
|
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();
|