diff --git a/packages/web/src/TabContent.svelte b/packages/web/src/TabContent.svelte index 70cf0fbff..dc6162dad 100644 --- a/packages/web/src/TabContent.svelte +++ b/packages/web/src/TabContent.svelte @@ -4,7 +4,7 @@ if (tabComponent) { return { tabComponent, - props: selectedTab.props, + props: selectedTab && selectedTab.props, }; } return null; @@ -38,11 +38,15 @@ $: { if (selectedTab) { const { tabid } = selectedTab; - if (tabid && !mountedTabs[tabid]) - mountedTabs = { - ...mountedTabs, - [tabid]: createTabComponent(selectedTab), - }; + if (tabid && !mountedTabs[tabid]) { + const newTab = createTabComponent(selectedTab); + if (newTab) { + mountedTabs = { + ...mountedTabs, + [tabid]: newTab, + }; + } + } } } diff --git a/packages/web/src/appobj/ConnectionAppObject.svelte b/packages/web/src/appobj/ConnectionAppObject.svelte index 84c19d608..05823a149 100644 --- a/packages/web/src/appobj/ConnectionAppObject.svelte +++ b/packages/web/src/appobj/ConnectionAppObject.svelte @@ -9,8 +9,15 @@ const handleConnect = () => { openedConnections.update(list => _.uniq([...list, data._id])); }; + const handleEdit = () => { + showModal(ConnectionModal, { connection: data }); + }; return [ + { + text: 'Edit', + onClick: handleEdit, + }, !$openedConnections.includes(data._id) && { text: 'Connect', onClick: handleConnect, @@ -37,6 +44,8 @@ import { currentDatabase, extensions, openedConnections } from '../stores'; import axios from '../utility/axios'; import { filterName } from 'dbgate-datalib'; + import { showModal } from '../modals/modalTools'; + import ConnectionModal from '../modals/ConnectionModal.svelte'; export let data; diff --git a/packages/web/src/forms/CheckboxField.svelte b/packages/web/src/forms/CheckboxField.svelte index 8331051ba..301fff3c4 100644 --- a/packages/web/src/forms/CheckboxField.svelte +++ b/packages/web/src/forms/CheckboxField.svelte @@ -1 +1 @@ - + diff --git a/packages/web/src/forms/FormCheckboxField.svelte b/packages/web/src/forms/FormCheckboxField.svelte index 63b0d1d3c..ff5b13948 100644 --- a/packages/web/src/forms/FormCheckboxField.svelte +++ b/packages/web/src/forms/FormCheckboxField.svelte @@ -1,14 +1,22 @@ - - + setFieldValue(name, !$values[name]) }} +> + diff --git a/packages/web/src/forms/FormElectronFileSelector.svelte b/packages/web/src/forms/FormElectronFileSelector.svelte new file mode 100644 index 000000000..2a0639d6d --- /dev/null +++ b/packages/web/src/forms/FormElectronFileSelector.svelte @@ -0,0 +1,14 @@ + + + + + diff --git a/packages/web/src/forms/FormElectronFileSelectorRaw.svelte b/packages/web/src/forms/FormElectronFileSelectorRaw.svelte new file mode 100644 index 000000000..fb2b0eb83 --- /dev/null +++ b/packages/web/src/forms/FormElectronFileSelectorRaw.svelte @@ -0,0 +1,29 @@ + + +
+ + Browse +
diff --git a/packages/web/src/forms/FromCheckboxFieldRaw.svelte b/packages/web/src/forms/FromCheckboxFieldRaw.svelte index eb5328772..b381e071e 100644 --- a/packages/web/src/forms/FromCheckboxFieldRaw.svelte +++ b/packages/web/src/forms/FromCheckboxFieldRaw.svelte @@ -1,10 +1,13 @@ - setFieldValue(name, e.target['checked'])} /> + diff --git a/packages/web/src/forms/SelectField.svelte b/packages/web/src/forms/SelectField.svelte index f3b92f7a3..810bc5761 100644 --- a/packages/web/src/forms/SelectField.svelte +++ b/packages/web/src/forms/SelectField.svelte @@ -1,12 +1,12 @@