@memberjunction/ng-user-view-grid 2.120.0 → 2.122.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.
@@ -1,5 +1,5 @@
1
1
  import { Component, ViewChild, ElementRef, Output, EventEmitter, Input } from '@angular/core';
2
- import { Metadata, RunView, EntityFieldTSType, LogError, CompositeKey, PotentialDuplicateRequest, FieldValueCollection } from '@memberjunction/core';
2
+ import { Metadata, RunView, EntityFieldTSType, LogError, CompositeKey, PotentialDuplicateRequest } from '@memberjunction/core';
3
3
  import { ViewInfo, ResourcePermissionEngine } from '@memberjunction/core-entities';
4
4
  import { GridComponent } from "@progress/kendo-angular-grid";
5
5
  import { Keys } from '@progress/kendo-angular-common';
@@ -18,7 +18,7 @@ import { GraphQLActionClient } from '@memberjunction/graphql-dataprovider';
18
18
  import { LoadEntityCommunicationsEngineClient } from '@memberjunction/entity-communications-client';
19
19
  import * as i0 from "@angular/core";
20
20
  import * as i1 from "@angular/forms";
21
- import * as i2 from "@angular/router";
21
+ import * as i2 from "@memberjunction/ng-shared";
22
22
  import * as i3 from "@angular/common";
23
23
  import * as i4 from "@progress/kendo-angular-grid";
24
24
  import * as i5 from "@progress/kendo-angular-dialog";
@@ -27,8 +27,8 @@ import * as i7 from "@progress/kendo-angular-buttons";
27
27
  import * as i8 from "@memberjunction/ng-compare-records";
28
28
  import * as i9 from "@progress/kendo-angular-inputs";
29
29
  import * as i10 from "@memberjunction/ng-entity-form-dialog";
30
- import * as i11 from "@progress/kendo-angular-indicators";
31
- import * as i12 from "@memberjunction/ng-entity-communications";
30
+ import * as i11 from "@memberjunction/ng-entity-communications";
31
+ import * as i12 from "@memberjunction/ng-shared-generic";
32
32
  const _c0 = ["kendoGrid"];
33
33
  const _c1 = ["excelExport"];
34
34
  const _c2 = ["recordCompareRef"];
@@ -41,38 +41,44 @@ const _c8 = () => ({ "font-weight": "bold", "background-color": "white" });
41
41
  const _c9 = a0 => ({ "list-selected": a0 });
42
42
  function UserViewGridComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
43
43
  i0.ɵɵelementStart(0, "div", 7);
44
- i0.ɵɵelement(1, "kendo-loader");
44
+ i0.ɵɵelement(1, "mj-loading", 8);
45
45
  i0.ɵɵelementEnd();
46
+ } if (rf & 2) {
47
+ i0.ɵɵadvance();
48
+ i0.ɵɵproperty("showText", false);
46
49
  } }
47
50
  function UserViewGridComponent_Conditional_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
48
- i0.ɵɵelementStart(0, "div", 8);
49
- i0.ɵɵelement(1, "kendo-loader");
51
+ i0.ɵɵelementStart(0, "div", 9);
52
+ i0.ɵɵelement(1, "mj-loading", 20);
50
53
  i0.ɵɵelementEnd();
54
+ } if (rf & 2) {
55
+ i0.ɵɵadvance();
56
+ i0.ɵɵproperty("showText", false);
51
57
  } }
52
58
  function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
53
59
  const _r4 = i0.ɵɵgetCurrentView();
54
- i0.ɵɵelementStart(0, "button", 35);
60
+ i0.ɵɵelementStart(0, "button", 37);
55
61
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_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", 36);
57
- i0.ɵɵelementStart(2, "span", 24);
62
+ i0.ɵɵelement(1, "span", 38);
63
+ i0.ɵɵelementStart(2, "span", 26);
58
64
  i0.ɵɵtext(3, "New");
59
65
  i0.ɵɵelementEnd()();
60
66
  } }
61
67
  function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_21_Template(rf, ctx) { if (rf & 1) {
62
68
  const _r5 = i0.ɵɵgetCurrentView();
63
- i0.ɵɵelementStart(0, "button", 37);
69
+ i0.ɵɵelementStart(0, "button", 39);
64
70
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_21_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.doCommunication()); });
65
- i0.ɵɵelement(1, "span", 38);
66
- i0.ɵɵelementStart(2, "span", 24);
71
+ i0.ɵɵelement(1, "span", 40);
72
+ i0.ɵɵelementStart(2, "span", 26);
67
73
  i0.ɵɵtext(3, "Send Message");
68
74
  i0.ɵɵelementEnd()();
69
75
  } }
70
76
  function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_22_For_1_Template(rf, ctx) { if (rf & 1) {
71
77
  const _r6 = i0.ɵɵgetCurrentView();
72
- i0.ɵɵelementStart(0, "button", 40);
78
+ i0.ɵɵelementStart(0, "button", 42);
73
79
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_22_For_1_Template_button_click_0_listener() { const action_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.doEntityAction(action_r7)); });
74
- i0.ɵɵelement(1, "span", 41);
75
- i0.ɵɵelementStart(2, "span", 24);
80
+ i0.ɵɵelement(1, "span", 43);
81
+ i0.ɵɵelementStart(2, "span", 26);
76
82
  i0.ɵɵtext(3);
77
83
  i0.ɵɵelementEnd()();
78
84
  } if (rf & 2) {
@@ -82,54 +88,54 @@ function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditi
82
88
  i0.ɵɵtextInterpolate(action_r7.Action);
83
89
  } }
84
90
  function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
85
- i0.ɵɵrepeaterCreate(0, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_22_For_1_Template, 4, 2, "button", 39, i0.ɵɵrepeaterTrackByIdentity);
91
+ i0.ɵɵrepeaterCreate(0, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_22_For_1_Template, 4, 2, "button", 41, i0.ɵɵrepeaterTrackByIdentity);
86
92
  } if (rf & 2) {
87
93
  const ctx_r1 = i0.ɵɵnextContext(4);
88
94
  i0.ɵɵrepeater(ctx_r1.EntityActions);
89
95
  } }
90
96
  function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_23_Template(rf, ctx) { if (rf & 1) {
91
97
  const _r8 = i0.ɵɵgetCurrentView();
92
- i0.ɵɵelementStart(0, "button", 42);
98
+ i0.ɵɵelementStart(0, "button", 44);
93
99
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_23_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.RefreshFromSavedParams()); });
94
- i0.ɵɵelement(1, "span", 43);
95
- i0.ɵɵelementStart(2, "span", 24);
100
+ i0.ɵɵelement(1, "span", 45);
101
+ i0.ɵɵelementStart(2, "span", 26);
96
102
  i0.ɵɵtext(3, "Refresh");
97
103
  i0.ɵɵelementEnd()();
98
104
  } }
99
105
  function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
100
106
  const _r3 = i0.ɵɵgetCurrentView();
101
- i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_0_Template, 4, 0, "button", 21);
102
- i0.ɵɵelementStart(1, "button", 22);
107
+ i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_0_Template, 4, 0, "button", 23);
108
+ i0.ɵɵelementStart(1, "button", 24);
103
109
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.doExcelExport()); });
104
- i0.ɵɵelement(2, "span", 23);
105
- i0.ɵɵelementStart(3, "span", 24);
110
+ i0.ɵɵelement(2, "span", 25);
111
+ i0.ɵɵelementStart(3, "span", 26);
106
112
  i0.ɵɵtext(4, "Export to Excel");
107
113
  i0.ɵɵelementEnd()();
108
- i0.ɵɵelementStart(5, "button", 25);
114
+ i0.ɵɵelementStart(5, "button", 27);
109
115
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableCheckbox(false, "duplicate")); });
110
- i0.ɵɵelement(6, "span", 26);
111
- i0.ɵɵelementStart(7, "span", 24);
116
+ i0.ɵɵelement(6, "span", 28);
117
+ i0.ɵɵelementStart(7, "span", 26);
112
118
  i0.ɵɵtext(8, "Search For Duplicates");
113
119
  i0.ɵɵelementEnd()();
114
- i0.ɵɵelementStart(9, "button", 27);
120
+ i0.ɵɵelementStart(9, "button", 29);
115
121
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableCheckbox(false, "addToList")); });
116
- i0.ɵɵelement(10, "span", 28);
117
- i0.ɵɵelementStart(11, "span", 24);
122
+ i0.ɵɵelement(10, "span", 30);
123
+ i0.ɵɵelementStart(11, "span", 26);
118
124
  i0.ɵɵtext(12, "Add To List");
119
125
  i0.ɵɵelementEnd()();
