@syncfusion/ej2-pivotview 19.4.38 → 19.4.43

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.
Files changed (49) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +1 -1
  3. package/dist/ej2-pivotview.umd.min.js +2 -2
  4. package/dist/ej2-pivotview.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-pivotview.es2015.js +127 -49
  6. package/dist/es6/ej2-pivotview.es2015.js.map +1 -1
  7. package/dist/es6/ej2-pivotview.es5.js +127 -49
  8. package/dist/es6/ej2-pivotview.es5.js.map +1 -1
  9. package/dist/global/ej2-pivotview.min.js +2 -2
  10. package/dist/global/ej2-pivotview.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +18 -18
  13. package/src/base/engine.js +8 -0
  14. package/src/common/actions/pivot-button.js +1 -0
  15. package/src/common/popups/toolbar.js +12 -12
  16. package/src/pivotview/actions/excel-export.js +54 -25
  17. package/src/pivotview/actions/pdf-export.js +45 -9
  18. package/src/pivotview/actions/virtualscroll.d.ts +1 -0
  19. package/src/pivotview/actions/virtualscroll.js +7 -3
  20. package/src/pivotview/model/chartsettings-model.d.ts +1 -1
  21. package/src/pivotview/model/chartsettings.d.ts +1 -1
  22. package/src/pivotview/model/chartsettings.js +1 -1
  23. package/styles/bootstrap-dark.css +30 -14
  24. package/styles/bootstrap.css +30 -14
  25. package/styles/bootstrap4.css +30 -14
  26. package/styles/bootstrap5-dark.css +30 -14
  27. package/styles/bootstrap5.css +30 -14
  28. package/styles/fabric-dark.css +30 -14
  29. package/styles/fabric.css +30 -14
  30. package/styles/highcontrast-light.css +30 -14
  31. package/styles/highcontrast.css +30 -14
  32. package/styles/material-dark.css +30 -14
  33. package/styles/material.css +30 -14
  34. package/styles/pivotfieldlist/_theme.scss +28 -12
  35. package/styles/pivotfieldlist/bootstrap-dark.css +30 -14
  36. package/styles/pivotfieldlist/bootstrap.css +30 -14
  37. package/styles/pivotfieldlist/bootstrap4.css +30 -14
  38. package/styles/pivotfieldlist/bootstrap5-dark.css +30 -14
  39. package/styles/pivotfieldlist/bootstrap5.css +30 -14
  40. package/styles/pivotfieldlist/fabric-dark.css +30 -14
  41. package/styles/pivotfieldlist/fabric.css +30 -14
  42. package/styles/pivotfieldlist/highcontrast-light.css +30 -14
  43. package/styles/pivotfieldlist/highcontrast.css +30 -14
  44. package/styles/pivotfieldlist/material-dark.css +30 -14
  45. package/styles/pivotfieldlist/material.css +30 -14
  46. package/styles/pivotfieldlist/tailwind-dark.css +30 -14
  47. package/styles/pivotfieldlist/tailwind.css +30 -14
  48. package/styles/tailwind-dark.css +30 -14
  49. package/styles/tailwind.css +30 -14
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 19.4.38
3
+ * version : 19.4.43
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@18.25.2",
3
+ "_id": "@syncfusion/ej2-pivotview@19.4.42",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-1Ji0/7L8nd8Q+wqGe37tPt3HnC0LfASDwqfZeXU/ooY65c4fZS3W4k5qlRX4/VPQiVZM+eG4ED55DHq2WXFngw==",
5
+ "_integrity": "sha512-zqgJ6FIg3l3S9avCSMts3EKnvSyYBwgjC8eKbpwx6j0Fuw/t7c311UbT6tOgxT2Nenq5Zj2lhWmFtKWdA8Vg8Q==",
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-release/@syncfusion/ej2-pivotview/-/ej2-pivotview-18.25.2.tgz",
27
- "_shasum": "615a4e05a02dc4aa92fa9307f0fa174688ffff56",
26
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-pivotview/-/ej2-pivotview-19.4.42.tgz",
27
+ "_shasum": "8cca2eb9992a61c1e519c06e22d977a24d37038c",
28
28
  "_spec": "@syncfusion/ej2-pivotview@*",
