From 9c7df4294864a0afb83069219bcabe77e1b1e1a9 Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Wed, 17 Mar 2021 18:20:26 +0100 Subject: [PATCH] use of createRef instead of not working { corrent: xxx } --- packages/web/src/datagrid/DataGridCore.svelte | 7 ++--- .../web/src/datagrid/InplaceEditor.svelte | 19 +++++++------- .../src/datagrid/LoadingDataGridCore.svelte | 16 +++++++----- .../web/src/forms/FormProviderCore.svelte | 7 ++--- packages/web/src/forms/FormSubmit.svelte | 4 +-- .../web/src/modals/ConnectionModal.svelte | 11 ++++---- .../web/src/modals/ImportExportModal.svelte | 13 +++++----- .../web/src/query/SocketMessageView.svelte | 9 ++++--- packages/web/src/utility/createRef.ts | 26 +++++++++++++++++++ 9 files changed, 73 insertions(+), 39 deletions(-) create mode 100644 packages/web/src/utility/createRef.ts diff --git a/packages/web/src/datagrid/DataGridCore.svelte b/packages/web/src/datagrid/DataGridCore.svelte index 8dfb8d18e..b0757034e 100644 --- a/packages/web/src/datagrid/DataGridCore.svelte +++ b/packages/web/src/datagrid/DataGridCore.svelte @@ -177,6 +177,7 @@ import axiosInstance from '../utility/axiosInstance'; import { copyTextToClipboard } from '../utility/clipboard'; import invalidateCommands from '../commands/invalidateCommands'; + import createRef from '../utility/createRef'; export let onLoadNextData = undefined; export let grider = undefined; @@ -416,15 +417,15 @@ domFocusField.focus(); } - const lastPublishledRef = { current: '' }; + const lastPublishledRef = createRef(''); $: if (onSelectionChanged) { const published = getCellsPublished(selectedCells); const stringified = stableStringify(published); - if (lastPublishledRef.current != stringified) { + if (lastPublishledRef.get() != stringified) { // console.log('PUBLISH', published); // console.log('lastPublishledRef.current', lastPublishledRef.current); // console.log('stringified', stringified); - lastPublishledRef.current = stringified; + lastPublishledRef.set(stringified); onSelectionChanged(published); } } diff --git a/packages/web/src/datagrid/InplaceEditor.svelte b/packages/web/src/datagrid/InplaceEditor.svelte index 1a7340308..affbd23c9 100644 --- a/packages/web/src/datagrid/InplaceEditor.svelte +++ b/packages/web/src/datagrid/InplaceEditor.svelte @@ -1,6 +1,7 @@ diff --git a/packages/web/src/forms/FormSubmit.svelte b/packages/web/src/forms/FormSubmit.svelte index c76003073..d7643970a 100644 --- a/packages/web/src/forms/FormSubmit.svelte +++ b/packages/web/src/forms/FormSubmit.svelte @@ -12,9 +12,9 @@ dispatch('click', $values); } - submitActionRef.current = () => { + submitActionRef.set(() => { handleClick(); - }; + }); diff --git a/packages/web/src/modals/ConnectionModal.svelte b/packages/web/src/modals/ConnectionModal.svelte index e1bff4deb..cc1fd9cf7 100644 --- a/packages/web/src/modals/ConnectionModal.svelte +++ b/packages/web/src/modals/ConnectionModal.svelte @@ -13,27 +13,28 @@ import ModalBase from './ModalBase.svelte'; import { closeCurrentModal, closeModal } from './modalTools'; + import createRef from '../utility/createRef'; export let connection; let isTesting; let sqlConnectResult; - const testIdRef = { current: 0 }; + const testIdRef = createRef(0); async function handleTest(e) { isTesting = true; - testIdRef.current += 1; - const testid = testIdRef.current; + testIdRef.update(x => x + 1); + const testid = testIdRef.get(); const resp = await axiosInstance.post('connections/test', e.detail); - if (testIdRef.current != testid) return; + if (testIdRef.get() != testid) return; isTesting = false; sqlConnectResult = resp.data; } function handleCancelTest() { - testIdRef.current += 1; // invalidate current test + testIdRef.update(x => x + 1); // invalidate current test isTesting = false; } diff --git a/packages/web/src/modals/ImportExportModal.svelte b/packages/web/src/modals/ImportExportModal.svelte index 69e28b696..9a2a87537 100644 --- a/packages/web/src/modals/ImportExportModal.svelte +++ b/packages/web/src/modals/ImportExportModal.svelte @@ -15,6 +15,7 @@ import SocketMessageView from '../query/SocketMessageView.svelte'; import { currentArchive, extensions, selectedWidget } from '../stores'; import axiosInstance from '../utility/axiosInstance'; + import createRef from '../utility/createRef'; import openNewTab from '../utility/openNewTab'; import socket from '../utility/socket'; import useEffect from '../utility/useEffect'; @@ -33,7 +34,7 @@ export let openedFile = undefined; export let importToArchive = false; - const refreshArchiveFolderRef = { current: null }; + const refreshArchiveFolderRef = createRef(null); $: targetArchiveFolder = importToArchive ? `import-${moment().format('YYYY-MM-DD-hh-mm-ss')}` : $currentArchive; @@ -54,10 +55,10 @@ const handleRunnerDone = () => { busy = false; - if (refreshArchiveFolderRef.current) { + if (refreshArchiveFolderRef.get()) { axiosInstance.post('archive/refresh-folders', {}); - axiosInstance.post('archive/refresh-files', { folder: refreshArchiveFolderRef.current }); - $currentArchive = refreshArchiveFolderRef.current; + axiosInstance.post('archive/refresh-files', { folder: refreshArchiveFolderRef.get() }); + $currentArchive = refreshArchiveFolderRef.get(); $selectedWidget = 'archive'; } }; @@ -87,9 +88,9 @@ runnerId = runid; if (values.targetStorageType == 'archive') { - refreshArchiveFolderRef.current = values.targetArchiveFolder; + refreshArchiveFolderRef.set(values.targetArchiveFolder); } else { - refreshArchiveFolderRef.current = null; + refreshArchiveFolderRef.set(null); } }; diff --git a/packages/web/src/query/SocketMessageView.svelte b/packages/web/src/query/SocketMessageView.svelte index b6a42715a..629011b71 100644 --- a/packages/web/src/query/SocketMessageView.svelte +++ b/packages/web/src/query/SocketMessageView.svelte @@ -1,6 +1,7 @@