import server from "./server.js"; import bundleService from "./bundle.js"; async function render(note, $el) { const relations = note.getRelations('renderNote'); const renderNoteIds = relations .map(rel => rel.value) .filter(noteId => noteId); $el.empty().toggle(renderNoteIds.length > 0); for (const renderNoteId of renderNoteIds) { const bundle = await server.get('script/bundle/' + renderNoteId); const $scriptContainer = $('
'); $el.append($scriptContainer); $scriptContainer.append(bundle.html); // async so that scripts cannot block trilium execution bundleService.executeBundle(bundle, note, $scriptContainer); } return renderNoteIds.length > 0; } export default { render }