29
29
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
30
30
  "author": {
@@ -35,23 +35,23 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~19.4.38",
39
- "@syncfusion/ej2-buttons": "~19.4.38",
40
- "@syncfusion/ej2-calendars": "~19.4.38",
41
- "@syncfusion/ej2-charts": "~19.4.38",
38
+ "@syncfusion/ej2-base": "~19.4.42",
39
+ "@syncfusion/ej2-buttons": "~19.4.42",
40
+ "@syncfusion/ej2-calendars": "~19.4.42",
41
+ "@syncfusion/ej2-charts": "~19.4.43",
42
42
  "@syncfusion/ej2-compression": "~19.4.38",
43
- "@syncfusion/ej2-data": "~19.4.38",
44
- "@syncfusion/ej2-dropdowns": "~19.4.38",
43
+ "@syncfusion/ej2-data": "~19.4.42",
44
+ "@syncfusion/ej2-dropdowns": "~19.4.42",
45
45
  "@syncfusion/ej2-excel-export": "~19.4.38",
46
46
  "@syncfusion/ej2-file-utils": "~19.4.38",
47
- "@syncfusion/ej2-grids": "~19.4.38",
48
- "@syncfusion/ej2-inputs": "~19.4.38",
47
+ "@syncfusion/ej2-grids": "~19.4.43",
48
+ "@syncfusion/ej2-inputs": "~19.4.43",
49
49
  "@syncfusion/ej2-lists": "~19.4.38",
50
- "@syncfusion/ej2-navigations": "~19.4.38",
51
- "@syncfusion/ej2-pdf-export": "~19.4.38",
52
- "@syncfusion/ej2-popups": "~19.4.38",
53
- "@syncfusion/ej2-splitbuttons": "~19.4.38",
54
- "@syncfusion/ej2-svg-base": "~19.4.38"
50
+ "@syncfusion/ej2-navigations": "~19.4.41",
51
+ "@syncfusion/ej2-pdf-export": "~19.4.43",
52
+ "@syncfusion/ej2-popups": "~19.4.41",
53
+ "@syncfusion/ej2-splitbuttons": "~19.4.40",
54
+ "@syncfusion/ej2-svg-base": "~19.4.42"
55
55
  },
56
56
  "deprecated": false,
57
57
  "description": "The pivot grid, or pivot table, is used to visualize large sets of relational data in a cross-tabular format, similar to an Excel pivot table.",
@@ -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": "19.4.38",
81
+ "version": "19.4.43",
82
82
  "sideEffects": false
83
83
  }
@@ -2399,6 +2399,14 @@ var PivotEngine = /** @class */ (function () {
2399
2399
  }
2400
2400
  /* eslint-enable */
2401
2401
  rawHeaders = this.getSortedHeaders(rawHeaders.concat(excessHeaders), this.fieldList[headersInfo.fields[0].name].sort).concat(grandHeader);
2402
+ if (headersInfo.axis === 'row') {
2403
+ this.cMembers = this.getIndexedHeaders(this.columns, this.data, 0, this.filterMembers, 'column', '');
2404
+ this.insertAllMember(this.cMembers, this.filterMembers, '', 'column');
2405
+ }
2406
+ else {
2407
+ this.rMembers = this.getIndexedHeaders(this.rows, this.data, 0, this.filterMembers, 'row', '');
2408
+ this.insertAllMember(this.rMembers, this.filterMembers, '', 'row');
2409
+ }
2402
2410
  }
