@memberjunction/ng-user-view-grid 0.9.41 → 0.9.43

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.
@@ -63,6 +63,7 @@ export declare class UserViewGridComponent implements OnInit, AfterViewInit {
63
63
  selectableSettings: SelectableSettings;
64
64
  selectedKeys: any[];
65
65
  isCompareDialogOpened: boolean;
66
+ isConfirmDialogOpen: boolean;
66
67
  showRefreshButton: boolean;
67
68
  viewExecutionTime: number;
68
69
  get PendingRecords(): GridPendingRecordItem[];
@@ -102,6 +103,7 @@ export declare class UserViewGridComponent implements OnInit, AfterViewInit {
102
103
  selectionChange(args: SelectionEvent): void;
103
104
  enableCompare(cancel?: boolean): void;
104
105
  enableMerge(cancel?: boolean): void;
106
+ closeConfirmMergeDialog(event: 'cancel' | 'yes' | 'no'): Promise<void>;
105
107
  closeCompareDialog(event: 'close' | 'cancel' | 'merge'): Promise<void>;
106
108
  exportColumns: ViewColumnInfo[];
107
109
  exportData: any[];
@@ -29,81 +29,81 @@ const _c0 = ["kendoGrid"];
29
29
  const _c1 = ["excelExport"];
30
30
  const _c2 = ["recordCompareRef"];
31
31
  function UserViewGridComponent_ng_template_3_button_0_Template(rf, ctx) { if (rf & 1) {
32
- const _r16 = i0.ɵɵgetCurrentView();
33
- i0.ɵɵelementStart(0, "button", 14);
34
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.doExcelExport()); });
32
+ const _r17 = i0.ɵɵgetCurrentView();
33
+ i0.ɵɵelementStart(0, "button", 15);
34
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r16.doExcelExport()); });
35
35
  i0.ɵɵtext(1, "Export to Excel");
36
36
  i0.ɵɵelementEnd();
37
37
  } }
38
38
  function UserViewGridComponent_ng_template_3_button_1_Template(rf, ctx) { if (rf & 1) {
39
- const _r18 = i0.ɵɵgetCurrentView();
40
- i0.ɵɵelementStart(0, "button", 15);
41
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r17.enableCompare()); });
39
+ const _r19 = i0.ɵɵgetCurrentView();
40
+ i0.ɵɵelementStart(0, "button", 16);
41
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r18.enableCompare()); });
42
42
  i0.ɵɵtext(1, "Compare");
43
43
  i0.ɵɵelementEnd();
44
44
  } if (rf & 2) {
45
- const ctx_r8 = i0.ɵɵnextContext(2);
46
- i0.ɵɵproperty("disabled", ctx_r8.compareMode && ctx_r8.compareRecords.length < 2);
45
+ const ctx_r9 = i0.ɵɵnextContext(2);
46
+ i0.ɵɵproperty("disabled", ctx_r9.compareMode && ctx_r9.compareRecords.length < 2);
47
47
  } }
48
48
  function UserViewGridComponent_ng_template_3_button_2_Template(rf, ctx) { if (rf & 1) {
49
- const _r20 = i0.ɵɵgetCurrentView();
50
- i0.ɵɵelementStart(0, "button", 15);
51
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.enableCompare()); });
49
+ const _r21 = i0.ɵɵgetCurrentView();
50
+ i0.ɵɵelementStart(0, "button", 16);
51
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r20.enableCompare()); });
52
52
  i0.ɵɵtext(1, "Compare");
53
53
  i0.ɵɵelementEnd();
54
54
  } if (rf & 2) {
55
- const ctx_r9 = i0.ɵɵnextContext(2);
56
- i0.ɵɵproperty("disabled", ctx_r9.compareMode && ctx_r9.compareRecords.length < 2);
55
+ const ctx_r10 = i0.ɵɵnextContext(2);
56
+ i0.ɵɵproperty("disabled", ctx_r10.compareMode && ctx_r10.compareRecords.length < 2);
57
57
  } }
58
58
  function UserViewGridComponent_ng_template_3_button_3_Template(rf, ctx) { if (rf & 1) {
59
- const _r22 = i0.ɵɵgetCurrentView();
60
- i0.ɵɵelementStart(0, "button", 16);
61
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.enableCompare(true)); });
59
+ const _r23 = i0.ɵɵgetCurrentView();
60
+ i0.ɵɵelementStart(0, "button", 17);
61
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r22.enableCompare(true)); });
62
62
  i0.ɵɵtext(1, "Cancel");
63
63
  i0.ɵɵelementEnd();
64
64
  } }
65
65
  function UserViewGridComponent_ng_template_3_button_4_Template(rf, ctx) { if (rf & 1) {
66
- const _r24 = i0.ɵɵgetCurrentView();
67
- i0.ɵɵelementStart(0, "button", 15);
68
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.enableMerge()); });
66
+ const _r25 = i0.ɵɵgetCurrentView();
67
+ i0.ɵɵelementStart(0, "button", 16);
68
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r24.enableMerge()); });
69
69
  i0.ɵɵtext(1, "Merge");
70
70
  i0.ɵɵelementEnd();
71
71
  } if (rf & 2) {
72
- const ctx_r11 = i0.ɵɵnextContext(2);
73
- i0.ɵɵproperty("disabled", ctx_r11.mergeMode && ctx_r11.mergeRecords.length < 2);
72
+ const ctx_r12 = i0.ɵɵnextContext(2);
73
+ i0.ɵɵproperty("disabled", ctx_r12.mergeMode && ctx_r12.mergeRecords.length < 2);
74
74
  } }
75
75
  function UserViewGridComponent_ng_template_3_button_5_Template(rf, ctx) { if (rf & 1) {
76
- const _r26 = i0.ɵɵgetCurrentView();
77
- i0.ɵɵelementStart(0, "button", 16);
78
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r25.enableMerge()); });
76
+ const _r27 = i0.ɵɵgetCurrentView();
77
+ i0.ɵɵelementStart(0, "button", 17);
78
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r26.enableMerge()); });
79
79
  i0.ɵɵtext(1, "Merge");
80
80
  i0.ɵɵelementEnd();
81
81
  } }
82
82
  function UserViewGridComponent_ng_template_3_button_6_Template(rf, ctx) { if (rf & 1) {
83
- const _r28 = i0.ɵɵgetCurrentView();
84
- i0.ɵɵelementStart(0, "button", 16);
85
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r28); const ctx_r27 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r27.enableMerge(true)); });
83
+ const _r29 = i0.ɵɵgetCurrentView();
84
+ i0.ɵɵelementStart(0, "button", 17);
85
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r28.enableMerge(true)); });
86
86
  i0.ɵɵtext(1, "Cancel");
