@memberjunction/ng-user-view-grid 0.9.198 → 0.9.200

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,4 +1,4 @@
1
- import { ElementRef, EventEmitter, OnInit, AfterViewInit, ViewContainerRef } from '@angular/core';
1
+ import { ElementRef, EventEmitter, OnInit, AfterViewInit, Renderer2 } from '@angular/core';
2
2
  import { FormBuilder, FormGroup } from '@angular/forms';
3
3
  import { Router } from '@angular/router';
4
4
  import { BaseEntity, RunViewParams, EntityFieldInfo, EntityInfo, PrimaryKeyValue } from '@memberjunction/core';
@@ -27,6 +27,7 @@ export type GridPendingRecordItem = {
27
27
  export declare class UserViewGridComponent implements OnInit, AfterViewInit {
28
28
  private formBuilder;
29
29
  private router;
30
+ private renderer;
30
31
  title: string;
31
32
  Params: RunViewParams | undefined;
32
33
  BottomMargin: number;
@@ -41,7 +42,7 @@ export declare class UserViewGridComponent implements OnInit, AfterViewInit {
41
42
  recordCompareComponent: CompareRecordsComponent | null;
42
43
  analysisQuestion: TextAreaComponent | null;
43
44
  analysisResults: ElementRef | null;
44
- container: ViewContainerRef;
45
+ private compareDialogContainer;
45
46
  private _pendingRecords;
46
47
  viewData: any[];
47
48
  totalRowCount: number;
@@ -78,7 +79,7 @@ export declare class UserViewGridComponent implements OnInit, AfterViewInit {
78
79
  IsDynamicView(): boolean;
79
80
  pageChange(event: PageChangeEvent): void;
80
81
  private virtualLoadData;
81
- constructor(formBuilder: FormBuilder, router: Router);
82
+ constructor(formBuilder: FormBuilder, router: Router, renderer: Renderer2);
82
83
  private _saveTimeout;
83
84
  private SaveView;
84
85
  private _viewDirty;
@@ -95,6 +96,8 @@ export declare class UserViewGridComponent implements OnInit, AfterViewInit {
95
96
  RevertPendingChanges(): void;
96
97
  ngOnInit(): void;
97
98
  ngAfterViewInit(): void;
99
+ private _movedToBody;
100
+ moveDialogToBody(): void;
98
101
  private _deferLoadCount;
99
102
  private _allowLoad;
100
103
  get AllowLoad(): boolean;
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { Component, ViewChild, ElementRef, Output, EventEmitter, Input, ViewContainerRef } from '@angular/core';
10
+ import { Component, ViewChild, ElementRef, Output, EventEmitter, Input } from '@angular/core';
11
11
  import { Metadata, RunView, EntityFieldTSType, LogError, ComparePrimaryKeys } from '@memberjunction/core';
12
12
  import { ViewInfo } from '@memberjunction/core-entities';
13
13
  import { GridComponent } from "@progress/kendo-angular-grid";
@@ -33,85 +33,85 @@ const _c1 = ["excelExport"];
33
33
  const _c2 = ["recordCompareRef"];
34
34
  const _c3 = ["analysisQuestion"];
35
35
  const _c4 = ["analysisResults"];
36
- const _c5 = ["plotContainer"];
36
+ const _c5 = ["compareDialogContainer"];
37
37
  function UserViewGridComponent_ng_template_3_button_0_Template(rf, ctx) { if (rf & 1) {
38
- const _r16 = i0.ɵɵgetCurrentView();
39
- i0.ɵɵelementStart(0, "button", 14);
40
- 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()); });
41
- i0.ɵɵelement(1, "kendo-svgicon", 15);
38
+ const _r17 = i0.ɵɵgetCurrentView();
39
+ i0.ɵɵelementStart(0, "button", 15);
40
+ 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()); });
41
+ i0.ɵɵelement(1, "kendo-svgicon", 16);
42
42
  i0.ɵɵtext(2, " Export to Excel ");
43
43
  i0.ɵɵelementEnd();
44
44
  } if (rf & 2) {
45
- const ctx_r7 = i0.ɵɵnextContext(2);
45
+ const ctx_r8 = i0.ɵɵnextContext(2);
46
46
  i0.ɵɵadvance();
47
- i0.ɵɵproperty("icon", ctx_r7.kendoSVGIcon("fileExcel"));
47
+ i0.ɵɵproperty("icon", ctx_r8.kendoSVGIcon("fileExcel"));
48
48
  } }
49
49
  function UserViewGridComponent_ng_template_3_button_1_Template(rf, ctx) { if (rf & 1) {
50
- const _r18 = i0.ɵɵgetCurrentView();
51
- i0.ɵɵelementStart(0, "button", 16);
52
- 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.enableMergeOrCompare(false, "compare")); });
50
+ const _r19 = i0.ɵɵgetCurrentView();
51
+ i0.ɵɵelementStart(0, "button", 17);
52
+ 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.enableMergeOrCompare(false, "compare")); });
53
53
  i0.ɵɵtext(1, "Compare");
54
54
  i0.ɵɵelementEnd();
