HL7-3: remove optimistic updates and react to delivery-success
This commit is contained in:
parent
a892cbba46
commit
fec77b73c3
1 changed files with 14 additions and 11 deletions
|
@ -9,7 +9,13 @@
|
|||
UnplugIcon,
|
||||
UserIcon,
|
||||
} 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 { Card, CardContent, CardHeader } from '$lib/components/ui/card';
|
||||
import { Input } from '$lib/components/ui/input';
|
||||
|
@ -25,7 +31,7 @@
|
|||
|
||||
// client state
|
||||
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 isSending = $state(false);
|
||||
let copySuccess = $state(false);
|
||||
|
@ -96,6 +102,12 @@
|
|||
receivedMessages = [message, ...receivedMessages];
|
||||
break;
|
||||
|
||||
// our message was successfully delivered
|
||||
case MessageType.delivery_success:
|
||||
sentMessages = [message, ...sentMessages];
|
||||
isSending = false
|
||||
break;
|
||||
|
||||
// message from server due to delivery error
|
||||
case MessageType.delivery_error:
|
||||
deliveryError = message.payload.error;
|
||||
|
@ -154,15 +166,6 @@
|
|||
payload: { message },
|
||||
} as Message;
|
||||
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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue