@memberjunction/ng-user-view-grid 2.8.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { Component, ViewChild, ElementRef, Output, EventEmitter, Input } from '@angular/core';
11
11
  import { Metadata, RunView, EntityFieldTSType, LogError, CompositeKey, PotentialDuplicateRequest, FieldValueCollection } from '@memberjunction/core';
12
- import { ViewInfo } from '@memberjunction/core-entities';
12
+ import { ViewInfo, ResourcePermissionEngine } from '@memberjunction/core-entities';
13
13
  import { GridComponent } from "@progress/kendo-angular-grid";
14
14
  import { Keys } from '@progress/kendo-angular-common';
15
15
  import { Subject, distinctUntilChanged } from 'rxjs';
@@ -50,130 +50,130 @@ function UserViewGridComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
50
50
  i0.ɵɵelement(0, "kendo-loader");
51
51
  } }
52
52
  function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
53
- const _r5 = i0.ɵɵgetCurrentView();
54
- i0.ɵɵelementStart(0, "button", 21);
55
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.doCreateNewRecord()); });
56
- i0.ɵɵelement(1, "span", 25);
53
+ const _r4 = i0.ɵɵgetCurrentView();
54
+ i0.ɵɵelementStart(0, "button", 20);
55
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.doCreateNewRecord()); });
56
+ i0.ɵɵelement(1, "span", 24);
57
57
  i0.ɵɵtext(2);
58
58
  i0.ɵɵelementEnd();
59
59
  } if (rf & 2) {
60
- const ctx_r2 = i0.ɵɵnextContext(4);
60
+ const ctx_r1 = i0.ɵɵnextContext(4);
61
61
  i0.ɵɵadvance(2);
62
- i0.ɵɵtextInterpolate1(" New ", ctx_r2.entityRecord == null ? null : ctx_r2.entityRecord.EntityInfo == null ? null : ctx_r2.entityRecord.EntityInfo.Name, " ");
62
+ i0.ɵɵtextInterpolate1(" New ", ctx_r1.entityRecord == null ? null : ctx_r1.entityRecord.EntityInfo == null ? null : ctx_r1.entityRecord.EntityInfo.Name, " ");
63
63
  } }
64
64
  function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
65
- const _r6 = i0.ɵɵgetCurrentView();
66
- i0.ɵɵelementStart(0, "button", 23);
67
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.doCommunication()); });
68
- i0.ɵɵelement(1, "span", 26);
65
+ const _r5 = i0.ɵɵgetCurrentView();
66
+ i0.ɵɵelementStart(0, "button", 22);
67
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.doCommunication()); });
68
+ i0.ɵɵelement(1, "span", 25);
69
69
  i0.ɵɵelementEnd();
70
70
  } }
71
71
  function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
72
- const _r7 = i0.ɵɵgetCurrentView();
73
- i0.ɵɵelementStart(0, "button", 27);
74
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_13_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.RefreshFromSavedParams()); });
75
- i0.ɵɵelement(1, "span", 28);
72
+ const _r6 = i0.ɵɵgetCurrentView();
73
+ i0.ɵɵelementStart(0, "button", 26);
74
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_13_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.RefreshFromSavedParams()); });
75
+ i0.ɵɵelement(1, "span", 27);
76
76
  i0.ɵɵtext(2, " Refresh ");
77
77
  i0.ɵɵelementEnd();
78
78
  } }
79
79
  function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
80
- const _r4 = i0.ɵɵgetCurrentView();
81
- i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_0_Template, 3, 1, "button", 20);
82
- i0.ɵɵelementStart(1, "button", 21);
83
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.doExcelExport()); });
84
- i0.ɵɵelement(2, "span", 22);
80
+ const _r3 = i0.ɵɵgetCurrentView();
81
+ i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_0_Template, 3, 1, "button", 19);
82
+ i0.ɵɵelementStart(1, "button", 20);
83
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.doExcelExport()); });
84
+ i0.ɵɵelement(2, "span", 21);
85
85
  i0.ɵɵtext(3, " Export to Excel ");
86
86
  i0.ɵɵelementEnd();
87
- i0.ɵɵelementStart(4, "button", 23);
88
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.enableCheckbox(false, "duplicate")); });
87
+ i0.ɵɵelementStart(4, "button", 22);
88
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableCheckbox(false, "duplicate")); });
89
89
  i0.ɵɵtext(5, " Search For Duplicates ");
90
90
  i0.ɵɵelementEnd();
91
- i0.ɵɵelementStart(6, "button", 23);
92
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.enableCheckbox(false, "addToList")); });
91
+ i0.ɵɵelementStart(6, "button", 22);
92
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableCheckbox(false, "addToList")); });
93
93
  i0.ɵɵtext(7, " Add To List ");
94
94
  i0.ɵɵelementEnd();
95
- i0.ɵɵelementStart(8, "button", 23);
96
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.enableMergeOrCompare(false, "merge")); });
95
+ i0.ɵɵelementStart(8, "button", 22);
96
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableMergeOrCompare(false, "merge")); });
97
97
  i0.ɵɵtext(9, " Merge ");
98
98
  i0.ɵɵelementEnd();
99
- i0.ɵɵelementStart(10, "button", 23);
100
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.enableMergeOrCompare(false, "compare")); });
99
+ i0.ɵɵelementStart(10, "button", 22);
100
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableMergeOrCompare(false, "compare")); });
101
101
  i0.ɵɵtext(11, " Compare ");
102
102
  i0.ɵɵelementEnd();
103
- i0.ɵɵtemplate(12, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_12_Template, 2, 0, "button", 19)(13, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_13_Template, 3, 0, "button", 24);
103
+ i0.ɵɵtemplate(12, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_12_Template, 2, 0, "button", 18)(13, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Conditional_13_Template, 3, 0, "button", 23);
104
104
  } if (rf & 2) {
105
- const ctx_r2 = i0.ɵɵnextContext(3);
106
- i0.ɵɵconditional(ctx_r2.EntityInfo && ctx_r2.ShowCreateNewRecordButton && ctx_r2.UserCanCreateNewRecord ? 0 : -1);
105
+ const ctx_r1 = i0.ɵɵnextContext(3);
106
+ i0.ɵɵconditional(ctx_r1.EntityInfo && ctx_r1.ShowCreateNewRecordButton && ctx_r1.UserCanCreateNewRecord ? 0 : -1);
107
107
  i0.ɵɵadvance(12);
108
- i0.ɵɵconditional(ctx_r2.ShowCommunicationButton && ctx_r2.EntitySupportsCommunication ? 12 : -1);
108
+ i0.ɵɵconditional(ctx_r1.ShowCommunicationButton && ctx_r1.EntitySupportsCommunication ? 12 : -1);
109
109
  i0.ɵɵadvance();
110
- i0.ɵɵconditional(ctx_r2.showRefreshButton ? 13 : -1);
110
+ i0.ɵɵconditional(ctx_r1.showRefreshButton ? 13 : -1);
111
111
  } }
112
112
  function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
113
- const _r8 = i0.ɵɵgetCurrentView();
114
- i0.ɵɵelementStart(0, "button", 29);
115
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.enableCheckbox(false, "duplicate")); });
113
+ const _r7 = i0.ɵɵgetCurrentView();
114
+ i0.ɵɵelementStart(0, "button", 28);
115
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableCheckbox(false, "duplicate")); });
116
116
  i0.ɵɵtext(1, " Search For Duplicates ");
117
117
  i0.ɵɵelementEnd();
118
118
  } if (rf & 2) {
119
- const ctx_r2 = i0.ɵɵnextContext(3);
120
- i0.ɵɵproperty("disabled", ctx_r2.duplicateMode && ctx_r2.recordsToCompare.length < 2);
119
+ const ctx_r1 = i0.ɵɵnextContext(3);
120
+ i0.ɵɵproperty("disabled", ctx_r1.duplicateMode && ctx_r1.recordsToCompare.length < 2);
121
121
  } }
122
122
  function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
123
- const _r9 = i0.ɵɵgetCurrentView();
124
- i0.ɵɵelementStart(0, "button", 29);
125
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.enableCheckbox(false, "addToList")); });
123
+ const _r8 = i0.ɵɵgetCurrentView();
124
+ i0.ɵɵelementStart(0, "button", 28);
125
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableCheckbox(false, "addToList")); });
126
126
  i0.ɵɵtext(1, " Add To List ");
127
127
  i0.ɵɵelementEnd();
128
128
  } if (rf & 2) {
129
- const ctx_r2 = i0.ɵɵnextContext(3);
130
- i0.ɵɵproperty("disabled", ctx_r2.addToListMode && ctx_r2.recordsToCompare.length === 0);
129
+ const ctx_r1 = i0.ɵɵnextContext(3);
130
+ i0.ɵɵproperty("disabled", ctx_r1.addToListMode && ctx_r1.recordsToCompare.length === 0);
131
131
  } }
132
132
  function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
133
- const _r10 = i0.ɵɵgetCurrentView();
134
- i0.ɵɵelementStart(0, "button", 29);
135
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.enableMergeOrCompare(false, "compare")); });
133
+ const _r9 = i0.ɵɵgetCurrentView();
134
+ i0.ɵɵelementStart(0, "button", 28);
135
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableMergeOrCompare(false, "compare")); });
136
136
  i0.ɵɵtext(1, " Compare ");
137
137
  i0.ɵɵelementEnd();
138
138
  } if (rf & 2) {
139
- const ctx_r2 = i0.ɵɵnextContext(3);
140
- i0.ɵɵproperty("disabled", ctx_r2.compareMode && ctx_r2.recordsToCompare.length < 2);
139
+ const ctx_r1 = i0.ɵɵnextContext(3);
140
+ i0.ɵɵproperty("disabled", ctx_r1.compareMode && ctx_r1.recordsToCompare.length < 2);
141
141
  } }
142
142
  function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
143
- const _r11 = i0.ɵɵgetCurrentView();
144
- i0.ɵɵelementStart(0, "button", 29);
145
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.enableMergeOrCompare(false, "merge")); });
143
+ const _r10 = i0.ɵɵgetCurrentView();
144
+ i0.ɵɵelementStart(0, "button", 28);
145
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableMergeOrCompare(false, "merge")); });
146
146
  i0.ɵɵtext(1, " Merge ");
147
147
  i0.ɵɵelementEnd();
148
148
  } if (rf & 2) {
149
- const ctx_r2 = i0.ɵɵnextContext(3);
150
- i0.ɵɵproperty("disabled", ctx_r2.mergeMode && ctx_r2.recordsToCompare.length < 2);
149
+ const ctx_r1 = i0.ɵɵnextContext(3);
150
+ i0.ɵɵproperty("disabled", ctx_r1.mergeMode && ctx_r1.recordsToCompare.length < 2);
151
151
  } }
152
152
  function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
153
- const _r12 = i0.ɵɵgetCurrentView();
154
- i0.ɵɵelementStart(0, "button", 23);
155
- i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.enableCheckbox(true, "")); });
153
+ const _r11 = i0.ɵɵgetCurrentView();
154
+ i0.ɵɵelementStart(0, "button", 22);
155
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_2_Conditional_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableCheckbox(true, "")); });
156
156
  i0.ɵɵtext(1, " Cancel ");
157
157
  i0.ɵɵelementEnd();
158
158
  } }
159
159
  function UserViewGridComponent_Conditional_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