55
55
  } if (rf & 2) {
56
- const ctx_r8 = i0.ɵɵnextContext(2);
57
- i0.ɵɵproperty("disabled", ctx_r8.compareMode && ctx_r8.recordsToCompare.length < 2);
56
+ const ctx_r9 = i0.ɵɵnextContext(2);
57
+ i0.ɵɵproperty("disabled", ctx_r9.compareMode && ctx_r9.recordsToCompare.length < 2);
58
58
  } }
59
59
  function UserViewGridComponent_ng_template_3_button_2_Template(rf, ctx) { if (rf & 1) {
60
- const _r20 = i0.ɵɵgetCurrentView();
61
- i0.ɵɵelementStart(0, "button", 16);
62
- 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.enableMergeOrCompare(false, "compare")); });
60
+ const _r21 = i0.ɵɵgetCurrentView();
61
+ i0.ɵɵelementStart(0, "button", 17);
62
+ 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.enableMergeOrCompare(false, "compare")); });
63
63
  i0.ɵɵtext(1, "Compare");
64
64
  i0.ɵɵelementEnd();
65
65
  } if (rf & 2) {
66
- const ctx_r9 = i0.ɵɵnextContext(2);
67
- i0.ɵɵproperty("disabled", ctx_r9.compareMode && ctx_r9.recordsToCompare.length < 2);
66
+ const ctx_r10 = i0.ɵɵnextContext(2);
67
+ i0.ɵɵproperty("disabled", ctx_r10.compareMode && ctx_r10.recordsToCompare.length < 2);
68
68
  } }
69
69
  function UserViewGridComponent_ng_template_3_button_3_Template(rf, ctx) { if (rf & 1) {
70
- const _r22 = i0.ɵɵgetCurrentView();
71
- i0.ɵɵelementStart(0, "button", 17);
72
- 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.enableMergeOrCompare(true, "compare")); });
70
+ const _r23 = i0.ɵɵgetCurrentView();
71
+ i0.ɵɵelementStart(0, "button", 18);
72
+ 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.enableMergeOrCompare(true, "compare")); });
73
73
  i0.ɵɵtext(1, "Cancel");
74
74
  i0.ɵɵelementEnd();
75
75
  } }
76
76
  function UserViewGridComponent_ng_template_3_button_4_Template(rf, ctx) { if (rf & 1) {
77
- const _r24 = i0.ɵɵgetCurrentView();
78
- i0.ɵɵelementStart(0, "button", 16);
79
- 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.enableMergeOrCompare(false, "merge")); });
77
+ const _r25 = i0.ɵɵgetCurrentView();
78
+ i0.ɵɵelementStart(0, "button", 17);
79
+ 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.enableMergeOrCompare(false, "merge")); });
80
80
  i0.ɵɵtext(1, "Merge");
81
81
  i0.ɵɵelementEnd();
82
82
  } if (rf & 2) {
83
- const ctx_r11 = i0.ɵɵnextContext(2);
84
- i0.ɵɵproperty("disabled", ctx_r11.mergeMode && ctx_r11.recordsToCompare.length < 2);
83
+ const ctx_r12 = i0.ɵɵnextContext(2);
84
+ i0.ɵɵproperty("disabled", ctx_r12.mergeMode && ctx_r12.recordsToCompare.length < 2);
85
85
  } }
86
86
  function UserViewGridComponent_ng_template_3_button_5_Template(rf, ctx) { if (rf & 1) {
87
- const _r26 = i0.ɵɵgetCurrentView();
88
- i0.ɵɵelementStart(0, "button", 17);
89
- 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.enableMergeOrCompare(false, "merge")); });
87
+ const _r27 = i0.ɵɵgetCurrentView();
88
+ i0.ɵɵelementStart(0, "button", 18);
89
+ 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.enableMergeOrCompare(false, "merge")); });
90
90
  i0.ɵɵtext(1, "Merge");
91
91
  i0.ɵɵelementEnd();
92
92
  } }
93
93
  function UserViewGridComponent_ng_template_3_button_6_Template(rf, ctx) { if (rf & 1) {
94
- const _r28 = i0.ɵɵgetCurrentView();
95
- i0.ɵɵelementStart(0, "button", 17);
96
- 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.enableMergeOrCompare(true, "merge")); });
94
+ const _r29 = i0.ɵɵgetCurrentView();
95
+ i0.ɵɵelementStart(0, "button", 18);
96
+ 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.enableMergeOrCompare(true, "merge")); });
97
97
  i0.ɵɵtext(1, "Cancel");
98
98
  i0.ɵɵelementEnd();
99
99
  } }
100
100
  function UserViewGridComponent_ng_template_3_button_7_Template(rf, ctx) { if (rf & 1) {
101
- const _r30 = i0.ɵɵgetCurrentView();
102
- i0.ɵɵelementStart(0, "button", 18);
103
- 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()); });
104
- i0.ɵɵelement(1, "kendo-svgicon", 15);
101
+ const _r31 = i0.ɵɵgetCurrentView();
102
+ i0.ɵɵelementStart(0, "button", 19);
103
+ 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()); });
104
+ i0.ɵɵelement(1, "kendo-svgicon", 16);
105
105
  i0.ɵɵtext(2, " Refresh ");
106
106
  i0.ɵɵelementEnd();
