@memberjunction/ng-user-view-grid 0.9.120 → 0.9.131

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 } from '@angular/core';
1
+ import { ElementRef, EventEmitter, OnInit, AfterViewInit, ViewContainerRef } 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';
@@ -7,6 +7,7 @@ import { CellClickEvent, GridDataResult, PageChangeEvent, GridComponent, CellClo
7
7
  import { ExcelExportComponent } from '@progress/kendo-angular-excel-export';
8
8
  import { CompareRecordsComponent } from '@memberjunction/ng-compare-records';
9
9
  import { kendoSVGIcon } from '@memberjunction/ng-shared';
10
+ import { TextAreaComponent } from '@progress/kendo-angular-inputs';
10
11
  import * as i0 from "@angular/core";
11
12
  export type GridRowClickedEvent = {
12
13
  entityId: number;
@@ -38,6 +39,9 @@ export declare class UserViewGridComponent implements OnInit, AfterViewInit {
38
39
  kendoGridElementRef: ElementRef | null;
39
40
  kendoExcelExport: ExcelExportComponent | null;
40
41
  recordCompareComponent: CompareRecordsComponent | null;
42
+ analysisQuestion: TextAreaComponent | null;
43
+ analysisResults: ElementRef | null;
44
+ container: ViewContainerRef;
41
45
  private _pendingRecords;
42
46
  viewData: [];
43
47
  totalRowCount: number;
@@ -67,6 +71,7 @@ export declare class UserViewGridComponent implements OnInit, AfterViewInit {
67
71
  showRefreshButton: boolean;
68
72
  viewExecutionTime: number;
69
73
  get PendingRecords(): GridPendingRecordItem[];
74
+ get ViewID(): number;
70
75
  protected StartEditMode(): void;
71
76
  protected EndEditMode(): void;
72
77
  EditingComplete(): Promise<boolean>;
@@ -110,6 +115,7 @@ export declare class UserViewGridComponent implements OnInit, AfterViewInit {
110
115
  doExcelExport(): Promise<void>;
111
116
  protected getExportData(): Promise<any[]>;
112
117
  kendoSVGIcon: typeof kendoSVGIcon;
118
+ selectTabHandler(): void;
113
119
  static ɵfac: i0.ɵɵFactoryDeclaration<UserViewGridComponent, never>;
114
120
  static ɵcmp: i0.ɵɵComponentDeclaration<UserViewGridComponent, "mj-user-view-grid", never, { "Params": { "alias": "Params"; "required": false; }; "BottomMargin": { "alias": "BottomMargin"; "required": false; }; "InEditMode": { "alias": "InEditMode"; "required": false; }; "EditMode": { "alias": "EditMode"; "required": false; }; "AutoNavigate": { "alias": "AutoNavigate"; "required": false; }; "AllowLoad": { "alias": "AllowLoad"; "required": false; }; }, { "rowClicked": "rowClicked"; "rowEdited": "rowEdited"; }, never, never, false, never>;
115
121
  }
@@ -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 } from '@angular/core';
10
+ import { Component, ViewChild, ElementRef, Output, EventEmitter, Input, ViewContainerRef } from '@angular/core';
11
11
  import { Metadata, RunView, EntityFieldTSType, LogError } from '@memberjunction/core';
12
12
  import { ViewInfo } from '@memberjunction/core-entities';
13
13
  import { GridComponent } from "@progress/kendo-angular-grid";
@@ -15,7 +15,8 @@ import { Keys } from '@progress/kendo-angular-common';
15
15
  import { Subject } from 'rxjs';
16
16
  import { ExcelExportComponent } from '@progress/kendo-angular-excel-export';
17
17
  import { MJEventType, MJGlobal } from '@memberjunction/global';
18
- import { kendoSVGIcon } from '@memberjunction/ng-shared';
18
+ import { SharedService, kendoSVGIcon } from '@memberjunction/ng-shared';
19
+ import { TextAreaComponent } from '@progress/kendo-angular-inputs';
19
20
  import * as i0 from "@angular/core";
20
21
  import * as i1 from "@angular/forms";
21
22
  import * as i2 from "@angular/router";
@@ -28,228 +29,275 @@ import * as i8 from "@memberjunction/ng-compare-records";
28
29
  import * as i9 from "@memberjunction/ng-container-directives";
29
30
  import * as i10 from "@progress/kendo-angular-icons";
30
31
  import * as i11 from "@progress/kendo-angular-layout";
32
+ import * as i12 from "@memberjunction/ng-ask-skip";
31
33
  const _c0 = ["kendoGrid"];
32
34
  const _c1 = ["excelExport"];
33
35
  const _c2 = ["recordCompareRef"];
34
- function UserViewGridComponent_ng_template_5_button_0_Template(rf, ctx) { if (rf & 1) {
35
- const _r16 = i0.ɵɵgetCurrentView();
36
- i0.ɵɵelementStart(0, "button", 16);
37
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_5_button_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.doExcelExport()); });
38
- i0.ɵɵelement(1, "kendo-svgicon", 17);
36
+ const _c3 = ["analysisQuestion"];
37
+ const _c4 = ["analysisResults"];
38
+ const _c5 = ["plotContainer"];
39
+ function UserViewGridComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵtext(0, "Data");
41
+ } }
42
+ function UserViewGridComponent_ng_template_4_ng_template_2_button_0_Template(rf, ctx) { if (rf & 1) {
43
+ const _r19 = i0.ɵɵgetCurrentView();
44
+ i0.ɵɵelementStart(0, "button", 18);
45
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_4_ng_template_2_button_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r18.doExcelExport()); });
46
+ i0.ɵɵelement(1, "kendo-svgicon", 19);
39
47
  i0.ɵɵtext(2, " Export to Excel ");
40
48
  i0.ɵɵelementEnd();
41
49
  } if (rf & 2) {
42
- const ctx_r7 = i0.ɵɵnextContext(2);
50
+ const ctx_r10 = i0.ɵɵnextContext(3);
43
51
  i0.ɵɵadvance();
44
- i0.ɵɵproperty("icon", ctx_r7.kendoSVGIcon("fileExcel"));
52
+ i0.ɵɵproperty("icon", ctx_r10.kendoSVGIcon("fileExcel"));
45
53
  } }
46
- function UserViewGridComponent_ng_template_5_button_1_Template(rf, ctx) { if (rf & 1) {
47
- const _r18 = i0.ɵɵgetCurrentView();
48
- i0.ɵɵelementStart(0, "button", 18);
49
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_5_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r17.enableMergeOrCompare(false, "compare")); });
54
+ function UserViewGridComponent_ng_template_4_ng_template_2_button_1_Template(rf, ctx) { if (rf & 1) {
55
+ const _r21 = i0.ɵɵgetCurrentView();
56
+ i0.ɵɵelementStart(0, "button", 20);
57
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_4_ng_template_2_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r20.enableMergeOrCompare(false, "compare")); });
50
58
  i0.ɵɵtext(1, "Compare");
51
59
  i0.ɵɵelementEnd();
52
60
  } if (rf & 2) {
53
- const ctx_r8 = i0.ɵɵnextContext(2);
54
- i0.ɵɵproperty("disabled", ctx_r8.compareMode && ctx_r8.recordsToCompare.length < 2);
61
+ const ctx_r11 = i0.ɵɵnextContext(3);
62
+ i0.ɵɵproperty("disabled", ctx_r11.compareMode && ctx_r11.recordsToCompare.length < 2);
55
63
  } }
