This file ( 2kB ) exceeds the allowed full mode (48 kb) size.
The editor full hight is disabled, only scrolling is allowed..
If you wish to edit a file, it is recommended to use the scroll mode as some users do not like the full height
mode, although some users like it.
import {Injectable} from '@angular/core';
import {Layout} from '../layout/cory-layout';
const worker = new Worker(new URL('../../worker/markdown.worker', import.meta.url), { type: 'module' });
const nextId = require('../utils/next-id.js')
@Injectable()
export class MarkdownService {
public context: any;
layout: Layout;
constructor() {
}
public render(md: string, layout: Layout, path: string) {
this.layout = layout;
return new Promise(async(resolve, reject) => {
const requestId = nextId()
const message = (event: any) => {
if (event.data.requestId === requestId) {
worker.removeEventListener('message', message)
if (event.data.success === true) {
resolve(event.data.html)
} else {
reject(new Error(event.data.errorMessage));
}
}
}
worker.addEventListener('message', message)
if (this.layout.packages === undefined) {
await new Promise(resolve => {
const wait = () => {
console.info('waiting for github repo packages')
if (this.layout.packages === undefined) {
setTimeout(wait, 100)
} else {
resolve(undefined)
}
}
wait()
})
}
worker.postMessage({
md: md,
settings: this.context.settings.data,
currentRepo: this.layout.currentRepo,
packages: this.layout.packages,
requestId: requestId,
path: path,
location: JSON.parse(JSON.stringify(window.location)),
});
})
}
}