@syncfusion/ej2-pivotview 20.1.58 → 20.1.61

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,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.1.58
3
+ * version : 20.1.61
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-pivotview@*",
3
- "_id": "@syncfusion/ej2-pivotview@20.1.57",
3
+ "_id": "@syncfusion/ej2-pivotview@20.1.58",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-PY/G2CSBc4ZFKlOQj+AGcnaoiRU5+GaYjusvYrtPj9U5L6u3cM0rxFAQbYZK5bfCrraCpnWQVEmn75WFOo4vdw==",
5
+ "_integrity": "sha512-4w6FZoxhrgTBV4KX7gFdqmTvF0ud9CbjyuZ9ISHRQtmWVe05cAeR0dMlvNy3+NeNaxRdsq1N3H/j1ijYXNvYFQ==",
6
6
  "_location": "/@syncfusion/ej2-pivotview",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,8 +23,8 @@
23
23
  "/@syncfusion/ej2-react-pivotview",
24
24
  "/@syncfusion/ej2-vue-pivotview"
25
25
  ],
26
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-pivotview/-/ej2-pivotview-20.1.57.tgz",
27
- "_shasum": "6d6b8d7f33c1d0ac7e440b33cf4e90d825c3d218",
26
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-pivotview/-/ej2-pivotview-20.1.58.tgz",
27
+ "_shasum": "a41867faab6e4082ba5f230462630ce20d8e382d",
28
28
  "_spec": "@syncfusion/ej2-pivotview@*",
29
29
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
30
30
  "author": {
@@ -35,19 +35,19 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~20.1.57",
39
- "@syncfusion/ej2-buttons": "~20.1.55",
38
+ "@syncfusion/ej2-base": "~20.1.61",
39
+ "@syncfusion/ej2-buttons": "~20.1.61",
40
40
  "@syncfusion/ej2-calendars": "~20.1.58",
41
- "@syncfusion/ej2-charts": "~20.1.57",
41
+ "@syncfusion/ej2-charts": "~20.1.61",
42
42
  "@syncfusion/ej2-compression": "~20.1.55",
43
43
  "@syncfusion/ej2-data": "~20.1.55",
44
- "@syncfusion/ej2-dropdowns": "~20.1.58",
44
+ "@syncfusion/ej2-dropdowns": "~20.1.61",
45
45
  "@syncfusion/ej2-excel-export": "~20.1.55",
46
46
  "@syncfusion/ej2-file-utils": "~20.1.55",
47
- "@syncfusion/ej2-grids": "~20.1.58",
48
- "@syncfusion/ej2-inputs": "~20.1.58",
47
+ "@syncfusion/ej2-grids": "~20.1.61",
48
+ "@syncfusion/ej2-inputs": "~20.1.61",
49
49
  "@syncfusion/ej2-lists": "~20.1.55",
50
- "@syncfusion/ej2-navigations": "~20.1.58",
50
+ "@syncfusion/ej2-navigations": "~20.1.61",
51
51
  "@syncfusion/ej2-pdf-export": "~20.1.55",
52
52
  "@syncfusion/ej2-popups": "~20.1.58",
53
53
  "@syncfusion/ej2-splitbuttons": "~20.1.57",
@@ -78,6 +78,6 @@
78
78
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
79
79
  },
80
80
  "typings": "index.d.ts",
81
- "version": "20.1.58",
81
+ "version": "20.1.61",
82
82
  "sideEffects": false
83
83
  }
