@ag-grid-community/csv-export
Advanced tools
Comparing version 28.1.0 to 28.1.1
@@ -151,3 +151,13 @@ "use strict"; | ||
var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport); | ||
_this.pinnedRowModel.forEachPinnedTopRow(processRow); | ||
if (params.rowPositions) { | ||
params.rowPositions | ||
// only pinnedTop rows, other models are processed by `processRows` and `processPinnedBottomsRows` | ||
.filter(function (position) { return position.rowPinned === 'top'; }) | ||
.sort(function (a, b) { return a.rowIndex - b.rowIndex; }) | ||
.map(function (position) { return _this.pinnedRowModel.getPinnedTopRow(position.rowIndex); }) | ||
.forEach(processRow); | ||
} | ||
else { | ||
_this.pinnedRowModel.forEachPinnedTopRow(processRow); | ||
} | ||
return gridSerializingSession; | ||
@@ -215,3 +225,13 @@ }; | ||
var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport); | ||
_this.pinnedRowModel.forEachPinnedBottomRow(processRow); | ||
if (params.rowPositions) { | ||
params.rowPositions | ||
// only pinnedBottom rows, other models are processed by `processRows` and `processPinnedTopRows` | ||
.filter(function (position) { return position.rowPinned === 'bottom'; }) | ||
.sort(function (a, b) { return a.rowIndex - b.rowIndex; }) | ||
.map(function (position) { return _this.pinnedRowModel.getPinnedBottomRow(position.rowIndex); }) | ||
.forEach(processRow); | ||
} | ||
else { | ||
_this.pinnedRowModel.forEachPinnedBottomRow(processRow); | ||
} | ||
return gridSerializingSession; | ||
@@ -218,0 +238,0 @@ }; |
@@ -21,2 +21,3 @@ import { Column, ColumnModel, GridOptionsWrapper, ProcessCellForExportParams, ProcessGroupHeaderForExportParams, ProcessHeaderForExportParams, ProcessRowGroupForExportParams, RowNode, ValueService } from "@ag-grid-community/core"; | ||
extractRowCellValue(column: Column, index: number, accumulatedRowIndex: number, type: string, node: RowNode): any; | ||
private shouldRenderGroupSummaryCell; | ||
private getHeaderName; | ||
@@ -23,0 +24,0 @@ private createValueForGroupNode; |
@@ -24,20 +24,28 @@ "use strict"; | ||
// we render the group summary text e.g. "-> Parent -> Child"... | ||
var groupIndex = this.gridOptionsWrapper.isGroupMultiAutoColumn() ? node.rowGroupIndex : 0; | ||
var renderGroupSummaryCell = | ||
// on group rows | ||
node && node.group | ||
&& ( | ||
// in the group column if groups appear in regular grid cells | ||
index === groupIndex && this.groupColumns.indexOf(column) !== -1 | ||
// or the first cell in the row, if we're doing full width rows | ||
|| (index === 0 && this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode()))); | ||
var valueForCell; | ||
if (renderGroupSummaryCell) { | ||
valueForCell = this.createValueForGroupNode(node); | ||
var value = this.shouldRenderGroupSummaryCell(node, column, index) | ||
? this.createValueForGroupNode(node) | ||
: this.valueService.getValue(column, node); | ||
var processedValue = this.processCell({ | ||
accumulatedRowIndex: accumulatedRowIndex, | ||
rowNode: node, | ||
column: column, | ||
value: value, | ||
processCellCallback: this.processCellCallback, | ||
type: type | ||
}); | ||
return processedValue != null ? processedValue : ''; | ||
}; | ||
BaseGridSerializingSession.prototype.shouldRenderGroupSummaryCell = function (node, column, currentColumnIndex) { | ||
var _a; | ||
var isGroupNode = node && node.group; | ||
// only on group rows | ||
if (!isGroupNode) { | ||
return false; | ||
} | ||
else { | ||
valueForCell = this.valueService.getValue(column, node); | ||
var currentColumnGroupIndex = this.groupColumns.indexOf(column); | ||
if (currentColumnGroupIndex !== -1 && ((_a = node.groupData) === null || _a === void 0 ? void 0 : _a[column.getId()])) { | ||
return true; | ||
} | ||
var value = this.processCell(accumulatedRowIndex, node, column, valueForCell, this.processCellCallback, type); | ||
return value != null ? value : ''; | ||
var isGroupUseEntireRow = this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode()); | ||
return currentColumnIndex === 0 && isGroupUseEntireRow; | ||
}; | ||
@@ -73,3 +81,4 @@ BaseGridSerializingSession.prototype.getHeaderName = function (callback, column) { | ||
}; | ||
BaseGridSerializingSession.prototype.processCell = function (accumulatedRowIndex, rowNode, column, value, processCellCallback, type) { | ||
BaseGridSerializingSession.prototype.processCell = function (params) { | ||
var accumulatedRowIndex = params.accumulatedRowIndex, rowNode = params.rowNode, column = params.column, value = params.value, processCellCallback = params.processCellCallback, type = params.type; | ||
if (processCellCallback) { | ||
@@ -76,0 +85,0 @@ return processCellCallback({ |
@@ -131,3 +131,13 @@ "use strict"; | ||
const processRow = this.processRow.bind(this, gridSerializingSession, params, columnsToExport); | ||
this.pinnedRowModel.forEachPinnedTopRow(processRow); | ||
if (params.rowPositions) { | ||
params.rowPositions | ||
// only pinnedTop rows, other models are processed by `processRows` and `processPinnedBottomsRows` | ||
.filter(position => position.rowPinned === 'top') | ||
.sort((a, b) => a.rowIndex - b.rowIndex) | ||
.map(position => this.pinnedRowModel.getPinnedTopRow(position.rowIndex)) | ||
.forEach(processRow); | ||
} | ||
else { | ||
this.pinnedRowModel.forEachPinnedTopRow(processRow); | ||
} | ||
return gridSerializingSession; | ||
@@ -193,3 +203,13 @@ }; | ||
const processRow = this.processRow.bind(this, gridSerializingSession, params, columnsToExport); | ||
this.pinnedRowModel.forEachPinnedBottomRow(processRow); | ||
if (params.rowPositions) { | ||
params.rowPositions | ||
// only pinnedBottom rows, other models are processed by `processRows` and `processPinnedTopRows` | ||
.filter(position => position.rowPinned === 'bottom') | ||
.sort((a, b) => a.rowIndex - b.rowIndex) | ||
.map(position => this.pinnedRowModel.getPinnedBottomRow(position.rowIndex)) | ||
.forEach(processRow); | ||
} | ||
else { | ||
this.pinnedRowModel.forEachPinnedBottomRow(processRow); | ||
} | ||
return gridSerializingSession; | ||
@@ -196,0 +216,0 @@ }; |
@@ -21,2 +21,3 @@ import { Column, ColumnModel, GridOptionsWrapper, ProcessCellForExportParams, ProcessGroupHeaderForExportParams, ProcessHeaderForExportParams, ProcessRowGroupForExportParams, RowNode, ValueService } from "@ag-grid-community/core"; | ||
extractRowCellValue(column: Column, index: number, accumulatedRowIndex: number, type: string, node: RowNode): any; | ||
private shouldRenderGroupSummaryCell; | ||
private getHeaderName; | ||
@@ -23,0 +24,0 @@ private createValueForGroupNode; |
@@ -24,20 +24,28 @@ "use strict"; | ||
// we render the group summary text e.g. "-> Parent -> Child"... | ||
const groupIndex = this.gridOptionsWrapper.isGroupMultiAutoColumn() ? node.rowGroupIndex : 0; | ||
const renderGroupSummaryCell = | ||
// on group rows | ||
node && node.group | ||
&& ( | ||
// in the group column if groups appear in regular grid cells | ||
index === groupIndex && this.groupColumns.indexOf(column) !== -1 | ||
// or the first cell in the row, if we're doing full width rows | ||
|| (index === 0 && this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode()))); | ||
let valueForCell; | ||
if (renderGroupSummaryCell) { | ||
valueForCell = this.createValueForGroupNode(node); | ||
const value = this.shouldRenderGroupSummaryCell(node, column, index) | ||
? this.createValueForGroupNode(node) | ||
: this.valueService.getValue(column, node); | ||
const processedValue = this.processCell({ | ||
accumulatedRowIndex, | ||
rowNode: node, | ||
column, | ||
value, | ||
processCellCallback: this.processCellCallback, | ||
type | ||
}); | ||
return processedValue != null ? processedValue : ''; | ||
} | ||
shouldRenderGroupSummaryCell(node, column, currentColumnIndex) { | ||
var _a; | ||
const isGroupNode = node && node.group; | ||
// only on group rows | ||
if (!isGroupNode) { | ||
return false; | ||
} | ||
else { | ||
valueForCell = this.valueService.getValue(column, node); | ||
const currentColumnGroupIndex = this.groupColumns.indexOf(column); | ||
if (currentColumnGroupIndex !== -1 && ((_a = node.groupData) === null || _a === void 0 ? void 0 : _a[column.getId()])) { | ||
return true; | ||
} | ||
const value = this.processCell(accumulatedRowIndex, node, column, valueForCell, this.processCellCallback, type); | ||
return value != null ? value : ''; | ||
const isGroupUseEntireRow = this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode()); | ||
return currentColumnIndex === 0 && isGroupUseEntireRow; | ||
} | ||
@@ -73,3 +81,4 @@ getHeaderName(callback, column) { | ||
} | ||
processCell(accumulatedRowIndex, rowNode, column, value, processCellCallback, type) { | ||
processCell(params) { | ||
const { accumulatedRowIndex, rowNode, column, value, processCellCallback, type } = params; | ||
if (processCellCallback) { | ||
@@ -76,0 +85,0 @@ return processCellCallback({ |
/** | ||
* @ag-grid-community/csv-export - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue * @version v28.1.0 | ||
* @ag-grid-community/csv-export - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue * @version v28.1.1 | ||
* @link https://www.ag-grid.com/ | ||
@@ -54,20 +54,28 @@ * @license MIT | ||
// we render the group summary text e.g. "-> Parent -> Child"... | ||
var groupIndex = this.gridOptionsWrapper.isGroupMultiAutoColumn() ? node.rowGroupIndex : 0; | ||
var renderGroupSummaryCell = | ||
// on group rows | ||
node && node.group | ||
&& ( | ||
// in the group column if groups appear in regular grid cells | ||
index === groupIndex && this.groupColumns.indexOf(column) !== -1 | ||
// or the first cell in the row, if we're doing full width rows | ||
|| (index === 0 && this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode()))); | ||
var valueForCell; | ||
if (renderGroupSummaryCell) { | ||
valueForCell = this.createValueForGroupNode(node); | ||
var value = this.shouldRenderGroupSummaryCell(node, column, index) | ||
? this.createValueForGroupNode(node) | ||
: this.valueService.getValue(column, node); | ||
var processedValue = this.processCell({ | ||
accumulatedRowIndex: accumulatedRowIndex, | ||
rowNode: node, | ||
column: column, | ||
value: value, | ||
processCellCallback: this.processCellCallback, | ||
type: type | ||
}); | ||
return processedValue != null ? processedValue : ''; | ||
}; | ||
BaseGridSerializingSession.prototype.shouldRenderGroupSummaryCell = function (node, column, currentColumnIndex) { | ||
var _a; | ||
var isGroupNode = node && node.group; | ||
// only on group rows | ||
if (!isGroupNode) { | ||
return false; | ||
} | ||
else { | ||
valueForCell = this.valueService.getValue(column, node); | ||
var currentColumnGroupIndex = this.groupColumns.indexOf(column); | ||
if (currentColumnGroupIndex !== -1 && ((_a = node.groupData) === null || _a === void 0 ? void 0 : _a[column.getId()])) { | ||
return true; | ||
} | ||
var value = this.processCell(accumulatedRowIndex, node, column, valueForCell, this.processCellCallback, type); | ||
return value != null ? value : ''; | ||
var isGroupUseEntireRow = this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode()); | ||
return currentColumnIndex === 0 && isGroupUseEntireRow; | ||
}; | ||
@@ -103,3 +111,4 @@ BaseGridSerializingSession.prototype.getHeaderName = function (callback, column) { | ||
}; | ||
BaseGridSerializingSession.prototype.processCell = function (accumulatedRowIndex, rowNode, column, value, processCellCallback, type) { | ||
BaseGridSerializingSession.prototype.processCell = function (params) { | ||
var accumulatedRowIndex = params.accumulatedRowIndex, rowNode = params.rowNode, column = params.column, value = params.value, processCellCallback = params.processCellCallback, type = params.type; | ||
if (processCellCallback) { | ||
@@ -525,3 +534,13 @@ return processCellCallback({ | ||
var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport); | ||
_this.pinnedRowModel.forEachPinnedTopRow(processRow); | ||
if (params.rowPositions) { | ||
params.rowPositions | ||
// only pinnedTop rows, other models are processed by `processRows` and `processPinnedBottomsRows` | ||
.filter(function (position) { return position.rowPinned === 'top'; }) | ||
.sort(function (a, b) { return a.rowIndex - b.rowIndex; }) | ||
.map(function (position) { return _this.pinnedRowModel.getPinnedTopRow(position.rowIndex); }) | ||
.forEach(processRow); | ||
} | ||
else { | ||
_this.pinnedRowModel.forEachPinnedTopRow(processRow); | ||
} | ||
return gridSerializingSession; | ||
@@ -589,3 +608,13 @@ }; | ||
var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport); | ||
_this.pinnedRowModel.forEachPinnedBottomRow(processRow); | ||
if (params.rowPositions) { | ||
params.rowPositions | ||
// only pinnedBottom rows, other models are processed by `processRows` and `processPinnedTopRows` | ||
.filter(function (position) { return position.rowPinned === 'bottom'; }) | ||
.sort(function (a, b) { return a.rowIndex - b.rowIndex; }) | ||
.map(function (position) { return _this.pinnedRowModel.getPinnedBottomRow(position.rowIndex); }) | ||
.forEach(processRow); | ||
} | ||
else { | ||
_this.pinnedRowModel.forEachPinnedBottomRow(processRow); | ||
} | ||
return gridSerializingSession; | ||
@@ -592,0 +621,0 @@ }; |
/** | ||
* @ag-grid-community/csv-export - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue * @version v28.1.0 | ||
* @ag-grid-community/csv-export - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue * @version v28.1.1 | ||
* @link https://www.ag-grid.com/ | ||
@@ -7,6 +7,6 @@ * @license MIT | ||
/** | ||
* @ag-grid-community/csv-export - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue * @version v28.1.0 | ||
* @ag-grid-community/csv-export - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue * @version v28.1.1 | ||
* @link https://www.ag-grid.com/ | ||
* @license MIT | ||
*/ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t,o=require("@ag-grid-community/core"),r=function(){function e(){}return e.prototype.setBeans=function(e){this.beans=e},e.prototype.getFileName=function(e){var t=this.getDefaultFileExtension();return null!=e&&e.length||(e=this.getDefaultFileName()),-1===e.indexOf(".")?e+"."+t:e},e.prototype.getData=function(e){var t=this.createSerializingSession(e);return this.beans.gridSerializer.serialize(t,e)},e}(),n=function(){function e(e){this.groupColumns=[];var t=e.columnModel,o=e.valueService,r=e.gridOptionsWrapper,n=e.processCellCallback,i=e.processHeaderCallback,s=e.processGroupHeaderCallback,p=e.processRowGroupCallback;this.columnModel=t,this.valueService=o,this.gridOptionsWrapper=r,this.processCellCallback=n,this.processHeaderCallback=i,this.processGroupHeaderCallback=s,this.processRowGroupCallback=p}return e.prototype.prepare=function(e){this.groupColumns=e.filter((function(e){return!!e.getColDef().showRowGroup}))},e.prototype.extractHeaderValue=function(e){var t=this.getHeaderName(this.processHeaderCallback,e);return null!=t?t:""},e.prototype.extractRowCellValue=function(e,t,o,r,n){var i,s=this.gridOptionsWrapper.isGroupMultiAutoColumn()?n.rowGroupIndex:0;i=n&&n.group&&(t===s&&-1!==this.groupColumns.indexOf(e)||0===t&&this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode()))?this.createValueForGroupNode(n):this.valueService.getValue(e,n);var p=this.processCell(o,n,e,i,this.processCellCallback,r);return null!=p?p:""},e.prototype.getHeaderName=function(e,t){return e?e({column:t,api:this.gridOptionsWrapper.getApi(),columnApi:this.gridOptionsWrapper.getColumnApi(),context:this.gridOptionsWrapper.getContext()}):this.columnModel.getDisplayNameForColumn(t,"csv",!0)},e.prototype.createValueForGroupNode=function(e){if(this.processRowGroupCallback)return this.processRowGroupCallback({node:e,api:this.gridOptionsWrapper.getApi(),columnApi:this.gridOptionsWrapper.getColumnApi(),context:this.gridOptionsWrapper.getContext()});var t=[e.key];if(!this.gridOptionsWrapper.isGroupMultiAutoColumn())for(;e.parent;)e=e.parent,t.push(e.key);return t.reverse().join(" -> ")},e.prototype.processCell=function(e,t,o,r,n,i){return n?n({accumulatedRowIndex:e,column:o,node:t,value:r,api:this.gridOptionsWrapper.getApi(),columnApi:this.gridOptionsWrapper.getColumnApi(),context:this.gridOptionsWrapper.getContext(),type:i}):null!=r?r:""},e}(),i=function(){function e(){}return e.download=function(e,t){var o=document.defaultView||window;if(o){var r=document.createElement("a"),n=o.URL.createObjectURL(t);r.setAttribute("href",n),r.setAttribute("download",e),r.style.display="none",document.body.appendChild(r),r.dispatchEvent(new MouseEvent("click",{bubbles:!1,cancelable:!0,view:o})),document.body.removeChild(r),o.setTimeout((function(){o.URL.revokeObjectURL(n)}),0)}else console.warn("AG Grid: There is no `window` associated with the current `document`")},e}(),s=(e=function(t,o){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(t,o)},function(t,o){function r(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(r.prototype=o.prototype,new r)}),p=function(e){function t(t){var o=e.call(this,t)||this;o.isFirstLine=!0,o.result="";var r=t.suppressQuotes,n=t.columnSeparator;return o.suppressQuotes=r,o.columnSeparator=n,o}return s(t,e),t.prototype.addCustomContent=function(e){var t=this;e&&("string"==typeof e?(/^\s*\n/.test(e)||this.beginNewLine(),e=e.replace(/\r?\n/g,"\r\n"),this.result+=e):e.forEach((function(e){t.beginNewLine(),e.forEach((function(e,o){0!==o&&(t.result+=t.columnSeparator),t.result+=t.putInQuotes(e.data.value||""),e.mergeAcross&&t.appendEmptyCells(e.mergeAcross)}))})))},t.prototype.onNewHeaderGroupingRow=function(){return this.beginNewLine(),{onColumn:this.onNewHeaderGroupingRowColumn.bind(this)}},t.prototype.onNewHeaderGroupingRowColumn=function(e,t,o){0!=t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(e),this.appendEmptyCells(o)},t.prototype.appendEmptyCells=function(e){for(var t=1;t<=e;t++)this.result+=this.columnSeparator+this.putInQuotes("")},t.prototype.onNewHeaderRow=function(){return this.beginNewLine(),{onColumn:this.onNewHeaderRowColumn.bind(this)}},t.prototype.onNewHeaderRowColumn=function(e,t){0!=t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(this.extractHeaderValue(e))},t.prototype.onNewBodyRow=function(){return this.beginNewLine(),{onColumn:this.onNewBodyRowColumn.bind(this)}},t.prototype.onNewBodyRowColumn=function(e,t,r){0!=t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(this.extractRowCellValue(e,t,t,o.Constants.EXPORT_TYPE_CSV,r))},t.prototype.putInQuotes=function(e){return this.suppressQuotes?e:null==e?'""':("string"==typeof e?t=e:"function"==typeof e.toString?t=e.toString():(console.warn("AG Grid: unknown value type during csv conversion"),t=""),'"'+t.replace(/"/g,'""')+'"');var t},t.prototype.parse=function(){return this.result},t.prototype.beginNewLine=function(){this.isFirstLine||(this.result+="\r\n"),this.isFirstLine=!1},t}(n),u=function(){var e=function(t,o){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(t,o)};return function(t,o){function r(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(r.prototype=o.prototype,new r)}}(),a=function(e,t,o,r){var n,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,r);else for(var p=e.length-1;p>=0;p--)(n=e[p])&&(s=(i<3?n(s):i>3?n(t,o,s):n(t,o))||s);return i>3&&s&&Object.defineProperty(t,o,s),s},l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return u(t,e),t.prototype.postConstruct=function(){this.setBeans({gridSerializer:this.gridSerializer,gridOptionsWrapper:this.gridOptionsWrapper})},t.prototype.getMergedParams=function(e){var t=this.gridOptionsWrapper.getDefaultExportParams("csv");return Object.assign({},t,e)},t.prototype.export=function(e){if(this.isExportSuppressed())return console.warn("AG Grid: Export cancelled. Export is not allowed as per your configuration."),"";var t=this.getMergedParams(e),o=this.getData(t),r=new Blob(["\ufeff",o],{type:"text/plain"});return i.download(this.getFileName(t.fileName),r),o},t.prototype.exportDataAsCsv=function(e){return this.export(e)},t.prototype.getDataAsCsv=function(e){var t=this.getMergedParams(e);return this.getData(t)},t.prototype.getDefaultFileName=function(){return"export.csv"},t.prototype.getDefaultFileExtension=function(){return"csv"},t.prototype.createSerializingSession=function(e){var t=this.columnModel,o=this.valueService,r=this.gridOptionsWrapper,n=e,i=n.processCellCallback,s=n.processHeaderCallback,u=n.processGroupHeaderCallback,a=n.processRowGroupCallback,l=n.suppressQuotes,c=n.columnSeparator;return new p({columnModel:t,valueService:o,gridOptionsWrapper:r,processCellCallback:i||void 0,processHeaderCallback:s||void 0,processGroupHeaderCallback:u||void 0,processRowGroupCallback:a||void 0,suppressQuotes:l||!1,columnSeparator:c||","})},t.prototype.isExportSuppressed=function(){return this.gridOptionsWrapper.isSuppressCsvExport()},a([o.Autowired("columnModel")],t.prototype,"columnModel",void 0),a([o.Autowired("valueService")],t.prototype,"valueService",void 0),a([o.Autowired("gridSerializer")],t.prototype,"gridSerializer",void 0),a([o.Autowired("gridOptionsWrapper")],t.prototype,"gridOptionsWrapper",void 0),a([o.PostConstruct],t.prototype,"postConstruct",null),t=a([o.Bean("csvCreator")],t)}(r),c=function(){var e=function(t,o){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(t,o)};return function(t,o){function r(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(r.prototype=o.prototype,new r)}}(),d=function(e,t,o,r){var n,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,r);else for(var p=e.length-1;p>=0;p--)(n=e[p])&&(s=(i<3?n(s):i>3?n(t,o,s):n(t,o))||s);return i>3&&s&&Object.defineProperty(t,o,s),s};exports.RowType=void 0,(t=exports.RowType||(exports.RowType={}))[t.HEADER_GROUPING=0]="HEADER_GROUPING",t[t.HEADER=1]="HEADER",t[t.BODY=2]="BODY";var f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return c(t,e),t.prototype.serialize=function(e,t){void 0===t&&(t={});var r=this.getColumnsToExport(t.allColumns,t.columnKeys);return o._.compose(this.prepareSession(r),this.prependContent(t),this.exportColumnGroups(t,r),this.exportHeaders(t,r),this.processPinnedTopRows(t,r),this.processRows(t,r),this.processPinnedBottomRows(t,r),this.appendContent(t))(e).parse()},t.prototype.processRow=function(e,t,r,n){var i=t.shouldRowBeSkipped||function(){return!1},s=this.gridOptionsWrapper,p=s.getContext(),u=s.getApi(),a=s.getColumnApi(),l=s.isGroupRemoveSingleChildren(),c=s.isGroupRemoveLowestSingleChildren(),d=null!=t.rowPositions,f=d||!!t.onlySelected,h=s.isGroupHideOpenParents()&&!f,g=this.columnModel.isPivotMode()?n.leafGroup:!n.group,m=t.skipGroups||t.skipRowGroups,v=c&&n.leafGroup,y=1===n.allChildrenCount&&(l||v);if((m&&t.skipGroups&&o._.doOnce((function(){return console.warn("AG Grid: Since v25.2 `skipGroups` has been renamed to `skipRowGroups`.")}),"gridSerializer-skipGroups"),!(!g&&(t.skipRowGroups||y||h)||t.onlySelected&&!n.isSelected()||t.skipPinnedTop&&"top"===n.rowPinned||t.skipPinnedBottom&&"bottom"===n.rowPinned))&&((!(-1===n.level)||n.leafGroup||n.footer&&d)&&!i({node:n,api:u,columnApi:a,context:p}))){var w=e.onNewBodyRow();if(r.forEach((function(e,t){w.onColumn(e,t,n)})),t.getCustomContentBelowRow){var C=t.getCustomContentBelowRow({node:n,api:u,columnApi:a,context:p});C&&e.addCustomContent(C)}}},t.prototype.appendContent=function(e){return function(t){var r=e.customFooter||e.appendContent;return r&&(e.customFooter&&o._.doOnce((function(){return console.warn("AG Grid: Since version 25.2.0 the `customFooter` param has been deprecated. Use `appendContent` instead.")}),"gridSerializer-customFooter"),t.addCustomContent(r)),t}},t.prototype.prependContent=function(e){return function(t){var r=e.customHeader||e.prependContent;return r&&(e.customHeader&&o._.doOnce((function(){return console.warn("AG Grid: Since version 25.2.0 the `customHeader` param has been deprecated. Use `prependContent` instead.")}),"gridSerializer-customHeader"),t.addCustomContent(r)),t}},t.prototype.prepareSession=function(e){return function(t){return t.prepare(e),t}},t.prototype.exportColumnGroups=function(e,t){var r=this;return function(n){if(e.skipColumnGroupHeaders)e.columnGroups&&o._.doOnce((function(){return console.warn("AG Grid: Since v25.2 the `columnGroups` param has deprecated, and groups are exported by default.")}),"gridSerializer-columnGroups");else{var i=new o.GroupInstanceIdCreator,s=r.displayedGroupCreator.createDisplayedGroups(t,r.columnModel.getGridBalancedTree(),i,null);r.recursivelyAddHeaderGroups(s,n,e.processGroupHeaderCallback)}return n}},t.prototype.exportHeaders=function(e,t){return function(r){if(e.skipHeader||e.skipColumnHeaders)e.skipHeader&&o._.doOnce((function(){return console.warn("AG Grid: Since v25.2 the `skipHeader` param has been renamed to `skipColumnHeaders`.")}),"gridSerializer-skipHeader");else{var n=r.onNewHeaderRow();t.forEach((function(e,t){n.onColumn(e,t,void 0)}))}return r}},t.prototype.processPinnedTopRows=function(e,t){var o=this;return function(r){var n=o.processRow.bind(o,r,e,t);return o.pinnedRowModel.forEachPinnedTopRow(n),r}},t.prototype.processRows=function(e,t){var r=this;return function(n){var i=r.rowModel,s=i.getType(),p=s===o.Constants.ROW_MODEL_TYPE_CLIENT_SIDE,u=s===o.Constants.ROW_MODEL_TYPE_SERVER_SIDE,a=!p&&e.onlySelected,l=r.processRow.bind(r,n,e,t);if(e.rowPositions)e.rowPositions.filter((function(e){return null==e.rowPinned})).sort((function(e,t){return e.rowIndex-t.rowIndex})).map((function(e){return i.getRow(e.rowIndex)})).forEach(l);else if(r.columnModel.isPivotMode())p?i.forEachPivotNode(l):i.forEachNode(l);else{if(e.onlySelectedAllPages||a)r.selectionService.getSelectedNodes().forEach(l);else p||u?i.forEachNodeAfterFilterAndSort(l):i.forEachNode(l)}return n}},t.prototype.processPinnedBottomRows=function(e,t){var o=this;return function(r){var n=o.processRow.bind(o,r,e,t);return o.pinnedRowModel.forEachPinnedBottomRow(n),r}},t.prototype.getColumnsToExport=function(e,t){void 0===e&&(e=!1);var r=this.columnModel.isPivotMode();return t&&t.length?this.columnModel.getGridColumns(t):e&&!r?(this.gridOptionsWrapper.isTreeData()?this.columnModel.getGridColumns([o.Constants.GROUP_AUTO_COLUMN_ID]):[]).concat(this.columnModel.getAllPrimaryColumns()||[]):this.columnModel.getAllDisplayedColumns()},t.prototype.recursivelyAddHeaderGroups=function(e,t,r){var n=[];e.forEach((function(e){var t=e;t.getChildren&&t.getChildren().forEach((function(e){return n.push(e)}))})),e.length>0&&e[0]instanceof o.ColumnGroup&&this.doAddHeaderHeader(t,e,r),n&&n.length>0&&this.recursivelyAddHeaderGroups(n,t,r)},t.prototype.doAddHeaderHeader=function(e,t,r){var n=this,i=e.onNewHeaderGroupingRow(),s=0;t.forEach((function(e){var t,p=e;t=r?r({columnGroup:p,api:n.gridOptionsWrapper.getApi(),columnApi:n.gridOptionsWrapper.getColumnApi(),context:n.gridOptionsWrapper.getContext()}):n.columnModel.getDisplayNameForColumnGroup(p,"header");var u=p.getLeafColumns().reduce((function(e,t,r,n){var i=o._.last(e);return"open"===t.getColumnGroupShow()?i&&null==i[1]||(i=[r],e.push(i)):i&&null==i[1]&&(i[1]=r-1),r===n.length-1&&i&&null==i[1]&&(i[1]=r),e}),[]);i.onColumn(t||"",s++,p.getLeafColumns().length-1,u)}))},d([o.Autowired("displayedGroupCreator")],t.prototype,"displayedGroupCreator",void 0),d([o.Autowired("columnModel")],t.prototype,"columnModel",void 0),d([o.Autowired("rowModel")],t.prototype,"rowModel",void 0),d([o.Autowired("pinnedRowModel")],t.prototype,"pinnedRowModel",void 0),d([o.Autowired("selectionService")],t.prototype,"selectionService",void 0),d([o.Autowired("rowPositionUtils")],t.prototype,"rowPositionUtils",void 0),t=d([o.Bean("gridSerializer")],t)}(o.BeanStub),h={moduleName:o.ModuleNames.CsvExportModule,beans:[l,f]},g=function(){function e(){}return e.createHeader=function(e){void 0===e&&(e={});var t=["version"];return e.version||(e.version="1.0"),e.encoding&&t.push("encoding"),e.standalone&&t.push("standalone"),"<?xml "+t.map((function(t){return t+'="'+e[t]+'"'})).join(" ")+" ?>"},e.createXml=function(e,t){var o=this,r="";e.properties&&(e.properties.prefixedAttributes&&e.properties.prefixedAttributes.forEach((function(e){Object.keys(e.map).forEach((function(n){r+=o.returnAttributeIfPopulated(e.prefix+n,e.map[n],t)}))})),e.properties.rawMap&&Object.keys(e.properties.rawMap).forEach((function(n){r+=o.returnAttributeIfPopulated(n,e.properties.rawMap[n],t)})));var n="<"+e.name+r;return e.children||null!=e.textNode?null!=e.textNode?n+">"+e.textNode+"</"+e.name+">\r\n":(n+=">\r\n",e.children&&e.children.forEach((function(e){n+=o.createXml(e,t)})),n+"</"+e.name+">\r\n"):n+"/>\r\n"},e.returnAttributeIfPopulated=function(e,t,o){if(!t&&""!==t&&0!==t)return"";var r=t;return"boolean"==typeof t&&o&&(r=o(t))," "+e+'="'+r+'"'},e}(),m=function(e){var t="function"==typeof Symbol&&Symbol.iterator,o=t&&e[t],r=0;if(o)return o.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},v=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),y=function(){function e(){}return e.addFolders=function(e){e.forEach(this.addFolder.bind(this))},e.addFolder=function(e){this.folders.push({path:e,created:new Date,isBase64:!1})},e.addFile=function(e,t,o){void 0===o&&(o=!1),this.files.push({path:e,created:new Date,content:t,isBase64:o})},e.getContent=function(e){void 0===e&&(e="application/zip");var t=this.buildFileStream(),o=this.buildUint8Array(t);return this.clearStream(),new Blob([o],{type:e})},e.clearStream=function(){this.folders=[],this.files=[]},e.buildFileStream=function(e){var t,o;void 0===e&&(e="");var r=this.folders.concat(this.files),n=r.length,i="",s=0,p=0;try{for(var u=m(r),a=u.next();!a.done;a=u.next()){var l=a.value,c=this.getHeader(l,s),d=c.fileHeader,f=c.folderHeader,h=c.content;s+=d.length+h.length,p+=f.length,e+=d+h,i+=f}}catch(e){t={error:e}}finally{try{a&&!a.done&&(o=u.return)&&o.call(u)}finally{if(t)throw t.error}}return e+i+this.buildFolderEnd(n,p,s)},e.getHeader=function(e,t){var r=e.content,n=e.path,i=e.created,s=e.isBase64,p=o._.utf8_encode,u=o._.decToHex,a=p(n),l=a!==n,c=this.convertTime(i),d=this.convertDate(i),f="";if(l){var h=u(1,1)+u(this.getFromCrc32Table(a),4)+a;f="up"+u(h.length,2)+h}var g=r?this.getConvertedContent(r,s):{size:0,content:""},m=g.size,v=g.content,y="\n\0"+(l?"\0\b":"\0\0")+"\0\0"+u(c,2)+u(d,2)+u(m?this.getFromCrc32Table(v):0,4)+u(m,4)+u(m,4)+u(a.length,2)+u(f.length,2);return{fileHeader:"PK\x03\x04"+y+a+f,folderHeader:"PK\x01\x02\x14\0"+y+"\0\0\0\0\0\0"+(r?"\0\0\0\0":"\x10\0\0\0")+u(t,4)+a+f,content:v||""}},e.getConvertedContent=function(e,t){return void 0===t&&(t=!1),t&&(e=e.split(";base64,")[1]),{size:(e=t?atob(e):e).length,content:e}},e.buildFolderEnd=function(e,t,r){var n=o._.decToHex;return"PK\x05\x06\0\0\0\0"+n(e,2)+n(e,2)+n(t,4)+n(r,4)+"\0\0"},e.buildUint8Array=function(e){for(var t=new Uint8Array(e.length),o=0;o<t.length;o++)t[o]=e.charCodeAt(o);return t},e.getFromCrc32Table=function(e){if(!e.length)return 0;for(var t=e.length,o=new Uint8Array(t),r=0;r<t;r++)o[r]=e.charCodeAt(r);var n=-1,i=0;for(r=0;r<t;r++)i=o[r],n=n>>>8^v[255&(n^i)];return-1^n},e.convertTime=function(e){var t=e.getHours();return t<<=6,t|=e.getMinutes(),t<<=5,t|=e.getSeconds()/2},e.convertDate=function(e){var t=e.getFullYear()-1980;return t<<=4,t|=e.getMonth()+1,t<<=5,t|=e.getDate()},e.folders=[],e.files=[],e}();exports.BaseCreator=r,exports.BaseGridSerializingSession=n,exports.CsvCreator=l,exports.CsvExportModule=h,exports.Downloader=i,exports.GridSerializer=f,exports.XmlFactory=g,exports.ZipContainer=y; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t,o=require("@ag-grid-community/core"),r=function(){function e(){}return e.prototype.setBeans=function(e){this.beans=e},e.prototype.getFileName=function(e){var t=this.getDefaultFileExtension();return null!=e&&e.length||(e=this.getDefaultFileName()),-1===e.indexOf(".")?e+"."+t:e},e.prototype.getData=function(e){var t=this.createSerializingSession(e);return this.beans.gridSerializer.serialize(t,e)},e}(),n=function(){function e(e){this.groupColumns=[];var t=e.columnModel,o=e.valueService,r=e.gridOptionsWrapper,n=e.processCellCallback,i=e.processHeaderCallback,s=e.processGroupHeaderCallback,u=e.processRowGroupCallback;this.columnModel=t,this.valueService=o,this.gridOptionsWrapper=r,this.processCellCallback=n,this.processHeaderCallback=i,this.processGroupHeaderCallback=s,this.processRowGroupCallback=u}return e.prototype.prepare=function(e){this.groupColumns=e.filter((function(e){return!!e.getColDef().showRowGroup}))},e.prototype.extractHeaderValue=function(e){var t=this.getHeaderName(this.processHeaderCallback,e);return null!=t?t:""},e.prototype.extractRowCellValue=function(e,t,o,r,n){var i=this.shouldRenderGroupSummaryCell(n,e,t)?this.createValueForGroupNode(n):this.valueService.getValue(e,n),s=this.processCell({accumulatedRowIndex:o,rowNode:n,column:e,value:i,processCellCallback:this.processCellCallback,type:r});return null!=s?s:""},e.prototype.shouldRenderGroupSummaryCell=function(e,t,o){var r;if(!(e&&e.group))return!1;if(-1!==this.groupColumns.indexOf(t)&&(null===(r=e.groupData)||void 0===r?void 0:r[t.getId()]))return!0;var n=this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode());return 0===o&&n},e.prototype.getHeaderName=function(e,t){return e?e({column:t,api:this.gridOptionsWrapper.getApi(),columnApi:this.gridOptionsWrapper.getColumnApi(),context:this.gridOptionsWrapper.getContext()}):this.columnModel.getDisplayNameForColumn(t,"csv",!0)},e.prototype.createValueForGroupNode=function(e){if(this.processRowGroupCallback)return this.processRowGroupCallback({node:e,api:this.gridOptionsWrapper.getApi(),columnApi:this.gridOptionsWrapper.getColumnApi(),context:this.gridOptionsWrapper.getContext()});var t=[e.key];if(!this.gridOptionsWrapper.isGroupMultiAutoColumn())for(;e.parent;)e=e.parent,t.push(e.key);return t.reverse().join(" -> ")},e.prototype.processCell=function(e){var t=e.accumulatedRowIndex,o=e.rowNode,r=e.column,n=e.value,i=e.processCellCallback,s=e.type;return i?i({accumulatedRowIndex:t,column:r,node:o,value:n,api:this.gridOptionsWrapper.getApi(),columnApi:this.gridOptionsWrapper.getColumnApi(),context:this.gridOptionsWrapper.getContext(),type:s}):null!=n?n:""},e}(),i=function(){function e(){}return e.download=function(e,t){var o=document.defaultView||window;if(o){var r=document.createElement("a"),n=o.URL.createObjectURL(t);r.setAttribute("href",n),r.setAttribute("download",e),r.style.display="none",document.body.appendChild(r),r.dispatchEvent(new MouseEvent("click",{bubbles:!1,cancelable:!0,view:o})),document.body.removeChild(r),o.setTimeout((function(){o.URL.revokeObjectURL(n)}),0)}else console.warn("AG Grid: There is no `window` associated with the current `document`")},e}(),s=(e=function(t,o){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(t,o)},function(t,o){function r(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(r.prototype=o.prototype,new r)}),u=function(e){function t(t){var o=e.call(this,t)||this;o.isFirstLine=!0,o.result="";var r=t.suppressQuotes,n=t.columnSeparator;return o.suppressQuotes=r,o.columnSeparator=n,o}return s(t,e),t.prototype.addCustomContent=function(e){var t=this;e&&("string"==typeof e?(/^\s*\n/.test(e)||this.beginNewLine(),e=e.replace(/\r?\n/g,"\r\n"),this.result+=e):e.forEach((function(e){t.beginNewLine(),e.forEach((function(e,o){0!==o&&(t.result+=t.columnSeparator),t.result+=t.putInQuotes(e.data.value||""),e.mergeAcross&&t.appendEmptyCells(e.mergeAcross)}))})))},t.prototype.onNewHeaderGroupingRow=function(){return this.beginNewLine(),{onColumn:this.onNewHeaderGroupingRowColumn.bind(this)}},t.prototype.onNewHeaderGroupingRowColumn=function(e,t,o){0!=t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(e),this.appendEmptyCells(o)},t.prototype.appendEmptyCells=function(e){for(var t=1;t<=e;t++)this.result+=this.columnSeparator+this.putInQuotes("")},t.prototype.onNewHeaderRow=function(){return this.beginNewLine(),{onColumn:this.onNewHeaderRowColumn.bind(this)}},t.prototype.onNewHeaderRowColumn=function(e,t){0!=t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(this.extractHeaderValue(e))},t.prototype.onNewBodyRow=function(){return this.beginNewLine(),{onColumn:this.onNewBodyRowColumn.bind(this)}},t.prototype.onNewBodyRowColumn=function(e,t,r){0!=t&&(this.result+=this.columnSeparator),this.result+=this.putInQuotes(this.extractRowCellValue(e,t,t,o.Constants.EXPORT_TYPE_CSV,r))},t.prototype.putInQuotes=function(e){return this.suppressQuotes?e:null==e?'""':("string"==typeof e?t=e:"function"==typeof e.toString?t=e.toString():(console.warn("AG Grid: unknown value type during csv conversion"),t=""),'"'+t.replace(/"/g,'""')+'"');var t},t.prototype.parse=function(){return this.result},t.prototype.beginNewLine=function(){this.isFirstLine||(this.result+="\r\n"),this.isFirstLine=!1},t}(n),p=function(){var e=function(t,o){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(t,o)};return function(t,o){function r(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(r.prototype=o.prototype,new r)}}(),a=function(e,t,o,r){var n,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,r);else for(var u=e.length-1;u>=0;u--)(n=e[u])&&(s=(i<3?n(s):i>3?n(t,o,s):n(t,o))||s);return i>3&&s&&Object.defineProperty(t,o,s),s},l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t.prototype.postConstruct=function(){this.setBeans({gridSerializer:this.gridSerializer,gridOptionsWrapper:this.gridOptionsWrapper})},t.prototype.getMergedParams=function(e){var t=this.gridOptionsWrapper.getDefaultExportParams("csv");return Object.assign({},t,e)},t.prototype.export=function(e){if(this.isExportSuppressed())return console.warn("AG Grid: Export cancelled. Export is not allowed as per your configuration."),"";var t=this.getMergedParams(e),o=this.getData(t),r=new Blob(["\ufeff",o],{type:"text/plain"});return i.download(this.getFileName(t.fileName),r),o},t.prototype.exportDataAsCsv=function(e){return this.export(e)},t.prototype.getDataAsCsv=function(e){var t=this.getMergedParams(e);return this.getData(t)},t.prototype.getDefaultFileName=function(){return"export.csv"},t.prototype.getDefaultFileExtension=function(){return"csv"},t.prototype.createSerializingSession=function(e){var t=this.columnModel,o=this.valueService,r=this.gridOptionsWrapper,n=e,i=n.processCellCallback,s=n.processHeaderCallback,p=n.processGroupHeaderCallback,a=n.processRowGroupCallback,l=n.suppressQuotes,c=n.columnSeparator;return new u({columnModel:t,valueService:o,gridOptionsWrapper:r,processCellCallback:i||void 0,processHeaderCallback:s||void 0,processGroupHeaderCallback:p||void 0,processRowGroupCallback:a||void 0,suppressQuotes:l||!1,columnSeparator:c||","})},t.prototype.isExportSuppressed=function(){return this.gridOptionsWrapper.isSuppressCsvExport()},a([o.Autowired("columnModel")],t.prototype,"columnModel",void 0),a([o.Autowired("valueService")],t.prototype,"valueService",void 0),a([o.Autowired("gridSerializer")],t.prototype,"gridSerializer",void 0),a([o.Autowired("gridOptionsWrapper")],t.prototype,"gridOptionsWrapper",void 0),a([o.PostConstruct],t.prototype,"postConstruct",null),t=a([o.Bean("csvCreator")],t)}(r),c=function(){var e=function(t,o){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(t,o)};return function(t,o){function r(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(r.prototype=o.prototype,new r)}}(),d=function(e,t,o,r){var n,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,r);else for(var u=e.length-1;u>=0;u--)(n=e[u])&&(s=(i<3?n(s):i>3?n(t,o,s):n(t,o))||s);return i>3&&s&&Object.defineProperty(t,o,s),s};exports.RowType=void 0,(t=exports.RowType||(exports.RowType={}))[t.HEADER_GROUPING=0]="HEADER_GROUPING",t[t.HEADER=1]="HEADER",t[t.BODY=2]="BODY";var f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return c(t,e),t.prototype.serialize=function(e,t){void 0===t&&(t={});var r=this.getColumnsToExport(t.allColumns,t.columnKeys);return o._.compose(this.prepareSession(r),this.prependContent(t),this.exportColumnGroups(t,r),this.exportHeaders(t,r),this.processPinnedTopRows(t,r),this.processRows(t,r),this.processPinnedBottomRows(t,r),this.appendContent(t))(e).parse()},t.prototype.processRow=function(e,t,r,n){var i=t.shouldRowBeSkipped||function(){return!1},s=this.gridOptionsWrapper,u=s.getContext(),p=s.getApi(),a=s.getColumnApi(),l=s.isGroupRemoveSingleChildren(),c=s.isGroupRemoveLowestSingleChildren(),d=null!=t.rowPositions,f=d||!!t.onlySelected,h=s.isGroupHideOpenParents()&&!f,m=this.columnModel.isPivotMode()?n.leafGroup:!n.group,g=t.skipGroups||t.skipRowGroups,v=c&&n.leafGroup,w=1===n.allChildrenCount&&(l||v);if((g&&t.skipGroups&&o._.doOnce((function(){return console.warn("AG Grid: Since v25.2 `skipGroups` has been renamed to `skipRowGroups`.")}),"gridSerializer-skipGroups"),!(!m&&(t.skipRowGroups||w||h)||t.onlySelected&&!n.isSelected()||t.skipPinnedTop&&"top"===n.rowPinned||t.skipPinnedBottom&&"bottom"===n.rowPinned))&&((!(-1===n.level)||n.leafGroup||n.footer&&d)&&!i({node:n,api:p,columnApi:a,context:u}))){var y=e.onNewBodyRow();if(r.forEach((function(e,t){y.onColumn(e,t,n)})),t.getCustomContentBelowRow){var C=t.getCustomContentBelowRow({node:n,api:p,columnApi:a,context:u});C&&e.addCustomContent(C)}}},t.prototype.appendContent=function(e){return function(t){var r=e.customFooter||e.appendContent;return r&&(e.customFooter&&o._.doOnce((function(){return console.warn("AG Grid: Since version 25.2.0 the `customFooter` param has been deprecated. Use `appendContent` instead.")}),"gridSerializer-customFooter"),t.addCustomContent(r)),t}},t.prototype.prependContent=function(e){return function(t){var r=e.customHeader||e.prependContent;return r&&(e.customHeader&&o._.doOnce((function(){return console.warn("AG Grid: Since version 25.2.0 the `customHeader` param has been deprecated. Use `prependContent` instead.")}),"gridSerializer-customHeader"),t.addCustomContent(r)),t}},t.prototype.prepareSession=function(e){return function(t){return t.prepare(e),t}},t.prototype.exportColumnGroups=function(e,t){var r=this;return function(n){if(e.skipColumnGroupHeaders)e.columnGroups&&o._.doOnce((function(){return console.warn("AG Grid: Since v25.2 the `columnGroups` param has deprecated, and groups are exported by default.")}),"gridSerializer-columnGroups");else{var i=new o.GroupInstanceIdCreator,s=r.displayedGroupCreator.createDisplayedGroups(t,r.columnModel.getGridBalancedTree(),i,null);r.recursivelyAddHeaderGroups(s,n,e.processGroupHeaderCallback)}return n}},t.prototype.exportHeaders=function(e,t){return function(r){if(e.skipHeader||e.skipColumnHeaders)e.skipHeader&&o._.doOnce((function(){return console.warn("AG Grid: Since v25.2 the `skipHeader` param has been renamed to `skipColumnHeaders`.")}),"gridSerializer-skipHeader");else{var n=r.onNewHeaderRow();t.forEach((function(e,t){n.onColumn(e,t,void 0)}))}return r}},t.prototype.processPinnedTopRows=function(e,t){var o=this;return function(r){var n=o.processRow.bind(o,r,e,t);return e.rowPositions?e.rowPositions.filter((function(e){return"top"===e.rowPinned})).sort((function(e,t){return e.rowIndex-t.rowIndex})).map((function(e){return o.pinnedRowModel.getPinnedTopRow(e.rowIndex)})).forEach(n):o.pinnedRowModel.forEachPinnedTopRow(n),r}},t.prototype.processRows=function(e,t){var r=this;return function(n){var i=r.rowModel,s=i.getType(),u=s===o.Constants.ROW_MODEL_TYPE_CLIENT_SIDE,p=s===o.Constants.ROW_MODEL_TYPE_SERVER_SIDE,a=!u&&e.onlySelected,l=r.processRow.bind(r,n,e,t);if(e.rowPositions)e.rowPositions.filter((function(e){return null==e.rowPinned})).sort((function(e,t){return e.rowIndex-t.rowIndex})).map((function(e){return i.getRow(e.rowIndex)})).forEach(l);else if(r.columnModel.isPivotMode())u?i.forEachPivotNode(l):i.forEachNode(l);else{if(e.onlySelectedAllPages||a)r.selectionService.getSelectedNodes().forEach(l);else u||p?i.forEachNodeAfterFilterAndSort(l):i.forEachNode(l)}return n}},t.prototype.processPinnedBottomRows=function(e,t){var o=this;return function(r){var n=o.processRow.bind(o,r,e,t);return e.rowPositions?e.rowPositions.filter((function(e){return"bottom"===e.rowPinned})).sort((function(e,t){return e.rowIndex-t.rowIndex})).map((function(e){return o.pinnedRowModel.getPinnedBottomRow(e.rowIndex)})).forEach(n):o.pinnedRowModel.forEachPinnedBottomRow(n),r}},t.prototype.getColumnsToExport=function(e,t){void 0===e&&(e=!1);var r=this.columnModel.isPivotMode();return t&&t.length?this.columnModel.getGridColumns(t):e&&!r?(this.gridOptionsWrapper.isTreeData()?this.columnModel.getGridColumns([o.Constants.GROUP_AUTO_COLUMN_ID]):[]).concat(this.columnModel.getAllPrimaryColumns()||[]):this.columnModel.getAllDisplayedColumns()},t.prototype.recursivelyAddHeaderGroups=function(e,t,r){var n=[];e.forEach((function(e){var t=e;t.getChildren&&t.getChildren().forEach((function(e){return n.push(e)}))})),e.length>0&&e[0]instanceof o.ColumnGroup&&this.doAddHeaderHeader(t,e,r),n&&n.length>0&&this.recursivelyAddHeaderGroups(n,t,r)},t.prototype.doAddHeaderHeader=function(e,t,r){var n=this,i=e.onNewHeaderGroupingRow(),s=0;t.forEach((function(e){var t,u=e;t=r?r({columnGroup:u,api:n.gridOptionsWrapper.getApi(),columnApi:n.gridOptionsWrapper.getColumnApi(),context:n.gridOptionsWrapper.getContext()}):n.columnModel.getDisplayNameForColumnGroup(u,"header");var p=u.getLeafColumns().reduce((function(e,t,r,n){var i=o._.last(e);return"open"===t.getColumnGroupShow()?i&&null==i[1]||(i=[r],e.push(i)):i&&null==i[1]&&(i[1]=r-1),r===n.length-1&&i&&null==i[1]&&(i[1]=r),e}),[]);i.onColumn(t||"",s++,u.getLeafColumns().length-1,p)}))},d([o.Autowired("displayedGroupCreator")],t.prototype,"displayedGroupCreator",void 0),d([o.Autowired("columnModel")],t.prototype,"columnModel",void 0),d([o.Autowired("rowModel")],t.prototype,"rowModel",void 0),d([o.Autowired("pinnedRowModel")],t.prototype,"pinnedRowModel",void 0),d([o.Autowired("selectionService")],t.prototype,"selectionService",void 0),d([o.Autowired("rowPositionUtils")],t.prototype,"rowPositionUtils",void 0),t=d([o.Bean("gridSerializer")],t)}(o.BeanStub),h={moduleName:o.ModuleNames.CsvExportModule,beans:[l,f]},m=function(){function e(){}return e.createHeader=function(e){void 0===e&&(e={});var t=["version"];return e.version||(e.version="1.0"),e.encoding&&t.push("encoding"),e.standalone&&t.push("standalone"),"<?xml "+t.map((function(t){return t+'="'+e[t]+'"'})).join(" ")+" ?>"},e.createXml=function(e,t){var o=this,r="";e.properties&&(e.properties.prefixedAttributes&&e.properties.prefixedAttributes.forEach((function(e){Object.keys(e.map).forEach((function(n){r+=o.returnAttributeIfPopulated(e.prefix+n,e.map[n],t)}))})),e.properties.rawMap&&Object.keys(e.properties.rawMap).forEach((function(n){r+=o.returnAttributeIfPopulated(n,e.properties.rawMap[n],t)})));var n="<"+e.name+r;return e.children||null!=e.textNode?null!=e.textNode?n+">"+e.textNode+"</"+e.name+">\r\n":(n+=">\r\n",e.children&&e.children.forEach((function(e){n+=o.createXml(e,t)})),n+"</"+e.name+">\r\n"):n+"/>\r\n"},e.returnAttributeIfPopulated=function(e,t,o){if(!t&&""!==t&&0!==t)return"";var r=t;return"boolean"==typeof t&&o&&(r=o(t))," "+e+'="'+r+'"'},e}(),g=function(e){var t="function"==typeof Symbol&&Symbol.iterator,o=t&&e[t],r=0;if(o)return o.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},v=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),w=function(){function e(){}return e.addFolders=function(e){e.forEach(this.addFolder.bind(this))},e.addFolder=function(e){this.folders.push({path:e,created:new Date,isBase64:!1})},e.addFile=function(e,t,o){void 0===o&&(o=!1),this.files.push({path:e,created:new Date,content:t,isBase64:o})},e.getContent=function(e){void 0===e&&(e="application/zip");var t=this.buildFileStream(),o=this.buildUint8Array(t);return this.clearStream(),new Blob([o],{type:e})},e.clearStream=function(){this.folders=[],this.files=[]},e.buildFileStream=function(e){var t,o;void 0===e&&(e="");var r=this.folders.concat(this.files),n=r.length,i="",s=0,u=0;try{for(var p=g(r),a=p.next();!a.done;a=p.next()){var l=a.value,c=this.getHeader(l,s),d=c.fileHeader,f=c.folderHeader,h=c.content;s+=d.length+h.length,u+=f.length,e+=d+h,i+=f}}catch(e){t={error:e}}finally{try{a&&!a.done&&(o=p.return)&&o.call(p)}finally{if(t)throw t.error}}return e+i+this.buildFolderEnd(n,u,s)},e.getHeader=function(e,t){var r=e.content,n=e.path,i=e.created,s=e.isBase64,u=o._.utf8_encode,p=o._.decToHex,a=u(n),l=a!==n,c=this.convertTime(i),d=this.convertDate(i),f="";if(l){var h=p(1,1)+p(this.getFromCrc32Table(a),4)+a;f="up"+p(h.length,2)+h}var m=r?this.getConvertedContent(r,s):{size:0,content:""},g=m.size,v=m.content,w="\n\0"+(l?"\0\b":"\0\0")+"\0\0"+p(c,2)+p(d,2)+p(g?this.getFromCrc32Table(v):0,4)+p(g,4)+p(g,4)+p(a.length,2)+p(f.length,2);return{fileHeader:"PK\x03\x04"+w+a+f,folderHeader:"PK\x01\x02\x14\0"+w+"\0\0\0\0\0\0"+(r?"\0\0\0\0":"\x10\0\0\0")+p(t,4)+a+f,content:v||""}},e.getConvertedContent=function(e,t){return void 0===t&&(t=!1),t&&(e=e.split(";base64,")[1]),{size:(e=t?atob(e):e).length,content:e}},e.buildFolderEnd=function(e,t,r){var n=o._.decToHex;return"PK\x05\x06\0\0\0\0"+n(e,2)+n(e,2)+n(t,4)+n(r,4)+"\0\0"},e.buildUint8Array=function(e){for(var t=new Uint8Array(e.length),o=0;o<t.length;o++)t[o]=e.charCodeAt(o);return t},e.getFromCrc32Table=function(e){if(!e.length)return 0;for(var t=e.length,o=new Uint8Array(t),r=0;r<t;r++)o[r]=e.charCodeAt(r);var n=-1,i=0;for(r=0;r<t;r++)i=o[r],n=n>>>8^v[255&(n^i)];return-1^n},e.convertTime=function(e){var t=e.getHours();return t<<=6,t|=e.getMinutes(),t<<=5,t|=e.getSeconds()/2},e.convertDate=function(e){var t=e.getFullYear()-1980;return t<<=4,t|=e.getMonth()+1,t<<=5,t|=e.getDate()},e.folders=[],e.files=[],e}();exports.BaseCreator=r,exports.BaseGridSerializingSession=n,exports.CsvCreator=l,exports.CsvExportModule=h,exports.Downloader=i,exports.GridSerializer=f,exports.XmlFactory=m,exports.ZipContainer=w; |
@@ -149,3 +149,13 @@ var __extends = (this && this.__extends) || (function () { | ||
var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport); | ||
_this.pinnedRowModel.forEachPinnedTopRow(processRow); | ||
if (params.rowPositions) { | ||
params.rowPositions | ||
// only pinnedTop rows, other models are processed by `processRows` and `processPinnedBottomsRows` | ||
.filter(function (position) { return position.rowPinned === 'top'; }) | ||
.sort(function (a, b) { return a.rowIndex - b.rowIndex; }) | ||
.map(function (position) { return _this.pinnedRowModel.getPinnedTopRow(position.rowIndex); }) | ||
.forEach(processRow); | ||
} | ||
else { | ||
_this.pinnedRowModel.forEachPinnedTopRow(processRow); | ||
} | ||
return gridSerializingSession; | ||
@@ -213,3 +223,13 @@ }; | ||
var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport); | ||
_this.pinnedRowModel.forEachPinnedBottomRow(processRow); | ||
if (params.rowPositions) { | ||
params.rowPositions | ||
// only pinnedBottom rows, other models are processed by `processRows` and `processPinnedTopRows` | ||
.filter(function (position) { return position.rowPinned === 'bottom'; }) | ||
.sort(function (a, b) { return a.rowIndex - b.rowIndex; }) | ||
.map(function (position) { return _this.pinnedRowModel.getPinnedBottomRow(position.rowIndex); }) | ||
.forEach(processRow); | ||
} | ||
else { | ||
_this.pinnedRowModel.forEachPinnedBottomRow(processRow); | ||
} | ||
return gridSerializingSession; | ||
@@ -216,0 +236,0 @@ }; |
@@ -21,2 +21,3 @@ import { Column, ColumnModel, GridOptionsWrapper, ProcessCellForExportParams, ProcessGroupHeaderForExportParams, ProcessHeaderForExportParams, ProcessRowGroupForExportParams, RowNode, ValueService } from "@ag-grid-community/core"; | ||
extractRowCellValue(column: Column, index: number, accumulatedRowIndex: number, type: string, node: RowNode): any; | ||
private shouldRenderGroupSummaryCell; | ||
private getHeaderName; | ||
@@ -23,0 +24,0 @@ private createValueForGroupNode; |
@@ -22,20 +22,28 @@ var BaseGridSerializingSession = /** @class */ (function () { | ||
// we render the group summary text e.g. "-> Parent -> Child"... | ||
var groupIndex = this.gridOptionsWrapper.isGroupMultiAutoColumn() ? node.rowGroupIndex : 0; | ||
var renderGroupSummaryCell = | ||
// on group rows | ||
node && node.group | ||
&& ( | ||
// in the group column if groups appear in regular grid cells | ||
index === groupIndex && this.groupColumns.indexOf(column) !== -1 | ||
// or the first cell in the row, if we're doing full width rows | ||
|| (index === 0 && this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode()))); | ||
var valueForCell; | ||
if (renderGroupSummaryCell) { | ||
valueForCell = this.createValueForGroupNode(node); | ||
var value = this.shouldRenderGroupSummaryCell(node, column, index) | ||
? this.createValueForGroupNode(node) | ||
: this.valueService.getValue(column, node); | ||
var processedValue = this.processCell({ | ||
accumulatedRowIndex: accumulatedRowIndex, | ||
rowNode: node, | ||
column: column, | ||
value: value, | ||
processCellCallback: this.processCellCallback, | ||
type: type | ||
}); | ||
return processedValue != null ? processedValue : ''; | ||
}; | ||
BaseGridSerializingSession.prototype.shouldRenderGroupSummaryCell = function (node, column, currentColumnIndex) { | ||
var _a; | ||
var isGroupNode = node && node.group; | ||
// only on group rows | ||
if (!isGroupNode) { | ||
return false; | ||
} | ||
else { | ||
valueForCell = this.valueService.getValue(column, node); | ||
var currentColumnGroupIndex = this.groupColumns.indexOf(column); | ||
if (currentColumnGroupIndex !== -1 && ((_a = node.groupData) === null || _a === void 0 ? void 0 : _a[column.getId()])) { | ||
return true; | ||
} | ||
var value = this.processCell(accumulatedRowIndex, node, column, valueForCell, this.processCellCallback, type); | ||
return value != null ? value : ''; | ||
var isGroupUseEntireRow = this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode()); | ||
return currentColumnIndex === 0 && isGroupUseEntireRow; | ||
}; | ||
@@ -71,3 +79,4 @@ BaseGridSerializingSession.prototype.getHeaderName = function (callback, column) { | ||
}; | ||
BaseGridSerializingSession.prototype.processCell = function (accumulatedRowIndex, rowNode, column, value, processCellCallback, type) { | ||
BaseGridSerializingSession.prototype.processCell = function (params) { | ||
var accumulatedRowIndex = params.accumulatedRowIndex, rowNode = params.rowNode, column = params.column, value = params.value, processCellCallback = params.processCellCallback, type = params.type; | ||
if (processCellCallback) { | ||
@@ -74,0 +83,0 @@ return processCellCallback({ |
@@ -129,3 +129,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { | ||
const processRow = this.processRow.bind(this, gridSerializingSession, params, columnsToExport); | ||
this.pinnedRowModel.forEachPinnedTopRow(processRow); | ||
if (params.rowPositions) { | ||
params.rowPositions | ||
// only pinnedTop rows, other models are processed by `processRows` and `processPinnedBottomsRows` | ||
.filter(position => position.rowPinned === 'top') | ||
.sort((a, b) => a.rowIndex - b.rowIndex) | ||
.map(position => this.pinnedRowModel.getPinnedTopRow(position.rowIndex)) | ||
.forEach(processRow); | ||
} | ||
else { | ||
this.pinnedRowModel.forEachPinnedTopRow(processRow); | ||
} | ||
return gridSerializingSession; | ||
@@ -191,3 +201,13 @@ }; | ||
const processRow = this.processRow.bind(this, gridSerializingSession, params, columnsToExport); | ||
this.pinnedRowModel.forEachPinnedBottomRow(processRow); | ||
if (params.rowPositions) { | ||
params.rowPositions | ||
// only pinnedBottom rows, other models are processed by `processRows` and `processPinnedTopRows` | ||
.filter(position => position.rowPinned === 'bottom') | ||
.sort((a, b) => a.rowIndex - b.rowIndex) | ||
.map(position => this.pinnedRowModel.getPinnedBottomRow(position.rowIndex)) | ||
.forEach(processRow); | ||
} | ||
else { | ||
this.pinnedRowModel.forEachPinnedBottomRow(processRow); | ||
} | ||
return gridSerializingSession; | ||
@@ -194,0 +214,0 @@ }; |
@@ -21,2 +21,3 @@ import { Column, ColumnModel, GridOptionsWrapper, ProcessCellForExportParams, ProcessGroupHeaderForExportParams, ProcessHeaderForExportParams, ProcessRowGroupForExportParams, RowNode, ValueService } from "@ag-grid-community/core"; | ||
extractRowCellValue(column: Column, index: number, accumulatedRowIndex: number, type: string, node: RowNode): any; | ||
private shouldRenderGroupSummaryCell; | ||
private getHeaderName; | ||
@@ -23,0 +24,0 @@ private createValueForGroupNode; |
@@ -22,20 +22,28 @@ export class BaseGridSerializingSession { | ||
// we render the group summary text e.g. "-> Parent -> Child"... | ||
const groupIndex = this.gridOptionsWrapper.isGroupMultiAutoColumn() ? node.rowGroupIndex : 0; | ||
const renderGroupSummaryCell = | ||
// on group rows | ||
node && node.group | ||
&& ( | ||
// in the group column if groups appear in regular grid cells | ||
index === groupIndex && this.groupColumns.indexOf(column) !== -1 | ||
// or the first cell in the row, if we're doing full width rows | ||
|| (index === 0 && this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode()))); | ||
let valueForCell; | ||
if (renderGroupSummaryCell) { | ||
valueForCell = this.createValueForGroupNode(node); | ||
const value = this.shouldRenderGroupSummaryCell(node, column, index) | ||
? this.createValueForGroupNode(node) | ||
: this.valueService.getValue(column, node); | ||
const processedValue = this.processCell({ | ||
accumulatedRowIndex, | ||
rowNode: node, | ||
column, | ||
value, | ||
processCellCallback: this.processCellCallback, | ||
type | ||
}); | ||
return processedValue != null ? processedValue : ''; | ||
} | ||
shouldRenderGroupSummaryCell(node, column, currentColumnIndex) { | ||
var _a; | ||
const isGroupNode = node && node.group; | ||
// only on group rows | ||
if (!isGroupNode) { | ||
return false; | ||
} | ||
else { | ||
valueForCell = this.valueService.getValue(column, node); | ||
const currentColumnGroupIndex = this.groupColumns.indexOf(column); | ||
if (currentColumnGroupIndex !== -1 && ((_a = node.groupData) === null || _a === void 0 ? void 0 : _a[column.getId()])) { | ||
return true; | ||
} | ||
const value = this.processCell(accumulatedRowIndex, node, column, valueForCell, this.processCellCallback, type); | ||
return value != null ? value : ''; | ||
const isGroupUseEntireRow = this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode()); | ||
return currentColumnIndex === 0 && isGroupUseEntireRow; | ||
} | ||
@@ -71,3 +79,4 @@ getHeaderName(callback, column) { | ||
} | ||
processCell(accumulatedRowIndex, rowNode, column, value, processCellCallback, type) { | ||
processCell(params) { | ||
const { accumulatedRowIndex, rowNode, column, value, processCellCallback, type } = params; | ||
if (processCellCallback) { | ||
@@ -74,0 +83,0 @@ return processCellCallback({ |
{ | ||
"name": "@ag-grid-community/csv-export", | ||
"version": "28.1.0", | ||
"version": "28.1.1", | ||
"description": "Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue", | ||
@@ -5,0 +5,0 @@ "main": "./dist/cjs/es5/main.js", |
@@ -21,2 +21,3 @@ import { Column, ColumnModel, GridOptionsWrapper, ProcessCellForExportParams, ProcessGroupHeaderForExportParams, ProcessHeaderForExportParams, ProcessRowGroupForExportParams, RowNode, ValueService } from "@ag-grid-community/core"; | ||
extractRowCellValue(column: Column, index: number, accumulatedRowIndex: number, type: string, node: RowNode): any; | ||
private shouldRenderGroupSummaryCell; | ||
private getHeaderName; | ||
@@ -23,0 +24,0 @@ private createValueForGroupNode; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
4013475
59877