From 671ae9328bf94b7278dfcd1468879b760f00568d Mon Sep 17 00:00:00 2001 From: Dan Cameron Date: Tue, 7 Mar 2023 16:52:30 +0100 Subject: [PATCH] Export rows as displayed with sorting applied --- js/src/widget_export.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/js/src/widget_export.js b/js/src/widget_export.js index 123f6b4..a9f7508 100644 --- a/js/src/widget_export.js +++ b/js/src/widget_export.js @@ -60,10 +60,22 @@ exportFunc.exportRangeData = (options, view) => { // Export Rows exportFunc.exportRows = (options, view) => { - const rows = options.api.getSelectedNodes(); + //const rows = options.api.getSelectedNodes(); + const rows = getSelectedNodesAsDisplayed(options); exportRowsFunc(options, view, rows); }; +const getSelectedNodesAsDisplayed = (options) => { + // Returns selected nodes in order as shown in table (with filter, sort, & grouping) + const rowNodes = []; + options.api.forEachNodeAfterFilterAndSort((node) => { + if (!node.group && node.selected) { + rowNodes.push(node); + } + }); + return rowNodes; +}; + const exportRowsFunc = (options, view, rows) => { const cols = findCorrectColumns(options.columnApi.getAllDisplayedColumns(), options); const { data: nodes, values: columns } = getProcessedSelectedRows(options, rows, cols);