107
107
  } if (rf & 2) {
108
- const ctx_r14 = i0.ɵɵnextContext(2);
108
+ const ctx_r15 = i0.ɵɵnextContext(2);
109
109
  i0.ɵɵproperty("primary", true);
110
110
  i0.ɵɵadvance();
111
- i0.ɵɵproperty("icon", ctx_r14.kendoSVGIcon("arrowRotateCcwSmall"));
111
+ i0.ɵɵproperty("icon", ctx_r15.kendoSVGIcon("arrowRotateCcwSmall"));
112
112
  } }
113
113
  function UserViewGridComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
114
- i0.ɵɵtemplate(0, UserViewGridComponent_ng_template_3_button_0_Template, 3, 1, "button", 10)(1, UserViewGridComponent_ng_template_3_button_1_Template, 2, 1, "button", 11)(2, UserViewGridComponent_ng_template_3_button_2_Template, 2, 1, "button", 11)(3, UserViewGridComponent_ng_template_3_button_3_Template, 2, 0, "button", 12)(4, UserViewGridComponent_ng_template_3_button_4_Template, 2, 1, "button", 11)(5, UserViewGridComponent_ng_template_3_button_5_Template, 2, 0, "button", 12)(6, UserViewGridComponent_ng_template_3_button_6_Template, 2, 0, "button", 12)(7, UserViewGridComponent_ng_template_3_button_7_Template, 3, 2, "button", 13);
114
+ i0.ɵɵtemplate(0, UserViewGridComponent_ng_template_3_button_0_Template, 3, 1, "button", 11)(1, UserViewGridComponent_ng_template_3_button_1_Template, 2, 1, "button", 12)(2, UserViewGridComponent_ng_template_3_button_2_Template, 2, 1, "button", 12)(3, UserViewGridComponent_ng_template_3_button_3_Template, 2, 0, "button", 13)(4, UserViewGridComponent_ng_template_3_button_4_Template, 2, 1, "button", 12)(5, UserViewGridComponent_ng_template_3_button_5_Template, 2, 0, "button", 13)(6, UserViewGridComponent_ng_template_3_button_6_Template, 2, 0, "button", 13)(7, UserViewGridComponent_ng_template_3_button_7_Template, 3, 2, "button", 14);
115
115
  } if (rf & 2) {
116
116
  const ctx_r1 = i0.ɵɵnextContext();
117
117
  i0.ɵɵproperty("ngIf", !ctx_r1.compareMode && !ctx_r1.mergeMode);
@@ -133,7 +133,7 @@ function UserViewGridComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
133
133
  const _c6 = () => ({ "text-align": "center", "vertical-align": "center" });
134
134
  const _c7 = () => ({ "font-weight": "bold", "background-color": "#a9c2af" });
135
135
  function UserViewGridComponent_kendo_grid_checkbox_column_4_Template(rf, ctx) { if (rf & 1) {
136
- i0.ɵɵelement(0, "kendo-grid-checkbox-column", 19);
136
+ i0.ɵɵelement(0, "kendo-grid-checkbox-column", 20);
137
137
  } if (rf & 2) {
138
138
  i0.ɵɵstyleMap(i0.ɵɵpureFunction0(4, _c6));
139
139
  i0.ɵɵproperty("width", 50)("headerStyle", i0.ɵɵpureFunction0(5, _c7));
@@ -143,111 +143,113 @@ function UserViewGridComponent_kendo_grid_column_5_1_ng_template_0_Template(rf,
143
143
  i0.ɵɵpipe(1, "number");
144
144
  i0.ɵɵpipe(2, "number");
145
145
  i0.ɵɵelement(3, "br");
146
- i0.ɵɵelementStart(4, "span", 22);
146
+ i0.ɵɵelementStart(4, "span", 23);
147
147
  i0.ɵɵtext(5);
148
148
  i0.ɵɵpipe(6, "number");
149
149
  i0.ɵɵelementEnd();
150
150
  } if (rf & 2) {
151
- const ctx_r33 = i0.ɵɵnextContext(3);
152
- 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", "");
151
+ const ctx_r34 = i0.ɵɵnextContext(3);
152
+ 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", "");
153
153
  i0.ɵɵadvance(5);
154
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(6, 7, ctx_r33.viewExecutionTime, "1.2-2"), " seconds");
154
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(6, 7, ctx_r34.viewExecutionTime, "1.2-2"), " seconds");
155
155
  } }
156
156
  function UserViewGridComponent_kendo_grid_column_5_1_Template(rf, ctx) { if (rf & 1) {
157
- i0.ɵɵtemplate(0, UserViewGridComponent_kendo_grid_column_5_1_ng_template_0_Template, 7, 10, "ng-template", 21);
157
+ i0.ɵɵtemplate(0, UserViewGridComponent_kendo_grid_column_5_1_ng_template_0_Template, 7, 10, "ng-template", 22);
158
158
  } }