56
- function UserViewGridComponent_ng_template_5_button_2_Template(rf, ctx) { if (rf & 1) {
57
- const _r20 = i0.ɵɵgetCurrentView();
58
- i0.ɵɵelementStart(0, "button", 18);
59
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_5_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.enableMergeOrCompare(false, "compare")); });
64
+ function UserViewGridComponent_ng_template_4_ng_template_2_button_2_Template(rf, ctx) { if (rf & 1) {
65
+ const _r23 = i0.ɵɵgetCurrentView();
66
+ i0.ɵɵelementStart(0, "button", 20);
67
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_4_ng_template_2_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r22.enableMergeOrCompare(false, "compare")); });
60
68
  i0.ɵɵtext(1, "Compare");
61
69
  i0.ɵɵelementEnd();
62
70
  } if (rf & 2) {
63
- const ctx_r9 = i0.ɵɵnextContext(2);
64
- i0.ɵɵproperty("disabled", ctx_r9.compareMode && ctx_r9.recordsToCompare.length < 2);
71
+ const ctx_r12 = i0.ɵɵnextContext(3);
72
+ i0.ɵɵproperty("disabled", ctx_r12.compareMode && ctx_r12.recordsToCompare.length < 2);
65
73
  } }
66
- function UserViewGridComponent_ng_template_5_button_3_Template(rf, ctx) { if (rf & 1) {
67
- const _r22 = i0.ɵɵgetCurrentView();
68
- i0.ɵɵelementStart(0, "button", 19);
69
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_5_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.enableMergeOrCompare(true, "compare")); });
74
+ function UserViewGridComponent_ng_template_4_ng_template_2_button_3_Template(rf, ctx) { if (rf & 1) {
75
+ const _r25 = i0.ɵɵgetCurrentView();
76
+ i0.ɵɵelementStart(0, "button", 21);
77
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_4_ng_template_2_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r24.enableMergeOrCompare(true, "compare")); });
70
78
  i0.ɵɵtext(1, "Cancel");
71
79
  i0.ɵɵelementEnd();
72
80
  } }
73
- function UserViewGridComponent_ng_template_5_button_4_Template(rf, ctx) { if (rf & 1) {
74
- const _r24 = i0.ɵɵgetCurrentView();
75
- i0.ɵɵelementStart(0, "button", 18);
76
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_5_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.enableMergeOrCompare(false, "merge")); });
81
+ function UserViewGridComponent_ng_template_4_ng_template_2_button_4_Template(rf, ctx) { if (rf & 1) {
82
+ const _r27 = i0.ɵɵgetCurrentView();
83
+ i0.ɵɵelementStart(0, "button", 20);
84
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_4_ng_template_2_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r26.enableMergeOrCompare(false, "merge")); });
77
85
  i0.ɵɵtext(1, "Merge");
78
86
  i0.ɵɵelementEnd();
79
87
  } if (rf & 2) {
80
- const ctx_r11 = i0.ɵɵnextContext(2);
81
- i0.ɵɵproperty("disabled", ctx_r11.mergeMode && ctx_r11.recordsToCompare.length < 2);
88
+ const ctx_r14 = i0.ɵɵnextContext(3);
89
+ i0.ɵɵproperty("disabled", ctx_r14.mergeMode && ctx_r14.recordsToCompare.length < 2);
82
90
  } }
83
- function UserViewGridComponent_ng_template_5_button_5_Template(rf, ctx) { if (rf & 1) {
84
- const _r26 = i0.ɵɵgetCurrentView();
85
- i0.ɵɵelementStart(0, "button", 19);
86
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_5_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r25.enableMergeOrCompare(false, "merge")); });
91
+ function UserViewGridComponent_ng_template_4_ng_template_2_button_5_Template(rf, ctx) { if (rf & 1) {
92
+ const _r29 = i0.ɵɵgetCurrentView();
93
+ i0.ɵɵelementStart(0, "button", 21);
94
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_4_ng_template_2_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r28.enableMergeOrCompare(false, "merge")); });
87
95
  i0.ɵɵtext(1, "Merge");
88
96
  i0.ɵɵelementEnd();
89
97
  } }
90
- function UserViewGridComponent_ng_template_5_button_6_Template(rf, ctx) { if (rf & 1) {
91
- const _r28 = i0.ɵɵgetCurrentView();
92
- i0.ɵɵelementStart(0, "button", 19);
93
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_5_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r28); const ctx_r27 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r27.enableMergeOrCompare(true, "merge")); });
98
+ function UserViewGridComponent_ng_template_4_ng_template_2_button_6_Template(rf, ctx) { if (rf & 1) {
99
+ const _r31 = i0.ɵɵgetCurrentView();
100
+ i0.ɵɵelementStart(0, "button", 21);
101
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_4_ng_template_2_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r30.enableMergeOrCompare(true, "merge")); });
94
102
  i0.ɵɵtext(1, "Cancel");
95
103
  i0.ɵɵelementEnd();
96
104
  } }
97
- function UserViewGridComponent_ng_template_5_button_7_Template(rf, ctx) { if (rf & 1) {
98
- const _r30 = i0.ɵɵgetCurrentView();
99
- i0.ɵɵelementStart(0, "button", 20);
100
- i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_5_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r29.RefreshFromSavedParams()); });
101
- i0.ɵɵelement(1, "kendo-svgicon", 17);
105
+ function UserViewGridComponent_ng_template_4_ng_template_2_button_7_Template(rf, ctx) { if (rf & 1) {
106
+ const _r33 = i0.ɵɵgetCurrentView();
107
+ i0.ɵɵelementStart(0, "button", 22);
108
+ i0.ɵɵlistener("click", function UserViewGridComponent_ng_template_4_ng_template_2_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r32.RefreshFromSavedParams()); });
109
+ i0.ɵɵelement(1, "kendo-svgicon", 19);
102
110
  i0.ɵɵtext(2, " Refresh ");
103
111
  i0.ɵɵelementEnd();
104
112
  } if (rf & 2) {
105
- const ctx_r14 = i0.ɵɵnextContext(2);
113
+ const ctx_r17 = i0.ɵɵnextContext(3);
106
114
  i0.ɵɵproperty("primary", true);
107
115
  i0.ɵɵadvance();
108
- i0.ɵɵproperty("icon", ctx_r14.kendoSVGIcon("arrowRotateCcwSmall"));
116
+ i0.ɵɵproperty("icon", ctx_r17.kendoSVGIcon("arrowRotateCcwSmall"));
109
117
  } }