160
- i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template, 14, 3)(1, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_1_Template, 2, 1, "button", 18)(2, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_2_Template, 2, 1, "button", 18)(3, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_3_Template, 2, 1, "button", 18)(4, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_4_Template, 2, 1, "button", 18)(5, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_5_Template, 2, 0, "button", 19);
160
+ i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_0_Template, 14, 3)(1, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_1_Template, 2, 1, "button", 17)(2, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_2_Template, 2, 1, "button", 17)(3, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_3_Template, 2, 1, "button", 17)(4, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_4_Template, 2, 1, "button", 17)(5, UserViewGridComponent_Conditional_2_ng_template_2_Conditional_5_Template, 2, 0, "button", 18);
161
161
  } if (rf & 2) {
162
- const ctx_r2 = i0.ɵɵnextContext(2);
163
- i0.ɵɵconditional(!ctx_r2.anyModeEnabled ? 0 : -1);
162
+ const ctx_r1 = i0.ɵɵnextContext(2);
163
+ i0.ɵɵconditional(!ctx_r1.anyModeEnabled ? 0 : -1);
164
164
  i0.ɵɵadvance();
165
- i0.ɵɵconditional(ctx_r2.duplicateMode ? 1 : -1);
165
+ i0.ɵɵconditional(ctx_r1.duplicateMode ? 1 : -1);
166
166
  i0.ɵɵadvance();
167
- i0.ɵɵconditional(ctx_r2.addToListMode ? 2 : -1);
167
+ i0.ɵɵconditional(ctx_r1.addToListMode ? 2 : -1);
168
168
  i0.ɵɵadvance();
169
- i0.ɵɵconditional(ctx_r2.compareMode ? 3 : -1);
169
+ i0.ɵɵconditional(ctx_r1.compareMode ? 3 : -1);
170
170
  i0.ɵɵadvance();
171
- i0.ɵɵconditional(ctx_r2.mergeMode ? 4 : -1);
171
+ i0.ɵɵconditional(ctx_r1.mergeMode ? 4 : -1);
172
172
  i0.ɵɵadvance();
173
- i0.ɵɵconditional(ctx_r2.anyModeEnabled ? 5 : -1);
173
+ i0.ɵɵconditional(ctx_r1.anyModeEnabled ? 5 : -1);
174
174
  } }
175
175
  function UserViewGridComponent_Conditional_2_kendo_grid_checkbox_column_3_Template(rf, ctx) { if (rf & 1) {
176
- i0.ɵɵelement(0, "kendo-grid-checkbox-column", 30);
176
+ i0.ɵɵelement(0, "kendo-grid-checkbox-column", 29);
177
177
  } if (rf & 2) {
178
178
  i0.ɵɵstyleMap(i0.ɵɵpureFunction0(4, _c7));
179
179
  i0.ɵɵproperty("width", 50)("headerStyle", i0.ɵɵpureFunction0(5, _c8));
@@ -183,219 +183,235 @@ function UserViewGridComponent_Conditional_2_kendo_grid_column_4_1_ng_template_0
183
183
  i0.ɵɵpipe(1, "number");
184
184
  i0.ɵɵpipe(2, "number");
185
185
  i0.ɵɵelement(3, "br");
186
- i0.ɵɵelementStart(4, "span", 33);
186
+ i0.ɵɵelementStart(4, "span", 32);
187
187
  i0.ɵɵtext(5);
188
188
  i0.ɵɵpipe(6, "number");
189
189
  i0.ɵɵelementEnd();
190
190
  } if (rf & 2) {
191
- const ctx_r2 = i0.ɵɵnextContext(4);
192
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(1, 3, ctx_r2.viewData.length), "", ctx_r2.totalRowCount > ctx_r2.viewData.length ? " of " + i0.ɵɵpipeBind1(2, 5, ctx_r2.totalRowCount) : " rows", "");
191
+ const ctx_r1 = i0.ɵɵnextContext(4);
192
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(1, 3, ctx_r1.viewData.length), "", ctx_r1.totalRowCount > ctx_r1.viewData.length ? " of " + i0.ɵɵpipeBind1(2, 5, ctx_r1.totalRowCount) : " rows", "");
193
193
  i0.ɵɵadvance(5);
194
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(6, 7, ctx_r2.viewExecutionTime, "1.2-2"), " seconds");
194
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(6, 7, ctx_r1.viewExecutionTime, "1.2-2"), " seconds");
195
195
  } }
196
196
  function UserViewGridComponent_Conditional_2_kendo_grid_column_4_1_Template(rf, ctx) { if (rf & 1) {
197
- i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_kendo_grid_column_4_1_ng_template_0_Template, 7, 10, "ng-template", 32);
197
+ i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_kendo_grid_column_4_1_ng_template_0_Template, 7, 10, "ng-template", 31);
198
198
  } }
199
199
  function UserViewGridComponent_Conditional_2_kendo_grid_column_4_Template(rf, ctx) { if (rf & 1) {
200
- i0.ɵɵelementStart(0, "kendo-grid-column", 31);
201
- i0.ɵɵtemplate(1, UserViewGridComponent_Conditional_2_kendo_grid_column_4_1_Template, 1, 0, null, 8);
200
+ i0.ɵɵelementStart(0, "kendo-grid-column", 30);
201
+ i0.ɵɵtemplate(1, UserViewGridComponent_Conditional_2_kendo_grid_column_4_1_Template, 1, 0, null, 13);
202
202
  i0.ɵɵelementEnd();
203
203
  } if (rf & 2) {
204
- const item_r13 = ctx.$implicit;
205
- const ctx_r2 = i0.ɵɵnextContext(2);
206
- i0.ɵɵstyleMap(ctx_r2.GetColumnCellStyle(item_r13));
207
- i0.ɵɵproperty("field", item_r13.Name)("title", ctx_r2.GetColumnTitle(item_r13))("width", item_r13.width ? item_r13.width : 100)("editable", item_r13.EntityField.AllowUpdateAPI)("editor", ctx_r2.getEditor(item_r13.EntityField))("headerStyle", i0.ɵɵpureFunction0(9, _c8));
204
+ const item_r12 = ctx.$implicit;
205
+ const ctx_r1 = i0.ɵɵnextContext(2);
206
+ i0.ɵɵstyleMap(ctx_r1.GetColumnCellStyle(item_r12));
207
+ i0.ɵɵproperty("field", item_r12.Name)("title", ctx_r1.GetColumnTitle(item_r12))("width", item_r12.width ? item_r12.width : 100)("editable", item_r12.EntityField.AllowUpdateAPI)("editor", ctx_r1.getEditor(item_r12.EntityField))("headerStyle", i0.ɵɵpureFunction0(9, _c8));
208
208
  i0.ɵɵadvance();
209
- i0.ɵɵproperty("ngIf", item_r13 === ctx_r2.visibleColumns[0]);
209
+ i0.ɵɵproperty("ngIf", item_r12 === ctx_r1.visibleColumns[0]);
210
210
  } }
211
211
  function UserViewGridComponent_Conditional_2_kendo_excelexport_column_7_Template(rf, ctx) { if (rf & 1) {
212
- i0.ɵɵelement(0, "kendo-excelexport-column", 34);
212
+ i0.ɵɵelement(0, "kendo-excelexport-column", 33);
213
213
  } if (rf & 2) {
214
- const exportCol_r14 = ctx.$implicit;
215
- i0.ɵɵproperty("field", exportCol_r14.Name)("title", exportCol_r14.Name);
214
+ const exportCol_r13 = ctx.$implicit;
215
+ i0.ɵɵproperty("field", exportCol_r13.Name)("title", exportCol_r13.Name);
216
216
  } }
217
- function UserViewGridComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
218
- const _r2 = i0.ɵɵgetCurrentView();
219
- i0.ɵɵelementStart(0, "kendo-grid", 12, 3);
220
- i0.ɵɵlistener("pageChange", function UserViewGridComponent_Conditional_2_Template_kendo_grid_pageChange_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.pageChange($event)); });
221
- i0.ɵɵtwoWayListener("selectedKeysChange", function UserViewGridComponent_Conditional_2_Template_kendo_grid_selectedKeysChange_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.selectedKeys, $event) || (ctx_r2.selectedKeys = $event); return i0.ɵɵresetView($event); });
222
- i0.ɵɵlistener("cellClick", function UserViewGridComponent_Conditional_2_Template_kendo_grid_cellClick_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cellClickHandler($event)); })("cellClose", function UserViewGridComponent_Conditional_2_Template_kendo_grid_cellClose_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.cellCloseHandler($event)); })("columnReorder", function UserViewGridComponent_Conditional_2_Template_kendo_grid_columnReorder_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.columnReorder($event)); })("columnResize", function UserViewGridComponent_Conditional_2_Template_kendo_grid_columnResize_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.columnResize($event)); })("selectionChange", function UserViewGridComponent_Conditional_2_Template_kendo_grid_selectionChange_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectionChange($event)); })("sortChange", function UserViewGridComponent_Conditional_2_Template_kendo_grid_sortChange_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sortChanged($event)); });
223
- i0.ɵɵtemplate(2, UserViewGridComponent_Conditional_2_ng_template_2_Template, 6, 6, "ng-template", 13)(3, UserViewGridComponent_Conditional_2_kendo_grid_checkbox_column_3_Template, 1, 6, "kendo-grid-checkbox-column", 14)(4, UserViewGridComponent_Conditional_2_kendo_grid_column_4_Template, 2, 10, "kendo-grid-column", 15);
224
- i0.ɵɵelementStart(5, "kendo-excelexport", 16, 4);
225
- i0.ɵɵtemplate(7, UserViewGridComponent_Conditional_2_kendo_excelexport_column_7_Template, 1, 2, "kendo-excelexport-column", 17);
226
- i0.ɵɵelementEnd()();
227
- } if (rf & 2) {
228
- const ctx_r2 = i0.ɵɵnextContext();
229
- i0.ɵɵproperty("resizable", true)("data", ctx_r2.gridView)("skip", ctx_r2.skip)("pageSize", ctx_r2.pageSize)("rowHeight", 36)("loading", ctx_r2.isLoading)("height", ctx_r2.gridHeight)("sortable", ctx_r2.UserCanEdit)("sort", ctx_r2.sortSettings)("resizable", ctx_r2.UserCanEdit)("reorderable", ctx_r2.UserCanEdit)("selectable", true);
230
- i0.ɵɵtwoWayProperty("selectedKeys", ctx_r2.selectedKeys);
231
- i0.ɵɵadvance(3);
232
- i0.ɵɵproperty("ngIf", ctx_r2.anyModeEnabled);
233
- i0.ɵɵadvance();
234
- i0.ɵɵproperty("ngForOf", ctx_r2.visibleColumns);
235
- i0.ɵɵadvance();
236
- i0.ɵɵproperty("data", ctx_r2.exportData)("fileName", (ctx_r2._viewEntity ? ctx_r2._viewEntity.Get("Name") : ctx_r2._entityInfo == null ? null : ctx_r2._entityInfo.Name) + ".xlsx");
237
- i0.ɵɵadvance(2);
238
- i0.ɵɵproperty("ngForOf", ctx_r2.exportColumns);
239
- } }
240
- function UserViewGridComponent_div_5_kendo_window_2_button_5_Template(rf, ctx) { if (rf & 1) {
241
- const _r16 = i0.ɵɵgetCurrentView();
242
- i0.ɵɵelementStart(0, "button", 44);
243
- i0.ɵɵlistener("click", function UserViewGridComponent_div_5_kendo_window_2_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.closeCompareDialog("merge")); });
217
+ function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_5_Template(rf, ctx) { if (rf & 1) {
218
+ const _r15 = i0.ɵɵgetCurrentView();
219
+ i0.ɵɵelementStart(0, "button", 43);
220
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeCompareDialog("merge")); });
244
221
  i0.ɵɵtext(1, " Merge Records ");
245
222
  i0.ɵɵelementEnd();
246
223
  } }
247
- function UserViewGridComponent_div_5_kendo_window_2_button_6_Template(rf, ctx) { if (rf & 1) {
248
- const _r17 = i0.ɵɵgetCurrentView();
249
- i0.ɵɵelementStart(0, "button", 44);
250
- i0.ɵɵlistener("click", function UserViewGridComponent_div_5_kendo_window_2_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.findDuplicateRecords()); });
224
+ function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_6_Template(rf, ctx) { if (rf & 1) {
225
+ const _r16 = i0.ɵɵgetCurrentView();
226
+ i0.ɵɵelementStart(0, "button", 43);
227
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.findDuplicateRecords()); });
251
228
  i0.ɵɵtext(1, " Search for Duplicates ");
252
229
  i0.ɵɵelementEnd();
253
230
  } }
254
- function UserViewGridComponent_div_5_kendo_window_2_button_7_Template(rf, ctx) { if (rf & 1) {
255
- const _r18 = i0.ɵɵgetCurrentView();
256
- i0.ɵɵelementStart(0, "button", 45);
257
- i0.ɵɵlistener("click", function UserViewGridComponent_div_5_kendo_window_2_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.closeCompareDialog("close")); });
231
+ function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_7_Template(rf, ctx) { if (rf & 1) {
232
+ const _r17 = i0.ɵɵgetCurrentView();
233
+ i0.ɵɵelementStart(0, "button", 44);
234
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeCompareDialog("close")); });
258
235
  i0.ɵɵtext(1, " Close ");
259
236
  i0.ɵɵelementEnd();
260
237
  } }
261
- function UserViewGridComponent_div_5_kendo_window_2_button_8_Template(rf, ctx) { if (rf & 1) {
262
- const _r19 = i0.ɵɵgetCurrentView();
263
- i0.ɵɵelementStart(0, "button", 45);
264
- i0.ɵɵlistener("click", function UserViewGridComponent_div_5_kendo_window_2_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.closeCompareDialog("cancel")); });
238
+ function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_8_Template(rf, ctx) { if (rf & 1) {
239
+ const _r18 = i0.ɵɵgetCurrentView();
240
+ i0.ɵɵelementStart(0, "button", 44);
241
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeCompareDialog("cancel")); });
265
242
  i0.ɵɵtext(1, " Cancel ");
266
243
  i0.ɵɵelementEnd();
267
244
  } }
268
- function UserViewGridComponent_div_5_kendo_window_2_kendo_dialog_9_Template(rf, ctx) { if (rf & 1) {
269
- const _r20 = i0.ɵɵgetCurrentView();
270
- i0.ɵɵelementStart(0, "kendo-dialog", 46);
271
- i0.ɵɵlistener("close", function UserViewGridComponent_div_5_kendo_window_2_kendo_dialog_9_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.closeConfirmMergeDialog("cancel")); });
272
- i0.ɵɵelementStart(1, "p", 47);
245
+ function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_kendo_dialog_9_Template(rf, ctx) { if (rf & 1) {
246
+ const _r19 = i0.ɵɵgetCurrentView();
247
+ i0.ɵɵelementStart(0, "kendo-dialog", 45);
248
+ i0.ɵɵlistener("close", function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_kendo_dialog_9_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeConfirmMergeDialog("cancel")); });
249
+ i0.ɵɵelementStart(1, "p", 46);
273
250
  i0.ɵɵtext(2, " Are you sure you want to merge the records? This action cannot be undone. If you select \"Yes\", the records will be merged and the duplicate records will be deleted. ");
274
251
  i0.ɵɵelementEnd();
275
- i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 21);
276
- i0.ɵɵlistener("click", function UserViewGridComponent_div_5_kendo_window_2_kendo_dialog_9_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.closeConfirmMergeDialog("no")); });
252
+ i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 20);
253
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_kendo_dialog_9_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeConfirmMergeDialog("no")); });
277
254
  i0.ɵɵtext(5, "No");
278
255
  i0.ɵɵelementEnd();
279
- i0.ɵɵelementStart(6, "button", 48);
280
- i0.ɵɵlistener("click", function UserViewGridComponent_div_5_kendo_window_2_kendo_dialog_9_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.closeConfirmMergeDialog("yes")); });
256
+ i0.ɵɵelementStart(6, "button", 47);
257
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_kendo_dialog_9_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeConfirmMergeDialog("yes")); });
281
258
  i0.ɵɵtext(7, " Yes ");
282
259
  i0.ɵɵelementEnd()()();
283
260
  } if (rf & 2) {
284
261
  i0.ɵɵproperty("minWidth", 250)("width", 450);
285
262
  } }
286
- function UserViewGridComponent_div_5_kendo_window_2_Template(rf, ctx) { if (rf & 1) {
287
- const _r15 = i0.ɵɵgetCurrentView();
288
- i0.ɵɵelementStart(0, "kendo-window", 37);
289
- i0.ɵɵlistener("close", function UserViewGridComponent_div_5_kendo_window_2_Template_kendo_window_close_0_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.closeCompareDialog($event)); });
290
- i0.ɵɵelementStart(1, "div", 38);
291
- i0.ɵɵelement(2, "mj-compare-records", 39, 5);
263
+ function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_Template(rf, ctx) { if (rf & 1) {
264
+ const _r14 = i0.ɵɵgetCurrentView();
265
+ i0.ɵɵelementStart(0, "kendo-window", 36);
266
+ i0.ɵɵlistener("close", function UserViewGridComponent_Conditional_2_div_10_kendo_window_2_Template_kendo_window_close_0_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.closeCompareDialog($event)); });
267
+ i0.ɵɵelementStart(1, "div", 37);
268
+ i0.ɵɵelement(2, "mj-compare-records", 38, 5);
292
269
  i0.ɵɵelementEnd();
293
- i0.ɵɵelementStart(4, "div", 40);
294
- i0.ɵɵtemplate(5, UserViewGridComponent_div_5_kendo_window_2_button_5_Template, 2, 0, "button", 41)(6, UserViewGridComponent_div_5_kendo_window_2_button_6_Template, 2, 0, "button", 41)(7, UserViewGridComponent_div_5_kendo_window_2_button_7_Template, 2, 0, "button", 42)(8, UserViewGridComponent_div_5_kendo_window_2_button_8_Template, 2, 0, "button", 42);
270
+ i0.ɵɵelementStart(4, "div", 39);
271
+ i0.ɵɵtemplate(5, UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_5_Template, 2, 0, "button", 40)(6, UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_6_Template, 2, 0, "button", 40)(7, UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_7_Template, 2, 0, "button", 41)(8, UserViewGridComponent_Conditional_2_div_10_kendo_window_2_button_8_Template, 2, 0, "button", 41);
295
272
  i0.ɵɵelementEnd();
296
- i0.ɵɵtemplate(9, UserViewGridComponent_div_5_kendo_window_2_kendo_dialog_9_Template, 8, 2, "kendo-dialog", 43);
273
+ i0.ɵɵtemplate(9, UserViewGridComponent_Conditional_2_div_10_kendo_window_2_kendo_dialog_9_Template, 8, 2, "kendo-dialog", 42);
297
274
  i0.ɵɵelementEnd();
298
275
  } if (rf & 2) {
299
- const ctx_r2 = i0.ɵɵnextContext(2);
276
+ const ctx_r1 = i0.ɵɵnextContext(3);
300
277
  i0.ɵɵproperty("minHeight", 300)("minWidth", 800)("top", 100)("left", 100)("width", 1200)("height", 675)("resizable", true);
301
278
  i0.ɵɵadvance();
302
279
  i0.ɵɵproperty("fillHeight", true)("bottomMargin", 100);
303
280
  i0.ɵɵadvance();
304
- i0.ɵɵproperty("entityName", ctx_r2._entityInfo ? ctx_r2._entityInfo.Name : "")("recordsToCompare", ctx_r2.recordsToCompare)("visibleColumns", ctx_r2.visibleColumns)("selectionMode", ctx_r2.mergeMode ? true : false);
281
+ i0.ɵɵproperty("entityName", ctx_r1._entityInfo ? ctx_r1._entityInfo.Name : "")("recordsToCompare", ctx_r1.recordsToCompare)("visibleColumns", ctx_r1.visibleColumns)("selectionMode", ctx_r1.mergeMode ? true : false);
305
282
  i0.ɵɵadvance(3);
306
- i0.ɵɵproperty("ngIf", ctx_r2.mergeMode);
283
+ i0.ɵɵproperty("ngIf", ctx_r1.mergeMode);
307
284
  i0.ɵɵadvance();
308
- i0.ɵɵproperty("ngIf", ctx_r2.duplicateMode);
285
+ i0.ɵɵproperty("ngIf", ctx_r1.duplicateMode);
309
286
  i0.ɵɵadvance();
310
- i0.ɵɵproperty("ngIf", ctx_r2.compareMode);
287
+ i0.ɵɵproperty("ngIf", ctx_r1.compareMode);
311
288
  i0.ɵɵadvance();
312
- i0.ɵɵproperty("ngIf", ctx_r2.mergeMode || ctx_r2.duplicateMode);
289
+ i0.ɵɵproperty("ngIf", ctx_r1.mergeMode || ctx_r1.duplicateMode);
313
290
  i0.ɵɵadvance();
314
- i0.ɵɵproperty("ngIf", ctx_r2.isConfirmDialogOpen);
291
+ i0.ɵɵproperty("ngIf", ctx_r1.isConfirmDialogOpen);
315
292
  } }
316
- function UserViewGridComponent_div_5_Template(rf, ctx) { if (rf & 1) {
293
+ function UserViewGridComponent_Conditional_2_div_10_Template(rf, ctx) { if (rf & 1) {
317
294
  i0.ɵɵelementStart(0, "div");
318
- i0.ɵɵelement(1, "div", 35);
319
- i0.ɵɵtemplate(2, UserViewGridComponent_div_5_kendo_window_2_Template, 10, 18, "kendo-window", 36);
295
+ i0.ɵɵelement(1, "div", 34);
296
+ i0.ɵɵtemplate(2, UserViewGridComponent_Conditional_2_div_10_kendo_window_2_Template, 10, 18, "kendo-window", 35);
320
297
  i0.ɵɵelementEnd();
321
298
  } if (rf & 2) {
322
- const ctx_r2 = i0.ɵɵnextContext();
299
+ const ctx_r1 = i0.ɵɵnextContext(2);
323
300
  i0.ɵɵadvance(2);
324
- i0.ɵɵproperty("ngIf", ctx_r2.isCompareDialogOpened);
301
+ i0.ɵɵproperty("ngIf", ctx_r1.isCompareDialogOpened);
325
302
  } }
326
- function UserViewGridComponent_kendo_dialog_6_Conditional_5_Template(rf, ctx) { if (rf & 1) {
327
- i0.ɵɵelement(0, "kendo-loader", 53);
303
+ function UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_5_Template(rf, ctx) { if (rf & 1) {
304
+ i0.ɵɵelement(0, "kendo-loader", 52);
328
305
  } }
329
- function UserViewGridComponent_kendo_dialog_6_Conditional_6_For_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
330
- const _r22 = i0.ɵɵgetCurrentView();
331
- i0.ɵɵelementStart(0, "button", 60);
332
- i0.ɵɵlistener("click", function UserViewGridComponent_kendo_dialog_6_Conditional_6_For_1_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r22); const listEntity_r23 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.removeFromList(listEntity_r23)); });
333
- i0.ɵɵelement(1, "span", 61);
306
+ function UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_6_For_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
307
+ const _r21 = i0.ɵɵgetCurrentView();
308
+ i0.ɵɵelementStart(0, "button", 59);
309
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_6_For_1_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r21); const listEntity_r22 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.removeFromList(listEntity_r22)); });
310
+ i0.ɵɵelement(1, "span", 60);
334
311
  i0.ɵɵtext(2, " Remove ");
335
312
  i0.ɵɵelementEnd();
336
313
  } }
337
- function UserViewGridComponent_kendo_dialog_6_Conditional_6_For_1_Conditional_4_Template(rf, ctx) { if (rf & 1) {
338
- const _r24 = i0.ɵɵgetCurrentView();
339
- i0.ɵɵelementStart(0, "button", 62);
340
- i0.ɵɵlistener("click", function UserViewGridComponent_kendo_dialog_6_Conditional_6_For_1_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r24); const listEntity_r23 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.addToList(listEntity_r23)); });
341
- i0.ɵɵelementStart(1, "div", 63);
342
- i0.ɵɵelement(2, "span", 64);
314
+ function UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_6_For_1_Conditional_4_Template(rf, ctx) { if (rf & 1) {
315
+ const _r23 = i0.ɵɵgetCurrentView();
316
+ i0.ɵɵelementStart(0, "button", 61);
317
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_6_For_1_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r23); const listEntity_r22 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.addToList(listEntity_r22)); });
318
+ i0.ɵɵelementStart(1, "div", 62);
319
+ i0.ɵɵelement(2, "span", 63);
343
320
  i0.ɵɵtext(3, " Add ");
344
321
  i0.ɵɵelementEnd()();
345
322
  } }
