diff --git a/packages/web/src/datagrid/DataGridToolbar.js b/packages/web/src/datagrid/DataGridToolbar.js
index ae5aaad83..d439d39e9 100644
--- a/packages/web/src/datagrid/DataGridToolbar.js
+++ b/packages/web/src/datagrid/DataGridToolbar.js
@@ -1,19 +1,23 @@
import React from 'react';
-import { ToolbarButton } from '../widgets/Toolbar';
+import ToolbarButton from '../widgets/ToolbarButton';
import { changeSetContainsChanges } from '@dbgate/datalib';
export default function DataGridToolbar({ reload, changeSetState, dispatchChangeSet, save, revert }) {
return (
<>
- {changeSetState.canUndo && (
- dispatchChangeSet({ type: 'undo' })}>Undo
- )}
- {changeSetState.canRedo && (
- dispatchChangeSet({ type: 'redo' })}>Redo
- )}
- {changeSetContainsChanges(changeSetState.value) && Save}
- {changeSetContainsChanges(changeSetState.value) && Revert}
Refresh
+ dispatchChangeSet({ type: 'undo' })}>
+ Undo
+
+ dispatchChangeSet({ type: 'redo' })}>
+ Redo
+
+
+ Save
+
+
+ Revert
+
>
);
}
diff --git a/packages/web/src/widgets/Toolbar.js b/packages/web/src/widgets/Toolbar.js
index c20a99d82..d2633f5d7 100644
--- a/packages/web/src/widgets/Toolbar.js
+++ b/packages/web/src/widgets/Toolbar.js
@@ -1,44 +1,17 @@
-import ReactDOM from 'react-dom';
import React from 'react';
import useModalState from '../modals/useModalState';
import ConnectionModal from '../modals/ConnectionModal';
import styled from 'styled-components';
-import theme from '../theme';
-import { useOpenedTabs } from '../utility/globalState';
+import ToolbarButton from './ToolbarButton';
const ToolbarContainer = styled.div`
display: flex;
user-select: none;
`;
-export const ToolbarButton = styled.div`
- // height: ${theme.toolBar.height - 5}px;
- // border: 1px solid gray;
- padding: 5px;
- margin: 2px;
- //background-color: #777;
- background-color: #337ab7;
- border-color: #2e6da4; color: white;
- border-radius: 2px;
-
- &:hover {
- background-color: #286090;
- }
-`;
-
export default function ToolBar({ toolbarPortalRef }) {
const modalState = useModalState();
- const tabs = useOpenedTabs();
- const selectedTab = tabs.find(x => x.selected);
-// React.useEffect(() => {
-// const node = toolbarPortalRef.current;
-// if (node) {
-// ReactDOM.unmountComponentAtNode(node);
-// while (node.lastElementChild) {
-// node.removeChild(node.lastElementChild);
-// }
-// }
-// }, [selectedTab]);
+
return (
diff --git a/packages/web/src/widgets/ToolbarButton.js b/packages/web/src/widgets/ToolbarButton.js
new file mode 100644
index 000000000..714f11755
--- /dev/null
+++ b/packages/web/src/widgets/ToolbarButton.js
@@ -0,0 +1,52 @@
+// @ts-nocheck
+import ReactDOM from 'react-dom';
+import React from 'react';
+import useModalState from '../modals/useModalState';
+import ConnectionModal from '../modals/ConnectionModal';
+import styled from 'styled-components';
+import theme from '../theme';
+import { useOpenedTabs } from '../utility/globalState';
+
+const ButtonDiv = styled.div`
+ // height: ${theme.toolBar.height - 5}px;
+ // border: 1px solid gray;
+ padding: 5px;
+ margin: 2px;
+ //background-color: #777;
+ background-color: #337ab7;
+ border-color: #2e6da4; color: white;
+ border-radius: 2px;
+
+ ${props =>
+ !props.disabled &&
+ `
+ &:hover {
+ background-color: #286090;
+ }
+
+ &:active:hover {
+ background-color: #204d74;
+ }
+ `}
+
+ ${props =>
+ props.disabled &&
+ `
+ background-color: #ccc;
+ color: gray;
+ `}
+
+`;
+
+export default function ToolbarButton({ children, onClick, disabled = undefined }) {
+ return (
+ {
+ if (!disabled && onClick) onClick();
+ }}
+ disabled={disabled}
+ >
+ {children}
+
+ );
+}