You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
709 B
TypeScript
23 lines
709 B
TypeScript
4 years ago
|
import { NamedPage } from 'vj/misc/Page';
|
||
|
|
||
|
const page = new NamedPage('record_detail', async () => {
|
||
3 years ago
|
const [{ default: SockJs }, { DiffDOM }] = await Promise.all([
|
||
|
import('../components/socket'),
|
||
|
import('diff-dom'),
|
||
|
]);
|
||
4 years ago
|
|
||
|
const sock = new SockJs(UiContext.socketUrl);
|
||
|
const dd = new DiffDOM();
|
||
|
sock.onmessage = (message) => {
|
||
|
const msg = JSON.parse(message.data);
|
||
|
const newStatus = $(msg.status_html);
|
||
|
const oldStatus = $('#status');
|
||
|
dd.apply(oldStatus[0], dd.diff(oldStatus[0], newStatus[0]));
|
||
|
const newSummary = $(msg.summary_html);
|
||
|
const oldSummary = $('#summary');
|
||
|
dd.apply(oldSummary[0], dd.diff(oldSummary[0], newSummary[0]));
|
||
|
};
|
||
|
});
|
||
|
|
||
|
export default page;
|