346
- function UserViewGridComponent_kendo_dialog_6_Conditional_6_For_1_Template(rf, ctx) { if (rf & 1) {
347
- i0.ɵɵelementStart(0, "div", 56)(1, "div", 57);
323
+ function UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_6_For_1_Template(rf, ctx) { if (rf & 1) {
324
+ i0.ɵɵelementStart(0, "div", 55)(1, "div", 56);
348
325
  i0.ɵɵtext(2);
349
326
  i0.ɵɵelementEnd();
350
- i0.ɵɵtemplate(3, UserViewGridComponent_kendo_dialog_6_Conditional_6_For_1_Conditional_3_Template, 3, 0, "button", 58)(4, UserViewGridComponent_kendo_dialog_6_Conditional_6_For_1_Conditional_4_Template, 4, 0, "button", 59);
327
+ i0.ɵɵtemplate(3, UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_6_For_1_Conditional_3_Template, 3, 0, "button", 57)(4, UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_6_For_1_Conditional_4_Template, 4, 0, "button", 58);
351
328
  i0.ɵɵelementEnd();
352
329
  i0.ɵɵelement(5, "hr");
353
330
  } if (rf & 2) {
354
- const listEntity_r23 = ctx.$implicit;
355
- const ctx_r2 = i0.ɵɵnextContext(3);
331
+ const listEntity_r22 = ctx.$implicit;
332
+ const ctx_r1 = i0.ɵɵnextContext(4);
356
333
  i0.ɵɵadvance();
357
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c9, ctx_r2.selectedListEntities.includes(listEntity_r23)));
334
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c9, ctx_r1.selectedListEntities.includes(listEntity_r22)));
358
335
  i0.ɵɵadvance();
359
- i0.ɵɵtextInterpolate1(" ", listEntity_r23.Name, " ");
336
+ i0.ɵɵtextInterpolate1(" ", listEntity_r22.Name, " ");
360
337
  i0.ɵɵadvance();
361
- i0.ɵɵconditional(ctx_r2.selectedListEntities.includes(listEntity_r23) ? 3 : 4);
338
+ i0.ɵɵconditional(ctx_r1.selectedListEntities.includes(listEntity_r22) ? 3 : 4);
362
339
  } }
363
- function UserViewGridComponent_kendo_dialog_6_Conditional_6_Template(rf, ctx) { if (rf & 1) {
364
- i0.ɵɵrepeaterCreate(0, UserViewGridComponent_kendo_dialog_6_Conditional_6_For_1_Template, 6, 5, null, null, i0.ɵɵrepeaterTrackByIdentity);
340
+ function UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_6_Template(rf, ctx) { if (rf & 1) {
341
+ i0.ɵɵrepeaterCreate(0, UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_6_For_1_Template, 6, 5, null, null, i0.ɵɵrepeaterTrackByIdentity);
365
342
  } if (rf & 2) {
366
- const ctx_r2 = i0.ɵɵnextContext(2);
367
- i0.ɵɵrepeater(ctx_r2.listEntities);
343
+ const ctx_r1 = i0.ɵɵnextContext(3);
344
+ i0.ɵɵrepeater(ctx_r1.listEntities);
368
345
  } }
369
- function UserViewGridComponent_kendo_dialog_6_Template(rf, ctx) { if (rf & 1) {
370
- const _r21 = i0.ɵɵgetCurrentView();
371
- i0.ɵɵelementStart(0, "kendo-dialog", 49);
372
- i0.ɵɵlistener("close", function UserViewGridComponent_kendo_dialog_6_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleAddToListDialog(false)); });
373
- i0.ɵɵelementStart(1, "div", 50)(2, "kendo-textbox", 51);
374
- i0.ɵɵlistener("valueChange", function UserViewGridComponent_kendo_dialog_6_Template_kendo_textbox_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSearch($event)); });
346
+ function UserViewGridComponent_Conditional_2_kendo_dialog_11_Template(rf, ctx) { if (rf & 1) {
347
+ const _r20 = i0.ɵɵgetCurrentView();
348
+ i0.ɵɵelementStart(0, "kendo-dialog", 48);
349
+ i0.ɵɵlistener("close", function UserViewGridComponent_Conditional_2_kendo_dialog_11_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleAddToListDialog(false)); });
350
+ i0.ɵɵelementStart(1, "div", 49)(2, "kendo-textbox", 50);
351
+ i0.ɵɵlistener("valueChange", function UserViewGridComponent_Conditional_2_kendo_dialog_11_Template_kendo_textbox_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onSearch($event)); });
375
352
  i0.ɵɵelementEnd()();
376
353
  i0.ɵɵelement(3, "hr");
377
- i0.ɵɵelementStart(4, "div", 52);
378
- i0.ɵɵtemplate(5, UserViewGridComponent_kendo_dialog_6_Conditional_5_Template, 1, 0, "kendo-loader", 53)(6, UserViewGridComponent_kendo_dialog_6_Conditional_6_Template, 2, 0);
354
+ i0.ɵɵelementStart(4, "div", 51);
355
+ i0.ɵɵtemplate(5, UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_5_Template, 1, 0, "kendo-loader", 52)(6, UserViewGridComponent_Conditional_2_kendo_dialog_11_Conditional_6_Template, 2, 0);
379
356
  i0.ɵɵelementEnd();
380
- i0.ɵɵelementStart(7, "kendo-dialog-actions")(8, "button", 54);
381
- i0.ɵɵlistener("click", function UserViewGridComponent_kendo_dialog_6_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.addRecordsToSelectedLists()); });
357
+ i0.ɵɵelementStart(7, "kendo-dialog-actions")(8, "button", 53);
358
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_kendo_dialog_11_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.addRecordsToSelectedLists()); });
382
359
  i0.ɵɵtext(9, " Save ");
383
360
  i0.ɵɵelementEnd();
384
- i0.ɵɵelementStart(10, "button", 55);
385
- i0.ɵɵlistener("click", function UserViewGridComponent_kendo_dialog_6_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r21); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleAddToListDialog(false)); });
361
+ i0.ɵɵelementStart(10, "button", 54);
362
+ i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_kendo_dialog_11_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleAddToListDialog(false)); });
386
363
  i0.ɵɵtext(11, " Cancel ");
387
364
  i0.ɵɵelementEnd()()();
388
365
  } if (rf & 2) {
389
- const ctx_r2 = i0.ɵɵnextContext();
366
+ const ctx_r1 = i0.ɵɵnextContext(2);
390
367
  i0.ɵɵproperty("minHeight", 500)("maxHeight", 500)("minWidth", 500)("maxWidth", 650);
391
368
  i0.ɵɵadvance(2);
392
369
  i0.ɵɵproperty("clearButton", true);
393
370
  i0.ɵɵadvance(3);
394
- i0.ɵɵconditional(ctx_r2.showAddToListLoader ? 5 : 6);
371
+ i0.ɵɵconditional(ctx_r1.showAddToListLoader ? 5 : 6);
372
+ i0.ɵɵadvance(3);
373
+ i0.ɵɵproperty("disabled", ctx_r1.showAddToListLoader);
374
+ i0.ɵɵadvance(2);
375
+ i0.ɵɵproperty("disabled", ctx_r1.showAddToListLoader);
376
+ } }
377
+ function UserViewGridComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
378
+ const _r1 = i0.ɵɵgetCurrentView();
379
+ i0.ɵɵelementStart(0, "kendo-grid", 7, 0);
380
+ i0.ɵɵlistener("pageChange", function UserViewGridComponent_Conditional_2_Template_kendo_grid_pageChange_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pageChange($event)); });
381
+ i0.ɵɵtwoWayListener("selectedKeysChange", function UserViewGridComponent_Conditional_2_Template_kendo_grid_selectedKeysChange_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.selectedKeys, $event) || (ctx_r1.selectedKeys = $event); return i0.ɵɵresetView($event); });
382
+ i0.ɵɵlistener("cellClick", function UserViewGridComponent_Conditional_2_Template_kendo_grid_cellClick_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cellClickHandler($event)); })("cellClose", function UserViewGridComponent_Conditional_2_Template_kendo_grid_cellClose_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cellCloseHandler($event)); })("columnReorder", function UserViewGridComponent_Conditional_2_Template_kendo_grid_columnReorder_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.columnReorder($event)); })("columnResize", function UserViewGridComponent_Conditional_2_Template_kendo_grid_columnResize_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.columnResize($event)); })("selectionChange", function UserViewGridComponent_Conditional_2_Template_kendo_grid_selectionChange_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selectionChange($event)); })("sortChange", function UserViewGridComponent_Conditional_2_Template_kendo_grid_sortChange_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.sortChanged($event)); });
383
+ i0.ɵɵtemplate(2, UserViewGridComponent_Conditional_2_ng_template_2_Template, 6, 6, "ng-template", 8)(3, UserViewGridComponent_Conditional_2_kendo_grid_checkbox_column_3_Template, 1, 6, "kendo-grid-checkbox-column", 9)(4, UserViewGridComponent_Conditional_2_kendo_grid_column_4_Template, 2, 10, "kendo-grid-column", 10);
384
+ i0.ɵɵelementStart(5, "kendo-excelexport", 11, 1);
385
+ i0.ɵɵtemplate(7, UserViewGridComponent_Conditional_2_kendo_excelexport_column_7_Template, 1, 2, "kendo-excelexport-column", 12);
386
+ i0.ɵɵelementEnd()();
387
+ i0.ɵɵelementStart(8, "div", null, 2);
388
+ i0.ɵɵtemplate(10, UserViewGridComponent_Conditional_2_div_10_Template, 3, 1, "div", 13);
389
+ i0.ɵɵelementEnd();
390
+ i0.ɵɵtemplate(11, UserViewGridComponent_Conditional_2_kendo_dialog_11_Template, 12, 8, "kendo-dialog", 14);
391
+ i0.ɵɵelement(12, "mj-entity-form-dialog", 15, 3);
392
+ i0.ɵɵelementStart(14, "mj-entity-communications-preview-window", 16, 4);
393
+ i0.ɵɵlistener("DialogClosed", function UserViewGridComponent_Conditional_2_Template_mj_entity_communications_preview_window_DialogClosed_14_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.showTemplatePreviewDialog = false); });
394
+ i0.ɵɵelementEnd();
395
+ } if (rf & 2) {
396
+ const ctx_r1 = i0.ɵɵnextContext();
397
+ i0.ɵɵproperty("resizable", true)("data", ctx_r1.gridView)("skip", ctx_r1.skip)("pageSize", ctx_r1.pageSize)("rowHeight", 36)("loading", ctx_r1.isLoading)("height", ctx_r1.gridHeight)("sortable", ctx_r1.UserCanEdit)("sort", ctx_r1.sortSettings)("resizable", ctx_r1.UserCanEdit)("reorderable", ctx_r1.UserCanEdit)("selectable", true);
398
+ i0.ɵɵtwoWayProperty("selectedKeys", ctx_r1.selectedKeys);
399
+ i0.ɵɵadvance(3);
400
+ i0.ɵɵproperty("ngIf", ctx_r1.anyModeEnabled);
401
+ i0.ɵɵadvance();
402
+ i0.ɵɵproperty("ngForOf", ctx_r1.visibleColumns);
403
+ i0.ɵɵadvance();
404
+ i0.ɵɵproperty("data", ctx_r1.exportData)("fileName", (ctx_r1._viewEntity ? ctx_r1._viewEntity.Get("Name") : ctx_r1._entityInfo == null ? null : ctx_r1._entityInfo.Name) + ".xlsx");
405
+ i0.ɵɵadvance(2);
406
+ i0.ɵɵproperty("ngForOf", ctx_r1.exportColumns);
395
407
  i0.ɵɵadvance(3);
396
- i0.ɵɵproperty("disabled", ctx_r2.showAddToListLoader);
408
+ i0.ɵɵproperty("ngIf", ctx_r1.isCompareDialogOpened);
409
+ i0.ɵɵadvance();
410
+ i0.ɵɵproperty("ngIf", ctx_r1.showAddToListDialog);
411
+ i0.ɵɵadvance();
412
+ i0.ɵɵproperty("Visible", ctx_r1.showNewRecordDialog);
397
413
  i0.ɵɵadvance(2);
398
- i0.ɵɵproperty("disabled", ctx_r2.showAddToListLoader);
414
+ i0.ɵɵproperty("DialogVisible", ctx_r1.showTemplatePreviewDialog)("entityInfo", ctx_r1._entityInfo)("runViewParams", ctx_r1.Params);
399
415
  } }
