diff --git a/docs/en_US/release_notes_6_12.rst b/docs/en_US/release_notes_6_12.rst index defd2f980..c613e1c1f 100644 --- a/docs/en_US/release_notes_6_12.rst +++ b/docs/en_US/release_notes_6_12.rst @@ -26,5 +26,6 @@ Bug fixes | `Issue #7471 `_ - Ensure that the splash screen can be moved. | `Issue #7517 `_ - Enable the start debugging button once execution is completed. | `Issue #7518 `_ - Ensure that dashboard graph API is not called after the panel has been closed. + | `Issue #7519 `_ - Ensure that geometry should be shown for all the selected cells. | `Issue #7522 `_ - Added support for Azure PostgreSQL deployment in server mode. | `Issue #7523 `_ - Fixed typo error for Statistics on the table header. diff --git a/web/pgadmin/tools/sqleditor/static/js/components/sections/ResultSet.jsx b/web/pgadmin/tools/sqleditor/static/js/components/sections/ResultSet.jsx index 4a25e050b..92f1cd05d 100644 --- a/web/pgadmin/tools/sqleditor/static/js/components/sections/ResultSet.jsx +++ b/web/pgadmin/tools/sqleditor/static/js/components/sections/ResultSet.jsx @@ -1085,6 +1085,14 @@ export function ResultSet() { return ()=>eventBus.deregisterListener(QUERY_TOOL_EVENTS.TRIGGER_SAVE_DATA, triggerSaveData); }, [dataChangeStore, rows, columns]); + const getRangeIndexes = ()=>{ + let startColumnIdx = Math.min(selectedRange.current.startColumnIdx, selectedRange.current.endColumnIdx); + let endColumnIdx = Math.max(selectedRange.current.startColumnIdx, selectedRange.current.endColumnIdx); + let startRowIdx = Math.min(selectedRange.current.startRowIdx, selectedRange.current.endRowIdx); + let endRowIdx = Math.max(selectedRange.current.startRowIdx, selectedRange.current.endRowIdx); + return [startColumnIdx, endColumnIdx, startRowIdx, endRowIdx]; + }; + const copyDataFunc = (withHeaders=false)=>{ const queryToolPref = queryToolCtx.preferences.sqleditor; let copyData = new CopyData({ @@ -1101,10 +1109,7 @@ export function ResultSet() { copyCols = _.filter(columns, (_c, i)=>selectedColumns.has(i+1)); copyRows = _.map(rows, (r)=>_.pick(r, _.map(copyCols, (c)=>c.key))); } else if(selectedRange.current) { - let startColumnIdx = Math.min(selectedRange.current.startColumnIdx, selectedRange.current.endColumnIdx); - let endColumnIdx = Math.max(selectedRange.current.startColumnIdx, selectedRange.current.endColumnIdx); - let startRowIdx = Math.min(selectedRange.current.startRowIdx, selectedRange.current.endRowIdx); - let endRowIdx = Math.max(selectedRange.current.startRowIdx, selectedRange.current.endRowIdx); + let [startColumnIdx, endColumnIdx, startRowIdx, endRowIdx] = getRangeIndexes(); copyCols = _.filter(columns, (_c, i)=>{ /* Row num col is added by QueryDataGrid, index will be +1 */ let idx = i+1; @@ -1209,6 +1214,9 @@ export function ResultSet() { let selRowsData = rows; if(selectedRows.size != 0) { selRowsData = rows.filter((r)=>selectedRows.has(rowKeyGetter(r))); + } else if(selectedRange.current) { + let [,, startRowIdx, endRowIdx] = getRangeIndexes(); + selRowsData = rows.slice(startRowIdx, endRowIdx+1); } else if(selectedCell.current[0]) { selRowsData = [selectedCell.current[0]]; }