Chris@18: /** Chris@18: * DO NOT EDIT THIS FILE. Chris@18: * See the following change record for more information, Chris@18: * https://www.drupal.org/node/2815083 Chris@18: * @preserve Chris@18: **/ Chris@18: Chris@18: (function ($, CKEDITOR) { Chris@18: var convertToOffCanvasCss = function convertToOffCanvasCss(originalCss) { Chris@18: var selectorPrefix = '#drupal-off-canvas '; Chris@18: var skinPath = '' + CKEDITOR.basePath + CKEDITOR.skinName + '/'; Chris@18: var css = originalCss.substring(originalCss.indexOf('*/') + 2).trim().replace(/}/g, '}' + selectorPrefix).replace(/,/g, ',' + selectorPrefix).replace(/url\(/g, skinPath); Chris@18: return '' + selectorPrefix + css; Chris@18: }; Chris@18: Chris@18: var insertCss = function insertCss(cssToInsert) { Chris@18: var offCanvasCss = document.createElement('style'); Chris@18: offCanvasCss.innerHTML = cssToInsert; Chris@18: offCanvasCss.setAttribute('id', 'ckeditor-off-canvas-reset'); Chris@18: document.body.appendChild(offCanvasCss); Chris@18: }; Chris@18: Chris@18: var addCkeditorOffCanvasCss = function addCkeditorOffCanvasCss() { Chris@18: if (document.getElementById('ckeditor-off-canvas-reset')) { Chris@18: return; Chris@18: } Chris@18: Chris@18: CKEDITOR.skinName = CKEDITOR.skin.name; Chris@18: Chris@18: var editorCssPath = CKEDITOR.skin.getPath('editor'); Chris@18: var dialogCssPath = CKEDITOR.skin.getPath('dialog'); Chris@18: Chris@18: var storedOffCanvasCss = window.localStorage.getItem('Drupal.off-canvas.css.' + editorCssPath + dialogCssPath); Chris@18: Chris@18: if (storedOffCanvasCss) { Chris@18: insertCss(storedOffCanvasCss); Chris@18: return; Chris@18: } Chris@18: Chris@18: $.when($.get(editorCssPath), $.get(dialogCssPath)).done(function (editorCss, dialogCss) { Chris@18: var offCanvasEditorCss = convertToOffCanvasCss(editorCss[0]); Chris@18: var offCanvasDialogCss = convertToOffCanvasCss(dialogCss[0]); Chris@18: var cssToInsert = '#drupal-off-canvas .cke_inner * {background: transparent;}\n ' + offCanvasEditorCss + '\n ' + offCanvasDialogCss; Chris@18: insertCss(cssToInsert); Chris@18: Chris@18: if (CKEDITOR.timestamp && editorCssPath.indexOf(CKEDITOR.timestamp) !== -1 && dialogCssPath.indexOf(CKEDITOR.timestamp) !== -1) { Chris@18: window.localStorage.setItem('Drupal.off-canvas.css.' + editorCssPath + dialogCssPath, cssToInsert); Chris@18: } Chris@18: }); Chris@18: }; Chris@18: Chris@18: addCkeditorOffCanvasCss(); Chris@18: })(jQuery, CKEDITOR);