159
159
  function UserViewGridComponent_kendo_grid_column_5_Template(rf, ctx) { if (rf & 1) {
160
- i0.ɵɵelementStart(0, "kendo-grid-column", 20);
161
- i0.ɵɵtemplate(1, UserViewGridComponent_kendo_grid_column_5_1_Template, 1, 0, null, 9);
160
+ i0.ɵɵelementStart(0, "kendo-grid-column", 21);
161
+ i0.ɵɵtemplate(1, UserViewGridComponent_kendo_grid_column_5_1_Template, 1, 0, null, 10);
162
162
  i0.ɵɵelementEnd();
163
163
  } if (rf & 2) {
164
- const item_r31 = ctx.$implicit;
164
+ const item_r32 = ctx.$implicit;
165
165
  const ctx_r3 = i0.ɵɵnextContext();
166
- i0.ɵɵstyleMap(ctx_r3.GetColumnCellStyle(item_r31));
167
- 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, _c7));
166
+ i0.ɵɵstyleMap(ctx_r3.GetColumnCellStyle(item_r32));
167
+ 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, _c7));
168
168
  i0.ɵɵadvance();
169
- i0.ɵɵproperty("ngIf", item_r31 === ctx_r3.visibleColumns[0]);
169
+ i0.ɵɵproperty("ngIf", item_r32 === ctx_r3.visibleColumns[0]);
170
170
  } }
171
171
  function UserViewGridComponent_kendo_excelexport_column_8_Template(rf, ctx) { if (rf & 1) {
172
- i0.ɵɵelement(0, "kendo-excelexport-column", 23);
172
+ i0.ɵɵelement(0, "kendo-excelexport-column", 24);
173
173
  } if (rf & 2) {
174
- const exportCol_r34 = ctx.$implicit;
175
- i0.ɵɵproperty("field", exportCol_r34.Name)("title", exportCol_r34.Name);
174
+ const exportCol_r35 = ctx.$implicit;
175
+ i0.ɵɵproperty("field", exportCol_r35.Name)("title", exportCol_r35.Name);
176
176
  } }
177
- function UserViewGridComponent_div_9_kendo_window_2_button_6_Template(rf, ctx) { if (rf & 1) {
178
- const _r42 = i0.ɵɵgetCurrentView();
179
- i0.ɵɵelementStart(0, "button", 34);
180
- 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")); });
177
+ function UserViewGridComponent_div_11_kendo_window_2_button_5_Template(rf, ctx) { if (rf & 1) {
178
+ const _r43 = i0.ɵɵgetCurrentView();
179
+ i0.ɵɵelementStart(0, "button", 35);
180
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_11_kendo_window_2_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r43); const ctx_r42 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r42.closeCompareDialog("close")); });
181
181
  i0.ɵɵtext(1, "Close");
182
182
  i0.ɵɵelementEnd();
183
183
  } }
184
- function UserViewGridComponent_div_9_kendo_window_2_button_7_Template(rf, ctx) { if (rf & 1) {
185
- const _r44 = i0.ɵɵgetCurrentView();
186
- i0.ɵɵelementStart(0, "button", 34);
187
- 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")); });
184
+ function UserViewGridComponent_div_11_kendo_window_2_button_6_Template(rf, ctx) { if (rf & 1) {
185
+ const _r45 = i0.ɵɵgetCurrentView();
186
+ i0.ɵɵelementStart(0, "button", 35);
187
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_11_kendo_window_2_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r45); const ctx_r44 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r44.closeCompareDialog("cancel")); });
188
188
  i0.ɵɵtext(1, "Cancel");
189
189
  i0.ɵɵelementEnd();
190
190
  } }
191
- function UserViewGridComponent_div_9_kendo_window_2_button_8_Template(rf, ctx) { if (rf & 1) {
192
- const _r46 = i0.ɵɵgetCurrentView();
193
- i0.ɵɵelementStart(0, "button", 35);
194
- 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")); });
191
+ function UserViewGridComponent_div_11_kendo_window_2_button_7_Template(rf, ctx) { if (rf & 1) {
192
+ const _r47 = i0.ɵɵgetCurrentView();
193
+ i0.ɵɵelementStart(0, "button", 36);
194
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_11_kendo_window_2_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r47); const ctx_r46 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r46.closeCompareDialog("merge")); });
195
195
  i0.ɵɵtext(1, " Merge Records ");
196
196
  i0.ɵɵelementEnd();
197
197
  } }
198
- function UserViewGridComponent_div_9_kendo_window_2_kendo_dialog_9_Template(rf, ctx) { if (rf & 1) {
199
- const _r48 = i0.ɵɵgetCurrentView();
200
- i0.ɵɵelementStart(0, "kendo-dialog", 36);
201
- i0.ɵɵlistener("close", function UserViewGridComponent_div_9_kendo_window_2_kendo_dialog_9_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r48); const ctx_r47 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r47.closeConfirmMergeDialog("cancel")); });
202
- i0.ɵɵelementStart(1, "p", 37);
198
+ function UserViewGridComponent_div_11_kendo_window_2_kendo_dialog_8_Template(rf, ctx) { if (rf & 1) {
199
+ const _r49 = i0.ɵɵgetCurrentView();
200
+ i0.ɵɵelementStart(0, "kendo-dialog", 37);
201
+ i0.ɵɵlistener("close", function UserViewGridComponent_div_11_kendo_window_2_kendo_dialog_8_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r49); const ctx_r48 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r48.closeConfirmMergeDialog("cancel")); });
202
+ i0.ɵɵelementStart(1, "p", 38);
203
203
  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. ");
204
204
  i0.ɵɵelementEnd();