110
- function UserViewGridComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
111
- i0.ɵɵtemplate(0, UserViewGridComponent_ng_template_5_button_0_Template, 3, 1, "button", 12)(1, UserViewGridComponent_ng_template_5_button_1_Template, 2, 1, "button", 13)(2, UserViewGridComponent_ng_template_5_button_2_Template, 2, 1, "button", 13)(3, UserViewGridComponent_ng_template_5_button_3_Template, 2, 0, "button", 14)(4, UserViewGridComponent_ng_template_5_button_4_Template, 2, 1, "button", 13)(5, UserViewGridComponent_ng_template_5_button_5_Template, 2, 0, "button", 14)(6, UserViewGridComponent_ng_template_5_button_6_Template, 2, 0, "button", 14)(7, UserViewGridComponent_ng_template_5_button_7_Template, 3, 2, "button", 15);
118
+ function UserViewGridComponent_ng_template_4_ng_template_2_Template(rf, ctx) { if (rf & 1) {
119
+ i0.ɵɵtemplate(0, UserViewGridComponent_ng_template_4_ng_template_2_button_0_Template, 3, 1, "button", 14)(1, UserViewGridComponent_ng_template_4_ng_template_2_button_1_Template, 2, 1, "button", 15)(2, UserViewGridComponent_ng_template_4_ng_template_2_button_2_Template, 2, 1, "button", 15)(3, UserViewGridComponent_ng_template_4_ng_template_2_button_3_Template, 2, 0, "button", 16)(4, UserViewGridComponent_ng_template_4_ng_template_2_button_4_Template, 2, 1, "button", 15)(5, UserViewGridComponent_ng_template_4_ng_template_2_button_5_Template, 2, 0, "button", 16)(6, UserViewGridComponent_ng_template_4_ng_template_2_button_6_Template, 2, 0, "button", 16)(7, UserViewGridComponent_ng_template_4_ng_template_2_button_7_Template, 3, 2, "button", 17);
112
120
  } if (rf & 2) {
113
- const ctx_r1 = i0.ɵɵnextContext();
114
- i0.ɵɵproperty("ngIf", !ctx_r1.compareMode && !ctx_r1.mergeMode);
121
+ const ctx_r5 = i0.ɵɵnextContext(2);
122
+ i0.ɵɵproperty("ngIf", !ctx_r5.compareMode && !ctx_r5.mergeMode);
115
123
  i0.ɵɵadvance();
116
- i0.ɵɵproperty("ngIf", !ctx_r1.compareMode && !ctx_r1.mergeMode);
124
+ i0.ɵɵproperty("ngIf", !ctx_r5.compareMode && !ctx_r5.mergeMode);
117
125
  i0.ɵɵadvance();
118
- i0.ɵɵproperty("ngIf", ctx_r1.compareMode);
126
+ i0.ɵɵproperty("ngIf", ctx_r5.compareMode);
119
127
  i0.ɵɵadvance();
120
- i0.ɵɵproperty("ngIf", ctx_r1.compareMode);
128
+ i0.ɵɵproperty("ngIf", ctx_r5.compareMode);
121
129
  i0.ɵɵadvance();
122
- i0.ɵɵproperty("ngIf", ctx_r1.mergeMode);
130
+ i0.ɵɵproperty("ngIf", ctx_r5.mergeMode);
123
131
  i0.ɵɵadvance();
124
- i0.ɵɵproperty("ngIf", !ctx_r1.mergeMode && !ctx_r1.compareMode);
132
+ i0.ɵɵproperty("ngIf", !ctx_r5.mergeMode && !ctx_r5.compareMode);
125
133
  i0.ɵɵadvance();
126
- i0.ɵɵproperty("ngIf", ctx_r1.mergeMode);
134
+ i0.ɵɵproperty("ngIf", ctx_r5.mergeMode);
127
135
  i0.ɵɵadvance();
128
- i0.ɵɵproperty("ngIf", ctx_r1.showRefreshButton && !ctx_r1.compareMode && !ctx_r1.mergeMode);
136
+ i0.ɵɵproperty("ngIf", ctx_r5.showRefreshButton && !ctx_r5.compareMode && !ctx_r5.mergeMode);
129
137
  } }
