Chris@18
|
1 /**
|
Chris@18
|
2 * DO NOT EDIT THIS FILE.
|
Chris@18
|
3 * See the following change record for more information,
|
Chris@18
|
4 * https://www.drupal.org/node/2815083
|
Chris@18
|
5 * @preserve
|
Chris@18
|
6 **/
|
Chris@18
|
7
|
Chris@18
|
8 (function ($, CKEDITOR) {
|
Chris@18
|
9 var convertToOffCanvasCss = function convertToOffCanvasCss(originalCss) {
|
Chris@18
|
10 var selectorPrefix = '#drupal-off-canvas ';
|
Chris@18
|
11 var skinPath = '' + CKEDITOR.basePath + CKEDITOR.skinName + '/';
|
Chris@18
|
12 var css = originalCss.substring(originalCss.indexOf('*/') + 2).trim().replace(/}/g, '}' + selectorPrefix).replace(/,/g, ',' + selectorPrefix).replace(/url\(/g, skinPath);
|
Chris@18
|
13 return '' + selectorPrefix + css;
|
Chris@18
|
14 };
|
Chris@18
|
15
|
Chris@18
|
16 var insertCss = function insertCss(cssToInsert) {
|
Chris@18
|
17 var offCanvasCss = document.createElement('style');
|
Chris@18
|
18 offCanvasCss.innerHTML = cssToInsert;
|
Chris@18
|
19 offCanvasCss.setAttribute('id', 'ckeditor-off-canvas-reset');
|
Chris@18
|
20 document.body.appendChild(offCanvasCss);
|
Chris@18
|
21 };
|
Chris@18
|
22
|
Chris@18
|
23 var addCkeditorOffCanvasCss = function addCkeditorOffCanvasCss() {
|
Chris@18
|
24 if (document.getElementById('ckeditor-off-canvas-reset')) {
|
Chris@18
|
25 return;
|
Chris@18
|
26 }
|
Chris@18
|
27
|
Chris@18
|
28 CKEDITOR.skinName = CKEDITOR.skin.name;
|
Chris@18
|
29
|
Chris@18
|
30 var editorCssPath = CKEDITOR.skin.getPath('editor');
|
Chris@18
|
31 var dialogCssPath = CKEDITOR.skin.getPath('dialog');
|
Chris@18
|
32
|
Chris@18
|
33 var storedOffCanvasCss = window.localStorage.getItem('Drupal.off-canvas.css.' + editorCssPath + dialogCssPath);
|
Chris@18
|
34
|
Chris@18
|
35 if (storedOffCanvasCss) {
|
Chris@18
|
36 insertCss(storedOffCanvasCss);
|
Chris@18
|
37 return;
|
Chris@18
|
38 }
|
Chris@18
|
39
|
Chris@18
|
40 $.when($.get(editorCssPath), $.get(dialogCssPath)).done(function (editorCss, dialogCss) {
|
Chris@18
|
41 var offCanvasEditorCss = convertToOffCanvasCss(editorCss[0]);
|
Chris@18
|
42 var offCanvasDialogCss = convertToOffCanvasCss(dialogCss[0]);
|
Chris@18
|
43 var cssToInsert = '#drupal-off-canvas .cke_inner * {background: transparent;}\n ' + offCanvasEditorCss + '\n ' + offCanvasDialogCss;
|
Chris@18
|
44 insertCss(cssToInsert);
|
Chris@18
|
45
|
Chris@18
|
46 if (CKEDITOR.timestamp && editorCssPath.indexOf(CKEDITOR.timestamp) !== -1 && dialogCssPath.indexOf(CKEDITOR.timestamp) !== -1) {
|
Chris@18
|
47 window.localStorage.setItem('Drupal.off-canvas.css.' + editorCssPath + dialogCssPath, cssToInsert);
|
Chris@18
|
48 }
|
Chris@18
|
49 });
|
Chris@18
|
50 };
|
Chris@18
|
51
|
Chris@18
|
52 addCkeditorOffCanvasCss();
|
Chris@18
|
53 })(jQuery, CKEDITOR); |