Fixed review comments

pull/9031/head
Anil Sahoo 2025-08-07 12:56:32 +05:30
parent 85d2921835
commit 3cc67bdc3b
3 changed files with 9 additions and 26 deletions

View File

@ -881,7 +881,6 @@ export default function QueryToolComponent({params, pgWindow, pgAdmin, selectedN
eol: qtState.eol,
connection_list: qtState.connection_list,
current_file: qtState.current_file,
qtPanelId: qtPanelId,
toggleQueryTool: () => setQtStatePartial((prev)=>{
return {
...prev,

View File

@ -256,7 +256,7 @@ function cellClassGetter(col, isSelected, dataChangeStore, rowKeyGetter){
};
}
function initialiseColumns(columns, rows, totalRowCount, columnWidthBy, maxColumnDataDisplayLength, qtPanelId) {
function initialiseColumns(columns, rows, totalRowCount, columnWidthBy, maxColumnDataDisplayLength) {
let retColumns = [
...columns,
];
@ -265,7 +265,7 @@ function initialiseColumns(columns, rows, totalRowCount, columnWidthBy, maxColum
canvasContext.font = '12px Roboto';
for(const col of retColumns) {
col.width = getColumnWidth(col, rows, canvasContext, columnWidthBy, maxColumnDataDisplayLength, qtPanelId);
col.width = getColumnWidth(col, rows, canvasContext, columnWidthBy, maxColumnDataDisplayLength);
col.resizable = true;
col.editorOptions = {
commitOnOutsideClick: false,
@ -336,15 +336,8 @@ function formatColumns(columns, dataChangeStore, selectedColumns, onColumnSelect
return retColumns;
}
// Helper to get or initialize the widths store on window
function getWidthsStore() {
if (!window.pgAdminGridColumnWidths) {
window.pgAdminGridColumnWidths = {};
}
return window.pgAdminGridColumnWidths;
}
function getColumnWidth(column, rows, canvasContext, columnWidthBy, maxColumnDataDisplayLength, qtPanelId) {
function getColumnWidth(column, rows, canvasContext, columnWidthBy, maxColumnDataDisplayLength) {
const dataWidthReducer = (longest, nextRow) => {
let value = nextRow[column.key];
if(_.isNull(value) || _.isUndefined(value)) {
@ -377,11 +370,8 @@ function getColumnWidth(column, rows, canvasContext, columnWidthBy, maxColumnDat
}
}
// Use window object for storing widths
const widthsStore = getWidthsStore();
const savedWidths = widthsStore[qtPanelId] || {};
return savedWidths[column.display_name] || width;
if (!window.columnWidths) window.columnWidths = {};
return window.columnWidths[column.display_name] || width;
}
export default function QueryToolDataGrid({columns, rows, totalRowCount, dataChangeStore,
@ -389,7 +379,6 @@ export default function QueryToolDataGrid({columns, rows, totalRowCount, dataCha
const [readyColumns, setReadyColumns] = useState([]);
const [lastSelectedColumn, setLastSelectedColumn] = useState(null);
const eventBus = useContext(QueryToolEventsContext);
const qtPanelId = props.qtPanelId;
const onColumnSelected = (columnIdx, isSelected, isShiftClick)=>{
const newSelectedCols = new Set(selectedColumns);
const start = isShiftClick && lastSelectedColumn ? Math.min(columnIdx, lastSelectedColumn) : columnIdx;
@ -445,15 +434,12 @@ export default function QueryToolDataGrid({columns, rows, totalRowCount, dataCha
// Save column width to window object on resize
const handleColumnResize = (column, width) => {
const widthsStore = getWidthsStore();
if (!widthsStore[qtPanelId]) {
widthsStore[qtPanelId] = {};
}
widthsStore[qtPanelId][column.display_name] = width;
if (!window.columnWidths) window.columnWidths = {};
window.columnWidths[column.display_name] = width;
};
useEffect(()=>{
let initCols = initialiseColumns(columns, rows, totalRowCount, columnWidthBy, maxColumnDataDisplayLength, qtPanelId);
let initCols = initialiseColumns(columns, rows, totalRowCount, columnWidthBy, maxColumnDataDisplayLength);
setReadyColumns(formatColumns(initCols, dataChangeStore, selectedColumns, onColumnSelected, onSelectedColumnsChangeWrapped, props.rowKeyGetter));
}, [columns]);
@ -475,7 +461,7 @@ export default function QueryToolDataGrid({columns, rows, totalRowCount, dataCha
enableCellSelect={true}
onCopy={handleCopy}
onMultiCopy={handleCopy}
onColumnResize={handleColumnResize} // <-- Add this line
onColumnResize={handleColumnResize}
renderers={{
renderRow: renderCustomRow,
}}
@ -520,5 +506,4 @@ QueryToolDataGrid.propTypes = {
columnWidthBy: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
startRowNum: PropTypes.number,
maxColumnDataDisplayLength: PropTypes.number,
qtPanelId: PropTypes.string,
};

View File

@ -1549,7 +1549,6 @@ export function ResultSet() {
onSelectedCellChange={setSelectedCell}
onSelectedRangeChange={setSelectedRange}
stripedRows={queryToolCtx.preferences?.sqleditor?.striped_rows}
qtPanelId={queryToolCtx.qtPanelId}
/>
</Box>
</>}