in src/lib/api/event.replayer.ts [96:123]
replayEvent(appData: PrebootAppData, prebootEvent: PrebootEvent) {
appData = <PrebootAppData>(appData || {});
prebootEvent = <PrebootEvent>(prebootEvent || {});
const event = prebootEvent.event as Event;
const serverNode = prebootEvent.node || {};
const nodeKey = prebootEvent.nodeKey;
const clientNode = this.findClientNode({
root: appData.root,
node: serverNode,
nodeKey: nodeKey
});
// if client node can't be found, log a warning
if (!clientNode) {
console.warn(
`Trying to dispatch event ${event.type} to node ${nodeKey}
but could not find client node. Server node is: ${serverNode}`
);
return;
}
// now dispatch events and whatnot to the client node
(clientNode as HTMLInputElement).checked = serverNode.checked;
(clientNode as HTMLOptionElement).selected = serverNode.selected;
(clientNode as HTMLOptionElement).value = serverNode.value;
clientNode.dispatchEvent(event);
}