130
- const _c3 = () => ({ "text-align": "center", "vertical-align": "center" });
131
- const _c4 = () => ({ "font-weight": "bold", "background-color": "#a9c2af" });
132
- function UserViewGridComponent_kendo_grid_checkbox_column_6_Template(rf, ctx) { if (rf & 1) {
133
- i0.ɵɵelement(0, "kendo-grid-checkbox-column", 21);
138
+ const _c6 = () => ({ "text-align": "center", "vertical-align": "center" });
139
+ const _c7 = () => ({ "font-weight": "bold", "background-color": "#a9c2af" });
140
+ function UserViewGridComponent_ng_template_4_kendo_grid_checkbox_column_3_Template(rf, ctx) { if (rf & 1) {
141
+ i0.ɵɵelement(0, "kendo-grid-checkbox-column", 23);
134
142
  } if (rf & 2) {
135
- i0.ɵɵstyleMap(i0.ɵɵpureFunction0(4, _c3));
136
- i0.ɵɵproperty("width", 50)("headerStyle", i0.ɵɵpureFunction0(5, _c4));
143
+ i0.ɵɵstyleMap(i0.ɵɵpureFunction0(4, _c6));
144
+ i0.ɵɵproperty("width", 50)("headerStyle", i0.ɵɵpureFunction0(5, _c7));
137
145
  } }
138
- function UserViewGridComponent_kendo_grid_column_7_1_ng_template_0_Template(rf, ctx) { if (rf & 1) {
146
+ function UserViewGridComponent_ng_template_4_kendo_grid_column_4_1_ng_template_0_Template(rf, ctx) { if (rf & 1) {
139
147
  i0.ɵɵtext(0);
140
148
  i0.ɵɵpipe(1, "number");
141
149
  i0.ɵɵpipe(2, "number");
142
150
  i0.ɵɵelement(3, "br");
143
- i0.ɵɵelementStart(4, "span", 24);
151
+ i0.ɵɵelementStart(4, "span", 26);
144
152
  i0.ɵɵtext(5);
145
153
  i0.ɵɵpipe(6, "number");
146
154
  i0.ɵɵelementEnd();
147
155
  } if (rf & 2) {
148
- const ctx_r33 = i0.ɵɵnextContext(3);
149
- 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", "");
156
+ const ctx_r36 = i0.ɵɵnextContext(4);
157
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(1, 3, ctx_r36.viewData.length), "", ctx_r36.totalRowCount > ctx_r36.viewData.length ? " of " + i0.ɵɵpipeBind1(2, 5, ctx_r36.totalRowCount) : " rows", "");
150
158
  i0.ɵɵadvance(5);
151
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(6, 7, ctx_r33.viewExecutionTime, "1.2-2"), " seconds");
159
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(6, 7, ctx_r36.viewExecutionTime, "1.2-2"), " seconds");
152
160
  } }
153
- function UserViewGridComponent_kendo_grid_column_7_1_Template(rf, ctx) { if (rf & 1) {
154
- i0.ɵɵtemplate(0, UserViewGridComponent_kendo_grid_column_7_1_ng_template_0_Template, 7, 10, "ng-template", 23);
161
+ function UserViewGridComponent_ng_template_4_kendo_grid_column_4_1_Template(rf, ctx) { if (rf & 1) {
162
+ i0.ɵɵtemplate(0, UserViewGridComponent_ng_template_4_kendo_grid_column_4_1_ng_template_0_Template, 7, 10, "ng-template", 25);
155
163
  } }
156
- function UserViewGridComponent_kendo_grid_column_7_Template(rf, ctx) { if (rf & 1) {
157
- i0.ɵɵelementStart(0, "kendo-grid-column", 22);
158
- i0.ɵɵtemplate(1, UserViewGridComponent_kendo_grid_column_7_1_Template, 1, 0, null, 11);
164
+ function UserViewGridComponent_ng_template_4_kendo_grid_column_4_Template(rf, ctx) { if (rf & 1) {
165
+ i0.ɵɵelementStart(0, "kendo-grid-column", 24);
166
+ i0.ɵɵtemplate(1, UserViewGridComponent_ng_template_4_kendo_grid_column_4_1_Template, 1, 0, null, 5);
159
167
  i0.ɵɵelementEnd();
160
168
  } if (rf & 2) {
161
- const item_r31 = ctx.$implicit;
162
- const ctx_r3 = i0.ɵɵnextContext();
163
- i0.ɵɵstyleMap(ctx_r3.GetColumnCellStyle(item_r31));
164
- 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));
169
+ const item_r34 = ctx.$implicit;
170
+ const ctx_r7 = i0.ɵɵnextContext(2);
171
+ i0.ɵɵstyleMap(ctx_r7.GetColumnCellStyle(item_r34));
172
+ i0.ɵɵproperty("field", item_r34.Name)("title", ctx_r7.GetColumnTitle(item_r34))("width", item_r34.width ? item_r34.width : 100)("editable", item_r34.EntityField.AllowUpdateAPI)("editor", ctx_r7.getEditor(item_r34.EntityField))("headerStyle", i0.ɵɵpureFunction0(9, _c7));
165
173
  i0.ɵɵadvance();
166
- i0.ɵɵproperty("ngIf", item_r31 === ctx_r3.visibleColumns[0]);
174
+ i0.ɵɵproperty("ngIf", item_r34 === ctx_r7.visibleColumns[0]);
167
175
  } }
168
- function UserViewGridComponent_kendo_excelexport_column_10_Template(rf, ctx) { if (rf & 1) {
169
- i0.ɵɵelement(0, "kendo-excelexport-column", 25);
176
+ function UserViewGridComponent_ng_template_4_kendo_excelexport_column_7_Template(rf, ctx) { if (rf & 1) {
177
+ i0.ɵɵelement(0, "kendo-excelexport-column", 27);
170
178
  } if (rf & 2) {
171
- const exportCol_r34 = ctx.$implicit;
172
- i0.ɵɵproperty("field", exportCol_r34.Name)("title", exportCol_r34.Name);
179
+ const exportCol_r37 = ctx.$implicit;
180
+ i0.ɵɵproperty("field", exportCol_r37.Name)("title", exportCol_r37.Name);
173
181
  } }
174
- function UserViewGridComponent_div_15_kendo_window_2_button_6_Template(rf, ctx) { if (rf & 1) {
175
- const _r42 = i0.ɵɵgetCurrentView();
176
- i0.ɵɵelementStart(0, "button", 36);
177
- i0.ɵɵlistener("click", function UserViewGridComponent_div_15_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")); });
182
+ function UserViewGridComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
183
+ const _r39 = i0.ɵɵgetCurrentView();
184
+ i0.ɵɵelementStart(0, "kendo-grid", 6, 7);
185
+ i0.ɵɵlistener("pageChange", function UserViewGridComponent_ng_template_4_Template_kendo_grid_pageChange_0_listener($event) { i0.ɵɵrestoreView(_r39); const ctx_r38 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r38.pageChange($event)); })("selectedKeysChange", function UserViewGridComponent_ng_template_4_Template_kendo_grid_selectedKeysChange_0_listener($event) { i0.ɵɵrestoreView(_r39); const ctx_r40 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r40.selectedKeys = $event); })("cellClick", function UserViewGridComponent_ng_template_4_Template_kendo_grid_cellClick_0_listener($event) { i0.ɵɵrestoreView(_r39); const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.cellClickHandler($event)); })("cellClose", function UserViewGridComponent_ng_template_4_Template_kendo_grid_cellClose_0_listener($event) { i0.ɵɵrestoreView(_r39); const ctx_r42 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r42.cellCloseHandler($event)); })("columnReorder", function UserViewGridComponent_ng_template_4_Template_kendo_grid_columnReorder_0_listener($event) { i0.ɵɵrestoreView(_r39); const ctx_r43 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r43.columnReorder($event)); })("columnResize", function UserViewGridComponent_ng_template_4_Template_kendo_grid_columnResize_0_listener($event) { i0.ɵɵrestoreView(_r39); const ctx_r44 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r44.columnResize($event)); })("selectionChange", function UserViewGridComponent_ng_template_4_Template_kendo_grid_selectionChange_0_listener($event) { i0.ɵɵrestoreView(_r39); const ctx_r45 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r45.selectionChange($event)); })("sortChange", function UserViewGridComponent_ng_template_4_Template_kendo_grid_sortChange_0_listener($event) { i0.ɵɵrestoreView(_r39); const ctx_r46 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r46.sortChanged($event)); });
186
+ i0.ɵɵtemplate(2, UserViewGridComponent_ng_template_4_ng_template_2_Template, 8, 8, "ng-template", 8)(3, UserViewGridComponent_ng_template_4_kendo_grid_checkbox_column_3_Template, 1, 6, "kendo-grid-checkbox-column", 9)(4, UserViewGridComponent_ng_template_4_kendo_grid_column_4_Template, 2, 10, "kendo-grid-column", 10);
187
+ i0.ɵɵelementStart(5, "kendo-excelexport", 11, 12);
188
+ i0.ɵɵtemplate(7, UserViewGridComponent_ng_template_4_kendo_excelexport_column_7_Template, 1, 2, "kendo-excelexport-column", 13);
189
+ i0.ɵɵelementEnd()();
190
+ } if (rf & 2) {
191
+ const ctx_r1 = i0.ɵɵnextContext();
192
+ i0.ɵɵproperty("resizable", true)("data", ctx_r1.gridView)("skip", ctx_r1.skip)("pageSize", ctx_r1.pageSize)("rowHeight", 36)("loading", ctx_r1.isLoading)("height", ctx_r1.gridHeight)("sortable", true)("sort", ctx_r1.sortSettings)("resizable", true)("reorderable", true)("selectable", true)("selectedKeys", ctx_r1.selectedKeys);
193
+ i0.ɵɵadvance(3);
194
+ i0.ɵɵproperty("ngIf", ctx_r1.compareMode || ctx_r1.mergeMode);
195
+ i0.ɵɵadvance();
196
+ i0.ɵɵproperty("ngForOf", ctx_r1.visibleColumns);
197
+ i0.ɵɵadvance();
198
+ i0.ɵɵproperty("data", ctx_r1.exportData)("fileName", (ctx_r1._viewEntity ? ctx_r1._viewEntity.Get("Name") : ctx_r1._entityInfo == null ? null : ctx_r1._entityInfo.Name) + ".xlsx");
199
+ i0.ɵɵadvance(2);
200
+ i0.ɵɵproperty("ngForOf", ctx_r1.exportColumns);
201
+ } }
202
+ function UserViewGridComponent_kendo_tabstrip_tab_5_ng_template_1_Template(rf, ctx) { if (rf & 1) {
203
+ i0.ɵɵtext(0, "Analysis");
204
+ } }
205
+ function UserViewGridComponent_kendo_tabstrip_tab_5_ng_template_2_Template(rf, ctx) { if (rf & 1) {
206
+ i0.ɵɵelement(0, "mj-ask-skip", 28);
207
+ } if (rf & 2) {
208
+ const ctx_r48 = i0.ɵɵnextContext(2);
209
+ i0.ɵɵproperty("AllowNewConversations", false)("ShowConversationList", false)("UpdateAppRoute", false)("ViewID", ctx_r48.ViewID)("LinkedEntity", "User Views")("LinkedEntityRecordID", ctx_r48.ViewID);
210
+ } }
211
+ function UserViewGridComponent_kendo_tabstrip_tab_5_Template(rf, ctx) { if (rf & 1) {
212
+ i0.ɵɵelementStart(0, "kendo-tabstrip-tab");
213
+ i0.ɵɵtemplate(1, UserViewGridComponent_kendo_tabstrip_tab_5_ng_template_1_Template, 1, 0, "ng-template", 3)(2, UserViewGridComponent_kendo_tabstrip_tab_5_ng_template_2_Template, 1, 6, "ng-template", 4);
214
+ i0.ɵɵelementEnd();
215
+ } }
216
+ function UserViewGridComponent_div_6_kendo_window_2_button_6_Template(rf, ctx) { if (rf & 1) {
217
+ const _r56 = i0.ɵɵgetCurrentView();
218
+ i0.ɵɵelementStart(0, "button", 39);
219
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_6_kendo_window_2_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r56); const ctx_r55 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r55.closeCompareDialog("close")); });
178
220
  i0.ɵɵtext(1, "Close");
