collected assets
This commit is contained in:
46
assets/ckeditor/ckeditor-init.js
Normal file
46
assets/ckeditor/ckeditor-init.js
Normal file
@@ -0,0 +1,46 @@
|
||||
/* global CKEDITOR, django */
|
||||
;(function() {
|
||||
var el = document.getElementById('ckeditor-init-script');
|
||||
if (el && !window.CKEDITOR_BASEPATH) {
|
||||
window.CKEDITOR_BASEPATH = el.getAttribute('data-ckeditor-basepath');
|
||||
}
|
||||
|
||||
function runInitialisers() {
|
||||
if (!window.CKEDITOR) {
|
||||
setTimeout(runInitialisers, 100);
|
||||
return;
|
||||
}
|
||||
|
||||
initialiseCKEditor();
|
||||
initialiseCKEditorInInlinedForms();
|
||||
}
|
||||
|
||||
if (document.readyState != 'loading' && document.body) {
|
||||
document.addEventListener('DOMContentLoaded', initialiseCKEditor);
|
||||
runInitialisers();
|
||||
} else {
|
||||
document.addEventListener('DOMContentLoaded', runInitialisers);
|
||||
}
|
||||
|
||||
function initialiseCKEditor() {
|
||||
var textareas = Array.prototype.slice.call(document.querySelectorAll('textarea[data-type=ckeditortype]'));
|
||||
for (var i=0; i<textareas.length; ++i) {
|
||||
var t = textareas[i];
|
||||
if (t.getAttribute('data-processed') == '0' && t.id.indexOf('__prefix__') == -1) {
|
||||
t.setAttribute('data-processed', '1');
|
||||
var ext = JSON.parse(t.getAttribute('data-external-plugin-resources'));
|
||||
for (var j=0; j<ext.length; ++j) {
|
||||
CKEDITOR.plugins.addExternal(ext[j][0], ext[j][1], ext[j][2]);
|
||||
}
|
||||
CKEDITOR.replace(t.id, JSON.parse(t.getAttribute('data-config')));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function initialiseCKEditorInInlinedForms() {
|
||||
if (typeof django === 'object' && django.jQuery) {
|
||||
django.jQuery(document).on('formset:added', initialiseCKEditor);
|
||||
}
|
||||
}
|
||||
|
||||
}());
|
||||
Reference in New Issue
Block a user