* Initial basic work * Bulk of related work, including find/replace on the inputs * Adjust some tests * Adjust some specs * Fix a few more tests * Clean up tests * Adjust tests * Test fiddle * Adjust crop back to be a param * Update tests * Set proper defaults * Fix some styling * Adjust enrichment logic and tests * Adjust form JS * Update test snapshot * Clean up formatting * Fix spec name * Adjust some css and defaults * Adjust translation for image provider options * Switch from fill to fill-down * Proper fallback image * Fix tests * Update app/services/images/optimizer.rb Co-authored-by: Mac Siri <mac@forem.com> --------- Co-authored-by: Mac Siri <mac@forem.com>
52 lines
1.5 KiB
JavaScript
52 lines
1.5 KiB
JavaScript
import { h, render } from 'preact';
|
|
import { ArticleForm } from '../article-form/articleForm';
|
|
import { Snackbar } from '../Snackbar';
|
|
import { createRootFragment } from '../shared/preact/preact-root-fragment';
|
|
import { getUserDataAndCsrfToken } from '@utilities/getUserDataAndCsrfToken';
|
|
|
|
HTMLDocument.prototype.ready = new Promise((resolve) => {
|
|
if (document.readyState !== 'loading') {
|
|
return resolve();
|
|
}
|
|
document.addEventListener('DOMContentLoaded', () => resolve());
|
|
return null;
|
|
});
|
|
|
|
function loadForm() {
|
|
// The Snackbar for the article page
|
|
const snackZone = document.getElementById('snack-zone');
|
|
|
|
if (snackZone) {
|
|
render(<Snackbar lifespan={3} />, snackZone);
|
|
}
|
|
|
|
getUserDataAndCsrfToken().then(({ currentUser, csrfToken }) => {
|
|
window.currentUser = currentUser;
|
|
window.csrfToken = csrfToken;
|
|
|
|
const root = document.querySelector('main');
|
|
const { article, organizations, version, siteLogo, schedulingEnabled, coverImageHeight, coverImageCrop } =
|
|
root.dataset;
|
|
render(
|
|
<ArticleForm
|
|
article={article}
|
|
organizations={organizations}
|
|
version={version}
|
|
siteLogo={siteLogo}
|
|
coverImageHeight={coverImageHeight}
|
|
coverImageCrop={coverImageCrop}
|
|
schedulingEnabled={schedulingEnabled == 'true'}
|
|
/>,
|
|
createRootFragment(root, root.firstElementChild),
|
|
);
|
|
});
|
|
}
|
|
|
|
document.ready.then(() => {
|
|
loadForm();
|
|
window.InstantClick.on('change', () => {
|
|
if (document.getElementById('article-form')) {
|
|
loadForm();
|
|
}
|
|
});
|
|
});
|