87
87
  i0.ɵɵelementEnd();
88
88
  } }
89
89
  function UserViewGridComponent_ng_template_3_button_7_Template(rf, ctx) { if (rf & 1) {
90
- const _r30 = i0.ɵɵgetCurrentView();
91
- i0.ɵɵelementStart(0, "button", 17);
92
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r29.RefreshFromSavedParams()); });
90
+ const _r31 = i0.ɵɵgetCurrentView();
91
+ i0.ɵɵelementStart(0, "button", 18);
92
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_3_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r30.RefreshFromSavedParams()); });
93
93
  i0.ɵɵtext(1, " Refresh ");
94
94
  i0.ɵɵelementEnd();
95
95
  } if (rf & 2) {
96
96
  i0.ɵɵproperty("primary", true);
97
97
  } }
98
98
  function UserViewGridComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
99
- i0.ɵɵtemplate(0, UserViewGridComponent_ng_template_3_button_0_Template, 2, 0, "button", 10);
100
- i0.ɵɵtemplate(1, UserViewGridComponent_ng_template_3_button_1_Template, 2, 1, "button", 11);
101
- i0.ɵɵtemplate(2, UserViewGridComponent_ng_template_3_button_2_Template, 2, 1, "button", 11);
102
- i0.ɵɵtemplate(3, UserViewGridComponent_ng_template_3_button_3_Template, 2, 0, "button", 12);
103
- i0.ɵɵtemplate(4, UserViewGridComponent_ng_template_3_button_4_Template, 2, 1, "button", 11);
104
- i0.ɵɵtemplate(5, UserViewGridComponent_ng_template_3_button_5_Template, 2, 0, "button", 12);
105
- i0.ɵɵtemplate(6, UserViewGridComponent_ng_template_3_button_6_Template, 2, 0, "button", 12);
106
- i0.ɵɵtemplate(7, UserViewGridComponent_ng_template_3_button_7_Template, 2, 1, "button", 13);
99
+ i0.ɵɵtemplate(0, UserViewGridComponent_ng_template_3_button_0_Template, 2, 0, "button", 11);
100
+ i0.ɵɵtemplate(1, UserViewGridComponent_ng_template_3_button_1_Template, 2, 1, "button", 12);
101
+ i0.ɵɵtemplate(2, UserViewGridComponent_ng_template_3_button_2_Template, 2, 1, "button", 12);
102
+ i0.ɵɵtemplate(3, UserViewGridComponent_ng_template_3_button_3_Template, 2, 0, "button", 13);
103
+ i0.ɵɵtemplate(4, UserViewGridComponent_ng_template_3_button_4_Template, 2, 1, "button", 12);
104
+ i0.ɵɵtemplate(5, UserViewGridComponent_ng_template_3_button_5_Template, 2, 0, "button", 13);
105
+ i0.ɵɵtemplate(6, UserViewGridComponent_ng_template_3_button_6_Template, 2, 0, "button", 13);
106
+ i0.ɵɵtemplate(7, UserViewGridComponent_ng_template_3_button_7_Template, 2, 1, "button", 14);
107
107
  } if (rf & 2) {
108
108
  const ctx_r1 = i0.ɵɵnextContext();
109
109
  i0.ɵɵproperty("ngIf", !ctx_r1.compareMode && !ctx_r1.mergeMode);
@@ -125,7 +125,7 @@ function UserViewGridComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
125
125
  const _c3 = function () { return { "text-align": "center", "vertical-align": "center" }; };
126
126
  const _c4 = function () { return { "font-weight": "bold", "background-color": "#a9c2af" }; };
127
127
  function UserViewGridComponent_kendo_grid_checkbox_column_4_Template(rf, ctx) { if (rf & 1) {
128
- i0.ɵɵelement(0, "kendo-grid-checkbox-column", 18);
128
+ i0.ɵɵelement(0, "kendo-grid-checkbox-column", 19);
129
129
  } if (rf & 2) {
130
130
  i0.ɵɵstyleMap(i0.ɵɵpureFunction0(4, _c3));
131
131
  i0.ɵɵproperty("width", 50)("headerStyle", i0.ɵɵpureFunction0(5, _c4));
@@ -135,92 +135,110 @@ function UserViewGridComponent_kendo_grid_column_5_1_ng_template_0_Template(rf,
135
135
  i0.ɵɵpipe(1, "number");
136
136
  i0.ɵɵpipe(2, "number");
137
137
  i0.ɵɵelement(3, "br");
138
- i0.ɵɵelementStart(4, "span", 21);
138
+ i0.ɵɵelementStart(4, "span", 22);
139
139
  i0.ɵɵtext(5);
140
140
  i0.ɵɵpipe(6, "number");
141
141
  i0.ɵɵelementEnd();
142
142
  } if (rf & 2) {
143
- const ctx_r33 = i0.ɵɵnextContext(3);
144
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(1, 3, ctx_r33.viewData.length), "", ctx_r33.totalRowCount > ctx_r33.viewData.length ? " of " + i0.ɵɵpipeBind1(2, 5, ctx_r33.totalRowCount) : " rows", "");
143
+ const ctx_r34 = i0.ɵɵnextContext(3);
144
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(1, 3, ctx_r34.viewData.length), "", ctx_r34.totalRowCount > ctx_r34.viewData.length ? " of " + i0.ɵɵpipeBind1(2, 5, ctx_r34.totalRowCount) : " rows", "");
145
145
  i0.ɵɵadvance(5);
146
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(6, 7, ctx_r33.viewExecutionTime, "1.2-2"), " seconds");
146
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(6, 7, ctx_r34.viewExecutionTime, "1.2-2"), " seconds");
147
147
  } }
148
148
  function UserViewGridComponent_kendo_grid_column_5_1_Template(rf, ctx) { if (rf & 1) {
149
- i0.ɵɵtemplate(0, UserViewGridComponent_kendo_grid_column_5_1_ng_template_0_Template, 7, 10, "ng-template", 20);
149
+ i0.ɵɵtemplate(0, UserViewGridComponent_kendo_grid_column_5_1_ng_template_0_Template, 7, 10, "ng-template", 21);
150
150
  } }
