From d5ebea3764bd7802b7ab98fa1647c1de182b5575 Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Thu, 11 Mar 2021 09:42:14 +0100 Subject: [PATCH] files widget --- .../web/src/appobj/ConnectionAppObject.svelte | 4 +- .../web/src/appobj/SavedFileAppObject.svelte | 140 ++++++++++++++++++ packages/web/src/datagrid/DataGridCore.svelte | 4 +- .../web/src/datagrid/JslDataGridCore.svelte | 6 +- .../web/src/datagrid/SqlDataGridCore.svelte | 8 +- packages/web/src/forms/FormProvider.svelte | 3 +- packages/web/src/modals/ConfirmModal.svelte | 28 ++++ .../web/src/modals/ConnectionModal.svelte | 6 +- packages/web/src/modals/InputTextModal.svelte | 35 +++++ .../web/src/plugins/PluginsProvider.svelte | 6 +- packages/web/src/tabs/QueryTab.svelte | 8 +- .../utility/{axios.js => axiosInstance.js} | 0 packages/web/src/utility/connectionsPinger.js | 6 +- packages/web/src/utility/hasPermission.ts | 15 ++ packages/web/src/utility/metadataLoaders.ts | 8 +- packages/web/src/utility/useFetch.ts | 4 +- packages/web/src/widgets/FilesWidget.svelte | 12 ++ .../web/src/widgets/SavedFilesList.svelte | 28 ++++ packages/web/src/widgets/SqlObjectList.svelte | 4 +- .../web/src/widgets/WidgetContainer.svelte | 4 + 20 files changed, 296 insertions(+), 33 deletions(-) create mode 100644 packages/web/src/appobj/SavedFileAppObject.svelte create mode 100644 packages/web/src/modals/ConfirmModal.svelte create mode 100644 packages/web/src/modals/InputTextModal.svelte rename packages/web/src/utility/{axios.js => axiosInstance.js} (100%) create mode 100644 packages/web/src/utility/hasPermission.ts create mode 100644 packages/web/src/widgets/FilesWidget.svelte create mode 100644 packages/web/src/widgets/SavedFilesList.svelte diff --git a/packages/web/src/appobj/ConnectionAppObject.svelte b/packages/web/src/appobj/ConnectionAppObject.svelte index 05823a149..b3cb13060 100644 --- a/packages/web/src/appobj/ConnectionAppObject.svelte +++ b/packages/web/src/appobj/ConnectionAppObject.svelte @@ -1,7 +1,7 @@ + + + + diff --git a/packages/web/src/datagrid/DataGridCore.svelte b/packages/web/src/datagrid/DataGridCore.svelte index 0635dbe7c..876c73bdf 100644 --- a/packages/web/src/datagrid/DataGridCore.svelte +++ b/packages/web/src/datagrid/DataGridCore.svelte @@ -165,7 +165,7 @@ import keycodes from '../utility/keycodes'; import { activeTabId, nullStore } from '../stores'; import memberStore from '../utility/memberStore'; - import axios from '../utility/axios'; + import axiosInstance from '../utility/axiosInstance'; import { copyTextToClipboard } from '../utility/clipboard'; export let onLoadNextData = undefined; @@ -280,7 +280,7 @@ } export async function reconnect() { - await axios.post('database-connections/refresh', { conid, database }); + await axiosInstance.post('database-connections/refresh', { conid, database }); display.reload(); } diff --git a/packages/web/src/datagrid/JslDataGridCore.svelte b/packages/web/src/datagrid/JslDataGridCore.svelte index a55baa6d2..9ef63998b 100644 --- a/packages/web/src/datagrid/JslDataGridCore.svelte +++ b/packages/web/src/datagrid/JslDataGridCore.svelte @@ -2,7 +2,7 @@ async function loadDataPage(props, offset, limit) { const { jslid, display } = props; - const response = await axios.post('jsldata/get-rows', { + const response = await axiosInstance.post('jsldata/get-rows', { jslid, offset, limit, @@ -19,7 +19,7 @@ async function loadRowCount(props) { const { jslid } = props; - const response = await axios.request({ + const response = await axiosInstance.request({ url: 'jsldata/get-stats', method: 'get', params: { @@ -33,7 +33,7 @@ diff --git a/packages/web/src/modals/ConfirmModal.svelte b/packages/web/src/modals/ConfirmModal.svelte new file mode 100644 index 000000000..f697ac7fd --- /dev/null +++ b/packages/web/src/modals/ConfirmModal.svelte @@ -0,0 +1,28 @@ + + + + + {message} + + + { + closeCurrentModal(); + onConfirm(); + }} + /> + + + + diff --git a/packages/web/src/modals/ConnectionModal.svelte b/packages/web/src/modals/ConnectionModal.svelte index d898ac64b..e1bff4deb 100644 --- a/packages/web/src/modals/ConnectionModal.svelte +++ b/packages/web/src/modals/ConnectionModal.svelte @@ -4,7 +4,7 @@ import FormProvider from '../forms/FormProvider.svelte'; import FormSubmit from '../forms/FormSubmit.svelte'; import FontIcon from '../icons/FontIcon.svelte'; - import axios from '../utility/axios'; + import axiosInstance from '../utility/axiosInstance'; import TabControl from '../elements/TabControl.svelte'; import ConnectionModalDriverFields from './ConnectionModalDriverFields.svelte'; import ConnectionModalSshTunnelFields from './ConnectionModalSshTunnelFields.svelte'; @@ -25,7 +25,7 @@ isTesting = true; testIdRef.current += 1; const testid = testIdRef.current; - const resp = await axios.post('connections/test', e.detail); + const resp = await axiosInstance.post('connections/test', e.detail); if (testIdRef.current != testid) return; isTesting = false; @@ -38,7 +38,7 @@ } async function handleSubmit(e) { - axios.post('connections/save', e.detail); + axiosInstance.post('connections/save', e.detail); closeCurrentModal(); } diff --git a/packages/web/src/modals/InputTextModal.svelte b/packages/web/src/modals/InputTextModal.svelte new file mode 100644 index 000000000..c4a5ba0b7 --- /dev/null +++ b/packages/web/src/modals/InputTextModal.svelte @@ -0,0 +1,35 @@ + + + + + + {header} + + + + + + handleSubmit(e.detail)} /> + + + + diff --git a/packages/web/src/plugins/PluginsProvider.svelte b/packages/web/src/plugins/PluginsProvider.svelte index e1403f567..880c1f9fc 100644 --- a/packages/web/src/plugins/PluginsProvider.svelte +++ b/packages/web/src/plugins/PluginsProvider.svelte @@ -1,6 +1,6 @@ + + + + + + diff --git a/packages/web/src/widgets/SavedFilesList.svelte b/packages/web/src/widgets/SavedFilesList.svelte new file mode 100644 index 000000000..357133edc --- /dev/null +++ b/packages/web/src/widgets/SavedFilesList.svelte @@ -0,0 +1,28 @@ + + + + _.startCase(data.folder)} /> + diff --git a/packages/web/src/widgets/SqlObjectList.svelte b/packages/web/src/widgets/SqlObjectList.svelte index 7d689032e..fa4ef5696 100644 --- a/packages/web/src/widgets/SqlObjectList.svelte +++ b/packages/web/src/widgets/SqlObjectList.svelte @@ -10,7 +10,7 @@ import SubColumnParamList from '../appobj/SubColumnParamList.svelte'; import { chevronExpandIcon } from '../icons/expandIcons'; import ErrorInfo from '../elements/ErrorInfo.svelte'; - import axios from '../utility/axios'; + import axiosInstance from '../utility/axiosInstance'; import LoadingInfo from '../elements/LoadingInfo.svelte'; export let conid; @@ -31,7 +31,7 @@ ); const handleRefreshDatabase = () => { - axios.post('database-connections/refresh', { conid, database }); + axiosInstance.post('database-connections/refresh', { conid, database }); }; diff --git a/packages/web/src/widgets/WidgetContainer.svelte b/packages/web/src/widgets/WidgetContainer.svelte index e6974fac6..813de1984 100644 --- a/packages/web/src/widgets/WidgetContainer.svelte +++ b/packages/web/src/widgets/WidgetContainer.svelte @@ -1,6 +1,7 @@ @@ -8,3 +9,6 @@ {#if $selectedWidget == 'database'} {/if} +{#if $selectedWidget == 'file'} + +{/if}