]> BookStack Code Mirror - bookstack/blob - resources/js/services/vdom.js
API Docs: Add Missing Fields in Example Responses
[bookstack] / resources / js / services / vdom.js
1 import {
2     init,
3     attributesModule,
4     toVNode,
5 } from 'snabbdom';
6
7 let patcher;
8
9 /**
10  * @returns {Function}
11  */
12 function getPatcher() {
13     if (patcher) return patcher;
14
15     patcher = init([
16         attributesModule,
17     ]);
18
19     return patcher;
20 }
21
22 /**
23  * @param {Element} domTarget
24  * @param {String} html
25  */
26 export function patchDomFromHtmlString(domTarget, html) {
27     const contentDom = document.createElement('div');
28     contentDom.innerHTML = html;
29     getPatcher()(toVNode(domTarget), toVNode(contentDom));
30 }