179
221
  i0.ɵɵelementEnd();
180
222
  } }
181
- function UserViewGridComponent_div_15_kendo_window_2_button_7_Template(rf, ctx) { if (rf & 1) {
182
- const _r44 = i0.ɵɵgetCurrentView();
183
- i0.ɵɵelementStart(0, "button", 36);
184
- i0.ɵɵlistener("click", function UserViewGridComponent_div_15_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")); });
223
+ function UserViewGridComponent_div_6_kendo_window_2_button_7_Template(rf, ctx) { if (rf & 1) {
224
+ const _r58 = i0.ɵɵgetCurrentView();
225
+ i0.ɵɵelementStart(0, "button", 39);
226
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_6_kendo_window_2_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r58); const ctx_r57 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r57.closeCompareDialog("cancel")); });
185
227
  i0.ɵɵtext(1, "Cancel");
186
228
  i0.ɵɵelementEnd();
187
229
  } }
188
- function UserViewGridComponent_div_15_kendo_window_2_button_8_Template(rf, ctx) { if (rf & 1) {
189
- const _r46 = i0.ɵɵgetCurrentView();
190
- i0.ɵɵelementStart(0, "button", 37);
191
- i0.ɵɵlistener("click", function UserViewGridComponent_div_15_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")); });
230
+ function UserViewGridComponent_div_6_kendo_window_2_button_8_Template(rf, ctx) { if (rf & 1) {
231
+ const _r60 = i0.ɵɵgetCurrentView();
232
+ i0.ɵɵelementStart(0, "button", 40);
233
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_6_kendo_window_2_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r59.closeCompareDialog("merge")); });
192
234
  i0.ɵɵtext(1, " Merge Records ");
193
235
  i0.ɵɵelementEnd();
194
236
  } }
195
- function UserViewGridComponent_div_15_kendo_window_2_kendo_dialog_9_Template(rf, ctx) { if (rf & 1) {
196
- const _r48 = i0.ɵɵgetCurrentView();
197
- i0.ɵɵelementStart(0, "kendo-dialog", 38);
198
- i0.ɵɵlistener("close", function UserViewGridComponent_div_15_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")); });
199
- i0.ɵɵelementStart(1, "p", 39);
237
+ function UserViewGridComponent_div_6_kendo_window_2_kendo_dialog_9_Template(rf, ctx) { if (rf & 1) {
238
+ const _r62 = i0.ɵɵgetCurrentView();
239
+ i0.ɵɵelementStart(0, "kendo-dialog", 41);
240
+ i0.ɵɵlistener("close", function UserViewGridComponent_div_6_kendo_window_2_kendo_dialog_9_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r62); const ctx_r61 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r61.closeConfirmMergeDialog("cancel")); });
241
+ i0.ɵɵelementStart(1, "p", 42);
200
242
  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. ");
201
243
  i0.ɵɵelementEnd();
202
- i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 16);
203
- i0.ɵɵlistener("click", function UserViewGridComponent_div_15_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")); });
244
+ i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 18);
245
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_6_kendo_window_2_kendo_dialog_9_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r62); const ctx_r63 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r63.closeConfirmMergeDialog("no")); });
204
246
  i0.ɵɵtext(5, "No");
205
247
  i0.ɵɵelementEnd();
206
- i0.ɵɵelementStart(6, "button", 40);
207
- i0.ɵɵlistener("click", function UserViewGridComponent_div_15_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")); });
248
+ i0.ɵɵelementStart(6, "button", 43);
249
+ i0.ɵɵlistener("click", function UserViewGridComponent_div_6_kendo_window_2_kendo_dialog_9_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r62); const ctx_r64 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r64.closeConfirmMergeDialog("yes")); });
208
250
  i0.ɵɵtext(7, " Yes ");
209
251
  i0.ɵɵelementEnd()()();
210
252
  } if (rf & 2) {
211
253
  i0.ɵɵproperty("minWidth", 250)("width", 450);
212
254
  } }
