diff --git a/packages/web/src/charts/ChartEditor.js b/packages/web/src/charts/ChartEditor.js index ca67a482e..06ff8f878 100644 --- a/packages/web/src/charts/ChartEditor.js +++ b/packages/web/src/charts/ChartEditor.js @@ -89,13 +89,7 @@ export default function ChartEditor({ data, config, setConfig, sql, conid, datab {/* */} - - - - - - - + diff --git a/packages/web/src/charts/DataChart.js b/packages/web/src/charts/DataChart.js index 217fe75fb..6a8e65e48 100644 --- a/packages/web/src/charts/DataChart.js +++ b/packages/web/src/charts/DataChart.js @@ -66,7 +66,7 @@ export default function DataChart({ data }) { key={`${values.chartType}|${containerWidth}|${containerHeight}`} width={containerWidth} height={containerHeight} - data={createChartData(data, labelColumn, dataColumns, values.colorSeed || 1, values.chartType)} + data={createChartData(data, labelColumn, dataColumns, values.colorSeed || '5', values.chartType)} type={values.chartType} /> diff --git a/packages/web/src/modals/SaveFileModal.js b/packages/web/src/modals/SaveFileModal.js index ef191acf9..47f20e77b 100644 --- a/packages/web/src/modals/SaveFileModal.js +++ b/packages/web/src/modals/SaveFileModal.js @@ -19,7 +19,7 @@ export default function SaveFileModal({ data, folder, format, modalState, name, Save file - + diff --git a/packages/web/src/modals/SaveTabModal.js b/packages/web/src/modals/SaveTabModal.js index 0fc238709..50e29c1c3 100644 --- a/packages/web/src/modals/SaveTabModal.js +++ b/packages/web/src/modals/SaveTabModal.js @@ -1,15 +1,35 @@ import React from 'react'; import { changeTab } from '../utility/common'; import { useOpenedTabs, useSetOpenedTabs } from '../utility/globalState'; +import keycodes from '../utility/keycodes'; import SaveFileModal from './SaveFileModal'; -export default function SaveTabModal({ data, folder, format, modalState, tabid }) { +export default function SaveTabModal({ data, folder, format, modalState, tabid, tabVisible }) { const setOpenedTabs = useSetOpenedTabs(); const openedTabs = useOpenedTabs(); const name = openedTabs.find((x) => x.tabid == tabid).title; const onSave = (name) => changeTab(tabid, setOpenedTabs, (tab) => ({ ...tab, title: name })); + const handleKeyboard = React.useCallback( + (e) => { + if (e.keyCode == keycodes.s && e.ctrlKey) { + e.preventDefault(); + modalState.open(); + } + }, + [modalState] + ); + + React.useEffect(() => { + if (tabVisible) { + document.addEventListener('keydown', handleKeyboard); + return () => { + document.removeEventListener('keydown', handleKeyboard); + }; + } + }, [tabVisible, handleKeyboard]); + return ( ); diff --git a/packages/web/src/tabs/ChartTab.js b/packages/web/src/tabs/ChartTab.js index a7037acd7..3fa3cba62 100644 --- a/packages/web/src/tabs/ChartTab.js +++ b/packages/web/src/tabs/ChartTab.js @@ -61,6 +61,7 @@ export default function ChartTab({ tabVisible, toolbarPortalRef, conid, database /> , toolbarPortalRef.current )} - + ); } diff --git a/packages/web/src/tabs/ShellTab.js b/packages/web/src/tabs/ShellTab.js index 32d742791..f52695171 100644 --- a/packages/web/src/tabs/ShellTab.js +++ b/packages/web/src/tabs/ShellTab.js @@ -124,7 +124,14 @@ export default function ShellTab({ tabid, tabVisible, toolbarPortalRef, ...other />, toolbarPortalRef.current )} - + ); }