@easyquery/enterprise 7.1.3-beta02 → 7.2.0-rc04
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.
- package/dist/browser/eq.enterprise.js +4124 -3644
- package/dist/browser/eq.enterprise.js.map +1 -1
- package/dist/browser/eq.enterprise.min.js +3 -3
- package/dist/browser/eq.enterprise.min.js.LICENSE.txt +0 -2
- package/dist/browser/eq.enterprise.min.js.map +1 -1
- package/dist/bundles/easyquery.enterprise.js +722 -367
- package/dist/bundles/easyquery.enterprise.js.map +1 -1
- package/dist/bundles/easyquery.enterprise.min.js +1 -1
- package/dist/bundles/easyquery.enterprise.min.js.LICENSE.txt +0 -2
- package/dist/bundles/easyquery.enterprise.min.js.map +1 -1
- package/dist/lib/data/data_table_aggr_calculator.d.ts +46 -0
- package/dist/lib/data/data_table_aggr_calculator.js +166 -0
- package/dist/lib/data/data_table_aggr_calculator.js.map +1 -0
- package/dist/lib/data/eqs_aggr_calculator.d.ts +4 -1
- package/dist/lib/data/eqs_aggr_calculator.js +21 -11
- package/dist/lib/data/eqs_aggr_calculator.js.map +1 -1
- package/dist/lib/extensions.js +3 -3
- package/dist/lib/extensions.js.map +1 -1
- package/dist/lib/utils/lcv.js +1 -1
- package/package.json +5 -7
|
@@ -180,8 +180,17 @@ var browserUtils;
|
|
|
180
180
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
181
181
|
|
|
182
182
|
"use strict";
|
|
183
|
+
// ESM COMPAT FLAG
|
|
183
184
|
__webpack_require__.r(__webpack_exports__);
|
|
184
185
|
|
|
186
|
+
// EXPORTS
|
|
187
|
+
__webpack_require__.d(__webpack_exports__, "EqServerAggregatesCalculator", function() { return /* reexport */ eqs_aggr_calculator_EqServerAggregatesCalculator; });
|
|
188
|
+
__webpack_require__.d(__webpack_exports__, "QueryEx", function() { return /* reexport */ query_ex_QueryEx; });
|
|
189
|
+
__webpack_require__.d(__webpack_exports__, "QueryColumnEx", function() { return /* reexport */ query_column_ex_QueryColumnEx; });
|
|
190
|
+
__webpack_require__.d(__webpack_exports__, "ConditionEx", function() { return /* reexport */ condition_ex_ConditionEx; });
|
|
191
|
+
__webpack_require__.d(__webpack_exports__, "DataModelEx", function() { return /* reexport */ model_ex_DataModelEx; });
|
|
192
|
+
__webpack_require__.d(__webpack_exports__, "EqServerQueryStorage", function() { return /* reexport */ EqServerQueryStorage; });
|
|
193
|
+
|
|
185
194
|
// EXTERNAL MODULE: external "easyqueryCore"
|
|
186
195
|
var external_easyqueryCore_ = __webpack_require__(0);
|
|
187
196
|
|
|
@@ -835,7 +844,7 @@ var i18n_i18n;
|
|
|
835
844
|
var utils_utils;
|
|
836
845
|
(function (utils) {
|
|
837
846
|
function getAllDataTypes() {
|
|
838
|
-
return Object.values(DataType);
|
|
847
|
+
return Object.values(DataType).filter(function (item) { return typeof item === "number"; });
|
|
839
848
|
}
|
|
840
849
|
utils.getAllDataTypes = getAllDataTypes;
|
|
841
850
|
function getDateDataTypes() {
|
|
@@ -843,12 +852,16 @@ var utils_utils;
|
|
|
843
852
|
}
|
|
844
853
|
utils.getDateDataTypes = getDateDataTypes;
|
|
845
854
|
function getStringDataTypes() {
|
|
846
|
-
return [DataType.String, DataType.Memo];
|
|
855
|
+
return [DataType.String, DataType.Memo, DataType.FixedChar];
|
|
847
856
|
}
|
|
848
857
|
utils.getStringDataTypes = getStringDataTypes;
|
|
849
858
|
var _numericTypes = [DataType.Byte, DataType.Word, DataType.Int32,
|
|
850
|
-
DataType.Int64, DataType.Float, DataType.Currency];
|
|
851
|
-
|
|
859
|
+
DataType.Int64, DataType.Float, DataType.Currency, DataType.Autoinc];
|
|
860
|
+
function getNumericDataTypes() {
|
|
861
|
+
return _numericTypes;
|
|
862
|
+
}
|
|
863
|
+
utils.getNumericDataTypes = getNumericDataTypes;
|
|
864
|
+
var _intTypes = [DataType.Byte, DataType.Word, DataType.Int32, DataType.Int64, DataType.Autoinc];
|
|
852
865
|
//-------------- object functions -------------------
|
|
853
866
|
/**
|
|
854
867
|
* Copy the content of all objests passed in `args` parameters into `target`
|
|
@@ -913,7 +926,7 @@ var utils_utils;
|
|
|
913
926
|
hashSet.set(sourceVal, target[key]);
|
|
914
927
|
}
|
|
915
928
|
else {
|
|
916
|
-
if (typeof target[key] == 'undefined') {
|
|
929
|
+
if (typeof target[key] == 'undefined' || target[key] == null) {
|
|
917
930
|
target[key] = Object.create(Object.getPrototypeOf(sourceVal));
|
|
918
931
|
}
|
|
919
932
|
hashSet.set(sourceVal, target[key]);
|
|
@@ -1442,7 +1455,7 @@ var http_client_HttpClient = /** @class */ (function () {
|
|
|
1442
1455
|
var desc = {
|
|
1443
1456
|
method: method,
|
|
1444
1457
|
url: url,
|
|
1445
|
-
headers: __assign({}, this.defaultHeaders, options.headers || {}),
|
|
1458
|
+
headers: __assign(__assign({}, this.defaultHeaders), options.headers || {}),
|
|
1446
1459
|
queryParams: options.queryParams || {},
|
|
1447
1460
|
data: data
|
|
1448
1461
|
};
|
|
@@ -1588,6 +1601,12 @@ var MetaEntity = /** @class */ (function () {
|
|
|
1588
1601
|
};
|
|
1589
1602
|
internalProcessEntity(this);
|
|
1590
1603
|
};
|
|
1604
|
+
MetaEntity.prototype.getFirstPrimaryAttr = function () {
|
|
1605
|
+
return this.getPrimaryAttrs()[0];
|
|
1606
|
+
};
|
|
1607
|
+
MetaEntity.prototype.getPrimaryAttrs = function () {
|
|
1608
|
+
return this.attributes.filter(function (attr) { return attr.isPrimaryKey; });
|
|
1609
|
+
};
|
|
1591
1610
|
return MetaEntity;
|
|
1592
1611
|
}());
|
|
1593
1612
|
|
|
@@ -2206,9 +2225,9 @@ var meta_data_MetaData = /** @class */ (function () {
|
|
|
2206
2225
|
}());
|
|
2207
2226
|
|
|
2208
2227
|
//# sourceMappingURL=meta_data.js.map
|
|
2209
|
-
// CONCATENATED MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/easydata/easydata.js/packs/core/dist/lib/data/
|
|
2210
|
-
var
|
|
2211
|
-
|
|
2228
|
+
// CONCATENATED MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/easydata/easydata.js/packs/core/dist/lib/data/aggr_settings.js
|
|
2229
|
+
var aggr_settings_assign = (undefined && undefined.__assign) || function () {
|
|
2230
|
+
aggr_settings_assign = Object.assign || function(t) {
|
|
2212
2231
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
2213
2232
|
s = arguments[i];
|
|
2214
2233
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
@@ -2216,7 +2235,7 @@ var aggr_calculator_assign = (undefined && undefined.__assign) || function () {
|
|
|
2216
2235
|
}
|
|
2217
2236
|
return t;
|
|
2218
2237
|
};
|
|
2219
|
-
return
|
|
2238
|
+
return aggr_settings_assign.apply(this, arguments);
|
|
2220
2239
|
};
|
|
2221
2240
|
/**
|
|
2222
2241
|
* Defines aggregations settings for the current context.
|
|
@@ -2229,16 +2248,32 @@ var AggregationSettings = /** @class */ (function () {
|
|
|
2229
2248
|
this.groups = [];
|
|
2230
2249
|
this.useGrandTotals = false;
|
|
2231
2250
|
this.useRecordCount = false;
|
|
2232
|
-
this.
|
|
2251
|
+
this._caseSensitiveGroups = false;
|
|
2233
2252
|
this.COUNT_FIELD_NAME = 'GRPRECCNT';
|
|
2234
2253
|
}
|
|
2254
|
+
Object.defineProperty(AggregationSettings.prototype, "caseSensitiveGroups", {
|
|
2255
|
+
get: function () {
|
|
2256
|
+
return this._caseSensitiveGroups;
|
|
2257
|
+
},
|
|
2258
|
+
set: function (value) {
|
|
2259
|
+
this._caseSensitiveGroups = value;
|
|
2260
|
+
this.updateCompareProc();
|
|
2261
|
+
},
|
|
2262
|
+
enumerable: true,
|
|
2263
|
+
configurable: true
|
|
2264
|
+
});
|
|
2265
|
+
AggregationSettings.prototype.updateCompareProc = function () {
|
|
2266
|
+
this.compareValues = this._caseSensitiveGroups
|
|
2267
|
+
? this.strictCompare
|
|
2268
|
+
: this.caseInsensitiveCompare;
|
|
2269
|
+
};
|
|
2235
2270
|
AggregationSettings.prototype.addGroup = function (settings) {
|
|
2236
2271
|
var cols = settings.columns || this.colStore.getColumnIds(settings.from, settings.to);
|
|
2237
2272
|
if (!this.colStore.validateColumns(cols))
|
|
2238
2273
|
throw "Invalid columns: " + cols;
|
|
2239
2274
|
if (this.hasColumnsInUse(cols))
|
|
2240
2275
|
throw "Can't add same columns to different groups/aggregates";
|
|
2241
|
-
this.groups.push(
|
|
2276
|
+
this.groups.push(aggr_settings_assign({ columns: cols }, settings));
|
|
2242
2277
|
return this;
|
|
2243
2278
|
};
|
|
2244
2279
|
AggregationSettings.prototype.addAggregateColumn = function (colIndexOrId, funcId) {
|
|
@@ -2263,7 +2298,7 @@ var AggregationSettings = /** @class */ (function () {
|
|
|
2263
2298
|
var cols = [];
|
|
2264
2299
|
var mappedGrops = this.groups.map(function (grp) {
|
|
2265
2300
|
cols = cols.concat(grp.columns);
|
|
2266
|
-
return
|
|
2301
|
+
return aggr_settings_assign(aggr_settings_assign({}, grp), { columns: Array.from(cols), aggregates: Array.from(_this.aggregates) });
|
|
2267
2302
|
});
|
|
2268
2303
|
return mappedGrops;
|
|
2269
2304
|
};
|
|
@@ -2355,10 +2390,35 @@ var AggregationSettings = /** @class */ (function () {
|
|
|
2355
2390
|
}
|
|
2356
2391
|
}
|
|
2357
2392
|
};
|
|
2393
|
+
AggregationSettings.prototype.buildGroupKey = function (group, row) {
|
|
2394
|
+
var caseInsensitive = !this.caseSensitiveGroups;
|
|
2395
|
+
var result = {};
|
|
2396
|
+
if (group) {
|
|
2397
|
+
for (var _i = 0, _a = group.columns; _i < _a.length; _i++) {
|
|
2398
|
+
var colId = _a[_i];
|
|
2399
|
+
var keyVal = row.getValue(colId);
|
|
2400
|
+
if (caseInsensitive && typeof (keyVal) === 'string') {
|
|
2401
|
+
keyVal = keyVal.toLowerCase();
|
|
2402
|
+
}
|
|
2403
|
+
result[colId] = keyVal;
|
|
2404
|
+
}
|
|
2405
|
+
}
|
|
2406
|
+
return result;
|
|
2407
|
+
};
|
|
2408
|
+
//returns true if value1 == value2
|
|
2409
|
+
AggregationSettings.prototype.strictCompare = function (value1, value2) {
|
|
2410
|
+
return value1 === value2;
|
|
2411
|
+
};
|
|
2412
|
+
//makes a case insensative comparision of two values and return true if there are equal
|
|
2413
|
+
AggregationSettings.prototype.caseInsensitiveCompare = function (value1, value2) {
|
|
2414
|
+
var val1 = (typeof value1 === 'string') ? value1.toLowerCase() : value1;
|
|
2415
|
+
var val2 = (typeof value2 === 'string') ? value2.toLowerCase() : value2;
|
|
2416
|
+
return val1 === val2;
|
|
2417
|
+
};
|
|
2358
2418
|
return AggregationSettings;
|
|
2359
2419
|
}());
|
|
2360
2420
|
|
|
2361
|
-
//# sourceMappingURL=
|
|
2421
|
+
//# sourceMappingURL=aggr_settings.js.map
|
|
2362
2422
|
// CONCATENATED MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/easydata/easydata.js/packs/core/dist/lib/data/data_column.js
|
|
2363
2423
|
|
|
2364
2424
|
|
|
@@ -2386,6 +2446,7 @@ var data_column_DataColumn = /** @class */ (function () {
|
|
|
2386
2446
|
this.groupFooterColumnTemplate = desc.gfct;
|
|
2387
2447
|
this.style = desc.style || {};
|
|
2388
2448
|
this.description = desc.description;
|
|
2449
|
+
this.calculatedWidth = 0;
|
|
2389
2450
|
}
|
|
2390
2451
|
return DataColumn;
|
|
2391
2452
|
}());
|
|
@@ -2425,9 +2486,10 @@ var data_column_DataColumnList = /** @class */ (function () {
|
|
|
2425
2486
|
.map(function (col, index) { return index; });
|
|
2426
2487
|
};
|
|
2427
2488
|
DataColumnList.prototype.put = function (index, col) {
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2489
|
+
if (index >= 0 && index < this.count) {
|
|
2490
|
+
this.items[index] = col;
|
|
2491
|
+
this.updateDateColumnIdx();
|
|
2492
|
+
}
|
|
2431
2493
|
};
|
|
2432
2494
|
DataColumnList.prototype.move = function (col, newIndex) {
|
|
2433
2495
|
var oldIndex = this.items.indexOf(col);
|
|
@@ -2437,8 +2499,12 @@ var data_column_DataColumnList = /** @class */ (function () {
|
|
|
2437
2499
|
}
|
|
2438
2500
|
};
|
|
2439
2501
|
DataColumnList.prototype.get = function (index) {
|
|
2440
|
-
|
|
2441
|
-
|
|
2502
|
+
if (index >= 0 && index < this.count) {
|
|
2503
|
+
return this.items[index];
|
|
2504
|
+
}
|
|
2505
|
+
else {
|
|
2506
|
+
return null;
|
|
2507
|
+
}
|
|
2442
2508
|
};
|
|
2443
2509
|
DataColumnList.prototype.getIndex = function (id) {
|
|
2444
2510
|
return this.mapper[id];
|
|
@@ -2522,16 +2588,23 @@ var easy_data_table_EasyDataTable = /** @class */ (function () {
|
|
|
2522
2588
|
function EasyDataTable(options) {
|
|
2523
2589
|
this._chunkSize = 1000;
|
|
2524
2590
|
this._elasticChunks = false;
|
|
2525
|
-
|
|
2526
|
-
this.chunkMap = {};
|
|
2591
|
+
this.cachedRows = [];
|
|
2527
2592
|
this.total = 0;
|
|
2528
2593
|
this.loader = null;
|
|
2529
2594
|
this.needTotal = true;
|
|
2595
|
+
this.isInMemory = false;
|
|
2530
2596
|
options = options || {};
|
|
2531
2597
|
this._chunkSize = options.chunkSize || this._chunkSize;
|
|
2532
2598
|
this._elasticChunks = options.elasticChunks || this._elasticChunks;
|
|
2533
2599
|
this.loader = options.loader;
|
|
2600
|
+
if (typeof options.inMemory !== 'undefined') {
|
|
2601
|
+
this.isInMemory = options.inMemory;
|
|
2602
|
+
}
|
|
2603
|
+
if (this.isInMemory) {
|
|
2604
|
+
this.needTotal = false;
|
|
2605
|
+
}
|
|
2534
2606
|
this._columns = new data_column_DataColumnList();
|
|
2607
|
+
this.onUpdate = options.onUpdate;
|
|
2535
2608
|
if (options.columns) {
|
|
2536
2609
|
for (var _i = 0, _a = options.columns; _i < _a.length; _i++) {
|
|
2537
2610
|
var colDesc = _a[_i];
|
|
@@ -2562,7 +2635,7 @@ var easy_data_table_EasyDataTable = /** @class */ (function () {
|
|
|
2562
2635
|
this._chunkSize = value;
|
|
2563
2636
|
this.total = 0;
|
|
2564
2637
|
this.needTotal = !this.elasticChunks;
|
|
2565
|
-
this.
|
|
2638
|
+
this.cachedRows = [];
|
|
2566
2639
|
},
|
|
2567
2640
|
enumerable: true,
|
|
2568
2641
|
configurable: true
|
|
@@ -2575,7 +2648,7 @@ var easy_data_table_EasyDataTable = /** @class */ (function () {
|
|
|
2575
2648
|
this._elasticChunks = value;
|
|
2576
2649
|
this.total = 0;
|
|
2577
2650
|
this.needTotal = !this.elasticChunks;
|
|
2578
|
-
this.
|
|
2651
|
+
this.cachedRows = [];
|
|
2579
2652
|
},
|
|
2580
2653
|
enumerable: true,
|
|
2581
2654
|
configurable: true
|
|
@@ -2603,22 +2676,12 @@ var easy_data_table_EasyDataTable = /** @class */ (function () {
|
|
|
2603
2676
|
endIndex = this.total;
|
|
2604
2677
|
}
|
|
2605
2678
|
}
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
var allChunksCached = true;
|
|
2609
|
-
for (var i = lbChunk; i <= ubChunk; i++) {
|
|
2610
|
-
if (!this.chunkMap[i]) {
|
|
2611
|
-
allChunksCached = false;
|
|
2612
|
-
break;
|
|
2613
|
-
}
|
|
2679
|
+
if (this.isInMemory && endIndex > this.cachedRows.length) {
|
|
2680
|
+
endIndex = this.cachedRows.length;
|
|
2614
2681
|
}
|
|
2682
|
+
var allChunksCached = endIndex <= this.cachedRows.length;
|
|
2615
2683
|
if (allChunksCached) {
|
|
2616
|
-
|
|
2617
|
-
for (var i = lbChunk; i <= ubChunk; i++) {
|
|
2618
|
-
resultArr = resultArr.concat(this.chunkMap[i].rows);
|
|
2619
|
-
}
|
|
2620
|
-
var firstChunkOffset = this.chunkMap[lbChunk].offset;
|
|
2621
|
-
return Promise.resolve(resultArr.slice(fromIndex - firstChunkOffset, endIndex - firstChunkOffset));
|
|
2684
|
+
return Promise.resolve(this.cachedRows.slice(fromIndex, endIndex));
|
|
2622
2685
|
}
|
|
2623
2686
|
//if loader is not defined
|
|
2624
2687
|
if (!this.loader) {
|
|
@@ -2629,53 +2692,34 @@ var easy_data_table_EasyDataTable = /** @class */ (function () {
|
|
|
2629
2692
|
if (this.needTotal) {
|
|
2630
2693
|
this.needTotal = false;
|
|
2631
2694
|
}
|
|
2632
|
-
var
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2695
|
+
var offset = this.cachedRows.length;
|
|
2696
|
+
var limit = endIndex - offset;
|
|
2697
|
+
if (limit < this._chunkSize) {
|
|
2698
|
+
limit = this._chunkSize;
|
|
2699
|
+
}
|
|
2700
|
+
var resultPromise = this.loader.loadChunk({
|
|
2701
|
+
offset: offset,
|
|
2637
2702
|
limit: limit,
|
|
2638
2703
|
needTotal: needTotal
|
|
2639
2704
|
})
|
|
2640
2705
|
.then(function (result) {
|
|
2641
|
-
var chunks = result.table.getCachedChunks();
|
|
2642
2706
|
if (needTotal) {
|
|
2643
2707
|
_this.total = result.total;
|
|
2644
|
-
if (endIndex > _this.total) {
|
|
2645
|
-
endIndex = _this.total;
|
|
2646
|
-
}
|
|
2647
2708
|
}
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
_this.chunkMap[index] = {
|
|
2652
|
-
offset: index * _this._chunkSize,
|
|
2653
|
-
rows: chunk.rows
|
|
2654
|
-
};
|
|
2655
|
-
index++;
|
|
2709
|
+
Array.prototype.push.apply(_this.cachedRows, result.table.getCachedRows());
|
|
2710
|
+
if (endIndex > _this.cachedRows.length) {
|
|
2711
|
+
endIndex = _this.cachedRows.length;
|
|
2656
2712
|
}
|
|
2657
2713
|
if (_this.elasticChunks) {
|
|
2658
2714
|
var count_1 = result.table.getCachedCount();
|
|
2659
|
-
if (count_1
|
|
2660
|
-
|
|
2661
|
-
if (count_1 === limit) {
|
|
2662
|
-
chunk.rows.splice(chunk.rows.length - 1, 1);
|
|
2663
|
-
if (chunk.rows.length == 0) {
|
|
2664
|
-
delete _this.chunkMap[index - 1];
|
|
2665
|
-
}
|
|
2666
|
-
}
|
|
2667
|
-
if (count_1 < limit) {
|
|
2668
|
-
_this.total = _this.getCachedCount();
|
|
2669
|
-
}
|
|
2715
|
+
if (count_1 < limit) {
|
|
2716
|
+
_this.total = _this.cachedRows.length;
|
|
2670
2717
|
}
|
|
2671
2718
|
}
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
resultArr = resultArr.concat(_this.chunkMap[i].rows);
|
|
2675
|
-
}
|
|
2676
|
-
var firstChunkOffset = _this.chunkMap[lbChunk].offset;
|
|
2677
|
-
return resultArr.slice(fromIndex - firstChunkOffset, endIndex - firstChunkOffset);
|
|
2719
|
+
_this.fireUpdated();
|
|
2720
|
+
return _this.cachedRows.slice(fromIndex, endIndex);
|
|
2678
2721
|
});
|
|
2722
|
+
return resultPromise;
|
|
2679
2723
|
};
|
|
2680
2724
|
EasyDataTable.prototype.getRow = function (index) {
|
|
2681
2725
|
return this.getRows({ offset: index, limit: 1 })
|
|
@@ -2687,16 +2731,16 @@ var easy_data_table_EasyDataTable = /** @class */ (function () {
|
|
|
2687
2731
|
EasyDataTable.prototype.setTotal = function (total) {
|
|
2688
2732
|
this.total = total;
|
|
2689
2733
|
this.needTotal = false;
|
|
2690
|
-
this.chunkMap = {};
|
|
2691
2734
|
};
|
|
2692
2735
|
EasyDataTable.prototype.getCachedCount = function () {
|
|
2693
|
-
return this.
|
|
2736
|
+
return this.cachedRows.length;
|
|
2694
2737
|
};
|
|
2695
2738
|
EasyDataTable.prototype.clear = function () {
|
|
2696
2739
|
this.columns.clear();
|
|
2697
|
-
this.
|
|
2740
|
+
this.cachedRows = [];
|
|
2698
2741
|
this.total = 0;
|
|
2699
2742
|
this.needTotal = !this._elasticChunks;
|
|
2743
|
+
this.fireUpdated();
|
|
2700
2744
|
};
|
|
2701
2745
|
EasyDataTable.prototype.createRow = function (dataOrRow) {
|
|
2702
2746
|
var _this = this;
|
|
@@ -2727,60 +2771,33 @@ var easy_data_table_EasyDataTable = /** @class */ (function () {
|
|
|
2727
2771
|
}
|
|
2728
2772
|
return null;
|
|
2729
2773
|
};
|
|
2730
|
-
EasyDataTable.prototype.addRow = function (
|
|
2774
|
+
EasyDataTable.prototype.addRow = function (rowOrValues) {
|
|
2731
2775
|
var newRow;
|
|
2732
|
-
if (Array.isArray(
|
|
2776
|
+
if (Array.isArray(rowOrValues)) {
|
|
2777
|
+
var values = rowOrValues;
|
|
2733
2778
|
var dateIdx = this._columns.getDateColumnIndexes();
|
|
2734
2779
|
if (dateIdx.length > 0) {
|
|
2735
2780
|
for (var _i = 0, dateIdx_1 = dateIdx; _i < dateIdx_1.length; _i++) {
|
|
2736
2781
|
var idx = dateIdx_1[_i];
|
|
2737
|
-
if (
|
|
2738
|
-
|
|
2782
|
+
if (values[idx]) {
|
|
2783
|
+
values[idx] = this.mapDate(values[idx], this._columns.get(idx).type);
|
|
2739
2784
|
}
|
|
2740
2785
|
}
|
|
2741
2786
|
}
|
|
2742
|
-
newRow = new DataRow(this._columns,
|
|
2787
|
+
newRow = new DataRow(this._columns, values);
|
|
2743
2788
|
}
|
|
2744
2789
|
else {
|
|
2745
|
-
newRow = this.createRow(
|
|
2746
|
-
}
|
|
2747
|
-
var lastChunk = this.getLastChunk();
|
|
2748
|
-
if (!lastChunk || lastChunk.rows.length >= this._chunkSize) {
|
|
2749
|
-
lastChunk = this.createChunk();
|
|
2790
|
+
newRow = this.createRow(rowOrValues);
|
|
2750
2791
|
}
|
|
2751
|
-
|
|
2792
|
+
this.cachedRows.push(newRow);
|
|
2752
2793
|
var cachedTotal = this.getCachedCount();
|
|
2753
2794
|
if (cachedTotal > this.total) {
|
|
2754
2795
|
this.total = cachedTotal;
|
|
2755
2796
|
}
|
|
2756
2797
|
return newRow;
|
|
2757
2798
|
};
|
|
2758
|
-
EasyDataTable.prototype.createChunk = function (index) {
|
|
2759
|
-
if (typeof index == 'undefined') {
|
|
2760
|
-
index = this.getLastChunkIndex() + 1;
|
|
2761
|
-
}
|
|
2762
|
-
var chunk = { offset: index * this._chunkSize, rows: [] };
|
|
2763
|
-
this.chunkMap[index] = chunk;
|
|
2764
|
-
return chunk;
|
|
2765
|
-
};
|
|
2766
|
-
EasyDataTable.prototype.getLastChunkIndex = function () {
|
|
2767
|
-
var keys = Object.keys(this.chunkMap);
|
|
2768
|
-
return keys.length > 0
|
|
2769
|
-
? parseInt(keys[keys.length - 1])
|
|
2770
|
-
: -1;
|
|
2771
|
-
};
|
|
2772
|
-
EasyDataTable.prototype.getLastChunk = function () {
|
|
2773
|
-
var index = this.getLastChunkIndex();
|
|
2774
|
-
return index > -1
|
|
2775
|
-
? this.chunkMap[index]
|
|
2776
|
-
: null;
|
|
2777
|
-
};
|
|
2778
2799
|
EasyDataTable.prototype.getCachedRows = function () {
|
|
2779
|
-
return this.
|
|
2780
|
-
.reduce(function (acc, v) { return acc.concat(v.rows); }, []);
|
|
2781
|
-
};
|
|
2782
|
-
EasyDataTable.prototype.getCachedChunks = function () {
|
|
2783
|
-
return Object.values(this.chunkMap);
|
|
2800
|
+
return this.cachedRows;
|
|
2784
2801
|
};
|
|
2785
2802
|
EasyDataTable.prototype.totalIsKnown = function () {
|
|
2786
2803
|
if (this.elasticChunks) {
|
|
@@ -2789,6 +2806,11 @@ var easy_data_table_EasyDataTable = /** @class */ (function () {
|
|
|
2789
2806
|
}
|
|
2790
2807
|
return !this.needTotal;
|
|
2791
2808
|
};
|
|
2809
|
+
EasyDataTable.prototype.fireUpdated = function () {
|
|
2810
|
+
if (this.onUpdate) {
|
|
2811
|
+
this.onUpdate(this);
|
|
2812
|
+
}
|
|
2813
|
+
};
|
|
2792
2814
|
return EasyDataTable;
|
|
2793
2815
|
}());
|
|
2794
2816
|
|
|
@@ -2973,7 +2995,6 @@ i18n_i18n.resetLocales();
|
|
|
2973
2995
|
|
|
2974
2996
|
|
|
2975
2997
|
|
|
2976
|
-
//data
|
|
2977
2998
|
|
|
2978
2999
|
|
|
2979
3000
|
|
|
@@ -3347,6 +3368,13 @@ var dom_elem_builder_extends = (undefined && undefined.__extends) || (function (
|
|
|
3347
3368
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
3348
3369
|
};
|
|
3349
3370
|
})();
|
|
3371
|
+
var __spreadArrays = (undefined && undefined.__spreadArrays) || function () {
|
|
3372
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
3373
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
3374
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
3375
|
+
r[k] = a[j];
|
|
3376
|
+
return r;
|
|
3377
|
+
};
|
|
3350
3378
|
|
|
3351
3379
|
var DomElementBuilder = /** @class */ (function () {
|
|
3352
3380
|
function DomElementBuilder(tag, parent) {
|
|
@@ -3417,7 +3445,7 @@ var DomElementBuilder = /** @class */ (function () {
|
|
|
3417
3445
|
classNames[_i - 1] = arguments[_i];
|
|
3418
3446
|
}
|
|
3419
3447
|
if (className) {
|
|
3420
|
-
var fullList = className.trim().split(" ")
|
|
3448
|
+
var fullList = __spreadArrays(className.trim().split(" "), classNames);
|
|
3421
3449
|
for (var i = 0; i < fullList.length; i++)
|
|
3422
3450
|
this.element.classList.add(fullList[i]);
|
|
3423
3451
|
}
|
|
@@ -3429,7 +3457,7 @@ var DomElementBuilder = /** @class */ (function () {
|
|
|
3429
3457
|
classNames[_i - 1] = arguments[_i];
|
|
3430
3458
|
}
|
|
3431
3459
|
if (className) {
|
|
3432
|
-
var fullList = className.trim().split(" ")
|
|
3460
|
+
var fullList = __spreadArrays(className.trim().split(" "), classNames);
|
|
3433
3461
|
for (var i = 0; i < fullList.length; i++)
|
|
3434
3462
|
this.element.classList.remove(fullList[i]);
|
|
3435
3463
|
}
|
|
@@ -3996,6 +4024,14 @@ var drag_manager_DragManager = /** @class */ (function () {
|
|
|
3996
4024
|
//global variable
|
|
3997
4025
|
var eqDragManager = new drag_manager_DragManager();
|
|
3998
4026
|
//# sourceMappingURL=drag_manager.js.map
|
|
4027
|
+
// CONCATENATED MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/easydata/easydata.js/packs/ui/dist/lib/grid/easy_grid_options.js
|
|
4028
|
+
var AutoResizeColumns;
|
|
4029
|
+
(function (AutoResizeColumns) {
|
|
4030
|
+
AutoResizeColumns[AutoResizeColumns["Always"] = 0] = "Always";
|
|
4031
|
+
AutoResizeColumns[AutoResizeColumns["Once"] = 1] = "Once";
|
|
4032
|
+
AutoResizeColumns[AutoResizeColumns["Never"] = 2] = "Never";
|
|
4033
|
+
})(AutoResizeColumns || (AutoResizeColumns = {}));
|
|
4034
|
+
//# sourceMappingURL=easy_grid_options.js.map
|
|
3999
4035
|
// CONCATENATED MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/easydata/easydata.js/packs/ui/dist/lib/grid/easy_grid_cell_renderer.js
|
|
4000
4036
|
|
|
4001
4037
|
|
|
@@ -4147,13 +4183,7 @@ var easy_grid_cell_renderer_GridCellRendererStore = /** @class */ (function () {
|
|
|
4147
4183
|
// CONCATENATED MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/easydata/easydata.js/packs/ui/dist/lib/grid/easy_grid_columns.js
|
|
4148
4184
|
|
|
4149
4185
|
|
|
4150
|
-
var DEFAULT_WIDTH = 150;
|
|
4151
|
-
var DEFAULT_WIDTH_NUMBER = 120;
|
|
4152
|
-
var DEFAULT_WIDTH_DATE = 200;
|
|
4153
|
-
var DEFAULT_WIDTH_BOOL = 80;
|
|
4154
4186
|
var DEFAULT_WIDTH_STRING = 250;
|
|
4155
|
-
var MIN_WIDTH_STRING = 100;
|
|
4156
|
-
var MAX_WIDTH_STRING = 500;
|
|
4157
4187
|
var ROW_NUM_WIDTH = 60;
|
|
4158
4188
|
var GridColumnAlign;
|
|
4159
4189
|
(function (GridColumnAlign) {
|
|
@@ -4185,31 +4215,18 @@ var easy_grid_columns_GridColumn = /** @class */ (function () {
|
|
|
4185
4215
|
this.isRowNum = false;
|
|
4186
4216
|
this.dataColumn = column;
|
|
4187
4217
|
this.grid = grid;
|
|
4218
|
+
var widthOptions = grid.options.columnWidths || {};
|
|
4188
4219
|
if (column) {
|
|
4189
4220
|
if (column.style.alignment) {
|
|
4190
4221
|
this.align = MapAlignment(column.style.alignment);
|
|
4191
4222
|
}
|
|
4192
|
-
|
|
4193
|
-
var cellType = this.grid.cellRendererStore.getCellType(coltype);
|
|
4194
|
-
switch (cellType) {
|
|
4195
|
-
case CellRendererType.NUMBER:
|
|
4196
|
-
this.width = DEFAULT_WIDTH_NUMBER;
|
|
4197
|
-
break;
|
|
4198
|
-
case CellRendererType.DATETIME:
|
|
4199
|
-
this.width = DEFAULT_WIDTH_DATE;
|
|
4200
|
-
break;
|
|
4201
|
-
case CellRendererType.BOOL:
|
|
4202
|
-
this.width = DEFAULT_WIDTH_BOOL;
|
|
4203
|
-
break;
|
|
4204
|
-
default:
|
|
4205
|
-
this.width = DEFAULT_WIDTH_STRING;
|
|
4206
|
-
}
|
|
4223
|
+
this.width = (widthOptions && widthOptions[this.type]) ? widthOptions[this.type].default : DEFAULT_WIDTH_STRING;
|
|
4207
4224
|
this.cellRenderer = this.grid.cellRendererStore.getDefaultRenderer(column.type);
|
|
4208
4225
|
this._description = column.description;
|
|
4209
4226
|
}
|
|
4210
4227
|
else if (isRowNum) {
|
|
4211
4228
|
this.isRowNum = true;
|
|
4212
|
-
this.width = ROW_NUM_WIDTH;
|
|
4229
|
+
this.width = (widthOptions && widthOptions.rowNumColumn) ? widthOptions.rowNumColumn.default : ROW_NUM_WIDTH;
|
|
4213
4230
|
this._label = '';
|
|
4214
4231
|
this.cellRenderer = this.grid.cellRendererStore.getDefaultRendererByType(CellRendererType.NUMBER);
|
|
4215
4232
|
}
|
|
@@ -4255,9 +4272,10 @@ var easy_grid_columns_GridColumnList = /** @class */ (function () {
|
|
|
4255
4272
|
GridColumnList.prototype.sync = function (columnList, hasRowNumCol) {
|
|
4256
4273
|
if (hasRowNumCol === void 0) { hasRowNumCol = true; }
|
|
4257
4274
|
this.clear();
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4275
|
+
var rowNumCol = new easy_grid_columns_GridColumn(null, this.grid, true);
|
|
4276
|
+
this.add(rowNumCol);
|
|
4277
|
+
if (!hasRowNumCol) {
|
|
4278
|
+
rowNumCol.isVisible = false;
|
|
4261
4279
|
}
|
|
4262
4280
|
if (columnList) {
|
|
4263
4281
|
for (var _i = 0, _a = columnList.getItems(); _i < _a.length; _i++) {
|
|
@@ -4331,6 +4349,14 @@ var easy_grid_assign = (undefined && undefined.__assign) || function () {
|
|
|
4331
4349
|
};
|
|
4332
4350
|
return easy_grid_assign.apply(this, arguments);
|
|
4333
4351
|
};
|
|
4352
|
+
var easy_grid_spreadArrays = (undefined && undefined.__spreadArrays) || function () {
|
|
4353
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
4354
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
4355
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
4356
|
+
r[k] = a[j];
|
|
4357
|
+
return r;
|
|
4358
|
+
};
|
|
4359
|
+
|
|
4334
4360
|
|
|
4335
4361
|
|
|
4336
4362
|
|
|
@@ -4363,14 +4389,42 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4363
4389
|
pageSize: 30,
|
|
4364
4390
|
pageSizeItems: [20, 30, 50, 100, 200]
|
|
4365
4391
|
},
|
|
4366
|
-
|
|
4392
|
+
columnWidths: {
|
|
4393
|
+
autoResize: AutoResizeColumns.Always,
|
|
4394
|
+
stringColumns: {
|
|
4395
|
+
min: 100,
|
|
4396
|
+
max: 500,
|
|
4397
|
+
default: 250
|
|
4398
|
+
},
|
|
4399
|
+
numberColumns: {
|
|
4400
|
+
min: 60,
|
|
4401
|
+
default: 120
|
|
4402
|
+
},
|
|
4403
|
+
boolColumns: {
|
|
4404
|
+
min: 50,
|
|
4405
|
+
default: 80
|
|
4406
|
+
},
|
|
4407
|
+
dateColumns: {
|
|
4408
|
+
min: 80,
|
|
4409
|
+
default: 200
|
|
4410
|
+
},
|
|
4411
|
+
otherColumns: {
|
|
4412
|
+
min: 100,
|
|
4413
|
+
max: 500,
|
|
4414
|
+
default: 250
|
|
4415
|
+
},
|
|
4416
|
+
rowNumColumn: {
|
|
4417
|
+
min: 40,
|
|
4418
|
+
default: 60
|
|
4419
|
+
}
|
|
4420
|
+
},
|
|
4421
|
+
showPlusButton: false,
|
|
4367
4422
|
viewportRowsCount: null,
|
|
4368
4423
|
showActiveRow: true
|
|
4369
4424
|
};
|
|
4370
4425
|
this.rowsOnPagePromise = null;
|
|
4371
4426
|
this.containerInitialHeight = 0;
|
|
4372
4427
|
this.firstRender = true;
|
|
4373
|
-
this.compareValues = this.strictCompare;
|
|
4374
4428
|
this.prevRowTotals = null;
|
|
4375
4429
|
this.landingIndex = -1;
|
|
4376
4430
|
this.landingSlot = domel('div')
|
|
@@ -4382,7 +4436,8 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4382
4436
|
if (options && options.paging) {
|
|
4383
4437
|
options.paging = utils_utils.assign(this.defaultDataGridOptions.paging, options.paging);
|
|
4384
4438
|
}
|
|
4385
|
-
this.options =
|
|
4439
|
+
this.options = this.mergeOptions(options);
|
|
4440
|
+
this.processColumnWidthsOptions();
|
|
4386
4441
|
if (!this.options.slot)
|
|
4387
4442
|
throw Error('"slot" parameter is required to initialize EasyDataGrid');
|
|
4388
4443
|
if (!this.options.dataTable)
|
|
@@ -4394,6 +4449,42 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4394
4449
|
this.setSlot(this.options.slot);
|
|
4395
4450
|
this.init(this.options);
|
|
4396
4451
|
}
|
|
4452
|
+
EasyGrid.prototype.mergeOptions = function (options) {
|
|
4453
|
+
var colWidthOptions = utils_utils.assignDeep({}, this.defaultDataGridOptions.columnWidths, options.columnWidths);
|
|
4454
|
+
var pagingOptions = utils_utils.assignDeep({}, this.defaultDataGridOptions.paging, options.paging);
|
|
4455
|
+
var result = utils_utils.assign({}, this.defaultDataGridOptions, options);
|
|
4456
|
+
result.columnWidths = colWidthOptions;
|
|
4457
|
+
result.paging = pagingOptions;
|
|
4458
|
+
return result;
|
|
4459
|
+
};
|
|
4460
|
+
EasyGrid.prototype.processColumnWidthsOptions = function () {
|
|
4461
|
+
var widthOptions = this.options.columnWidths;
|
|
4462
|
+
if (!widthOptions)
|
|
4463
|
+
return;
|
|
4464
|
+
//string columns
|
|
4465
|
+
utils_utils.getStringDataTypes().forEach(function (dataType) {
|
|
4466
|
+
widthOptions[dataType] = easy_grid_assign(easy_grid_assign({}, widthOptions.stringColumns), widthOptions[dataType]);
|
|
4467
|
+
});
|
|
4468
|
+
//numeric columns
|
|
4469
|
+
utils_utils.getNumericDataTypes().forEach(function (dataType) {
|
|
4470
|
+
widthOptions[dataType] = easy_grid_assign(easy_grid_assign({}, widthOptions.numberColumns), widthOptions[dataType]);
|
|
4471
|
+
});
|
|
4472
|
+
//bool columns
|
|
4473
|
+
widthOptions[DataType.Bool] = easy_grid_assign(easy_grid_assign({}, widthOptions.boolColumns), widthOptions[DataType.Bool]);
|
|
4474
|
+
//date columns
|
|
4475
|
+
utils_utils.getDateDataTypes().forEach(function (dataType) {
|
|
4476
|
+
widthOptions[dataType] = easy_grid_assign(easy_grid_assign({}, widthOptions.dateColumns), widthOptions[dataType]);
|
|
4477
|
+
});
|
|
4478
|
+
//other columns
|
|
4479
|
+
var knownTypes = easy_grid_spreadArrays(utils_utils.getStringDataTypes(), utils_utils.getNumericDataTypes(), utils_utils.getDateDataTypes(), [
|
|
4480
|
+
DataType.Bool
|
|
4481
|
+
]);
|
|
4482
|
+
utils_utils.getAllDataTypes().forEach(function (dataType) {
|
|
4483
|
+
if (!(dataType in knownTypes)) {
|
|
4484
|
+
widthOptions[dataType] = easy_grid_assign(easy_grid_assign({}, widthOptions.otherColumns), widthOptions[dataType]);
|
|
4485
|
+
}
|
|
4486
|
+
});
|
|
4487
|
+
};
|
|
4397
4488
|
EasyGrid.prototype.setSlot = function (slot) {
|
|
4398
4489
|
if (typeof slot === 'string') {
|
|
4399
4490
|
if (slot.length) {
|
|
@@ -4426,8 +4517,8 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4426
4517
|
if (options.onRowDbClick) {
|
|
4427
4518
|
this.addEventListener('rowDbClick', options.onRowDbClick);
|
|
4428
4519
|
}
|
|
4429
|
-
if (options.
|
|
4430
|
-
this.addEventListener('
|
|
4520
|
+
if (options.onPlusButtonClick) {
|
|
4521
|
+
this.addEventListener('plusButtonClick', options.onPlusButtonClick);
|
|
4431
4522
|
}
|
|
4432
4523
|
if (options.onColumnChanged) {
|
|
4433
4524
|
this.addEventListener('columnChanged', options.onColumnChanged);
|
|
@@ -4513,7 +4604,7 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4513
4604
|
};
|
|
4514
4605
|
EasyGrid.prototype.render = function () {
|
|
4515
4606
|
var _this = this;
|
|
4516
|
-
if (!this.hasData() && !this.options.
|
|
4607
|
+
if (!this.hasData() && !this.options.showPlusButton)
|
|
4517
4608
|
return;
|
|
4518
4609
|
this.containerInitialHeight = this.slot.clientHeight;
|
|
4519
4610
|
this.rootDiv = document.createElement('div');
|
|
@@ -4530,6 +4621,7 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4530
4621
|
gridContainer.classList.add(this.cssPrefix + "-container");
|
|
4531
4622
|
gridContainer.appendChild(this.rootDiv);
|
|
4532
4623
|
this.slot.appendChild(gridContainer);
|
|
4624
|
+
var needAutoResize = this.options.columnWidths.autoResize !== AutoResizeColumns.Never;
|
|
4533
4625
|
if (this.rowsOnPagePromise) {
|
|
4534
4626
|
this.rowsOnPagePromise
|
|
4535
4627
|
.then(function () { return _this.updateHeight(); })
|
|
@@ -4540,8 +4632,13 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4540
4632
|
}
|
|
4541
4633
|
else {
|
|
4542
4634
|
setTimeout(function () {
|
|
4543
|
-
_this.updateHeight()
|
|
4544
|
-
|
|
4635
|
+
_this.updateHeight()
|
|
4636
|
+
.then(function () {
|
|
4637
|
+
_this.firstRender = false;
|
|
4638
|
+
if (needAutoResize) {
|
|
4639
|
+
_this.resizeColumns();
|
|
4640
|
+
}
|
|
4641
|
+
});
|
|
4545
4642
|
}, 100);
|
|
4546
4643
|
}
|
|
4547
4644
|
};
|
|
@@ -4552,14 +4649,14 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4552
4649
|
var firstRow = _this.bodyCellContainerDiv.firstElementChild;
|
|
4553
4650
|
var rowHeight = firstRow ? firstRow.offsetHeight : DEFAULT_ROW_HEIGHT;
|
|
4554
4651
|
var rowCount = _this.options.viewportRowsCount; // || DEFAULT_ROW_COUNT;
|
|
4555
|
-
var
|
|
4556
|
-
domel(_this.
|
|
4557
|
-
.setStyle('height',
|
|
4652
|
+
var viewportHeight_1 = rowHeight * rowCount;
|
|
4653
|
+
domel(_this.bodyViewportDiv)
|
|
4654
|
+
.setStyle('height', viewportHeight_1 + "px");
|
|
4558
4655
|
setTimeout(function () {
|
|
4559
4656
|
var sbHeight = _this.bodyViewportDiv.offsetHeight - _this.bodyViewportDiv.clientHeight;
|
|
4560
|
-
|
|
4561
|
-
domel(_this.
|
|
4562
|
-
.setStyle('height',
|
|
4657
|
+
viewportHeight_1 = viewportHeight_1 + sbHeight;
|
|
4658
|
+
domel(_this.bodyViewportDiv)
|
|
4659
|
+
.setStyle('height', viewportHeight_1 + "px");
|
|
4563
4660
|
resolve();
|
|
4564
4661
|
}, 100);
|
|
4565
4662
|
return;
|
|
@@ -4606,7 +4703,7 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4606
4703
|
_this.headerRowDiv.appendChild(hd);
|
|
4607
4704
|
if (column.isRowNum) {
|
|
4608
4705
|
domel(hd)
|
|
4609
|
-
.addChildElement(_this.
|
|
4706
|
+
.addChildElement(_this.renderHeaderButtons());
|
|
4610
4707
|
}
|
|
4611
4708
|
});
|
|
4612
4709
|
var containerWidth = this.getContainerWidth();
|
|
@@ -4620,7 +4717,7 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4620
4717
|
var _this = this;
|
|
4621
4718
|
var colBuilder = domel('div')
|
|
4622
4719
|
.addClass(this.cssPrefix + "-header-cell")
|
|
4623
|
-
.data('col-idx', "" +
|
|
4720
|
+
.data('col-idx', "" + index)
|
|
4624
4721
|
.setStyle('width', column.width + "px");
|
|
4625
4722
|
if (column.dataColumn) {
|
|
4626
4723
|
colBuilder
|
|
@@ -4658,14 +4755,6 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4658
4755
|
}
|
|
4659
4756
|
return colDiv;
|
|
4660
4757
|
};
|
|
4661
|
-
EasyGrid.prototype.strictCompare = function (value1, value2) {
|
|
4662
|
-
return value1 !== value2;
|
|
4663
|
-
};
|
|
4664
|
-
EasyGrid.prototype.caseInsensitiveCompare = function (value1, value2) {
|
|
4665
|
-
var val1 = (typeof value1 === 'string') ? value1.toLowerCase() : value1;
|
|
4666
|
-
var val2 = (typeof value2 === 'string') ? value2.toLowerCase() : value2;
|
|
4667
|
-
return val1 !== val2;
|
|
4668
|
-
};
|
|
4669
4758
|
EasyGrid.prototype.renderBody = function () {
|
|
4670
4759
|
var _this = this;
|
|
4671
4760
|
this.bodyDiv = domel('div')
|
|
@@ -4679,10 +4768,6 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4679
4768
|
.addClass(this.cssPrefix + "-cell-container")
|
|
4680
4769
|
.toDOM();
|
|
4681
4770
|
var showAggrs = this.canShowAggregates();
|
|
4682
|
-
this.compareValues = this.caseInsensitiveCompare;
|
|
4683
|
-
if (showAggrs && this.options.aggregates.settings.caseSensitiveGroups) {
|
|
4684
|
-
this.compareValues = this.strictCompare;
|
|
4685
|
-
}
|
|
4686
4771
|
if (this.dataTable) {
|
|
4687
4772
|
this.showProgress();
|
|
4688
4773
|
this.rowsOnPagePromise = this.getRowsToRender()
|
|
@@ -4692,15 +4777,22 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4692
4777
|
//prevent double rendering (bad solution, we have to figure out how to avoid this behavior properly)
|
|
4693
4778
|
_this.bodyCellContainerDiv.innerHTML = '';
|
|
4694
4779
|
_this.prevRowTotals = null;
|
|
4780
|
+
var rowsToRender = 0;
|
|
4695
4781
|
if (rows.length) {
|
|
4696
4782
|
var groups_1 = showAggrs
|
|
4697
4783
|
? _this.options.aggregates.settings.getGroups()
|
|
4698
4784
|
: [];
|
|
4785
|
+
rowsToRender = (rows.length < _this.pagination.pageSize)
|
|
4786
|
+
? rows.length
|
|
4787
|
+
: _this.pagination.pageSize;
|
|
4699
4788
|
rows.forEach(function (row, index) {
|
|
4700
4789
|
if (showAggrs)
|
|
4701
4790
|
_this.updateTotalsState(groups_1, row);
|
|
4702
|
-
|
|
4703
|
-
|
|
4791
|
+
//we don't actually render the last row
|
|
4792
|
+
if (index < rowsToRender) {
|
|
4793
|
+
var tr = _this.renderRow(row, index);
|
|
4794
|
+
_this.bodyCellContainerDiv.appendChild(tr);
|
|
4795
|
+
}
|
|
4704
4796
|
});
|
|
4705
4797
|
var showGrandTotalsOnEachPage = _this.options.aggregates && _this.options.aggregates.showGrandTotalsOnEachPage;
|
|
4706
4798
|
if (showAggrs && (_this.isLastPage() || showGrandTotalsOnEachPage)) {
|
|
@@ -4708,10 +4800,16 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4708
4800
|
_this.updateTotalsState(groups_1, row, true);
|
|
4709
4801
|
}
|
|
4710
4802
|
}
|
|
4711
|
-
var
|
|
4712
|
-
|
|
4713
|
-
.
|
|
4714
|
-
|
|
4803
|
+
var needAutoResize = _this.options.columnWidths.autoResize !== AutoResizeColumns.Never;
|
|
4804
|
+
if (needAutoResize) {
|
|
4805
|
+
_this.resizeColumns();
|
|
4806
|
+
}
|
|
4807
|
+
else {
|
|
4808
|
+
var containerWidth = _this.getContainerWidth();
|
|
4809
|
+
domel(_this.bodyCellContainerDiv)
|
|
4810
|
+
.setStyle('width', containerWidth + "px");
|
|
4811
|
+
}
|
|
4812
|
+
return rowsToRender;
|
|
4715
4813
|
})
|
|
4716
4814
|
.catch(function (error) { console.error(error); return 0; });
|
|
4717
4815
|
}
|
|
@@ -4719,7 +4817,7 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4719
4817
|
domel(_this.headerViewportDiv)
|
|
4720
4818
|
.setStyle('margin-left', "-" + _this.bodyViewportDiv.scrollLeft + "px");
|
|
4721
4819
|
});
|
|
4722
|
-
this.bodyViewportDiv.addEventListener('keydown', this.
|
|
4820
|
+
this.bodyViewportDiv.addEventListener('keydown', this.onViewportKeydown.bind(this));
|
|
4723
4821
|
};
|
|
4724
4822
|
EasyGrid.prototype.isLastPage = function () {
|
|
4725
4823
|
if (this.dataTable.elasticChunks) {
|
|
@@ -4745,7 +4843,7 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4745
4843
|
var group = groups[level - 1];
|
|
4746
4844
|
for (var _i = 0, _a = group.columns; _i < _a.length; _i++) {
|
|
4747
4845
|
var col = _a[_i];
|
|
4748
|
-
if (
|
|
4846
|
+
if (!aggrSettings.compareValues(this.prevRowTotals.getValue(col), newRow.getValue(col))) {
|
|
4749
4847
|
changeLevel = level;
|
|
4750
4848
|
break;
|
|
4751
4849
|
}
|
|
@@ -4806,8 +4904,8 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4806
4904
|
});
|
|
4807
4905
|
var aggrContainer = this.options.aggregates.calculator.getAggrContainer();
|
|
4808
4906
|
var aggrCols = aggrSettings.getAggregates().map(function (c) { return c.colId; });
|
|
4809
|
-
var key =
|
|
4810
|
-
aggrContainer.
|
|
4907
|
+
var key = aggrSettings.buildGroupKey(group, row);
|
|
4908
|
+
aggrContainer.getAggregateData(level, key)
|
|
4811
4909
|
.then(function (values) {
|
|
4812
4910
|
for (var _i = 0, aggrCols_1 = aggrCols; _i < aggrCols_1.length; _i++) {
|
|
4813
4911
|
var aggrColId = aggrCols_1[_i];
|
|
@@ -4848,34 +4946,20 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4848
4946
|
}
|
|
4849
4947
|
}
|
|
4850
4948
|
if (groupFooterTemplate) {
|
|
4851
|
-
var cellDiv_1 = _this.renderCell(column,
|
|
4949
|
+
var cellDiv_1 = _this.renderCell(column, index, val, rowElement);
|
|
4852
4950
|
var innerCell = cellDiv_1.firstChild;
|
|
4853
4951
|
val = innerCell.innerHTML;
|
|
4854
4952
|
val = _this.applyGroupColumnTemplate(groupFooterTemplate, val, values[aggrSettings.COUNT_FIELD_NAME]);
|
|
4855
4953
|
}
|
|
4856
4954
|
}
|
|
4857
|
-
var cellDiv = _this.renderCell(column,
|
|
4955
|
+
var cellDiv = _this.renderCell(column, index, val, rowElement);
|
|
4858
4956
|
rowElement.appendChild(cellDiv);
|
|
4859
4957
|
});
|
|
4860
4958
|
})
|
|
4861
4959
|
.catch(function (error) { return console.error(error); });
|
|
4862
4960
|
return rowElement;
|
|
4863
4961
|
};
|
|
4864
|
-
EasyGrid.prototype.
|
|
4865
|
-
var aggrSettings = this.options.aggregates.settings;
|
|
4866
|
-
var caseInsensitive = aggrSettings && !aggrSettings.caseSensitiveGroups;
|
|
4867
|
-
var result = {};
|
|
4868
|
-
for (var _i = 0, _a = group.columns; _i < _a.length; _i++) {
|
|
4869
|
-
var colId = _a[_i];
|
|
4870
|
-
var keyVal = row.getValue(colId);
|
|
4871
|
-
if (caseInsensitive && typeof (keyVal) === 'string') {
|
|
4872
|
-
keyVal = keyVal.toLowerCase();
|
|
4873
|
-
}
|
|
4874
|
-
result[colId] = keyVal;
|
|
4875
|
-
}
|
|
4876
|
-
return result;
|
|
4877
|
-
};
|
|
4878
|
-
EasyGrid.prototype.onVieportKeydown = function (ev) {
|
|
4962
|
+
EasyGrid.prototype.onViewportKeydown = function (ev) {
|
|
4879
4963
|
if (this.options.showActiveRow) {
|
|
4880
4964
|
var rowCount = this.bodyCellContainerDiv.querySelectorAll("." + this.cssPrefix + "-row").length;
|
|
4881
4965
|
var newValue = void 0;
|
|
@@ -4929,13 +5013,17 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4929
5013
|
}
|
|
4930
5014
|
}
|
|
4931
5015
|
};
|
|
5016
|
+
/** Returns a promise with the list of the rows to render on one page.
|
|
5017
|
+
* The list contains pageSize+1 row to make it possible
|
|
5018
|
+
* to render the totals row (if it appears to be on the edge between pages)
|
|
5019
|
+
*/
|
|
4932
5020
|
EasyGrid.prototype.getRowsToRender = function () {
|
|
4933
5021
|
if (this.options.paging.enabled === false) {
|
|
4934
5022
|
return Promise.resolve(this.dataTable.getCachedRows());
|
|
4935
5023
|
}
|
|
4936
5024
|
return this.dataTable.getRows({
|
|
4937
|
-
|
|
4938
|
-
|
|
5025
|
+
offset: (this.pagination.page - 1) * this.pagination.pageSize,
|
|
5026
|
+
limit: this.pagination.pageSize + 1
|
|
4939
5027
|
})
|
|
4940
5028
|
.catch(function (error) {
|
|
4941
5029
|
console.error(error);
|
|
@@ -4960,23 +5048,26 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
4960
5048
|
var pageInfoDiv = domel('div')
|
|
4961
5049
|
.addClass(this.cssPrefix + "-page-info")
|
|
4962
5050
|
.toDOM();
|
|
4963
|
-
var
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
var
|
|
4972
|
-
|
|
4973
|
-
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
4978
|
-
.
|
|
4979
|
-
|
|
5051
|
+
var rowCount = this.dataTable.getTotal();
|
|
5052
|
+
if (rowCount > 0) {
|
|
5053
|
+
var fistPageRecordNum = count
|
|
5054
|
+
? (this.pagination.page - 1) * this.pagination.pageSize + 1
|
|
5055
|
+
: 0;
|
|
5056
|
+
var lastPageRecordNum = count
|
|
5057
|
+
? fistPageRecordNum + count - 1
|
|
5058
|
+
: 0;
|
|
5059
|
+
var totalStr = this.dataTable.getTotal().toString();
|
|
5060
|
+
if (this.dataTable.elasticChunks) {
|
|
5061
|
+
var count_1 = this.dataTable.getCachedCount();
|
|
5062
|
+
var total = this.dataTable.getTotal();
|
|
5063
|
+
if (count_1 !== total)
|
|
5064
|
+
totalStr = '?';
|
|
5065
|
+
}
|
|
5066
|
+
pageInfoDiv.innerHTML = i18n_i18n.getText('GridPageInfo')
|
|
5067
|
+
.replace('{FirstPageRecordNum}', "<span>" + fistPageRecordNum.toString() + "</span>")
|
|
5068
|
+
.replace('{LastPageRecordNum}', "<span>" + lastPageRecordNum.toString() + "</span>")
|
|
5069
|
+
.replace('{Total}', "<span>" + totalStr + "</span>");
|
|
5070
|
+
}
|
|
4980
5071
|
return pageInfoDiv;
|
|
4981
5072
|
};
|
|
4982
5073
|
EasyGrid.prototype.showProgress = function () {
|
|
@@ -5031,13 +5122,13 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
5031
5122
|
if (this.options.showActiveRow && index == this.activeRowIndex) {
|
|
5032
5123
|
rowBuilder.addClass(this.cssPrefix + "-row-active");
|
|
5033
5124
|
}
|
|
5034
|
-
this.columns.getItems().forEach(function (column) {
|
|
5125
|
+
this.columns.getItems().forEach(function (column, index) {
|
|
5035
5126
|
if (!column.isVisible) {
|
|
5036
5127
|
return;
|
|
5037
5128
|
}
|
|
5038
5129
|
var colindex = column.isRowNum ? -1 : _this.dataTable.columns.getIndex(column.dataColumn.id);
|
|
5039
5130
|
var val = column.isRowNum ? indexGlobal + 1 : row.getValue(colindex);
|
|
5040
|
-
rowElement.appendChild(_this.renderCell(column,
|
|
5131
|
+
rowElement.appendChild(_this.renderCell(column, index, val, rowElement));
|
|
5041
5132
|
});
|
|
5042
5133
|
return rowElement;
|
|
5043
5134
|
};
|
|
@@ -5071,7 +5162,8 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
5071
5162
|
var _this = this;
|
|
5072
5163
|
var paginateDiv = document.createElement('div');
|
|
5073
5164
|
paginateDiv.className = this.cssPrefix + "-pagination-wrapper";
|
|
5074
|
-
|
|
5165
|
+
var rowCount = this.dataTable.getTotal();
|
|
5166
|
+
if (this.options.paging && this.options.paging.enabled && rowCount > 0) {
|
|
5075
5167
|
var prefix_1 = this.paginationOptions.useBootstrap ? '' : this.cssPrefix + "-";
|
|
5076
5168
|
var buttonClickHandler_1 = function (ev) {
|
|
5077
5169
|
var element = ev.target;
|
|
@@ -5197,18 +5289,18 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
5197
5289
|
EasyGrid.prototype.removeEventListener = function (eventType, handlerId) {
|
|
5198
5290
|
this.eventEmitter.unsubscribe(eventType, handlerId);
|
|
5199
5291
|
};
|
|
5200
|
-
EasyGrid.prototype.
|
|
5292
|
+
EasyGrid.prototype.renderHeaderButtons = function () {
|
|
5201
5293
|
var _this = this;
|
|
5202
|
-
if (this.options.
|
|
5294
|
+
if (this.options.showPlusButton) {
|
|
5203
5295
|
return domel('div')
|
|
5204
|
-
.addClass(this.cssPrefix + "-
|
|
5205
|
-
.title(this.options.
|
|
5296
|
+
.addClass(this.cssPrefix + "-header-btn-plus")
|
|
5297
|
+
.title(this.options.plusButtonTitle || 'Add')
|
|
5206
5298
|
.addChild('a', function (builder) { return builder
|
|
5207
5299
|
.attr('href', 'javascript:void(0)')
|
|
5208
5300
|
.on('click', function (e) {
|
|
5209
5301
|
e.preventDefault();
|
|
5210
5302
|
_this.fireEvent({
|
|
5211
|
-
type: '
|
|
5303
|
+
type: 'plusButtonClick',
|
|
5212
5304
|
sourceEvent: e
|
|
5213
5305
|
});
|
|
5214
5306
|
}); })
|
|
@@ -5309,6 +5401,97 @@ var easy_grid_EasyGrid = /** @class */ (function () {
|
|
|
5309
5401
|
EasyGrid.prototype.focus = function () {
|
|
5310
5402
|
this.bodyViewportDiv.focus();
|
|
5311
5403
|
};
|
|
5404
|
+
EasyGrid.prototype.resizeColumns = function () {
|
|
5405
|
+
if (this.options.columnWidths.autoResize === AutoResizeColumns.Never)
|
|
5406
|
+
return;
|
|
5407
|
+
var containerWidth = this.bodyCellContainerDiv.style.width;
|
|
5408
|
+
this.bodyCellContainerDiv.style.visibility = 'hidden';
|
|
5409
|
+
this.bodyCellContainerDiv.style.width = '1px';
|
|
5410
|
+
//this.headerRowDiv.style.visibility = 'hidden';
|
|
5411
|
+
this.headerRowDiv.style.width = '1px';
|
|
5412
|
+
var sumWidth = 0;
|
|
5413
|
+
var columns = this.columns.getItems();
|
|
5414
|
+
var headerCells = this.headerCellContainerDiv.querySelectorAll("." + this.cssPrefix + "-header-cell");
|
|
5415
|
+
var headerIdx = 0;
|
|
5416
|
+
var _loop_1 = function (idx) {
|
|
5417
|
+
var column = columns[idx];
|
|
5418
|
+
if (!column.isVisible)
|
|
5419
|
+
return "continue";
|
|
5420
|
+
var calculatedWidth = this_1.options.columnWidths.autoResize !== AutoResizeColumns.Always && column.dataColumn
|
|
5421
|
+
? column.dataColumn.calculatedWidth
|
|
5422
|
+
: 0;
|
|
5423
|
+
var cellValues = this_1.bodyCellContainerDiv.querySelectorAll("." + this_1.cssPrefix + "-cell[data-col-idx=\"" + idx + "\"] > ." + this_1.cssPrefix + "-cell-value");
|
|
5424
|
+
var maxWidth = 0;
|
|
5425
|
+
if (calculatedWidth > 0) {
|
|
5426
|
+
sumWidth += calculatedWidth;
|
|
5427
|
+
column.width = calculatedWidth;
|
|
5428
|
+
cellValues.forEach(function (value) {
|
|
5429
|
+
value.parentElement.style.width = calculatedWidth + "px";
|
|
5430
|
+
});
|
|
5431
|
+
headerCells[headerIdx].style.width = calculatedWidth + "px";
|
|
5432
|
+
}
|
|
5433
|
+
else {
|
|
5434
|
+
if (cellValues.length == 0) {
|
|
5435
|
+
headerCells[headerIdx].style.width = null;
|
|
5436
|
+
headerCells[headerIdx].style.whiteSpace = 'nowrap';
|
|
5437
|
+
}
|
|
5438
|
+
maxWidth = headerCells[headerIdx].offsetWidth;
|
|
5439
|
+
if (cellValues.length > 0) {
|
|
5440
|
+
cellValues.forEach(function (value) {
|
|
5441
|
+
value.parentElement.style.width = null;
|
|
5442
|
+
var width = value.parentElement.offsetWidth;
|
|
5443
|
+
if (width > maxWidth) {
|
|
5444
|
+
maxWidth = width;
|
|
5445
|
+
}
|
|
5446
|
+
});
|
|
5447
|
+
maxWidth += 3;
|
|
5448
|
+
var maxOption = column.isRowNum
|
|
5449
|
+
? this_1.options.columnWidths.rowNumColumn.max || 500
|
|
5450
|
+
: this_1.options.columnWidths[column.dataColumn.type].max || 2000;
|
|
5451
|
+
var minOption = column.isRowNum
|
|
5452
|
+
? this_1.options.columnWidths.rowNumColumn.min || 0
|
|
5453
|
+
: this_1.options.columnWidths[column.dataColumn.type].min || 20;
|
|
5454
|
+
if (maxWidth > maxOption) {
|
|
5455
|
+
maxWidth = maxOption;
|
|
5456
|
+
}
|
|
5457
|
+
if (maxWidth < minOption) {
|
|
5458
|
+
maxWidth = minOption;
|
|
5459
|
+
}
|
|
5460
|
+
if (utils_utils.isNumericType(column.type)) {
|
|
5461
|
+
//increase the calculated width in 1.3 times for numeric columns
|
|
5462
|
+
maxWidth = Math.round(maxWidth * 1.3);
|
|
5463
|
+
}
|
|
5464
|
+
sumWidth += maxWidth;
|
|
5465
|
+
column.width = maxWidth;
|
|
5466
|
+
cellValues.forEach(function (value) {
|
|
5467
|
+
value.parentElement.style.width = maxWidth + "px";
|
|
5468
|
+
});
|
|
5469
|
+
headerCells[headerIdx].style.width = maxWidth + "px";
|
|
5470
|
+
if (column.dataColumn) {
|
|
5471
|
+
column.dataColumn.calculatedWidth = maxWidth;
|
|
5472
|
+
}
|
|
5473
|
+
}
|
|
5474
|
+
else {
|
|
5475
|
+
sumWidth += maxWidth;
|
|
5476
|
+
}
|
|
5477
|
+
}
|
|
5478
|
+
headerIdx++;
|
|
5479
|
+
};
|
|
5480
|
+
var this_1 = this;
|
|
5481
|
+
for (var idx = 0; idx < this.columns.count; idx++) {
|
|
5482
|
+
_loop_1(idx);
|
|
5483
|
+
}
|
|
5484
|
+
if (sumWidth > 0) {
|
|
5485
|
+
this.bodyCellContainerDiv.style.width = sumWidth + "px";
|
|
5486
|
+
this.headerCellContainerDiv.style.width = sumWidth + "px";
|
|
5487
|
+
}
|
|
5488
|
+
else {
|
|
5489
|
+
this.bodyCellContainerDiv.style.width = containerWidth;
|
|
5490
|
+
this.headerCellContainerDiv.style.width = containerWidth;
|
|
5491
|
+
}
|
|
5492
|
+
this.bodyCellContainerDiv.style.visibility = null;
|
|
5493
|
+
this.headerRowDiv.removeAttribute('style');
|
|
5494
|
+
};
|
|
5312
5495
|
return EasyGrid;
|
|
5313
5496
|
}());
|
|
5314
5497
|
|
|
@@ -6495,6 +6678,7 @@ addEasyDataUITexts();
|
|
|
6495
6678
|
|
|
6496
6679
|
|
|
6497
6680
|
|
|
6681
|
+
|
|
6498
6682
|
//datetimepicker
|
|
6499
6683
|
|
|
6500
6684
|
|
|
@@ -6519,7 +6703,7 @@ var dialogs = new DefaultDialogService();
|
|
|
6519
6703
|
//# sourceMappingURL=public_api.js.map
|
|
6520
6704
|
// CONCATENATED MODULE: ./src/utils/lcv.ts
|
|
6521
6705
|
var majVer = 7;
|
|
6522
|
-
var minVer =
|
|
6706
|
+
var minVer = 2;
|
|
6523
6707
|
var magics = [45, 128, 231];
|
|
6524
6708
|
Math.trunc = Math.trunc || function (x) {
|
|
6525
6709
|
if (isNaN(x)) {
|
|
@@ -7107,167 +7291,170 @@ var model_ex_DataModelEx = /** @class */ (function (_super) {
|
|
|
7107
7291
|
}(external_easyqueryCore_["DataModel"]));
|
|
7108
7292
|
|
|
7109
7293
|
|
|
7110
|
-
// CONCATENATED MODULE: ./src/data/
|
|
7111
|
-
var eqs_aggr_calculator_assign = (undefined && undefined.__assign) || function () {
|
|
7112
|
-
eqs_aggr_calculator_assign = Object.assign || function(t) {
|
|
7113
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
7114
|
-
s = arguments[i];
|
|
7115
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7116
|
-
t[p] = s[p];
|
|
7117
|
-
}
|
|
7118
|
-
return t;
|
|
7119
|
-
};
|
|
7120
|
-
return eqs_aggr_calculator_assign.apply(this, arguments);
|
|
7121
|
-
};
|
|
7122
|
-
|
|
7294
|
+
// CONCATENATED MODULE: ./src/data/data_table_aggr_calculator.ts
|
|
7123
7295
|
|
|
7124
|
-
var
|
|
7125
|
-
function
|
|
7296
|
+
var data_table_aggr_calculator_DataTableAggregatesCalculator = /** @class */ (function () {
|
|
7297
|
+
function DataTableAggregatesCalculator(context) {
|
|
7126
7298
|
this.context = context;
|
|
7299
|
+
//stores current totals by level (group) number
|
|
7300
|
+
this.levelsTotals = [];
|
|
7301
|
+
this.prevRow = null;
|
|
7127
7302
|
this.aggrContainer = new external_easyqueryCore_["EqAggregatesContainer"](context);
|
|
7128
7303
|
}
|
|
7129
|
-
|
|
7304
|
+
DataTableAggregatesCalculator.prototype.getAggrContainer = function () {
|
|
7130
7305
|
return this.aggrContainer;
|
|
7131
7306
|
};
|
|
7132
|
-
|
|
7307
|
+
DataTableAggregatesCalculator.prototype.initObjects = function () {
|
|
7308
|
+
var _this = this;
|
|
7309
|
+
this.aggrSettings = this.context.getQuery().getAggregationSettings();
|
|
7310
|
+
this.groups = this.aggrSettings.getGroups();
|
|
7311
|
+
this.aggregates = this.aggrSettings.getAggregates();
|
|
7312
|
+
this.aggrColIds = this.aggrSettings.getAggregates().map(function (a) { return a.colId; });
|
|
7313
|
+
this.aggrCols = this.context.resultTable.columns.getItems()
|
|
7314
|
+
.filter(function (col) { return _this.aggrColIds.indexOf(col.id) >= 0; });
|
|
7315
|
+
this.levelsTotals = [];
|
|
7316
|
+
this.prevRow = null;
|
|
7317
|
+
};
|
|
7318
|
+
DataTableAggregatesCalculator.prototype.createColumnAggregatesObject = function () {
|
|
7319
|
+
return {
|
|
7320
|
+
sum: 0,
|
|
7321
|
+
min: Number.MAX_VALUE,
|
|
7322
|
+
max: Number.MIN_VALUE
|
|
7323
|
+
};
|
|
7324
|
+
};
|
|
7325
|
+
DataTableAggregatesCalculator.prototype.calculate = function (options) {
|
|
7326
|
+
this.initObjects();
|
|
7133
7327
|
this.aggrContainer.clear();
|
|
7134
7328
|
options = options || {};
|
|
7135
7329
|
options.maxLevel = options.maxLevel >= 0
|
|
7136
7330
|
? options.maxLevel : 0;
|
|
7137
|
-
var
|
|
7138
|
-
var
|
|
7139
|
-
|
|
7140
|
-
|
|
7141
|
-
|
|
7142
|
-
var aggrColIds = settings.getAggregates().map(function (a) { return a.colId; });
|
|
7143
|
-
var aggrCols = query.getColumns()
|
|
7144
|
-
.filter(function (col) { return aggrColIds.indexOf(col.id) >= 0; });
|
|
7145
|
-
var _loop_1 = function (col) {
|
|
7146
|
-
query.changeColumnType(col, external_easyqueryCore_["ExprTag"].AggregateFunction, { funcId: aggregates.filter(function (a) { return a.colId == col.id; })[0].funcId });
|
|
7147
|
-
};
|
|
7148
|
-
for (var _i = 0, aggrCols_1 = aggrCols; _i < aggrCols_1.length; _i++) {
|
|
7149
|
-
var col = aggrCols_1[_i];
|
|
7150
|
-
_loop_1(col);
|
|
7151
|
-
}
|
|
7152
|
-
//get all non-aggregate columns
|
|
7153
|
-
var queryCols = query.getColumns()
|
|
7154
|
-
.filter(function (c) { return c.expr.tag !== external_easyqueryCore_["ExprTag"].AggregateFunction; });
|
|
7155
|
-
for (var _a = 0, queryCols_1 = queryCols; _a < queryCols_1.length; _a++) {
|
|
7156
|
-
var col = queryCols_1[_a];
|
|
7157
|
-
col.setHidden(true);
|
|
7331
|
+
var levelNumber = this.groups.length + 1; //number of groups plus grand totals
|
|
7332
|
+
for (var levelIndex = 0; levelIndex < levelNumber; levelIndex++) {
|
|
7333
|
+
var levelTotals = { count: 0, columns: {} };
|
|
7334
|
+
this.resetLevelTotals(levelTotals);
|
|
7335
|
+
this.levelsTotals.push(levelTotals);
|
|
7158
7336
|
}
|
|
7159
|
-
|
|
7160
|
-
|
|
7161
|
-
|
|
7162
|
-
|
|
7163
|
-
|
|
7164
|
-
|
|
7165
|
-
|
|
7166
|
-
|
|
7167
|
-
|
|
7168
|
-
|
|
7169
|
-
|
|
7170
|
-
|
|
7171
|
-
|
|
7172
|
-
levelPromises.push(this.processLevel({
|
|
7173
|
-
query: query,
|
|
7174
|
-
level: 0,
|
|
7175
|
-
groupName: 'Grand Totals',
|
|
7176
|
-
resultObtainedCallback: options.resultObtained,
|
|
7177
|
-
errorOccurredCallback: options.errorOccurred
|
|
7178
|
-
}));
|
|
7179
|
-
}
|
|
7180
|
-
var groups = settings.getGroups();
|
|
7181
|
-
for (var level = 1; level <= groups.length; level++) {
|
|
7182
|
-
var group = groups[level - 1];
|
|
7183
|
-
for (var _b = 0, queryCols_2 = queryCols; _b < queryCols_2.length; _b++) {
|
|
7184
|
-
var col = queryCols_2[_b];
|
|
7185
|
-
col.setHidden(group.columns.indexOf(col.id) < 0);
|
|
7337
|
+
var allRows = this.context.resultTable.getCachedRows();
|
|
7338
|
+
if (allRows.length > 0) {
|
|
7339
|
+
for (var _i = 0, allRows_1 = allRows; _i < allRows_1.length; _i++) {
|
|
7340
|
+
var row = allRows_1[_i];
|
|
7341
|
+
this.processDataRow(row);
|
|
7342
|
+
}
|
|
7343
|
+
//flusing the totals for all group levels
|
|
7344
|
+
for (var levelIndex = 1; levelIndex < levelNumber; levelIndex++) {
|
|
7345
|
+
this.flushLevelTotals(levelIndex);
|
|
7346
|
+
}
|
|
7347
|
+
//flusing the grand totals (if they are turned on)
|
|
7348
|
+
if (this.aggrSettings.hasGrandTotals()) {
|
|
7349
|
+
this.flushLevelTotals(0);
|
|
7186
7350
|
}
|
|
7187
|
-
levelPromises.push(this.processLevel({
|
|
7188
|
-
query: query,
|
|
7189
|
-
level: level,
|
|
7190
|
-
groupName: group.name,
|
|
7191
|
-
resultObtainedCallback: options.resultObtained,
|
|
7192
|
-
errorOccurredCallback: options.errorOccurred
|
|
7193
|
-
}));
|
|
7194
7351
|
}
|
|
7195
|
-
return Promise.
|
|
7196
|
-
.then(function () { return; })
|
|
7197
|
-
.catch(function (error) { return console.error(error); });
|
|
7352
|
+
return Promise.resolve();
|
|
7198
7353
|
};
|
|
7199
|
-
|
|
7200
|
-
var
|
|
7201
|
-
|
|
7202
|
-
.
|
|
7203
|
-
var fetchOptions = {
|
|
7204
|
-
aux: true,
|
|
7205
|
-
query: options.query
|
|
7206
|
-
};
|
|
7207
|
-
if (this.context.debugMode) {
|
|
7208
|
-
fetchOptions.debug = "Fetching group data. Group: '" + options.groupName + "', level: " + options.level;
|
|
7354
|
+
DataTableAggregatesCalculator.prototype.resetLevelTotals = function (rowTotals) {
|
|
7355
|
+
for (var _i = 0, _a = this.aggrCols; _i < _a.length; _i++) {
|
|
7356
|
+
var aggrCol = _a[_i];
|
|
7357
|
+
rowTotals.columns[aggrCol.id] = this.createColumnAggregatesObject();
|
|
7209
7358
|
}
|
|
7210
|
-
|
|
7211
|
-
|
|
7212
|
-
|
|
7213
|
-
|
|
7214
|
-
|
|
7215
|
-
var
|
|
7216
|
-
|
|
7217
|
-
var col = _a[_i];
|
|
7218
|
-
dataTable.columns.add(col);
|
|
7219
|
-
}
|
|
7220
|
-
for (var _b = 0, _c = resultSet.rows; _b < _c.length; _b++) {
|
|
7221
|
-
var row = _c[_b];
|
|
7222
|
-
dataTable.addRow(row);
|
|
7223
|
-
}
|
|
7224
|
-
var levelData = _this.buildLevelData(options.level, dataTable);
|
|
7225
|
-
_this.aggrContainer.setAggregates(options.level, levelData);
|
|
7226
|
-
if (options.resultObtainedCallback) {
|
|
7227
|
-
options.resultObtainedCallback(result, options.level);
|
|
7359
|
+
rowTotals.count = 0;
|
|
7360
|
+
};
|
|
7361
|
+
DataTableAggregatesCalculator.prototype.processDataRow = function (row) {
|
|
7362
|
+
var levelIndexChanged = this.checkLevelChange(row);
|
|
7363
|
+
if (levelIndexChanged >= 0) {
|
|
7364
|
+
for (var levelIndex_1 = levelIndexChanged; levelIndex_1 < this.levelsTotals.length; levelIndex_1++) {
|
|
7365
|
+
this.flushLevelTotals(levelIndex_1);
|
|
7228
7366
|
}
|
|
7229
|
-
}
|
|
7230
|
-
|
|
7231
|
-
|
|
7232
|
-
|
|
7367
|
+
}
|
|
7368
|
+
if (this.aggrSettings.hasGrandTotals()) {
|
|
7369
|
+
this.updateLevelTotals(0, row);
|
|
7370
|
+
}
|
|
7371
|
+
var levelIndex = 1;
|
|
7372
|
+
for (var _i = 0, _a = this.groups; _i < _a.length; _i++) {
|
|
7373
|
+
var group = _a[_i];
|
|
7374
|
+
this.updateLevelTotals(levelIndex, row);
|
|
7375
|
+
levelIndex++;
|
|
7376
|
+
}
|
|
7377
|
+
this.prevRow = row;
|
|
7378
|
+
};
|
|
7379
|
+
/** Checks if the values in group columns were changed
|
|
7380
|
+
and return the level number they were */
|
|
7381
|
+
DataTableAggregatesCalculator.prototype.checkLevelChange = function (row) {
|
|
7382
|
+
if (this.prevRow == null)
|
|
7383
|
+
return -1;
|
|
7384
|
+
for (var groupIndex = 0; groupIndex < this.groups.length; groupIndex++) {
|
|
7385
|
+
var group = this.groups[groupIndex];
|
|
7386
|
+
for (var _i = 0, _a = group.columns; _i < _a.length; _i++) {
|
|
7387
|
+
var colId = _a[_i];
|
|
7388
|
+
var value = row.getValue(colId);
|
|
7389
|
+
var prevValue = this.prevRow.getValue(colId);
|
|
7390
|
+
if (!this.aggrSettings.compareValues(prevValue, value)) {
|
|
7391
|
+
return groupIndex + 1;
|
|
7392
|
+
}
|
|
7233
7393
|
}
|
|
7234
|
-
}
|
|
7235
|
-
return
|
|
7394
|
+
}
|
|
7395
|
+
return -1;
|
|
7236
7396
|
};
|
|
7237
|
-
|
|
7238
|
-
|
|
7239
|
-
|
|
7240
|
-
|
|
7241
|
-
|
|
7242
|
-
var
|
|
7243
|
-
|
|
7244
|
-
|
|
7397
|
+
/** Saves the current values in levelData for the specified level to AggregateContainer
|
|
7398
|
+
and then reset the data row for that level
|
|
7399
|
+
*/
|
|
7400
|
+
DataTableAggregatesCalculator.prototype.flushLevelTotals = function (levelIndex) {
|
|
7401
|
+
var levelTotals = this.levelsTotals[levelIndex];
|
|
7402
|
+
var group = levelIndex > 0 ? this.groups[levelIndex - 1] : null;
|
|
7403
|
+
var groupKey = this.aggrSettings.buildGroupKey(group, this.prevRow);
|
|
7404
|
+
var groupTotals = {};
|
|
7405
|
+
for (var _i = 0, _a = this.aggregates; _i < _a.length; _i++) {
|
|
7406
|
+
var aggr = _a[_i];
|
|
7407
|
+
var columnTotals = levelTotals.columns[aggr.colId];
|
|
7408
|
+
switch (aggr.funcId) {
|
|
7409
|
+
case "SUM":
|
|
7410
|
+
groupTotals[aggr.colId] = columnTotals.sum;
|
|
7411
|
+
break;
|
|
7412
|
+
case "AVG":
|
|
7413
|
+
groupTotals[aggr.colId] = columnTotals.sum / levelTotals.count;
|
|
7414
|
+
break;
|
|
7415
|
+
case "COUNT":
|
|
7416
|
+
case "CNTDST":
|
|
7417
|
+
groupTotals[aggr.colId] = levelTotals.count;
|
|
7418
|
+
break;
|
|
7419
|
+
case "MIN":
|
|
7420
|
+
groupTotals[aggr.colId] = columnTotals.min;
|
|
7421
|
+
break;
|
|
7422
|
+
case "MAX":
|
|
7423
|
+
groupTotals[aggr.colId] = columnTotals.max;
|
|
7424
|
+
break;
|
|
7425
|
+
}
|
|
7245
7426
|
}
|
|
7246
|
-
|
|
7247
|
-
|
|
7248
|
-
|
|
7249
|
-
|
|
7250
|
-
|
|
7251
|
-
|
|
7252
|
-
|
|
7253
|
-
|
|
7254
|
-
|
|
7255
|
-
|
|
7256
|
-
|
|
7257
|
-
|
|
7258
|
-
|
|
7259
|
-
|
|
7260
|
-
|
|
7427
|
+
if (this.aggrSettings.hasRecordCount()) {
|
|
7428
|
+
groupTotals[this.aggrSettings.COUNT_FIELD_NAME] = levelTotals.count;
|
|
7429
|
+
}
|
|
7430
|
+
this.aggrContainer.updateAggregateData(levelIndex, groupKey, groupTotals);
|
|
7431
|
+
this.resetLevelTotals(levelTotals);
|
|
7432
|
+
};
|
|
7433
|
+
/** Updates the totals by values in the current DataRow
|
|
7434
|
+
* and according to the specified aggregate
|
|
7435
|
+
*/
|
|
7436
|
+
DataTableAggregatesCalculator.prototype.updateLevelTotals = function (levelIndex, row) {
|
|
7437
|
+
var levelTotals = this.levelsTotals[levelIndex];
|
|
7438
|
+
levelTotals.count += 1;
|
|
7439
|
+
for (var _i = 0, _a = this.aggregates; _i < _a.length; _i++) {
|
|
7440
|
+
var aggr = _a[_i];
|
|
7441
|
+
var value = row.getValue(aggr.colId);
|
|
7442
|
+
var columnTotals = levelTotals.columns[aggr.colId];
|
|
7443
|
+
columnTotals.sum += value;
|
|
7444
|
+
if (value < columnTotals.min) {
|
|
7445
|
+
columnTotals.min = value;
|
|
7261
7446
|
}
|
|
7262
|
-
|
|
7263
|
-
|
|
7264
|
-
value[valueCol] = row.getValue(valueCol);
|
|
7447
|
+
if (value > columnTotals.max) {
|
|
7448
|
+
columnTotals.max = value;
|
|
7265
7449
|
}
|
|
7266
|
-
data.set(JSON.stringify(key), value);
|
|
7267
7450
|
}
|
|
7268
|
-
return data;
|
|
7269
7451
|
};
|
|
7270
|
-
|
|
7452
|
+
DataTableAggregatesCalculator.prototype.needRecalculation = function () {
|
|
7453
|
+
return true;
|
|
7454
|
+
};
|
|
7455
|
+
DataTableAggregatesCalculator.prototype.reset = function () {
|
|
7456
|
+
};
|
|
7457
|
+
return DataTableAggregatesCalculator;
|
|
7271
7458
|
}());
|
|
7272
7459
|
|
|
7273
7460
|
|
|
@@ -7293,7 +7480,7 @@ external_easyqueryCore_["EqContext"].prototype.useEnterprise = function (keyOrIn
|
|
|
7293
7480
|
services.registerDataModelResolver(function (context) { return new model_ex_DataModelEx(); });
|
|
7294
7481
|
services.registerQueryResolver(function (context) { return new query_ex_QueryEx(context.getModel()); });
|
|
7295
7482
|
services.registerQueryStorageResolver(function (context) { return new EqServerQueryStorage(context); });
|
|
7296
|
-
services.registerAggregatesCalculator(function (context) { return new
|
|
7483
|
+
services.registerAggregatesCalculator(function (context) { return new data_table_aggr_calculator_DataTableAggregatesCalculator(context); });
|
|
7297
7484
|
if (lcv.__kt === 2) {
|
|
7298
7485
|
console.warn('EasyQuery.JS is working in the TRIAL MODE!\n'
|
|
7299
7486
|
+ 'Please order a license (https://korzh.com/eq) to get a proper product key.');
|
|
@@ -7343,7 +7530,7 @@ function showLCDialog() {
|
|
|
7343
7530
|
break;
|
|
7344
7531
|
default:
|
|
7345
7532
|
title = "Invalid key for EasyQuery!";
|
|
7346
|
-
body = "The EasyQuery product key is either invalid or was issued for a different version of the library.\n The version you are using now is 7.
|
|
7533
|
+
body = "The EasyQuery product key is either invalid or was issued for a different version of the library.\n The version you are using now is 7.2,\n\tso please <a href=\"https://korzh.com/account\">login to your account</a> to get a proper key for version 7.2.";
|
|
7347
7534
|
buttonTitle = 'Get key';
|
|
7348
7535
|
buttonUrl = 'https://korzh.com/account';
|
|
7349
7536
|
break;
|
|
@@ -7422,13 +7609,181 @@ function hideTrialWM() {
|
|
|
7422
7609
|
}
|
|
7423
7610
|
}
|
|
7424
7611
|
|
|
7612
|
+
// CONCATENATED MODULE: ./src/data/eqs_aggr_calculator.ts
|
|
7613
|
+
var eqs_aggr_calculator_assign = (undefined && undefined.__assign) || function () {
|
|
7614
|
+
eqs_aggr_calculator_assign = Object.assign || function(t) {
|
|
7615
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
7616
|
+
s = arguments[i];
|
|
7617
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7618
|
+
t[p] = s[p];
|
|
7619
|
+
}
|
|
7620
|
+
return t;
|
|
7621
|
+
};
|
|
7622
|
+
return eqs_aggr_calculator_assign.apply(this, arguments);
|
|
7623
|
+
};
|
|
7624
|
+
|
|
7625
|
+
|
|
7626
|
+
var eqs_aggr_calculator_EqServerAggregatesCalculator = /** @class */ (function () {
|
|
7627
|
+
function EqServerAggregatesCalculator(context) {
|
|
7628
|
+
this.context = context;
|
|
7629
|
+
this._needRecalculation = true;
|
|
7630
|
+
this.aggrContainer = new external_easyqueryCore_["EqAggregatesContainer"](context);
|
|
7631
|
+
}
|
|
7632
|
+
EqServerAggregatesCalculator.prototype.getAggrContainer = function () {
|
|
7633
|
+
return this.aggrContainer;
|
|
7634
|
+
};
|
|
7635
|
+
EqServerAggregatesCalculator.prototype.calculate = function (options) {
|
|
7636
|
+
this._needRecalculation = false;
|
|
7637
|
+
this.aggrContainer.clear();
|
|
7638
|
+
options = options || {};
|
|
7639
|
+
options.maxLevel = options.maxLevel >= 0
|
|
7640
|
+
? options.maxLevel : 0;
|
|
7641
|
+
var levelPromises = [];
|
|
7642
|
+
var query = this.context.createQuery();
|
|
7643
|
+
query.loadFromData(this.context.getQuery().toJSONData());
|
|
7644
|
+
var settings = this.context.getQuery().getAggregationSettings();
|
|
7645
|
+
var aggregates = settings.getAggregates();
|
|
7646
|
+
var aggrColIds = settings.getAggregates().map(function (a) { return a.colId; });
|
|
7647
|
+
var aggrCols = query.getColumns()
|
|
7648
|
+
.filter(function (col) { return aggrColIds.indexOf(col.id) >= 0; });
|
|
7649
|
+
var _loop_1 = function (col) {
|
|
7650
|
+
query.changeColumnType(col, external_easyqueryCore_["ExprTag"].AggregateFunction, { funcId: aggregates.filter(function (a) { return a.colId == col.id; })[0].funcId });
|
|
7651
|
+
};
|
|
7652
|
+
for (var _i = 0, aggrCols_1 = aggrCols; _i < aggrCols_1.length; _i++) {
|
|
7653
|
+
var col = aggrCols_1[_i];
|
|
7654
|
+
_loop_1(col);
|
|
7655
|
+
}
|
|
7656
|
+
//get all non-aggregate columns
|
|
7657
|
+
var queryCols = query.getColumns()
|
|
7658
|
+
.filter(function (c) { return c.expr.tag !== external_easyqueryCore_["ExprTag"].AggregateFunction; });
|
|
7659
|
+
for (var _a = 0, queryCols_1 = queryCols; _a < queryCols_1.length; _a++) {
|
|
7660
|
+
var col = queryCols_1[_a];
|
|
7661
|
+
col.setHidden(true);
|
|
7662
|
+
}
|
|
7663
|
+
if (settings.hasRecordCount()) {
|
|
7664
|
+
var col = query.createColumn();
|
|
7665
|
+
col.caption = settings.COUNT_FIELD_NAME;
|
|
7666
|
+
col['_id'] = settings.COUNT_FIELD_NAME;
|
|
7667
|
+
var sqlText = 'COUNT(*)';
|
|
7668
|
+
var customSqlExpr = new external_easyqueryCore_["Expression"](col);
|
|
7669
|
+
customSqlExpr.tag = external_easyqueryCore_["ExprTag"].CustomSql;
|
|
7670
|
+
customSqlExpr.sql = sqlText;
|
|
7671
|
+
customSqlExpr.baseAttrId = null;
|
|
7672
|
+
col.expr = customSqlExpr;
|
|
7673
|
+
query.getColumns().push(col);
|
|
7674
|
+
}
|
|
7675
|
+
if (settings.hasGrandTotals()) {
|
|
7676
|
+
levelPromises.push(this.processLevel({
|
|
7677
|
+
query: query,
|
|
7678
|
+
level: 0,
|
|
7679
|
+
groupName: 'Grand Totals',
|
|
7680
|
+
resultObtainedCallback: options.resultObtained,
|
|
7681
|
+
errorOccurredCallback: options.errorOccurred
|
|
7682
|
+
}));
|
|
7683
|
+
}
|
|
7684
|
+
var groups = settings.getGroups();
|
|
7685
|
+
for (var level = 1; level <= groups.length; level++) {
|
|
7686
|
+
var group = groups[level - 1];
|
|
7687
|
+
for (var _b = 0, queryCols_2 = queryCols; _b < queryCols_2.length; _b++) {
|
|
7688
|
+
var col = queryCols_2[_b];
|
|
7689
|
+
col.setHidden(group.columns.indexOf(col.id) < 0);
|
|
7690
|
+
}
|
|
7691
|
+
levelPromises.push(this.processLevel({
|
|
7692
|
+
query: query,
|
|
7693
|
+
level: level,
|
|
7694
|
+
groupName: group.name,
|
|
7695
|
+
resultObtainedCallback: options.resultObtained,
|
|
7696
|
+
errorOccurredCallback: options.errorOccurred
|
|
7697
|
+
}));
|
|
7698
|
+
}
|
|
7699
|
+
return Promise.all(levelPromises)
|
|
7700
|
+
.then(function () {
|
|
7701
|
+
return;
|
|
7702
|
+
})
|
|
7703
|
+
.catch(function (error) { return console.error(error); });
|
|
7704
|
+
};
|
|
7705
|
+
EqServerAggregatesCalculator.prototype.processLevel = function (options) {
|
|
7706
|
+
var _this = this;
|
|
7707
|
+
var fetcher = this.context.getServices()
|
|
7708
|
+
.getDataFetcher();
|
|
7709
|
+
var fetchOptions = {
|
|
7710
|
+
aux: true,
|
|
7711
|
+
query: options.query
|
|
7712
|
+
};
|
|
7713
|
+
if (this.context.debugMode) {
|
|
7714
|
+
fetchOptions.debug = "Fetching group data. Group: '" + options.groupName + "', level: " + options.level;
|
|
7715
|
+
}
|
|
7716
|
+
var resultPromise = fetcher.fetchData(fetchOptions)
|
|
7717
|
+
.then(function (result) {
|
|
7718
|
+
var dataTable = new easy_data_table_EasyDataTable({
|
|
7719
|
+
elasticChunks: true
|
|
7720
|
+
});
|
|
7721
|
+
var resultSet = result.resultSet;
|
|
7722
|
+
for (var _i = 0, _a = resultSet.cols; _i < _a.length; _i++) {
|
|
7723
|
+
var col = _a[_i];
|
|
7724
|
+
dataTable.columns.add(col);
|
|
7725
|
+
}
|
|
7726
|
+
for (var _b = 0, _c = resultSet.rows; _b < _c.length; _b++) {
|
|
7727
|
+
var row = _c[_b];
|
|
7728
|
+
dataTable.addRow(row);
|
|
7729
|
+
}
|
|
7730
|
+
var levelData = _this.buildLevelData(options.level, dataTable);
|
|
7731
|
+
_this.aggrContainer.setAggregateData(options.level, levelData);
|
|
7732
|
+
if (options.resultObtainedCallback) {
|
|
7733
|
+
options.resultObtainedCallback(result, options.level);
|
|
7734
|
+
}
|
|
7735
|
+
})
|
|
7736
|
+
.catch(function (error) {
|
|
7737
|
+
if (options.errorOccurredCallback) {
|
|
7738
|
+
options.errorOccurredCallback(eqs_aggr_calculator_assign(eqs_aggr_calculator_assign({}, error), { level: options.level }));
|
|
7739
|
+
}
|
|
7740
|
+
});
|
|
7741
|
+
return resultPromise;
|
|
7742
|
+
};
|
|
7743
|
+
EqServerAggregatesCalculator.prototype.buildLevelData = function (level, dataTable) {
|
|
7744
|
+
var aggrSettings = this.context.getQuery().getAggregationSettings();
|
|
7745
|
+
var keyColumns = level > 0
|
|
7746
|
+
? aggrSettings.getGroups()[level - 1].columns
|
|
7747
|
+
: [];
|
|
7748
|
+
var valueColumns = aggrSettings.getAggregates().map(function (a) { return a.colId; });
|
|
7749
|
+
if (aggrSettings.hasRecordCount()) {
|
|
7750
|
+
valueColumns.push(aggrSettings.COUNT_FIELD_NAME);
|
|
7751
|
+
}
|
|
7752
|
+
var data = new Map();
|
|
7753
|
+
for (var _i = 0, _a = dataTable.getCachedRows(); _i < _a.length; _i++) {
|
|
7754
|
+
var row = _a[_i];
|
|
7755
|
+
var key = {};
|
|
7756
|
+
var value = {};
|
|
7757
|
+
for (var _b = 0, keyColumns_1 = keyColumns; _b < keyColumns_1.length; _b++) {
|
|
7758
|
+
var keyCol = keyColumns_1[_b];
|
|
7759
|
+
var colIdx = dataTable.columns.getIndex(keyCol);
|
|
7760
|
+
if (colIdx >= 0) {
|
|
7761
|
+
var keyVal = row.getValue(keyCol);
|
|
7762
|
+
if (!aggrSettings.caseSensitiveGroups && typeof (keyVal) === 'string') {
|
|
7763
|
+
keyVal = keyVal.toLowerCase();
|
|
7764
|
+
}
|
|
7765
|
+
key[keyCol] = keyVal;
|
|
7766
|
+
}
|
|
7767
|
+
}
|
|
7768
|
+
for (var _c = 0, valueColumns_1 = valueColumns; _c < valueColumns_1.length; _c++) {
|
|
7769
|
+
var valueCol = valueColumns_1[_c];
|
|
7770
|
+
value[valueCol] = row.getValue(valueCol);
|
|
7771
|
+
}
|
|
7772
|
+
data.set(JSON.stringify(key), value);
|
|
7773
|
+
}
|
|
7774
|
+
return data;
|
|
7775
|
+
};
|
|
7776
|
+
EqServerAggregatesCalculator.prototype.needRecalculation = function () {
|
|
7777
|
+
return this._needRecalculation;
|
|
7778
|
+
};
|
|
7779
|
+
EqServerAggregatesCalculator.prototype.reset = function () {
|
|
7780
|
+
this._needRecalculation = true;
|
|
7781
|
+
};
|
|
7782
|
+
return EqServerAggregatesCalculator;
|
|
7783
|
+
}());
|
|
7784
|
+
|
|
7785
|
+
|
|
7425
7786
|
// CONCATENATED MODULE: ./src/public_api.ts
|
|
7426
|
-
/* concated harmony reexport EqAggregatesCalculator */__webpack_require__.d(__webpack_exports__, "EqAggregatesCalculator", function() { return eqs_aggr_calculator_EqAggregatesCalculator; });
|
|
7427
|
-
/* concated harmony reexport QueryEx */__webpack_require__.d(__webpack_exports__, "QueryEx", function() { return query_ex_QueryEx; });
|
|
7428
|
-
/* concated harmony reexport QueryColumnEx */__webpack_require__.d(__webpack_exports__, "QueryColumnEx", function() { return query_column_ex_QueryColumnEx; });
|
|
7429
|
-
/* concated harmony reexport ConditionEx */__webpack_require__.d(__webpack_exports__, "ConditionEx", function() { return condition_ex_ConditionEx; });
|
|
7430
|
-
/* concated harmony reexport DataModelEx */__webpack_require__.d(__webpack_exports__, "DataModelEx", function() { return model_ex_DataModelEx; });
|
|
7431
|
-
/* concated harmony reexport EqServerQueryStorage */__webpack_require__.d(__webpack_exports__, "EqServerQueryStorage", function() { return EqServerQueryStorage; });
|
|
7432
7787
|
|
|
7433
7788
|
|
|
7434
7789
|
|