import React from 'react'; import styled from 'styled-components'; import useModalState from '../modals/useModalState'; import ConnectionModal from '../modals/ConnectionModal'; import useFetch from '../utility/useFetch'; import { AppObjectList } from '../appobj/AppObjectList'; import connectionAppObject from '../appobj/connectionAppObject'; import databaseAppObject from '../appobj/databaseAppObject'; import { useSetCurrentDatabase, useCurrentDatabase } from '../utility/globalState'; import tableAppObject from '../appobj/tableAppObject'; import theme from '../theme'; const MainContainer = styled.div` position: relative; display: flex; flex-flow: column wrap; flex: 1; `; const InnerContainer = styled.div` flex: 1 0; overflow: scroll; width: ${theme.leftPanel.width}px; `; function SubDatabaseList({ data }) { const setDb = useSetCurrentDatabase(); const handleDatabaseClick = database => { setDb({ ...database, connection: data, }); }; const { _id } = data; const databases = useFetch({ url: `server-connections/list-databases?id=${_id}`, reloadTrigger: `database-list-changed-${_id}`, }); return ; } function ConnectionList() { const modalState = useModalState(); const connections = useFetch({ url: 'connections/list', reloadTrigger: 'connection-list-changed', }); return ( <> ); } function SqlObjectList({ id, database }) { const objects = useFetch({ url: `database-connections/list-objects?id=${id}&database=${database}`, reloadTrigger: `database-structure-changed-${id}-${database}`, }); const { tables } = objects || {}; return ( <> ({ ...x, id, database }))} makeAppObj={tableAppObject} /> ); } function SqlObjectListWrapper() { const db = useCurrentDatabase(); if (!db) return
(Choose database)
; const { name, connection } = db; return ; // return
tables of {db && db.name}
// return
tables of {JSON.stringify(db)}
} export default function DatabaseWidget() { return ( ); }