205
- i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 14);
206
- i0.ɵɵlistener("click", function UserViewGridComponent_div_9_kendo_window_2_kendo_dialog_9_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r48); const ctx_r49 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r49.closeConfirmMergeDialog("no")); });
205
+ i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 15);
206
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_11_kendo_window_2_kendo_dialog_8_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r49); const ctx_r50 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r50.closeConfirmMergeDialog("no")); });
207
207
  i0.ɵɵtext(5, "No");
208
208
  i0.ɵɵelementEnd();
209
- i0.ɵɵelementStart(6, "button", 38);
210
- i0.ɵɵlistener("click", function UserViewGridComponent_div_9_kendo_window_2_kendo_dialog_9_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r48); const ctx_r50 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r50.closeConfirmMergeDialog("yes")); });
209
+ i0.ɵɵelementStart(6, "button", 39);
210
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_11_kendo_window_2_kendo_dialog_8_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r49); const ctx_r51 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r51.closeConfirmMergeDialog("yes")); });
211
211
  i0.ɵɵtext(7, " Yes ");
212
212
  i0.ɵɵelementEnd()()();
213
213
  } if (rf & 2) {
214
214
  i0.ɵɵproperty("minWidth", 250)("width", 450);
215
215
  } }
216
- function UserViewGridComponent_div_9_kendo_window_2_Template(rf, ctx) { if (rf & 1) {
217
- const _r52 = i0.ɵɵgetCurrentView();
218
- i0.ɵɵelementStart(0, "kendo-window", 26);
219
- i0.ɵɵlistener("close", function UserViewGridComponent_div_9_kendo_window_2_Template_kendo_window_close_0_listener($event) { i0.ɵɵrestoreView(_r52); const ctx_r51 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r51.closeCompareDialog($event)); });
220
- i0.ɵɵelementStart(1, "div", 27)(2, "div");
221
- i0.ɵɵelement(3, "mj-compare-records", 28, 29);
222
- i0.ɵɵelementEnd()();
223
- i0.ɵɵelementStart(5, "div", 30);
224
- i0.ɵɵtemplate(6, UserViewGridComponent_div_9_kendo_window_2_button_6_Template, 2, 0, "button", 31)(7, UserViewGridComponent_div_9_kendo_window_2_button_7_Template, 2, 0, "button", 31)(8, UserViewGridComponent_div_9_kendo_window_2_button_8_Template, 2, 0, "button", 32);
216
+ function UserViewGridComponent_div_11_kendo_window_2_Template(rf, ctx) { if (rf & 1) {
217
+ const _r53 = i0.ɵɵgetCurrentView();
218
+ i0.ɵɵelementStart(0, "kendo-window", 27);
219
+ i0.ɵɵlistener("close", function UserViewGridComponent_div_11_kendo_window_2_Template_kendo_window_close_0_listener($event) { i0.ɵɵrestoreView(_r53); const ctx_r52 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r52.closeCompareDialog($event)); });
220
+ i0.ɵɵelementStart(1, "div", 28);
221
+ i0.ɵɵelement(2, "mj-compare-records", 29, 30);
222
+ i0.ɵɵelementEnd();
223
+ i0.ɵɵelementStart(4, "div", 31);
224
+ i0.ɵɵtemplate(5, UserViewGridComponent_div_11_kendo_window_2_button_5_Template, 2, 0, "button", 32)(6, UserViewGridComponent_div_11_kendo_window_2_button_6_Template, 2, 0, "button", 32)(7, UserViewGridComponent_div_11_kendo_window_2_button_7_Template, 2, 0, "button", 33);
225
225
  i0.ɵɵelementEnd();
226
- i0.ɵɵtemplate(9, UserViewGridComponent_div_9_kendo_window_2_kendo_dialog_9_Template, 8, 2, "kendo-dialog", 33);
226
+ i0.ɵɵtemplate(8, UserViewGridComponent_div_11_kendo_window_2_kendo_dialog_8_Template, 8, 2, "kendo-dialog", 34);
227
227
  i0.ɵɵelementEnd();
228
228
  } if (rf & 2) {
229
- const ctx_r35 = i0.ɵɵnextContext(2);
230
- i0.ɵɵproperty("minHeight", 300)("minWidth", 400)("resizable", true);
231
- i0.ɵɵadvance(3);
232
- i0.ɵɵproperty("entityName", ctx_r35._entityInfo ? ctx_r35._entityInfo.Name : "")("recordsToCompare", ctx_r35.recordsToCompare)("visibleColumns", ctx_r35.visibleColumns)("selectionMode", ctx_r35.mergeMode ? true : false);
229
+ const ctx_r36 = i0.ɵɵnextContext(2);
230
+ i0.ɵɵproperty("minHeight", 300)("minWidth", 800)("top", 100)("left", 100)("width", 1200)("height", 675)("resizable", true);
231
+ i0.ɵɵadvance();
232
+ i0.ɵɵproperty("fillHeight", true)("bottomMargin", 100);
233
+ i0.ɵɵadvance();
234
+ i0.ɵɵproperty("entityName", ctx_r36._entityInfo ? ctx_r36._entityInfo.Name : "")("recordsToCompare", ctx_r36.recordsToCompare)("visibleColumns", ctx_r36.visibleColumns)("selectionMode", ctx_r36.mergeMode ? true : false);
233
235
  i0.ɵɵadvance(3);
234
- i0.ɵɵproperty("ngIf", ctx_r35.compareMode);
236
+ i0.ɵɵproperty("ngIf", ctx_r36.compareMode);
235
237
  i0.ɵɵadvance();
236
- i0.ɵɵproperty("ngIf", ctx_r35.mergeMode);
238
+ i0.ɵɵproperty("ngIf", ctx_r36.mergeMode);
237
239
  i0.ɵɵadvance();
238
- i0.ɵɵproperty("ngIf", ctx_r35.mergeMode);
240
+ i0.ɵɵproperty("ngIf", ctx_r36.mergeMode);
239
241
  i0.ɵɵadvance();
240
- i0.ɵɵproperty("ngIf", ctx_r35.isConfirmDialogOpen);
242
+ i0.ɵɵproperty("ngIf", ctx_r36.isConfirmDialogOpen);
241
243
  } }