213
- function UserViewGridComponent_div_15_kendo_window_2_Template(rf, ctx) { if (rf & 1) {
214
- const _r52 = i0.ɵɵgetCurrentView();
215
- i0.ɵɵelementStart(0, "kendo-window", 28);
216
- i0.ɵɵlistener("close", function UserViewGridComponent_div_15_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)); });
217
- i0.ɵɵelementStart(1, "div", 29)(2, "div");
218
- i0.ɵɵelement(3, "mj-compare-records", 30, 31);
255
+ function UserViewGridComponent_div_6_kendo_window_2_Template(rf, ctx) { if (rf & 1) {
256
+ const _r66 = i0.ɵɵgetCurrentView();
257
+ i0.ɵɵelementStart(0, "kendo-window", 31);
258
+ i0.ɵɵlistener("close", function UserViewGridComponent_div_6_kendo_window_2_Template_kendo_window_close_0_listener($event) { i0.ɵɵrestoreView(_r66); const ctx_r65 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r65.closeCompareDialog($event)); });
259
+ i0.ɵɵelementStart(1, "div", 32)(2, "div");
260
+ i0.ɵɵelement(3, "mj-compare-records", 33, 34);
219
261
  i0.ɵɵelementEnd()();
220
- i0.ɵɵelementStart(5, "div", 32);
221
- i0.ɵɵtemplate(6, UserViewGridComponent_div_15_kendo_window_2_button_6_Template, 2, 0, "button", 33)(7, UserViewGridComponent_div_15_kendo_window_2_button_7_Template, 2, 0, "button", 33)(8, UserViewGridComponent_div_15_kendo_window_2_button_8_Template, 2, 0, "button", 34);
262
+ i0.ɵɵelementStart(5, "div", 35);
263
+ i0.ɵɵtemplate(6, UserViewGridComponent_div_6_kendo_window_2_button_6_Template, 2, 0, "button", 36)(7, UserViewGridComponent_div_6_kendo_window_2_button_7_Template, 2, 0, "button", 36)(8, UserViewGridComponent_div_6_kendo_window_2_button_8_Template, 2, 0, "button", 37);
222
264
  i0.ɵɵelementEnd();
223
- i0.ɵɵtemplate(9, UserViewGridComponent_div_15_kendo_window_2_kendo_dialog_9_Template, 8, 2, "kendo-dialog", 35);
265
+ i0.ɵɵtemplate(9, UserViewGridComponent_div_6_kendo_window_2_kendo_dialog_9_Template, 8, 2, "kendo-dialog", 38);
224
266
  i0.ɵɵelementEnd();
225
267
  } if (rf & 2) {
226
- const ctx_r35 = i0.ɵɵnextContext(2);
268
+ const ctx_r49 = i0.ɵɵnextContext(2);
227
269
  i0.ɵɵproperty("minHeight", 300)("minWidth", 400)("resizable", true);
228
270
  i0.ɵɵadvance(3);
229
- i0.ɵɵproperty("entityName", ctx_r35._entityInfo ? ctx_r35._entityInfo.Name : "")("recordsToCompare", ctx_r35.recordsToCompare)("visibleColumns", ctx_r35.visibleColumns)("selectionMode", ctx_r35.mergeMode ? true : false);
271
+ i0.ɵɵproperty("entityName", ctx_r49._entityInfo ? ctx_r49._entityInfo.Name : "")("recordsToCompare", ctx_r49.recordsToCompare)("visibleColumns", ctx_r49.visibleColumns)("selectionMode", ctx_r49.mergeMode ? true : false);
230
272
  i0.ɵɵadvance(3);
231
- i0.ɵɵproperty("ngIf", ctx_r35.compareMode);
273
+ i0.ɵɵproperty("ngIf", ctx_r49.compareMode);
232
274
  i0.ɵɵadvance();
233
- i0.ɵɵproperty("ngIf", ctx_r35.mergeMode);
275
+ i0.ɵɵproperty("ngIf", ctx_r49.mergeMode);
234
276
  i0.ɵɵadvance();
235
- i0.ɵɵproperty("ngIf", ctx_r35.mergeMode);
277
+ i0.ɵɵproperty("ngIf", ctx_r49.mergeMode);
236
278
  i0.ɵɵadvance();
237
- i0.ɵɵproperty("ngIf", ctx_r35.isConfirmDialogOpen);
279
+ i0.ɵɵproperty("ngIf", ctx_r49.isConfirmDialogOpen);
238
280
  } }