151
151
  function UserViewGridComponent_kendo_grid_column_5_Template(rf, ctx) { if (rf & 1) {
152
- i0.ɵɵelementStart(0, "kendo-grid-column", 19);
152
+ i0.ɵɵelementStart(0, "kendo-grid-column", 20);
153
153
  i0.ɵɵtemplate(1, UserViewGridComponent_kendo_grid_column_5_1_Template, 1, 0, null, 9);
154
154
  i0.ɵɵelementEnd();
155
155
  } if (rf & 2) {
156
- const item_r31 = ctx.$implicit;
156
+ const item_r32 = ctx.$implicit;
157
157
  const ctx_r3 = i0.ɵɵnextContext();
158
- i0.ɵɵstyleMap(ctx_r3.GetColumnCellStyle(item_r31));
159
- i0.ɵɵproperty("field", item_r31.Name)("title", ctx_r3.GetColumnTitle(item_r31))("width", item_r31.width ? item_r31.width : 100)("editable", item_r31.EntityField.AllowUpdateAPI)("editor", ctx_r3.getEditor(item_r31.EntityField))("headerStyle", i0.ɵɵpureFunction0(9, _c4));
158
+ i0.ɵɵstyleMap(ctx_r3.GetColumnCellStyle(item_r32));
159
+ i0.ɵɵproperty("field", item_r32.Name)("title", ctx_r3.GetColumnTitle(item_r32))("width", item_r32.width ? item_r32.width : 100)("editable", item_r32.EntityField.AllowUpdateAPI)("editor", ctx_r3.getEditor(item_r32.EntityField))("headerStyle", i0.ɵɵpureFunction0(9, _c4));
160
160
  i0.ɵɵadvance(1);
161
- i0.ɵɵproperty("ngIf", item_r31 === ctx_r3.visibleColumns[0]);
161
+ i0.ɵɵproperty("ngIf", item_r32 === ctx_r3.visibleColumns[0]);
162
162
  } }
163
163
  function UserViewGridComponent_kendo_excelexport_column_8_Template(rf, ctx) { if (rf & 1) {
164
- i0.ɵɵelement(0, "kendo-excelexport-column", 22);
164
+ i0.ɵɵelement(0, "kendo-excelexport-column", 23);
165
165
  } if (rf & 2) {
166
- const exportCol_r34 = ctx.$implicit;
167
- i0.ɵɵproperty("field", exportCol_r34.Name)("title", exportCol_r34.Name);
166
+ const exportCol_r35 = ctx.$implicit;
167
+ i0.ɵɵproperty("field", exportCol_r35.Name)("title", exportCol_r35.Name);
168
168
  } }
169
169
  function UserViewGridComponent_div_9_kendo_window_2_button_6_Template(rf, ctx) { if (rf & 1) {
170
- const _r41 = i0.ɵɵgetCurrentView();
171
- i0.ɵɵelementStart(0, "button", 32);
172
- i0.ɵɵlistener("click", function UserViewGridComponent_div_9_kendo_window_2_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r41); const ctx_r40 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r40.closeCompareDialog("close")); });
170
+ const _r42 = i0.ɵɵgetCurrentView();
171
+ i0.ɵɵelementStart(0, "button", 33);
172
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_9_kendo_window_2_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r42); const ctx_r41 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r41.closeCompareDialog("close")); });
173
173
  i0.ɵɵtext(1, "Close");
174
174
  i0.ɵɵelementEnd();
175
175
  } }
176
176
  function UserViewGridComponent_div_9_kendo_window_2_button_7_Template(rf, ctx) { if (rf & 1) {
177
- const _r43 = i0.ɵɵgetCurrentView();
178
- i0.ɵɵelementStart(0, "button", 32);
179
- i0.ɵɵlistener("click", function UserViewGridComponent_div_9_kendo_window_2_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r43); const ctx_r42 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r42.closeCompareDialog("cancel")); });
177
+ const _r44 = i0.ɵɵgetCurrentView();
178
+ i0.ɵɵelementStart(0, "button", 33);
179
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_9_kendo_window_2_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r44); const ctx_r43 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r43.closeCompareDialog("cancel")); });
180
180
  i0.ɵɵtext(1, "Cancel");
181
181
  i0.ɵɵelementEnd();
182
182
  } }
183
183
  function UserViewGridComponent_div_9_kendo_window_2_button_8_Template(rf, ctx) { if (rf & 1) {
184
- const _r45 = i0.ɵɵgetCurrentView();
185
- i0.ɵɵelementStart(0, "button", 33);
186
- i0.ɵɵlistener("click", function UserViewGridComponent_div_9_kendo_window_2_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r45); const ctx_r44 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r44.closeCompareDialog("merge")); });
184
+ const _r46 = i0.ɵɵgetCurrentView();
185
+ i0.ɵɵelementStart(0, "button", 34);
186
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_9_kendo_window_2_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r46); const ctx_r45 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r45.closeCompareDialog("merge")); });
187
187
  i0.ɵɵtext(1, " Merge Records ");
188
188
  i0.ɵɵelementEnd();
189
189
  } }
190
190
  function UserViewGridComponent_div_9_kendo_window_2_Template(rf, ctx) { if (rf & 1) {
191
- const _r47 = i0.ɵɵgetCurrentView();
192
- i0.ɵɵelementStart(0, "kendo-window", 25);
193
- i0.ɵɵlistener("close", function UserViewGridComponent_div_9_kendo_window_2_Template_kendo_window_close_0_listener($event) { i0.ɵɵrestoreView(_r47); const ctx_r46 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r46.closeCompareDialog($event)); });
194
- i0.ɵɵelementStart(1, "div", 26)(2, "div");
195
- i0.ɵɵelement(3, "mj-compare-records", 27, 28);
191
+ const _r48 = i0.ɵɵgetCurrentView();
192
+ i0.ɵɵelementStart(0, "kendo-window", 26);
193
+ i0.ɵɵlistener("close", function UserViewGridComponent_div_9_kendo_window_2_Template_kendo_window_close_0_listener($event) { i0.ɵɵrestoreView(_r48); const ctx_r47 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r47.closeCompareDialog($event)); });
194
+ i0.ɵɵelementStart(1, "div", 27)(2, "div");
195
+ i0.ɵɵelement(3, "mj-compare-records", 28, 29);
196
196
  i0.ɵɵelementEnd()();
197
- i0.ɵɵelementStart(5, "div", 29);
198
- i0.ɵɵtemplate(6, UserViewGridComponent_div_9_kendo_window_2_button_6_Template, 2, 0, "button", 30);
199
- i0.ɵɵtemplate(7, UserViewGridComponent_div_9_kendo_window_2_button_7_Template, 2, 0, "button", 30);
200
- i0.ɵɵtemplate(8, UserViewGridComponent_div_9_kendo_window_2_button_8_Template, 2, 0, "button", 31);
197
+ i0.ɵɵelementStart(5, "div", 30);
198
+ i0.ɵɵtemplate(6, UserViewGridComponent_div_9_kendo_window_2_button_6_Template, 2, 0, "button", 31);
199
+ i0.ɵɵtemplate(7, UserViewGridComponent_div_9_kendo_window_2_button_7_Template, 2, 0, "button", 31);
200
+ i0.ɵɵtemplate(8, UserViewGridComponent_div_9_kendo_window_2_button_8_Template, 2, 0, "button", 32);
201
201
  i0.ɵɵelementEnd()();