242
- function UserViewGridComponent_div_9_Template(rf, ctx) { if (rf & 1) {
244
+ function UserViewGridComponent_div_11_Template(rf, ctx) { if (rf & 1) {
243
245
  i0.ɵɵelementStart(0, "div");
244
- i0.ɵɵelement(1, "div", 24);
245
- i0.ɵɵtemplate(2, UserViewGridComponent_div_9_kendo_window_2_Template, 10, 11, "kendo-window", 25);
246
+ i0.ɵɵelement(1, "div", 25);
247
+ i0.ɵɵtemplate(2, UserViewGridComponent_div_11_kendo_window_2_Template, 9, 17, "kendo-window", 26);
246
248
  i0.ɵɵelementEnd();
247
249
  } if (rf & 2) {
248
- const ctx_r6 = i0.ɵɵnextContext();
250
+ const ctx_r7 = i0.ɵɵnextContext();
249
251
  i0.ɵɵadvance(2);
250
- i0.ɵɵproperty("ngIf", ctx_r6.isCompareDialogOpened);
252
+ i0.ɵɵproperty("ngIf", ctx_r7.isCompareDialogOpened);
251
253
  } }
252
254
  export class UserViewGridComponent {
253
255
  get PendingRecords() {
@@ -331,9 +333,10 @@ export class UserViewGridComponent {
331
333
  LogError(e);
332
334
  }
333
335
  }
334
- constructor(formBuilder, router) {
336
+ constructor(formBuilder, router, renderer) {
335
337
  this.formBuilder = formBuilder;
336
338
  this.router = router;
339
+ this.renderer = renderer;
337
340
  this.title = 'UserViewGrid';
338
341
  this.BottomMargin = 0;
339
342
  this.InEditMode = false;
@@ -374,6 +377,7 @@ export class UserViewGridComponent {
374
377
  this.showRefreshButton = true;
375
378
  this.viewExecutionTime = 0;
376
379
  this._viewDirty = false;
380
+ this._movedToBody = false;
377
381
  this._deferLoadCount = 0;
378
382
  this._allowLoad = true;
379
383
  // Export Functionality
@@ -669,6 +673,20 @@ export class UserViewGridComponent {
669
673
  if (this.Params)
670
674
  this.Refresh(this.Params);
671
675
  }
676
+ moveDialogToBody() {
677
+ if (this._movedToBody)
678
+ return;
679
+ const dialogElement = this.compareDialogContainer.nativeElement;
680
+ this.renderer.appendChild(document.body, dialogElement);
681
+ // const appBody = dialogElement.closest('.app-body');
682
+ // if (appBody) {
683
+ // this.renderer.appendChild(appBody, dialogElement);
684
+ // }
685
+ // else {
686
+ // console.error('App body element not found!');
687
+ // }
688
+ this._movedToBody = true;
689
+ }
672
690
  get AllowLoad() {
673
691
  return this._allowLoad;
674
692
  }
@@ -825,6 +843,7 @@ export class UserViewGridComponent {
825
843
  if (!cancel && this.recordsToCompare.length >= 2) {
826
844
  // this scenario occurs when we've already started the merge/compare and the user has selected records, then clicked the merge/compare button again
827
845
  this.isCompareDialogOpened = true;
846
+ this.moveDialogToBody();
828
847
  }
829
848
  else if (cancel) {
830
849
  // the user clicked cancel in our toolbar
@@ -956,7 +975,7 @@ export class UserViewGridComponent {
956
975
  });
957
976
  }
958
977
  }
959
- UserViewGridComponent.ɵfac = function UserViewGridComponent_Factory(t) { return new (t || UserViewGridComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.Router)); };
978
+ UserViewGridComponent.ɵfac = function UserViewGridComponent_Factory(t) { return new (t || UserViewGridComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i0.Renderer2)); };
960
979
  UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserViewGridComponent, selectors: [["mj-user-view-grid"]], viewQuery: function UserViewGridComponent_Query(rf, ctx) { if (rf & 1) {
961
980
  i0.ɵɵviewQuery(_c0, 5, GridComponent);
962
981
  i0.ɵɵviewQuery(_c0, 5, ElementRef);
@@ -964,7 +983,7 @@ UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserV
964
983
  i0.ɵɵviewQuery(_c2, 5);
965
984
  i0.ɵɵviewQuery(_c3, 5, TextAreaComponent);
966
985
  i0.ɵɵviewQuery(_c4, 5, ElementRef);
967
- i0.ɵɵviewQuery(_c5, 5, ViewContainerRef);
986
+ i0.ɵɵviewQuery(_c5, 5);
968
987
  } if (rf & 2) {
969
988
  let _t;
970
989
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoGridElement = _t.first);
@@ -973,8 +992,8 @@ UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserV
973
992
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.recordCompareComponent = _t.first);
974
993
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.analysisQuestion = _t.first);
975
994
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.analysisResults = _t.first);
976
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
977
- } }, 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", "", 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", "", 3, "primary", "click", 4, "ngIf"], ["kendoButton", "", 3, "click"], [3, "icon"], [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", "", 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"], ["title", "Confirm Choice", 3, "minWidth", "width", "close", 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", "", "themeColor", "primary", 3, "click"]], template: function UserViewGridComponent_Template(rf, ctx) { if (rf & 1) {
995
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.compareDialogContainer = _t.first);
996
+ } }, inputs: { Params: "Params", BottomMargin: "BottomMargin", InEditMode: "InEditMode", EditMode: "EditMode", AutoNavigate: "AutoNavigate", AllowLoad: "AllowLoad" }, outputs: { rowClicked: "rowClicked", rowEdited: "rowEdited" }, decls: 12, 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"], ["compareDialogContainer", ""], [4, "ngIf"], ["kendoButton", "", 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", "", 3, "primary", "click", 4, "ngIf"], ["kendoButton", "", 3, "click"], [3, "icon"], [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", "", 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", "top", "left", "width", "height", "resizable", "close", 4, "ngIf"], ["title", "Compare Records", 3, "minHeight", "minWidth", "top", "left", "width", "height", "resizable", "close"], ["mjFillContainer", "", 3, "fillHeight", "bottomMargin"], [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"], ["title", "Confirm Choice", 3, "minWidth", "width", "close", 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", "", "themeColor", "primary", 3, "click"]], template: function UserViewGridComponent_Template(rf, ctx) { if (rf & 1) {
978
997
  i0.ɵɵelementStart(0, "div", 0)(1, "kendo-grid", 1, 2);
979
998
  i0.ɵɵlistener("pageChange", function UserViewGridComponent_Template_kendo_grid_pageChange_1_listener($event) { return ctx.pageChange($event); });
980
999
  i0.ɵɵtwoWayListener("selectedKeysChange", function UserViewGridComponent_Template_kendo_grid_selectedKeysChange_1_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selectedKeys, $event) || (ctx.selectedKeys = $event); return $event; });