400
416
  export class UserViewGridComponent {
401
417
  get anyModeEnabled() {
@@ -604,6 +620,12 @@ export class UserViewGridComponent {
604
620
  else
605
621
  return false;
606
622
  }
623
+ get UserCanView() {
624
+ if (this._viewEntity)
625
+ return this._viewEntity.UserCanView;
626
+ else
627
+ return false;
628
+ }
607
629
  innerSaveView() {
608
630
  return __awaiter(this, void 0, void 0, function* () {
609
631
  if (this._viewDirty) {
@@ -766,14 +788,13 @@ export class UserViewGridComponent {
766
788
  }
767
789
  const newURL = ['resource', 'record', compositeKey.ToURLSegment()];
768
790
  const newURLString = newURL.join('/');
769
- const refreshPage = newURLString === decodedUrl;
770
- this.router.navigate(newURL, { queryParams: { Entity: this._entityInfo.Name } }).then(() => {
771
- //handle the edge case of us navigating to a new entity record that
772
- //has the same ID as the current entity record
773
- if (refreshPage) {
774
- window.location.reload();
775
- }
776
- });
791
+ if (newURLString === decodedUrl) {
792
+ // we have to force the router to change its state otherwise the next line below won't do anything because the
793
+ // router thinks it is the same URL, since we have the Entity on the query params, we can just change the URL to something else
794
+ // and skipLocationChange so that the browser history doesn't get messed up
795
+ yield this.router.navigateByUrl('/dummy', { skipLocationChange: true });
796
+ }
797
+ this.router.navigate(newURL, { queryParams: { Entity: this._entityInfo.Name } });
777
798
  }
778
799
  });
779
800
  }
@@ -883,38 +904,41 @@ export class UserViewGridComponent {
883
904
  ngOnInit() {
884
905
  }
885
906
  ngAfterViewInit() {
886
- //this.setGridHeight();
887
- if (this.Params)
888
- this.Refresh(this.Params);
889
- // setup event listener for MJGlobal because we might have a parent component that sends us messages
890
- MJGlobal.Instance.GetEventListener(false).subscribe((e) => {
891
- switch (e.event) {
892
- case MJEventType.ComponentEvent:
893
- if (e.eventCode === BaseFormComponentEventCodes.BASE_CODE) {
894
- // we have an event from a BaseFormComponent, now we need to determine if WE are a descendant of that component
895
- const event = e.args;
896
- if (SharedService.IsDescendant(event.elementRef, this.elementRef)) {
897
- // we are a descendant of the component that sent the event, so we need to handle it
898
- switch (event.subEventCode) {
899
- case BaseFormComponentEventCodes.EDITING_COMPLETE:
900
- this.EditingComplete();
901
- break;
902
- case BaseFormComponentEventCodes.REVERT_PENDING_CHANGES:
903
- this.RevertPendingChanges();
904
- break;
905
- case BaseFormComponentEventCodes.POPULATE_PENDING_RECORDS:
906
- // provide all of our pending records back to the caller
907
- this.PendingRecords.forEach((r) => {
908
- const edEvent = event;
909
- const p = { entityObject: r.record, action: 'save' };
910
- edEvent.pendingChanges.push(p);
911
- });
912
- break;
907
+ return __awaiter(this, void 0, void 0, function* () {
908
+ yield ResourcePermissionEngine.Instance.Config();
909
+ //this.setGridHeight();
910
+ if (this.Params)
911
+ this.Refresh(this.Params);
912
+ // setup event listener for MJGlobal because we might have a parent component that sends us messages
913
+ MJGlobal.Instance.GetEventListener(false).subscribe((e) => {
914
+ switch (e.event) {
915
+ case MJEventType.ComponentEvent:
916
+ if (e.eventCode === BaseFormComponentEventCodes.BASE_CODE) {
917
+ // we have an event from a BaseFormComponent, now we need to determine if WE are a descendant of that component
918
+ const event = e.args;
919
+ if (SharedService.IsDescendant(event.elementRef, this.elementRef)) {
920
+ // we are a descendant of the component that sent the event, so we need to handle it
921
+ switch (event.subEventCode) {
922
+ case BaseFormComponentEventCodes.EDITING_COMPLETE:
923
+ this.EditingComplete();
924
+ break;
925
+ case BaseFormComponentEventCodes.REVERT_PENDING_CHANGES:
926
+ this.RevertPendingChanges();
927
+ break;
928
+ case BaseFormComponentEventCodes.POPULATE_PENDING_RECORDS:
929
+ // provide all of our pending records back to the caller
930
+ this.PendingRecords.forEach((r) => {
931
+ const edEvent = event;
932
+ const p = { entityObject: r.record, action: 'save' };
933
+ edEvent.pendingChanges.push(p);
934
+ });
935
+ break;
936
+ }
913
937
  }
914
938
  }
915
- }
916
- break;
917
- }
939
+ break;
940
+ }
941
+ });
918
942
  });
919
943
  }
920
944
  moveDialogToBody() {
@@ -1478,34 +1502,17 @@ UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserV
1478
1502
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.analysisResults = _t.first);
1479
1503
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.compareDialogContainer = _t.first);
1480
1504
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.entityFormDialog = _t.first);
1481
- } }, inputs: { Params: "Params", BottomMargin: "BottomMargin", InEditMode: "InEditMode", EditMode: "EditMode", AutoNavigate: "AutoNavigate", NewRecordValues: "NewRecordValues", ShowCreateNewRecordButton: "ShowCreateNewRecordButton", ShowCommunicationButton: "ShowCommunicationButton", CreateRecordMode: "CreateRecordMode", AllowLoad: "AllowLoad" }, outputs: { rowClicked: "rowClicked", rowEdited: "rowEdited" }, decls: 11, vars: 7, consts: [["compareDialogContainer", ""], ["entityFormDialog", ""], ["templatePreviewDialog", ""], ["kendoGrid", ""], ["excelExport", ""], ["recordCompareRef", ""], ["mjFillContainer", "", 1, "user-view-grid-wrap"], ["mjFillContainer", "", "scrollable", "virtual", "kendoGridSelectBy", "", 3, "resizable", "data", "skip", "pageSize", "rowHeight", "loading", "height", "sortable", "sort", "reorderable", "selectable", "selectedKeys"], [4, "ngIf"], ["class", "dialog-wrapper", "title", "Select List(s) To Add Record(s) To", 3, "minHeight", "maxHeight", "minWidth", "maxWidth", "close", 4, "ngIf"], ["Mode", "complete", 3, "Visible"], [3, "DialogClosed", "DialogVisible", "entityInfo", "runViewParams"], ["mjFillContainer", "", "scrollable", "virtual", "kendoGridSelectBy", "", 3, "pageChange", "selectedKeysChange", "cellClick", "cellClose", "columnReorder", "columnResize", "selectionChange", "sortChange", "resizable", "data", "skip", "pageSize", "rowHeight", "loading", "height", "sortable", "sort", "reorderable", "selectable", "selectedKeys"], ["kendoGridToolbarTemplate", ""], [3, "width", "headerStyle", "style", 4, "ngIf"], [3, "field", "title", "width", "editable", "editor", "headerStyle", "style", 4, "ngFor", "ngForOf"], [3, "data", "fileName"], [3, "field", "title", 4, "ngFor", "ngForOf"], ["kendoButton", "", 1, "k-button-solid-base", "list-button", 3, "disabled"], ["kendoButton", "", 1, "k-button-solid-base", "list-button"], ["kendoButton", ""], ["kendoButton", "", 3, "click"], [1, "fa-regular", "fa-file-excel"], ["kendoButton", "", 1, "k-button-solid-base", "list-button", 3, "click"], ["kendoButton", "", 1, "list-button"], [1, "fa-regular", "fa-plus"], [1, "fa-regular", "fa-envelope"], ["kendoButton", "", 1, "list-button", 3, "click"], [1, "fa-solid", "fa-arrows-rotate"], ["kendoButton", "", 1, "k-button-solid-base", "list-button", 3, "click", "disabled"], [3, "width", "headerStyle"], [3, "field", "title", "width", "editable", "editor", "headerStyle"], ["kendoGridFooterTemplate", ""], [2, "font-size", "smaller", "font-weight", "normal"], [3, "field", "title"], [1, "k-overlay"], ["title", "Compare Records", 3, "minHeight", "minWidth", "top", "left", "width", "height", "resizable", "close", 4, "ngIf"], ["title", "Compare Records", 3, "close", "minHeight", "minWidth", "top", "left", "width", "height", "resizable"], ["mjFillContainer", "", 3, "fillHeight", "bottomMargin"], [3, "entityName", "recordsToCompare", "visibleColumns", "selectionMode"], [1, "k-actions", "k-actions-end"], ["kendoButton", "", "themeColor", "primary", "type", "button", 3, "click", 4, "ngIf"], ["kendoButton", "", "type", "button", 3, "click", 4, "ngIf"], ["title", "Confirm Choice", 3, "minWidth", "width", "close", 4, "ngIf"], ["kendoButton", "", "themeColor", "primary", "type", "button", 3, "click"], ["kendoButton", "", "type", "button", 3, "click"], ["title", "Confirm Choice", 3, "close", "minWidth", "width"], [2, "margin", "30px", "text-align", "center"], ["kendoButton", "", "themeColor", "primary", 3, "click"], ["title", "Select List(s) To Add Record(s) To", 1, "dialog-wrapper", 3, "close", "minHeight", "maxHeight", "minWidth", "maxWidth"], [1, "search-header"], ["id", "listSearch", "placeholder", "Search Lists...", "kendoTextBox", "", 1, "search-bar", 3, "valueChange", "clearButton"], [1, "overflow-y-scroll"], ["type", "converging-spinner"], ["kendoButton", "", "themeColor", "primary", 3, "click", "disabled"], ["kendoButton", "", 3, "click", "disabled"], [1, "list-item"], [1, "list-text", 3, "ngClass"], ["kendoButton", "", 1, "btn-no-border", "btn-selected"], ["kendoButton", "", 1, "btn-no-border"], ["kendoButton", "", 1, "btn-no-border", "btn-selected", 3, "click"], [1, "fa-solid", "fa-minus"], ["kendoButton", "", 1, "btn-no-border", 3, "click"], [1, "btn-margin-right"], [1, "fa-solid", "fa-plus"]], template: function UserViewGridComponent_Template(rf, ctx) { if (rf & 1) {
1482
- const _r1 = i0.ɵɵgetCurrentView();
1505
+ } }, inputs: { Params: "Params", BottomMargin: "BottomMargin", InEditMode: "InEditMode", EditMode: "EditMode", AutoNavigate: "AutoNavigate", NewRecordValues: "NewRecordValues", ShowCreateNewRecordButton: "ShowCreateNewRecordButton", ShowCommunicationButton: "ShowCommunicationButton", CreateRecordMode: "CreateRecordMode", AllowLoad: "AllowLoad" }, outputs: { rowClicked: "rowClicked", rowEdited: "rowEdited" }, decls: 3, vars: 1, consts: [["kendoGrid", ""], ["excelExport", ""], ["compareDialogContainer", ""], ["entityFormDialog", ""], ["templatePreviewDialog", ""], ["recordCompareRef", ""], ["mjFillContainer", "", 1, "user-view-grid-wrap"], ["mjFillContainer", "", "scrollable", "virtual", "kendoGridSelectBy", "", 3, "pageChange", "selectedKeysChange", "cellClick", "cellClose", "columnReorder", "columnResize", "selectionChange", "sortChange", "resizable", "data", "skip", "pageSize", "rowHeight", "loading", "height", "sortable", "sort", "reorderable", "selectable", "selectedKeys"], ["kendoGridToolbarTemplate", ""], [3, "width", "headerStyle", "style", 4, "ngIf"], [3, "field", "title", "width", "editable", "editor", "headerStyle", "style", 4, "ngFor", "ngForOf"], [3, "data", "fileName"], [3, "field", "title", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["class", "dialog-wrapper", "title", "Select List(s) To Add Record(s) To", 3, "minHeight", "maxHeight", "minWidth", "maxWidth", "close", 4, "ngIf"], ["Mode", "complete", 3, "Visible"], [3, "DialogClosed", "DialogVisible", "entityInfo", "runViewParams"], ["kendoButton", "", 1, "k-button-solid-base", "list-button", 3, "disabled"], ["kendoButton", "", 1, "k-button-solid-base", "list-button"], ["kendoButton", ""], ["kendoButton", "", 3, "click"], [1, "fa-regular", "fa-file-excel"], ["kendoButton", "", 1, "k-button-solid-base", "list-button", 3, "click"], ["kendoButton", "", 1, "list-button"], [1, "fa-regular", "fa-plus"], [1, "fa-regular", "fa-envelope"], ["kendoButton", "", 1, "list-button", 3, "click"], [1, "fa-solid", "fa-arrows-rotate"], ["kendoButton", "", 1, "k-button-solid-base", "list-button", 3, "click", "disabled"], [3, "width", "headerStyle"], [3, "field", "title", "width", "editable", "editor", "headerStyle"], ["kendoGridFooterTemplate", ""], [2, "font-size", "smaller", "font-weight", "normal"], [3, "field", "title"], [1, "k-overlay"], ["title", "Compare Records", 3, "minHeight", "minWidth", "top", "left", "width", "height", "resizable", "close", 4, "ngIf"], ["title", "Compare Records", 3, "close", "minHeight", "minWidth", "top", "left", "width", "height", "resizable"], ["mjFillContainer", "", 3, "fillHeight", "bottomMargin"], [3, "entityName", "recordsToCompare", "visibleColumns", "selectionMode"], [1, "k-actions", "k-actions-end"], ["kendoButton", "", "themeColor", "primary", "type", "button", 3, "click", 4, "ngIf"], ["kendoButton", "", "type", "button", 3, "click", 4, "ngIf"], ["title", "Confirm Choice", 3, "minWidth", "width", "close", 4, "ngIf"], ["kendoButton", "", "themeColor", "primary", "type", "button", 3, "click"], ["kendoButton", "", "type", "button", 3, "click"], ["title", "Confirm Choice", 3, "close", "minWidth", "width"], [2, "margin", "30px", "text-align", "center"], ["kendoButton", "", "themeColor", "primary", 3, "click"], ["title", "Select List(s) To Add Record(s) To", 1, "dialog-wrapper", 3, "close", "minHeight", "maxHeight", "minWidth", "maxWidth"], [1, "search-header"], ["id", "listSearch", "placeholder", "Search Lists...", "kendoTextBox", "", 1, "search-bar", 3, "valueChange", "clearButton"], [1, "overflow-y-scroll"], ["type", "converging-spinner"], ["kendoButton", "", "themeColor", "primary", 3, "click", "disabled"], ["kendoButton", "", 3, "click", "disabled"], [1, "list-item"], [1, "list-text", 3, "ngClass"], ["kendoButton", "", 1, "btn-no-border", "btn-selected"], ["kendoButton", "", 1, "btn-no-border"], ["kendoButton", "", 1, "btn-no-border", "btn-selected", 3, "click"], [1, "fa-solid", "fa-minus"], ["kendoButton", "", 1, "btn-no-border", 3, "click"], [1, "btn-margin-right"], [1, "fa-solid", "fa-plus"]], template: function UserViewGridComponent_Template(rf, ctx) { if (rf & 1) {
1483
1506
  i0.ɵɵelementStart(0, "div", 6);
1484
- i0.ɵɵtemplate(1, UserViewGridComponent_Conditional_1_Template, 1, 0, "kendo-loader")(2, UserViewGridComponent_Conditional_2_Template, 8, 18, "kendo-grid", 7);
1485
- i0.ɵɵelementStart(3, "div", null, 0);
1486
- i0.ɵɵtemplate(5, UserViewGridComponent_div_5_Template, 3, 1, "div", 8);
1487
- i0.ɵɵelementEnd();
1488
- i0.ɵɵtemplate(6, UserViewGridComponent_kendo_dialog_6_Template, 12, 8, "kendo-dialog", 9);
1489
- i0.ɵɵelementEnd();
1490
- i0.ɵɵelement(7, "mj-entity-form-dialog", 10, 1);
1491
- i0.ɵɵelementStart(9, "mj-entity-communications-preview-window", 11, 2);
1492
- i0.ɵɵlistener("DialogClosed", function UserViewGridComponent_Template_mj_entity_communications_preview_window_DialogClosed_9_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.showTemplatePreviewDialog = false); });
1507
+ i0.ɵɵtemplate(1, UserViewGridComponent_Conditional_1_Template, 1, 0, "kendo-loader")(2, UserViewGridComponent_Conditional_2_Template, 16, 24);
1493
1508
  i0.ɵɵelementEnd();
1494
1509
  } if (rf & 2) {
1495
1510
  i0.ɵɵadvance();
1496
1511
  i0.ɵɵconditional(ctx.isLoading || !ctx.AllowLoad || ctx.neverLoaded ? 1 : 2);
1497
- i0.ɵɵadvance(4);
1498
- i0.ɵɵproperty("ngIf", ctx.isCompareDialogOpened);
1499
- i0.ɵɵadvance();
1500
- i0.ɵɵproperty("ngIf", ctx.showAddToListDialog);
1501
- i0.ɵɵadvance();
1502
- i0.ɵɵproperty("Visible", ctx.showNewRecordDialog);
1503
- i0.ɵɵadvance(2);
1504
- i0.ɵɵproperty("DialogVisible", ctx.showTemplatePreviewDialog)("entityInfo", ctx._entityInfo)("runViewParams", ctx.Params);
1505
1512
  } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i4.GridComponent, i4.ToolbarTemplateDirective, i4.SelectionDirective, i4.ColumnComponent, i4.FooterTemplateDirective, i4.CheckboxColumnComponent, i5.DialogComponent, i5.DialogActionsComponent, i5.WindowComponent, i6.ExcelExportComponent, i6.ColumnComponent, i7.ButtonComponent, i8.CompareRecordsComponent, i9.FillContainer, i10.TextBoxComponent, i11.EntityFormDialogComponent, i12.LoaderComponent, i13.EntityCommunicationsPreviewWindowComponent, i3.DecimalPipe], styles: [".user-view-grid-wrap[_ngcontent-%COMP%] {\n height: calc(100vh - 20px);\n}\n\n.user-view-grid-column-header[_ngcontent-%COMP%] {\n background-color: #fff;\n font-size: 20pt;\n font-weight: bold;\n}\n\n.title-wrapper[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 0;\n border-bottom: 1px solid var(--med-gray);\n}\n .title-wrapper[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n }\n .main-fav-wrapper[_ngcontent-%COMP%] {\n background: #fff;\n padding: 20px;\n }\n .filter-wrapper[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n font-size: 16px;\n background: transparent;\n border: none;\n box-sizing: border-box;\n padding-left: 40px;\n\n }\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] {\n background: var(--light-shade);\n width: 360px;\n height: 44px;\n position: relative;\n border-radius: 10px;\n }\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 12px;\n}\n.k-table-td[_ngcontent-%COMP%] {\n border-right: none !important;\n}.btn-cmn[_ngcontent-%COMP%] {\n width: 44px;\n height: 44px;\n min-width: 44px;\n background: transparent;\n border-radius: 8px;\n border: 1px solid var(--gray-color);\n}\n.btn-cmn.active[_ngcontent-%COMP%] {\n border: 1px solid var(--border-blue);\n}\n .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px; padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n .user-view-grid-wrap .k-grid-aria-root .k-grid-header .k-grid-header-table thead tr th {\n border-right: none;\n border-inline-start-width: 0;\n color: var(--thead-color);\n}\n .user-view-grid-wrap .k-grid-aria-root kendo-grid-list .k-grid-table tbody tr td { \n border-inline-start-width: 0;\n color: var(--tdata-color);\n font-weight: 500;\n border-bottom-width: 1px;\n} \n\n.overflow-y-scroll[_ngcontent-%COMP%] {\n overflow-y: auto;\n max-height: 300px;\n}\n\n.padding-bottom-small[_ngcontent-%COMP%] {\n padding-bottom: 10px;\n}\n\n.list-item[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n padding-bottom: 5px;\n align-items: center;\n}\n\n.btn-no-border[_ngcontent-%COMP%] {\n border: none;\n background: none;\n color: var(--border-blue);\n font-size: 16px;\n font-weight: 500;\n cursor: pointer;\n}\n\n.btn-selected[_ngcontent-%COMP%] {\n font-weight: bold;\n}\n\n.list-text[_ngcontent-%COMP%] {\n font-size: large;\n}\n.list-selected[_ngcontent-%COMP%] {\n font-weight: bold;\n color: var(--border-blue);\n}\n\n.btn-margin-right[_ngcontent-%COMP%] {\n margin-right: 35px;\n}\n\n.divider[_ngcontent-%COMP%] {\n color: lightgray\n}\n\n.search-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 0;\n}\n\n.search-bar[_ngcontent-%COMP%] {\n width: 65%;\n padding-bottom: 10px;\n}\n\n.dialog-wrapper[_ngcontent-%COMP%] {\n padding: 15px 25px;\n}\n\n.btn-outline[_ngcontent-%COMP%] {\n border: 2px solid var(--border-blue);\n border-radius: 8px;\n padding: 5px 30px;\n\n background: none;\n color: var(--border-blue);\n font-size: 16px;\n font-weight: 500;\n cursor: pointer;\n}"] });
