2018-03-27 21:36:01 -04:00
|
|
|
import bundleService from "./bundle.js";
|
|
|
|
|
import server from "./server.js";
|
|
|
|
|
import noteDetailService from "./note_detail.js";
|
|
|
|
|
|
|
|
|
|
const $noteDetailRender = $('#note-detail-render');
|
2018-08-28 20:55:21 +02:00
|
|
|
const $noteDetailRenderHelp = $('#note-detail-render-help');
|
|
|
|
|
const $noteDetailRenderContent = $('#note-detail-render-content');
|
2018-05-26 19:27:47 -04:00
|
|
|
const $renderButton = $('#render-button');
|
|
|
|
|
|
2018-08-28 20:55:21 +02:00
|
|
|
async function render() {
|
|
|
|
|
const attributes = await noteDetailService.getAttributes();
|
|
|
|
|
const renderNotes = attributes.filter(attr =>
|
|
|
|
|
attr.type === 'relation'
|
|
|
|
|
&& attr.name === 'renderNote'
|
|
|
|
|
&& !!attr.value);
|
2018-03-27 21:36:01 -04:00
|
|
|
|
2018-08-28 20:55:21 +02:00
|
|
|
$noteDetailRender.show();
|
2018-05-26 19:27:47 -04:00
|
|
|
|
2018-08-28 20:55:21 +02:00
|
|
|
$noteDetailRenderContent.empty();
|
|
|
|
|
$noteDetailRenderContent.toggle(renderNotes.length > 0);
|
|
|
|
|
$noteDetailRenderHelp.toggle(renderNotes.length === 0);
|
2018-03-27 21:36:01 -04:00
|
|
|
|
2018-08-28 20:55:21 +02:00
|
|
|
for (const renderNote of renderNotes) {
|
|
|
|
|
const bundle = await server.get('script/bundle/' + renderNote.value);
|
2018-05-26 19:27:47 -04:00
|
|
|
|
2018-08-28 20:55:21 +02:00
|
|
|
$noteDetailRenderContent.append(bundle.html);
|
2018-05-26 19:58:08 -04:00
|
|
|
|
2018-08-28 20:55:21 +02:00
|
|
|
await bundleService.executeBundle(bundle);
|
2018-05-26 19:27:47 -04:00
|
|
|
}
|
2018-05-26 19:58:08 -04:00
|
|
|
}
|
|
|
|
|
|
2018-05-26 19:27:47 -04:00
|
|
|
$renderButton.click(render);
|
|
|
|
|
|
2018-03-27 21:36:01 -04:00
|
|
|
export default {
|
2018-08-28 20:55:21 +02:00
|
|
|
show: render,
|
|
|
|
|
getContent: () => "",
|
2018-03-27 21:36:01 -04:00
|
|
|
focus: () => null
|
|
|
|
|
}
|