@@ -983,8 +1002,9 @@ UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserV
983
1002
  i0.ɵɵelementStart(6, "kendo-excelexport", 6, 7);
984
1003
  i0.ɵɵtemplate(8, UserViewGridComponent_kendo_excelexport_column_8_Template, 1, 2, "kendo-excelexport-column", 8);
985
1004
  i0.ɵɵelementEnd()();
986
- i0.ɵɵtemplate(9, UserViewGridComponent_div_9_Template, 3, 1, "div", 9);
987
- i0.ɵɵelementEnd();
1005
+ i0.ɵɵelementStart(9, "div", null, 9);
1006
+ i0.ɵɵtemplate(11, UserViewGridComponent_div_11_Template, 3, 1, "div", 10);
1007
+ i0.ɵɵelementEnd()();
988
1008
  } if (rf & 2) {
989
1009
  i0.ɵɵadvance();
990
1010
  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);
@@ -997,13 +1017,13 @@ UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserV
997
1017
  i0.ɵɵproperty("data", ctx.exportData)("fileName", (ctx._viewEntity ? ctx._viewEntity.Get("Name") : ctx._entityInfo == null ? null : ctx._entityInfo.Name) + ".xlsx");
998
1018
  i0.ɵɵadvance(2);
999
1019
  i0.ɵɵproperty("ngForOf", ctx.exportColumns);
1000
- i0.ɵɵadvance();
1020
+ i0.ɵɵadvance(3);
1001
1021
  i0.ɵɵproperty("ngIf", ctx.isCompareDialogOpened);
1002
1022
  } }, 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.ButtonComponent, i8.CompareRecordsComponent, i9.FillContainer, i10.SVGIconComponent, 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}"] });