120
- i0.ɵɵelementStart(13, "button", 29);
126
+ i0.ɵɵelementStart(13, "button", 31);
121
127
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableMergeOrCompare(false, "merge")); });
122
- i0.ɵɵelement(14, "span", 30);
123
- i0.ɵɵelementStart(15, "span", 24);
128
+ i0.ɵɵelement(14, "span", 32);
129
+ i0.ɵɵelementStart(15, "span", 26);
124
130
  i0.ɵɵtext(16, "Merge");
125
131
  i0.ɵɵelementEnd()();
126
- i0.ɵɵelementStart(17, "button", 31);
132
+ i0.ɵɵelementStart(17, "button", 33);
127
133
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Template_button_click_17_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableMergeOrCompare(false, "compare")); });
128
- i0.ɵɵelement(18, "span", 32);
129
- i0.ɵɵelementStart(19, "span", 24);
134
+ i0.ɵɵelement(18, "span", 34);
135
+ i0.ɵɵelementStart(19, "span", 26);
130
136
  i0.ɵɵtext(20, "Compare");
131
137
  i0.ɵɵelementEnd()();
132
- i0.ɵɵtemplate(21, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_21_Template, 4, 0, "button", 33)(22, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_22_Template, 2, 0)(23, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_23_Template, 4, 0, "button", 34);
138
+ i0.ɵɵtemplate(21, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_21_Template, 4, 0, "button", 35)(22, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_22_Template, 2, 0)(23, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Conditional_23_Template, 4, 0, "button", 36);
133
139
  } if (rf & 2) {
134
140
  const ctx_r1 = i0.ɵɵnextContext(3);
135
141
  i0.ɵɵconditional(ctx_r1.EntityInfo && ctx_r1.ShowCreateNewRecordButton && ctx_r1.UserCanCreateNewRecord ? 0 : -1);
@@ -142,10 +148,10 @@ function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Templat
142
148
  } }
143
149
  function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
144
150
  const _r9 = i0.ɵɵgetCurrentView();
145
- i0.ɵɵelementStart(0, "button", 44);
151
+ i0.ɵɵelementStart(0, "button", 46);
146
152
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableCheckbox(false, "duplicate")); });
147
- i0.ɵɵelement(1, "span", 26);
148
- i0.ɵɵelementStart(2, "span", 24);
153
+ i0.ɵɵelement(1, "span", 28);
154
+ i0.ɵɵelementStart(2, "span", 26);
149
155
  i0.ɵɵtext(3, "Search For Duplicates");
150
156
  i0.ɵɵelementEnd()();
151
157
  } if (rf & 2) {
@@ -154,10 +160,10 @@ function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_1_Templat
154
160
  } }
155
161
  function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
156
162
  const _r10 = i0.ɵɵgetCurrentView();
157
- i0.ɵɵelementStart(0, "button", 44);
163
+ i0.ɵɵelementStart(0, "button", 46);
158
164
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableCheckbox(false, "addToList")); });
159
- i0.ɵɵelement(1, "span", 28);
160
- i0.ɵɵelementStart(2, "span", 24);
165
+ i0.ɵɵelement(1, "span", 30);
166
+ i0.ɵɵelementStart(2, "span", 26);
161
167
  i0.ɵɵtext(3, "Add To List");
162
168
  i0.ɵɵelementEnd()();
163
169
  } if (rf & 2) {
@@ -166,10 +172,10 @@ function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_2_Templat
166
172
  } }
167
173
  function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_3_Template(rf, ctx) { if (rf & 1) {
168
174
  const _r11 = i0.ɵɵgetCurrentView();
169
- i0.ɵɵelementStart(0, "button", 44);
175
+ i0.ɵɵelementStart(0, "button", 46);
170
176
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableMergeOrCompare(false, "compare")); });
171
- i0.ɵɵelement(1, "span", 32);
172
- i0.ɵɵelementStart(2, "span", 24);
177
+ i0.ɵɵelement(1, "span", 34);
178
+ i0.ɵɵelementStart(2, "span", 26);
173
179
  i0.ɵɵtext(3, "Compare");
174
180
  i0.ɵɵelementEnd()();
175
181
  } if (rf & 2) {
@@ -178,10 +184,10 @@ function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_3_Templat
178
184
  } }
179
185
  function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_4_Template(rf, ctx) { if (rf & 1) {
180
186
  const _r12 = i0.ɵɵgetCurrentView();
181
- i0.ɵɵelementStart(0, "button", 44);
187
+ i0.ɵɵelementStart(0, "button", 46);
182
188
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableMergeOrCompare(false, "merge")); });
183
- i0.ɵɵelement(1, "span", 30);
184
- i0.ɵɵelementStart(2, "span", 24);
189
+ i0.ɵɵelement(1, "span", 32);
190
+ i0.ɵɵelementStart(2, "span", 26);
185
191
  i0.ɵɵtext(3, "Merge");
186
192
  i0.ɵɵelementEnd()();
187
193
  } if (rf & 2) {
@@ -190,15 +196,15 @@ function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_4_Templat
190
196
  } }
191
197
  function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_5_Template(rf, ctx) { if (rf & 1) {
192
198
  const _r13 = i0.ɵɵgetCurrentView();
193
- i0.ɵɵelementStart(0, "button", 45);
199
+ i0.ɵɵelementStart(0, "button", 47);
194
200
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_ng_template_3_Conditional_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.enableCheckbox(true, "")); });
195
- i0.ɵɵelement(1, "span", 46);
196
- i0.ɵɵelementStart(2, "span", 24);
201
+ i0.ɵɵelement(1, "span", 48);
202
+ i0.ɵɵelementStart(2, "span", 26);
197
203
  i0.ɵɵtext(3, "Cancel");
198
204
  i0.ɵɵelementEnd()();
199
205
  } }
200
206
  function UserViewGridComponent_Conditional_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
201
- i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Template, 24, 4)(1, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_1_Template, 4, 1, "button", 19)(2, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_2_Template, 4, 1, "button", 19)(3, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_3_Template, 4, 1, "button", 19)(4, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_4_Template, 4, 1, "button", 19)(5, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_5_Template, 4, 0, "button", 20);
207
+ i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_0_Template, 24, 4)(1, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_1_Template, 4, 1, "button", 21)(2, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_2_Template, 4, 1, "button", 21)(3, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_3_Template, 4, 1, "button", 21)(4, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_4_Template, 4, 1, "button", 21)(5, UserViewGridComponent_Conditional_2_ng_template_3_Conditional_5_Template, 4, 0, "button", 22);
202
208
  } if (rf & 2) {
203
209
  const ctx_r1 = i0.ɵɵnextContext(2);
204
210
  i0.ɵɵconditional(!ctx_r1.anyModeEnabled ? 0 : -1);
@@ -214,7 +220,7 @@ function UserViewGridComponent_Conditional_2_ng_template_3_Template(rf, ctx) { i
214
220
  i0.ɵɵconditional(ctx_r1.anyModeEnabled ? 5 : -1);
215
221
  } }
216
222
  function UserViewGridComponent_Conditional_2_kendo_grid_checkbox_column_4_Template(rf, ctx) { if (rf & 1) {
217
- i0.ɵɵelement(0, "kendo-grid-checkbox-column", 47);
223
+ i0.ɵɵelement(0, "kendo-grid-checkbox-column", 49);
218
224
  } if (rf & 2) {
219
225
  i0.ɵɵstyleMap(i0.ɵɵpureFunction0(4, _c7));
220
226
  i0.ɵɵproperty("width", 50)("headerStyle", i0.ɵɵpureFunction0(5, _c8));
@@ -224,7 +230,7 @@ function UserViewGridComponent_Conditional_2_kendo_grid_column_5_1_ng_template_0
224
230
  i0.ɵɵpipe(1, "number");
225
231
  i0.ɵɵpipe(2, "number");
226
232
  i0.ɵɵelement(3, "br");
227
- i0.ɵɵelementStart(4, "span", 50);
233
+ i0.ɵɵelementStart(4, "span", 52);
228
234
  i0.ɵɵtext(5);
229
235
  i0.ɵɵpipe(6, "number");
230
236
  i0.ɵɵelementEnd();
@@ -235,11 +241,11 @@ function UserViewGridComponent_Conditional_2_kendo_grid_column_5_1_ng_template_0
235
241
  i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(6, 7, ctx_r1.viewExecutionTime, "1.2-2"), " seconds");
236
242
  } }
237
243
  function UserViewGridComponent_Conditional_2_kendo_grid_column_5_1_Template(rf, ctx) { if (rf & 1) {
238
- i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_kendo_grid_column_5_1_ng_template_0_Template, 7, 10, "ng-template", 49);
244
+ i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_kendo_grid_column_5_1_ng_template_0_Template, 7, 10, "ng-template", 51);
239
245
  } }
240
246
  function UserViewGridComponent_Conditional_2_kendo_grid_column_5_Template(rf, ctx) { if (rf & 1) {
241
- i0.ɵɵelementStart(0, "kendo-grid-column", 48);
242
- i0.ɵɵtemplate(1, UserViewGridComponent_Conditional_2_kendo_grid_column_5_1_Template, 1, 0, null, 15);
247
+ i0.ɵɵelementStart(0, "kendo-grid-column", 50);
248
+ i0.ɵɵtemplate(1, UserViewGridComponent_Conditional_2_kendo_grid_column_5_1_Template, 1, 0, null, 16);
243
249
  i0.ɵɵelementEnd();
244
250
  } if (rf & 2) {
245
251
  const item_r14 = ctx.$implicit;
@@ -250,51 +256,51 @@ function UserViewGridComponent_Conditional_2_kendo_grid_column_5_Template(rf, ct
250
256
  i0.ɵɵproperty("ngIf", item_r14 === ctx_r1.visibleColumns[0]);
251
257
  } }
252
258
  function UserViewGridComponent_Conditional_2_kendo_excelexport_column_8_Template(rf, ctx) { if (rf & 1) {
253
- i0.ɵɵelement(0, "kendo-excelexport-column", 51);
259
+ i0.ɵɵelement(0, "kendo-excelexport-column", 53);
254
260
  } if (rf & 2) {
255
261
  const exportCol_r15 = ctx.$implicit;
256
262
  i0.ɵɵproperty("field", exportCol_r15.Name)("title", exportCol_r15.Name);
257
263
  } }
258
264
  function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_5_Template(rf, ctx) { if (rf & 1) {
259
265
  const _r17 = i0.ɵɵgetCurrentView();
260
- i0.ɵɵelementStart(0, "button", 60);
266
+ i0.ɵɵelementStart(0, "button", 62);
261
267
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeCompareDialog("merge")); });
262
268
  i0.ɵɵtext(1, " Merge Records ");
263
269
  i0.ɵɵelementEnd();
264
270
  } }
265
271
  function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_6_Template(rf, ctx) { if (rf & 1) {
266
272
  const _r18 = i0.ɵɵgetCurrentView();
267
- i0.ɵɵelementStart(0, "button", 60);
273
+ i0.ɵɵelementStart(0, "button", 62);
268
274
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.findDuplicateRecords()); });
269
275
  i0.ɵɵtext(1, " Search for Duplicates ");
270
276
  i0.ɵɵelementEnd();
271
277
  } }
272
278
  function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_7_Template(rf, ctx) { if (rf & 1) {
273
279
  const _r19 = i0.ɵɵgetCurrentView();
274
- i0.ɵɵelementStart(0, "button", 61);
280
+ i0.ɵɵelementStart(0, "button", 63);
275
281
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeCompareDialog("close")); });
276
282
  i0.ɵɵtext(1, " Close ");
277
283
  i0.ɵɵelementEnd();
278
284
  } }
279
285
  function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_8_Template(rf, ctx) { if (rf & 1) {
280
286
  const _r20 = i0.ɵɵgetCurrentView();
281
- i0.ɵɵelementStart(0, "button", 61);
287
+ i0.ɵɵelementStart(0, "button", 63);
282
288
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeCompareDialog("cancel")); });
283
289
  i0.ɵɵtext(1, " Cancel ");
284
290
  i0.ɵɵelementEnd();
285
291
  } }
286
292
  function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_kendo_dialog_9_Template(rf, ctx) { if (rf & 1) {
287
293
  const _r21 = i0.ɵɵgetCurrentView();
288
- i0.ɵɵelementStart(0, "kendo-dialog", 62);
294
+ i0.ɵɵelementStart(0, "kendo-dialog", 64);
289
295
  i0.ɵɵlistener("close", function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_kendo_dialog_9_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeConfirmMergeDialog("cancel")); });
290
- i0.ɵɵelementStart(1, "p", 63);
296
+ i0.ɵɵelementStart(1, "p", 65);
291
297
  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. ");
292
298
  i0.ɵɵelementEnd();
293
- i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 45);
299
+ i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 47);
294
300
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_kendo_dialog_9_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r21); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeConfirmMergeDialog("no")); });
295
301
  i0.ɵɵtext(5, "No");
296
302
  i0.ɵɵelementEnd();
297
- i0.ɵɵelementStart(6, "button", 64);
303
+ i0.ɵɵelementStart(6, "button", 66);
298
304
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_kendo_dialog_9_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r21); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.closeConfirmMergeDialog("yes")); });
299
305
  i0.ɵɵtext(7, " Yes ");
300
306
  i0.ɵɵelementEnd()()();
@@ -303,15 +309,15 @@ function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_kendo_dialog_
303
309
  } }
304
310
  function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_Template(rf, ctx) { if (rf & 1) {
305
311
  const _r16 = i0.ɵɵgetCurrentView();
306
- i0.ɵɵelementStart(0, "kendo-window", 54);
312
+ i0.ɵɵelementStart(0, "kendo-window", 56);
307
313
  i0.ɵɵlistener("close", function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_Template_kendo_window_close_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.closeCompareDialog($event)); });
308
314
  i0.ɵɵelementStart(1, "div");
309
- i0.ɵɵelement(2, "mj-compare-records", 55, 5);
315
+ i0.ɵɵelement(2, "mj-compare-records", 57, 5);
310
316
  i0.ɵɵelementEnd();
311
- i0.ɵɵelementStart(4, "div", 56);
312
- i0.ɵɵtemplate(5, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_5_Template, 2, 0, "button", 57)(6, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_6_Template, 2, 0, "button", 57)(7, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_7_Template, 2, 0, "button", 58)(8, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_8_Template, 2, 0, "button", 58);
317
+ i0.ɵɵelementStart(4, "div", 58);
318
+ i0.ɵɵtemplate(5, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_5_Template, 2, 0, "button", 59)(6, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_6_Template, 2, 0, "button", 59)(7, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_7_Template, 2, 0, "button", 60)(8, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_button_8_Template, 2, 0, "button", 60);
313
319
  i0.ɵɵelementEnd();
314
- i0.ɵɵtemplate(9, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_kendo_dialog_9_Template, 8, 2, "kendo-dialog", 59);
320
+ i0.ɵɵtemplate(9, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_kendo_dialog_9_Template, 8, 2, "kendo-dialog", 61);
315
321
  i0.ɵɵelementEnd();
316
322
  } if (rf & 2) {
317
323
  const ctx_r1 = i0.ɵɵnextContext(3);
@@ -331,8 +337,8 @@ function UserViewGridComponent_Conditional_2_div_11_kendo_window_2_Template(rf,
331
337
  } }
332
338
  function UserViewGridComponent_Conditional_2_div_11_Template(rf, ctx) { if (rf & 1) {
333
339
  i0.ɵɵelementStart(0, "div");
334
- i0.ɵɵelement(1, "div", 52);
335
- i0.ɵɵtemplate(2, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_Template, 10, 16, "kendo-window", 53);
340
+ i0.ɵɵelement(1, "div", 54);
341
+ i0.ɵɵtemplate(2, UserViewGridComponent_Conditional_2_div_11_kendo_window_2_Template, 10, 16, "kendo-window", 55);
336
342
  i0.ɵɵelementEnd();
337
343
  } if (rf & 2) {
338
344
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -340,30 +346,32 @@ function UserViewGridComponent_Conditional_2_div_11_Template(rf, ctx) { if (rf &
340
346
  i0.ɵɵproperty("ngIf", ctx_r1.isCompareDialogOpened);
341
347
  } }
342
348
  function UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_5_Template(rf, ctx) { if (rf & 1) {
343
- i0.ɵɵelement(0, "kendo-loader", 69);
349
+ i0.ɵɵelement(0, "mj-loading", 20);
350
+ } if (rf & 2) {
351
+ i0.ɵɵproperty("showText", false);
344
352
  } }
345
353
  function UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_For_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
346
354
  const _r23 = i0.ɵɵgetCurrentView();
347
- i0.ɵɵelementStart(0, "button", 75);
355
+ i0.ɵɵelementStart(0, "button", 76);
348
356
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_For_1_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r23); const listEntity_r24 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.removeFromList(listEntity_r24)); });
349
- i0.ɵɵelement(1, "span", 76);
357
+ i0.ɵɵelement(1, "span", 77);
350
358
  i0.ɵɵtext(2, " Remove ");
351
359
  i0.ɵɵelementEnd();
352
360
  } }
353
361
  function UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_For_1_Conditional_4_Template(rf, ctx) { if (rf & 1) {
354
362
  const _r25 = i0.ɵɵgetCurrentView();
355
- i0.ɵɵelementStart(0, "button", 77);
363
+ i0.ɵɵelementStart(0, "button", 78);
356
364
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_For_1_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r25); const listEntity_r24 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.addToList(listEntity_r24)); });
357
- i0.ɵɵelementStart(1, "div", 78);
358
- i0.ɵɵelement(2, "span", 36);
365
+ i0.ɵɵelementStart(1, "div", 79);
366
+ i0.ɵɵelement(2, "span", 38);
359
367
  i0.ɵɵtext(3, " Add ");
