@memberjunction/ng-query-grid 2.47.0 → 2.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { Component, ViewChild, ElementRef, Output, EventEmitter, Input } from '@angular/core';
|
|
11
2
|
import { Metadata, LogError, RunQuery } from '@memberjunction/core';
|
|
12
3
|
import { GridComponent } from "@progress/kendo-angular-grid";
|
|
@@ -48,6 +39,30 @@ function QueryGridComponent_kendo_excelexport_column_6_Template(rf, ctx) { if (r
|
|
|
48
39
|
i0.ɵɵproperty("field", exportCol_r5)("title", exportCol_r5);
|
|
49
40
|
} }
|
|
50
41
|
export class QueryGridComponent {
|
|
42
|
+
title = 'QueryGrid';
|
|
43
|
+
Params;
|
|
44
|
+
BottomMargin = 0;
|
|
45
|
+
InEditMode = false;
|
|
46
|
+
EditMode = "None";
|
|
47
|
+
AutoNavigate = true;
|
|
48
|
+
rowClicked = new EventEmitter();
|
|
49
|
+
kendoGridElement = null;
|
|
50
|
+
kendoGridElementRef = null;
|
|
51
|
+
kendoExcelExport = null;
|
|
52
|
+
queryData = [];
|
|
53
|
+
totalRowCount = 0;
|
|
54
|
+
entityRecord = null;
|
|
55
|
+
skip = 0;
|
|
56
|
+
pageSize = 40;
|
|
57
|
+
isLoading = false;
|
|
58
|
+
gridView = { data: [], total: 0 };
|
|
59
|
+
gridHeight = 750;
|
|
60
|
+
selectableSettings = {
|
|
61
|
+
enabled: false
|
|
62
|
+
};
|
|
63
|
+
selectedKeys = [];
|
|
64
|
+
showRefreshButton = true;
|
|
65
|
+
viewExecutionTime = 0;
|
|
51
66
|
pageChange(event) {
|
|
52
67
|
this.skip = event.skip;
|
|
53
68
|
this.virtualLoadData();
|
|
@@ -59,33 +74,6 @@ export class QueryGridComponent {
|
|
|
59
74
|
};
|
|
60
75
|
}
|
|
61
76
|
constructor() {
|
|
62
|
-
this.title = 'QueryGrid';
|
|
63
|
-
this.BottomMargin = 0;
|
|
64
|
-
this.InEditMode = false;
|
|
65
|
-
this.EditMode = "None";
|
|
66
|
-
this.AutoNavigate = true;
|
|
67
|
-
this.rowClicked = new EventEmitter();
|
|
68
|
-
this.kendoGridElement = null;
|
|
69
|
-
this.kendoGridElementRef = null;
|
|
70
|
-
this.kendoExcelExport = null;
|
|
71
|
-
this.queryData = [];
|
|
72
|
-
this.totalRowCount = 0;
|
|
73
|
-
this.entityRecord = null;
|
|
74
|
-
this.skip = 0;
|
|
75
|
-
this.pageSize = 40;
|
|
76
|
-
this.isLoading = false;
|
|
77
|
-
this.gridView = { data: [], total: 0 };
|
|
78
|
-
this.gridHeight = 750;
|
|
79
|
-
this.selectableSettings = {
|
|
80
|
-
enabled: false
|
|
81
|
-
};
|
|
82
|
-
this.selectedKeys = [];
|
|
83
|
-
this.showRefreshButton = true;
|
|
84
|
-
this.viewExecutionTime = 0;
|
|
85
|
-
this._deferLoadCount = 0;
|
|
86
|
-
this._allowLoad = true;
|
|
87
|
-
// Export Functionality
|
|
88
|
-
this.exportData = [];
|
|
89
77
|
}
|
|
90
78
|
CreateSimpleNotification(message, style, duration) {
|
|
91
79
|
const data = {
|
|
@@ -100,12 +88,10 @@ export class QueryGridComponent {
|
|
|
100
88
|
args: data
|
|
101
89
|
});
|
|
102
90
|
}
|
|
103
|
-
cellClickHandler(args) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
this.rowClicked.emit(args.dataItem);
|
|
108
|
-
});
|
|
91
|
+
async cellClickHandler(args) {
|
|
92
|
+
// to do implement click handler for a query based on the entity field data
|
|
93
|
+
// bubble up the event to the parent component
|
|
94
|
+
this.rowClicked.emit(args.dataItem);
|
|
109
95
|
}
|
|
110
96
|
ngOnInit() {
|
|
111
97
|
}
|
|
@@ -114,6 +100,8 @@ export class QueryGridComponent {
|
|
|
114
100
|
if (this.Params)
|
|
115
101
|
this.Refresh(this.Params);
|
|
116
102
|
}
|
|
103
|
+
_deferLoadCount = 0;
|
|
104
|
+
_allowLoad = true;
|
|
117
105
|
get AllowLoad() {
|
|
118
106
|
return this._allowLoad;
|
|
119
107
|
}
|
|
@@ -126,69 +114,63 @@ export class QueryGridComponent {
|
|
|
126
114
|
return;
|
|
127
115
|
}
|
|
128
116
|
}
|
|
129
|
-
RefreshFromSavedParams() {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
this.Refresh(this.Params);
|
|
133
|
-
});
|
|
117
|
+
async RefreshFromSavedParams() {
|
|
118
|
+
if (this.Params)
|
|
119
|
+
this.Refresh(this.Params);
|
|
134
120
|
}
|
|
135
|
-
Refresh(params) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
this.CreateSimpleNotification("Error running view:\n\n" + rqResult.ErrorMessage, 'error', 5000);
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
// it worked
|
|
153
|
-
this.queryData = rqResult.Results;
|
|
154
|
-
this.totalRowCount = rqResult.RowCount;
|
|
155
|
-
this.skip = 0;
|
|
156
|
-
this.virtualLoadData();
|
|
157
|
-
}
|
|
158
|
-
this.viewExecutionTime = (new Date().getTime() - startTime) / 1000; // in seconds
|
|
159
|
-
this.isLoading = false;
|
|
121
|
+
async Refresh(params) {
|
|
122
|
+
this.Params = params;
|
|
123
|
+
if (this.AllowLoad === false) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (params && params.QueryID) {
|
|
127
|
+
const startTime = new Date().getTime();
|
|
128
|
+
this.isLoading = true;
|
|
129
|
+
const md = new Metadata();
|
|
130
|
+
const rq = new RunQuery();
|
|
131
|
+
const rqResult = await rq.RunQuery(params);
|
|
132
|
+
if (!rqResult.Success) {
|
|
133
|
+
// it failed
|
|
134
|
+
this.CreateSimpleNotification("Error running view:\n\n" + rqResult.ErrorMessage, 'error', 5000);
|
|
160
135
|
}
|
|
161
136
|
else {
|
|
162
|
-
|
|
137
|
+
// it worked
|
|
138
|
+
this.queryData = rqResult.Results;
|
|
139
|
+
this.totalRowCount = rqResult.RowCount;
|
|
140
|
+
this.skip = 0;
|
|
141
|
+
this.virtualLoadData();
|
|
163
142
|
}
|
|
164
|
-
|
|
143
|
+
this.viewExecutionTime = (new Date().getTime() - startTime) / 1000; // in seconds
|
|
144
|
+
this.isLoading = false;
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
LogError("Refresh(params) must have ViewID or ViewName or (EntityName and ExtraFilter)");
|
|
148
|
+
}
|
|
165
149
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}
|
|
150
|
+
// Export Functionality
|
|
151
|
+
exportData = [];
|
|
152
|
+
async doExcelExport() {
|
|
153
|
+
if (this.kendoExcelExport === null)
|
|
154
|
+
throw new Error("kendoExcelExport is null, cannot export data");
|
|
155
|
+
try {
|
|
156
|
+
this.CreateSimpleNotification("Working on the export, will notify you when it is complete...", 'info', 2000);
|
|
157
|
+
const data = await this.getExportData();
|
|
158
|
+
// we have the data.
|
|
159
|
+
this.exportData = data;
|
|
160
|
+
// before we call the save, we need to let Angular do its thing that will result in the kendoExcelExport component binding properly to
|
|
161
|
+
// the exportColumns and exportData arrays. So we wait for the next tick before we call save()
|
|
162
|
+
setTimeout(() => {
|
|
163
|
+
this.kendoExcelExport.save();
|
|
164
|
+
this.CreateSimpleNotification("Excel Export Complete", 'success', 2000);
|
|
165
|
+
}, 100);
|
|
166
|
+
}
|
|
167
|
+
catch (e) {
|
|
168
|
+
this.CreateSimpleNotification("Error exporting data", 'error', 5000);
|
|
169
|
+
LogError(e);
|
|
170
|
+
}
|
|
187
171
|
}
|
|
188
|
-
getExportData() {
|
|
189
|
-
return
|
|
190
|
-
return this.queryData;
|
|
191
|
-
});
|
|
172
|
+
async getExportData() {
|
|
173
|
+
return this.queryData;
|
|
192
174
|
}
|
|
193
175
|
queryColumns() {
|
|
194
176
|
// take first row of the data and get the keys
|
|
@@ -197,36 +179,36 @@ export class QueryGridComponent {
|
|
|
197
179
|
return Object.keys(firstRow);
|
|
198
180
|
}
|
|
199
181
|
}
|
|
182
|
+
static ɵfac = function QueryGridComponent_Factory(t) { return new (t || QueryGridComponent)(); };
|
|
183
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryGridComponent, selectors: [["mj-query-grid"]], viewQuery: function QueryGridComponent_Query(rf, ctx) { if (rf & 1) {
|
|
184
|
+
i0.ɵɵviewQuery(_c0, 5, GridComponent);
|
|
185
|
+
i0.ɵɵviewQuery(_c0, 5, ElementRef);
|
|
186
|
+
i0.ɵɵviewQuery(_c1, 5, ExcelExportComponent);
|
|
187
|
+
} if (rf & 2) {
|
|
188
|
+
let _t;
|
|
189
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoGridElement = _t.first);
|
|
190
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoGridElementRef = _t.first);
|
|
191
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoExcelExport = _t.first);
|
|
192
|
+
} }, inputs: { Params: "Params", BottomMargin: "BottomMargin", InEditMode: "InEditMode", EditMode: "EditMode", AutoNavigate: "AutoNavigate", AllowLoad: "AllowLoad" }, outputs: { rowClicked: "rowClicked" }, decls: 7, vars: 15, consts: [["kendoGrid", ""], ["excelExport", ""], ["mjFillContainer", "", 1, "query-grid-wrap"], ["mjFillContainer", "", "scrollable", "virtual", "kendoGridSelectBy", "", 3, "pageChange", "selectedKeysChange", "cellClick", "resizable", "data", "skip", "pageSize", "rowHeight", "loading", "height", "sortable", "reorderable", "selectable", "selectedKeys"], ["kendoGridToolbarTemplate", ""], [3, "data", "fileName"], [3, "field", "title", 4, "ngFor", "ngForOf"], ["fillMode", "outline", "themeColor", "info", "kendoButton", "", 3, "click"], [1, "fa-regular", "fa-file-excel"], ["kendoButton", "", "themeColor", "info", 3, "click", 4, "ngIf"], ["kendoButton", "", "themeColor", "info", 3, "click"], [1, "fa-solid", "fa-arrow-rotate-left"], [3, "field", "title"]], template: function QueryGridComponent_Template(rf, ctx) { if (rf & 1) {
|
|
193
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
194
|
+
i0.ɵɵelementStart(0, "div", 2)(1, "kendo-grid", 3, 0);
|
|
195
|
+
i0.ɵɵlistener("pageChange", function QueryGridComponent_Template_kendo_grid_pageChange_1_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.pageChange($event)); });
|
|
196
|
+
i0.ɵɵtwoWayListener("selectedKeysChange", function QueryGridComponent_Template_kendo_grid_selectedKeysChange_1_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.selectedKeys, $event) || (ctx.selectedKeys = $event); return i0.ɵɵresetView($event); });
|
|
197
|
+
i0.ɵɵlistener("cellClick", function QueryGridComponent_Template_kendo_grid_cellClick_1_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.cellClickHandler($event)); });
|
|
198
|
+
i0.ɵɵtemplate(3, QueryGridComponent_ng_template_3_Template, 4, 1, "ng-template", 4);
|
|
199
|
+
i0.ɵɵelementStart(4, "kendo-excelexport", 5, 1);
|
|
200
|
+
i0.ɵɵtemplate(6, QueryGridComponent_kendo_excelexport_column_6_Template, 1, 2, "kendo-excelexport-column", 6);
|
|
201
|
+
i0.ɵɵelementEnd()()();
|
|
202
|
+
} if (rf & 2) {
|
|
203
|
+
i0.ɵɵadvance();
|
|
204
|
+
i0.ɵɵproperty("resizable", true)("data", ctx.gridView)("skip", ctx.skip)("pageSize", ctx.pageSize)("rowHeight", 36)("loading", ctx.isLoading)("height", ctx.gridHeight)("sortable", true)("resizable", true)("reorderable", true)("selectable", true);
|
|
205
|
+
i0.ɵɵtwoWayProperty("selectedKeys", ctx.selectedKeys);
|
|
206
|
+
i0.ɵɵadvance(3);
|
|
207
|
+
i0.ɵɵproperty("data", ctx.exportData)("fileName", (ctx.Params == null ? null : ctx.Params.QueryID) + "_Query.xlsx");
|
|
208
|
+
i0.ɵɵadvance(2);
|
|
209
|
+
i0.ɵɵproperty("ngForOf", ctx.queryColumns());
|
|
210
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.GridComponent, i2.ToolbarTemplateDirective, i2.SelectionDirective, i3.ExcelExportComponent, i3.ColumnComponent, i4.FillContainer, i5.ButtonComponent], styles: [".query-grid-wrap[_ngcontent-%COMP%] {\n height: calc(100vh-20px);\n}\n\n.query-grid-column-header[_ngcontent-%COMP%] {\n background-color: #ec8641;\n font-size: 20pt;\n font-weight: bold;\n}\n .query-grid-wrap .k-grid-aria-root .k-grid-header .k-grid-header-table thead tr th {\n border-right: none;\n border-inline-start-width: 0;\n color: var(--thead-color);\n}\n .query-grid-wrap .k-grid-aria-root kendo-grid-list .k-grid-table tbody tr td { \n border-inline-start-width: 0;\n color: var(--tdata-color);\n font-weight: 500;\n border-bottom-width: 1px;\n}"] });
|
|
200
211
|
}
|
|
201
|
-
QueryGridComponent.ɵfac = function QueryGridComponent_Factory(t) { return new (t || QueryGridComponent)(); };
|
|
202
|
-
QueryGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryGridComponent, selectors: [["mj-query-grid"]], viewQuery: function QueryGridComponent_Query(rf, ctx) { if (rf & 1) {
|
|
203
|
-
i0.ɵɵviewQuery(_c0, 5, GridComponent);
|
|
204
|
-
i0.ɵɵviewQuery(_c0, 5, ElementRef);
|
|
205
|
-
i0.ɵɵviewQuery(_c1, 5, ExcelExportComponent);
|
|
206
|
-
} if (rf & 2) {
|
|
207
|
-
let _t;
|
|
208
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoGridElement = _t.first);
|
|
209
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoGridElementRef = _t.first);
|
|
210
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoExcelExport = _t.first);
|
|
211
|
-
} }, inputs: { Params: "Params", BottomMargin: "BottomMargin", InEditMode: "InEditMode", EditMode: "EditMode", AutoNavigate: "AutoNavigate", AllowLoad: "AllowLoad" }, outputs: { rowClicked: "rowClicked" }, decls: 7, vars: 15, consts: [["kendoGrid", ""], ["excelExport", ""], ["mjFillContainer", "", 1, "query-grid-wrap"], ["mjFillContainer", "", "scrollable", "virtual", "kendoGridSelectBy", "", 3, "pageChange", "selectedKeysChange", "cellClick", "resizable", "data", "skip", "pageSize", "rowHeight", "loading", "height", "sortable", "reorderable", "selectable", "selectedKeys"], ["kendoGridToolbarTemplate", ""], [3, "data", "fileName"], [3, "field", "title", 4, "ngFor", "ngForOf"], ["fillMode", "outline", "themeColor", "info", "kendoButton", "", 3, "click"], [1, "fa-regular", "fa-file-excel"], ["kendoButton", "", "themeColor", "info", 3, "click", 4, "ngIf"], ["kendoButton", "", "themeColor", "info", 3, "click"], [1, "fa-solid", "fa-arrow-rotate-left"], [3, "field", "title"]], template: function QueryGridComponent_Template(rf, ctx) { if (rf & 1) {
|
|
212
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
213
|
-
i0.ɵɵelementStart(0, "div", 2)(1, "kendo-grid", 3, 0);
|
|
214
|
-
i0.ɵɵlistener("pageChange", function QueryGridComponent_Template_kendo_grid_pageChange_1_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.pageChange($event)); });
|
|
215
|
-
i0.ɵɵtwoWayListener("selectedKeysChange", function QueryGridComponent_Template_kendo_grid_selectedKeysChange_1_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.selectedKeys, $event) || (ctx.selectedKeys = $event); return i0.ɵɵresetView($event); });
|
|
216
|
-
i0.ɵɵlistener("cellClick", function QueryGridComponent_Template_kendo_grid_cellClick_1_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.cellClickHandler($event)); });
|
|
217
|
-
i0.ɵɵtemplate(3, QueryGridComponent_ng_template_3_Template, 4, 1, "ng-template", 4);
|
|
218
|
-
i0.ɵɵelementStart(4, "kendo-excelexport", 5, 1);
|
|
219
|
-
i0.ɵɵtemplate(6, QueryGridComponent_kendo_excelexport_column_6_Template, 1, 2, "kendo-excelexport-column", 6);
|
|
220
|
-
i0.ɵɵelementEnd()()();
|
|
221
|
-
} if (rf & 2) {
|
|
222
|
-
i0.ɵɵadvance();
|
|
223
|
-
i0.ɵɵproperty("resizable", true)("data", ctx.gridView)("skip", ctx.skip)("pageSize", ctx.pageSize)("rowHeight", 36)("loading", ctx.isLoading)("height", ctx.gridHeight)("sortable", true)("resizable", true)("reorderable", true)("selectable", true);
|
|
224
|
-
i0.ɵɵtwoWayProperty("selectedKeys", ctx.selectedKeys);
|
|
225
|
-
i0.ɵɵadvance(3);
|
|
226
|
-
i0.ɵɵproperty("data", ctx.exportData)("fileName", (ctx.Params == null ? null : ctx.Params.QueryID) + "_Query.xlsx");
|
|
227
|
-
i0.ɵɵadvance(2);
|
|
228
|
-
i0.ɵɵproperty("ngForOf", ctx.queryColumns());
|
|
229
|
-
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.GridComponent, i2.ToolbarTemplateDirective, i2.SelectionDirective, i3.ExcelExportComponent, i3.ColumnComponent, i4.FillContainer, i5.ButtonComponent], styles: [".query-grid-wrap[_ngcontent-%COMP%] {\n height: calc(100vh-20px);\n}\n\n.query-grid-column-header[_ngcontent-%COMP%] {\n background-color: #ec8641;\n font-size: 20pt;\n font-weight: bold;\n}\n .query-grid-wrap .k-grid-aria-root .k-grid-header .k-grid-header-table thead tr th {\n border-right: none;\n border-inline-start-width: 0;\n color: var(--thead-color);\n}\n .query-grid-wrap .k-grid-aria-root kendo-grid-list .k-grid-table tbody tr td { \n border-inline-start-width: 0;\n color: var(--tdata-color);\n font-weight: 500;\n border-bottom-width: 1px;\n}"] });
|
|
230
212
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryGridComponent, [{
|
|
231
213
|
type: Component,
|
|
232
214
|
args: [{ selector: 'mj-query-grid', template: "<div class=\"query-grid-wrap\" mjFillContainer>\n <kendo-grid #kendoGrid\n mjFillContainer\n [resizable]=\"true\"\n [data]=\"gridView\" \n [skip]=\"skip\"\n [pageSize]=\"pageSize\"\n scrollable=\"virtual\"\n [rowHeight]=\"36\"\n (pageChange)=\"pageChange($event)\"\n [loading]=\"isLoading\"\n [height]=\"gridHeight\"\n [sortable]=\"true\"\n [resizable]=\"true\"\n [reorderable]=\"true\"\n [selectable]=\"true\"\n kendoGridSelectBy\n [(selectedKeys)]=\"selectedKeys\"\n (cellClick)=\"cellClickHandler($event)\"\n >\n <ng-template kendoGridToolbarTemplate>\n <button fillMode=\"outline\" themeColor=\"info\" kendoButton (click)=\"doExcelExport()\" >\n <span class=\"fa-regular fa-file-excel\"></span>Export to Excel\n </button>\n <button\n kendoButton\n \n themeColor=\"info\"\n *ngIf=\"showRefreshButton\"\n (click)=\"RefreshFromSavedParams()\" >\n Refresh\n <span class=\"fa-solid fa-arrow-rotate-left\"></span>\n </button>\n </ng-template>\n\n <kendo-excelexport #excelExport [data]=\"exportData\" [fileName]=\"Params?.QueryID + '_Query.xlsx'\">\n <kendo-excelexport-column *ngFor=\"let exportCol of queryColumns()\" [field]=\"exportCol\" [title]=\"exportCol\">\n </kendo-excelexport-column>\n </kendo-excelexport>\n </kendo-grid>\n</div>\n ", styles: [".query-grid-wrap {\n height: calc(100vh-20px);\n}\n\n.query-grid-column-header {\n background-color: #ec8641;\n font-size: 20pt;\n font-weight: bold;\n}\n::ng-deep .query-grid-wrap .k-grid-aria-root .k-grid-header .k-grid-header-table thead tr th {\n border-right: none;\n border-inline-start-width: 0;\n color: var(--thead-color);\n}\n::ng-deep .query-grid-wrap .k-grid-aria-root kendo-grid-list .k-grid-table tbody tr td { \n border-inline-start-width: 0;\n color: var(--tdata-color);\n font-weight: 500;\n border-bottom-width: 1px;\n} "] }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-query-grid.component.js","sourceRoot":"","sources":["../../src/lib/ng-query-grid.component.ts","../../src/lib/ng-query-grid.component.html"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ng-query-grid.component.js","sourceRoot":"","sources":["../../src/lib/ng-query-grid.component.ts","../../src/lib/ng-query-grid.component.html"],"names":[],"mappings":"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"}
|
|
@@ -10,16 +10,16 @@ import { CompareRecordsModule } from '@memberjunction/ng-compare-records';
|
|
|
10
10
|
import { ContainerDirectivesModule } from '@memberjunction/ng-container-directives';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
export class QueryGridModule {
|
|
13
|
+
static ɵfac = function QueryGridModule_Factory(t) { return new (t || QueryGridModule)(); };
|
|
14
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: QueryGridModule });
|
|
15
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
16
|
+
GridModule,
|
|
17
|
+
DialogsModule,
|
|
18
|
+
ExcelExportModule,
|
|
19
|
+
CompareRecordsModule,
|
|
20
|
+
ContainerDirectivesModule,
|
|
21
|
+
ButtonsModule] });
|
|
13
22
|
}
|
|
14
|
-
QueryGridModule.ɵfac = function QueryGridModule_Factory(t) { return new (t || QueryGridModule)(); };
|
|
15
|
-
QueryGridModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: QueryGridModule });
|
|
16
|
-
QueryGridModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
17
|
-
GridModule,
|
|
18
|
-
DialogsModule,
|
|
19
|
-
ExcelExportModule,
|
|
20
|
-
CompareRecordsModule,
|
|
21
|
-
ContainerDirectivesModule,
|
|
22
|
-
ButtonsModule] });
|
|
23
23
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryGridModule, [{
|
|
24
24
|
type: NgModule,
|
|
25
25
|
args: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-query-grid.module.js","sourceRoot":"","sources":["../../src/lib/ng-query-grid.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,2BAA2B;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;;AAmBpF,MAAM,OAAO,eAAe
|
|
1
|
+
{"version":3,"file":"ng-query-grid.module.js","sourceRoot":"","sources":["../../src/lib/ng-query-grid.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,2BAA2B;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;;AAmBpF,MAAM,OAAO,eAAe;yEAAf,eAAe;4DAAf,eAAe;gEAZxB,YAAY;YACZ,UAAU;YACV,aAAa;YACb,iBAAiB;YACjB,oBAAoB;YACpB,yBAAyB;YACzB,aAAa;;iFAMJ,eAAe;cAjB3B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,kBAAkB;iBACnB;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,UAAU;oBACV,aAAa;oBACb,iBAAiB;oBACjB,oBAAoB;oBACpB,yBAAyB;oBACzB,aAAa;iBACd;gBACD,OAAO,EAAE;oBACP,kBAAkB;iBACnB;aACF;;wFACY,eAAe,mBAfxB,kBAAkB,aAGlB,YAAY;QACZ,UAAU;QACV,aAAa;QACb,iBAAiB;QACjB,oBAAoB;QACpB,yBAAyB;QACzB,aAAa,aAGb,kBAAkB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-query-grid",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.49.0",
|
|
4
4
|
"description": "MemberJunction: Angular Grid to display any MemberJunction Query",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -28,12 +28,12 @@
|
|
|
28
28
|
"@progress/kendo-angular-dialog": "16.2.0"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@memberjunction/core-entities": "2.
|
|
32
|
-
"@memberjunction/global": "2.
|
|
33
|
-
"@memberjunction/core": "2.
|
|
34
|
-
"@memberjunction/ng-container-directives": "2.
|
|
35
|
-
"@memberjunction/ng-compare-records": "2.
|
|
36
|
-
"@memberjunction/ng-shared": "2.
|
|
31
|
+
"@memberjunction/core-entities": "2.49.0",
|
|
32
|
+
"@memberjunction/global": "2.49.0",
|
|
33
|
+
"@memberjunction/core": "2.49.0",
|
|
34
|
+
"@memberjunction/ng-container-directives": "2.49.0",
|
|
35
|
+
"@memberjunction/ng-compare-records": "2.49.0",
|
|
36
|
+
"@memberjunction/ng-shared": "2.49.0",
|
|
37
37
|
"tslib": "^2.3.0"
|
|
38
38
|
},
|
|
39
39
|
"sideEffects": false
|