annotate core/modules/ckeditor/js/ckeditor.off-canvas-css-reset.js @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
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);