1506
1513
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserViewGridComponent, [{
1507
1514
  type: Component,
1508
- args: [{ selector: 'mj-user-view-grid', template: "<div class=\"user-view-grid-wrap\" mjFillContainer>\n @if (isLoading || !AllowLoad || neverLoaded) {\n <kendo-loader></kendo-loader>\n }\n @else {\n <kendo-grid #kendoGrid\n mjFillContainer\n [resizable]=\"true\"\n [data]=\"gridView\" \n [skip]=\"skip\"\n [pageSize]=\"pageSize\"\n scrollable=\"virtual\"\n [rowHeight]=\"36\"\n (pageChange)=\"pageChange($event)\"\n [loading]=\"isLoading\"\n [height]=\"gridHeight\"\n [sortable]=\"UserCanEdit\"\n [sort]=\"sortSettings\" \n [resizable]=\"UserCanEdit\"\n [reorderable]=\"UserCanEdit\"\n [selectable]=\"true\"\n kendoGridSelectBy\n [(selectedKeys)]=\"selectedKeys\"\n (cellClick)=\"cellClickHandler($event)\"\n (cellClose)=\"cellCloseHandler($event)\"\n (columnReorder)=\"columnReorder($event)\"\n (columnResize)=\"columnResize($event)\"\n (selectionChange)=\"selectionChange($event)\"\n (sortChange)=\"sortChanged($event)\"\n >\n <ng-template kendoGridToolbarTemplate>\n @if(!anyModeEnabled){\n @if(EntityInfo && ShowCreateNewRecordButton && UserCanCreateNewRecord) {\n <button kendoButton (click)=\"doCreateNewRecord()\" >\n <span class=\"fa-regular fa-plus\"></span>\n New {{entityRecord?.EntityInfo?.Name}}\n </button> \n }\n\n <button kendoButton (click)=\"doExcelExport()\" >\n <span class=\"fa-regular fa-file-excel\"></span>\n Export to Excel\n </button>\n <button (click)=\"enableCheckbox(false, 'duplicate')\" kendoButton class=\"k-button-solid-base list-button\">\n Search For Duplicates\n </button>\n <button (click)=\"enableCheckbox(false, 'addToList')\" kendoButton class=\"k-button-solid-base list-button\">\n Add To List\n </button>\n <button (click)=\"enableMergeOrCompare(false, 'merge')\" kendoButton class=\"k-button-solid-base list-button\">\n Merge\n </button>\n <button (click)=\"enableMergeOrCompare(false, 'compare')\" kendoButton class=\"k-button-solid-base list-button\">\n Compare\n </button>\n\n @if (ShowCommunicationButton && EntitySupportsCommunication) {\n <button (click)=\"doCommunication()\" kendoButton class=\"k-button-solid-base list-button\">\n <span class=\"fa-regular fa-envelope\"></span>\n </button> \n }\n\n @if(showRefreshButton){\n <button kendoButton class=\"list-button\" (click)=\"RefreshFromSavedParams()\">\n <span class=\"fa-solid fa-arrows-rotate\"></span>\n Refresh\n </button>\n }\n }\n @if(duplicateMode){\n <button (click)=\"enableCheckbox(false, 'duplicate')\" [disabled]=\"duplicateMode && recordsToCompare.length < 2\" kendoButton class=\"k-button-solid-base list-button\">\n Search For Duplicates\n </button>\n }\n @if(addToListMode){\n <button (click)=\"enableCheckbox(false, 'addToList')\" [disabled]=\"addToListMode && recordsToCompare.length === 0\" kendoButton class=\"k-button-solid-base list-button\">\n Add To List\n </button>\n }\n @if(compareMode){\n <button (click)=\"enableMergeOrCompare(false, 'compare')\" [disabled]=\"compareMode && recordsToCompare.length < 2\" kendoButton class=\"k-button-solid-base list-button\">\n Compare\n </button>\n }\n @if(mergeMode){\n <button (click)=\"enableMergeOrCompare(false, 'merge')\" [disabled]=\"mergeMode && recordsToCompare.length < 2\" kendoButton class=\"k-button-solid-base list-button\">\n Merge\n </button>\n }\n @if(anyModeEnabled){\n <button (click)=\"enableCheckbox(true, '')\" kendoButton class=\"k-button-solid-base list-button\">\n Cancel\n </button>\n }\n </ng-template>\n \n <kendo-grid-checkbox-column \n *ngIf=\"anyModeEnabled\" \n [width]=\"50\" \n [headerStyle]=\"{ 'font-weight' : 'bold', 'background-color': 'white' }\" \n [style]=\"{'text-align': 'center', 'vertical-align': 'center'}\">\n </kendo-grid-checkbox-column>\n \n <kendo-grid-column \n *ngFor=\"let item of visibleColumns\" \n [field]=\"item.Name\" \n [title]=\"GetColumnTitle(item)\"\n [width]=\"item.width ? item.width : 100\"\n [editable]=\"item.EntityField.AllowUpdateAPI\"\n [editor]=\"getEditor(item.EntityField)\"\n [headerStyle]=\"{ 'font-weight' : 'bold', 'background-color': 'white' }\"\n [style]=\"this.GetColumnCellStyle(item)\"\n >\n <ng-template *ngIf=\"item===visibleColumns[0]\" kendoGridFooterTemplate >\n {{this.viewData.length | number}}{{this.totalRowCount > this.viewData.length ? ' of ' + (this.totalRowCount | number) : ' rows'}}<br/><span style=\"font-size: smaller; font-weight: normal;\">{{viewExecutionTime | number:'1.2-2'}} seconds</span>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-excelexport #excelExport [data]=\"exportData\" [fileName]=\"(_viewEntity ? _viewEntity.Get('Name') : _entityInfo?.Name) + '.xlsx'\">\n <kendo-excelexport-column *ngFor=\"let exportCol of exportColumns\" [field]=\"exportCol.Name\" [title]=\"exportCol.Name\">\n </kendo-excelexport-column>\n </kendo-excelexport>\n </kendo-grid>\n }\n\n \n <div #compareDialogContainer>\n <div *ngIf=\"isCompareDialogOpened\">\n <div class=\"k-overlay\"></div>\n <kendo-window\n [minHeight]=\"300\"\n [minWidth]=\"800\"\n [top]=\"100\"\n [left]=\"100\"\n [width]=\"1200\"\n [height]=\"675\"\n [resizable]=\"true\"\n (close)=\"closeCompareDialog($event)\"\n title=\"Compare Records\"\n *ngIf=\"isCompareDialogOpened\"\n >\n <div mjFillContainer [fillHeight]=\"true\" [bottomMargin]=\"100\">\n <mj-compare-records\n #recordCompareRef\n [entityName]=\"_entityInfo ? _entityInfo.Name : ''\"\n [recordsToCompare]=\"recordsToCompare\" \n [visibleColumns]=\"visibleColumns\" \n [selectionMode]=\"mergeMode ? true : false\"\n >\n </mj-compare-records>\n </div>\n <div class=\"k-actions k-actions-end\">\n <button *ngIf=\"mergeMode\" kendoButton themeColor=\"primary\" type=\"button\" (click)=\"closeCompareDialog('merge')\">\n Merge Records\n </button>\n <button *ngIf=\"duplicateMode\" kendoButton themeColor=\"primary\" type=\"button\" (click)=\"findDuplicateRecords()\">\n Search for Duplicates\n </button>\n <button *ngIf=\"compareMode\" kendoButton type=\"button\" (click)=\"closeCompareDialog('close')\">\n Close\n </button>\n <button *ngIf=\"mergeMode || duplicateMode\" kendoButton type=\"button\" (click)=\"closeCompareDialog('cancel')\">\n Cancel\n </button>\n </div> \n <kendo-dialog\n title=\"Confirm Choice\"\n *ngIf=\"isConfirmDialogOpen\"\n (close)=\"closeConfirmMergeDialog('cancel')\"\n [minWidth]=\"250\"\n [width]=\"450\"\n >\n <p style=\"margin: 30px; text-align: center;\">\n Are you sure you want to merge the records? This action cannot be undone. If you select \"Yes\", the records will be merged and the duplicate records will be deleted.\n </p>\n <kendo-dialog-actions>\n <button kendoButton (click)=\"closeConfirmMergeDialog('no')\">No</button>\n <button kendoButton (click)=\"closeConfirmMergeDialog('yes')\" themeColor=\"primary\">\n Yes\n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n </kendo-window>\n </div> \n </div>\n <kendo-dialog\n class=\"dialog-wrapper\"\n title=\"Select List(s) To Add Record(s) To\"\n *ngIf=\"showAddToListDialog\"\n (close)=\"toggleAddToListDialog(false)\"\n [minHeight]=\"500\"\n [maxHeight]=\"500\"\n [minWidth]=\"500\"\n [maxWidth]=\"650\"\n >\n <div class=\"search-header\">\n <kendo-textbox\n id=\"listSearch\"\n placeholder=\"Search Lists...\"\n kendoTextBox\n (valueChange)=\"onSearch($event)\"\n [clearButton]=\"true\"\n class=\"search-bar\"\n ></kendo-textbox>\n </div>\n <hr>\n <div class=\"overflow-y-scroll\">\n @if(showAddToListLoader){\n <kendo-loader type=\"converging-spinner\"></kendo-loader>\n }\n @else {\n @for(listEntity of listEntities; track listEntity){\n <div class=\"list-item\">\n <div class=\"list-text\" [ngClass]=\"{'list-selected': selectedListEntities.includes(listEntity)}\">\n {{listEntity.Name}}\n </div>\n @if(selectedListEntities.includes(listEntity)){\n <button kendoButton class=\"btn-no-border btn-selected\" (click)=\"removeFromList(listEntity)\">\n <span class=\"fa-solid fa-minus\"></span>\n Remove\n </button>\n }\n @else {\n <button kendoButton class=\"btn-no-border\" (click)=\"addToList(listEntity)\">\n <div class=\"btn-margin-right\">\n <span class=\"fa-solid fa-plus\"></span>\n Add\n </div>\n </button>\n }\n </div>\n <hr>\n }\n }\n </div>\n <kendo-dialog-actions>\n <button kendoButton (click)=\"addRecordsToSelectedLists()\" [disabled]=\"showAddToListLoader\" themeColor=\"primary\">\n Save\n </button>\n <button kendoButton (click)=\"toggleAddToListDialog(false)\" [disabled]=\"showAddToListLoader\">\n Cancel\n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n</div>\n \n<!-- Entity Form Dialog Component here for future use as needed -->\n<mj-entity-form-dialog\n #entityFormDialog\n Mode=\"complete\"\n [Visible]=\"showNewRecordDialog\"\n></mj-entity-form-dialog>\n\n\n<mj-entity-communications-preview-window \n #templatePreviewDialog\n [DialogVisible]=\"showTemplatePreviewDialog\"\n (DialogClosed)=\"showTemplatePreviewDialog = false\"\n [entityInfo]=\"_entityInfo\"\n [runViewParams]=\"Params\"\n>\n\n</mj-entity-communications-preview-window> \n", styles: [".user-view-grid-wrap {\n height: calc(100vh - 20px);\n}\n\n.user-view-grid-column-header {\n background-color: #fff;\n font-size: 20pt;\n font-weight: bold;\n}\n\n.title-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 0;\n border-bottom: 1px solid var(--med-gray);\n}\n .title-wrapper h4 {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n }\n .main-fav-wrapper {\n background: #fff;\n padding: 20px;\n }\n .filter-wrapper {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\n .title-wrapper .search input {\n width: 100%;\n height: 100%;\n font-size: 16px;\n background: transparent;\n border: none;\n box-sizing: border-box;\n padding-left: 40px;\n\n }\n .title-wrapper .search {\n background: var(--light-shade);\n width: 360px;\n height: 44px;\n position: relative;\n border-radius: 10px;\n }\n .title-wrapper .search svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 12px;\n}\n.k-table-td {\n border-right: none !important;\n}.btn-cmn {\n width: 44px;\n height: 44px;\n min-width: 44px;\n background: transparent;\n border-radius: 8px;\n border: 1px solid var(--gray-color);\n}\n.btn-cmn.active {\n border: 1px solid var(--border-blue);\n}\n::ng-deep .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px; padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n::ng-deep .user-view-grid-wrap .k-grid-aria-root .k-grid-header .k-grid-header-table thead tr th {\n border-right: none;\n border-inline-start-width: 0;\n color: var(--thead-color);\n}\n::ng-deep .user-view-grid-wrap .k-grid-aria-root kendo-grid-list .k-grid-table tbody tr td { \n border-inline-start-width: 0;\n color: var(--tdata-color);\n font-weight: 500;\n border-bottom-width: 1px;\n} \n\n.overflow-y-scroll {\n overflow-y: auto;\n max-height: 300px;\n}\n\n.padding-bottom-small {\n padding-bottom: 10px;\n}\n\n.list-item {\n display: flex;\n justify-content: space-between;\n padding-bottom: 5px;\n align-items: center;\n}\n\n.btn-no-border {\n border: none;\n background: none;\n color: var(--border-blue);\n font-size: 16px;\n font-weight: 500;\n cursor: pointer;\n}\n\n.btn-selected {\n font-weight: bold;\n}\n\n.list-text {\n font-size: large;\n}\n.list-selected {\n font-weight: bold;\n color: var(--border-blue);\n}\n\n.btn-margin-right {\n margin-right: 35px;\n}\n\n.divider {\n color: lightgray\n}\n\n.search-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 0;\n}\n\n.search-bar {\n width: 65%;\n padding-bottom: 10px;\n}\n\n.dialog-wrapper {\n padding: 15px 25px;\n}\n\n.btn-outline {\n border: 2px solid var(--border-blue);\n border-radius: 8px;\n padding: 5px 30px;\n\n background: none;\n color: var(--border-blue);\n font-size: 16px;\n font-weight: 500;\n cursor: pointer;\n}"] }]
1515
+ args: [{ selector: 'mj-user-view-grid', template: "<div class=\"user-view-grid-wrap\" mjFillContainer>\n @if (isLoading || !AllowLoad || neverLoaded) {\n <kendo-loader></kendo-loader>\n }\n @else {\n <kendo-grid #kendoGrid\n mjFillContainer\n [resizable]=\"true\"\n [data]=\"gridView\" \n [skip]=\"skip\"\n [pageSize]=\"pageSize\"\n scrollable=\"virtual\"\n [rowHeight]=\"36\"\n (pageChange)=\"pageChange($event)\"\n [loading]=\"isLoading\"\n [height]=\"gridHeight\"\n [sortable]=\"UserCanEdit\"\n [sort]=\"sortSettings\" \n [resizable]=\"UserCanEdit\"\n [reorderable]=\"UserCanEdit\"\n [selectable]=\"true\"\n kendoGridSelectBy\n [(selectedKeys)]=\"selectedKeys\"\n (cellClick)=\"cellClickHandler($event)\"\n (cellClose)=\"cellCloseHandler($event)\"\n (columnReorder)=\"columnReorder($event)\"\n (columnResize)=\"columnResize($event)\"\n (selectionChange)=\"selectionChange($event)\"\n (sortChange)=\"sortChanged($event)\"\n >\n <ng-template kendoGridToolbarTemplate>\n @if(!anyModeEnabled){\n @if(EntityInfo && ShowCreateNewRecordButton && UserCanCreateNewRecord) {\n <button kendoButton (click)=\"doCreateNewRecord()\" >\n <span class=\"fa-regular fa-plus\"></span>\n New {{entityRecord?.EntityInfo?.Name}}\n </button> \n }\n\n <button kendoButton (click)=\"doExcelExport()\" >\n <span class=\"fa-regular fa-file-excel\"></span>\n Export to Excel\n </button>\n <button (click)=\"enableCheckbox(false, 'duplicate')\" kendoButton class=\"k-button-solid-base list-button\">\n Search For Duplicates\n </button>\n <button (click)=\"enableCheckbox(false, 'addToList')\" kendoButton class=\"k-button-solid-base list-button\">\n Add To List\n </button>\n <button (click)=\"enableMergeOrCompare(false, 'merge')\" kendoButton class=\"k-button-solid-base list-button\">\n Merge\n </button>\n <button (click)=\"enableMergeOrCompare(false, 'compare')\" kendoButton class=\"k-button-solid-base list-button\">\n Compare\n </button>\n\n @if (ShowCommunicationButton && EntitySupportsCommunication) {\n <button (click)=\"doCommunication()\" kendoButton class=\"k-button-solid-base list-button\">\n <span class=\"fa-regular fa-envelope\"></span>\n </button> \n }\n\n @if(showRefreshButton){\n <button kendoButton class=\"list-button\" (click)=\"RefreshFromSavedParams()\">\n <span class=\"fa-solid fa-arrows-rotate\"></span>\n Refresh\n </button>\n }\n }\n @if(duplicateMode){\n <button (click)=\"enableCheckbox(false, 'duplicate')\" [disabled]=\"duplicateMode && recordsToCompare.length < 2\" kendoButton class=\"k-button-solid-base list-button\">\n Search For Duplicates\n </button>\n }\n @if(addToListMode){\n <button (click)=\"enableCheckbox(false, 'addToList')\" [disabled]=\"addToListMode && recordsToCompare.length === 0\" kendoButton class=\"k-button-solid-base list-button\">\n Add To List\n </button>\n }\n @if(compareMode){\n <button (click)=\"enableMergeOrCompare(false, 'compare')\" [disabled]=\"compareMode && recordsToCompare.length < 2\" kendoButton class=\"k-button-solid-base list-button\">\n Compare\n </button>\n }\n @if(mergeMode){\n <button (click)=\"enableMergeOrCompare(false, 'merge')\" [disabled]=\"mergeMode && recordsToCompare.length < 2\" kendoButton class=\"k-button-solid-base list-button\">\n Merge\n </button>\n }\n @if(anyModeEnabled){\n <button (click)=\"enableCheckbox(true, '')\" kendoButton class=\"k-button-solid-base list-button\">\n Cancel\n </button>\n }\n </ng-template>\n \n <kendo-grid-checkbox-column \n *ngIf=\"anyModeEnabled\" \n [width]=\"50\" \n [headerStyle]=\"{ 'font-weight' : 'bold', 'background-color': 'white' }\" \n [style]=\"{'text-align': 'center', 'vertical-align': 'center'}\">\n </kendo-grid-checkbox-column>\n \n <kendo-grid-column \n *ngFor=\"let item of visibleColumns\" \n [field]=\"item.Name\" \n [title]=\"GetColumnTitle(item)\"\n [width]=\"item.width ? item.width : 100\"\n [editable]=\"item.EntityField.AllowUpdateAPI\"\n [editor]=\"getEditor(item.EntityField)\"\n [headerStyle]=\"{ 'font-weight' : 'bold', 'background-color': 'white' }\"\n [style]=\"this.GetColumnCellStyle(item)\"\n >\n <ng-template *ngIf=\"item===visibleColumns[0]\" kendoGridFooterTemplate >\n {{this.viewData.length | number}}{{this.totalRowCount > this.viewData.length ? ' of ' + (this.totalRowCount | number) : ' rows'}}<br/><span style=\"font-size: smaller; font-weight: normal;\">{{viewExecutionTime | number:'1.2-2'}} seconds</span>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-excelexport #excelExport [data]=\"exportData\" [fileName]=\"(_viewEntity ? _viewEntity.Get('Name') : _entityInfo?.Name) + '.xlsx'\">\n <kendo-excelexport-column *ngFor=\"let exportCol of exportColumns\" [field]=\"exportCol.Name\" [title]=\"exportCol.Name\">\n </kendo-excelexport-column>\n </kendo-excelexport>\n </kendo-grid>\n\n \n <div #compareDialogContainer>\n <div *ngIf=\"isCompareDialogOpened\">\n <div class=\"k-overlay\"></div>\n <kendo-window\n [minHeight]=\"300\"\n [minWidth]=\"800\"\n [top]=\"100\"\n [left]=\"100\"\n [width]=\"1200\"\n [height]=\"675\"\n [resizable]=\"true\"\n (close)=\"closeCompareDialog($event)\"\n title=\"Compare Records\"\n *ngIf=\"isCompareDialogOpened\"\n >\n <div mjFillContainer [fillHeight]=\"true\" [bottomMargin]=\"100\">\n <mj-compare-records\n #recordCompareRef\n [entityName]=\"_entityInfo ? _entityInfo.Name : ''\"\n [recordsToCompare]=\"recordsToCompare\" \n [visibleColumns]=\"visibleColumns\" \n [selectionMode]=\"mergeMode ? true : false\"\n >\n </mj-compare-records>\n </div>\n <div class=\"k-actions k-actions-end\">\n <button *ngIf=\"mergeMode\" kendoButton themeColor=\"primary\" type=\"button\" (click)=\"closeCompareDialog('merge')\">\n Merge Records\n </button>\n <button *ngIf=\"duplicateMode\" kendoButton themeColor=\"primary\" type=\"button\" (click)=\"findDuplicateRecords()\">\n Search for Duplicates\n </button>\n <button *ngIf=\"compareMode\" kendoButton type=\"button\" (click)=\"closeCompareDialog('close')\">\n Close\n </button>\n <button *ngIf=\"mergeMode || duplicateMode\" kendoButton type=\"button\" (click)=\"closeCompareDialog('cancel')\">\n Cancel\n </button>\n </div> \n <kendo-dialog\n title=\"Confirm Choice\"\n *ngIf=\"isConfirmDialogOpen\"\n (close)=\"closeConfirmMergeDialog('cancel')\"\n [minWidth]=\"250\"\n [width]=\"450\"\n >\n <p style=\"margin: 30px; text-align: center;\">\n Are you sure you want to merge the records? This action cannot be undone. If you select \"Yes\", the records will be merged and the duplicate records will be deleted.\n </p>\n <kendo-dialog-actions>\n <button kendoButton (click)=\"closeConfirmMergeDialog('no')\">No</button>\n <button kendoButton (click)=\"closeConfirmMergeDialog('yes')\" themeColor=\"primary\">\n Yes\n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n </kendo-window>\n </div> \n </div>\n <kendo-dialog\n class=\"dialog-wrapper\"\n title=\"Select List(s) To Add Record(s) To\"\n *ngIf=\"showAddToListDialog\"\n (close)=\"toggleAddToListDialog(false)\"\n [minHeight]=\"500\"\n [maxHeight]=\"500\"\n [minWidth]=\"500\"\n [maxWidth]=\"650\"\n >\n <div class=\"search-header\">\n <kendo-textbox\n id=\"listSearch\"\n placeholder=\"Search Lists...\"\n kendoTextBox\n (valueChange)=\"onSearch($event)\"\n [clearButton]=\"true\"\n class=\"search-bar\"\n ></kendo-textbox>\n </div>\n <hr>\n <div class=\"overflow-y-scroll\">\n @if(showAddToListLoader){\n <kendo-loader type=\"converging-spinner\"></kendo-loader>\n }\n @else {\n @for(listEntity of listEntities; track listEntity){\n <div class=\"list-item\">\n <div class=\"list-text\" [ngClass]=\"{'list-selected': selectedListEntities.includes(listEntity)}\">\n {{listEntity.Name}}\n </div>\n @if(selectedListEntities.includes(listEntity)){\n <button kendoButton class=\"btn-no-border btn-selected\" (click)=\"removeFromList(listEntity)\">\n <span class=\"fa-solid fa-minus\"></span>\n Remove\n </button>\n }\n @else {\n <button kendoButton class=\"btn-no-border\" (click)=\"addToList(listEntity)\">\n <div class=\"btn-margin-right\">\n <span class=\"fa-solid fa-plus\"></span>\n Add\n </div>\n </button>\n }\n </div>\n <hr>\n }\n }\n </div>\n\n\n <kendo-dialog-actions>\n <button kendoButton (click)=\"addRecordsToSelectedLists()\" [disabled]=\"showAddToListLoader\" themeColor=\"primary\">\n Save\n </button>\n <button kendoButton (click)=\"toggleAddToListDialog(false)\" [disabled]=\"showAddToListLoader\">\n Cancel\n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n\n <!-- Entity Form Dialog Component here for future use as needed -->\n <mj-entity-form-dialog\n #entityFormDialog\n Mode=\"complete\"\n [Visible]=\"showNewRecordDialog\"\n ></mj-entity-form-dialog>\n\n <mj-entity-communications-preview-window \n #templatePreviewDialog\n [DialogVisible]=\"showTemplatePreviewDialog\"\n (DialogClosed)=\"showTemplatePreviewDialog = false\"\n [entityInfo]=\"_entityInfo\"\n [runViewParams]=\"Params\"\n >\n </mj-entity-communications-preview-window> \n\n }\n</div>\n", styles: [".user-view-grid-wrap {\n height: calc(100vh - 20px);\n}\n\n.user-view-grid-column-header {\n background-color: #fff;\n font-size: 20pt;\n font-weight: bold;\n}\n\n.title-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 0;\n border-bottom: 1px solid var(--med-gray);\n}\n .title-wrapper h4 {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n }\n .main-fav-wrapper {\n background: #fff;\n padding: 20px;\n }\n .filter-wrapper {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\n .title-wrapper .search input {\n width: 100%;\n height: 100%;\n font-size: 16px;\n background: transparent;\n border: none;\n box-sizing: border-box;\n padding-left: 40px;\n\n }\n .title-wrapper .search {\n background: var(--light-shade);\n width: 360px;\n height: 44px;\n position: relative;\n border-radius: 10px;\n }\n .title-wrapper .search svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 12px;\n}\n.k-table-td {\n border-right: none !important;\n}.btn-cmn {\n width: 44px;\n height: 44px;\n min-width: 44px;\n background: transparent;\n border-radius: 8px;\n border: 1px solid var(--gray-color);\n}\n.btn-cmn.active {\n border: 1px solid var(--border-blue);\n}\n::ng-deep .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px; padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n::ng-deep .user-view-grid-wrap .k-grid-aria-root .k-grid-header .k-grid-header-table thead tr th {\n border-right: none;\n border-inline-start-width: 0;\n color: var(--thead-color);\n}\n::ng-deep .user-view-grid-wrap .k-grid-aria-root kendo-grid-list .k-grid-table tbody tr td { \n border-inline-start-width: 0;\n color: var(--tdata-color);\n font-weight: 500;\n border-bottom-width: 1px;\n} \n\n.overflow-y-scroll {\n overflow-y: auto;\n max-height: 300px;\n}\n\n.padding-bottom-small {\n padding-bottom: 10px;\n}\n\n.list-item {\n display: flex;\n justify-content: space-between;\n padding-bottom: 5px;\n align-items: center;\n}\n\n.btn-no-border {\n border: none;\n background: none;\n color: var(--border-blue);\n font-size: 16px;\n font-weight: 500;\n cursor: pointer;\n}\n\n.btn-selected {\n font-weight: bold;\n}\n\n.list-text {\n font-size: large;\n}\n.list-selected {\n font-weight: bold;\n color: var(--border-blue);\n}\n\n.btn-margin-right {\n margin-right: 35px;\n}\n\n.divider {\n color: lightgray\n}\n\n.search-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 0;\n}\n\n.search-bar {\n width: 65%;\n padding-bottom: 10px;\n}\n\n.dialog-wrapper {\n padding: 15px 25px;\n}\n\n.btn-outline {\n border: 2px solid var(--border-blue);\n border-radius: 8px;\n padding: 5px 30px;\n\n background: none;\n color: var(--border-blue);\n font-size: 16px;\n font-weight: 500;\n cursor: pointer;\n}"] }]
1509
1516
  }], () => [{ type: i0.ElementRef }, { type: i1.FormBuilder }, { type: i2.Router }, { type: i0.Renderer2 }], { Params: [{
1510
1517
  type: Input
1511
1518
  }], BottomMargin: [{