202
202
  } if (rf & 2) {
203
- const ctx_r35 = i0.ɵɵnextContext(2);
203
+ const ctx_r36 = i0.ɵɵnextContext(2);
204
204
  i0.ɵɵproperty("minHeight", 300)("minWidth", 400)("resizable", true);
205
205
  i0.ɵɵadvance(3);
206
- i0.ɵɵproperty("entityName", ctx_r35._entityInfo ? ctx_r35._entityInfo.Name : "")("recordsToCompare", ctx_r35.compareMode ? ctx_r35.compareRecords : ctx_r35.mergeRecords)("visibleColumns", ctx_r35.visibleColumns)("selectionMode", ctx_r35.mergeMode ? true : false);
206
+ i0.ɵɵproperty("entityName", ctx_r36._entityInfo ? ctx_r36._entityInfo.Name : "")("recordsToCompare", ctx_r36.compareMode ? ctx_r36.compareRecords : ctx_r36.mergeRecords)("visibleColumns", ctx_r36.visibleColumns)("selectionMode", ctx_r36.mergeMode ? true : false);
207
207
  i0.ɵɵadvance(3);
208
- i0.ɵɵproperty("ngIf", ctx_r35.compareMode);
208
+ i0.ɵɵproperty("ngIf", ctx_r36.compareMode);
209
209
  i0.ɵɵadvance(1);
210
- i0.ɵɵproperty("ngIf", ctx_r35.mergeMode);
210
+ i0.ɵɵproperty("ngIf", ctx_r36.mergeMode);
211
211
  i0.ɵɵadvance(1);
212
- i0.ɵɵproperty("ngIf", ctx_r35.mergeMode);
212
+ i0.ɵɵproperty("ngIf", ctx_r36.mergeMode);
213
213
  } }
214
214
  function UserViewGridComponent_div_9_Template(rf, ctx) { if (rf & 1) {
215
215
  i0.ɵɵelementStart(0, "div");
216
- i0.ɵɵelement(1, "div", 23);
217
- i0.ɵɵtemplate(2, UserViewGridComponent_div_9_kendo_window_2_Template, 9, 10, "kendo-window", 24);
216
+ i0.ɵɵelement(1, "div", 24);
217
+ i0.ɵɵtemplate(2, UserViewGridComponent_div_9_kendo_window_2_Template, 9, 10, "kendo-window", 25);
218
218
  i0.ɵɵelementEnd();
219
219
  } if (rf & 2) {
220
220
  const ctx_r6 = i0.ɵɵnextContext();
221
221
  i0.ɵɵadvance(2);
222
222
  i0.ɵɵproperty("ngIf", ctx_r6.isCompareDialogOpened);
223
223
  } }