2403
2411
  if (headersInfo.axis === 'row') {
2404
2412
  this.rowCount = 0;
@@ -1389,6 +1389,7 @@ var PivotButton = /** @class */ (function () {
1389
1389
  _this.refreshPivotButtonState(fieldName, isNodeUnChecked);
1390
1390
  if (!isNodeUnChecked) {
1391
1391
  _this.removeDataSourceSettings(fieldName);
1392
+ filterItem = {};
1392
1393
  }
1393
1394
  _this.parent.lastFilterInfo = filterItem;
1394
1395
  var actionInfo = {
@@ -338,10 +338,10 @@ var Toolbar = /** @class */ (function () {
338
338
  }
339
339
  };
340
340
  Toolbar.prototype.actionClick = function (args) {
341
- var actionName = (args.item.id == "PivotViewnew") ? events.addNewReport : (args.item.id == "PivotViewsave") ? events.saveCurrentReport : (args.item.id == "PivotViewsaveas") ? events.saveAsCurrentReport
342
- : (args.item.id == "PivotViewrename") ? events.renameCurrentReport : (args.item.id == "PivotViewremove") ? events.removeCurrentReport : (args.item.id == "PivotViewload") ? events.loadReports
343
- : (args.item.id == "PivotViewformatting") ? events.openConditionalFormatting : (args.item.id == "PivotViewnumberFormatting") ? events.openNumberFormatting
344
- : (args.item.id == "PivotViewmdxQuery") ? events.MdxQuery : (args.item.id == "PivotViewfieldlist") ? events.showFieldList : '';
341
+ var actionName = (args.item.id == this.parent.element.id + 'new') ? events.addNewReport : (args.item.id == this.parent.element.id + 'save') ? events.saveCurrentReport : (args.item.id == this.parent.element.id + 'saveas') ? events.saveAsCurrentReport
342
+ : (args.item.id == this.parent.element.id + 'rename') ? events.renameCurrentReport : (args.item.id == this.parent.element.id + 'remove') ? events.removeCurrentReport : (args.item.id == this.parent.element.id + 'load') ? events.loadReports
343
+ : (args.item.id == this.parent.element.id + 'formatting') ? events.openConditionalFormatting : (args.item.id == this.parent.element.id + 'numberFormatting') ? events.openNumberFormatting
344
+ : (args.item.id == this.parent.element.id + 'mdxQuery') ? events.MdxQuery : (args.item.id == this.parent.element.id + 'fieldlist') ? events.showFieldList : '';
345
345
  this.parent.actionObj.actionName = actionName;
346
346
  if (this.parent.actionBeginMethod()) {
347
347
  return;
@@ -1183,14 +1183,14 @@ var Toolbar = /** @class */ (function () {
1183
1183
  var _this_1 = this;
1184
1184
  var exportArgs = {};
1185
1185
  var type;
1186
- var actionName = (args.item.id == "PivotViewgrid") ? events.tableView : (args.item.id == "PivotView_Column") ? events.chartView : (args.item.id == "PivotView_Bar") ? events.chartView : (args.item.id == "PivotView_Line") ? events.chartView
1187
- : (args.item.id == "PivotView_Area") ? events.chartView : (args.item.id == "PivotView_Scatter") ? events.chartView : (args.item.id == "PivotView_Polar") ? events.chartView : (args.item.id == "PivotView_ChartMoreOption") ? events.chartView
1188
- : (args.item.id == "PivotView_multipleAxes") ? events.multipleAxis : (args.item.id == "PivotView_showLegend") ? events.showLegend : (args.item.id == "PivotViewpdf") ? events.pdfExport : (args.item.id == "PivotViewpng") ? events.pngExport
1189
- : (args.item.id == "PivotViewexcel") ? events.excelExport : (args.item.id == "PivotViewcsv") ? events.csvExport : (args.item.id == "PivotViewjpeg") ? events.jpegExport : (args.item.id == "PivotViewsvg") ? events.svgExport
1190
- : (args.item.id == "PivotViewnotsubtotal") ? events.hideSubTotals : (args.item.id == "PivotViewsubtotalrow") ? events.subTotalsRow : (args.item.id == "PivotViewsubtotalcolumn") ? events.subTotalsColumn
1191
- : (args.item.id == "PivotViewsubtotal") ? events.showSubTotals : (args.item.id == "PivotViewnotgrandtotal") ? events.hideGrandTotals : (args.item.id == "PivotViewgrandtotalrow") ? events.grandTotalsRow
1192
- : (args.item.id == "PivotViewgrandtotalcolumn") ? events.grandTotalsColumn : (args.item.id == "PivotViewgrandtotal") ? events.showGrandTotals
1193
- : (args.item.id == "PivotViewnumberFormattingMenu") ? events.numberFormattingMenu : (args.item.id == "PivotViewconditionalFormattingMenu") ? events.conditionalFormattingMenu : '';
1186
+ var actionName = (args.item.id == this.parent.element.id + 'grid') ? events.tableView : (args.item.id == this.parent.element.id + '_' + "Column") ? events.chartView : (args.item.id == this.parent.element.id + '_' + "Bar") ? events.chartView : (args.item.id == this.parent.element.id + '_' + "Line") ? events.chartView
1187
+ : (args.item.id == this.parent.element.id + '_' + "Area") ? events.chartView : (args.item.id == this.parent.element.id + '_' + "Scatter") ? events.chartView : (args.item.id == this.parent.element.id + '_' + "Polar") ? events.chartView : (args.item.id == this.parent.element.id + '_' + "ChartMoreOption") ? events.chartView
1188
+ : (args.item.id == this.parent.element.id + '_' + "multipleAxes") ? events.multipleAxis : (args.item.id == this.parent.element.id + '_' + "showLegend") ? events.showLegend : (args.item.id == this.parent.element.id + "pdf") ? events.pdfExport : (args.item.id == this.parent.element.id + "png") ? events.pngExport
1189
+ : (args.item.id == this.parent.element.id + "excel") ? events.excelExport : (args.item.id == this.parent.element.id + "csv") ? events.csvExport : (args.item.id == this.parent.element.id + "jpeg") ? events.jpegExport : (args.item.id == this.parent.element.id + "svg") ? events.svgExport
1190
+ : (args.item.id == this.parent.element.id + "notsubtotal") ? events.hideSubTotals : (args.item.id == this.parent.element.id + "subtotalrow") ? events.subTotalsRow : (args.item.id == this.parent.element.id + "subtotalcolumn") ? events.subTotalsColumn
1191
+ : (args.item.id == this.parent.element.id + "subtotal") ? events.showSubTotals : (args.item.id == this.parent.element.id + "notgrandtotal") ? events.hideGrandTotals : (args.item.id == this.parent.element.id + "grandtotalrow") ? events.grandTotalsRow
1192
+ : (args.item.id == this.parent.element.id + "grandtotalcolumn") ? events.grandTotalsColumn : (args.item.id == this.parent.element.id + "grandtotal") ? events.showGrandTotals
1193
+ : (args.item.id == this.parent.element.id + "numberFormattingMenu") ? events.numberFormattingMenu : (args.item.id == this.parent.element.id + "conditionalFormattingMenu") ? events.conditionalFormattingMenu : '';
1194
1194
  this.parent.actionObj.actionName = actionName;
1195
1195
  if (this.parent.actionBeginMethod()) {
1196
1196
  return;
@@ -71,9 +71,6 @@ var ExcelExport = /** @class */ (function () {
71
71
  var clonedValues;
72
72
  var currentPivotValues = PivotExportUtil.getClonedPivotValues(this.engine.pivotValues);
73
73
  var customFileName = isFileNameSet ? exportProperties.fileName : 'default.xlsx';
74
- if (isHeaderSet) {
75
- this.addHeaderAndFooter(exportProperties.header, '', 'header', exportProperties.header.headerRows);
76
- }
77
74
  if (this.parent.exportAllPages && this.parent.enableVirtualization && this.parent.dataType !== 'olap') {
78
75
  var pageSettings = this.engine.pageSettings;
79
76
  this.engine.pageSettings = null;
@@ -87,7 +84,7 @@ var ExcelExport = /** @class */ (function () {
87
84
  clonedValues = currentPivotValues;
88
85
  }
89
86
  var args = {
90
- fileName: customFileName, header: '', footer: '', dataCollections: [clonedValues]
87
+ fileName: customFileName, header: '', footer: '', dataCollections: [clonedValues], excelExportProperties: exportProperties
91
88
  };
92
89
  var fileName;
93
90
  var header;
@@ -121,6 +118,14 @@ var ExcelExport = /** @class */ (function () {
121
118
  for (var cCnt = 0; cCnt < colLen; cCnt++) {
122
119
  if (pivotValues[rCnt][cCnt]) {
123
120
  var pivotCell = pivotValues[rCnt][cCnt];
121
+ var field = (this.parent.dataSourceSettings.valueAxis === 'row' &&
122
+ this.parent.dataType === 'olap' && pivotCell.rowOrdinal &&
123
+ this.engine.tupRowInfo[pivotCell.rowOrdinal]) ?
124
+ this.engine.tupRowInfo[pivotCell.rowOrdinal].measureName :
125
+ pivotCell.actualText;
126
+ var styles = (pivotCell.axis == 'row') ? { hAlign: 'Left', bold: true, wrapText: true } : { numberFormat: formatList[field], bold: false, wrapText: true };
127
+ var pivotCells = currentPivotValues[rCnt][cCnt];
128
+ var headerStyle = { bold: true, vAlign: 'Center', wrapText: true, indent: cCnt === 0 ? pivotCell.level * 10 : 0 };
124
129
  if (!(pivotCell.level === -1 && !pivotCell.rowSpan)) {
125
130
  var cellValue = pivotCell.axis === 'value' ? pivotCell.value : pivotCell.formattedText;
126
131
  var isgetValuesHeader = ((this.parent.dataSourceSettings.rows.length === 0 && this.parent.dataSourceSettings.valueAxis === 'row')
@@ -140,33 +145,21 @@ var ExcelExport = /** @class */ (function () {
140
145
  index: cCnt + 1, value: cellValue,
141
146
  colSpan: pivotCell.colSpan, rowSpan: (pivotCell.rowSpan === -1 ? 1 : pivotCell.rowSpan),
142
147
  });
148
+ var lastCell = cells[cells.length - 1];
143
149
  if (pivotCell.axis === 'value') {
144
150
  if (isNaN(pivotCell.value) || pivotCell.formattedText === '' ||
145
151
  pivotCell.formattedText === undefined || isNullOrUndefined(pivotCell.value)) {
146
- cells[cells.length - 1].value = type === 'Excel' ? null : '';
147
- }
148
- var field = (this.parent.dataSourceSettings.valueAxis === 'row' &&
149
- this.parent.dataType === 'olap' && pivotCell.rowOrdinal &&
150
- this.engine.tupRowInfo[pivotCell.rowOrdinal]) ?
151
- this.engine.tupRowInfo[pivotCell.rowOrdinal].measureName :
152
- pivotCell.actualText;
153
- cells[cells.length - 1].style = !isNullOrUndefined(cells[cells.length - 1].value) ? { numberFormat: formatList[field], bold: false, wrapText: true } : { bold: false, wrapText: true };
154
- if (pivotCell.style) {
155
- cells[cells.length - 1].style.backColor = pivotCell.style.backgroundColor;
156
- cells[cells.length - 1].style.fontColor = pivotCell.style.color;
157
- cells[cells.length - 1].style.fontName = pivotCell.style.fontFamily;
158
- cells[cells.length - 1].style.fontSize = Number(pivotCell.style.fontSize.split('px')[0]);
152
+ lastCell.value = type === 'Excel' ? null : '';
159
153
  }
154
+ lastCell.style = !isNullOrUndefined(lastCell.value) ? styles : { bold: false, wrapText: true };
160
155
  }
161
156
  else {
162
- cells[cells.length - 1].style = {
163
- bold: true, vAlign: 'Center', wrapText: true, indent: cCnt === 0 ? pivotCell.level * 10 : 0
164
- };
157
+ lastCell.style = headerStyle;
165
158
  if (pivotCell.axis === 'row' && cCnt === 0) {
166
- cells[cells.length - 1].style.hAlign = 'Left';
159
+ lastCell.style = styles;
167
160
  if (this.parent.dataType === 'olap') {
168
161
  var indent = this.parent.renderModule.indentCollection[rCnt];
169
- cells[cells.length - 1].style.indent = indent * 2;
162
+ lastCell.style.indent = indent * 2;
170
163
  maxLevel = maxLevel > indent ? maxLevel : indent;
171
164
  }
172
165
  else {
@@ -176,19 +169,55 @@ var ExcelExport = /** @class */ (function () {
176
169
  var levelPosition = levelName.split(this.parent.dataSourceSettings.valueSortSettings.headerDelimiter).length -
177
170
  (memberPos ? memberPos - 1 : memberPos);
178
171
  var level = levelPosition ? (levelPosition - 1) : 0;
179
- cells[cells.length - 1].style.indent = level * 2;
172
+ lastCell.style.indent = level * 2;
180
173
  maxLevel = level > maxLevel ? level : maxLevel;
181
174
  }
182
175
  }
183
176
  }
184
- cells[cells.length - 1].style.borders = { color: '#000000', lineStyle: 'Thin' };
177
+ if (pivotCell.style || lastCell.style.backgroundColor || lastCell.style.fontColor || lastCell.style.fontName || lastCell.style.fontSize) {
178
+ lastCell.style.backgroundColor = lastCell.style.backgroundColor ? lastCell.style.backgroundColor : pivotCell.style.backgroundColor;
179
+ lastCell.style.fontColor = lastCell.style.fontColor ? lastCell.style.fontColor : pivotCell.style.color;
180
+ lastCell.style.fontName = lastCell.style.fontName ? lastCell.style.fontName : pivotCell.style.fontFamily;
181
+ lastCell.style.fontSize = lastCell.style.fontSize ? Number(lastCell.style.fontSize) : Number(pivotCell.style.fontSize.split('px')[0]);
182
+ }
183
+ lastCell.style.borders = { color: '#000000', lineStyle: 'Thin' };
184
+ var excelHeaderQueryCellInfoArgs = void 0;
185
+ var excelQueryCellInfoArgs = void 0;
186
+ if (pivotCell.axis === 'column') {
187
+ excelHeaderQueryCellInfoArgs = {
188
+ style: headerStyle,
189
+ cell: pivotCells,
190
+ };
191
+ this.parent.trigger(events.excelHeaderQueryCellInfo, excelHeaderQueryCellInfoArgs);
192
+ }
193
+ else {
194
+ excelQueryCellInfoArgs = {
195
+ style: styles,
196
+ cell: pivotCells,
197
+ column: undefined,
198
+ data: pivotValues,
199
+ value: cellValue
200
+ };
201
+ this.parent.trigger(events.excelQueryCellInfo, excelQueryCellInfoArgs);
202
+ }
203
+ lastCell.value = (pivotCell.axis == 'column') ? excelHeaderQueryCellInfoArgs.cell.formattedText : excelQueryCellInfoArgs.value;
204
+ lastCell.style = (pivotCell.axis == 'column') ? excelHeaderQueryCellInfoArgs.style : excelQueryCellInfoArgs.style;
185
205
  }
186
206
  }
187
207
  cCnt = cCnt + (pivotCell.colSpan ? (pivotCell.colSpan - 1) : 0);
188
208
  }
189
209
  else {
210
+ var pivotCell = { formattedText: "" };
211
+ var excelHeaderQueryCellInfoArgs = void 0;
212
+ if (pivotCell) {
213
+ excelHeaderQueryCellInfoArgs = {
214
+ style: undefined,
215
+ cell: pivotCell,
216
+ };
217
+ this.parent.trigger(events.excelHeaderQueryCellInfo, excelHeaderQueryCellInfoArgs);
218
+ }
190
219
  cells.push({
191
- index: cCnt + 1, value: '', colSpan: 1, rowSpan: 1,
220
+ index: cCnt + 1, colSpan: 1, rowSpan: 1, value: pivotCell.formattedText, style: excelHeaderQueryCellInfoArgs.style
192
221
  });
193
222
  }
194
223
  }
@@ -31,14 +31,21 @@ var PDFExport = /** @class */ (function () {
31
31
  var footer = (!isNullOrUndefined(pdfExportProperties) && !isNullOrUndefined(pdfExportProperties.footer) && !isNullOrUndefined(pdfExportProperties.footer.contents) && !isNullOrUndefined(pdfExportProperties.footer.contents[0].value)) ?
32
32
  pdfExportProperties.footer.contents[0].value : eventParams.args.footer;
33
33
  var font = new PdfStandardFont(PdfFontFamily.TimesRoman, 15, PdfFontStyle.Regular);
34
- var brush = new PdfSolidBrush(new PdfColor(0, 0, 0));
34
+ var headerCondition = (!isNullOrUndefined(pdfExportProperties) && !isNullOrUndefined(pdfExportProperties.header)
35
+ && !isNullOrUndefined(pdfExportProperties.header.contents) && !isNullOrUndefined(pdfExportProperties.header.contents[0].style));
36
+ var footerCondition = (!isNullOrUndefined(pdfExportProperties) && !isNullOrUndefined(pdfExportProperties.footer)
37
+ && !isNullOrUndefined(pdfExportProperties.footer.contents) && !isNullOrUndefined(pdfExportProperties.footer.contents[0].style));
38
+ var headerColor = (headerCondition) ? this.hexDecToRgb(pdfExportProperties.header.contents[0].style.textBrushColor) : (new PdfColor(0, 0, 0));
39
+ var brushHeader = (headerCondition) ? new PdfSolidBrush(new PdfColor(headerColor.r, headerColor.g, headerColor.b)) : new PdfSolidBrush(new PdfColor(0, 0, 0));
40
+ var footerColor = (footerCondition) ? this.hexDecToRgb(pdfExportProperties.footer.contents[0].style.textBrushColor) : (new PdfColor(0, 0, 0));
41
+ var brushFooter = (footerCondition) ? new PdfSolidBrush(new PdfColor(footerColor.r, footerColor.g, footerColor.b)) : new PdfSolidBrush(new PdfColor(0, 0, 0));
35
42
  var pen = new PdfPen(new PdfColor(0, 0, 0), .5);
36
43
  /** Header and Footer to be set */
37
44
  var headerTemplate = new PdfPageTemplateElement(new RectangleF(0, 0, page.graphics.clientSize.width, 20));
38
- headerTemplate.graphics.drawString(header, font, pen, brush, 0, 0, new PdfStringFormat(PdfTextAlignment.Center));
45
+ headerTemplate.graphics.drawString(header, font, pen, brushHeader, 0, 0, new PdfStringFormat(PdfTextAlignment.Center));
39
46
  eventParams.document.template.top = headerTemplate;
40
47
  var footerTemplate = new PdfPageTemplateElement(new RectangleF(0, 0, page.graphics.clientSize.width, 20));
41
- footerTemplate.graphics.drawString(footer, font, pen, brush, 0, 0, new PdfStringFormat(PdfTextAlignment.Center));
48
+ footerTemplate.graphics.drawString(footer, font, pen, brushFooter, 0, 0, new PdfStringFormat(PdfTextAlignment.Center));
42
49
  eventParams.document.template.bottom = footerTemplate;
43
50
  return page;
44
51
  };
@@ -220,12 +227,12 @@ var PDFExport = /** @class */ (function () {
220
227
  var isValueCell = false;
221
228
  if (pivotValues[rCnt][cCnt]) {
222
229
  var pivotCell = pivotValues[rCnt][cCnt];
230
+ var cellValue = pivotCell.formattedText;
231
+ cellValue = (this.parent.dataSourceSettings.rows.length === 0 || this.parent.dataSourceSettings.columns.length === 0) ? this.parent.getValuesHeader(pivotCell, 'value') : cellValue;
232
+ cellValue = pivotCell.type === 'grand sum' ? (this.parent.dataSourceSettings.rows.length === 0 || this.parent.dataSourceSettings.columns.length === 0) ? this.parent.getValuesHeader(pivotCell, 'grandTotal') :
233
+ this.parent.localeObj.getConstant('grandTotal') : (pivotCell.type === 'sum' ?
234
+ cellValue.toString().replace('Total', this.parent.localeObj.getConstant('total')) : cellValue);
223
235
  if (!(pivotCell.level === -1 && !pivotCell.rowSpan)) {
224
- var cellValue = pivotCell.formattedText;
225
- cellValue = (this.parent.dataSourceSettings.rows.length === 0 || this.parent.dataSourceSettings.columns.length === 0) ? this.parent.getValuesHeader(pivotCell, 'value') : cellValue;
226
- cellValue = pivotCell.type === 'grand sum' ? (this.parent.dataSourceSettings.rows.length === 0 || this.parent.dataSourceSettings.columns.length === 0) ? this.parent.getValuesHeader(pivotCell, 'grandTotal') :
227
- this.parent.localeObj.getConstant('grandTotal') : (pivotCell.type === 'sum' ?
228
- cellValue.toString().replace('Total', this.parent.localeObj.getConstant('total')) : cellValue);
229
236
  if (!(pivotCell.level === -1 && !pivotCell.rowSpan)) {
230
237
  pdfGridRow.cells.getCell(localCnt).columnSpan = pivotCell.colSpan ?
231
238
  (pageSize - localCnt < pivotCell.colSpan ? pageSize - localCnt : pivotCell.colSpan) : 1;
@@ -248,11 +255,31 @@ var PDFExport = /** @class */ (function () {
248
255
  pdfGridRow = this.applyStyle(pdfGridRow, pivotCell, localCnt);
249
256
  }
250
257
  var args = {
251
- style: (pivotCell && pivotCell.isSum) ? { bold: true } : undefined,
258
+ style: (pivotCell.axis == "column") ? { bold: false } : ((pivotCell && pivotCell.isSum) || (pivotCell.axis == "row")) ? { bold: true } : undefined,
252
259
  pivotCell: pivotCell,
253
260
  cell: pdfGridRow.cells.getCell(localCnt)
254
261
  };
255
262
  this.parent.trigger(events.onPdfCellRender, args);
263
+ if (pivotCell.axis == "column") {
264
+ args = {
265
+ style: args.style,
266
+ cell: args.cell,
267
+ gridCell: args.pivotCell
268
+ };
269
+ this.parent.trigger(events.pdfHeaderQueryCellInfo, args);
270
+ pdfGridRow.cells.getCell(localCnt).value = args.gridCell.formattedText ? args.gridCell.formattedText : cellValue;
271
+ }
272
+ else {
273
+ args = {
274
+ style: args.style,
275
+ cell: args.cell,
276
+ column: undefined,
277
+ data: args.pivotCell,
278
+ value: cellValue,
279
+ };
280
+ this.parent.trigger(events.pdfQueryCellInfo, args);
281
+ pdfGridRow.cells.getCell(localCnt).value = args.value ? args.value : cellValue;
282
+ }
256
283
  if (args.style) {
257
284
  this.processCellStyle(pdfGridRow.cells.getCell(localCnt), args);
258
285
  }
@@ -264,6 +291,15 @@ var PDFExport = /** @class */ (function () {
264
291
  cell: pdfGridRow.cells.getCell(localCnt)
265
292
  };
266
293
  this.parent.trigger(events.onPdfCellRender, args);
294
+ var pivotCell = { formattedText: "" };
295
+ if (pivotCell.axis == "column") {
296
+ args = {
297
+ style: args.style,
298
+ cell: args.cell,
299
+ gridCell: args.pivotCell
300
+ };
301
+ this.parent.trigger(events.pdfHeaderQueryCellInfo, args);
302
+ }
267
303
  if (args.style) {
268
304
  this.processCellStyle(pdfGridRow.cells.getCell(localCnt), args);
269
305
  }
@@ -9,6 +9,7 @@ export declare class VirtualScroll {
9
9
  private pageXY;
10
10
  private eventType;
11
11
  private engineModule;
12
+ private isFireFox;
12
13
  /** @hidden */
13
14
  direction: string;
14
15
  private keyboardEvents;
@@ -1,4 +1,4 @@
1
- import { EventHandler, setStyleAttribute } from '@syncfusion/ej2-base';
1
+ import { EventHandler, setStyleAttribute, Browser } from '@syncfusion/ej2-base';
2
2
  import { contentReady } from '../../common/base/constant';
3
3
  import * as cls from '../../common/base/css-constant';
4
4
  /**
@@ -14,6 +14,7 @@ var VirtualScroll = /** @class */ (function () {
14
14
  this.previousValues = { top: 0, left: 0 };
15
15
  this.frozenPreviousValues = { top: 0, left: 0 };
16
16
  this.eventType = '';
17
+ this.isFireFox = Browser.userAgent.toLowerCase().indexOf('firefox') > -1;
17
18
  this.parent = parent;
18
19
  this.engineModule = this.parent.dataType === 'pivot' ? this.parent.engineModule : this.parent.olapEngineModule;
19
20
  this.addInternalEvents();
@@ -37,11 +38,14 @@ var VirtualScroll = /** @class */ (function () {
37
38
  var mScrollBar = mCont.parentElement.parentElement.querySelector('.' + cls.MOVABLESCROLL_DIV);
38
39
  EventHandler.clearEvents(mCont);
39
40
  EventHandler.clearEvents(fCont);
41
+ if (this.isFireFox) {
42
+ EventHandler.clearEvents(mHdr);
43
+ }
40
44
  if (this.engineModule) {
41
45
  var ele = this.parent.isAdaptive ? mCont : mCont.parentElement.parentElement.querySelector('.' + cls.MOVABLESCROLL_DIV);
42
46
  EventHandler.add(ele, 'scroll touchmove pointermove', this.onHorizondalScroll(mHdr, mCont, fCont), this);
43
47
  EventHandler.add(mCont.parentElement, 'scroll wheel touchmove pointermove keyup keydown', this.onVerticalScroll(fCont, mCont), this);
44
- EventHandler.add(mCont.parentElement.parentElement, 'mouseup touchend', this.common(mHdr, mCont, fCont), this);
48
+ EventHandler.add(mCont, 'mouseup touchend scroll', this.common(mHdr, mCont, fCont), this);
45
49
  EventHandler.add(mScrollBar, 'scroll', this.onCustomScrollbarScroll(mCont, mHdr), this);
46
50
  EventHandler.add(mCont, 'scroll', this.onCustomScrollbarScroll(mScrollBar, mHdr), this);
47
51
  EventHandler.add(mHdr, 'scroll', this.onCustomScrollbarScroll(mScrollBar, mCont), this);
@@ -98,7 +102,7 @@ var VirtualScroll = /** @class */ (function () {
98
102
  }
99
103
  var target = e.target;
100
104
  var left = target.scrollLeft;
101
- if (_this.previousValues.left === left) {
105
+ if (_this.previousValues.left === left || (_this.isFireFox && target.classList.contains(cls.MOVABLEHEADER_DIV))) {
102
106
  return;
103
107
  }
104
108
  content.scrollLeft = left;
@@ -2529,7 +2529,7 @@ export interface PivotAxisModel {
2529
2529
 
2530
2530
  /**
2531
2531
  * Allows to scale the axis by this value. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
2532
- * @default null
2532
+ * @default 1
2533
2533
  */
2534
2534
  zoomFactor?: number;
2535
2535
 
@@ -2142,7 +2142,7 @@ export declare class PivotAxis extends ChildProperty<PivotAxis> {
2142
2142
  title: string;
2143
2143
  /**
2144
2144
  * Allows to scale the axis by this value. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
2145
- * @default null
2145
+ * @default 1
2146
2146
  */
2147
2147
  zoomFactor: number;
2148
2148
  /**
@@ -1558,7 +1558,7 @@ var PivotAxis = /** @class */ (function (_super) {
1558
1558
  Property('')
1559
1559
  ], PivotAxis.prototype, "title", void 0);
1560
1560
  __decorate([
1561
- Property(null)
1561
+ Property(1)
1562
1562
  ], PivotAxis.prototype, "zoomFactor", void 0);
1563
1563
  __decorate([
1564
1564
  Complex({}, CrosshairTooltip)
@@ -4902,14 +4902,26 @@
4902
4902
  }
4903
4903
 
4904
4904
  .e-pivotfieldlist-wrapper .e-layout-footer {
4905
+ display: -ms-flexbox;
4906
+ display: flex;
4905
4907
  padding: 10px 2px 2px;
4906
- text-align: right;
4907
4908
  }
4908
4909
 
4909
- .e-pivotfieldlist-wrapper .e-layout-footer .e-defer-apply-button {
4910
+ .e-pivotfieldlist-wrapper .e-layout-footer .e-button-layout {
4911
+ -ms-flex: auto;
4912
+ flex: auto;
4913
+ text-align: end;
4914
+ }
4915
+
4916
+ .e-pivotfieldlist-wrapper .e-layout-footer .e-button-layout .e-defer-apply-button {
4910
4917
  margin-right: 10px;
4911
4918
  }
4912
4919
 
4920
+ .e-pivotfieldlist-wrapper .e-layout-footer .e-button-layout .e-cancel-btn,
4921
+ .e-pivotfieldlist-wrapper .e-layout-footer .e-button-layout .e-defer-apply-button {
4922
+ min-width: fit-content;
4923
+ }
4924
+
4913
4925
  .e-pivotfieldlist-wrapper .e-layout-footer .e-cancel-btn,
4914
4926
  .e-pivotfieldlist-wrapper .e-layout-footer .e-defer-apply-button,
4915
4927
  .e-pivotfieldlist-wrapper .e-layout-footer .e-checkbox-layout {
@@ -4920,7 +4932,7 @@
4920
4932
  }
4921
4933
 
4922
4934
  .e-pivotfieldlist-wrapper .e-layout-footer .e-checkbox-layout .e-label {
4923
- white-space: nowrap;
4935
+ padding-right: 10px;
4924
4936
  }
4925
4937
 
4926
4938
  .e-pivotfieldlist-wrapper .e-layout-footer .e-checkbox-layout {
@@ -4932,10 +4944,6 @@
4932
4944
  margin-top: 6px;
4933
4945
  }
4934
4946
 
4935
- .e-pivotfieldlist-wrapper.e-rtl .e-layout-footer {
4936
- text-align: left;
4937
- }
4938
-
4939
4947
  .e-pivotfieldlist-wrapper.e-rtl .e-layout-footer .e-defer-apply-button {
4940
4948
  margin-left: 10px;
4941
4949
  }
@@ -6370,14 +6378,26 @@
6370
6378
  }
6371
6379
 
6372
6380
  .e-pivotfieldlist-container .e-layout-footer {
6381
+ display: -ms-flexbox;
6382
+ display: flex;
6373
6383
  padding: 10px 2px 2px;
6374
- text-align: right;
6375
6384
  }
6376
6385
 
6377
- .e-pivotfieldlist-container .e-layout-footer .e-defer-apply-button {
6386
+ .e-pivotfieldlist-container .e-layout-footer .e-button-layout {
6387
+ -ms-flex: auto;
6388
+ flex: auto;
6389
+ text-align: end;
6390
+ }
6391
+
6392
+ .e-pivotfieldlist-container .e-layout-footer .e-button-layout .e-defer-apply-button {
6378
6393
  margin-right: 10px;
6379
6394
  }
6380
6395
 
6396
+ .e-pivotfieldlist-container .e-layout-footer .e-button-layout .e-cancel-btn,
6397
+ .e-pivotfieldlist-container .e-layout-footer .e-button-layout .e-defer-apply-button {
6398
+ min-width: fit-content;
6399
+ }
6400
+
6381
6401
  .e-pivotfieldlist-container .e-layout-footer .e-cancel-btn,
6382
6402
  .e-pivotfieldlist-container .e-layout-footer .e-defer-apply-button,
6383
6403
  .e-pivotfieldlist-container .e-layout-footer .e-checkbox-layout {
@@ -6388,7 +6408,7 @@
6388
6408
  }
6389
6409
 
6390
6410
  .e-pivotfieldlist-container .e-layout-footer .e-checkbox-layout .e-label {
6391
- white-space: nowrap;
6411
+ padding-right: 10px;
6392
6412
  }
6393
6413
 
6394
6414
  .e-pivotfieldlist-container .e-layout-footer .e-checkbox-layout {
@@ -6400,10 +6420,6 @@
6400
6420
  margin-top: 6px;
6401
6421
  }
6402
6422
 
6403
- .e-pivotfieldlist-container.e-rtl .e-layout-footer {
6404
- text-align: left;
6405
- }
6406
-
6407
6423
  .e-pivotfieldlist-container.e-rtl .e-layout-footer .e-defer-apply-button {
6408
6424
  margin-left: 10px;
6409
6425
  }