mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-14 07:04:45 -04:00
Update dependency markmap-lib to v0.9.1 (#637)
Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: mrdrogdrog <mr.drogdrog@gmail.com>
This commit is contained in:
parent
b094fe1de6
commit
07364ff07b
5 changed files with 72 additions and 21 deletions
|
@ -12,14 +12,24 @@ export const MarkmapFrame: React.FC<MarkmapFrameProps> = ({ code }) => {
|
|||
return
|
||||
}
|
||||
const actualContainer = diagramContainer.current
|
||||
Promise.all([import(/* webpackChunkName: "markmap" */ 'markmap-lib/dist/transform'), import(/* webpackChunkName: "markmap" */ 'markmap-lib/dist/view')])
|
||||
.then(([transform, view]) => {
|
||||
Promise.all([import(/* webpackChunkName: "markmap" */ 'markmap-lib/dist/transform'), import(/* webpackChunkName: "markmap" */ 'markmap-lib/dist/view'), import(/* webpackChunkName: "markmap" */ 'markmap-lib/dist/util/loader')])
|
||||
.then(([transform, view, loader]) => {
|
||||
const svg: SVGSVGElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg')
|
||||
svg.setAttribute('width', '100%')
|
||||
actualContainer.querySelectorAll('svg').forEach(child => child.remove())
|
||||
actualContainer.appendChild(svg)
|
||||
const data = transform.transform(code)
|
||||
view.Markmap.create(svg, {}, data)
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
||||
const { root, features } = transform.transform(code)
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment
|
||||
const { styles, scripts } = transform.getUsedAssets(features)
|
||||
if (styles) {
|
||||
loader.loadCSS(styles)
|
||||
}
|
||||
if (scripts) {
|
||||
loader.loadJS(scripts, { getMarkmap: () => view.Markmap })
|
||||
.catch(err => console.error(err))
|
||||
}
|
||||
view.Markmap.create(svg, {}, root)
|
||||
}).catch(() => { console.error('error while loading markmap') })
|
||||
}, [code])
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue