@memberjunction/ng-explorer-core 0.9.167 → 0.9.170
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/lib/header/header.component.js +3 -2
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +16 -8
- package/dist/lib/single-view/single-view.component.js +4 -2
- package/dist/lib/user-notifications/user-notifications.component.d.ts +7 -1
- package/dist/lib/user-notifications/user-notifications.component.js +168 -64
- package/dist/lib/user-view-properties/view-properties-dialog.component.js +29 -20
- package/package.json +10 -10
|
@@ -163,7 +163,7 @@ HeaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderCompo
|
|
|
163
163
|
i0.ɵɵtext(9);
|
|
164
164
|
i0.ɵɵelementEnd()();
|
|
165
165
|
i0.ɵɵelementStart(10, "div", 9)(11, "div", 10)(12, "kendo-dropdownlist", 11);
|
|
166
|
-
i0.ɵɵ
|
|
166
|
+
i0.ɵɵtwoWayListener("ngModelChange", function HeaderComponent_Template_kendo_dropdownlist_ngModelChange_12_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selectedEntity, $event) || (ctx.selectedEntity = $event); return $event; });
|
|
167
167
|
i0.ɵɵelementEnd();
|
|
168
168
|
i0.ɵɵelementStart(13, "input", 12, 13);
|
|
169
169
|
i0.ɵɵlistener("keydown.enter", function HeaderComponent_Template_input_keydown_enter_13_listener($event) { return ctx.onSearch($event); });
|
|
@@ -189,7 +189,8 @@ HeaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderCompo
|
|
|
189
189
|
i0.ɵɵadvance(4);
|
|
190
190
|
i0.ɵɵtextInterpolate(ctx.appName);
|
|
191
191
|
i0.ɵɵadvance(3);
|
|
192
|
-
i0.ɵɵproperty("data", ctx.searchableEntities)
|
|
192
|
+
i0.ɵɵproperty("data", ctx.searchableEntities);
|
|
193
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx.selectedEntity);
|
|
193
194
|
i0.ɵɵadvance(4);
|
|
194
195
|
i0.ɵɵproperty("icon", ctx.sharedService.kendoSVGIcon("search"));
|
|
195
196
|
i0.ɵɵadvance(3);
|
|
@@ -25,12 +25,14 @@ function AddItemComponent_ng_container_7_kendo_label_4_Template(rf, ctx) { if (r
|
|
|
25
25
|
i0.ɵɵelementStart(0, "kendo-label", 14);
|
|
26
26
|
i0.ɵɵelement(1, "br");
|
|
27
27
|
i0.ɵɵelementStart(2, "kendo-dropdownlist", 11);
|
|
28
|
-
i0.ɵɵlistener("valueChange", function AddItemComponent_ng_container_7_kendo_label_4_Template_kendo_dropdownlist_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.onViewChange($event)); })
|
|
28
|
+
i0.ɵɵlistener("valueChange", function AddItemComponent_ng_container_7_kendo_label_4_Template_kendo_dropdownlist_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.onViewChange($event)); });
|
|
29
|
+
i0.ɵɵtwoWayListener("ngModelChange", function AddItemComponent_ng_container_7_kendo_label_4_Template_kendo_dropdownlist_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r6 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r6.selectedView, $event) || (ctx_r6.selectedView = $event); return i0.ɵɵresetView($event); });
|
|
29
30
|
i0.ɵɵelementEnd()();
|
|
30
31
|
} if (rf & 2) {
|
|
31
32
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
32
33
|
i0.ɵɵadvance(2);
|
|
33
|
-
i0.ɵɵproperty("data", ctx_r2.Views)("textField", "Name")("valueField", "ID")
|
|
34
|
+
i0.ɵɵproperty("data", ctx_r2.Views)("textField", "Name")("valueField", "ID");
|
|
35
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.selectedView);
|
|
34
36
|
} }
|
|
35
37
|
function AddItemComponent_ng_container_7_kendo_loader_5_Template(rf, ctx) { if (rf & 1) {
|
|
36
38
|
i0.ɵɵelement(0, "kendo-loader", 15);
|
|
@@ -41,14 +43,16 @@ function AddItemComponent_ng_container_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
41
43
|
i0.ɵɵelementStart(1, "kendo-label", 10);
|
|
42
44
|
i0.ɵɵelement(2, "br");
|
|
43
45
|
i0.ɵɵelementStart(3, "kendo-dropdownlist", 11);
|
|
44
|
-
i0.ɵɵlistener("valueChange", function AddItemComponent_ng_container_7_Template_kendo_dropdownlist_valueChange_3_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.onEntityChange($event)); })
|
|
46
|
+
i0.ɵɵlistener("valueChange", function AddItemComponent_ng_container_7_Template_kendo_dropdownlist_valueChange_3_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.onEntityChange($event)); });
|
|
47
|
+
i0.ɵɵtwoWayListener("ngModelChange", function AddItemComponent_ng_container_7_Template_kendo_dropdownlist_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r9.selectedEntity, $event) || (ctx_r9.selectedEntity = $event); return i0.ɵɵresetView($event); });
|
|
45
48
|
i0.ɵɵelementEnd()();
|
|
46
49
|
i0.ɵɵtemplate(4, AddItemComponent_ng_container_7_kendo_label_4_Template, 3, 4, "kendo-label", 12)(5, AddItemComponent_ng_container_7_kendo_loader_5_Template, 1, 0, "kendo-loader", 13);
|
|
47
50
|
i0.ɵɵelementContainerEnd();
|
|
48
51
|
} if (rf & 2) {
|
|
49
52
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
50
53
|
i0.ɵɵadvance(3);
|
|
51
|
-
i0.ɵɵproperty("data", ctx_r0.Entities)("textField", "Name")("valueField", "ID")
|
|
54
|
+
i0.ɵɵproperty("data", ctx_r0.Entities)("textField", "Name")("valueField", "ID");
|
|
55
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.selectedEntity);
|
|
52
56
|
i0.ɵɵadvance();
|
|
53
57
|
i0.ɵɵproperty("ngIf", ctx_r0.selectedEntity && ctx_r0.Views.length);
|
|
54
58
|
i0.ɵɵadvance();
|
|
@@ -59,12 +63,14 @@ function AddItemComponent_ng_container_8_kendo_label_1_Template(rf, ctx) { if (r
|
|
|
59
63
|
i0.ɵɵelementStart(0, "kendo-label", 17);
|
|
60
64
|
i0.ɵɵelement(1, "br");
|
|
61
65
|
i0.ɵɵelementStart(2, "kendo-dropdownlist", 11);
|
|
62
|
-
i0.ɵɵlistener("valueChange", function AddItemComponent_ng_container_8_kendo_label_1_Template_kendo_dropdownlist_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r12.onViewChange($event)); })
|
|
66
|
+
i0.ɵɵlistener("valueChange", function AddItemComponent_ng_container_8_kendo_label_1_Template_kendo_dropdownlist_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r12.onViewChange($event)); });
|
|
67
|
+
i0.ɵɵtwoWayListener("ngModelChange", function AddItemComponent_ng_container_8_kendo_label_1_Template_kendo_dropdownlist_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r14 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r14.selectedReport, $event) || (ctx_r14.selectedReport = $event); return i0.ɵɵresetView($event); });
|
|
63
68
|
i0.ɵɵelementEnd()();
|
|
64
69
|
} if (rf & 2) {
|
|
65
70
|
const ctx_r10 = i0.ɵɵnextContext(2);
|
|
66
71
|
i0.ɵɵadvance(2);
|
|
67
|
-
i0.ɵɵproperty("data", ctx_r10.Reports)("textField", "Name")("valueField", "ID")
|
|
72
|
+
i0.ɵɵproperty("data", ctx_r10.Reports)("textField", "Name")("valueField", "ID");
|
|
73
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r10.selectedReport);
|
|
68
74
|
} }
|
|
69
75
|
function AddItemComponent_ng_container_8_kendo_loader_2_Template(rf, ctx) { if (rf & 1) {
|
|
70
76
|
i0.ɵɵelement(0, "kendo-loader", 15);
|
|
@@ -174,7 +180,8 @@ AddItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddItemCom
|
|
|
174
180
|
i0.ɵɵelementStart(2, "div", 2)(3, "kendo-label", 3);
|
|
175
181
|
i0.ɵɵelement(4, "br");
|
|
176
182
|
i0.ɵɵelementStart(5, "kendo-dropdownlist", 4);
|
|
177
|
-
i0.ɵɵlistener("valueChange", function AddItemComponent_Template_kendo_dropdownlist_valueChange_5_listener($event) { return ctx.onResourceTypeChange($event); })
|
|
183
|
+
i0.ɵɵlistener("valueChange", function AddItemComponent_Template_kendo_dropdownlist_valueChange_5_listener($event) { return ctx.onResourceTypeChange($event); });
|
|
184
|
+
i0.ɵɵtwoWayListener("ngModelChange", function AddItemComponent_Template_kendo_dropdownlist_ngModelChange_5_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.resourceType, $event) || (ctx.resourceType = $event); return $event; });
|
|
178
185
|
i0.ɵɵelementEnd()();
|
|
179
186
|
i0.ɵɵelementStart(6, "div", 5);
|
|
180
187
|
i0.ɵɵtemplate(7, AddItemComponent_ng_container_7_Template, 6, 6, "ng-container", 6)(8, AddItemComponent_ng_container_8_Template, 3, 2, "ng-container", 6);
|
|
@@ -191,7 +198,8 @@ AddItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddItemCom
|
|
|
191
198
|
i0.ɵɵadvance();
|
|
192
199
|
i0.ɵɵproperty("width", 500)("minHeight", 300)("minWidth", 400)("resizable", true);
|
|
193
200
|
i0.ɵɵadvance(4);
|
|
194
|
-
i0.ɵɵproperty("data", ctx.ResourceTypes)("textField", "DisplayName")("valueField", "ID")("subtitle", "sdfsdf")
|
|
201
|
+
i0.ɵɵproperty("data", ctx.ResourceTypes)("textField", "DisplayName")("valueField", "ID")("subtitle", "sdfsdf");
|
|
202
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx.resourceType);
|
|
195
203
|
i0.ɵɵadvance();
|
|
196
204
|
i0.ɵɵproperty("ngSwitch", ctx.resourceType.Entity);
|
|
197
205
|
i0.ɵɵadvance();
|
|
@@ -26,11 +26,13 @@ import * as i8 from "../user-view-properties/view-properties-dialog.component";
|
|
|
26
26
|
function SingleViewComponent_kendo_textbox_2_Template(rf, ctx) { if (rf & 1) {
|
|
27
27
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
28
28
|
i0.ɵɵelementStart(0, "kendo-textbox", 5);
|
|
29
|
-
i0.ɵɵlistener("valueChange", function SingleViewComponent_kendo_textbox_2_Template_kendo_textbox_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSearch($event)); })
|
|
29
|
+
i0.ɵɵlistener("valueChange", function SingleViewComponent_kendo_textbox_2_Template_kendo_textbox_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSearch($event)); });
|
|
30
|
+
i0.ɵɵtwoWayListener("ngModelChange", function SingleViewComponent_kendo_textbox_2_Template_kendo_textbox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r4 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r4.searchText, $event) || (ctx_r4.searchText = $event); return i0.ɵɵresetView($event); });
|
|
30
31
|
i0.ɵɵelementEnd();
|
|
31
32
|
} if (rf & 2) {
|
|
32
33
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
33
|
-
i0.ɵɵproperty("clearButton", true)
|
|
34
|
+
i0.ɵɵproperty("clearButton", true);
|
|
35
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.searchText);
|
|
34
36
|
} }
|
|
35
37
|
function SingleViewComponent_app_view_properties_dialog_3_Template(rf, ctx) { if (rf & 1) {
|
|
36
38
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ElementRef, AfterViewInit } from '@angular/core';
|
|
2
2
|
import { SharedService } from '@memberjunction/ng-shared';
|
|
3
3
|
import { UserNotificationEntity } from '@memberjunction/core-entities';
|
|
4
|
+
import { TransactionGroupBase } from '@memberjunction/core';
|
|
4
5
|
import { Router } from '@angular/router';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class UserNotificationsComponent implements AfterViewInit {
|
|
@@ -20,12 +21,17 @@ export declare class UserNotificationsComponent implements AfterViewInit {
|
|
|
20
21
|
queryString: string;
|
|
21
22
|
};
|
|
22
23
|
get AllNotifications(): UserNotificationEntity[];
|
|
24
|
+
get UnreadNotifications(): UserNotificationEntity[];
|
|
25
|
+
get ReadNotifications(): UserNotificationEntity[];
|
|
23
26
|
selectReadOption(option: string): void;
|
|
24
27
|
onReadRadioChanged(event: Event): void;
|
|
25
28
|
onFilterChanged(value: string): void;
|
|
26
29
|
getItemTitleClass(notification: UserNotificationEntity): "notification-title notification-title-unread" | "notification-title";
|
|
27
30
|
getItemWrapperClass(notification: UserNotificationEntity): string;
|
|
28
|
-
markAsRead(notification: UserNotificationEntity, bRead: boolean): Promise<
|
|
31
|
+
markAsRead(notification: UserNotificationEntity, bRead: boolean, transGroup: TransactionGroupBase | null): Promise<boolean>;
|
|
32
|
+
markAllAsRead(): Promise<void>;
|
|
33
|
+
markAllAsUnread(): Promise<void>;
|
|
34
|
+
markAll(bRead: boolean): Promise<void>;
|
|
29
35
|
notificationClicked(notification: UserNotificationEntity): void;
|
|
30
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<UserNotificationsComponent, never>;
|
|
31
37
|
static ɵcmp: i0.ɵɵComponentDeclaration<UserNotificationsComponent, "app-user-notifications", never, {}, {}, never, never, false, never>;
|
|
@@ -21,57 +21,110 @@ import * as i7 from "@progress/kendo-angular-listview";
|
|
|
21
21
|
const _c0 = ["allRadio"];
|
|
22
22
|
const _c1 = ["unreadRadio"];
|
|
23
23
|
const _c2 = ["readRadio"];
|
|
24
|
-
function
|
|
25
|
-
i0.ɵɵ
|
|
24
|
+
function UserNotificationsComponent_button_5_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
26
|
+
i0.ɵɵelementStart(0, "button", 12);
|
|
27
|
+
i0.ɵɵlistener("click", function UserNotificationsComponent_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.markAllAsRead()); });
|
|
28
|
+
i0.ɵɵtext(1, "Mark All as Read");
|
|
29
|
+
i0.ɵɵelementEnd();
|
|
30
|
+
} }
|
|
31
|
+
function UserNotificationsComponent_button_6_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
33
|
+
i0.ɵɵelementStart(0, "button", 12);
|
|
34
|
+
i0.ɵɵlistener("click", function UserNotificationsComponent_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.markAllAsUnread()); });
|
|
35
|
+
i0.ɵɵtext(1, "Mark All as Unread");
|
|
36
|
+
i0.ɵɵelementEnd();
|
|
37
|
+
} }
|
|
38
|
+
function UserNotificationsComponent_input_7_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
40
|
+
i0.ɵɵelementStart(0, "input", 13, 14);
|
|
41
|
+
i0.ɵɵlistener("change", function UserNotificationsComponent_input_7_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.onReadRadioChanged($event)); });
|
|
42
|
+
i0.ɵɵelementEnd();
|
|
26
43
|
} }
|
|
27
|
-
function
|
|
28
|
-
const
|
|
29
|
-
i0.ɵɵelementStart(0, "
|
|
30
|
-
i0.ɵɵlistener("click", function
|
|
44
|
+
function UserNotificationsComponent_span_8_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
+
const _r18 = i0.ɵɵgetCurrentView();
|
|
46
|
+
i0.ɵɵelementStart(0, "span", 15);
|
|
47
|
+
i0.ɵɵlistener("click", function UserNotificationsComponent_span_8_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.selectReadOption("All")); });
|
|
48
|
+
i0.ɵɵtext(1, "All");
|
|
49
|
+
i0.ɵɵelementEnd();
|
|
50
|
+
} }
|
|
51
|
+
function UserNotificationsComponent_input_9_Template(rf, ctx) { if (rf & 1) {
|
|
52
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
53
|
+
i0.ɵɵelementStart(0, "input", 16, 17);
|
|
54
|
+
i0.ɵɵlistener("change", function UserNotificationsComponent_input_9_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r20.onReadRadioChanged($event)); });
|
|
55
|
+
i0.ɵɵelementEnd();
|
|
56
|
+
} }
|
|
57
|
+
function UserNotificationsComponent_span_10_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
59
|
+
i0.ɵɵelementStart(0, "span", 15);
|
|
60
|
+
i0.ɵɵlistener("click", function UserNotificationsComponent_span_10_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r22.selectReadOption("Unread")); });
|
|
61
|
+
i0.ɵɵtext(1, "Unread");
|
|
62
|
+
i0.ɵɵelementEnd();
|
|
63
|
+
} }
|
|
64
|
+
function UserNotificationsComponent_input_11_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
+
const _r26 = i0.ɵɵgetCurrentView();
|
|
66
|
+
i0.ɵɵelementStart(0, "input", 18, 19);
|
|
67
|
+
i0.ɵɵlistener("change", function UserNotificationsComponent_input_11_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r25.onReadRadioChanged($event)); });
|
|
68
|
+
i0.ɵɵelementEnd();
|
|
69
|
+
} }
|
|
70
|
+
function UserNotificationsComponent_span_12_Template(rf, ctx) { if (rf & 1) {
|
|
71
|
+
const _r28 = i0.ɵɵgetCurrentView();
|
|
72
|
+
i0.ɵɵelementStart(0, "span", 15);
|
|
73
|
+
i0.ɵɵlistener("click", function UserNotificationsComponent_span_12_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r28); const ctx_r27 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r27.selectReadOption("Read")); });
|
|
74
|
+
i0.ɵɵtext(1, "Read");
|
|
75
|
+
i0.ɵɵelementEnd();
|
|
76
|
+
} }
|
|
77
|
+
function UserNotificationsComponent_ng_template_14_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
+
i0.ɵɵelement(0, "span", 20);
|
|
79
|
+
} }
|
|
80
|
+
function UserNotificationsComponent_ng_template_16_button_10_Template(rf, ctx) { if (rf & 1) {
|
|
81
|
+
const _r34 = i0.ɵɵgetCurrentView();
|
|
82
|
+
i0.ɵɵelementStart(0, "button", 12);
|
|
83
|
+
i0.ɵɵlistener("click", function UserNotificationsComponent_ng_template_16_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r34); const dataItem_r29 = i0.ɵɵnextContext().dataItem; const ctx_r32 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r32.markAsRead(dataItem_r29, true, null)); });
|
|
31
84
|
i0.ɵɵtext(1, "Mark as Read");
|
|
32
85
|
i0.ɵɵelementEnd();
|
|
33
86
|
} }
|
|
34
|
-
function
|
|
35
|
-
const
|
|
36
|
-
i0.ɵɵelementStart(0, "button",
|
|
37
|
-
i0.ɵɵlistener("click", function
|
|
87
|
+
function UserNotificationsComponent_ng_template_16_button_11_Template(rf, ctx) { if (rf & 1) {
|
|
88
|
+
const _r37 = i0.ɵɵgetCurrentView();
|
|
89
|
+
i0.ɵɵelementStart(0, "button", 12);
|
|
90
|
+
i0.ɵɵlistener("click", function UserNotificationsComponent_ng_template_16_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r37); const dataItem_r29 = i0.ɵɵnextContext().dataItem; const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.markAsRead(dataItem_r29, false, null)); });
|
|
38
91
|
i0.ɵɵtext(1, "Mark as Unread");
|
|
39
92
|
i0.ɵɵelementEnd();
|
|
40
93
|
} }
|
|
41
|
-
function
|
|
42
|
-
const
|
|
43
|
-
i0.ɵɵelementStart(0, "div")(1, "div",
|
|
44
|
-
i0.ɵɵlistener("click", function
|
|
94
|
+
function UserNotificationsComponent_ng_template_16_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
+
const _r39 = i0.ɵɵgetCurrentView();
|
|
96
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 21);
|
|
97
|
+
i0.ɵɵlistener("click", function UserNotificationsComponent_ng_template_16_Template_div_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r39); const dataItem_r29 = restoredCtx.dataItem; const ctx_r38 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r38.notificationClicked(dataItem_r29)); });
|
|
45
98
|
i0.ɵɵtext(2);
|
|
46
99
|
i0.ɵɵelementEnd();
|
|
47
|
-
i0.ɵɵelementStart(3, "div",
|
|
48
|
-
i0.ɵɵlistener("click", function
|
|
49
|
-
i0.ɵɵelementStart(4, "div",
|
|
100
|
+
i0.ɵɵelementStart(3, "div", 22);
|
|
101
|
+
i0.ɵɵlistener("click", function UserNotificationsComponent_ng_template_16_Template_div_click_3_listener() { const restoredCtx = i0.ɵɵrestoreView(_r39); const dataItem_r29 = restoredCtx.dataItem; const ctx_r40 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r40.notificationClicked(dataItem_r29)); });
|
|
102
|
+
i0.ɵɵelementStart(4, "div", 23);
|
|
50
103
|
i0.ɵɵtext(5);
|
|
51
104
|
i0.ɵɵpipe(6, "date");
|
|
52
105
|
i0.ɵɵelementEnd();
|
|
53
|
-
i0.ɵɵelementStart(7, "div",
|
|
106
|
+
i0.ɵɵelementStart(7, "div", 24);
|
|
54
107
|
i0.ɵɵtext(8);
|
|
55
108
|
i0.ɵɵelementEnd()();
|
|
56
109
|
i0.ɵɵelementStart(9, "div");
|
|
57
|
-
i0.ɵɵtemplate(10,
|
|
110
|
+
i0.ɵɵtemplate(10, UserNotificationsComponent_ng_template_16_button_10_Template, 2, 0, "button", 3)(11, UserNotificationsComponent_ng_template_16_button_11_Template, 2, 0, "button", 3);
|
|
58
111
|
i0.ɵɵelementEnd()();
|
|
59
112
|
} if (rf & 2) {
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
i0.ɵɵclassMap(
|
|
113
|
+
const dataItem_r29 = ctx.dataItem;
|
|
114
|
+
const ctx_r9 = i0.ɵɵnextContext();
|
|
115
|
+
i0.ɵɵclassMap(ctx_r9.getItemWrapperClass(dataItem_r29));
|
|
63
116
|
i0.ɵɵadvance();
|
|
64
|
-
i0.ɵɵclassMap(
|
|
117
|
+
i0.ɵɵclassMap(ctx_r9.getItemTitleClass(dataItem_r29));
|
|
65
118
|
i0.ɵɵadvance();
|
|
66
|
-
i0.ɵɵtextInterpolate(
|
|
119
|
+
i0.ɵɵtextInterpolate(dataItem_r29.Title);
|
|
67
120
|
i0.ɵɵadvance(3);
|
|
68
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(6, 9,
|
|
121
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(6, 9, dataItem_r29.CreatedAt, "long"));
|
|
69
122
|
i0.ɵɵadvance(3);
|
|
70
|
-
i0.ɵɵtextInterpolate(
|
|
123
|
+
i0.ɵɵtextInterpolate(dataItem_r29.Message);
|
|
71
124
|
i0.ɵɵadvance(2);
|
|
72
|
-
i0.ɵɵproperty("ngIf",
|
|
125
|
+
i0.ɵɵproperty("ngIf", dataItem_r29.Unread);
|
|
73
126
|
i0.ɵɵadvance();
|
|
74
|
-
i0.ɵɵproperty("ngIf", !
|
|
127
|
+
i0.ɵɵproperty("ngIf", !dataItem_r29.Unread);
|
|
75
128
|
} }
|
|
76
129
|
export class UserNotificationsComponent {
|
|
77
130
|
constructor(sharedService, router) {
|
|
@@ -151,6 +204,12 @@ export class UserNotificationsComponent {
|
|
|
151
204
|
get AllNotifications() {
|
|
152
205
|
return SharedService.UserNotifications;
|
|
153
206
|
}
|
|
207
|
+
get UnreadNotifications() {
|
|
208
|
+
return this.AllNotifications.filter(n => n.Unread);
|
|
209
|
+
}
|
|
210
|
+
get ReadNotifications() {
|
|
211
|
+
return this.AllNotifications.filter(n => !n.Unread);
|
|
212
|
+
}
|
|
154
213
|
selectReadOption(option) {
|
|
155
214
|
this.radioSelected = option;
|
|
156
215
|
// now update the radio button group in the UI
|
|
@@ -190,7 +249,7 @@ export class UserNotificationsComponent {
|
|
|
190
249
|
classInfo += ' notification-wrap-unread';
|
|
191
250
|
return classInfo;
|
|
192
251
|
}
|
|
193
|
-
markAsRead(notification, bRead) {
|
|
252
|
+
markAsRead(notification, bRead, transGroup) {
|
|
194
253
|
return __awaiter(this, void 0, void 0, function* () {
|
|
195
254
|
if (notification) {
|
|
196
255
|
notification.Unread = !bRead;
|
|
@@ -198,17 +257,65 @@ export class UserNotificationsComponent {
|
|
|
198
257
|
const notificationEntity = yield md.GetEntityObject('User Notifications');
|
|
199
258
|
yield notificationEntity.Load(notification.ID);
|
|
200
259
|
notificationEntity.Unread = notification.Unread; //copy from local object
|
|
201
|
-
if
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
260
|
+
// part of a transaction group, if so, add it as that will defer the actual network traffic/save
|
|
261
|
+
if (transGroup) {
|
|
262
|
+
notificationEntity.TransactionGroup = transGroup;
|
|
263
|
+
notificationEntity.Save(); // no await when using a transaction group
|
|
264
|
+
return true;
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
if (yield notificationEntity.Save()) {
|
|
268
|
+
SharedService.RefreshUserNotifications();
|
|
269
|
+
return true;
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
this.sharedService.CreateSimpleNotification('Unable to mark notification as read', 'error', 5000);
|
|
273
|
+
return false; // let caller do notifications
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
markAllAsRead() {
|
|
283
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
284
|
+
this.markAll(true);
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
markAllAsUnread() {
|
|
288
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
289
|
+
this.markAll(false);
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
markAll(bRead) {
|
|
293
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
294
|
+
// do a transaction group, not so much for ATOMICITY but for performance in terms of latency to/from the server
|
|
295
|
+
const md = new Metadata();
|
|
296
|
+
const transGroup = yield md.CreateTransactionGroup();
|
|
297
|
+
for (const notification of this.AllNotifications) {
|
|
298
|
+
if (notification.Unread && bRead || !notification.Unread && !bRead) {
|
|
299
|
+
// don't await, we want to just keep going, the backgorund DB stuff happens when it happens but we can update the UI right away
|
|
300
|
+
if (!(yield this.markAsRead(notification, bRead, transGroup))) {
|
|
301
|
+
// failed
|
|
302
|
+
this.sharedService.CreateSimpleNotification('Unable to mark all notifications as read', 'error', 5000);
|
|
303
|
+
// bail out here
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
205
307
|
}
|
|
308
|
+
// if we get here, that means all the saves worked...
|
|
309
|
+
if (!(yield transGroup.Submit()))
|
|
310
|
+
this.sharedService.CreateSimpleNotification('Unable to mark all notifications as read', 'error', 5000);
|
|
311
|
+
else
|
|
312
|
+
SharedService.RefreshUserNotifications();
|
|
206
313
|
});
|
|
207
314
|
}
|
|
208
315
|
notificationClicked(notification) {
|
|
209
316
|
if (this.isNotificationClickable(notification)) {
|
|
210
317
|
// also mark this as read when we click it
|
|
211
|
-
this.markAsRead(notification, true);
|
|
318
|
+
this.markAsRead(notification, true, null);
|
|
212
319
|
const info = this.notificationUrl(notification);
|
|
213
320
|
if (info.queryString && info.queryString.trim().length > 0) {
|
|
214
321
|
const fullUrl = `${info.urlParts.join('/')}${info.queryString ? '?' + info.queryString : ''}`;
|
|
@@ -229,46 +336,43 @@ UserNotificationsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
229
336
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.allRadio = _t.first);
|
|
230
337
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.unreadRadio = _t.first);
|
|
231
338
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.readRadio = _t.first);
|
|
232
|
-
} }, decls:
|
|
339
|
+
} }, decls: 17, vars: 10, consts: [["mjFillContainer", "", 1, "notification-list-wrap", 3, "bottomMargin"], [1, "header"], [1, "title"], ["kendoButton", "", 3, "click", 4, "ngIf"], ["checked", "", "type", "radio", "name", "UnreadStatus", "value", "All", 3, "change", 4, "ngIf"], ["class", "radio-label", 3, "click", 4, "ngIf"], ["type", "radio", "name", "UnreadStatus", "value", "Unread", 3, "change", 4, "ngIf"], ["type", "radio", "name", "UnreadStatus", "value", "Read", 3, "change", 4, "ngIf"], ["placeholder", "Filter items...", 1, "filter-input", 3, "valueChange"], ["kendoTextBoxSuffixTemplate", ""], [3, "data"], ["kendoListViewItemTemplate", ""], ["kendoButton", "", 3, "click"], ["checked", "", "type", "radio", "name", "UnreadStatus", "value", "All", 3, "change"], ["allRadio", ""], [1, "radio-label", 3, "click"], ["type", "radio", "name", "UnreadStatus", "value", "Unread", 3, "change"], ["unreadRadio", ""], ["type", "radio", "name", "UnreadStatus", "value", "Read", 3, "change"], ["readRadio", ""], [1, "k-icon", "k-i-search"], [3, "click"], [1, "notification-body", 3, "click"], [1, "notification-date"], [1, "notification-message"]], template: function UserNotificationsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
233
340
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
|
|
234
341
|
i0.ɵɵtext(3, " Notifications ");
|
|
235
342
|
i0.ɵɵelementEnd();
|
|
236
|
-
i0.ɵɵelementStart(4, "div")
|
|
237
|
-
i0.ɵɵ
|
|
238
|
-
i0.ɵɵ
|
|
239
|
-
i0.ɵɵ
|
|
240
|
-
i0.ɵɵ
|
|
241
|
-
i0.ɵɵtext(8, "All");
|
|
242
|
-
i0.ɵɵelementEnd();
|
|
243
|
-
i0.ɵɵelementStart(9, "input", 6, 7);
|
|
244
|
-
i0.ɵɵlistener("change", function UserNotificationsComponent_Template_input_change_9_listener($event) { return ctx.onReadRadioChanged($event); });
|
|
245
|
-
i0.ɵɵelementEnd();
|
|
246
|
-
i0.ɵɵelementStart(11, "span", 5);
|
|
247
|
-
i0.ɵɵlistener("click", function UserNotificationsComponent_Template_span_click_11_listener() { return ctx.selectReadOption("Unread"); });
|
|
248
|
-
i0.ɵɵtext(12, "Unread");
|
|
249
|
-
i0.ɵɵelementEnd();
|
|
250
|
-
i0.ɵɵelementStart(13, "input", 8, 9);
|
|
251
|
-
i0.ɵɵlistener("change", function UserNotificationsComponent_Template_input_change_13_listener($event) { return ctx.onReadRadioChanged($event); });
|
|
252
|
-
i0.ɵɵelementEnd();
|
|
253
|
-
i0.ɵɵelementStart(15, "span", 5);
|
|
254
|
-
i0.ɵɵlistener("click", function UserNotificationsComponent_Template_span_click_15_listener() { return ctx.selectReadOption("Read"); });
|
|
255
|
-
i0.ɵɵtext(16, "Read");
|
|
256
|
-
i0.ɵɵelementEnd();
|
|
257
|
-
i0.ɵɵelementStart(17, "kendo-textbox", 10);
|
|
258
|
-
i0.ɵɵlistener("valueChange", function UserNotificationsComponent_Template_kendo_textbox_valueChange_17_listener($event) { return ctx.onFilterChanged($event); });
|
|
259
|
-
i0.ɵɵtemplate(18, UserNotificationsComponent_ng_template_18_Template, 1, 0, "ng-template", 11);
|
|
343
|
+
i0.ɵɵelementStart(4, "div");
|
|
344
|
+
i0.ɵɵtemplate(5, UserNotificationsComponent_button_5_Template, 2, 0, "button", 3)(6, UserNotificationsComponent_button_6_Template, 2, 0, "button", 3)(7, UserNotificationsComponent_input_7_Template, 2, 0, "input", 4)(8, UserNotificationsComponent_span_8_Template, 2, 0, "span", 5)(9, UserNotificationsComponent_input_9_Template, 2, 0, "input", 6)(10, UserNotificationsComponent_span_10_Template, 2, 0, "span", 5)(11, UserNotificationsComponent_input_11_Template, 2, 0, "input", 7)(12, UserNotificationsComponent_span_12_Template, 2, 0, "span", 5);
|
|
345
|
+
i0.ɵɵelementStart(13, "kendo-textbox", 8);
|
|
346
|
+
i0.ɵɵlistener("valueChange", function UserNotificationsComponent_Template_kendo_textbox_valueChange_13_listener($event) { return ctx.onFilterChanged($event); });
|
|
347
|
+
i0.ɵɵtemplate(14, UserNotificationsComponent_ng_template_14_Template, 1, 0, "ng-template", 9);
|
|
260
348
|
i0.ɵɵelementEnd()()();
|
|
261
|
-
i0.ɵɵelementStart(
|
|
262
|
-
i0.ɵɵtemplate(
|
|
349
|
+
i0.ɵɵelementStart(15, "kendo-listview", 10);
|
|
350
|
+
i0.ɵɵtemplate(16, UserNotificationsComponent_ng_template_16_Template, 12, 12, "ng-template", 11);
|
|
263
351
|
i0.ɵɵelementEnd()();
|
|
264
352
|
} if (rf & 2) {
|
|
265
353
|
i0.ɵɵproperty("bottomMargin", 5);
|
|
266
|
-
i0.ɵɵadvance(
|
|
354
|
+
i0.ɵɵadvance(5);
|
|
355
|
+
i0.ɵɵproperty("ngIf", ctx.UnreadNotifications.length > 0);
|
|
356
|
+
i0.ɵɵadvance();
|
|
357
|
+
i0.ɵɵproperty("ngIf", ctx.ReadNotifications.length > 0);
|
|
358
|
+
i0.ɵɵadvance();
|
|
359
|
+
i0.ɵɵproperty("ngIf", ctx.AllNotifications.length > 0);
|
|
360
|
+
i0.ɵɵadvance();
|
|
361
|
+
i0.ɵɵproperty("ngIf", ctx.AllNotifications.length > 0);
|
|
362
|
+
i0.ɵɵadvance();
|
|
363
|
+
i0.ɵɵproperty("ngIf", ctx.UnreadNotifications.length > 0 && ctx.ReadNotifications.length > 0);
|
|
364
|
+
i0.ɵɵadvance();
|
|
365
|
+
i0.ɵɵproperty("ngIf", ctx.UnreadNotifications.length > 0 && ctx.ReadNotifications.length > 0);
|
|
366
|
+
i0.ɵɵadvance();
|
|
367
|
+
i0.ɵɵproperty("ngIf", ctx.ReadNotifications.length > 0 && ctx.UnreadNotifications.length > 0);
|
|
368
|
+
i0.ɵɵadvance();
|
|
369
|
+
i0.ɵɵproperty("ngIf", ctx.ReadNotifications.length > 0 && ctx.UnreadNotifications.length > 0);
|
|
370
|
+
i0.ɵɵadvance(3);
|
|
267
371
|
i0.ɵɵproperty("data", ctx.NotificationsToShow);
|
|
268
|
-
} }, dependencies: [i3.NgIf, i4.ButtonComponent, i5.TextBoxComponent, i5.TextBoxSuffixTemplateDirective, i6.FillContainer, i7.ItemTemplateDirective, i7.ListViewComponent, i3.DatePipe], styles: [".notification-list-wrap[_ngcontent-%COMP%] {\r\n height: 800px;\r\n overflow-y: auto;\r\n overflow-x: hidden;\r\n border: solid 1px lightgray;\r\n}\r\n\r\n.k-listview[_ngcontent-%COMP%] {\r\n font-family: sans-serif;\r\n border: 0;\r\n}\r\n.product[_ngcontent-%COMP%] {\r\n width: 100%;\r\n}\r\n.header[_ngcontent-%COMP%] {\r\n display: flex;\r\n background-color: lightgray;\r\n padding: 12px;\r\n height: 24px;\r\n}\r\n.title[_ngcontent-%COMP%] {\r\n flex: 1;\r\n font-size: 22px;\r\n font-weight: bold;\r\n}\r\n.filter-input[_ngcontent-%COMP%] {\r\n width: 200px;\r\n}\r\n.radio-label[_ngcontent-%COMP%] {\r\n cursor: pointer;\r\n margin-right: 10px;\r\n}\r\n\r\n.notification-wrap[_ngcontent-%COMP%] {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-top: 10px;\r\n padding-bottom: 10px;\r\n border-bottom: dashed 1px lightgray;\r\n background-color: white;\r\n}\r\n\r\n.notification-wrap-unread[_ngcontent-%COMP%] {\r\n background-color: aliceblue;\r\n}\r\n\r\n.notification-wrap-clickable[_ngcontent-%COMP%] {\r\n cursor: pointer;\r\n}\r\n\r\n.notification-title[_ngcontent-%COMP%] {\r\n font-size: 16px;\r\n}\r\n.notification-wrap-clickable[_ngcontent-%COMP%] > .notification-title[_ngcontent-%COMP%] {\r\n color: blue;\r\n text-decoration: underline;\r\n}\r\n.notification-title-unread[_ngcontent-%COMP%] {\r\n font-weight: bold;\r\n}\r\n\r\n.notification-body[_ngcontent-%COMP%] {\r\n font-size: 14px;\r\n}\r\n\r\n.notification-date[_ngcontent-%COMP%] {\r\n margin-left: 1px;\r\n font-size: 12px;\r\n color: gray;\r\n font-style: italic;\r\n}"] });
|
|
372
|
+
} }, dependencies: [i3.NgIf, i4.ButtonComponent, i5.TextBoxComponent, i5.TextBoxSuffixTemplateDirective, i6.FillContainer, i7.ItemTemplateDirective, i7.ListViewComponent, i3.DatePipe], styles: [".notification-list-wrap[_ngcontent-%COMP%] {\r\n height: 800px;\r\n overflow-y: auto;\r\n overflow-x: hidden;\r\n border: solid 1px lightgray;\r\n}\r\n\r\n.k-listview[_ngcontent-%COMP%] {\r\n font-family: sans-serif;\r\n border: 0;\r\n}\r\n.product[_ngcontent-%COMP%] {\r\n width: 100%;\r\n}\r\n.header[_ngcontent-%COMP%] {\r\n display: flex;\r\n background-color: lightgray;\r\n padding: 12px;\r\n height: 24px;\r\n}\r\n\r\n.header[_ngcontent-%COMP%] button[_ngcontent-%COMP%] { \n\r\n margin-right: 10px; \r\n}\r\n\r\n.title[_ngcontent-%COMP%] {\r\n flex: 1;\r\n font-size: 22px;\r\n font-weight: bold;\r\n}\r\n.filter-input[_ngcontent-%COMP%] {\r\n width: 200px;\r\n}\r\n.radio-label[_ngcontent-%COMP%] {\r\n cursor: pointer;\r\n margin-right: 10px;\r\n}\r\n\r\n.notification-wrap[_ngcontent-%COMP%] {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-top: 10px;\r\n padding-bottom: 10px;\r\n border-bottom: dashed 1px lightgray;\r\n background-color: white;\r\n}\r\n\r\n.notification-wrap-unread[_ngcontent-%COMP%] {\r\n background-color: aliceblue;\r\n}\r\n\r\n.notification-wrap-clickable[_ngcontent-%COMP%] {\r\n cursor: pointer;\r\n}\r\n\r\n.notification-title[_ngcontent-%COMP%] {\r\n font-size: 16px;\r\n}\r\n.notification-wrap-clickable[_ngcontent-%COMP%] > .notification-title[_ngcontent-%COMP%] {\r\n color: blue;\r\n text-decoration: underline;\r\n}\r\n.notification-title-unread[_ngcontent-%COMP%] {\r\n font-weight: bold;\r\n}\r\n\r\n.notification-body[_ngcontent-%COMP%] {\r\n font-size: 14px;\r\n}\r\n\r\n.notification-date[_ngcontent-%COMP%] {\r\n margin-left: 1px;\r\n font-size: 12px;\r\n color: gray;\r\n font-style: italic;\r\n}"] });
|
|
269
373
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserNotificationsComponent, [{
|
|
270
374
|
type: Component,
|
|
271
|
-
args: [{ selector: 'app-user-notifications', template: "<div class=\"notification-list-wrap\" mjFillContainer [bottomMargin]=\"5\"> \n <div class=\"header\">\n <div class=\"title\">\n Notifications\n </div>\n <div>\n <input #allRadio checked type=\"radio\" name=\"UnreadStatus\" value=\"All\" (change)=\"onReadRadioChanged($event)\" /><span class=\"radio-label\" \n (click)=\"selectReadOption('All')\">All</span>\n <input #unreadRadio type=\"radio\" name=\"UnreadStatus\" value=\"Unread\" (change)=\"onReadRadioChanged($event)\" /><span class=\"radio-label\" \n (click)=\"selectReadOption('Unread')\">Unread</span>\n <input #readRadio type=\"radio\" name=\"UnreadStatus\" value=\"Read\" (change)=\"onReadRadioChanged($event)\" /><span class=\"radio-label\" \n (click)=\"selectReadOption('Read')\">Read</span>\n <kendo-textbox\n class=\"filter-input\"\n placeholder=\"Filter items...\"\n (valueChange)=\"onFilterChanged($event)\"\n >\n <ng-template kendoTextBoxSuffixTemplate>\n <span class=\"k-icon k-i-search\"></span>\n </ng-template>\n </kendo-textbox> \n </div>\n </div> \n\n <kendo-listview [data]=\"NotificationsToShow\">\n <ng-template kendoListViewItemTemplate let-dataItem=\"dataItem\">\n <div [class]=\"getItemWrapperClass(dataItem)\">\n <div [class]=\"getItemTitleClass(dataItem)\" (click)=\"notificationClicked(dataItem)\">{{dataItem.Title}}</div>\n <div class=\"notification-body\" (click)=\"notificationClicked(dataItem)\">\n <div class=\"notification-date\">{{dataItem.CreatedAt | date:'long'}}</div>\n <div class=\"notification-message\">{{dataItem.Message}}</div>\n </div>\n <div>\n <button kendoButton *ngIf=\"dataItem.Unread\" (click)=\"markAsRead(dataItem, true)\">Mark as Read</button>\n <button kendoButton *ngIf=\"!dataItem.Unread\" (click)=\"markAsRead(dataItem, false)\">Mark as Unread</button>\n </div> \n </div>\n </ng-template>\n </kendo-listview>\n</div>\n", styles: [".notification-list-wrap {\r\n height: 800px;\r\n overflow-y: auto;\r\n overflow-x: hidden;\r\n border: solid 1px lightgray;\r\n}\r\n\r\n.k-listview {\r\n font-family: sans-serif;\r\n border: 0;\r\n}\r\n.product {\r\n width: 100%;\r\n}\r\n.header {\r\n display: flex;\r\n background-color: lightgray;\r\n padding: 12px;\r\n height: 24px;\r\n}\r\n.title {\r\n flex: 1;\r\n font-size: 22px;\r\n font-weight: bold;\r\n}\r\n.filter-input {\r\n width: 200px;\r\n}\r\n.radio-label {\r\n cursor: pointer;\r\n margin-right: 10px;\r\n}\r\n\r\n.notification-wrap {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-top: 10px;\r\n padding-bottom: 10px;\r\n border-bottom: dashed 1px lightgray;\r\n background-color: white;\r\n}\r\n\r\n.notification-wrap-unread {\r\n background-color: aliceblue;\r\n}\r\n\r\n.notification-wrap-clickable {\r\n cursor: pointer;\r\n}\r\n\r\n.notification-title {\r\n font-size: 16px;\r\n}\r\n.notification-wrap-clickable > .notification-title {\r\n color: blue;\r\n text-decoration: underline;\r\n}\r\n.notification-title-unread {\r\n font-weight: bold;\r\n}\r\n\r\n.notification-body {\r\n font-size: 14px;\r\n}\r\n\r\n.notification-date {\r\n margin-left: 1px;\r\n font-size: 12px;\r\n color: gray;\r\n font-style: italic;\r\n}"] }]
|
|
375
|
+
args: [{ selector: 'app-user-notifications', template: "<div class=\"notification-list-wrap\" mjFillContainer [bottomMargin]=\"5\"> \n <div class=\"header\">\n <div class=\"title\">\n Notifications\n </div>\n <div>\n <button *ngIf=\"UnreadNotifications.length > 0\" kendoButton (click)=\"markAllAsRead()\">Mark All as Read</button>\n <button *ngIf=\"ReadNotifications.length > 0\" kendoButton (click)=\"markAllAsUnread()\">Mark All as Unread</button>\n <input *ngIf=\"AllNotifications.length > 0\" #allRadio checked type=\"radio\" name=\"UnreadStatus\" value=\"All\" (change)=\"onReadRadioChanged($event)\" /><span *ngIf=\"AllNotifications.length > 0\" class=\"radio-label\" \n (click)=\"selectReadOption('All')\">All</span>\n <input *ngIf=\"UnreadNotifications.length > 0 && ReadNotifications.length > 0\" #unreadRadio type=\"radio\" name=\"UnreadStatus\" value=\"Unread\" (change)=\"onReadRadioChanged($event)\" /><span *ngIf=\"UnreadNotifications.length > 0 && ReadNotifications.length > 0\" class=\"radio-label\" \n (click)=\"selectReadOption('Unread')\">Unread</span>\n <input *ngIf=\"ReadNotifications.length > 0 && UnreadNotifications.length > 0\" #readRadio type=\"radio\" name=\"UnreadStatus\" value=\"Read\" (change)=\"onReadRadioChanged($event)\" /><span *ngIf=\"ReadNotifications.length > 0 && UnreadNotifications.length > 0\" class=\"radio-label\" \n (click)=\"selectReadOption('Read')\">Read</span>\n <kendo-textbox\n class=\"filter-input\"\n placeholder=\"Filter items...\"\n (valueChange)=\"onFilterChanged($event)\"\n >\n <ng-template kendoTextBoxSuffixTemplate>\n <span class=\"k-icon k-i-search\"></span>\n </ng-template>\n </kendo-textbox> \n </div>\n </div> \n\n <kendo-listview [data]=\"NotificationsToShow\">\n <ng-template kendoListViewItemTemplate let-dataItem=\"dataItem\">\n <div [class]=\"getItemWrapperClass(dataItem)\">\n <div [class]=\"getItemTitleClass(dataItem)\" (click)=\"notificationClicked(dataItem)\">{{dataItem.Title}}</div>\n <div class=\"notification-body\" (click)=\"notificationClicked(dataItem)\">\n <div class=\"notification-date\">{{dataItem.CreatedAt | date:'long'}}</div>\n <div class=\"notification-message\">{{dataItem.Message}}</div>\n </div>\n <div>\n <button kendoButton *ngIf=\"dataItem.Unread\" (click)=\"markAsRead(dataItem, true, null)\">Mark as Read</button>\n <button kendoButton *ngIf=\"!dataItem.Unread\" (click)=\"markAsRead(dataItem, false, null)\">Mark as Unread</button>\n </div> \n </div>\n </ng-template>\n </kendo-listview>\n</div>\n", styles: [".notification-list-wrap {\r\n height: 800px;\r\n overflow-y: auto;\r\n overflow-x: hidden;\r\n border: solid 1px lightgray;\r\n}\r\n\r\n.k-listview {\r\n font-family: sans-serif;\r\n border: 0;\r\n}\r\n.product {\r\n width: 100%;\r\n}\r\n.header {\r\n display: flex;\r\n background-color: lightgray;\r\n padding: 12px;\r\n height: 24px;\r\n}\r\n\r\n.header button { /*buttons within the header*/\r\n margin-right: 10px; \r\n}\r\n\r\n.title {\r\n flex: 1;\r\n font-size: 22px;\r\n font-weight: bold;\r\n}\r\n.filter-input {\r\n width: 200px;\r\n}\r\n.radio-label {\r\n cursor: pointer;\r\n margin-right: 10px;\r\n}\r\n\r\n.notification-wrap {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-top: 10px;\r\n padding-bottom: 10px;\r\n border-bottom: dashed 1px lightgray;\r\n background-color: white;\r\n}\r\n\r\n.notification-wrap-unread {\r\n background-color: aliceblue;\r\n}\r\n\r\n.notification-wrap-clickable {\r\n cursor: pointer;\r\n}\r\n\r\n.notification-title {\r\n font-size: 16px;\r\n}\r\n.notification-wrap-clickable > .notification-title {\r\n color: blue;\r\n text-decoration: underline;\r\n}\r\n.notification-title-unread {\r\n font-weight: bold;\r\n}\r\n\r\n.notification-body {\r\n font-size: 14px;\r\n}\r\n\r\n.notification-date {\r\n margin-left: 1px;\r\n font-size: 12px;\r\n color: gray;\r\n font-style: italic;\r\n}"] }]
|
|
272
376
|
}], () => [{ type: i1.SharedService }, { type: i2.Router }], { allRadio: [{
|
|
273
377
|
type: ViewChild,
|
|
274
378
|
args: ['allRadio']
|
|
@@ -57,24 +57,25 @@ function ViewPropertiesDialogComponent_kendo_window_3_ng_template_7_Template(rf,
|
|
|
57
57
|
i0.ɵɵelementStart(0, "div", 21)(1, "div", 22);
|
|
58
58
|
i0.ɵɵelement(2, "kendo-label", 23);
|
|
59
59
|
i0.ɵɵelementStart(3, "kendo-textbox", 24, 25);
|
|
60
|
-
i0.ɵɵ
|
|
60
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_7_Template_kendo_textbox_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r13.record.Name, $event) || (ctx_r13.record.Name = $event); return i0.ɵɵresetView($event); });
|
|
61
61
|
i0.ɵɵelementEnd()();
|
|
62
62
|
i0.ɵɵelementStart(5, "div", 26);
|
|
63
63
|
i0.ɵɵelement(6, "kendo-label", 27);
|
|
64
64
|
i0.ɵɵelementStart(7, "textarea", 28);
|
|
65
|
-
i0.ɵɵ
|
|
65
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_7_Template_textarea_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r15 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r15.record.Description, $event) || (ctx_r15.record.Description = $event); return i0.ɵɵresetView($event); });
|
|
66
66
|
i0.ɵɵelementEnd()()();
|
|
67
67
|
} if (rf & 2) {
|
|
68
68
|
const ctx_r7 = i0.ɵɵnextContext(2);
|
|
69
69
|
i0.ɵɵadvance(3);
|
|
70
|
-
i0.ɵɵ
|
|
70
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r7.record.Name);
|
|
71
71
|
i0.ɵɵadvance(4);
|
|
72
|
-
i0.ɵɵ
|
|
72
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r7.record.Description);
|
|
73
73
|
} }
|
|
74
74
|
function ViewPropertiesDialogComponent_kendo_window_3_ng_template_9_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
75
75
|
const _r19 = i0.ɵɵgetCurrentView();
|
|
76
76
|
i0.ɵɵelementStart(0, "div", 30)(1, "div")(2, "input", 31);
|
|
77
|
-
i0.ɵɵ
|
|
77
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_9_ng_template_1_Template_input_ngModelChange_2_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r19); const col_r17 = restoredCtx.item; i0.ɵɵtwoWayBindingSet(col_r17.hidden, $event) || (col_r17.hidden = $event); return i0.ɵɵresetView($event); });
|
|
78
|
+
i0.ɵɵlistener("change", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_9_ng_template_1_Template_input_change_2_listener() { const restoredCtx = i0.ɵɵrestoreView(_r19); const col_r17 = restoredCtx.item; const ctx_r20 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r20.toggleColumn(col_r17)); });
|
|
78
79
|
i0.ɵɵelementEnd();
|
|
79
80
|
i0.ɵɵelement(3, "kendo-label", 32);
|
|
80
81
|
i0.ɵɵelementEnd();
|
|
@@ -85,7 +86,7 @@ function ViewPropertiesDialogComponent_kendo_window_3_ng_template_9_ng_template_
|
|
|
85
86
|
const ctx_r16 = i0.ɵɵnextContext(3);
|
|
86
87
|
i0.ɵɵadvance(2);
|
|
87
88
|
i0.ɵɵpropertyInterpolate1("id", "column_", col_r17.ID, "");
|
|
88
|
-
i0.ɵɵ
|
|
89
|
+
i0.ɵɵtwoWayProperty("ngModel", !col_r17.hidden);
|
|
89
90
|
i0.ɵɵadvance();
|
|
90
91
|
i0.ɵɵproperty("for", "column_" + col_r17.ID)("text", col_r17.DisplayName ? col_r17.DisplayName : col_r17.Name);
|
|
91
92
|
i0.ɵɵadvance();
|
|
@@ -104,13 +105,14 @@ function ViewPropertiesDialogComponent_kendo_window_3_ng_template_9_Template(rf,
|
|
|
104
105
|
function ViewPropertiesDialogComponent_kendo_window_3_ng_template_11_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
105
106
|
const _r26 = i0.ɵɵgetCurrentView();
|
|
106
107
|
i0.ɵɵelementStart(0, "div", 38)(1, "kendo-textarea", 39);
|
|
107
|
-
i0.ɵɵ
|
|
108
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_11_div_3_Template_kendo_textarea_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r25.record.SmartFilterPrompt, $event) || (ctx_r25.record.SmartFilterPrompt = $event); return i0.ɵɵresetView($event); });
|
|
108
109
|
i0.ɵɵelementEnd()();
|
|
109
110
|
} if (rf & 2) {
|
|
110
111
|
const ctx_r23 = i0.ɵɵnextContext(3);
|
|
111
112
|
i0.ɵɵproperty("fillHeight", true);
|
|
112
113
|
i0.ɵɵadvance();
|
|
113
|
-
i0.ɵɵproperty("rows", 10)
|
|
114
|
+
i0.ɵɵproperty("rows", 10);
|
|
115
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r23.record.SmartFilterPrompt);
|
|
114
116
|
} }
|
|
115
117
|
function ViewPropertiesDialogComponent_kendo_window_3_ng_template_11_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
116
118
|
const _r28 = i0.ɵɵgetCurrentView();
|
|
@@ -127,13 +129,13 @@ function ViewPropertiesDialogComponent_kendo_window_3_ng_template_11_Template(rf
|
|
|
127
129
|
i0.ɵɵelementStart(0, "div", 33);
|
|
128
130
|
i0.ɵɵelement(1, "kendo-label", 34);
|
|
129
131
|
i0.ɵɵelementStart(2, "kendo-switch", 35);
|
|
130
|
-
i0.ɵɵ
|
|
132
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_11_Template_kendo_switch_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r29.record.SmartFilterEnabled, $event) || (ctx_r29.record.SmartFilterEnabled = $event); return i0.ɵɵresetView($event); });
|
|
131
133
|
i0.ɵɵelementEnd()();
|
|
132
134
|
i0.ɵɵtemplate(3, ViewPropertiesDialogComponent_kendo_window_3_ng_template_11_div_3_Template, 2, 3, "div", 36)(4, ViewPropertiesDialogComponent_kendo_window_3_ng_template_11_div_4_Template, 2, 2, "div", 37);
|
|
133
135
|
} if (rf & 2) {
|
|
134
136
|
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
135
137
|
i0.ɵɵadvance(2);
|
|
136
|
-
i0.ɵɵ
|
|
138
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r9.record.SmartFilterEnabled);
|
|
137
139
|
i0.ɵɵadvance();
|
|
138
140
|
i0.ɵɵproperty("ngIf", ctx_r9.record.SmartFilterEnabled);
|
|
139
141
|
i0.ɵɵadvance();
|
|
@@ -142,10 +144,12 @@ function ViewPropertiesDialogComponent_kendo_window_3_ng_template_11_Template(rf
|
|
|
142
144
|
function ViewPropertiesDialogComponent_kendo_window_3_ng_template_13_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
143
145
|
const _r34 = i0.ɵɵgetCurrentView();
|
|
144
146
|
i0.ɵɵelementStart(0, "div")(1, "kendo-dropdownlist", 43);
|
|
145
|
-
i0.ɵɵlistener("valueChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_13_div_3_Template_kendo_dropdownlist_valueChange_1_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r34); const s_r32 = restoredCtx.$implicit; const ctx_r33 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r33.sortColumnValueChange(s_r32, $event)); })
|
|
147
|
+
i0.ɵɵlistener("valueChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_13_div_3_Template_kendo_dropdownlist_valueChange_1_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r34); const s_r32 = restoredCtx.$implicit; const ctx_r33 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r33.sortColumnValueChange(s_r32, $event)); });
|
|
148
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_13_div_3_Template_kendo_dropdownlist_ngModelChange_1_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r34); const s_r32 = restoredCtx.$implicit; i0.ɵɵtwoWayBindingSet(s_r32.field, $event) || (s_r32.field = $event); return i0.ɵɵresetView($event); });
|
|
146
149
|
i0.ɵɵelementEnd();
|
|
147
150
|
i0.ɵɵelementStart(2, "kendo-dropdownlist", 44);
|
|
148
|
-
i0.ɵɵlistener("valueChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_13_div_3_Template_kendo_dropdownlist_valueChange_2_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r34); const s_r32 = restoredCtx.$implicit; const ctx_r36 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r36.sortDirectionValueChange(s_r32, $event)); })
|
|
151
|
+
i0.ɵɵlistener("valueChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_13_div_3_Template_kendo_dropdownlist_valueChange_2_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r34); const s_r32 = restoredCtx.$implicit; const ctx_r36 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r36.sortDirectionValueChange(s_r32, $event)); });
|
|
152
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_13_div_3_Template_kendo_dropdownlist_ngModelChange_2_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r34); const s_r32 = restoredCtx.$implicit; i0.ɵɵtwoWayBindingSet(s_r32.direction, $event) || (s_r32.direction = $event); return i0.ɵɵresetView($event); });
|
|
149
153
|
i0.ɵɵelementEnd();
|
|
150
154
|
i0.ɵɵelementStart(3, "button", 19);
|
|
151
155
|
i0.ɵɵlistener("click", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_13_div_3_Template_button_click_3_listener() { const restoredCtx = i0.ɵɵrestoreView(_r34); const s_r32 = restoredCtx.$implicit; const ctx_r38 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r38.removeSort(s_r32)); });
|
|
@@ -155,9 +159,11 @@ function ViewPropertiesDialogComponent_kendo_window_3_ng_template_13_div_3_Templ
|
|
|
155
159
|
const s_r32 = ctx.$implicit;
|
|
156
160
|
const ctx_r31 = i0.ɵɵnextContext(3);
|
|
157
161
|
i0.ɵɵadvance();
|
|
158
|
-
i0.ɵɵproperty("data", ctx_r31.sortFields)
|
|
162
|
+
i0.ɵɵproperty("data", ctx_r31.sortFields);
|
|
163
|
+
i0.ɵɵtwoWayProperty("ngModel", s_r32.field);
|
|
159
164
|
i0.ɵɵadvance();
|
|
160
|
-
i0.ɵɵproperty("data", ctx_r31.sortDirections)
|
|
165
|
+
i0.ɵɵproperty("data", ctx_r31.sortDirections);
|
|
166
|
+
i0.ɵɵtwoWayProperty("ngModel", s_r32.direction);
|
|
161
167
|
i0.ɵɵadvance(2);
|
|
162
168
|
i0.ɵɵproperty("icon", ctx_r31.sharedService.kendoSVGIcon("sortClear"));
|
|
163
169
|
} }
|
|
@@ -178,27 +184,30 @@ function ViewPropertiesDialogComponent_kendo_window_3_ng_template_13_Template(rf
|
|
|
178
184
|
function ViewPropertiesDialogComponent_kendo_window_3_ng_template_15_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
179
185
|
const _r44 = i0.ɵɵgetCurrentView();
|
|
180
186
|
i0.ɵɵelementStart(0, "div")(1, "kendo-textarea", 46);
|
|
181
|
-
i0.ɵɵ
|
|
187
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_15_div_0_Template_kendo_textarea_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r43 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r43.record.SmartFilterExplanation, $event) || (ctx_r43.record.SmartFilterExplanation = $event); return i0.ɵɵresetView($event); });
|
|
182
188
|
i0.ɵɵelementEnd();
|
|
183
189
|
i0.ɵɵelementStart(2, "kendo-textarea", 46);
|
|
184
|
-
i0.ɵɵ
|
|
190
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_15_div_0_Template_kendo_textarea_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r45 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r45.record.SmartFilterWhereClause, $event) || (ctx_r45.record.SmartFilterWhereClause = $event); return i0.ɵɵresetView($event); });
|
|
185
191
|
i0.ɵɵelementEnd()();
|
|
186
192
|
} if (rf & 2) {
|
|
187
193
|
const ctx_r41 = i0.ɵɵnextContext(3);
|
|
188
194
|
i0.ɵɵadvance();
|
|
189
|
-
i0.ɵɵproperty("readonly", true)("rows", 5)
|
|
195
|
+
i0.ɵɵproperty("readonly", true)("rows", 5);
|
|
196
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r41.record.SmartFilterExplanation);
|
|
190
197
|
i0.ɵɵadvance();
|
|
191
|
-
i0.ɵɵproperty("readonly", true)("rows", 5)
|
|
198
|
+
i0.ɵɵproperty("readonly", true)("rows", 5);
|
|
199
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r41.record.SmartFilterWhereClause);
|
|
192
200
|
} }
|
|
193
201
|
function ViewPropertiesDialogComponent_kendo_window_3_ng_template_15_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
194
202
|
const _r47 = i0.ɵɵgetCurrentView();
|
|
195
203
|
i0.ɵɵelementStart(0, "div")(1, "kendo-textarea", 46);
|
|
196
|
-
i0.ɵɵ
|
|
204
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ViewPropertiesDialogComponent_kendo_window_3_ng_template_15_div_1_Template_kendo_textarea_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r47); const ctx_r46 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r46.record.WhereClause, $event) || (ctx_r46.record.WhereClause = $event); return i0.ɵɵresetView($event); });
|
|
197
205
|
i0.ɵɵelementEnd()();
|
|
198
206
|
} if (rf & 2) {
|
|
199
207
|
const ctx_r42 = i0.ɵɵnextContext(3);
|
|
200
208
|
i0.ɵɵadvance();
|
|
201
|
-
i0.ɵɵproperty("readonly", true)("rows", 7)
|
|
209
|
+
i0.ɵɵproperty("readonly", true)("rows", 7);
|
|
210
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r42.record.WhereClause);
|
|
202
211
|
} }
|
|
203
212
|
function ViewPropertiesDialogComponent_kendo_window_3_ng_template_15_Template(rf, ctx) { if (rf & 1) {
|
|
204
213
|
i0.ɵɵtemplate(0, ViewPropertiesDialogComponent_kendo_window_3_ng_template_15_div_0_Template, 3, 6, "div", 37)(1, ViewPropertiesDialogComponent_kendo_window_3_ng_template_15_div_1_Template, 2, 3, "div", 45);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-explorer-core",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.170",
|
|
4
4
|
"description": "MemberJunction Explorer: Core Angular Components",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
"@progress/kendo-svg-icons": "~2.1.0"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@memberjunction/global": "^0.9.
|
|
40
|
-
"@memberjunction/core": "^0.9.
|
|
41
|
-
"@memberjunction/ng-compare-records": "^0.9.
|
|
42
|
-
"@memberjunction/ng-record-changes": "^0.9.
|
|
43
|
-
"@memberjunction/ng-container-directives": "^0.9.
|
|
44
|
-
"@memberjunction/ng-user-view-grid": "^0.9.
|
|
45
|
-
"@memberjunction/ng-query-grid": "^0.9.
|
|
46
|
-
"@memberjunction/ng-shared": "^0.9.
|
|
47
|
-
"@memberjunction/ng-ask-skip": "^0.9.
|
|
39
|
+
"@memberjunction/global": "^0.9.142",
|
|
40
|
+
"@memberjunction/core": "^0.9.158",
|
|
41
|
+
"@memberjunction/ng-compare-records": "^0.9.160",
|
|
42
|
+
"@memberjunction/ng-record-changes": "^0.9.94",
|
|
43
|
+
"@memberjunction/ng-container-directives": "^0.9.128",
|
|
44
|
+
"@memberjunction/ng-user-view-grid": "^0.9.184",
|
|
45
|
+
"@memberjunction/ng-query-grid": "^0.9.40",
|
|
46
|
+
"@memberjunction/ng-shared": "^0.9.15",
|
|
47
|
+
"@memberjunction/ng-ask-skip": "^0.9.55",
|
|
48
48
|
"tslib": "^2.3.0"
|
|
49
49
|
},
|
|
50
50
|
"sideEffects": false
|