@@ -5,6 +5,7 @@ import Link from "@components/links/Link";
55import { useDataTableContext } from "@contexts/dataTable" ;
66import { useSqlEditorContext } from "@contexts/sqleditor" ;
77import { useTagListQuery } from "@gen/graphql-types" ;
8+ import useDatabaseDetails from "@hooks/useDatabaseDetails" ;
89import useSqlBuilder from "@hooks/useSqlBuilder" ;
910import { TableParams } from "@lib/params" ;
1011import { table } from "@lib/urls" ;
@@ -20,17 +21,16 @@ type Props = {
2021 params : TableParams ;
2122} ;
2223
23- export default function EditTableButtons ( props : Props ) {
24+ type InnerProps = Props & {
25+ refIsTag ?: boolean ;
26+ } ;
27+
28+ function Inner ( props : InnerProps ) {
2429 const { executeQuery, setEditorString, toggleSqlEditor } =
2530 useSqlEditorContext ( ) ;
2631 const { dropTable, insertIntoTable } = useSqlBuilder ( ) ;
2732 const { columns } = useDataTableContext ( ) ;
28- const tagRes = useTagListQuery ( {
29- variables : props . params ,
30- } ) ;
31- const refIsTag = ! ! tagRes . data ?. tags . list . find (
32- t => t . tagName === props . params . refName ,
33- ) ;
33+
3434 const uploadParams = { ...props . params , uploadId : String ( Date . now ( ) ) } ;
3535
3636 const onWriteQuery = ( ) => {
@@ -53,26 +53,26 @@ export default function EditTableButtons(props: Props) {
5353 Edit table{ " " }
5454 < span className = { css . tableName } > { props . params . tableName } </ span >
5555 </ h2 >
56- { refIsTag && (
56+ { props . refIsTag && (
5757 < ErrorMsg errString = "A tag is currently selected. Please change to a branch from the left branch/tag dropdown to edit this database." />
5858 ) }
5959 < div className = { css . sections } >
6060 < OptionSquare
6161 icon = { < AiOutlineCode /> }
62- disabled = { refIsTag }
62+ disabled = { props . refIsTag }
6363 link = {
6464 < Button . Link
6565 onClick = { onWriteQuery }
6666 data-cy = "sql-query-edit-button"
67- disabled = { refIsTag }
67+ disabled = { props . refIsTag }
6868 >
6969 SQL Query
7070 </ Button . Link >
7171 }
7272 />
7373 < OptionSquare
7474 icon = { < ImTable2 /> }
75- disabled = { refIsTag }
75+ disabled = { props . refIsTag }
7676 link = {
7777 < DatabaseUploadStageLink
7878 params = { { ...uploadParams , spreadsheet : true } }
@@ -84,7 +84,7 @@ export default function EditTableButtons(props: Props) {
8484 />
8585 < OptionSquare
8686 icon = { < FiUpload /> }
87- disabled = { refIsTag }
87+ disabled = { props . refIsTag }
8888 link = {
8989 < DatabaseUploadStageLink params = { uploadParams } stage = "upload" >
9090 File Upload
@@ -95,7 +95,7 @@ export default function EditTableButtons(props: Props) {
9595 < Button . Link
9696 onClick = { onDrop }
9797 className = { css . drop }
98- disabled = { refIsTag }
98+ disabled = { props . refIsTag }
9999 red
100100 >
101101 < AiOutlineDelete /> Drop Table
@@ -106,3 +106,20 @@ export default function EditTableButtons(props: Props) {
106106 </ div >
107107 ) ;
108108}
109+
110+ function ForDolt ( props : Props ) {
111+ const tagRes = useTagListQuery ( {
112+ variables : props . params ,
113+ } ) ;
114+ const refIsTag = ! ! tagRes . data ?. tags . list . find (
115+ t => t . tagName === props . params . refName ,
116+ ) ;
117+ return < Inner { ...props } refIsTag = { refIsTag } /> ;
118+ }
119+
120+ export default function EditTableButtons ( props : Props ) {
121+ const res = useDatabaseDetails ( ) ;
122+
123+ if ( ! res . isDolt ) return < Inner { ...props } /> ;
124+ return < ForDolt { ...props } /> ;
125+ }
0 commit comments