1003
1023
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserViewGridComponent, [{
1004
1024
  type: Component,
1005
- 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 *ngIf=\"!compareMode && !mergeMode\" (click)=\"doExcelExport()\" >\r\n <kendo-svgicon [icon]=\"kendoSVGIcon('fileExcel')\"></kendo-svgicon>\r\n Export to Excel\r\n </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)=\"enableMergeOrCompare(false, 'compare')\" *ngIf=\"!compareMode && !mergeMode\" [disabled]=\"compareMode && recordsToCompare.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Compare</button>\r\n <button (click)=\"enableMergeOrCompare(false, 'compare')\" *ngIf=\"compareMode\" [disabled]=\"compareMode && recordsToCompare.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Compare</button>\r\n <button (click)=\"enableMergeOrCompare(true, 'compare')\" *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)=\"enableMergeOrCompare(false, 'merge')\" *ngIf=\"mergeMode\" [disabled]=\"mergeMode && recordsToCompare.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Merge</button>\r\n <button (click)=\"enableMergeOrCompare(false, 'merge')\" *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)=\"enableMergeOrCompare(true, 'merge')\" *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 *ngIf=\"showRefreshButton && !compareMode && !mergeMode\"\r\n (click)=\"RefreshFromSavedParams()\">\r\n <kendo-svgicon [icon]=\"kendoSVGIcon('arrowRotateCcwSmall')\"></kendo-svgicon>\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 \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]=\"recordsToCompare\" \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-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>\r\n </kendo-window>\r\n </div> \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}"] }]
1006
- }], () => [{ type: i1.FormBuilder }, { type: i2.Router }], { Params: [{
1025
+ 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 *ngIf=\"!compareMode && !mergeMode\" (click)=\"doExcelExport()\" >\r\n <kendo-svgicon [icon]=\"kendoSVGIcon('fileExcel')\"></kendo-svgicon>\r\n Export to Excel\r\n </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)=\"enableMergeOrCompare(false, 'compare')\" *ngIf=\"!compareMode && !mergeMode\" [disabled]=\"compareMode && recordsToCompare.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Compare</button>\r\n <button (click)=\"enableMergeOrCompare(false, 'compare')\" *ngIf=\"compareMode\" [disabled]=\"compareMode && recordsToCompare.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Compare</button>\r\n <button (click)=\"enableMergeOrCompare(true, 'compare')\" *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)=\"enableMergeOrCompare(false, 'merge')\" *ngIf=\"mergeMode\" [disabled]=\"mergeMode && recordsToCompare.length < 2\" class=\"k-button k-button-md k-rounded-md k-button-solid-base k-button-solid\">Merge</button>\r\n <button (click)=\"enableMergeOrCompare(false, 'merge')\" *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)=\"enableMergeOrCompare(true, 'merge')\" *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 *ngIf=\"showRefreshButton && !compareMode && !mergeMode\"\r\n (click)=\"RefreshFromSavedParams()\">\r\n <kendo-svgicon [icon]=\"kendoSVGIcon('arrowRotateCcwSmall')\"></kendo-svgicon>\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 \r\n <div #compareDialogContainer>\r\n <div *ngIf=\"isCompareDialogOpened\">\r\n <div class=\"k-overlay\"></div>\r\n <kendo-window\r\n [minHeight]=\"300\"\r\n [minWidth]=\"800\"\r\n [top]=\"100\"\r\n [left]=\"100\"\r\n [width]=\"1200\"\r\n [height]=\"675\"\r\n [resizable]=\"true\"\r\n (close)=\"closeCompareDialog($event)\"\r\n title=\"Compare Records\"\r\n *ngIf=\"isCompareDialogOpened\"\r\n >\r\n <div mjFillContainer [fillHeight]=\"true\" [bottomMargin]=\"100\">\r\n <mj-compare-records\r\n #recordCompareRef\r\n [entityName]=\"_entityInfo ? _entityInfo.Name : ''\"\r\n [recordsToCompare]=\"recordsToCompare\" \r\n [visibleColumns]=\"visibleColumns\" \r\n [selectionMode]=\"mergeMode ? true : false\"\r\n >\r\n </mj-compare-records>\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-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>\r\n </kendo-window>\r\n </div> \r\n </div>\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}"] }]
1026
+ }], () => [{ type: i1.FormBuilder }, { type: i2.Router }, { type: i0.Renderer2 }], { Params: [{
1007
1027
  type: Input
1008
1028
  }], BottomMargin: [{
1009
1029
  type: Input
@@ -1035,9 +1055,9 @@ UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserV
1035
1055
  }], analysisResults: [{
1036
1056
  type: ViewChild,
1037
1057
  args: ['analysisResults', { read: ElementRef }]
1038
- }], container: [{
1058
+ }], compareDialogContainer: [{
1039
1059
  type: ViewChild,
1040
- args: ['plotContainer', { read: ViewContainerRef }]
1060
+ args: ['compareDialogContainer']
1041
1061
  }], AllowLoad: [{
1042
1062
  type: Input
1043
1063
  }] }); })();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-user-view-grid",
3
- "version": "0.9.198",
3
+ "version": "0.9.200",
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",
@@ -29,12 +29,12 @@
29
29
  "@progress/kendo-angular-buttons": "~15.1.0"
30
30
  },
31
31
  "dependencies": {
32
- "@memberjunction/core-entities": "^0.9.150",
32
+ "@memberjunction/core-entities": "^0.9.152",
33
33
  "@memberjunction/global": "^0.9.148",
34
34
  "@memberjunction/core": "^0.9.168",
35
- "@memberjunction/graphql-dataprovider": "^0.9.168",
35
+ "@memberjunction/graphql-dataprovider": "^0.9.171",
36
36
  "@memberjunction/ng-shared": "^0.9.19",
37
- "@memberjunction/ng-compare-records": "^0.9.165",
37
+ "@memberjunction/ng-compare-records": "^0.9.167",
38
38
  "@memberjunction/ng-container-directives": "^0.9.133",
39
39
  "tslib": "^2.3.0"
40
40
  },