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 @@