360
368
  i0.ɵɵelementEnd()();
361
369
  } }
362
370
  function UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_For_1_Template(rf, ctx) { if (rf & 1) {
363
- i0.ɵɵelementStart(0, "div", 71)(1, "div", 72);
371
+ i0.ɵɵelementStart(0, "div", 72)(1, "div", 73);
364
372
  i0.ɵɵtext(2);
365
373
  i0.ɵɵelementEnd();
366
- i0.ɵɵtemplate(3, UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_For_1_Conditional_3_Template, 3, 0, "button", 73)(4, UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_For_1_Conditional_4_Template, 4, 0, "button", 74);
374
+ i0.ɵɵtemplate(3, UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_For_1_Conditional_3_Template, 3, 0, "button", 74)(4, UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_For_1_Conditional_4_Template, 4, 0, "button", 75);
367
375
  i0.ɵɵelementEnd();
368
376
  i0.ɵɵelement(5, "hr");
369
377
  } if (rf & 2) {
@@ -384,20 +392,20 @@ function UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_Templ
384
392
  } }
385
393
  function UserViewGridComponent_Conditional_2_kendo_dialog_12_Template(rf, ctx) { if (rf & 1) {
386
394
  const _r22 = i0.ɵɵgetCurrentView();
387
- i0.ɵɵelementStart(0, "kendo-dialog", 65);
395
+ i0.ɵɵelementStart(0, "kendo-dialog", 67);
388
396
  i0.ɵɵlistener("close", function UserViewGridComponent_Conditional_2_kendo_dialog_12_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r22); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleAddToListDialog(false)); });
389
- i0.ɵɵelementStart(1, "div", 66)(2, "kendo-textbox", 67);
397
+ i0.ɵɵelementStart(1, "div", 68)(2, "kendo-textbox", 69);
390
398
  i0.ɵɵlistener("valueChange", function UserViewGridComponent_Conditional_2_kendo_dialog_12_Template_kendo_textbox_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onSearch($event)); });
391
399
  i0.ɵɵelementEnd()();
392
400
  i0.ɵɵelement(3, "hr");
393
- i0.ɵɵelementStart(4, "div", 68);
394
- i0.ɵɵtemplate(5, UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_5_Template, 1, 0, "kendo-loader", 69)(6, UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_Template, 2, 0);
401
+ i0.ɵɵelementStart(4, "div", 70);
402
+ i0.ɵɵtemplate(5, UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_5_Template, 1, 1, "mj-loading", 20)(6, UserViewGridComponent_Conditional_2_kendo_dialog_12_Conditional_6_Template, 2, 0);
395
403
  i0.ɵɵelementEnd();
396
- i0.ɵɵelementStart(7, "kendo-dialog-actions")(8, "button", 70);
404
+ i0.ɵɵelementStart(7, "kendo-dialog-actions")(8, "button", 71);
397
405
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_kendo_dialog_12_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r22); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.addRecordsToSelectedLists()); });
398
406
  i0.ɵɵtext(9, " Save ");
399
407
  i0.ɵɵelementEnd();
400
- i0.ɵɵelementStart(10, "button", 44);
408
+ i0.ɵɵelementStart(10, "button", 46);
401
409
  i0.ɵɵlistener("click", function UserViewGridComponent_Conditional_2_kendo_dialog_12_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r22); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleAddToListDialog(false)); });
402
410
  i0.ɵɵtext(11, " Cancel ");
403
411
  i0.ɵɵelementEnd()()();
@@ -415,21 +423,21 @@ function UserViewGridComponent_Conditional_2_kendo_dialog_12_Template(rf, ctx) {
415
423
  } }
416
424
  function UserViewGridComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
417
425
  const _r1 = i0.ɵɵgetCurrentView();
418
- i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_Conditional_0_Template, 2, 0, "div", 8);
419
- i0.ɵɵelementStart(1, "kendo-grid", 9, 0);
426
+ i0.ɵɵtemplate(0, UserViewGridComponent_Conditional_2_Conditional_0_Template, 2, 1, "div", 9);
427
+ i0.ɵɵelementStart(1, "kendo-grid", 10, 0);
420
428
  i0.ɵɵlistener("pageChange", function UserViewGridComponent_Conditional_2_Template_kendo_grid_pageChange_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pageChange($event)); });
421
429
  i0.ɵɵtwoWayListener("selectedKeysChange", function UserViewGridComponent_Conditional_2_Template_kendo_grid_selectedKeysChange_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.selectedKeys, $event) || (ctx_r1.selectedKeys = $event); return i0.ɵɵresetView($event); });
422
430
  i0.ɵɵlistener("cellClick", function UserViewGridComponent_Conditional_2_Template_kendo_grid_cellClick_1_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_1_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_1_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_1_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_1_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_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.sortChanged($event)); });
423
- i0.ɵɵtemplate(3, UserViewGridComponent_Conditional_2_ng_template_3_Template, 6, 6, "ng-template", 10)(4, UserViewGridComponent_Conditional_2_kendo_grid_checkbox_column_4_Template, 1, 6, "kendo-grid-checkbox-column", 11)(5, UserViewGridComponent_Conditional_2_kendo_grid_column_5_Template, 2, 10, "kendo-grid-column", 12);
424
- i0.ɵɵelementStart(6, "kendo-excelexport", 13, 1);
425
- i0.ɵɵtemplate(8, UserViewGridComponent_Conditional_2_kendo_excelexport_column_8_Template, 1, 2, "kendo-excelexport-column", 14);
431
+ i0.ɵɵtemplate(3, UserViewGridComponent_Conditional_2_ng_template_3_Template, 6, 6, "ng-template", 11)(4, UserViewGridComponent_Conditional_2_kendo_grid_checkbox_column_4_Template, 1, 6, "kendo-grid-checkbox-column", 12)(5, UserViewGridComponent_Conditional_2_kendo_grid_column_5_Template, 2, 10, "kendo-grid-column", 13);
432
+ i0.ɵɵelementStart(6, "kendo-excelexport", 14, 1);
433
+ i0.ɵɵtemplate(8, UserViewGridComponent_Conditional_2_kendo_excelexport_column_8_Template, 1, 2, "kendo-excelexport-column", 15);
426
434
  i0.ɵɵelementEnd()();
427
435
  i0.ɵɵelementStart(9, "div", null, 2);
428
- i0.ɵɵtemplate(11, UserViewGridComponent_Conditional_2_div_11_Template, 3, 1, "div", 15);
436
+ i0.ɵɵtemplate(11, UserViewGridComponent_Conditional_2_div_11_Template, 3, 1, "div", 16);
429
437
  i0.ɵɵelementEnd();
430
- i0.ɵɵtemplate(12, UserViewGridComponent_Conditional_2_kendo_dialog_12_Template, 12, 8, "kendo-dialog", 16);
431
- i0.ɵɵelement(13, "mj-entity-form-dialog", 17, 3);
432
- i0.ɵɵelementStart(15, "mj-entity-communications-preview-window", 18, 4);
438
+ i0.ɵɵtemplate(12, UserViewGridComponent_Conditional_2_kendo_dialog_12_Template, 12, 8, "kendo-dialog", 17);
439
+ i0.ɵɵelement(13, "mj-entity-form-dialog", 18, 3);
440
+ i0.ɵɵelementStart(15, "mj-entity-communications-preview-window", 19, 4);
433
441
  i0.ɵɵlistener("DialogClosed", function UserViewGridComponent_Conditional_2_Template_mj_entity_communications_preview_window_DialogClosed_15_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.showTemplatePreviewDialog = false); });
434
442
  i0.ɵɵelementEnd();
