36 lines
946 B
JavaScript
36 lines
946 B
JavaScript
import { h, render } from 'preact';
|
|
import { getUserDataAndCsrfToken } from '../chat/util';
|
|
import ArticleForm from '../article-form/articleForm';
|
|
|
|
HTMLDocument.prototype.ready = new Promise(resolve => {
|
|
if (document.readyState !== 'loading') {
|
|
return resolve();
|
|
}
|
|
document.addEventListener('DOMContentLoaded', () => resolve());
|
|
return null;
|
|
});
|
|
|
|
document.ready.then(function() {
|
|
loadForm();
|
|
window.InstantClick.on('change', () => {
|
|
if (document.getElementById('article-form')) {
|
|
loadForm();
|
|
}
|
|
});
|
|
});
|
|
|
|
function loadForm() {
|
|
getUserDataAndCsrfToken().then(({ currentUser, csrfToken }) => {
|
|
window.currentUser = currentUser;
|
|
window.csrfToken = csrfToken;
|
|
|
|
const root = document.getElementById('article-form');
|
|
const { article, organization } = root.dataset;
|
|
|
|
render(
|
|
<ArticleForm article={article} organization={organization} />,
|
|
root,
|
|
root.firstElementChild,
|
|
);
|
|
});
|
|
}
|