replaced call socket() with apiOn/apiOff

This commit is contained in:
Jan Prochazka
2021-12-22 11:24:48 +01:00
parent 05ea435820
commit 2ace0bdb34
13 changed files with 41 additions and 46 deletions

View File

@@ -2,8 +2,6 @@
import { createGridCache, createGridConfig, JslGridDisplay } from 'dbgate-datalib'; import { createGridCache, createGridConfig, JslGridDisplay } from 'dbgate-datalib';
import { writable } from 'svelte/store'; import { writable } from 'svelte/store';
import { useApiCall } from '../utility/api'; import { useApiCall } from '../utility/api';
import socket from '../utility/socket';
import useEffect from '../utility/useEffect';
import DataGrid from './DataGrid.svelte'; import DataGrid from './DataGrid.svelte';
import JslDataGridCore from './JslDataGridCore.svelte'; import JslDataGridCore from './JslDataGridCore.svelte';

View File

@@ -20,7 +20,7 @@
filters: display ? display.compileFilters() : null, filters: display ? display.compileFilters() : null,
}); });
return response.data; return response;
} }
function dataPageAvailable(props) { function dataPageAvailable(props) {
@@ -41,13 +41,12 @@
import ImportExportModal from '../modals/ImportExportModal.svelte'; import ImportExportModal from '../modals/ImportExportModal.svelte';
import { showModal } from '../modals/modalTools'; import { showModal } from '../modals/modalTools';
import { extensions } from '../stores'; import { extensions } from '../stores';
import { apiCall } from '../utility/api'; import { apiCall, apiOff, apiOn } from '../utility/api';
import { registerMenu } from '../utility/contextMenu'; import { registerMenu } from '../utility/contextMenu';
import createActivator, { getActiveComponent } from '../utility/createActivator'; import createActivator, { getActiveComponent } from '../utility/createActivator';
import createQuickExportMenu from '../utility/createQuickExportMenu'; import createQuickExportMenu from '../utility/createQuickExportMenu';
import { exportElectronFile } from '../utility/exportElectronFile'; import { exportElectronFile } from '../utility/exportElectronFile';
import socket from '../utility/socket';
import useEffect from '../utility/useEffect'; import useEffect from '../utility/useEffect';
import LoadingDataGridCore from './LoadingDataGridCore.svelte'; import LoadingDataGridCore from './LoadingDataGridCore.svelte';
@@ -75,9 +74,9 @@
$: effect = useEffect(() => onJslId(jslid)); $: effect = useEffect(() => onJslId(jslid));
function onJslId(jslidVal) { function onJslId(jslidVal) {
if (jslidVal) { if (jslidVal) {
socket().on(`jsldata-stats-${jslidVal}`, handleJslDataStats); apiOn(`jsldata-stats-${jslidVal}`, handleJslDataStats);
return () => { return () => {
socket().off(`jsldata-stats-${jslidVal}`, handleJslDataStats); apiOff(`jsldata-stats-${jslidVal}`, handleJslDataStats);
}; };
} }
} }

View File

@@ -16,10 +16,9 @@
import RunnerOutputFiles from '../query/RunnerOutputFiles.svelte'; import RunnerOutputFiles from '../query/RunnerOutputFiles.svelte';
import SocketMessageView from '../query/SocketMessageView.svelte'; import SocketMessageView from '../query/SocketMessageView.svelte';
import { currentArchive, currentDatabase, extensions, selectedWidget } from '../stores'; import { currentArchive, currentDatabase, extensions, selectedWidget } from '../stores';
import { apiCall } from '../utility/api'; import { apiCall, apiOff, apiOn } from '../utility/api';
import createRef from '../utility/createRef'; import createRef from '../utility/createRef';
import openNewTab from '../utility/openNewTab'; import openNewTab from '../utility/openNewTab';
import socket from '../utility/socket';
import useEffect from '../utility/useEffect'; import useEffect from '../utility/useEffect';
import WidgetColumnBar from '../widgets/WidgetColumnBar.svelte'; import WidgetColumnBar from '../widgets/WidgetColumnBar.svelte';
import WidgetColumnBarItem from '../widgets/WidgetColumnBarItem.svelte'; import WidgetColumnBarItem from '../widgets/WidgetColumnBarItem.svelte';
@@ -67,9 +66,9 @@
function registerRunnerDone(rid) { function registerRunnerDone(rid) {
if (rid) { if (rid) {
socket().on(`runner-done-${rid}`, handleRunnerDone); apiOn(`runner-done-${rid}`, handleRunnerDone);
return () => { return () => {
socket().off(`runner-done-${rid}`, handleRunnerDone); apiOff(`runner-done-${rid}`, handleRunnerDone);
}; };
} else { } else {
return () => {}; return () => {};

View File

@@ -6,7 +6,7 @@
import JslDataGrid from '../datagrid/JslDataGrid.svelte'; import JslDataGrid from '../datagrid/JslDataGrid.svelte';
import TabControl from '../elements/TabControl.svelte'; import TabControl from '../elements/TabControl.svelte';
import { allResultsInOneTabDefault } from '../stores'; import { allResultsInOneTabDefault } from '../stores';
import socket from '../utility/socket'; import { apiOff, apiOn } from '../utility/api';
import useEffect from '../utility/useEffect'; import useEffect from '../utility/useEffect';
import AllResultsTab from './AllResultsTab.svelte'; import AllResultsTab from './AllResultsTab.svelte';
@@ -66,9 +66,9 @@
}); });
function onSession(sid) { function onSession(sid) {
if (sid) { if (sid) {
socket().on(`session-recordset-${sid}`, handleResultSet); apiOn(`session-recordset-${sid}`, handleResultSet);
return () => { return () => {
socket().off(`session-recordset-${sid}`, handleResultSet); apiOff(`session-recordset-${sid}`, handleResultSet);
}; };
} }
return () => {}; return () => {};

View File

@@ -1,11 +1,11 @@
<script> <script>
import ErrorInfo from '../elements/ErrorInfo.svelte'; import ErrorInfo from '../elements/ErrorInfo.svelte';
import TableControl from '../elements/TableControl.svelte'; import TableControl from '../elements/TableControl.svelte';
import { apiOff, apiOn } from '../utility/api';
import formatFileSize from '../utility/formatFileSize'; import formatFileSize from '../utility/formatFileSize';
import getElectron from '../utility/getElectron'; import getElectron from '../utility/getElectron';
import resolveApi from '../utility/resolveApi'; import resolveApi from '../utility/resolveApi';
import socket from '../utility/socket';
import useEffect from '../utility/useEffect'; import useEffect from '../utility/useEffect';
export let runnerId; export let runnerId;
@@ -21,9 +21,9 @@
function registerRunnerDone(rid) { function registerRunnerDone(rid) {
if (rid) { if (rid) {
socket().on(`runner-done-${rid}`, handleRunnerDone); apiOn(`runner-done-${rid}`, handleRunnerDone);
return () => { return () => {
socket().off(`runner-done-${rid}`, handleRunnerDone); apiOff(`runner-done-${rid}`, handleRunnerDone);
}; };
} else { } else {
return () => {}; return () => {};

View File

@@ -1,10 +1,9 @@
<script lang="ts"> <script lang="ts">
import _ from 'lodash'; import _ from 'lodash';
import ErrorInfo from '../elements/ErrorInfo.svelte'; import ErrorInfo from '../elements/ErrorInfo.svelte';
import { apiOff, apiOn } from '../utility/api';
import createRef from '../utility/createRef'; import createRef from '../utility/createRef';
import socket from '../utility/socket';
import useEffect from '../utility/useEffect'; import useEffect from '../utility/useEffect';
import MessageView from './MessageView.svelte'; import MessageView from './MessageView.svelte';
@@ -30,9 +29,9 @@
$: effect = useEffect(() => { $: effect = useEffect(() => {
if (eventName) { if (eventName) {
socket().on(eventName, handleInfo); apiOn(eventName, handleInfo);
return () => { return () => {
socket().off(eventName, handleInfo); apiOff(eventName, handleInfo);
}; };
} }
return () => {}; return () => {};

View File

@@ -23,7 +23,6 @@
import { extensions } from '../stores'; import { extensions } from '../stores';
import { changeTab } from '../utility/common'; import { changeTab } from '../utility/common';
import { useConnectionInfo } from '../utility/metadataLoaders'; import { useConnectionInfo } from '../utility/metadataLoaders';
import socket from '../utility/socket';
import SocketMessageView from '../query/SocketMessageView.svelte'; import SocketMessageView from '../query/SocketMessageView.svelte';
import useEffect from '../utility/useEffect'; import useEffect from '../utility/useEffect';
import ResultTabs from '../query/ResultTabs.svelte'; import ResultTabs from '../query/ResultTabs.svelte';
@@ -37,7 +36,7 @@
import QueryDesignColumns from '../elements/QueryDesignColumns.svelte'; import QueryDesignColumns from '../elements/QueryDesignColumns.svelte';
import useTimerLabel from '../utility/useTimerLabel'; import useTimerLabel from '../utility/useTimerLabel';
import createActivator, { getActiveComponent } from '../utility/createActivator'; import createActivator, { getActiveComponent } from '../utility/createActivator';
import { apiCall } from '../utility/api'; import { apiCall, apiOff, apiOn } from '../utility/api';
export let tabid; export let tabid;
export let conid; export let conid;
@@ -62,9 +61,9 @@
}); });
function onSession(sid) { function onSession(sid) {
if (sid) { if (sid) {
socket().on(`session-done-${sid}`, handleSessionDone); apiOn(`session-done-${sid}`, handleSessionDone);
return () => { return () => {
socket().off(`session-done-${sid}`, handleSessionDone); apiOff(`session-done-${sid}`, handleSessionDone);
}; };
} }
return () => {}; return () => {};

View File

@@ -54,7 +54,6 @@
import applyScriptTemplate from '../utility/applyScriptTemplate'; import applyScriptTemplate from '../utility/applyScriptTemplate';
import { changeTab } from '../utility/common'; import { changeTab } from '../utility/common';
import { getDatabaseInfo, useConnectionInfo } from '../utility/metadataLoaders'; import { getDatabaseInfo, useConnectionInfo } from '../utility/metadataLoaders';
import socket from '../utility/socket';
import SocketMessageView from '../query/SocketMessageView.svelte'; import SocketMessageView from '../query/SocketMessageView.svelte';
import useEffect from '../utility/useEffect'; import useEffect from '../utility/useEffect';
import ResultTabs from '../query/ResultTabs.svelte'; import ResultTabs from '../query/ResultTabs.svelte';
@@ -68,7 +67,7 @@
import AceEditor from '../query/AceEditor.svelte'; import AceEditor from '../query/AceEditor.svelte';
import StatusBarTabItem from '../widgets/StatusBarTabItem.svelte'; import StatusBarTabItem from '../widgets/StatusBarTabItem.svelte';
import { showSnackbarError } from '../utility/snackbar'; import { showSnackbarError } from '../utility/snackbar';
import { apiCall } from '../utility/api'; import { apiCall, apiOff, apiOn } from '../utility/api';
export let tabid; export let tabid;
export let conid; export let conid;
@@ -95,9 +94,9 @@
}); });
function onSession(sid) { function onSession(sid) {
if (sid) { if (sid) {
socket().on(`session-done-${sid}`, handleSessionDone); apiOn(`session-done-${sid}`, handleSessionDone);
return () => { return () => {
socket().off(`session-done-${sid}`, handleSessionDone); apiOff(`session-done-${sid}`, handleSessionDone);
}; };
} }
return () => {}; return () => {};

View File

@@ -48,12 +48,11 @@
import AceEditor from '../query/AceEditor.svelte'; import AceEditor from '../query/AceEditor.svelte';
import RunnerOutputPane from '../query/RunnerOutputPane.svelte'; import RunnerOutputPane from '../query/RunnerOutputPane.svelte';
import useEditorData from '../query/useEditorData'; import useEditorData from '../query/useEditorData';
import { apiCall } from '../utility/api'; import { apiCall, apiOff, apiOn } from '../utility/api';
import { copyTextToClipboard } from '../utility/clipboard'; import { copyTextToClipboard } from '../utility/clipboard';
import { changeTab } from '../utility/common'; import { changeTab } from '../utility/common';
import createActivator, { getActiveComponent } from '../utility/createActivator'; import createActivator, { getActiveComponent } from '../utility/createActivator';
import { showSnackbarError } from '../utility/snackbar'; import { showSnackbarError } from '../utility/snackbar';
import socket from '../utility/socket';
import useEffect from '../utility/useEffect'; import useEffect from '../utility/useEffect';
import useTimerLabel from '../utility/useTimerLabel'; import useTimerLabel from '../utility/useTimerLabel';
@@ -101,9 +100,9 @@
function registerRunnerDone(rid) { function registerRunnerDone(rid) {
if (rid) { if (rid) {
socket().on(`runner-done-${rid}`, handleRunnerDone); apiOn(`runner-done-${rid}`, handleRunnerDone);
return () => { return () => {
socket().off(`runner-done-${rid}`, handleRunnerDone); apiOff(`runner-done-${rid}`, handleRunnerDone);
}; };
} else { } else {
return () => {}; return () => {};

View File

@@ -1,5 +1,6 @@
import resolveApi, { resolveApiHeaders } from './resolveApi'; import resolveApi, { resolveApiHeaders } from './resolveApi';
import { writable } from 'svelte/store'; import { writable } from 'svelte/store';
import socket from './socket';
export async function apiCall(route: string, args: {} = undefined) { export async function apiCall(route: string, args: {} = undefined) {
const resp = await fetch(`${resolveApi()}/${route}`, { const resp = await fetch(`${resolveApi()}/${route}`, {
@@ -14,9 +15,13 @@ export async function apiCall(route: string, args: {} = undefined) {
return resp.json(); return resp.json();
} }
export function apiOn(event: string, hander: Function) {} export function apiOn(event: string, handler: Function) {
socket().on(event, handler);
}
export function apiOff(event: string, hander: Function) {} export function apiOff(event: string, handler: Function) {
socket().off(event, handler);
}
import _ from 'lodash'; import _ from 'lodash';

View File

@@ -1,9 +1,8 @@
import ScriptWriter from '../impexp/ScriptWriter'; import ScriptWriter from '../impexp/ScriptWriter';
import getElectron from './getElectron'; import getElectron from './getElectron';
import socket from '../utility/socket';
import { showSnackbar, showSnackbarInfo, showSnackbarError, closeSnackbar } from '../utility/snackbar'; import { showSnackbar, showSnackbarInfo, showSnackbarError, closeSnackbar } from '../utility/snackbar';
import resolveApi from './resolveApi'; import resolveApi from './resolveApi';
import { apiCall } from './api'; import { apiCall, apiOff, apiOn } from './api';
export async function exportElectronFile(dataName, reader, format) { export async function exportElectronFile(dataName, reader, format) {
const electron = getElectron(); const electron = getElectron();
@@ -48,12 +47,12 @@ export async function exportElectronFile(dataName, reader, format) {
function handleRunnerDone() { function handleRunnerDone() {
closeSnackbar(snackId); closeSnackbar(snackId);
socket().off(`runner-done-${runid}`, handleRunnerDone); apiOff(`runner-done-${runid}`, handleRunnerDone);
if (isCanceled) showSnackbarError(`Export ${dataName} canceled`); if (isCanceled) showSnackbarError(`Export ${dataName} canceled`);
else showSnackbarInfo(`Export ${dataName} finished`); else showSnackbarInfo(`Export ${dataName} finished`);
} }
socket().on(`runner-done-${runid}`, handleRunnerDone); apiOn(`runner-done-${runid}`, handleRunnerDone);
} }
export async function saveFileToDisk( export async function saveFileToDisk(

View File

@@ -8,7 +8,7 @@ import { DatabaseInfo } from 'dbgate-types';
import { derived } from 'svelte/store'; import { derived } from 'svelte/store';
import { extendDatabaseInfo } from 'dbgate-tools'; import { extendDatabaseInfo } from 'dbgate-tools';
import { setLocalStorage } from '../utility/storageCache'; import { setLocalStorage } from '../utility/storageCache';
import { apiCall } from './api'; import { apiCall, apiOff, apiOn } from './api';
const databaseInfoLoader = ({ conid, database }) => ({ const databaseInfoLoader = ({ conid, database }) => ({
url: 'database-connections/structure', url: 'database-connections/structure',
@@ -200,11 +200,11 @@ function useCore(loader, args) {
handleReload(); handleReload();
if (reloadTrigger && socket) { if (reloadTrigger && socket) {
for (const item of getAsArray(reloadTrigger)) { for (const item of getAsArray(reloadTrigger)) {
socket().on(item, handleReload); apiOn(item, handleReload);
} }
return () => { return () => {
for (const item of getAsArray(reloadTrigger)) { for (const item of getAsArray(reloadTrigger)) {
socket().off(item, handleReload); apiOff(item, handleReload);
} }
}; };
} }

View File

@@ -6,10 +6,9 @@
import WidgetsInnerContainer from '../widgets/WidgetsInnerContainer.svelte'; import WidgetsInnerContainer from '../widgets/WidgetsInnerContainer.svelte';
import FontIcon from '../icons/FontIcon.svelte'; import FontIcon from '../icons/FontIcon.svelte';
import { onMount } from 'svelte'; import { onMount } from 'svelte';
import socket from '../utility/socket';
import openNewTab from '../utility/openNewTab'; import openNewTab from '../utility/openNewTab';
import CloseSearchButton from '../elements/CloseSearchButton.svelte'; import CloseSearchButton from '../elements/CloseSearchButton.svelte';
import { apiCall } from '../utility/api'; import { apiCall, apiOff, apiOn } from '../utility/api';
let filter = ''; let filter = '';
let search = ''; let search = '';
@@ -31,9 +30,9 @@
$: setDebouncedFilter(filter); $: setDebouncedFilter(filter);
onMount(() => { onMount(() => {
socket().on('query-history-changed', reloadItems); apiOn('query-history-changed', reloadItems);
return () => { return () => {
socket().off('query-history-changed', reloadItems); apiOff('query-history-changed', reloadItems);
}; };
}); });
</script> </script>