summaryrefslogtreecommitdiff
path: root/util/webSocketFunctions.ts
diff options
context:
space:
mode:
authorThomas F. K. Jorna <[email protected]>2021-10-01 19:11:08 +0200
committerThomas F. K. Jorna <[email protected]>2021-10-01 19:11:08 +0200
commit56eeb1fc6b03c4e8ed9405e301c7edc7be5fd5d9 (patch)
tree0c7e889f2d749abad3d65a16d4ee0449002c4d89 /util/webSocketFunctions.ts
parent56e81e56ad181129c9f36b75e5ca076162b7cac7 (diff)
feat: basic preview feature
Diffstat (limited to 'util/webSocketFunctions.ts')
-rw-r--r--util/webSocketFunctions.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/util/webSocketFunctions.ts b/util/webSocketFunctions.ts
new file mode 100644
index 0000000..8e2bd7e
--- /dev/null
+++ b/util/webSocketFunctions.ts
@@ -0,0 +1,25 @@
+import { OrgRoamNode } from '../api'
+import ReconnectingWebSocket from 'reconnecting-websocket'
+
+export function sendMessageToEmacs(command: string, data: {}, webSocket: ReconnectingWebSocket) {
+ webSocket.send(JSON.stringify({ command: command, data: data }))
+}
+
+export function getOrgText(node: OrgRoamNode, webSocket: ReconnectingWebSocket) {
+ sendMessageToEmacs('getText', { id: node.id }, webSocket)
+}
+
+export function openNodeInEmacs(node: OrgRoamNode, webSocket: ReconnectingWebSocket) {
+ sendMessageToEmacs('open', { id: node.id }, webSocket)
+}
+
+export function deleteNodeInEmacs(node: OrgRoamNode, webSocket: ReconnectingWebSocket) {
+ if (node.level !== 0) {
+ return
+ }
+ sendMessageToEmacs('delete', { id: node.id, file: node.file }, webSocket)
+}
+
+export function createNodeInEmacs(node: OrgRoamNode, webSocket: ReconnectingWebSocket) {
+ sendMessageToEmacs('create', { id: node.id, title: node.title, ref: node.properties.ROAM_REFS }, webSocket)
+}