435
443
  } if (rf & 2) {
@@ -460,13 +468,30 @@ LoadEntityCommunicationsEngineClient();
460
468
  export class UserViewGridComponent {
461
469
  elementRef;
462
470
  formBuilder;
463
- router;
471
+ navigationService;
464
472
  renderer;
465
473
  title = 'UserViewGrid';
466
474
  /**
467
- * Parameters for running the view
475
+ * Parameters for running the view.
476
+ * When this changes, the grid will automatically refresh if AutoRefreshOnParamsChange is true.
477
+ */
478
+ _params;
479
+ get Params() {
480
+ return this._params;
481
+ }
482
+ set Params(value) {
483
+ const paramsChanged = this.hasParamsChanged(this._params, value);
484
+ this._params = value;
485
+ // Auto-refresh when params change (after initial load)
486
+ if (paramsChanged && this.AutoRefreshOnParamsChange && !this.neverLoaded) {
487
+ this.Refresh(value);
488
+ }
489
+ }
490
+ /**
491
+ * If set to true (default), the grid will automatically refresh when Params input changes.
492
+ * Set to false if you want to manually control refresh timing.
468
493
  */
469
- Params;
494
+ AutoRefreshOnParamsChange = true;
470
495
  BottomMargin = 0;
471
496
  /**
472
497
  * Height of the grid. Can be:
@@ -667,10 +692,10 @@ export class UserViewGridComponent {
667
692
  LogError(e);
668
693
  }
669
694
  }
670
- constructor(elementRef, formBuilder, router, renderer) {
695
+ constructor(elementRef, formBuilder, navigationService, renderer) {
671
696
  this.elementRef = elementRef;
672
697
  this.formBuilder = formBuilder;
673
- this.router = router;
698
+ this.navigationService = navigationService;
674
699
  this.renderer = renderer;
675
700
  }
676
701
  _saveTimeout;
@@ -842,20 +867,8 @@ export class UserViewGridComponent {
842
867
  }
843
868
  }
844
869
  if (this.EditMode === 'None' && this.AutoNavigate) {
845
- // tell app router to go to this record
846
- let decodedUrl = decodeURIComponent(this.router.url).slice(1);
847
- if (decodedUrl.includes('?')) {
848
- decodedUrl = decodedUrl.split('?')[0];
849
- }
850
- const newURL = ['resource', 'record', compositeKey.ToURLSegment()];
851
- const newURLString = newURL.join('/');
852
- if (newURLString === decodedUrl) {
853
- // we have to force the router to change its state otherwise the next line below won't do anything because the
854
- // 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
855
- // and skipLocationChange so that the browser history doesn't get messed up
856
- await this.router.navigateByUrl('/dummy', { skipLocationChange: true });
857
- }
858
- this.router.navigate(newURL, { queryParams: { Entity: this._entityInfo.Name } });
870
+ // Use NavigationService to open the record
871
+ this.navigationService.OpenEntityRecord(this._entityInfo.Name, compositeKey);
859
872
  }
860
873
  }
861
874
  createFormGroup(dataItem) {
@@ -1041,7 +1054,8 @@ export class UserViewGridComponent {
1041
1054
  await CommunicationEngineBase.Instance.Config(false);
1042
1055
  await EntityActionEngineBase.Instance.Config(false);
1043
1056
  await EntityCommunicationsEngineClient.Instance.Config(false);
1044
- if (params && (params.ViewEntity || params.ViewID || params.ViewName || (params.EntityName && params.ExtraFilter))) {
1057
+ // Check for valid params - ExtraFilter can be empty string (meaning no filter), so use != null check
1058
+ if (params && (params.ViewEntity || params.ViewID || params.ViewName || (params.EntityName && params.ExtraFilter != null))) {
1045
1059
  const startTime = new Date().getTime();
1046
1060
  this.isLoading = true;
1047
1061
  this.neverLoaded = false;
@@ -1151,9 +1165,26 @@ export class UserViewGridComponent {
1151
1165
  });
1152
1166
  }
1153
1167
  else {
1154
- LogError("Refresh(params) must have ViewID or ViewName or (EntityName and ExtraFilter)");
1168
+ LogError("Refresh(params) must have ViewID or ViewName or (EntityName and ExtraFilter). Note: ExtraFilter can be an empty string for no filtering.");
1155
1169
  }
1156
1170
  }
1171
+ /**
1172
+ * Check if params have meaningfully changed (compares key properties)
1173
+ */
1174
+ hasParamsChanged(oldParams, newParams) {
1175
+ // If both are undefined/null, no change
1176
+ if (!oldParams && !newParams)
1177
+ return false;
1178
+ // If one is undefined/null and other isn't, changed
1179
+ if (!oldParams || !newParams)
1180
+ return true;
1181
+ // Compare key properties that would require a refresh
1182
+ return oldParams.EntityName !== newParams.EntityName ||
1183
+ oldParams.ViewID !== newParams.ViewID ||
1184
+ oldParams.ViewName !== newParams.ViewName ||
1185
+ oldParams.ExtraFilter !== newParams.ExtraFilter ||
1186
+ oldParams.UserSearchString !== newParams.UserSearchString;
1187
+ }
1157
1188
  /**
1158
1189
  * Load up the entity action metadata for the current entity the view is displaying
1159
1190
  */
@@ -1491,15 +1522,12 @@ export class UserViewGridComponent {
1491
1522
  * this method will do nothing.
1492
1523
  */
1493
1524
  async doCreateNewRecord() {
1494
- // creates a new record either using a dialog or with the router
1525
+ // creates a new record either using a dialog or with NavigationService
1495
1526
  if (this.UserCanCreateNewRecord && this._entityInfo) {
1496
1527
  if (this.CreateRecordMode === 'Tab') {
1497
- // route to a resource/record with a blank string for the 3rd segment which is normally the pkey value
1498
- // here we don't provide the pkey value so the record component will know to create a new record
1499
- this.router.navigate(['resource', 'record', '' /*add this 3rd param that's blank so the route validates*/], { queryParams: {
1500
- Entity: this._entityInfo.Name,
1501
- NewRecordValues: this.NewRecordValues ? FieldValueCollection.FromObject(this.NewRecordValues)?.ToURLSegment() : null
1502
- }
1528
+ // Use NavigationService to open a new record form, passing initial values if provided
1529
+ this.navigationService.OpenNewEntityRecord(this._entityInfo.Name, {
1530
+ newRecordValues: this.NewRecordValues || undefined
1503
1531
  });
1504
1532
  }
1505
1533
  else {
@@ -1678,7 +1706,7 @@ export class UserViewGridComponent {
1678
1706
  this.resizeListener = null;
1679
1707
  }
1680
1708
  }
1681
- static ɵfac = function UserViewGridComponent_Factory(t) { return new (t || UserViewGridComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i0.Renderer2)); };
1709
+ static ɵfac = function UserViewGridComponent_Factory(t) { return new (t || UserViewGridComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.NavigationService), i0.ɵɵdirectiveInject(i0.Renderer2)); };
1682
1710
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserViewGridComponent, selectors: [["mj-user-view-grid"]], viewQuery: function UserViewGridComponent_Query(rf, ctx) { if (rf & 1) {
1683
1711
  i0.ɵɵviewQuery(_c0, 5, GridComponent);
1684
1712
  i0.ɵɵviewQuery(_c0, 5, ElementRef);
@@ -1698,19 +1726,21 @@ export class UserViewGridComponent {
1698
1726
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.analysisResults = _t.first);
1699
1727
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.compareDialogContainer = _t.first);
1700
1728
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.entityFormDialog = _t.first);
1701
- } }, inputs: { Params: "Params", BottomMargin: "BottomMargin", Height: "Height", InEditMode: "InEditMode", EditMode: "EditMode", AutoNavigate: "AutoNavigate", AutoRefreshOnInit: "AutoRefreshOnInit", NewRecordValues: "NewRecordValues", ShowCreateNewRecordButton: "ShowCreateNewRecordButton", ShowEntityActionButtons: "ShowEntityActionButtons", ShowCommunicationButton: "ShowCommunicationButton", CreateRecordMode: "CreateRecordMode", AllowLoad: "AllowLoad" }, outputs: { rowClicked: "rowClicked", rowEdited: "rowEdited", dataLoaded: "dataLoaded" }, decls: 3, vars: 1, consts: [["kendoGrid", ""], ["excelExport", ""], ["compareDialogContainer", ""], ["entityFormDialog", ""], ["templatePreviewDialog", ""], ["recordCompareRef", ""], [1, "user-view-grid-wrap"], [1, "grid-loading-container"], [1, "grid-loading-overlay"], ["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", "", 3, "disabled"], ["kendoButton", ""], ["kendoButton", "", "title", "Create new record"], ["kendoButton", "", "title", "Export to Excel", 3, "click"], [1, "fa-solid", "fa-file-excel"], [1, "button-text"], ["kendoButton", "", "title", "Search for duplicate records", 3, "click"], [1, "fa-solid", "fa-magnifying-glass-plus"], ["kendoButton", "", "title", "Add selected records to a list", 3, "click"], [1, "fa-solid", "fa-list-check"], ["kendoButton", "", "title", "Merge selected records", 3, "click"], [1, "fa-solid", "fa-code-merge"], ["kendoButton", "", "title", "Compare selected records", 3, "click"], [1, "fa-solid", "fa-code-compare"], ["kendoButton", "", "title", "Send message to selected records"], ["kendoButton", "", "title", "Refresh data"], ["kendoButton", "", "title", "Create new record", 3, "click"], [1, "fa-solid", "fa-plus"], ["kendoButton", "", "title", "Send message to selected records", 3, "click"], [1, "fa-solid", "fa-envelope"], ["kendoButton", "", 3, "title"], ["kendoButton", "", 3, "click", "title"], [1, "fa-solid", "fa-bolt"], ["kendoButton", "", "title", "Refresh data", 3, "click"], [1, "fa-solid", "fa-arrows-rotate"], ["kendoButton", "", 3, "click", "disabled"], ["kendoButton", "", 3, "click"], [1, "fa-solid", "fa-xmark"], [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"], [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"], [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"]], template: function UserViewGridComponent_Template(rf, ctx) { if (rf & 1) {
1729
+ } }, inputs: { Params: "Params", AutoRefreshOnParamsChange: "AutoRefreshOnParamsChange", BottomMargin: "BottomMargin", Height: "Height", InEditMode: "InEditMode", EditMode: "EditMode", AutoNavigate: "AutoNavigate", AutoRefreshOnInit: "AutoRefreshOnInit", NewRecordValues: "NewRecordValues", ShowCreateNewRecordButton: "ShowCreateNewRecordButton", ShowEntityActionButtons: "ShowEntityActionButtons", ShowCommunicationButton: "ShowCommunicationButton", CreateRecordMode: "CreateRecordMode", AllowLoad: "AllowLoad" }, outputs: { rowClicked: "rowClicked", rowEdited: "rowEdited", dataLoaded: "dataLoaded" }, decls: 3, vars: 1, consts: [["kendoGrid", ""], ["excelExport", ""], ["compareDialogContainer", ""], ["entityFormDialog", ""], ["templatePreviewDialog", ""], ["recordCompareRef", ""], [1, "user-view-grid-wrap"], [1, "grid-loading-container"], ["size", "large", 3, "showText"], [1, "grid-loading-overlay"], ["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"], ["size", "medium", 3, "showText"], ["kendoButton", "", 3, "disabled"], ["kendoButton", ""], ["kendoButton", "", "title", "Create new record"], ["kendoButton", "", "title", "Export to Excel", 3, "click"], [1, "fa-solid", "fa-file-excel"], [1, "button-text"], ["kendoButton", "", "title", "Search for duplicate records", 3, "click"], [1, "fa-solid", "fa-magnifying-glass-plus"], ["kendoButton", "", "title", "Add selected records to a list", 3, "click"], [1, "fa-solid", "fa-list-check"], ["kendoButton", "", "title", "Merge selected records", 3, "click"], [1, "fa-solid", "fa-code-merge"], ["kendoButton", "", "title", "Compare selected records", 3, "click"], [1, "fa-solid", "fa-code-compare"], ["kendoButton", "", "title", "Send message to selected records"], ["kendoButton", "", "title", "Refresh data"], ["kendoButton", "", "title", "Create new record", 3, "click"], [1, "fa-solid", "fa-plus"], ["kendoButton", "", "title", "Send message to selected records", 3, "click"], [1, "fa-solid", "fa-envelope"], ["kendoButton", "", 3, "title"], ["kendoButton", "", 3, "click", "title"], [1, "fa-solid", "fa-bolt"], ["kendoButton", "", "title", "Refresh data", 3, "click"], [1, "fa-solid", "fa-arrows-rotate"], ["kendoButton", "", 3, "click", "disabled"], ["kendoButton", "", 3, "click"], [1, "fa-solid", "fa-xmark"], [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"], [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"], ["kendoButton", "", "themeColor", "primary", 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"]], template: function UserViewGridComponent_Template(rf, ctx) { if (rf & 1) {
1702
1730
  i0.ɵɵelementStart(0, "div", 6);
1703
- i0.ɵɵtemplate(1, UserViewGridComponent_Conditional_1_Template, 2, 0, "div", 7)(2, UserViewGridComponent_Conditional_2_Template, 17, 25);
1731
+ i0.ɵɵtemplate(1, UserViewGridComponent_Conditional_1_Template, 2, 1, "div", 7)(2, UserViewGridComponent_Conditional_2_Template, 17, 25);
1704
1732
  i0.ɵɵelementEnd();
1705
1733
  } if (rf & 2) {
1706
1734
  i0.ɵɵadvance();
1707
1735
  i0.ɵɵconditional(!ctx.AllowLoad || ctx.neverLoaded ? 1 : 2);
1708
- } }, 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.TextBoxComponent, i10.EntityFormDialogComponent, i11.LoaderComponent, i12.EntityCommunicationsPreviewWindowComponent, i3.DecimalPipe], styles: ["\n\n.user-view-grid-wrap[_ngcontent-%COMP%] {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n position: relative;\n}\n\n\n\n.grid-loading-container[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 300px;\n padding: 40px;\n}\n\n\n\n.grid-loading-overlay[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n backdrop-filter: blur(2px);\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\n.title-wrapper[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n}\n\n.main-fav-wrapper[_ngcontent-%COMP%] {\n background: #fff;\n padding: 20px;\n}\n\n.filter-wrapper[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\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\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\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\n.k-table-td[_ngcontent-%COMP%] {\n border-right: none !important;\n}\n\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\n.btn-cmn.active[_ngcontent-%COMP%] {\n border: 1px solid var(--border-blue);\n}\n\n .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px;\n padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n\n\n\n .user-view-grid-wrap .k-grid-toolbar {\n background: #f9fafb !important;\n border-bottom: 2px solid #e5e7eb !important;\n padding: 12px 16px !important;\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n\n\n .user-view-grid-wrap .k-grid-toolbar button {\n padding: 8px 14px !important;\n font-size: 14px !important;\n border: 1px solid #d1d5db !important;\n background: white !important;\n color: #374151 !important;\n border-radius: 6px !important;\n display: inline-flex !important;\n align-items: center !important;\n gap: 8px !important;\n font-weight: 500 !important;\n transition: all 0.2s ease !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid-toolbar button .button-text {\n display: none !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid-toolbar button span[class*=\"fa-\"] {\n font-size: 16px !important;\n}\n\n .user-view-grid-wrap .k-grid-toolbar button:hover {\n background: #f9fafb !important;\n border-color: #9ca3af !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid-header {\n background: #f9fafb !important;\n border-bottom: 2px solid #e5e7eb !important;\n}\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: #374151 !important;\n font-weight: 600 !important;\n font-size: 13px !important;\n padding: 12px 16px !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid tbody tr {\n border-bottom: 1px solid #f3f4f6 !important;\n transition: background-color 0.15s ease;\n}\n\n .user-view-grid-wrap .k-grid tbody tr:hover {\n background: #f9fafb !important;\n}\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: #1f2937 !important;\n font-weight: 500;\n border-bottom-width: 1px;\n font-size: 14px !important;\n padding: 12px 16px !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid-footer {\n background: #f9fafb !important;\n border-top: 2px solid #e5e7eb !important;\n padding: 12px 16px !important;\n font-size: 13px !important;\n color: #6b7280 !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid .k-checkbox-column {\n background: #fafbfc !important;\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\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}"] });
1736
+ } }, 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.TextBoxComponent, i10.EntityFormDialogComponent, i11.EntityCommunicationsPreviewWindowComponent, i12.LoadingComponent, i3.DecimalPipe], styles: ["\n\n.user-view-grid-wrap[_ngcontent-%COMP%] {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n position: relative;\n}\n\n\n\n.grid-loading-container[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 300px;\n padding: 40px;\n}\n\n\n\n.grid-loading-overlay[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n backdrop-filter: blur(2px);\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\n.title-wrapper[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n}\n\n.main-fav-wrapper[_ngcontent-%COMP%] {\n background: #fff;\n padding: 20px;\n}\n\n.filter-wrapper[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\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\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\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\n.k-table-td[_ngcontent-%COMP%] {\n border-right: none !important;\n}\n\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\n.btn-cmn.active[_ngcontent-%COMP%] {\n border: 1px solid var(--border-blue);\n}\n\n .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px;\n padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n\n\n\n .user-view-grid-wrap .k-grid-toolbar {\n background: #f9fafb !important;\n border-bottom: 2px solid #e5e7eb !important;\n padding: 12px 16px !important;\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n\n\n .user-view-grid-wrap .k-grid-toolbar button {\n padding: 8px 14px !important;\n font-size: 14px !important;\n border: 1px solid #d1d5db !important;\n background: white !important;\n color: #374151 !important;\n border-radius: 6px !important;\n display: inline-flex !important;\n align-items: center !important;\n gap: 8px !important;\n font-weight: 500 !important;\n transition: all 0.2s ease !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid-toolbar button .button-text {\n display: none !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid-toolbar button span[class*=\"fa-\"] {\n font-size: 16px !important;\n}\n\n .user-view-grid-wrap .k-grid-toolbar button:hover {\n background: #f9fafb !important;\n border-color: #9ca3af !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid-header {\n background: #f9fafb !important;\n border-bottom: 2px solid #e5e7eb !important;\n}\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: #374151 !important;\n font-weight: 600 !important;\n font-size: 13px !important;\n padding: 12px 16px !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid tbody tr {\n border-bottom: 1px solid #f3f4f6 !important;\n transition: background-color 0.15s ease;\n}\n\n .user-view-grid-wrap .k-grid tbody tr:hover {\n background: #f9fafb !important;\n}\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: #1f2937 !important;\n font-weight: 500;\n border-bottom-width: 1px;\n font-size: 14px !important;\n padding: 12px 16px !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid-footer {\n background: #f9fafb !important;\n border-top: 2px solid #e5e7eb !important;\n padding: 12px 16px !important;\n font-size: 13px !important;\n color: #6b7280 !important;\n}\n\n\n\n .user-view-grid-wrap .k-grid .k-checkbox-column {\n background: #fafbfc !important;\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\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}"] });
1709
1737
  }
