Commit 6e53cb2c authored by Romain Courteaud's avatar Romain Courteaud

[erp5_xhtml_style] Add ckeditor gadget

Make ckeditor responsive.
Disable ACF.
parent 5e0322ed
CACHE MANIFEST
# generated on Thu, 12 Oct 2017 10:00:01 +0000
CACHE:
renderjs.js
rsvp.js
ckeditor.gadget.js
ckeditor/skins/moono-lisa/icons.png
ckeditor/skins/moono-lisa/editor_iequirks.css
ckeditor/skins/moono-lisa/images/lock.png
ckeditor/skins/moono-lisa/images/lock-open.png
ckeditor/skins/moono-lisa/images/refresh.png
ckeditor/skins/moono-lisa/images/spinner.gif
ckeditor/skins/moono-lisa/images/arrow.png
ckeditor/skins/moono-lisa/images/close.png
ckeditor/skins/moono-lisa/images/hidpi/lock.png
ckeditor/skins/moono-lisa/images/hidpi/lock-open.png
ckeditor/skins/moono-lisa/images/hidpi/refresh.png
ckeditor/skins/moono-lisa/images/hidpi/close.png
ckeditor/skins/moono-lisa/editor_ie.css
ckeditor/skins/moono-lisa/dialog_iequirks.css
ckeditor/skins/moono-lisa/dialog_ie8.css
ckeditor/skins/moono-lisa/icons_hidpi.png
ckeditor/skins/moono-lisa/editor_gecko.css
ckeditor/skins/moono-lisa/editor_ie8.css
ckeditor/skins/moono-lisa/editor.css
ckeditor/skins/moono-lisa/dialog_ie.css
ckeditor/skins/moono-lisa/dialog.css
ckeditor/lang/ro.js
ckeditor/lang/id.js
ckeditor/lang/fi.js
ckeditor/lang/mk.js
ckeditor/lang/es-mx.js
ckeditor/lang/az.js
ckeditor/lang/bg.js
ckeditor/lang/af.js
ckeditor/lang/et.js
ckeditor/lang/km.js
ckeditor/lang/sr-latn.js
ckeditor/lang/da.js
ckeditor/lang/bn.js
ckeditor/lang/eo.js
ckeditor/lang/si.js
ckeditor/lang/fa.js
ckeditor/lang/fo.js
ckeditor/lang/uk.js
ckeditor/lang/en.js
ckeditor/lang/mn.js
ckeditor/lang/fr.js
ckeditor/lang/pl.js
ckeditor/lang/it.js
ckeditor/lang/eu.js
ckeditor/lang/ug.js
ckeditor/lang/sr.js
ckeditor/lang/ka.js
ckeditor/lang/gl.js
ckeditor/lang/nl.js
ckeditor/lang/vi.js
ckeditor/lang/lv.js
ckeditor/lang/sk.js
ckeditor/lang/ja.js
ckeditor/lang/sq.js
ckeditor/lang/no.js
ckeditor/lang/th.js
ckeditor/lang/en-gb.js
ckeditor/lang/sl.js
ckeditor/lang/en-au.js
ckeditor/lang/el.js
ckeditor/lang/hi.js
ckeditor/lang/cy.js
ckeditor/lang/ar.js
ckeditor/lang/nb.js
ckeditor/lang/ms.js
ckeditor/lang/is.js
ckeditor/lang/pt-br.js
ckeditor/lang/es.js
ckeditor/lang/fr-ca.js
ckeditor/lang/de-ch.js
ckeditor/lang/ko.js
ckeditor/lang/bs.js
ckeditor/lang/ku.js
ckeditor/lang/tt.js
ckeditor/lang/hu.js
ckeditor/lang/ru.js
ckeditor/lang/cs.js
ckeditor/lang/zh.js
ckeditor/lang/sv.js
ckeditor/lang/lt.js
ckeditor/lang/tr.js
ckeditor/lang/hr.js
ckeditor/lang/zh-cn.js
ckeditor/lang/pt.js
ckeditor/lang/he.js
ckeditor/lang/de.js
ckeditor/lang/en-ca.js
ckeditor/lang/ca.js
ckeditor/lang/gu.js
ckeditor/lang/oc.js
ckeditor/build-config.js
ckeditor/plugins/icons.png
ckeditor/plugins/specialchar/dialogs/lang/id.js
ckeditor/plugins/specialchar/dialogs/lang/fi.js
ckeditor/plugins/specialchar/dialogs/lang/es-mx.js
ckeditor/plugins/specialchar/dialogs/lang/az.js
ckeditor/plugins/specialchar/dialogs/lang/bg.js
ckeditor/plugins/specialchar/dialogs/lang/af.js
ckeditor/plugins/specialchar/dialogs/lang/et.js
ckeditor/plugins/specialchar/dialogs/lang/km.js
ckeditor/plugins/specialchar/dialogs/lang/da.js
ckeditor/plugins/specialchar/dialogs/lang/eo.js
ckeditor/plugins/specialchar/dialogs/lang/si.js
ckeditor/plugins/specialchar/dialogs/lang/fa.js
ckeditor/plugins/specialchar/dialogs/lang/uk.js
ckeditor/plugins/specialchar/dialogs/lang/en.js
ckeditor/plugins/specialchar/dialogs/lang/fr.js
ckeditor/plugins/specialchar/dialogs/lang/pl.js
ckeditor/plugins/specialchar/dialogs/lang/it.js
ckeditor/plugins/specialchar/dialogs/lang/eu.js
ckeditor/plugins/specialchar/dialogs/lang/ug.js
ckeditor/plugins/specialchar/dialogs/lang/gl.js
ckeditor/plugins/specialchar/dialogs/lang/nl.js
ckeditor/plugins/specialchar/dialogs/lang/vi.js
ckeditor/plugins/specialchar/dialogs/lang/lv.js
ckeditor/plugins/specialchar/dialogs/lang/sk.js
ckeditor/plugins/specialchar/dialogs/lang/ja.js
ckeditor/plugins/specialchar/dialogs/lang/sq.js
ckeditor/plugins/specialchar/dialogs/lang/no.js
ckeditor/plugins/specialchar/dialogs/lang/th.js
ckeditor/plugins/specialchar/dialogs/lang/en-gb.js
ckeditor/plugins/specialchar/dialogs/lang/sl.js
ckeditor/plugins/specialchar/dialogs/lang/en-au.js
ckeditor/plugins/specialchar/dialogs/lang/el.js
ckeditor/plugins/specialchar/dialogs/lang/cy.js
ckeditor/plugins/specialchar/dialogs/lang/ar.js
ckeditor/plugins/specialchar/dialogs/lang/nb.js
ckeditor/plugins/specialchar/dialogs/lang/pt-br.js
ckeditor/plugins/specialchar/dialogs/lang/es.js
ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js
ckeditor/plugins/specialchar/dialogs/lang/de-ch.js
ckeditor/plugins/specialchar/dialogs/lang/ko.js
ckeditor/plugins/specialchar/dialogs/lang/ku.js
ckeditor/plugins/specialchar/dialogs/lang/tt.js
ckeditor/plugins/specialchar/dialogs/lang/hu.js
ckeditor/plugins/specialchar/dialogs/lang/ru.js
ckeditor/plugins/specialchar/dialogs/lang/cs.js
ckeditor/plugins/specialchar/dialogs/lang/zh.js
ckeditor/plugins/specialchar/dialogs/lang/sv.js
ckeditor/plugins/specialchar/dialogs/lang/lt.js
ckeditor/plugins/specialchar/dialogs/lang/tr.js
ckeditor/plugins/specialchar/dialogs/lang/hr.js
ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js
ckeditor/plugins/specialchar/dialogs/lang/pt.js
ckeditor/plugins/specialchar/dialogs/lang/he.js
ckeditor/plugins/specialchar/dialogs/lang/de.js
ckeditor/plugins/specialchar/dialogs/lang/en-ca.js
ckeditor/plugins/specialchar/dialogs/lang/ca.js
ckeditor/plugins/specialchar/dialogs/lang/oc.js
ckeditor/plugins/specialchar/dialogs/specialchar.js
ckeditor/plugins/smiley/images/embaressed_smile.gif
ckeditor/plugins/smiley/images/shades_smile.png
ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif
ckeditor/plugins/smiley/images/lightbulb.png
ckeditor/plugins/smiley/images/tounge_smile.gif
ckeditor/plugins/smiley/images/teeth_smile.png
ckeditor/plugins/smiley/images/wink_smile.png
ckeditor/plugins/smiley/images/tongue_smile.gif
ckeditor/plugins/smiley/images/broken_heart.png
ckeditor/plugins/smiley/images/tongue_smile.png
ckeditor/plugins/smiley/images/confused_smile.gif
ckeditor/plugins/smiley/images/heart.gif
ckeditor/plugins/smiley/images/cry_smile.png
ckeditor/plugins/smiley/images/omg_smile.gif
ckeditor/plugins/smiley/images/regular_smile.png
ckeditor/plugins/smiley/images/angel_smile.gif
ckeditor/plugins/smiley/images/angel_smile.png
ckeditor/plugins/smiley/images/kiss.png
ckeditor/plugins/smiley/images/heart.png
ckeditor/plugins/smiley/images/cry_smile.gif
ckeditor/plugins/smiley/images/omg_smile.png
ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png
ckeditor/plugins/smiley/images/angry_smile.png
ckeditor/plugins/smiley/images/shades_smile.gif
ckeditor/plugins/smiley/images/angry_smile.gif
ckeditor/plugins/smiley/images/lightbulb.gif
ckeditor/plugins/smiley/images/kiss.gif
ckeditor/plugins/smiley/images/wink_smile.gif
ckeditor/plugins/smiley/images/thumbs_up.png
ckeditor/plugins/smiley/images/thumbs_up.gif
ckeditor/plugins/smiley/images/teeth_smile.gif
ckeditor/plugins/smiley/images/devil_smile.gif
ckeditor/plugins/smiley/images/broken_heart.gif
ckeditor/plugins/smiley/images/thumbs_down.gif
ckeditor/plugins/smiley/images/thumbs_down.png
ckeditor/plugins/smiley/images/sad_smile.png
ckeditor/plugins/smiley/images/embarrassed_smile.png
ckeditor/plugins/smiley/images/envelope.png
ckeditor/plugins/smiley/images/devil_smile.png
ckeditor/plugins/smiley/images/sad_smile.gif
ckeditor/plugins/smiley/images/embarrassed_smile.gif
ckeditor/plugins/smiley/images/regular_smile.gif
ckeditor/plugins/smiley/images/envelope.gif
ckeditor/plugins/smiley/images/confused_smile.png
ckeditor/plugins/smiley/dialogs/smiley.js
ckeditor/plugins/pastefromword/filter/default.js
ckeditor/plugins/templates/templates/images/template2.gif
ckeditor/plugins/templates/templates/images/template3.gif
ckeditor/plugins/templates/templates/images/template1.gif
ckeditor/plugins/templates/templates/default.js
ckeditor/plugins/templates/dialogs/templates.js
ckeditor/plugins/templates/dialogs/templates.css
ckeditor/plugins/div/dialogs/div.js
ckeditor/plugins/showblocks/images/block_h3.png
ckeditor/plugins/showblocks/images/block_h4.png
ckeditor/plugins/showblocks/images/block_div.png
ckeditor/plugins/showblocks/images/block_p.png
ckeditor/plugins/showblocks/images/block_h2.png
ckeditor/plugins/showblocks/images/block_pre.png
ckeditor/plugins/showblocks/images/block_address.png
ckeditor/plugins/showblocks/images/block_blockquote.png
ckeditor/plugins/showblocks/images/block_h1.png
ckeditor/plugins/showblocks/images/block_h5.png
ckeditor/plugins/showblocks/images/block_h6.png
ckeditor/plugins/colordialog/dialogs/colordialog.css
ckeditor/plugins/colordialog/dialogs/colordialog.js
ckeditor/plugins/scayt/skins/moono-lisa/scayt.css
ckeditor/plugins/scayt/dialogs/options.js
ckeditor/plugins/scayt/dialogs/toolbar.css
ckeditor/plugins/scayt/dialogs/dialog.css
ckeditor/plugins/table/dialogs/table.js
ckeditor/plugins/find/dialogs/find.js
ckeditor/plugins/about/dialogs/about.js
ckeditor/plugins/about/dialogs/logo_ckeditor.png
ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png
ckeditor/plugins/image/images/noimage.png
ckeditor/plugins/image/dialogs/image.js
ckeditor/plugins/preview/preview.html
ckeditor/plugins/copyformatting/styles/copyformatting.css
ckeditor/plugins/copyformatting/cursors/cursor.svg
ckeditor/plugins/copyformatting/cursors/cursor-disabled.svg
ckeditor/plugins/link/images/anchor.png
ckeditor/plugins/link/images/hidpi/anchor.png
ckeditor/plugins/link/dialogs/anchor.js
ckeditor/plugins/link/dialogs/link.js
ckeditor/plugins/wsc/skins/moono-lisa/wsc.css
ckeditor/plugins/wsc/dialogs/ciframe.html
ckeditor/plugins/wsc/dialogs/wsc.css
ckeditor/plugins/wsc/dialogs/wsc.js
ckeditor/plugins/wsc/dialogs/wsc_ie.js
ckeditor/plugins/wsc/dialogs/tmpFrameset.html
ckeditor/plugins/icons_hidpi.png
ckeditor/plugins/tabletools/dialogs/tableCell.js
ckeditor/plugins/forms/images/hiddenfield.gif
ckeditor/plugins/forms/dialogs/button.js
ckeditor/plugins/forms/dialogs/radio.js
ckeditor/plugins/forms/dialogs/checkbox.js
ckeditor/plugins/forms/dialogs/textarea.js
ckeditor/plugins/forms/dialogs/textfield.js
ckeditor/plugins/forms/dialogs/select.js
ckeditor/plugins/forms/dialogs/hiddenfield.js
ckeditor/plugins/forms/dialogs/form.js
ckeditor/plugins/magicline/images/icon-rtl.png
ckeditor/plugins/magicline/images/icon.png
ckeditor/plugins/magicline/images/hidpi/icon-rtl.png
ckeditor/plugins/magicline/images/hidpi/icon.png
ckeditor/plugins/liststyle/dialogs/liststyle.js
ckeditor/plugins/flash/images/placeholder.png
ckeditor/plugins/flash/dialogs/flash.js
ckeditor/plugins/pagebreak/images/pagebreak.gif
ckeditor/plugins/dialog/dialogDefinition.js
ckeditor/plugins/iframe/images/placeholder.png
ckeditor/plugins/iframe/dialogs/iframe.js
ckeditor/plugins/tableselection/styles/tableselection.css
ckeditor/plugins/a11yhelp/dialogs/lang/ro.js
ckeditor/plugins/a11yhelp/dialogs/lang/id.js
ckeditor/plugins/a11yhelp/dialogs/lang/fi.js
ckeditor/plugins/a11yhelp/dialogs/lang/mk.js
ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js
ckeditor/plugins/a11yhelp/dialogs/lang/az.js
ckeditor/plugins/a11yhelp/dialogs/lang/bg.js
ckeditor/plugins/a11yhelp/dialogs/lang/af.js
ckeditor/plugins/a11yhelp/dialogs/lang/et.js
ckeditor/plugins/a11yhelp/dialogs/lang/km.js
ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js
ckeditor/plugins/a11yhelp/dialogs/lang/da.js
ckeditor/plugins/a11yhelp/dialogs/lang/eo.js
ckeditor/plugins/a11yhelp/dialogs/lang/si.js
ckeditor/plugins/a11yhelp/dialogs/lang/fa.js
ckeditor/plugins/a11yhelp/dialogs/lang/fo.js
ckeditor/plugins/a11yhelp/dialogs/lang/uk.js
ckeditor/plugins/a11yhelp/dialogs/lang/en.js
ckeditor/plugins/a11yhelp/dialogs/lang/mn.js
ckeditor/plugins/a11yhelp/dialogs/lang/fr.js
ckeditor/plugins/a11yhelp/dialogs/lang/pl.js
ckeditor/plugins/a11yhelp/dialogs/lang/it.js
ckeditor/plugins/a11yhelp/dialogs/lang/eu.js
ckeditor/plugins/a11yhelp/dialogs/lang/ug.js
ckeditor/plugins/a11yhelp/dialogs/lang/sr.js
ckeditor/plugins/a11yhelp/dialogs/lang/gl.js
ckeditor/plugins/a11yhelp/dialogs/lang/nl.js
ckeditor/plugins/a11yhelp/dialogs/lang/vi.js
ckeditor/plugins/a11yhelp/dialogs/lang/lv.js
ckeditor/plugins/a11yhelp/dialogs/lang/sk.js
ckeditor/plugins/a11yhelp/dialogs/lang/ja.js
ckeditor/plugins/a11yhelp/dialogs/lang/sq.js
ckeditor/plugins/a11yhelp/dialogs/lang/no.js
ckeditor/plugins/a11yhelp/dialogs/lang/th.js
ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js
ckeditor/plugins/a11yhelp/dialogs/lang/sl.js
ckeditor/plugins/a11yhelp/dialogs/lang/el.js
ckeditor/plugins/a11yhelp/dialogs/lang/hi.js
ckeditor/plugins/a11yhelp/dialogs/lang/cy.js
ckeditor/plugins/a11yhelp/dialogs/lang/ar.js
ckeditor/plugins/a11yhelp/dialogs/lang/nb.js
ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js
ckeditor/plugins/a11yhelp/dialogs/lang/es.js
ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js
ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js
ckeditor/plugins/a11yhelp/dialogs/lang/ko.js
ckeditor/plugins/a11yhelp/dialogs/lang/ku.js
ckeditor/plugins/a11yhelp/dialogs/lang/tt.js
ckeditor/plugins/a11yhelp/dialogs/lang/hu.js
ckeditor/plugins/a11yhelp/dialogs/lang/ru.js
ckeditor/plugins/a11yhelp/dialogs/lang/cs.js
ckeditor/plugins/a11yhelp/dialogs/lang/zh.js
ckeditor/plugins/a11yhelp/dialogs/lang/sv.js
ckeditor/plugins/a11yhelp/dialogs/lang/lt.js
ckeditor/plugins/a11yhelp/dialogs/lang/tr.js
ckeditor/plugins/a11yhelp/dialogs/lang/hr.js
ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js
ckeditor/plugins/a11yhelp/dialogs/lang/pt.js
ckeditor/plugins/a11yhelp/dialogs/lang/he.js
ckeditor/plugins/a11yhelp/dialogs/lang/de.js
ckeditor/plugins/a11yhelp/dialogs/lang/ca.js
ckeditor/plugins/a11yhelp/dialogs/lang/gu.js
ckeditor/plugins/a11yhelp/dialogs/lang/oc.js
ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js
ckeditor/contents.css
ckeditor/styles.js
ckeditor/config.js
ckeditor/ckeditor.js
ckeditor/adapters/jquery.js
NETWORK:
*
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ckeditor.gadget.appcache</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/cache-manifest</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<!DOCTYPE html>
<html manifest="ckeditor.gadget.appcache">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>CKEditor Gadget</title>
<script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<!-- This gadget provides ckeditor with all Plugins activated by default -->
<!-- Make sure to check the timestamp of your CKEditor version in order to update the manifest -->
<script src="ckeditor/ckeditor.js"></script>
<script src="ckeditor.gadget.js" type="text/javascript"></script>
</head>
<body>
<div class="ckeditor_gadget"><textarea></textarea></div>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ckeditor.gadget.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*global window, document, rJS, CKEDITOR, RSVP*/
/*jslint nomen: true, maxlen:80, indent:2*/
(function (window, document, rJS, CKEDITOR, RSVP) {
"use strict";
// erp5_globals is not in xhtml_style.
// Copy/Paste this function for now
function loopEventListener(target, type, useCapture, callback,
prevent_default) {
//////////////////////////
// Infinite event listener (promise is never resolved)
// eventListener is removed when promise is cancelled/rejected
//////////////////////////
var handle_event_callback,
callback_promise;
if (prevent_default === undefined) {
prevent_default = true;
}
function cancelResolver() {
if ((callback_promise !== undefined) &&
(typeof callback_promise.cancel === "function")) {
callback_promise.cancel();
}
}
function canceller() {
if (handle_event_callback !== undefined) {
target.removeEventListener(type, handle_event_callback, useCapture);
}
cancelResolver();
}
function itsANonResolvableTrap(resolve, reject) {
var result;
handle_event_callback = function (evt) {
if (prevent_default) {
evt.stopPropagation();
evt.preventDefault();
}
cancelResolver();
try {
result = callback(evt);
} catch (e) {
result = RSVP.reject(e);
}
callback_promise = result;
new RSVP.Queue()
.push(function () {
return result;
})
.push(undefined, function (error) {
if (!(error instanceof RSVP.CancellationError)) {
canceller();
reject(error);
}
});
};
target.addEventListener(type, handle_event_callback, useCapture);
}
return new RSVP.Promise(itsANonResolvableTrap, canceller);
}
// http://nightly.ckeditor.com/17-10-11-06-04/full/samples/toolbarconfigurator/index.html#advanced
var TOOLBAR_MOBILE = [
{name: 'basicstyles', items: ['Bold', 'Italic', 'Underline']},
{name: 'paragraph', items: ['NumberedList', 'BulletedList']},
{name: 'links', items: ['Link']},
{name: 'insert', items: ['Image']},
{name: 'styles', items: ['Format']}
],
TOOLBAR_DESKTOP = [
{name: 'document',
items: ['Source', '-', 'Save', 'Print', '-', 'Templates']},
{name: 'clipboard', items: ['Undo', 'Redo']},
{name: 'editing', items: ['Find', 'Replace', '-', 'SelectAll',
'-', 'Scayt']},
'/',
{name: 'basicstyles',
items: ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript',
'Superscript', '-', 'RemoveFormat']},
{name: 'paragraph',
items: ['NumberedList', 'BulletedList', '-', 'Outdent',
'Indent', '-', 'Blockquote', 'CreateDiv', '-',
'JustifyLeft', 'JustifyCenter', 'JustifyRight',
'JustifyBlock', '-', 'BidiLtr', 'BidiRtl', 'Language']},
{name: 'links', items: ['Link', 'Unlink', 'Anchor']},
{name: 'insert',
items: ['Image', 'Table', 'HorizontalRule', 'Smiley',
'SpecialChar', 'PageBreak']},
'/',
{name: 'styles', items: ['Styles', 'Format', 'Font', 'FontSize']},
{name: 'colors', items: ['TextColor', 'BGColor']},
{name: 'tools', items: ['ShowBlocks']}
],
MOBILE_CONFIGURATION = {
toolbar: TOOLBAR_MOBILE,
disableNativeSpellChecker: false,
// Disable ACF to not destroy HTML on mobile
allowedContent: true
},
DESKTOP_CONFIGURATION = {
toolbar: TOOLBAR_DESKTOP,
disableNativeSpellChecker: false,
// Disable ACF to not destroy HTML on mobile
allowedContent: true
},
MATCH_MEDIA = window.matchMedia("not screen and (min-width: 45em)");
rJS(window)
.declareAcquiredMethod("notifySubmit", "notifySubmit")
.declareJob("deferNotifySubmit", function () {
// Ensure error will be correctly handled
return this.notifySubmit();
})
.declareAcquiredMethod("notifyChange", "notifyChange")
.declareJob("deferNotifyChange", function () {
// Ensure error will be correctly handled
return this.notifyChange();
})
.setState({
is_mobile: false
})
.declareMethod('render', function (options) {
return this.changeState({
key: options.key,
value: options.value || "",
editable: options.editable === undefined ? true : options.editable,
configuration: options.configuration || DESKTOP_CONFIGURATION,
configuration_mobile: options.configuration_mobile ||
MOBILE_CONFIGURATION,
is_responsive: (options.configuration_mobile !== undefined) ||
(options.configuration === undefined)
});
})
.declareMethod('getContent', function () {
var result = {};
if (this.state.editable) {
result[this.state.key] = this.ckeditor.getData();
}
return result;
})
.onStateChange(function (modification_dict) {
var gadget = this,
configuration;
if (modification_dict.hasOwnProperty('configuration') ||
modification_dict.hasOwnProperty('configuration_mobile') ||
modification_dict.hasOwnProperty('is_responsive') ||
modification_dict.hasOwnProperty('is_mobile')) {
// Expected configuration changed.
// Recreate ckeditor
if (gadget.hasOwnProperty('ckeditor')) {
// Destroy previous instance
gadget.ckeditor.destroy();
}
// Create a new editor
if (gadget.state.is_responsive && gadget.state.is_mobile) {
configuration = gadget.state.configuration_mobile;
} else {
configuration = gadget.state.configuration;
}
gadget.ckeditor = CKEDITOR.replace(
this.element.querySelector('textarea'),
configuration
);
gadget.ckeditor.addCommand('saveRJS', {
readOnly: 1,
exec: gadget.deferNotifySubmit.bind(gadget)
});
gadget.ckeditor.ui.addButton('Save', {
label: "Save",
command: 'saveRJS',
toolbar: 'document,1'
});
gadget.ckeditor.on('instanceReady', function (event) {
event.editor.execCommand('maximize');
});
gadget.ckeditor.on('change', gadget.deferNotifyChange.bind(gadget));
}
if (modification_dict.hasOwnProperty('value')) {
this.ckeditor.setData(this.state.value);
}
})
.declareService(function () {
var result,
event,
context = this;
function extractSizeAndDispatch() {
if (MATCH_MEDIA.matches) {
return context.changeState({
is_mobile: true
});
}
return context.changeState({
is_mobile: false
});
}
result = loopEventListener(window, 'resize', false,
extractSizeAndDispatch);
event = document.createEvent("Event");
event.initEvent('resize', true, true);
window.dispatchEvent(event);
return result;
});
}(window, document, rJS, CKEDITOR, RSVP));
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>ckeditor.gadget.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment