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
)}
-
+
>
);
}