HL7-3: remove optimistic updates #5
1 changed files with 14 additions and 11 deletions
|
@ -9,7 +9,13 @@
|
||||||
UnplugIcon,
|
UnplugIcon,
|
||||||
UserIcon,
|
UserIcon,
|
||||||
} from '@lucide/svelte';
|
} from '@lucide/svelte';
|
||||||
import { ConnectionState, type Message, MessageType, type ReceiveHl7v2Message } from '@hnu.de/hl7v2-shared';
|
import {
|
||||||
|
ConnectionState,
|
||||||
|
type DeliverySuccessMessage,
|
||||||
|
type Message,
|
||||||
|
MessageType,
|
||||||
|
type ReceiveHl7v2Message,
|
||||||
|
} from '@hnu.de/hl7v2-shared';
|
||||||
import { Button } from '$lib/components/ui/button';
|
import { Button } from '$lib/components/ui/button';
|
||||||
import { Card, CardContent, CardHeader } from '$lib/components/ui/card';
|
import { Card, CardContent, CardHeader } from '$lib/components/ui/card';
|
||||||
import { Input } from '$lib/components/ui/input';
|
import { Input } from '$lib/components/ui/input';
|
||||||
|
@ -25,7 +31,7 @@
|
||||||
|
|
||||||
// client state
|
// client state
|
||||||
let composedMessage = $state(''); // content of text-box
|
let composedMessage = $state(''); // content of text-box
|
||||||
let sentMessages = $state<ReceiveHl7v2Message[]>([]); // sent messages stored as type ReceiveHl7v2Message because of the timestamp
|
let sentMessages = $state<DeliverySuccessMessage[]>([]);
|
||||||
let receivedMessages = $state<ReceiveHl7v2Message[]>([]);
|
let receivedMessages = $state<ReceiveHl7v2Message[]>([]);
|
||||||
let isSending = $state(false);
|
let isSending = $state(false);
|
||||||
let copySuccess = $state(false);
|
let copySuccess = $state(false);
|
||||||
|
@ -96,6 +102,12 @@
|
||||||
receivedMessages = [message, ...receivedMessages];
|
receivedMessages = [message, ...receivedMessages];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// our message was successfully delivered
|
||||||
|
case MessageType.delivery_success:
|
||||||
|
sentMessages = [message, ...sentMessages];
|
||||||
|
isSending = false
|
||||||
|
break;
|
||||||
|
|
||||||
// message from server due to delivery error
|
// message from server due to delivery error
|
||||||
case MessageType.delivery_error:
|
case MessageType.delivery_error:
|
||||||
deliveryError = message.payload.error;
|
deliveryError = message.payload.error;
|
||||||
|
@ -154,15 +166,6 @@
|
||||||
payload: { message },
|
payload: { message },
|
||||||
} as Message;
|
} as Message;
|
||||||
ws.send(JSON.stringify(messageToSend));
|
ws.send(JSON.stringify(messageToSend));
|
||||||
|
|
||||||
sentMessages = [{
|
|
||||||
type: MessageType.receive_hl7v2,
|
|
||||||
payload: { message, timestamp: new Date().toISOString() },
|
|
||||||
} as ReceiveHl7v2Message, ...sentMessages];
|
|
||||||
composedMessage = segmentTemplates.MSH.template();
|
|
||||||
|
|
||||||
// reset UI state
|
|
||||||
isSending = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// copies the stationId to the clipboard and handles UI state
|
// copies the stationId to the clipboard and handles UI state
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue