diff --git a/packages/web/src/query/AceEditor.svelte b/packages/web/src/query/AceEditor.svelte
index 5dfc74724..4b37d3c59 100644
--- a/packages/web/src/query/AceEditor.svelte
+++ b/packages/web/src/query/AceEditor.svelte
@@ -47,6 +47,10 @@
let clientWidth;
let clientHeight;
+ export function getEditor(): ace.Editor {
+ return editor;
+ }
+
const requireEditorPlugins = () => {};
requireEditorPlugins();
diff --git a/packages/web/src/query/MessageView.svelte b/packages/web/src/query/MessageView.svelte
new file mode 100644
index 000000000..c5cee48d3
--- /dev/null
+++ b/packages/web/src/query/MessageView.svelte
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {#if showProcedure}
+
+ {/if}
+ {#if showLine}
+
+ {/if}
+
+ {#each items as row, index}
+ dispatch('messageclick', row)}
+ >
+ | {index + 1} |
+ {row.message} |
+ {moment(row.time).format('HH:mm:ss')} |
+ {formatDuration(new Date(row.time).getTime() - time0)} |
+
+ {index > 0
+ ? formatDuration(new Date(row.time).getTime() - new Date(items[index - 1].time).getTime())
+ : 'n/a'} |
+ {#if showProcedure}
+ {row.procedure || ''} |
+ {/if}
+ {#if showLine}
+ {row.line || ''} |
+ {/if}
+
+ {/each}
+
+
+
+
diff --git a/packages/web/src/query/SocketMessageView.svelte b/packages/web/src/query/SocketMessageView.svelte
new file mode 100644
index 000000000..d48ee9b44
--- /dev/null
+++ b/packages/web/src/query/SocketMessageView.svelte
@@ -0,0 +1,58 @@
+
+
+{#if !displayedMessages || displayedMessages.length == 0}
+
+{:else}
+
+{/if}
diff --git a/packages/web/src/query/SqlEditor.svelte b/packages/web/src/query/SqlEditor.svelte
index 8f5f8ce94..e94f5b5aa 100644
--- a/packages/web/src/query/SqlEditor.svelte
+++ b/packages/web/src/query/SqlEditor.svelte
@@ -8,6 +8,7 @@
-
+
diff --git a/packages/web/src/tabs/QueryTab.svelte b/packages/web/src/tabs/QueryTab.svelte
index e1cfff521..56ef177a7 100644
--- a/packages/web/src/tabs/QueryTab.svelte
+++ b/packages/web/src/tabs/QueryTab.svelte
@@ -1,5 +1,6 @@
-
+
setEditorData(e.detail)}
on:focus={() => currentQuery.set(instance)}
+ bind:this={domEditor}
+ />
+
+
+
diff --git a/packages/web/src/utility/useEffect.ts b/packages/web/src/utility/useEffect.ts
new file mode 100644
index 000000000..7123aaa23
--- /dev/null
+++ b/packages/web/src/utility/useEffect.ts
@@ -0,0 +1,3 @@
+const useEffect = subscribe => ({ subscribe });
+
+export default useEffect;