execute query

This commit is contained in:
Jan Prochazka
2021-03-08 18:23:41 +01:00
parent 929c08e094
commit 904d35d26a
6 changed files with 285 additions and 7 deletions

View File

@@ -0,0 +1,58 @@
<script lang="ts">
import _ from 'lodash';
import ErrorInfo from '../elements/ErrorInfo.svelte';
import socket from '../utility/socket';
import useEffect from '../utility/useEffect';
import MessageView from './MessageView.svelte';
export let showProcedure = false;
export let showLine = false;
export let eventName;
export let executeNumber;
const cachedMessagesRef = { current: [] };
let displayedMessages = [];
const displayCachedMessages = _.throttle(() => {
console.log('THROTTLE', cachedMessagesRef.current);
displayedMessages = [...cachedMessagesRef.current];
}, 500);
const handleInfo = info => {
console.log('ACCEPTED', info);
cachedMessagesRef.current.push(info);
displayCachedMessages();
};
$: effect = useEffect(() => {
if (eventName) {
socket.on(eventName, handleInfo);
return () => {
socket.off(eventName, handleInfo);
};
}
return () => {};
});
$: {
if (executeNumber >= 0) {
console.log('CLEAR');
displayedMessages = [];
cachedMessagesRef.current = [];
}
}
$: $effect;
$: console.log('displayedMessages', displayedMessages);
</script>
{#if !displayedMessages || displayedMessages.length == 0}
<ErrorInfo message="No messages" icon="img alert" />
{:else}
<MessageView items={displayedMessages} on:messageclick {showProcedure} {showLine} />
{/if}