224
+ function UserViewGridComponent_kendo_dialog_10_Template(rf, ctx) { if (rf & 1) {
225
+ const _r50 = i0.ɵɵgetCurrentView();
226
+ i0.ɵɵelementStart(0, "kendo-dialog", 35);
227
+ i0.ɵɵlistener("close", function UserViewGridComponent_kendo_dialog_10_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r50); const ctx_r49 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r49.closeConfirmMergeDialog("cancel")); });
228
+ i0.ɵɵelementStart(1, "p", 36);
229
+ 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. ");
230
+ i0.ɵɵelementEnd();
231
+ i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 37);
232
+ i0.ɵɵlistener("click", function UserViewGridComponent_kendo_dialog_10_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r50); const ctx_r51 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r51.closeConfirmMergeDialog("no")); });
233
+ i0.ɵɵtext(5, "No");
234
+ i0.ɵɵelementEnd();
235
+ i0.ɵɵelementStart(6, "button", 38);
236
+ i0.ɵɵlistener("click", function UserViewGridComponent_kendo_dialog_10_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r50); const ctx_r52 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r52.closeConfirmMergeDialog("yes")); });
237
+ i0.ɵɵtext(7, " Yes ");
238
+ i0.ɵɵelementEnd()()();
239
+ } if (rf & 2) {
240
+ i0.ɵɵproperty("minWidth", 250)("width", 450);
241
+ } }
224
242
  export class UserViewGridComponent {
225
243
  get PendingRecords() {
226
244
  return this._pendingRecords;
@@ -335,6 +353,7 @@ export class UserViewGridComponent {
335
353
  };
336
354
  this.selectedKeys = [];
337
355
  this.isCompareDialogOpened = false;
356
+ this.isConfirmDialogOpen = false;
338
357
  this.showRefreshButton = true;
339
358
  this.viewExecutionTime = 0;
340
359
  this._viewDirty = false;
@@ -797,33 +816,49 @@ export class UserViewGridComponent {
797
816
  this.mergeMode = true;
798
817
  }
799
818
  }
819
+ closeConfirmMergeDialog(event) {
820
+ return __awaiter(this, void 0, void 0, function* () {
821
+ if (event === 'yes') {
822
+ if (this._entityInfo && this.recordCompareComponent) {
823
+ const md = new Metadata();
824
+ const result = yield md.MergeRecords({
825
+ EntityName: this._entityInfo.Name,
826
+ RecordsToMerge: this.mergeRecords.map((r) => r.ID).filter((id) => { var _a; return id !== ((_a = this.recordCompareComponent) === null || _a === void 0 ? void 0 : _a.selectedRecordId); }),
827
+ SurvivingRecordID: this.recordCompareComponent.selectedRecordId
828
+ });
829
+ if (result.Success) {
830
+ // merge was successful, so refresh the grid
831
+ this.selectedKeys = [];
832
+ this.compareRecords = [];
833
+ this.mergeRecords = [];
834
+ this.mergeMode = false;
835
+ this.compareMode = false;
836
+ // close the dialogs
837
+ this.isCompareDialogOpened = false;
838
+ this.isConfirmDialogOpen = false;
839
+ // refresh the grid
840
+ this.Refresh(this.Params);
841
+ }
842
+ else {
843
+ // the merge failed, so show an error message
844
+ this.CreateSimpleNotification("Error merging records: " + result.OverallStatus, 'error', 5000);
845
+ }
846
+ }
847
+ }
848
+ else {
849
+ this.isConfirmDialogOpen = false;
850
+ // close the dialog and let the user continue to work on the merge, so don't close the compare dialog
851
+ }
852
+ });
853
+ }
800
854
  closeCompareDialog(event) {
801
855
  return __awaiter(this, void 0, void 0, function* () {
802
856
  console.log(event);
803
857
  switch (event) {
804
858
  case 'merge':
805
859
  // user has requested to merge the records and retain the selected record from the compare records component, so run the merge
806
- if (this._entityInfo && this.recordCompareComponent) {
807
- const md = new Metadata();
808
- const result = yield md.MergeRecords({
809
- EntityName: this._entityInfo.Name,
810
- RecordsToMerge: this.mergeRecords.map((r) => r.ID).filter((id) => { var _a; return id !== ((_a = this.recordCompareComponent) === null || _a === void 0 ? void 0 : _a.selectedRecordId); }),
811
- SurvivingRecordID: this.recordCompareComponent.selectedRecordId
812
- });
813
- if (result.Success) {
814
- // merge was successful, so refresh the grid
815
- this.selectedKeys = [];
816
- this.compareRecords = [];
817
- this.mergeRecords = [];
818
- this.mergeMode = false;
819
- this.compareMode = false;
820
- this.Refresh(this.Params);
821
- }
822
- else {
823
- // the merge failed, so show an error message
824
- this.CreateSimpleNotification("Error merging records: " + result.OverallStatus, 'error', 5000);
825
- }
826
- }
860
+ // first, confirm with the user to make 100% sure they want to do this as it is irreversible
861
+ this.isConfirmDialogOpen = true;
827
862
  break;
828
863
  default: // close and cancel
829
864
  this.selectedKeys = [];
@@ -831,9 +866,9 @@ export class UserViewGridComponent {
831
866
  this.mergeRecords = [];
832
867
  this.mergeMode = false;
833
868
  this.compareMode = false;
869
+ this.isCompareDialogOpened = false;
834
870
  break;
835
871
  }
836
- this.isCompareDialogOpened = false;
837
872
  });
838
873
  }
839
874
  doExcelExport() {
@@ -887,7 +922,7 @@ UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserV
887
922
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoGridElementRef = _t.first);
888
923
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoExcelExport = _t.first);
889
924
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.recordCompareComponent = _t.first);
890
- } }, inputs: { Params: "Params", BottomMargin: "BottomMargin", InEditMode: "InEditMode", EditMode: "EditMode", AutoNavigate: "AutoNavigate", AllowLoad: "AllowLoad" }, outputs: { rowClicked: "rowClicked", rowEdited: "rowEdited" }, decls: 10, vars: 19, consts: [["mjFillContainer", "", 1, "user-view-grid-wrap"], ["mjFillContainer", "", "scrollable", "virtual", "kendoGridSelectBy", "", 3, "resizable", "data", "skip", "pageSize", "rowHeight", "loading", "height", "sortable", "sort", "reorderable", "selectable", "selectedKeys", "pageChange", "selectedKeysChange", "cellClick", "cellClose", "columnReorder", "columnResize", "selectionChange", "sortChange"], ["kendoGrid", ""], ["kendoGridToolbarTemplate", ""], [3, "width", "headerStyle", "style", 4, "ngIf"], [3, "field", "title", "width", "editable", "editor", "headerStyle", "style", 4, "ngFor", "ngForOf"], [3, "data", "fileName"], ["excelExport", ""], [3, "field", "title", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["kendoButton", "", "icon", "file-excel", 3, "click", 4, "ngIf"], ["class", "k-button k-button-md k-rounded-md k-button-solid-base k-button-solid", 3, "disabled", "click", 4, "ngIf"], ["class", "k-button k-button-md k-rounded-md k-button-solid-base k-button-solid", 3, "click", 4, "ngIf"], ["kendoButton", "", "icon", "refresh", 3, "primary", "click", 4, "ngIf"], ["kendoButton", "", "icon", "file-excel", 3, "click"], [1, "k-button", "k-button-md", "k-rounded-md", "k-button-solid-base", "k-button-solid", 3, "disabled", "click"], [1, "k-button", "k-button-md", "k-rounded-md", "k-button-solid-base", "k-button-solid", 3, "click"], ["kendoButton", "", "icon", "refresh", 3, "primary", "click"], [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", "resizable", "close", 4, "ngIf"], ["title", "Compare Records", 3, "minHeight", "minWidth", "resizable", "close"], [1, "k-d-flex", "k-flex-col", "k-justify-content-between", "k-h-full"], [3, "entityName", "recordsToCompare", "visibleColumns", "selectionMode"], ["recordCompareRef", ""], [1, "k-actions", "k-actions-end"], ["kendoButton", "", "type", "button", 3, "click", 4, "ngIf"], ["kendoButton", "", "themeColor", "primary", "type", "button", 3, "click", 4, "ngIf"], ["kendoButton", "", "type", "button", 3, "click"], ["kendoButton", "", "themeColor", "primary", "type", "button", 3, "click"]], template: function UserViewGridComponent_Template(rf, ctx) { if (rf & 1) {
925
+ } }, inputs: { Params: "Params", BottomMargin: "BottomMargin", InEditMode: "InEditMode", EditMode: "EditMode", AutoNavigate: "AutoNavigate", AllowLoad: "AllowLoad" }, outputs: { rowClicked: "rowClicked", rowEdited: "rowEdited" }, decls: 11, vars: 20, consts: [["mjFillContainer", "", 1, "user-view-grid-wrap"], ["mjFillContainer", "", "scrollable", "virtual", "kendoGridSelectBy", "", 3, "resizable", "data", "skip", "pageSize", "rowHeight", "loading", "height", "sortable", "sort", "reorderable", "selectable", "selectedKeys", "pageChange", "selectedKeysChange", "cellClick", "cellClose", "columnReorder", "columnResize", "selectionChange", "sortChange"], ["kendoGrid", ""], ["kendoGridToolbarTemplate", ""], [3, "width", "headerStyle", "style", 4, "ngIf"], [3, "field", "title", "width", "editable", "editor", "headerStyle", "style", 4, "ngFor", "ngForOf"], [3, "data", "fileName"], ["excelExport", ""], [3, "field", "title", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["title", "Confirm Choice", 3, "minWidth", "width", "close", 4, "ngIf"], ["kendoButton", "", "icon", "file-excel", 3, "click", 4, "ngIf"], ["class", "k-button k-button-md k-rounded-md k-button-solid-base k-button-solid", 3, "disabled", "click", 4, "ngIf"], ["class", "k-button k-button-md k-rounded-md k-button-solid-base k-button-solid", 3, "click", 4, "ngIf"], ["kendoButton", "", "icon", "refresh", 3, "primary", "click", 4, "ngIf"], ["kendoButton", "", "icon", "file-excel", 3, "click"], [1, "k-button", "k-button-md", "k-rounded-md", "k-button-solid-base", "k-button-solid", 3, "disabled", "click"], [1, "k-button", "k-button-md", "k-rounded-md", "k-button-solid-base", "k-button-solid", 3, "click"], ["kendoButton", "", "icon", "refresh", 3, "primary", "click"], [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", "resizable", "close", 4, "ngIf"], ["title", "Compare Records", 3, "minHeight", "minWidth", "resizable", "close"], [1, "k-d-flex", "k-flex-col", "k-justify-content-between", "k-h-full"], [3, "entityName", "recordsToCompare", "visibleColumns", "selectionMode"], ["recordCompareRef", ""], [1, "k-actions", "k-actions-end"], ["kendoButton", "", "type", "button", 3, "click", 4, "ngIf"], ["kendoButton", "", "themeColor", "primary", "type", "button", 3, "click", 4, "ngIf"], ["kendoButton", "", "type", "button", 3, "click"], ["kendoButton", "", "themeColor", "primary", "type", "button", 3, "click"], ["title", "Confirm Choice", 3, "minWidth", "width", "close"], [2, "margin", "30px", "text-align", "center"], ["kendoButton", "", 3, "click"], ["kendoButton", "", "themeColor", "primary", 3, "click"]], template: function UserViewGridComponent_Template(rf, ctx) { if (rf & 1) {
891
926
  i0.ɵɵelementStart(0, "div", 0)(1, "kendo-grid", 1, 2);
892
927
  i0.ɵɵlistener("pageChange", function UserViewGridComponent_Template_kendo_grid_pageChange_1_listener($event) { return ctx.pageChange($event); })("selectedKeysChange", function UserViewGridComponent_Template_kendo_grid_selectedKeysChange_1_listener($event) { return ctx.selectedKeys = $event; })("cellClick", function UserViewGridComponent_Template_kendo_grid_cellClick_1_listener($event) { return ctx.cellClickHandler($event); })("cellClose", function UserViewGridComponent_Template_kendo_grid_cellClose_1_listener($event) { return ctx.cellCloseHandler($event); })("columnReorder", function UserViewGridComponent_Template_kendo_grid_columnReorder_1_listener($event) { return ctx.columnReorder($event); })("columnResize", function UserViewGridComponent_Template_kendo_grid_columnResize_1_listener($event) { return ctx.columnResize($event); })("selectionChange", function UserViewGridComponent_Template_kendo_grid_selectionChange_1_listener($event) { return ctx.selectionChange($event); })("sortChange", function UserViewGridComponent_Template_kendo_grid_sortChange_1_listener($event) { return ctx.sortChanged($event); });
893
928
  i0.ɵɵtemplate(3, UserViewGridComponent_ng_template_3_Template, 8, 8, "ng-template", 3);
@@ -897,6 +932,7 @@ UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserV
897
932
  i0.ɵɵtemplate(8, UserViewGridComponent_kendo_excelexport_column_8_Template, 1, 2, "kendo-excelexport-column", 8);
898
933
  i0.ɵɵelementEnd()()();
899
934
  i0.ɵɵtemplate(9, UserViewGridComponent_div_9_Template, 3, 1, "div", 9);
935
+ i0.ɵɵtemplate(10, UserViewGridComponent_kendo_dialog_10_Template, 8, 2, "kendo-dialog", 10);
900
936
  } if (rf & 2) {
901
937
  i0.ɵɵadvance(1);
902
938
  i0.ɵɵproperty("resizable", true)("data", ctx.gridView)("skip", ctx.skip)("pageSize", ctx.pageSize)("rowHeight", 36)("loading", ctx.isLoading)("height", ctx.gridHeight)("sortable", true)("sort", ctx.sortSettings)("resizable", true)("reorderable", true)("selectable", true)("selectedKeys", ctx.selectedKeys);
@@ -910,10 +946,12 @@ UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserV
910
946
  i0.ɵɵproperty("ngForOf", ctx.exportColumns);
911
947
  i0.ɵɵadvance(1);
912
948
  i0.ɵɵproperty("ngIf", ctx.isCompareDialogOpened);
913
- } }, dependencies: [i3.NgForOf, i3.NgIf, i4.GridComponent, i4.ToolbarTemplateDirective, i4.SelectionDirective, i4.ColumnComponent, i4.FooterTemplateDirective, i4.CheckboxColumnComponent, i5.WindowComponent, i6.ExcelExportComponent, i6.ColumnComponent, i7.Button, i8.CompareRecordsComponent, i9.FillContainer, i3.DecimalPipe], styles: [".user-view-grid-wrap[_ngcontent-%COMP%] {\r\n height: calc(100vh-20px);\r\n}\r\n\r\n.user-view-grid-column-header[_ngcontent-%COMP%] {\r\n background-color: #a9c2af;\r\n font-size: 20pt;\r\n font-weight: bold;\r\n}"] });
949
+ i0.ɵɵadvance(1);
950
+ i0.ɵɵproperty("ngIf", ctx.isConfirmDialogOpen);
951
+ } }, dependencies: [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.Button, i8.CompareRecordsComponent, i9.FillContainer, i3.DecimalPipe], styles: [".user-view-grid-wrap[_ngcontent-%COMP%] {\r\n height: calc(100vh-20px);\r\n}\r\n\r\n.user-view-grid-column-header[_ngcontent-%COMP%] {\r\n background-color: #a9c2af;\r\n font-size: 20pt;\r\n font-weight: bold;\r\n}"] });
914
952
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserViewGridComponent, [{
915
953
  type: Component,
916
- args: [{ selector: 'mj-user-view-grid', template: "<div class=\"user-view-grid-wrap\" mjFillContainer>\r\n <kendo-grid #kendoGrid\r\n mjFillContainer\r\n [resizable]=\"true\"\r\n [data]=\"gridView\" \r\n [skip]=\"skip\"\r\n [pageSize]=\"pageSize\"\r\n scrollable=\"virtual\"\r\n [rowHeight]=\"36\"\r\n (pageChange)=\"pageChange($event)\"\r\n [loading]=\"isLoading\"\r\n [height]=\"gridHeight\"\r\n [sortable]=\"true\"\r\n [sort]=\"sortSettings\" \r\n [resizable]=\"true\"\r\n [reorderable]=\"true\"\r\n [selectable]=\"true\"\r\n kendoGridSelectBy\r\n [(selectedKeys)]=\"selectedKeys\"\r\n (cellClick)=\"cellClickHandler($event)\"\r\n (cellClose)=\"cellCloseHandler($event)\"\r\n (columnReorder)=\"columnReorder($event)\"\r\n (columnResize)=\"columnResize($event)\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n (sortChange)=\"sortChanged($event)\"\r\n >\r\n <ng-template kendoGridToolbarTemplate>\r\n <button kendoButton icon=\"file-excel\" *ngIf=\"!compareMode && !mergeMode\" (click)=\"doExcelExport()\" >Export to Excel</button>\r\n <!-- 3 buttons for compare. First one only shows when comparison is going on in the grid, the next one is the one the user starts the process with before records are selected, last one is to cancel the pending compare. -->\r\n <button (click)=\"enableCompare()\" *ngIf=\"!compareMode && !mergeMode\" [disabled]=\"compareMode && compareRecords.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Compare</button>\r\n <button (click)=\"enableCompare()\" *ngIf=\"compareMode\" [disabled]=\"compareMode && compareRecords.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Compare</button>\r\n <button (click)=\"enableCompare(true)\" *ngIf=\"compareMode\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Cancel</button>\r\n\r\n <!-- 3 buttons for merge. First one only shows when merge is getting goin in the grid, the next one is the one the user starts the process with before records are selected, last one is to cancel the pending merge. -->\r\n <button (click)=\"enableMerge()\" *ngIf=\"mergeMode\" [disabled]=\"mergeMode && mergeRecords.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Merge</button>\r\n <button (click)=\"enableMerge()\" *ngIf=\"!mergeMode && !compareMode\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Merge</button>\r\n <button (click)=\"enableMerge(true)\" *ngIf=\"mergeMode\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Cancel</button>\r\n <button\r\n kendoButton\r\n [primary]=\"true\"\r\n icon=\"refresh\"\r\n *ngIf=\"showRefreshButton && !compareMode && !mergeMode\"\r\n (click)=\"RefreshFromSavedParams()\">\r\n Refresh\r\n </button>\r\n </ng-template>\r\n\r\n <kendo-grid-checkbox-column \r\n *ngIf=\"compareMode || mergeMode\" \r\n [width]=\"50\" \r\n [headerStyle]=\"{ 'font-weight' : 'bold', 'background-color': '#a9c2af' }\" \r\n [style]=\"{'text-align': 'center', 'vertical-align': 'center'}\">\r\n </kendo-grid-checkbox-column>\r\n \r\n <kendo-grid-column \r\n *ngFor=\"let item of visibleColumns\" \r\n [field]=\"item.Name\" \r\n [title]=\"GetColumnTitle(item)\"\r\n [width]=\"item.width ? item.width : 100\"\r\n [editable]=\"item.EntityField.AllowUpdateAPI\"\r\n [editor]=\"getEditor(item.EntityField)\"\r\n [headerStyle]=\"{ 'font-weight' : 'bold', 'background-color': '#a9c2af' }\"\r\n [style]=\"this.GetColumnCellStyle(item)\"\r\n >\r\n <ng-template *ngIf=\"item===visibleColumns[0]\" kendoGridFooterTemplate >\r\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>\r\n </ng-template>\r\n </kendo-grid-column>\r\n\r\n <kendo-excelexport #excelExport [data]=\"exportData\" [fileName]=\"(_viewEntity ? _viewEntity.Get('Name') : _entityInfo?.Name) + '.xlsx'\">\r\n <kendo-excelexport-column *ngFor=\"let exportCol of exportColumns\" [field]=\"exportCol.Name\" [title]=\"exportCol.Name\">\r\n </kendo-excelexport-column>\r\n </kendo-excelexport>\r\n </kendo-grid>\r\n</div>\r\n\r\n<div *ngIf=\"isCompareDialogOpened\">\r\n <div class=\"k-overlay\"></div>\r\n <kendo-window\r\n [minHeight]=\"300\"\r\n [minWidth]=\"400\"\r\n [resizable]=\"true\"\r\n (close)=\"closeCompareDialog($event)\"\r\n title=\"Compare Records\"\r\n *ngIf=\"isCompareDialogOpened\"\r\n >\r\n <div class=\"k-d-flex k-flex-col k-justify-content-between k-h-full\">\r\n <div>\r\n <mj-compare-records\r\n #recordCompareRef\r\n [entityName]=\"_entityInfo ? _entityInfo.Name : ''\"\r\n [recordsToCompare]=\"compareMode ? compareRecords : mergeRecords\" \r\n [visibleColumns]=\"visibleColumns\" \r\n [selectionMode]=\"mergeMode ? true : false\"\r\n >\r\n </mj-compare-records>\r\n </div>\r\n </div>\r\n <div class=\"k-actions k-actions-end\">\r\n <button *ngIf=\"compareMode\" kendoButton type=\"button\" (click)=\"closeCompareDialog('close')\">Close</button>\r\n <button *ngIf=\"mergeMode\"kendoButton type=\"button\" (click)=\"closeCompareDialog('cancel')\">Cancel</button>\r\n <button *ngIf=\"mergeMode\"\r\n kendoButton\r\n themeColor=\"primary\"\r\n type=\"button\"\r\n (click)=\"closeCompareDialog('merge')\"\r\n >\r\n Merge Records\r\n </button>\r\n </div> \r\n </kendo-window>\r\n</div>\r\n ", styles: [".user-view-grid-wrap {\r\n height: calc(100vh-20px);\r\n}\r\n\r\n.user-view-grid-column-header {\r\n background-color: #a9c2af;\r\n font-size: 20pt;\r\n font-weight: bold;\r\n}"] }]
954
+ args: [{ selector: 'mj-user-view-grid', template: "<div class=\"user-view-grid-wrap\" mjFillContainer>\r\n <kendo-grid #kendoGrid\r\n mjFillContainer\r\n [resizable]=\"true\"\r\n [data]=\"gridView\" \r\n [skip]=\"skip\"\r\n [pageSize]=\"pageSize\"\r\n scrollable=\"virtual\"\r\n [rowHeight]=\"36\"\r\n (pageChange)=\"pageChange($event)\"\r\n [loading]=\"isLoading\"\r\n [height]=\"gridHeight\"\r\n [sortable]=\"true\"\r\n [sort]=\"sortSettings\" \r\n [resizable]=\"true\"\r\n [reorderable]=\"true\"\r\n [selectable]=\"true\"\r\n kendoGridSelectBy\r\n [(selectedKeys)]=\"selectedKeys\"\r\n (cellClick)=\"cellClickHandler($event)\"\r\n (cellClose)=\"cellCloseHandler($event)\"\r\n (columnReorder)=\"columnReorder($event)\"\r\n (columnResize)=\"columnResize($event)\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n (sortChange)=\"sortChanged($event)\"\r\n >\r\n <ng-template kendoGridToolbarTemplate>\r\n <button kendoButton icon=\"file-excel\" *ngIf=\"!compareMode && !mergeMode\" (click)=\"doExcelExport()\" >Export to Excel</button>\r\n <!-- 3 buttons for compare. First one only shows when comparison is going on in the grid, the next one is the one the user starts the process with before records are selected, last one is to cancel the pending compare. -->\r\n <button (click)=\"enableCompare()\" *ngIf=\"!compareMode && !mergeMode\" [disabled]=\"compareMode && compareRecords.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Compare</button>\r\n <button (click)=\"enableCompare()\" *ngIf=\"compareMode\" [disabled]=\"compareMode && compareRecords.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Compare</button>\r\n <button (click)=\"enableCompare(true)\" *ngIf=\"compareMode\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Cancel</button>\r\n\r\n <!-- 3 buttons for merge. First one only shows when merge is getting goin in the grid, the next one is the one the user starts the process with before records are selected, last one is to cancel the pending merge. -->\r\n <button (click)=\"enableMerge()\" *ngIf=\"mergeMode\" [disabled]=\"mergeMode && mergeRecords.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Merge</button>\r\n <button (click)=\"enableMerge()\" *ngIf=\"!mergeMode && !compareMode\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Merge</button>\r\n <button (click)=\"enableMerge(true)\" *ngIf=\"mergeMode\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Cancel</button>\r\n <button\r\n kendoButton\r\n [primary]=\"true\"\r\n icon=\"refresh\"\r\n *ngIf=\"showRefreshButton && !compareMode && !mergeMode\"\r\n (click)=\"RefreshFromSavedParams()\">\r\n Refresh\r\n </button>\r\n </ng-template>\r\n\r\n <kendo-grid-checkbox-column \r\n *ngIf=\"compareMode || mergeMode\" \r\n [width]=\"50\" \r\n [headerStyle]=\"{ 'font-weight' : 'bold', 'background-color': '#a9c2af' }\" \r\n [style]=\"{'text-align': 'center', 'vertical-align': 'center'}\">\r\n </kendo-grid-checkbox-column>\r\n \r\n <kendo-grid-column \r\n *ngFor=\"let item of visibleColumns\" \r\n [field]=\"item.Name\" \r\n [title]=\"GetColumnTitle(item)\"\r\n [width]=\"item.width ? item.width : 100\"\r\n [editable]=\"item.EntityField.AllowUpdateAPI\"\r\n [editor]=\"getEditor(item.EntityField)\"\r\n [headerStyle]=\"{ 'font-weight' : 'bold', 'background-color': '#a9c2af' }\"\r\n [style]=\"this.GetColumnCellStyle(item)\"\r\n >\r\n <ng-template *ngIf=\"item===visibleColumns[0]\" kendoGridFooterTemplate >\r\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>\r\n </ng-template>\r\n </kendo-grid-column>\r\n\r\n <kendo-excelexport #excelExport [data]=\"exportData\" [fileName]=\"(_viewEntity ? _viewEntity.Get('Name') : _entityInfo?.Name) + '.xlsx'\">\r\n <kendo-excelexport-column *ngFor=\"let exportCol of exportColumns\" [field]=\"exportCol.Name\" [title]=\"exportCol.Name\">\r\n </kendo-excelexport-column>\r\n </kendo-excelexport>\r\n </kendo-grid>\r\n</div>\r\n\r\n<div *ngIf=\"isCompareDialogOpened\">\r\n <div class=\"k-overlay\"></div>\r\n <kendo-window\r\n [minHeight]=\"300\"\r\n [minWidth]=\"400\"\r\n [resizable]=\"true\"\r\n (close)=\"closeCompareDialog($event)\"\r\n title=\"Compare Records\"\r\n *ngIf=\"isCompareDialogOpened\"\r\n >\r\n <div class=\"k-d-flex k-flex-col k-justify-content-between k-h-full\">\r\n <div>\r\n <mj-compare-records\r\n #recordCompareRef\r\n [entityName]=\"_entityInfo ? _entityInfo.Name : ''\"\r\n [recordsToCompare]=\"compareMode ? compareRecords : mergeRecords\" \r\n [visibleColumns]=\"visibleColumns\" \r\n [selectionMode]=\"mergeMode ? true : false\"\r\n >\r\n </mj-compare-records>\r\n </div>\r\n </div>\r\n <div class=\"k-actions k-actions-end\">\r\n <button *ngIf=\"compareMode\" kendoButton type=\"button\" (click)=\"closeCompareDialog('close')\">Close</button>\r\n <button *ngIf=\"mergeMode\"kendoButton type=\"button\" (click)=\"closeCompareDialog('cancel')\">Cancel</button>\r\n <button *ngIf=\"mergeMode\"\r\n kendoButton\r\n themeColor=\"primary\"\r\n type=\"button\"\r\n (click)=\"closeCompareDialog('merge')\"\r\n >\r\n Merge Records\r\n </button>\r\n </div> \r\n </kendo-window>\r\n</div>\r\n\r\n<kendo-dialog\r\n title=\"Confirm Choice\"\r\n *ngIf=\"isConfirmDialogOpen\"\r\n (close)=\"closeConfirmMergeDialog('cancel')\"\r\n [minWidth]=\"250\"\r\n [width]=\"450\"\r\n>\r\n <p style=\"margin: 30px; text-align: center;\">\r\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.\r\n </p>\r\n <kendo-dialog-actions>\r\n <button kendoButton (click)=\"closeConfirmMergeDialog('no')\">No</button>\r\n <button kendoButton (click)=\"closeConfirmMergeDialog('yes')\" themeColor=\"primary\">\r\n Yes\r\n </button>\r\n </kendo-dialog-actions>\r\n</kendo-dialog>", styles: [".user-view-grid-wrap {\r\n height: calc(100vh-20px);\r\n}\r\n\r\n.user-view-grid-column-header {\r\n background-color: #a9c2af;\r\n font-size: 20pt;\r\n font-weight: bold;\r\n}"] }]
917
955
  }], function () { return [{ type: i1.FormBuilder }, { type: i2.Router }]; }, { Params: [{
918
956
  type: Input
919
957
  }], BottomMargin: [{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-user-view-grid",
3
- "version": "0.9.41",
3
+ "version": "0.9.43",
4
4
  "description": "MemberJunction: Angular Grid to display dynamic and saved user views for any entity in MemberJunction.",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",