239
- function UserViewGridComponent_div_15_Template(rf, ctx) { if (rf & 1) {
281
+ function UserViewGridComponent_div_6_Template(rf, ctx) { if (rf & 1) {
240
282
  i0.ɵɵelementStart(0, "div");
241
- i0.ɵɵelement(1, "div", 26);
242
- i0.ɵɵtemplate(2, UserViewGridComponent_div_15_kendo_window_2_Template, 10, 11, "kendo-window", 27);
283
+ i0.ɵɵelement(1, "div", 29);
284
+ i0.ɵɵtemplate(2, UserViewGridComponent_div_6_kendo_window_2_Template, 10, 11, "kendo-window", 30);
243
285
  i0.ɵɵelementEnd();
244
286
  } if (rf & 2) {
245
- const ctx_r6 = i0.ɵɵnextContext();
287
+ const ctx_r3 = i0.ɵɵnextContext();
246
288
  i0.ɵɵadvance(2);
247
- i0.ɵɵproperty("ngIf", ctx_r6.isCompareDialogOpened);
289
+ i0.ɵɵproperty("ngIf", ctx_r3.isCompareDialogOpened);
248
290
  } }
249
291
  export class UserViewGridComponent {
250
292
  get PendingRecords() {
251
293
  return this._pendingRecords;
252
294
  }
295
+ get ViewID() {
296
+ if (this.Params && this.Params.ViewID)
297
+ return this.Params.ViewID;
298
+ else
299
+ return 0;
300
+ }
253
301
  StartEditMode() {
254
302
  this.InEditMode = true;
255
303
  }
@@ -336,6 +384,8 @@ export class UserViewGridComponent {
336
384
  this.kendoGridElementRef = null;
337
385
  this.kendoExcelExport = null;
338
386
  this.recordCompareComponent = null;
387
+ this.analysisQuestion = null;
388
+ this.analysisResults = null;
339
389
  this._pendingRecords = [];
340
390
  this.viewData = [];
341
391
  this.totalRowCount = 0;
@@ -350,6 +400,8 @@ export class UserViewGridComponent {
350
400
  this.gridView = { data: [], total: 0 };
351
401
  this.gridHeight = 750;
352
402
  this._newGridState = {};
403
+ // public plotData = [];
404
+ // public plotLayout: any = {};
353
405
  this.editModeEnded = new Subject();
354
406
  this.recordsToCompare = [];
355
407
  this.compareMode = false;
@@ -933,6 +985,9 @@ export class UserViewGridComponent {
933
985
  throw new Error("Unable to get export data");
934
986
  });
935
987
  }
988
+ selectTabHandler() {
989
+ SharedService.Instance.InvokeManualResize(100); // resize when the tab is clicked
990
+ }
936
991
  }
937
992
  UserViewGridComponent.ɵfac = function UserViewGridComponent_Factory(t) { return new (t || UserViewGridComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.Router)); };
938
993
  UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserViewGridComponent, selectors: [["mj-user-view-grid"]], viewQuery: function UserViewGridComponent_Query(rf, ctx) { if (rf & 1) {
@@ -940,41 +995,41 @@ UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserV
940
995
  i0.ɵɵviewQuery(_c0, 5, ElementRef);
941
996
  i0.ɵɵviewQuery(_c1, 5, ExcelExportComponent);
942
997
  i0.ɵɵviewQuery(_c2, 5);
998
+ i0.ɵɵviewQuery(_c3, 5, TextAreaComponent);
999
+ i0.ɵɵviewQuery(_c4, 5, ElementRef);
1000
+ i0.ɵɵviewQuery(_c5, 5, ViewContainerRef);
943
1001
  } if (rf & 2) {
944
1002
  let _t;
945
1003
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoGridElement = _t.first);
946
1004
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoGridElementRef = _t.first);
947
1005
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoExcelExport = _t.first);
948
1006
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.recordCompareComponent = _t.first);
949
- } }, inputs: { Params: "Params", BottomMargin: "BottomMargin", InEditMode: "InEditMode", EditMode: "EditMode", AutoNavigate: "AutoNavigate", AllowLoad: "AllowLoad" }, outputs: { rowClicked: "rowClicked", rowEdited: "rowEdited" }, decls: 16, vars: 19, consts: [["mjFillContainer", "", 1, "user-view-grid-wrap"], ["title", "Data"], ["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"], ["title", "Analysis"], [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) {
950
- i0.ɵɵelementStart(0, "div", 0)(1, "kendo-tabstrip")(2, "kendo-tabstrip-tab", 1)(3, "kendo-grid", 2, 3);
951
- i0.ɵɵlistener("pageChange", function UserViewGridComponent_Template_kendo_grid_pageChange_3_listener($event) { return ctx.pageChange($event); })("selectedKeysChange", function UserViewGridComponent_Template_kendo_grid_selectedKeysChange_3_listener($event) { return ctx.selectedKeys = $event; })("cellClick", function UserViewGridComponent_Template_kendo_grid_cellClick_3_listener($event) { return ctx.cellClickHandler($event); })("cellClose", function UserViewGridComponent_Template_kendo_grid_cellClose_3_listener($event) { return ctx.cellCloseHandler($event); })("columnReorder", function UserViewGridComponent_Template_kendo_grid_columnReorder_3_listener($event) { return ctx.columnReorder($event); })("columnResize", function UserViewGridComponent_Template_kendo_grid_columnResize_3_listener($event) { return ctx.columnResize($event); })("selectionChange", function UserViewGridComponent_Template_kendo_grid_selectionChange_3_listener($event) { return ctx.selectionChange($event); })("sortChange", function UserViewGridComponent_Template_kendo_grid_sortChange_3_listener($event) { return ctx.sortChanged($event); });
952
- i0.ɵɵtemplate(5, UserViewGridComponent_ng_template_5_Template, 8, 8, "ng-template", 4)(6, UserViewGridComponent_kendo_grid_checkbox_column_6_Template, 1, 6, "kendo-grid-checkbox-column", 5)(7, UserViewGridComponent_kendo_grid_column_7_Template, 2, 10, "kendo-grid-column", 6);
953
- i0.ɵɵelementStart(8, "kendo-excelexport", 7, 8);
954
- i0.ɵɵtemplate(10, UserViewGridComponent_kendo_excelexport_column_10_Template, 1, 2, "kendo-excelexport-column", 9);
955
- i0.ɵɵelementEnd()()();
956
- i0.ɵɵelementStart(11, "kendo-tabstrip-tab", 10)(12, "div")(13, "span");
957
- i0.ɵɵtext(14, " hi ");
958
- i0.ɵɵelementEnd()()()();
959
- i0.ɵɵtemplate(15, UserViewGridComponent_div_15_Template, 3, 1, "div", 11);
1007
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.analysisQuestion = _t.first);
1008
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.analysisResults = _t.first);
1009
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
1010
+ } }, inputs: { Params: "Params", BottomMargin: "BottomMargin", InEditMode: "InEditMode", EditMode: "EditMode", AutoNavigate: "AutoNavigate", AllowLoad: "AllowLoad" }, outputs: { rowClicked: "rowClicked", rowEdited: "rowEdited" }, decls: 7, vars: 5, consts: [["mjFillContainer", "", 1, "user-view-grid-wrap"], ["mjFillContainer", "", 3, "keepTabContent", "animate", "tabSelect"], [3, "selected"], ["kendoTabTitle", ""], ["kendoTabContent", ""], [4, "ngIf"], ["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"], ["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"], ["mjFillContainer", "", 3, "AllowNewConversations", "ShowConversationList", "UpdateAppRoute", "ViewID", "LinkedEntity", "LinkedEntityRecordID"], [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) {
1011
+ i0.ɵɵelementStart(0, "div", 0)(1, "kendo-tabstrip", 1);
1012
+ i0.ɵɵlistener("tabSelect", function UserViewGridComponent_Template_kendo_tabstrip_tabSelect_1_listener() { return ctx.selectTabHandler(); });
1013
+ i0.ɵɵelementStart(2, "kendo-tabstrip-tab", 2);
1014
+ i0.ɵɵtemplate(3, UserViewGridComponent_ng_template_3_Template, 1, 0, "ng-template", 3)(4, UserViewGridComponent_ng_template_4_Template, 8, 18, "ng-template", 4);
1015
+ i0.ɵɵelementEnd();
1016
+ i0.ɵɵtemplate(5, UserViewGridComponent_kendo_tabstrip_tab_5_Template, 3, 0, "kendo-tabstrip-tab", 5);
1017
+ i0.ɵɵelementEnd();
1018
+ i0.ɵɵtemplate(6, UserViewGridComponent_div_6_Template, 3, 1, "div", 5);
960
1019
  i0.ɵɵelementEnd();
961
1020
  } if (rf & 2) {
962
- i0.ɵɵadvance(3);
963
- 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);
964
- i0.ɵɵadvance(3);
965
- i0.ɵɵproperty("ngIf", ctx.compareMode || ctx.mergeMode);
966
1021
  i0.ɵɵadvance();
967
- i0.ɵɵproperty("ngForOf", ctx.visibleColumns);
1022
+ i0.ɵɵproperty("keepTabContent", true)("animate", false);
1023
+ i0.ɵɵadvance();
1024
+ i0.ɵɵproperty("selected", true);
1025
+ i0.ɵɵadvance(3);
1026
+ i0.ɵɵproperty("ngIf", ctx.Params == null ? null : ctx.Params.ViewID);
968
1027
  i0.ɵɵadvance();
969
- i0.ɵɵproperty("data", ctx.exportData)("fileName", (ctx._viewEntity ? ctx._viewEntity.Get("Name") : ctx._entityInfo == null ? null : ctx._entityInfo.Name) + ".xlsx");
970
- i0.ɵɵadvance(2);
971
- i0.ɵɵproperty("ngForOf", ctx.exportColumns);
972
- i0.ɵɵadvance(5);
973
1028
  i0.ɵɵproperty("ngIf", ctx.isCompareDialogOpened);
974
- } }, 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, i11.TabStripComponent, i11.TabStripTabComponent, 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}"] });
1029
+ } }, 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, i11.TabStripComponent, i11.TabStripTabComponent, i11.TabContentDirective, i11.TabTitleDirective, i12.AskSkipComponent, 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}"] });
975
1030
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserViewGridComponent, [{
976
1031
  type: Component,
977
- args: [{ selector: 'mj-user-view-grid', template: "<div class=\"user-view-grid-wrap\" mjFillContainer>\r\n <kendo-tabstrip>\r\n <kendo-tabstrip-tab title=\"Data\">\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 </kendo-tabstrip-tab>\r\n <kendo-tabstrip-tab title=\"Analysis\">\r\n <div>\r\n <span>\r\n hi\r\n </span>\r\n </div>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n \r\n\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}"] }]
1032
+ args: [{ selector: 'mj-user-view-grid', template: "<div class=\"user-view-grid-wrap\" mjFillContainer>\r\n <kendo-tabstrip [keepTabContent]=\"true\" [animate] = \"false\" mjFillContainer (tabSelect)=\"selectTabHandler()\"> \r\n <kendo-tabstrip-tab [selected]=\"true\">\r\n <ng-template kendoTabTitle>Data</ng-template>\r\n <ng-template kendoTabContent>\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 </ng-template> \r\n </kendo-tabstrip-tab>\r\n <kendo-tabstrip-tab *ngIf=\"Params?.ViewID\">\r\n <ng-template kendoTabTitle>Analysis</ng-template>\r\n <ng-template kendoTabContent>\r\n <mj-ask-skip mjFillContainer [AllowNewConversations]=\"false\" [ShowConversationList]=\"false\" [UpdateAppRoute]=\"false\" [ViewID]=\"ViewID\" [LinkedEntity]=\"'User Views'\" [LinkedEntityRecordID]=\"ViewID\">\r\n </mj-ask-skip>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n \r\n\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}"] }]
978
1033
  }], () => [{ type: i1.FormBuilder }, { type: i2.Router }], { Params: [{
979
1034
  type: Input
980
1035
  }], BottomMargin: [{
@@ -1001,7 +1056,16 @@ UserViewGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserV
1001
1056
  }], recordCompareComponent: [{
1002
1057
  type: ViewChild,
1003
1058
  args: ['recordCompareRef', { static: false }]
1059
+ }], analysisQuestion: [{
1060
+ type: ViewChild,
1061
+ args: ['analysisQuestion', { read: TextAreaComponent }]
1062
+ }], analysisResults: [{
1063
+ type: ViewChild,
1064
+ args: ['analysisResults', { read: ElementRef }]
1065
+ }], container: [{
1066
+ type: ViewChild,
1067
+ args: ['plotContainer', { read: ViewContainerRef }]
1004
1068
  }], AllowLoad: [{
1005
1069
  type: Input
1006
1070
  }] }); })();
