You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
import { AutoloadPage } from 'vj/misc/Page';
|
|
|
|
import delay from 'vj/utils/delay';
|
|
|
|
import CmEditor from '.';
|
|
|
|
|
|
|
|
function runSubstitute($container: JQuery<Document | HTMLElement>) {
|
|
|
|
for (const language of ['markdown', 'yaml', 'json', 'plain']) {
|
|
|
|
$container.find(`textarea[data-${language}]`).get().forEach((element) => {
|
|
|
|
const config: any = { language };
|
|
|
|
if ($(element).data('model')) config.model = $(element).data('model');
|
|
|
|
if ($(element).data('hide')) config.hide = $(element).data('hide');
|
|
|
|
CmEditor.getOrConstruct($(element), config);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const cmEditorPage = new AutoloadPage('cmEditorPage', () => {
|
|
|
|
runSubstitute($('body'));
|
|
|
|
$(document).on('vjContentNew', async (e) => {
|
|
|
|
await delay(0);
|
|
|
|
runSubstitute($(e.target));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
export default cmEditorPage;
|