Fixed review comments
parent
85d2921835
commit
3cc67bdc3b
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1549,7 +1549,6 @@ export function ResultSet() {
|
|||
onSelectedCellChange={setSelectedCell}
|
||||
onSelectedRangeChange={setSelectedRange}
|
||||
stripedRows={queryToolCtx.preferences?.sqleditor?.striped_rows}
|
||||
qtPanelId={queryToolCtx.qtPanelId}
|
||||
/>
|
||||
</Box>
|
||||
</>}
|
||||
|
|
|
|||
Loading…
Reference in New Issue