1007
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserViewGridComponent, { className: "UserViewGridComponent", filePath: "src\\lib\\ng-user-view-grid.component.ts", lineNumber: 42 }); })();
1071
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserViewGridComponent, { className: "UserViewGridComponent", filePath: "src\\lib\\ng-user-view-grid.component.ts", lineNumber: 47 }); })();
@@ -11,8 +11,10 @@ import * as i9 from "@memberjunction/ng-compare-records";
11
11
  import * as i10 from "@memberjunction/ng-container-directives";
12
12
  import * as i11 from "@progress/kendo-angular-icons";
13
13
  import * as i12 from "@progress/kendo-angular-layout";
14
+ import * as i13 from "@progress/kendo-angular-inputs";
15
+ import * as i14 from "@memberjunction/ng-ask-skip";
14
16
  export declare class UserViewGridModule {
15
17
  static ɵfac: i0.ɵɵFactoryDeclaration<UserViewGridModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<UserViewGridModule, [typeof i1.UserViewGridComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.RouterModule, typeof i5.GridModule, typeof i6.DialogsModule, typeof i7.ExcelExportModule, typeof i8.ButtonsModule, typeof i9.CompareRecordsModule, typeof i10.ContainerDirectivesModule, typeof i11.IconsModule, typeof i12.LayoutModule], [typeof i1.UserViewGridComponent]>;
18
+ static ɵmod: i0.ɵɵNgModuleDeclaration<UserViewGridModule, [typeof i1.UserViewGridComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.RouterModule, typeof i5.GridModule, typeof i6.DialogsModule, typeof i7.ExcelExportModule, typeof i8.ButtonsModule, typeof i9.CompareRecordsModule, typeof i10.ContainerDirectivesModule, typeof i11.IconsModule, typeof i12.LayoutModule, typeof i13.InputsModule, typeof i14.AskSkipModule], [typeof i1.UserViewGridComponent]>;
17
19
  static ɵinj: i0.ɵɵInjectorDeclaration<UserViewGridModule>;
18
20
  }
@@ -10,9 +10,14 @@ import { DialogsModule } from "@progress/kendo-angular-dialog";
10
10
  import { ButtonsModule } from '@progress/kendo-angular-buttons';
11
11
  import { IconsModule } from '@progress/kendo-angular-icons';
12
12
  import { LayoutModule } from '@progress/kendo-angular-layout';
13
+ import { InputsModule } from '@progress/kendo-angular-inputs';
13
14
  import { CompareRecordsModule } from '@memberjunction/ng-compare-records';
14
15
  import { ContainerDirectivesModule } from '@memberjunction/ng-container-directives';
16
+ //import { PlotlyViaCDNModule } from 'angular-plotly.js';
17
+ import { AskSkipModule } from '@memberjunction/ng-ask-skip';
15
18
  import * as i0 from "@angular/core";
19
+ // PlotlyViaCDNModule.setPlotlyVersion('latest'); // can be `latest` or any version number (i.e.: '1.40.0')
20
+ // PlotlyViaCDNModule.setPlotlyBundle(null); // optional: can be null (for full) or 'basic', 'cartesian', 'geo', 'gl3d', 'gl2d', 'mapbox' or 'finance'
16
21
  export class UserViewGridModule {
17
22
  }
18
23
  UserViewGridModule.ɵfac = function UserViewGridModule_Factory(t) { return new (t || UserViewGridModule)(); };
@@ -28,7 +33,10 @@ UserViewGridModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Commo
28
33
  CompareRecordsModule,
29
34
  ContainerDirectivesModule,
30
35
  IconsModule,
31
- LayoutModule] });
36
+ LayoutModule,
37
+ InputsModule,
38
+ // PlotlyViaCDNModule,
39
+ AskSkipModule] });
32
40
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserViewGridModule, [{
33
41
  type: NgModule,
34
42
  args: [{
@@ -47,7 +55,10 @@ UserViewGridModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Commo
47
55
  CompareRecordsModule,
48
56
  ContainerDirectivesModule,
49
57
  IconsModule,
50
- LayoutModule
58
+ LayoutModule,
59
+ InputsModule,
60
+ // PlotlyViaCDNModule,
61
+ AskSkipModule
51
62
  ],
52
63
  exports: [
53
64
  UserViewGridComponent
@@ -65,4 +76,7 @@ UserViewGridModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Commo
65
76
  CompareRecordsModule,
66
77
  ContainerDirectivesModule,
67
78
  IconsModule,
68
- LayoutModule], exports: [UserViewGridComponent] }); })();
79
+ LayoutModule,
80
+ InputsModule,
81
+ // PlotlyViaCDNModule,
82
+ AskSkipModule], exports: [UserViewGridComponent] }); })();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-user-view-grid",
3
- "version": "0.9.120",
3
+ "version": "0.9.131",
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",
@@ -24,15 +24,19 @@
24
24
  "@angular/forms": "^17.1.2",
25
25
  "@angular/router": "^17.1.2",
26
26
  "@progress/kendo-angular-grid": "^15.0.1",
27
- "@progress/kendo-angular-layout": "^15.0.1"
27
+ "@progress/kendo-angular-layout": "^15.0.1",
28
+ "@progress/kendo-angular-inputs": "^15.0.1",
29
+ "@progress/kendo-angular-buttons": "^15.0.1"
28
30
  },
29
31
  "dependencies": {
30
- "@memberjunction/core-entities": "^0.9.112",
31
- "@memberjunction/global": "^0.9.123",
32
- "@memberjunction/core": "^0.9.134",
33
- "@memberjunction/ng-shared": "^0.9.1",
34
- "@memberjunction/ng-compare-records": "^0.9.134",
35
- "@memberjunction/ng-container-directives": "^0.9.103",
32
+ "@memberjunction/core-entities": "^0.9.121",
33
+ "@memberjunction/global": "^0.9.132",
34
+ "@memberjunction/core": "^0.9.141",
35
+ "@memberjunction/graphql-dataprovider": "^0.9.143",
36
+ "@memberjunction/ng-shared": "^0.9.8",
37
+ "@memberjunction/ng-compare-records": "^0.9.141",
38
+ "@memberjunction/ng-container-directives": "^0.9.109",
39
+ "@memberjunction/ng-ask-skip": "^0.9.7",
36
40
  "tslib": "^2.3.0"
37
41
  },
38
42
  "sideEffects": false