1710
1738
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserViewGridComponent, [{
1711
1739
  type: Component,
1712
- args: [{ selector: 'mj-user-view-grid', template: "<div class=\"user-view-grid-wrap\" >\n @if (!AllowLoad || neverLoaded) {\n <div class=\"grid-loading-container\">\n <kendo-loader></kendo-loader>\n </div>\n }\n @else {\n @if (isLoading) {\n <div class=\"grid-loading-overlay\">\n <kendo-loader></kendo-loader>\n </div>\n }\n <kendo-grid #kendoGrid\n \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()\" title=\"Create new record\">\n <span class=\"fa-solid fa-plus\"></span>\n <span class=\"button-text\">New</span>\n </button>\n }\n\n <button kendoButton (click)=\"doExcelExport()\" title=\"Export to Excel\">\n <span class=\"fa-solid fa-file-excel\"></span>\n <span class=\"button-text\">Export to Excel</span>\n </button>\n <button (click)=\"enableCheckbox(false, 'duplicate')\" kendoButton title=\"Search for duplicate records\">\n <span class=\"fa-solid fa-magnifying-glass-plus\"></span>\n <span class=\"button-text\">Search For Duplicates</span>\n </button>\n <button (click)=\"enableCheckbox(false, 'addToList')\" kendoButton title=\"Add selected records to a list\">\n <span class=\"fa-solid fa-list-check\"></span>\n <span class=\"button-text\">Add To List</span>\n </button>\n <button (click)=\"enableMergeOrCompare(false, 'merge')\" kendoButton title=\"Merge selected records\">\n <span class=\"fa-solid fa-code-merge\"></span>\n <span class=\"button-text\">Merge</span>\n </button>\n <button (click)=\"enableMergeOrCompare(false, 'compare')\" kendoButton title=\"Compare selected records\">\n <span class=\"fa-solid fa-code-compare\"></span>\n <span class=\"button-text\">Compare</span>\n </button>\n\n @if (ShowCommunicationButton && EntitySupportsCommunication) {\n <button (click)=\"doCommunication()\" kendoButton title=\"Send message to selected records\">\n <span class=\"fa-solid fa-envelope\"></span>\n <span class=\"button-text\">Send Message</span>\n </button>\n }\n\n @if (ShowEntityActionButtons && EntityActions && EntityActions.length > 0) {\n @for (action of EntityActions; track action) {\n <button (click)=\"doEntityAction(action)\" kendoButton [title]=\"action.Action\">\n <span class=\"fa-solid fa-bolt\"></span>\n <span class=\"button-text\">{{action.Action}}</span>\n </button>\n }\n }\n\n @if(showRefreshButton){\n <button kendoButton (click)=\"RefreshFromSavedParams()\" title=\"Refresh data\">\n <span class=\"fa-solid fa-arrows-rotate\"></span>\n <span class=\"button-text\">Refresh</span>\n </button>\n }\n }\n @if(duplicateMode){\n <button (click)=\"enableCheckbox(false, 'duplicate')\" [disabled]=\"duplicateMode && recordsToCompare.length < 2\" kendoButton>\n <span class=\"fa-solid fa-magnifying-glass-plus\"></span>\n <span class=\"button-text\">Search For Duplicates</span>\n </button>\n }\n @if(addToListMode){\n <button (click)=\"enableCheckbox(false, 'addToList')\" [disabled]=\"addToListMode && recordsToCompare.length === 0\" kendoButton>\n <span class=\"fa-solid fa-list-check\"></span>\n <span class=\"button-text\">Add To List</span>\n </button>\n }\n @if(compareMode){\n <button (click)=\"enableMergeOrCompare(false, 'compare')\" [disabled]=\"compareMode && recordsToCompare.length < 2\" kendoButton>\n <span class=\"fa-solid fa-code-compare\"></span>\n <span class=\"button-text\">Compare</span>\n </button>\n }\n @if(mergeMode){\n <button (click)=\"enableMergeOrCompare(false, 'merge')\" [disabled]=\"mergeMode && recordsToCompare.length < 2\" kendoButton>\n <span class=\"fa-solid fa-code-merge\"></span>\n <span class=\"button-text\">Merge</span>\n </button>\n }\n @if(anyModeEnabled){\n <button (click)=\"enableCheckbox(true, '')\" kendoButton>\n <span class=\"fa-solid fa-xmark\"></span>\n <span class=\"button-text\">Cancel</span>\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>\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: ["/* Grid container - match form cards */\n.user-view-grid-wrap {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n position: relative;\n}\n\n/* Loading container - contained within grid space (initial load) */\n.grid-loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 300px;\n padding: 40px;\n}\n\n/* Loading overlay - shown on top of grid during refresh */\n.grid-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n backdrop-filter: blur(2px);\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\n.title-wrapper h4 {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n}\n\n.main-fav-wrapper {\n background: #fff;\n padding: 20px;\n}\n\n.filter-wrapper {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\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\n.title-wrapper .search {\n background: var(--light-shade);\n width: 360px;\n height: 44px;\n position: relative;\n border-radius: 10px;\n}\n\n.title-wrapper .search svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 12px;\n}\n\n.k-table-td {\n border-right: none !important;\n}\n\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\n.btn-cmn.active {\n border: 1px solid var(--border-blue);\n}\n\n::ng-deep .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px;\n padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n\n/* Toolbar modernization - match form toolbar style */\n::ng-deep .user-view-grid-wrap .k-grid-toolbar {\n background: #f9fafb !important;\n border-bottom: 2px solid #e5e7eb !important;\n padding: 12px 16px !important;\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n/* Toolbar buttons - match form toolbar style */\n::ng-deep .user-view-grid-wrap .k-grid-toolbar button {\n padding: 8px 14px !important;\n font-size: 14px !important;\n border: 1px solid #d1d5db !important;\n background: white !important;\n color: #374151 !important;\n border-radius: 6px !important;\n display: inline-flex !important;\n align-items: center !important;\n gap: 8px !important;\n font-weight: 500 !important;\n transition: all 0.2s ease !important;\n}\n\n/* Hide button text labels on toolbar buttons to save space, rely on icons + tooltips */\n::ng-deep .user-view-grid-wrap .k-grid-toolbar button .button-text {\n display: none !important;\n}\n\n/* Icon-only buttons need less horizontal padding */\n::ng-deep .user-view-grid-wrap .k-grid-toolbar button span[class*=\"fa-\"] {\n font-size: 16px !important;\n}\n\n::ng-deep .user-view-grid-wrap .k-grid-toolbar button:hover {\n background: #f9fafb !important;\n border-color: #9ca3af !important;\n}\n\n/* Header styling */\n::ng-deep .user-view-grid-wrap .k-grid-header {\n background: #f9fafb !important;\n border-bottom: 2px solid #e5e7eb !important;\n}\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: #374151 !important;\n font-weight: 600 !important;\n font-size: 13px !important;\n padding: 12px 16px !important;\n}\n\n/* Row styling */\n::ng-deep .user-view-grid-wrap .k-grid tbody tr {\n border-bottom: 1px solid #f3f4f6 !important;\n transition: background-color 0.15s ease;\n}\n\n::ng-deep .user-view-grid-wrap .k-grid tbody tr:hover {\n background: #f9fafb !important;\n}\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: #1f2937 !important;\n font-weight: 500;\n border-bottom-width: 1px;\n font-size: 14px !important;\n padding: 12px 16px !important;\n}\n\n/* Footer styling */\n::ng-deep .user-view-grid-wrap .k-grid-footer {\n background: #f9fafb !important;\n border-top: 2px solid #e5e7eb !important;\n padding: 12px 16px !important;\n font-size: 13px !important;\n color: #6b7280 !important;\n}\n\n/* Selection checkbox column */\n::ng-deep .user-view-grid-wrap .k-grid .k-checkbox-column {\n background: #fafbfc !important;\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\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}"] }]
1713
- }], () => [{ type: i0.ElementRef }, { type: i1.FormBuilder }, { type: i2.Router }, { type: i0.Renderer2 }], { Params: [{
1740
+ args: [{ selector: 'mj-user-view-grid', template: "<div class=\"user-view-grid-wrap\" >\n @if (!AllowLoad || neverLoaded) {\n <div class=\"grid-loading-container\">\n <mj-loading [showText]=\"false\" size=\"large\"></mj-loading>\n </div>\n }\n @else {\n @if (isLoading) {\n <div class=\"grid-loading-overlay\">\n <mj-loading [showText]=\"false\" size=\"medium\"></mj-loading>\n </div>\n }\n <kendo-grid #kendoGrid\n \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()\" title=\"Create new record\">\n <span class=\"fa-solid fa-plus\"></span>\n <span class=\"button-text\">New</span>\n </button>\n }\n\n <button kendoButton (click)=\"doExcelExport()\" title=\"Export to Excel\">\n <span class=\"fa-solid fa-file-excel\"></span>\n <span class=\"button-text\">Export to Excel</span>\n </button>\n <button (click)=\"enableCheckbox(false, 'duplicate')\" kendoButton title=\"Search for duplicate records\">\n <span class=\"fa-solid fa-magnifying-glass-plus\"></span>\n <span class=\"button-text\">Search For Duplicates</span>\n </button>\n <button (click)=\"enableCheckbox(false, 'addToList')\" kendoButton title=\"Add selected records to a list\">\n <span class=\"fa-solid fa-list-check\"></span>\n <span class=\"button-text\">Add To List</span>\n </button>\n <button (click)=\"enableMergeOrCompare(false, 'merge')\" kendoButton title=\"Merge selected records\">\n <span class=\"fa-solid fa-code-merge\"></span>\n <span class=\"button-text\">Merge</span>\n </button>\n <button (click)=\"enableMergeOrCompare(false, 'compare')\" kendoButton title=\"Compare selected records\">\n <span class=\"fa-solid fa-code-compare\"></span>\n <span class=\"button-text\">Compare</span>\n </button>\n\n @if (ShowCommunicationButton && EntitySupportsCommunication) {\n <button (click)=\"doCommunication()\" kendoButton title=\"Send message to selected records\">\n <span class=\"fa-solid fa-envelope\"></span>\n <span class=\"button-text\">Send Message</span>\n </button>\n }\n\n @if (ShowEntityActionButtons && EntityActions && EntityActions.length > 0) {\n @for (action of EntityActions; track action) {\n <button (click)=\"doEntityAction(action)\" kendoButton [title]=\"action.Action\">\n <span class=\"fa-solid fa-bolt\"></span>\n <span class=\"button-text\">{{action.Action}}</span>\n </button>\n }\n }\n\n @if(showRefreshButton){\n <button kendoButton (click)=\"RefreshFromSavedParams()\" title=\"Refresh data\">\n <span class=\"fa-solid fa-arrows-rotate\"></span>\n <span class=\"button-text\">Refresh</span>\n </button>\n }\n }\n @if(duplicateMode){\n <button (click)=\"enableCheckbox(false, 'duplicate')\" [disabled]=\"duplicateMode && recordsToCompare.length < 2\" kendoButton>\n <span class=\"fa-solid fa-magnifying-glass-plus\"></span>\n <span class=\"button-text\">Search For Duplicates</span>\n </button>\n }\n @if(addToListMode){\n <button (click)=\"enableCheckbox(false, 'addToList')\" [disabled]=\"addToListMode && recordsToCompare.length === 0\" kendoButton>\n <span class=\"fa-solid fa-list-check\"></span>\n <span class=\"button-text\">Add To List</span>\n </button>\n }\n @if(compareMode){\n <button (click)=\"enableMergeOrCompare(false, 'compare')\" [disabled]=\"compareMode && recordsToCompare.length < 2\" kendoButton>\n <span class=\"fa-solid fa-code-compare\"></span>\n <span class=\"button-text\">Compare</span>\n </button>\n }\n @if(mergeMode){\n <button (click)=\"enableMergeOrCompare(false, 'merge')\" [disabled]=\"mergeMode && recordsToCompare.length < 2\" kendoButton>\n <span class=\"fa-solid fa-code-merge\"></span>\n <span class=\"button-text\">Merge</span>\n </button>\n }\n @if(anyModeEnabled){\n <button (click)=\"enableCheckbox(true, '')\" kendoButton>\n <span class=\"fa-solid fa-xmark\"></span>\n <span class=\"button-text\">Cancel</span>\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>\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 <mj-loading [showText]=\"false\" size=\"medium\"></mj-loading>\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: ["/* Grid container - match form cards */\n.user-view-grid-wrap {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n position: relative;\n}\n\n/* Loading container - contained within grid space (initial load) */\n.grid-loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 300px;\n padding: 40px;\n}\n\n/* Loading overlay - shown on top of grid during refresh */\n.grid-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n backdrop-filter: blur(2px);\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\n.title-wrapper h4 {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n}\n\n.main-fav-wrapper {\n background: #fff;\n padding: 20px;\n}\n\n.filter-wrapper {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\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\n.title-wrapper .search {\n background: var(--light-shade);\n width: 360px;\n height: 44px;\n position: relative;\n border-radius: 10px;\n}\n\n.title-wrapper .search svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 12px;\n}\n\n.k-table-td {\n border-right: none !important;\n}\n\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\n.btn-cmn.active {\n border: 1px solid var(--border-blue);\n}\n\n::ng-deep .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px;\n padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n\n/* Toolbar modernization - match form toolbar style */\n::ng-deep .user-view-grid-wrap .k-grid-toolbar {\n background: #f9fafb !important;\n border-bottom: 2px solid #e5e7eb !important;\n padding: 12px 16px !important;\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n/* Toolbar buttons - match form toolbar style */\n::ng-deep .user-view-grid-wrap .k-grid-toolbar button {\n padding: 8px 14px !important;\n font-size: 14px !important;\n border: 1px solid #d1d5db !important;\n background: white !important;\n color: #374151 !important;\n border-radius: 6px !important;\n display: inline-flex !important;\n align-items: center !important;\n gap: 8px !important;\n font-weight: 500 !important;\n transition: all 0.2s ease !important;\n}\n\n/* Hide button text labels on toolbar buttons to save space, rely on icons + tooltips */\n::ng-deep .user-view-grid-wrap .k-grid-toolbar button .button-text {\n display: none !important;\n}\n\n/* Icon-only buttons need less horizontal padding */\n::ng-deep .user-view-grid-wrap .k-grid-toolbar button span[class*=\"fa-\"] {\n font-size: 16px !important;\n}\n\n::ng-deep .user-view-grid-wrap .k-grid-toolbar button:hover {\n background: #f9fafb !important;\n border-color: #9ca3af !important;\n}\n\n/* Header styling */\n::ng-deep .user-view-grid-wrap .k-grid-header {\n background: #f9fafb !important;\n border-bottom: 2px solid #e5e7eb !important;\n}\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: #374151 !important;\n font-weight: 600 !important;\n font-size: 13px !important;\n padding: 12px 16px !important;\n}\n\n/* Row styling */\n::ng-deep .user-view-grid-wrap .k-grid tbody tr {\n border-bottom: 1px solid #f3f4f6 !important;\n transition: background-color 0.15s ease;\n}\n\n::ng-deep .user-view-grid-wrap .k-grid tbody tr:hover {\n background: #f9fafb !important;\n}\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: #1f2937 !important;\n font-weight: 500;\n border-bottom-width: 1px;\n font-size: 14px !important;\n padding: 12px 16px !important;\n}\n\n/* Footer styling */\n::ng-deep .user-view-grid-wrap .k-grid-footer {\n background: #f9fafb !important;\n border-top: 2px solid #e5e7eb !important;\n padding: 12px 16px !important;\n font-size: 13px !important;\n color: #6b7280 !important;\n}\n\n/* Selection checkbox column */\n::ng-deep .user-view-grid-wrap .k-grid .k-checkbox-column {\n background: #fafbfc !important;\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\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}"] }]
1741
+ }], () => [{ type: i0.ElementRef }, { type: i1.FormBuilder }, { type: i2.NavigationService }, { type: i0.Renderer2 }], { Params: [{
1742
+ type: Input
1743
+ }], AutoRefreshOnParamsChange: [{
1714
1744
  type: Input
1715
1745
  }], BottomMargin: [{
1716
1746
  type: Input
@@ -1767,5 +1797,5 @@ export class UserViewGridComponent {
1767
1797
  type: ViewChild,
1768
1798
  args: ['entityFormDialog']
1769
1799
  }] }); })();
1770
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserViewGridComponent, { className: "UserViewGridComponent", filePath: "src/lib/ng-user-view-grid.component.ts", lineNumber: 54 }); })();
1800
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserViewGridComponent, { className: "UserViewGridComponent", filePath: "src/lib/ng-user-view-grid.component.ts", lineNumber: 53 }); })();
1771
1801
  //# sourceMappingURL=ng-user-view-grid.component.js.map