mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Ensure that the "Save results" button should be disabled when there are no rows.
refs #6131
This commit is contained in:
parent
bd799ea51a
commit
38f642d361
@ -1206,7 +1206,7 @@ export function ResultSet() {
|
|||||||
<EmptyPanelMessage text={gettext('No data output. Execute a query to get output.')}/>
|
<EmptyPanelMessage text={gettext('No data output. Execute a query to get output.')}/>
|
||||||
}
|
}
|
||||||
{queryData && <>
|
{queryData && <>
|
||||||
<ResultSetToolbar containerRef={containerRef} canEdit={queryData.can_edit}/>
|
<ResultSetToolbar containerRef={containerRef} canEdit={queryData.can_edit} totalRowCount={queryData?.rows_affected}/>
|
||||||
<Box flexGrow="1" minHeight="0">
|
<Box flexGrow="1" minHeight="0">
|
||||||
<QueryToolDataGrid
|
<QueryToolDataGrid
|
||||||
columns={columns}
|
columns={columns}
|
||||||
|
@ -37,7 +37,7 @@ const useStyles = makeStyles((theme)=>({
|
|||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
|
|
||||||
export function ResultSetToolbar({containerRef, canEdit}) {
|
export function ResultSetToolbar({containerRef, canEdit, totalRowCount}) {
|
||||||
const classes = useStyles();
|
const classes = useStyles();
|
||||||
const eventBus = useContext(QueryToolEventsContext);
|
const eventBus = useContext(QueryToolEventsContext);
|
||||||
const queryToolCtx = useContext(QueryToolContext);
|
const queryToolCtx = useContext(QueryToolContext);
|
||||||
@ -46,6 +46,7 @@ export function ResultSetToolbar({containerRef, canEdit}) {
|
|||||||
'save-data': true,
|
'save-data': true,
|
||||||
'delete-rows': true,
|
'delete-rows': true,
|
||||||
'copy-rows': true,
|
'copy-rows': true,
|
||||||
|
'save-result': true,
|
||||||
});
|
});
|
||||||
const [menuOpenId, setMenuOpenId] = React.useState(null);
|
const [menuOpenId, setMenuOpenId] = React.useState(null);
|
||||||
const [checkedMenuItems, setCheckedMenuItems] = React.useState({});
|
const [checkedMenuItems, setCheckedMenuItems] = React.useState({});
|
||||||
@ -109,6 +110,10 @@ export function ResultSetToolbar({containerRef, canEdit}) {
|
|||||||
});
|
});
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(()=>{
|
||||||
|
setDisableButton('save-result', (totalRowCount||0) < 1);
|
||||||
|
}, [totalRowCount]);
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
eventBus.registerListener(QUERY_TOOL_EVENTS.TRIGGER_COPY_DATA, copyData);
|
eventBus.registerListener(QUERY_TOOL_EVENTS.TRIGGER_COPY_DATA, copyData);
|
||||||
return ()=>eventBus.deregisterListener(QUERY_TOOL_EVENTS.TRIGGER_COPY_DATA, copyData);
|
return ()=>eventBus.deregisterListener(QUERY_TOOL_EVENTS.TRIGGER_COPY_DATA, copyData);
|
||||||
@ -150,7 +155,8 @@ export function ResultSetToolbar({containerRef, canEdit}) {
|
|||||||
</PgButtonGroup>
|
</PgButtonGroup>
|
||||||
<PgButtonGroup size="small">
|
<PgButtonGroup size="small">
|
||||||
<PgIconButton title={gettext('Save results to file')} icon={<GetAppRoundedIcon />}
|
<PgIconButton title={gettext('Save results to file')} icon={<GetAppRoundedIcon />}
|
||||||
onClick={downloadResult} shortcut={queryToolPref.download_results}/>
|
onClick={downloadResult} shortcut={queryToolPref.download_results}
|
||||||
|
disabled={buttonsDisabled['save-result']} />
|
||||||
</PgButtonGroup>
|
</PgButtonGroup>
|
||||||
</Box>
|
</Box>
|
||||||
<PgMenu
|
<PgMenu
|
||||||
@ -167,4 +173,5 @@ export function ResultSetToolbar({containerRef, canEdit}) {
|
|||||||
ResultSetToolbar.propTypes = {
|
ResultSetToolbar.propTypes = {
|
||||||
containerRef: CustomPropTypes.ref,
|
containerRef: CustomPropTypes.ref,
|
||||||
canEdit: PropTypes.bool,
|
canEdit: PropTypes.bool,
|
||||||
|
totalRowCount: PropTypes.number,
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user