26 lines
925 B
JavaScript
26 lines
925 B
JavaScript
![]() |
import './code-editor.mjs';
|
||
|
|
||
|
export default async function init_app() {
|
||
|
const flags = JSON.parse(document.getElementById('think-editor-data').textContent);
|
||
|
const packages = await (await fetch('https://elm-package-list.think.somethingorotherwhatever.com/elm-packages.json')).json();
|
||
|
flags.elm_packages = packages;
|
||
|
flags.csrf_token = document.getElementById('csrftoken')?.textContent || '';
|
||
|
const app = Elm.App.init({node: document.body, flags});
|
||
|
|
||
|
app.ports.reload_preview.subscribe(() => {
|
||
|
console.log('reload preview');
|
||
|
const iframe = document.getElementById('preview-frame');
|
||
|
if(iframe) {
|
||
|
const src = iframe.src;
|
||
|
iframe.src = "";
|
||
|
setTimeout(() => {
|
||
|
iframe.src = src;
|
||
|
},10);
|
||
|
}
|
||
|
})
|
||
|
|
||
|
app.ports.show_modal.subscribe(id => {
|
||
|
console.log(id);
|
||
|
document.getElementById(id).showModal()
|
||
|
})
|
||
|
}
|