From 38f642d361587f52d66eb0690303eda0d6f8f799 Mon Sep 17 00:00:00 2001 From: Aditya Toshniwal Date: Thu, 28 Apr 2022 18:01:54 +0530 Subject: [PATCH] =?UTF-8?q?Ensure=20that=20the=20"Save=20results"=20button?= =?UTF-8?q?=20should=20be=20disabled=C2=A0when=20there=20are=20no=20rows.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit refs #6131 --- .../static/js/components/sections/ResultSet.jsx | 2 +- .../js/components/sections/ResultSetToolbar.jsx | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) 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 bb8b89ee8..1167ce2b3 100644 --- a/web/pgadmin/tools/sqleditor/static/js/components/sections/ResultSet.jsx +++ b/web/pgadmin/tools/sqleditor/static/js/components/sections/ResultSet.jsx @@ -1206,7 +1206,7 @@ export function ResultSet() { } {queryData && <> - + ({ }, })); -export function ResultSetToolbar({containerRef, canEdit}) { +export function ResultSetToolbar({containerRef, canEdit, totalRowCount}) { const classes = useStyles(); const eventBus = useContext(QueryToolEventsContext); const queryToolCtx = useContext(QueryToolContext); @@ -46,6 +46,7 @@ export function ResultSetToolbar({containerRef, canEdit}) { 'save-data': true, 'delete-rows': true, 'copy-rows': true, + 'save-result': true, }); const [menuOpenId, setMenuOpenId] = React.useState(null); const [checkedMenuItems, setCheckedMenuItems] = React.useState({}); @@ -109,6 +110,10 @@ export function ResultSetToolbar({containerRef, canEdit}) { }); }, []); + useEffect(()=>{ + setDisableButton('save-result', (totalRowCount||0) < 1); + }, [totalRowCount]); + useEffect(()=>{ eventBus.registerListener(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}) { } - onClick={downloadResult} shortcut={queryToolPref.download_results}/> + onClick={downloadResult} shortcut={queryToolPref.download_results} + disabled={buttonsDisabled['save-result']} />