@@ -290,7 +290,7 @@ export declare class PivotEngine {
290
290
  private updateValueMembers;
291
291
  private frameDefinedHeaderData;
292
292
  private getHeaderData;
293
- getAggregateValue(rowIndex: number[], columnIndex: INumberIndex, value: number, type: string): number;
293
+ getAggregateValue(rowIndex: number[], columnIndex: INumberIndex, value: number, type: string, isGrandTotal: boolean): number;
294
294
  private evaluate;
295
295
  /** hidden */
296
296
  getFormattedValue(value: number | string, fieldName: string): IAxisSet;
@@ -1699,8 +1699,8 @@ var PivotEngine = /** @class */ (function () {
1699
1699
  var mPos = this.fieldList[measure].index;
1700
1700
  var aggregate = this.fieldList[measure].aggregateType;
1701
1701
  this.rawIndexObject = {};
1702
- value = (type === 'row' ? this.getAggregateValue(rows[i].index, columns.indexObject, mPos, aggregate) :
1703
- this.getAggregateValue(columns.index, rows[i].indexObject, mPos, aggregate));
1702
+ value = (type === 'row' ? this.getAggregateValue(rows[i].index, columns.indexObject, mPos, aggregate, false) :
1703
+ this.getAggregateValue(columns.index, rows[i].indexObject, mPos, aggregate, false));
1704
1704
  var cellDetails = {
1705
1705
  fieldName: measure,
1706
1706
  row: rows[i],
@@ -2389,70 +2389,94 @@ var PivotEngine = /** @class */ (function () {
2389
2389
  return headers;
2390
2390
  };
2391
2391
  PivotEngine.prototype.performFilterCommonUpdate = function (filterItem, headersInfo, addPos) {
2392
- var rawHeaders = headersInfo.axis === 'row' ? this.rMembers : this.cMembers;
2393
- var filterObjects = {};
2394
- for (var _i = 0, _a = this.filterMembers; _i < _a.length; _i++) {
2395
- var item = _a[_i];
2396
- filterObjects[item] = item;
2397
- }
2398
- if (this.fieldFilterMem[filterItem.name]) {
2399
- rawHeaders = this.performFilterDeletion(headersInfo.headers, filterItem, headersInfo, filterObjects, 0);
2400
- }
2401
- if (addPos.length > 0 && headersInfo.fields.length > 0) {
2402
- this.frameHeaderObjectsCollection = true;
2403
- if (headersInfo.fields.filter(function (item) { return item.showNoDataItems; }).length > 0) {
2404
- for (var i = 0; i < this.data.length; i++) {
2405
- addPos.push(i);
2406
- }
2407
- //addPos = (this.data as any).map((item, pos) => { return pos; });
2408
- }
2409
- /* eslint-disable */
2410
- this.headerObjectsCollection['parent'] = this.getIndexedHeaders(headersInfo.fields, this.data, 0, addPos, headersInfo.axis, '');
2411
- rawHeaders = this.performFilterAddition(rawHeaders, headersInfo.fields, headersInfo);
2412
- var headerNames_1 = {};
2413
- for (var _b = 0, rawHeaders_1 = rawHeaders; _b < rawHeaders_1.length; _b++) {
2414
- var header = rawHeaders_1[_b];
2415
- headerNames_1[header.valueSort.levelName.toString()] = header.valueSort.levelName.toString();
2416
- }
2417
- var excessHeaders = this.headerObjectsCollection['parent'].filter(function (header) {
2418
- return !headerNames_1[header.valueSort.levelName.toString()];
2419
- });
2420
- var grandHeader = rawHeaders.filter(function (item) { return item.type === 'grand sum'; });
2421
- if (grandHeader.length > 0) {
2422
- rawHeaders.pop();
2392
+ if (headersInfo.axis === 'row' || headersInfo.axis === 'column') {
2393
+ var rawHeaders = headersInfo.axis === 'row' ? this.rMembers : this.cMembers;
2394
+ var filterObjects = {};
2395
+ for (var _i = 0, _a = this.filterMembers; _i < _a.length; _i++) {
2396
+ var item = _a[_i];
2397
+ filterObjects[item] = item;
2398
+ }
2399
+ if (this.fieldFilterMem[filterItem.name]) {
2400
+ rawHeaders = this.performFilterDeletion(headersInfo.headers, filterItem, headersInfo, filterObjects, 0);
2401
+ }
2402
+ if (addPos.length > 0 && headersInfo.fields.length > 0) {
2403
+ this.frameHeaderObjectsCollection = true;
2404
+ if (headersInfo.fields.filter(function (item) { return item.showNoDataItems; }).length > 0) {
2405
+ for (var i = 0; i < this.data.length; i++) {
2406
+ addPos.push(i);
2407
+ }
2408
+ //addPos = (this.data as any).map((item, pos) => { return pos; });
2409
+ }
2410
+ /* eslint-disable */
2411
+ this.headerObjectsCollection['parent'] = this.getIndexedHeaders(headersInfo.fields, this.data, 0, addPos, headersInfo.axis, '');
2412
+ rawHeaders = this.performFilterAddition(rawHeaders, headersInfo.fields, headersInfo);
2413
+ var headerNames_1 = {};
2414
+ for (var _b = 0, rawHeaders_1 = rawHeaders; _b < rawHeaders_1.length; _b++) {
2415
+ var header = rawHeaders_1[_b];
2416
+ headerNames_1[header.valueSort.levelName.toString()] = header.valueSort.levelName.toString();
2417
+ }
2418
+ var excessHeaders = this.headerObjectsCollection['parent'].filter(function (header) {
2419
+ return !headerNames_1[header.valueSort.levelName.toString()];
2420
+ });
2421
+ var grandHeader = rawHeaders.filter(function (item) { return item.type === 'grand sum'; });
2422
+ if (grandHeader.length > 0) {
2423
+ rawHeaders.pop();
2424
+ }
2425
+ /* eslint-enable */
2426
+ rawHeaders = this.getSortedHeaders(rawHeaders.concat(excessHeaders), this.fieldList[headersInfo.fields[0].name].sort).concat(grandHeader);
2427
+ if (headersInfo.axis === 'row') {
2428
+ this.cMembers = this.getIndexedHeaders(this.columns, this.data, 0, this.filterMembers, 'column', '');
2429
+ this.insertAllMember(this.cMembers, this.filterMembers, '', 'column');
2430
+ }
2431
+ else {
2432
+ this.rMembers = this.getIndexedHeaders(this.rows, this.data, 0, this.filterMembers, 'row', '');
2433
+ this.insertAllMember(this.rMembers, this.filterMembers, '', 'row');
2434
+ }
2423
2435
  }
2424
- /* eslint-enable */
2425
- rawHeaders = this.getSortedHeaders(rawHeaders.concat(excessHeaders), this.fieldList[headersInfo.fields[0].name].sort).concat(grandHeader);
2426
2436
  if (headersInfo.axis === 'row') {
2427
- this.cMembers = this.getIndexedHeaders(this.columns, this.data, 0, this.filterMembers, 'column', '');
2428
- this.insertAllMember(this.cMembers, this.filterMembers, '', 'column');
2437
+ this.rowCount = 0;
2429
2438
  }
2430
2439
  else {
2431
- this.rMembers = this.getIndexedHeaders(this.rows, this.data, 0, this.filterMembers, 'row', '');
2432
- this.insertAllMember(this.rMembers, this.filterMembers, '', 'row');
2440
+ this.columnCount = 0;
2441
+ }
2442
+ this.updateHeadersCount(rawHeaders, headersInfo.axis, 0, headersInfo.fields, 'plus', false);
2443
+ if (headersInfo.axis === 'row') {
2444
+ if (headersInfo.position > 0) {
2445
+ this.insertPosition(this.rows, this.data, 0, this.filterMembers, 'row', '', rawHeaders);
2446
+ }
2447
+ this.insertTotalPosition(rawHeaders);
2448
+ this.rMembers = this.headerCollection.rowHeaders = rawHeaders;
2449
+ this.headerCollection.rowHeadersCount = this.rowCount;
2450
+ }
2451
+ else {
2452
+ if (headersInfo.position > 0) {
2453
+ this.insertPosition(this.columns, this.data, 0, this.filterMembers, 'column', '', rawHeaders);
2454
+ }
2455
+ this.insertTotalPosition(rawHeaders);
2456
+ this.cMembers = this.headerCollection.columnHeaders = rawHeaders;
2457
+ this.headerCollection.columnHeadersCount = this.columnCount;
2433
2458
  }
2434
- }
2435
- if (headersInfo.axis === 'row') {
2436
- this.rowCount = 0;
2437
2459
  }
2438
2460
  else {
2461
+ var showNoDataItems = (this.rows[0] && this.rows[0].showNoDataItems) || (this.columns[0] && this.columns[0].showNoDataItems);
2462
+ if (this.rows.length > 0) {
2463
+ this.rMembers = this.getIndexedHeaders(this.rows, this.data, 0, showNoDataItems ? addPos : this.filterMembers, 'row', '');
2464
+ }
2465
+ if (this.columns.length > 0) {
2466
+ this.cMembers = this.getIndexedHeaders(this.columns, this.data, 0, showNoDataItems ? addPos : this.filterMembers, 'column', '');
2467
+ }
2468
+ this.insertAllMembersCommon();
2469
+ this.rowCount = 0;
2439
2470
  this.columnCount = 0;
2440
- }
2441
- this.updateHeadersCount(rawHeaders, headersInfo.axis, 0, headersInfo.fields, 'plus', false);
2442
- if (headersInfo.axis === 'row') {
2443
- if (headersInfo.position > 0) {
2444
- this.insertPosition(this.rows, this.data, 0, this.filterMembers, 'row', '', rawHeaders);
2471
+ this.updateHeadersCount(this.cMembers, 'column', 0, this.columns, 'plus', false);
2472
+ this.updateHeadersCount(this.rMembers, 'row', 0, this.rows, 'plus', false);
2473
+ if (showNoDataItems) {
2474
+ this.insertPosition(this.rows, this.data, 0, this.filterMembers, 'row', '', this.rMembers);
2475
+ this.insertPosition(this.columns, this.data, 0, this.filterMembers, 'column', '', this.cMembers);
2445
2476
  }
2446
- this.insertTotalPosition(rawHeaders);
2447
- this.rMembers = this.headerCollection.rowHeaders = rawHeaders;
2477
+ this.headerCollection.rowHeaders = this.rMembers;
2448
2478
  this.headerCollection.rowHeadersCount = this.rowCount;
2449
- }
2450
- else {
2451
- if (headersInfo.position > 0) {
2452
- this.insertPosition(this.columns, this.data, 0, this.filterMembers, 'column', '', rawHeaders);
2453
- }
2454
- this.insertTotalPosition(rawHeaders);
2455
- this.cMembers = this.headerCollection.columnHeaders = rawHeaders;
2479
+ this.headerCollection.columnHeaders = this.cMembers;
2456
2480
  this.headerCollection.columnHeadersCount = this.columnCount;
2457
2481
  }
2458
2482
  this.applyValueSorting();
@@ -2575,15 +2599,13 @@ var PivotEngine = /** @class */ (function () {
2575
2599
  }
2576
2600
  else {
2577
2601
  alphaNumbervalue.push(headers[i]);
2602
+ break;
2578
2603
  }
2579
2604
  }
2580
- if (stringValue.length > 1) {
2581
- stringValue = this.sortHeaders(fieldName, childrens, headers, childrens.sort, childrens.type);
2582
- }
2583
2605
  if (alphaNumbervalue.length > 0) {
2584
2606
  alphaNumbervalue = this.sortHeaders(fieldName, childrens, headers, childrens.sort, childrens.isAlphanumeric);
2585
2607
  }
2586
- return headers = nullValue.concat(alphaNumbervalue, stringValue);
2608
+ return headers;
2587
2609
  }
2588
2610
  else {
2589
2611
  return this.sortHeaders(fieldName, childrens, headers, sortOrder, childrens.type);
@@ -2742,7 +2764,7 @@ var PivotEngine = /** @class */ (function () {
2742
2764
  }
2743
2765
  else {
2744
2766
  this.rawIndexObject = {};
2745
- var value = this.getAggregateValue(header.index, member.indexObject, mIndex, mType);
2767
+ var value = this.getAggregateValue(header.index, member.indexObject, mIndex, mType, false);
2746
2768
  var cellDetails = {
2747
2769
  fieldName: this.fields[mIndex],
2748
2770
  row: header,
@@ -3158,27 +3180,50 @@ var PivotEngine = /** @class */ (function () {
3158
3180
  else {
3159
3181
  if (childrens.type === 'number' && hierarchy.length > 0 && (typeof (hierarchy[0].actualText) === 'string')) {
3160
3182
  var stringValue = [];
3183
+ var outOfRange = void 0;
3161
3184
  var alphaNumbervalue = [];
3162
3185
  var nullValue = [];
3163
3186
  for (var i = 0; i < hierarchy.length; i++) {
3164
3187
  if (isNaN(hierarchy[i].actualText.toString().charAt(0))) {
3165
3188
  stringValue.push(hierarchy[i]);
3189
+ if (!outOfRange && childrens.sort !== 'None') {
3190
+ if (hierarchy[i].actualText === 'Out of Range') {
3191
+ outOfRange = hierarchy[i];
3192
+ hierarchy.splice(i, 1);
3193
+ }
3194
+ }
3166
3195
  }
3167
3196
  else if (hierarchy[i].actualText === "") {
3168
3197
  nullValue.push(hierarchy[i]);
3169
3198
  }
3170
3199
  else {
3200
+ this.fieldList[fieldName].isAlphanumeric = true;
3171
3201
  alphaNumbervalue.push(hierarchy[i]);
3202
+ break;
3172
3203
  }
3173
3204
  }
3174
- if (stringValue.length > 0) {
3175
- stringValue = this.sortHeaders(fieldName, childrens, hierarchy, childrens.sort, childrens.type);
3205
+ if (outOfRange) {
3206
+ if (childrens.sort === 'Ascending') {
3207
+ if (hierarchy[0].actualText === 'Grand Total') {
3208
+ hierarchy.splice(1, 0, outOfRange);
3209
+ }
3210
+ else {
3211
+ hierarchy.splice(0, 0, outOfRange);
3212
+ }
3213
+ }
3214
+ else {
3215
+ if (hierarchy[hierarchy.length - 1].actualText === 'Grand Total') {
3216
+ hierarchy.splice(hierarchy.length - 1, 0, outOfRange);
3217
+ }
3218
+ else {
3219
+ hierarchy.splice(hierarchy.length, 0, outOfRange);
3220
+ }
3221
+ }
3176
3222
  }
3177
3223
  if (alphaNumbervalue.length > 0) {
3178
- this.fieldList[fieldName].isAlphanumeric = true;
3179
- alphaNumbervalue = this.sortHeaders(fieldName, childrens, hierarchy, childrens.sort, childrens.isAlphanumeric);
3224
+ this.sortHeaders(fieldName, childrens, hierarchy, childrens.sort, childrens.isAlphanumeric);
3180
3225
  }
3181
- return hierarchy = nullValue.concat(alphaNumbervalue, stringValue);
3226
+ return hierarchy;
3182
3227
  }
3183
3228
  else {
3184
3229
  return this.sortHeaders(fieldName, childrens, hierarchy, childrens.sort, childrens.type);
@@ -4037,7 +4082,7 @@ var PivotEngine = /** @class */ (function () {
4037
4082
  var selectedColumnValue = 0;
4038
4083
  if (selectedColumnValues.length === 0) {
4039
4084
  var selectedRow = this.getSelectedRow(currentSet.rowHeaders, rowheads);
4040
- selectedColumnValue = this.getAggregateValue(selectedRow.index, selectedColumn.indexObject, this.fieldList[name_3].index, headers.type);
4085
+ selectedColumnValue = this.getAggregateValue(selectedRow.index, selectedColumn.indexObject, this.fieldList[name_3].index, headers.type, false);
4041
4086
  }
4042
4087
  else {
4043
4088
  selectedColumnValue = selectedColumnValues[index[0]].value;
@@ -4096,7 +4141,7 @@ var PivotEngine = /** @class */ (function () {
4096
4141
  // let cVal: number = currentSet.value / (selectedRowValues[i[1]] as IAxisSet).value;
4097
4142
  var selectedRowValue = 0;
4098
4143
  if (selectedRowValues.length === 0 && activeValues) {
4099
- selectedRowValue = this.getAggregateValue(activeValues.index, colheads[i[1] - 1].indexObject, this.fieldList[name_3].index, headers.type);
4144
+ selectedRowValue = this.getAggregateValue(activeValues.index, colheads[i[1] - 1].indexObject, this.fieldList[name_3].index, headers.type, false);
4100
4145
  }
4101
4146
  else {
4102
4147
  selectedRowValue = selectedRowValues[i[1]] ? selectedRowValues[i[1]].actualValue : 0;
@@ -4143,7 +4188,7 @@ var PivotEngine = /** @class */ (function () {
4143
4188
  var selectedColValue = 0;
4144
4189
  if (selectedColumnValues.length === 0) {
4145
4190
  var selectedRow = this.getSelectedRow(currentSet.rowHeaders, rowheads);
4146
- selectedColValue = this.getAggregateValue(selectedRow.index, selectedCol.indexObject, this.fieldList[name_3].index, headers.type);
4191
+ selectedColValue = this.getAggregateValue(selectedRow.index, selectedCol.indexObject, this.fieldList[name_3].index, headers.type, false);
4147
4192
  }
4148
4193
  else {
4149
4194
  selectedColValue = selectedColumnValues[i[0]].value;
@@ -4175,7 +4220,7 @@ var PivotEngine = /** @class */ (function () {
4175
4220
  rowheads[rlen].level === item.level && currentSet.axis === 'value' &&
4176
4221
  currentSet.actualText === name_3) {
4177
4222
  if (rowheads[rlen].type !== 'grand sum') {
4178
- cVal += (!currentSet.showSubTotals && !(!isNullOrUndefined(currentSet.actualValue) && isNaN(currentSet.actualValue))) ? currentSet.actualValue : currentSet.value;
4223
+ cVal += (!currentSet.showSubTotals && !(!isNullOrUndefined(currentSet.actualValue) && isNaN(currentSet.actualValue))) ? currentSet.actualValue : (!isNullOrUndefined(currentSet.value) && !isNaN(currentSet.value)) ? currentSet.value : null;
4179
4224
  currentSet.formattedText = currentSet.showSubTotals ? (cVal === 0 && (currentSet.actualValue && currentSet.actualValue !== 0) ? '' : this.getFormattedValue(cVal, name_3).formattedText) : currentSet.formattedText;
4180
4225
  if (!this.aggregatedValueMatrix[rlen]) {
4181
4226
  this.aggregatedValueMatrix[rlen] = [];
@@ -4280,7 +4325,7 @@ var PivotEngine = /** @class */ (function () {
4280
4325
  var i = 0;
4281
4326
  for (var _i = 0, gTotalIndex_1 = gTotalIndex; _i < gTotalIndex_1.length; _i++) {
4282
4327
  var rIndex = gTotalIndex_1[_i];
4283
- totalValues[valueContent[i]] = this.getAggregateValue((rIndex[0]).index, (rIndex[1]).indexObject, mPos, aggregate);
4328
+ totalValues[valueContent[i]] = this.getAggregateValue((rIndex[0]).index, (rIndex[1]).indexObject, mPos, aggregate, i === 0 ? false : true);
4284
4329
  i++;
4285
4330
  }
4286
4331
  var val_1 = ((totalValues.cVal) * (totalValues.gTotalVal)) / ((totalValues.rTotalVal) * (totalValues.cTotalVal));
@@ -4301,7 +4346,7 @@ var PivotEngine = /** @class */ (function () {
4301
4346
  var i = 0;
4302
4347
  for (var _a = 0, gTotalIndex_2 = gTotalIndex; _a < gTotalIndex_2.length; _a++) {
4303
4348
  var rIndex = gTotalIndex_2[_a];
4304
- totalValues[valueContent[i]] = this.getAggregateValue((rIndex[0]).index, (rIndex[1]).indexObject, mPos, aggregate);
4349
+ totalValues[valueContent[i]] = this.getAggregateValue((rIndex[0]).index, (rIndex[1]).indexObject, mPos, aggregate, i === 0 ? false : true);
4305
4350
  i++;
4306
4351
  }
4307
4352
  var val_2 = ((totalValues.cVal) / (totalValues.gTotalVal));
@@ -4312,7 +4357,7 @@ var PivotEngine = /** @class */ (function () {
4312
4357
  }
4313
4358
  break;
4314
4359
  default:
4315
- var val = this.getAggregateValue(rows[rln].index, columns[cln].indexObject, mPos, aggregate);
4360
+ var val = this.getAggregateValue(rows[rln].index, columns[cln].indexObject, mPos, aggregate, false);
4316
4361
  value = (rows[rln].members.length > 0 && rows[rln].hasChild && rows[rln].isDrilled && ((!isNullOrUndefined(rows[rln].showSubTotals) && !rows[rln].showSubTotals) ||
4317
4362
  !this.showSubTotals || !this.showRowSubTotals)) ? undefined : val;
4318
4363
  actualValue = val;
@@ -4663,7 +4708,7 @@ var PivotEngine = /** @class */ (function () {
4663
4708
  }
4664
4709
  };
4665
4710
  /* eslint-disable */
4666
- PivotEngine.prototype.getAggregateValue = function (rowIndex, columnIndex, value, type) {
4711
+ PivotEngine.prototype.getAggregateValue = function (rowIndex, columnIndex, value, type, isGrandTotal) {
4667
4712
  //rowIndex = rowIndex.sort();
4668
4713
  //columnIndex = columnIndex.sort();
4669
4714
  var rlt = rowIndex.length;
@@ -4844,7 +4889,7 @@ var PivotEngine = /** @class */ (function () {
4844
4889
  var value_1 = aggregateField[aggregatedValue.formula];
4845
4890
  if (value_1 === undefined) {
4846
4891
  var type_1 = aggregatedValue.type;
4847
- value_1 = this.getAggregateValue(rowIndex, columnIndex, aggregatedValue.index, type_1);
4892
+ value_1 = this.getAggregateValue(rowIndex, columnIndex, aggregatedValue.index, type_1, false);
4848
4893
  aggregateField[aggregatedValue.formula] = value_1;
4849
4894
  }
4850
4895
  actualFormula = (actualFormula).replace(aggregatedValue.formula, String(value_1));
@@ -4858,7 +4903,9 @@ var PivotEngine = /** @class */ (function () {
4858
4903
  while (rowIndex[ri] !== undefined) {
4859
4904
  if (columnIndex[rowIndex[ri]] !== undefined) {
4860
4905
  isValueExist = true;
4861
- this.rawIndexObject[rowIndex[ri]] = rowIndex[ri];
4906
+ if (!isGrandTotal) {
4907
+ this.rawIndexObject[rowIndex[ri]] = rowIndex[ri];
4908
+ }
4862
4909
  //let cIndx: number = isLeastLevel ? columnIndex.splice(columnIndex.indexOf(rowIndex[ri]), 1)[0] : rowIndex[ri];
4863
4910
  var currentVal = this.valueMatrix[rowIndex[ri]][value];
4864
4911
  if (isNullOrUndefined(cellValue) && isNullOrUndefined(currentVal)) {
@@ -810,9 +810,7 @@ var OlapEngine = /** @class */ (function () {
810
810
  var lastAllStartPos;
811
811
  var lastAllCount;
812
812
  var availAllMember = false;
813
- var withoutAllEndPos = -1;
814
813
  var isGrandtoalDataAdd = false;
815
- var prevTupInfo;
816
814
  var isGrandTotalTop = false;
817
815
  while (tupPos < tuples.length && !isGrandtoalDataAdd) {
818
816
  var members = tuples[this.customArgs.action === 'down' ?
@@ -822,22 +820,12 @@ var OlapEngine = /** @class */ (function () {
822
820
  var allStartPos = this.tupRowInfo[tupPos].allStartPos;
823
821
  var measure = this.tupRowInfo[tupPos].measure;
824
822
  var typeColl_1 = this.tupRowInfo[tupPos].typeCollection;
825
- var drillStartPos = this.tupRowInfo[tupPos].drillStartPos;
826
- var startDrillUniquename = this.tupRowInfo[tupPos].startDrillUniquename;
827
823
  memPos = 0;
828
824
  if (tupPos === 0 && (members.length > (allCount + (measure ? 1 : 0)) || (members.length === 1 && measure))) {
829
825
  gTotals.pop();
830
826
  }
831
827
  if ((tupPos === 0 && this.isPaging) ? gTotals.length === 0 :
832
828
  (!availAllMember || allCount === lastAllCount || allStartPos !== lastAllStartPos || (members.length === 1 && measure))) {
833
- var attrDrill = this.checkAttributeDrill(this.tupRowInfo[tupPos].drillInfo, 'rows');
834
- var drillAllow = drillStartPos > -1 ? (allCount > 0 ? (attrDrill || allStartPos > drillStartPos) : true) : true;
835
- drillAllow = (prevTupInfo && drillAllow && drillStartPos > -1) ?
836
- (prevTupInfo.startDrillUniquename !== startDrillUniquename ? true :
837
- ((withoutAllEndPos > prevTupInfo.measurePosition ? false :
838
- prevTupInfo.measureName !== this.tupRowInfo[tupPos].measureName) &&
839
- (allStartPos === (drillStartPos + 1) || this.tupRowInfo[tupPos].measurePosition === (drillStartPos + 1))))
840
- : drillAllow;
841
829
  if (members.length === allCount + (measure ? 1 : 0) && measure && !isGrandTotalTop) {
842
830
  var levelName = 'Grand Total.' + members[measurePos].querySelector('Caption').textContent;
843
831
  var formattedText = (typeColl_1[measurePos] === '3' && this.dataFields[this.getUniqueName(members[measurePos].querySelector('UName').textContent)] &&
package/src/base/util.js CHANGED
@@ -864,9 +864,9 @@ var PivotUtil = /** @class */ (function () {
864
864
  }
865
865
  else if (type === true) {
866
866
  sortOrder === 'Ascending' ?
867
- (sortMembersOrder.sort(function (a, b) { return (a.actualText === 'Grand Total' || b.actualText === 'Grand Total') ? 0 : (Number(a.actualText.toString().match(/\d+/)[0]) > Number(b.actualText.toString().match(/\d+/)[0])) ? 1 : ((Number(b.actualText.toString().match(/\d+/)[0]) > Number(a.actualText.toString().match(/\d+/)[0])) ? -1 : 0); })) :
867
+ (sortMembersOrder.sort(function (a, b) { return (a.actualText === 'Grand Total' || b.actualText === 'Grand Total') ? 0 : (a.actualText === 'Out of Range') ? 1 : (b.actualText === 'Out of Range') ? -1 : (Number(a.actualText.toString().match(/\d+/)) > Number(b.actualText.toString().match(/\d+/))) ? 1 : ((Number(b.actualText.toString().match(/\d+/)) > Number(a.actualText.toString().match(/\d+/))) ? -1 : 0); })) :
868
868
  sortOrder === 'Descending' ?
869
- (sortMembersOrder.sort(function (a, b) { return (a.actualText === 'Grand Total' || b.actualText === 'Grand Total') ? 0 : (Number(a.actualText.toString().match(/\d+/)[0]) < Number(b.actualText.toString().match(/\d+/)[0])) ? 1 : ((Number(b.actualText.toString().match(/\d+/)[0]) < Number(a.actualText.toString().match(/\d+/)[0])) ? -1 : 0); })) :
869
+ (sortMembersOrder.sort(function (a, b) { return (a.actualText === 'Grand Total' || b.actualText === 'Grand Total') ? 0 : (a.actualText === 'Out of Range') ? -1 : (b.actualText === 'Out of Range') ? 1 : (Number(a.actualText.toString().match(/\d+/)) < Number(b.actualText.toString().match(/\d+/))) ? 1 : ((Number(b.actualText.toString().match(/\d+/)) < Number(a.actualText.toString().match(/\d+/))) ? -1 : 0); })) :
870
870
  sortMembersOrder;
871
871
  }
872
872
  else {
@@ -109,6 +109,15 @@ var EventBase = /** @class */ (function () {
109
109
  /* eslint-disable */
110
110
  var membersInfo = fieldInfo && fieldInfo.membersOrder ?
111
111
  fieldInfo.membersOrder.slice() : [];
112
+ var outOfRange = void 0;
113
+ if (members[0].actualText === 'Out of Range') {
114
+ outOfRange = members[0];
115
+ members.splice(0, 1);
116
+ }
117
+ else if (members[members.length - 1].actualText === 'Out of Range') {
118
+ outOfRange = members[members.length - 1];
119
+ members.splice(members.length - 1, 1);
120
+ }
112
121
  var sortDetails = {
113
122
  fieldName: fieldName,
114
123
  sortOrder: fieldInfo.sort,
@@ -130,6 +139,24 @@ var EventBase = /** @class */ (function () {
130
139
  isInclude = this.isValidFilterItemsAvail(fieldName, filterObj) && filterObj.type === 'Include' ? true : false;
131
140
  filterItems = filterObj.items ? filterObj.items : [];
132
141
  }
142
+ if (outOfRange) {
143
+ if (sortDetails.sortOrder === 'Ascending') {
144
+ if (members[members.length - 1].actualText === 'Grand Total') {
145
+ members.splice(members.length - 1, 0, outOfRange);
146
+ }
147
+ else {
148
+ members.splice(members.length, 0, outOfRange);
149
+ }
150
+ }
151
+ else {
152
+ if (members[0].actualText === 'Grand Total') {
153
+ members.splice(1, 0, outOfRange);
154
+ }
155
+ else {
156
+ members.splice(0, 0, outOfRange);
157
+ }
158
+ }
159
+ }
133
160
  if (isHeaderSortByDefault) {
134
161
  var copyOrder = [];
135
162
  for (var m = 0, n = 0; m < members.length; m++) {
@@ -49,9 +49,8 @@ var DrillThroughDialog = /** @class */ (function () {
49
49
  }
50
50
  var actualText = eventArgs.currentCell.actualText.toString();
51
51
  try {
52
- if (this.parent.currentView === 'Table' && this.engine.fieldList[actualText].aggregateType !== 'Count' && this.parent.editSettings.allowInlineEditing &&
53
- this.parent.editSettings.allowEditing && eventArgs.rawData.length === 1 &&
54
- this.engine.fieldList[actualText].aggregateType !== 'DistinctCount' && typeof (eventArgs.rawData[0][actualText]) !== 'string') {
52
+ if (this.parent.currentView === 'Table' && this.parent.editSettings.allowInlineEditing &&
53
+ this.parent.editSettings.allowEditing && eventArgs.rawData.length === 1) {
55
54
  this.parent.actionObj.actionName = events.editRecord;
56
55
  if (this.parent.actionBeginMethod()) {
57
56
  return;
@@ -214,9 +213,9 @@ var DrillThroughDialog = /** @class */ (function () {
214
213
  var previousData = this.frameHeaderWithKeys(eventArgs.rawData[eventArgs.rawData.length - 1]);
215
214
  var currentData = eventArgs.rawData[eventArgs.rawData.length - 1];
216
215
  /* eslint-enable */
217
- if (eventArgs.currentCell.actualText in previousData) {
218
- currentData[eventArgs.currentCell.actualText] = eventArgs.currentCell.actualValue;
219
- }
216
+ // if (eventArgs.currentCell.actualText in previousData) {
217
+ // currentData[eventArgs.currentCell.actualText] = eventArgs.currentCell.actualValue;
218
+ // }
220
219
  var actionInfo = {
221
220
  editInfo: { type: 'Inline editing', action: 'update', data: this.gridData }
222
221
  };
@@ -60,6 +60,7 @@ export declare class Toolbar {
60
60
  */
61
61
  createChartMenu(): void;
62
62
  private create;
63
+ private getCurrentReport;
63
64
  private updateItemElements;
64
65
  private whitespaceRemove;
65
66
  private multipleAxesCheckbox;
@@ -263,7 +263,7 @@ var Toolbar = /** @class */ (function () {
263
263
  Toolbar.prototype.saveReport = function (args) {
264
264
  if (this.currentReport && this.currentReport !== '' && args.item.id === (this.parent.element.id + 'save')) {
265
265
  var saveArgs = {
266
- report: this.parent.getPersistData(),
266
+ report: this.getCurrentReport(),
267
267
  reportName: this.currentReport
268
268
  };
269
269
  this.parent.actionObj.actionName = this.parent.getActionCompleteName();
@@ -521,7 +521,7 @@ var Toolbar = /** @class */ (function () {
521
521
  return;
522
522
  }
523
523
  var saveArgs = {
524
- report: _this_2.parent.getPersistData(),
524
+ report: _this_2.getCurrentReport(),
525
525
  reportName: reportInput.value
526
526
  };
527
527
  var actionInfo = {
@@ -557,7 +557,7 @@ var Toolbar = /** @class */ (function () {
557
557
  }
558
558
  _this_3.parent.trigger(events.newReport);
559
559
  var saveArgs = {
560
- report: _this_3.parent.getPersistData(),
560
+ report: _this_3.getCurrentReport(),
561
561
  reportName: reportInput.value
562
562
  };
563
563
  var actionInfo = {
@@ -701,7 +701,7 @@ var Toolbar = /** @class */ (function () {
701
701
  else if (this.action === 'New' || (this.action !== 'Save' && this.action !== 'Rename' && this.action !== 'New')) {
702
702
  if (this.currentReport && this.currentReport !== '' && this.parent.isModified) {
703
703
  var saveArgs = {
704
- report: this.parent.getPersistData(),
704
+ report: this.getCurrentReport(),
705
705
  reportName: this.currentReport
706
706
  };
707
707
  var actionInfo = {
@@ -726,7 +726,7 @@ var Toolbar = /** @class */ (function () {
726
726
  else if (this.action === 'New') {
727
727
  this.parent.trigger(events.newReport);
728
728
  var saveArgs = {
729
- report: this.parent.getPersistData(),
729
+ report: this.getCurrentReport(),
730
730
  reportName: this.currentReport
731
731
  };
732
732
  this.parent.trigger(events.saveReport, saveArgs);
@@ -737,7 +737,7 @@ var Toolbar = /** @class */ (function () {
737
737
  }
738
738
  else if (this.action === 'Save') {
739
739
  var saveArgs = {
740
- report: this.parent.getPersistData(),
740
+ report: this.getCurrentReport(),
741
741
  reportName: this.currentReport
742
742
  };
743
743
  this.parent.trigger(events.saveReport, saveArgs);
@@ -1036,6 +1036,15 @@ var Toolbar = /** @class */ (function () {
1036
1036
  }
1037
1037
  this.updateItemElements();
1038
1038
  };
1039
+ Toolbar.prototype.getCurrentReport = function () {
1040
+ var reportStr = this.parent.getPersistData();
1041
+ if (this.parent.dataSourceSettings.type === 'CSV') {
1042
+ var reportSettings = JSON.parse(reportStr);
1043
+ reportSettings.dataSourceSettings.dataSource.splice(0, 0, this.parent.engineModule.fields);
1044
+ reportStr = JSON.stringify(reportSettings);
1045
+ }
1046
+ return reportStr;
1047
+ };
1039
1048
  Toolbar.prototype.updateItemElements = function () {
1040
1049
  var itemElements = [].slice.call(this.toolbar.element.querySelectorAll('.e-toolbar-item'));
1041
1050
  for (var _i = 0, itemElements_1 = itemElements; _i < itemElements_1.length; _i++) {
@@ -424,6 +424,9 @@ var PivotChart = /** @class */ (function () {
424
424
  if (this.persistSettings.chartSeries && this.persistSettings.chartSeries.emptyPointSettings) {
425
425
  currentSeries.emptyPointSettings = this.persistSettings.chartSeries.emptyPointSettings;
426
426
  }
427
+ if (!currentSeries.emptyPointSettings) {
428
+ currentSeries.emptyPointSettings = { mode: 'Zero' };
429
+ }
427
430
  this.chartSeries = this.chartSeries.concat(currentSeries);
428
431
  }
429
432
  }