
| Current Path : /var/www/html1/bbp/web/sites/default/files/js/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //var/www/html1/bbp/web/sites/default/files/js/js_0fG1d7K13XV6SzJX-HIYYZjdXsbPiaNVGKHz50Ti_-0.js |
/**
* DO NOT EDIT THIS FILE.
* See the following change record for more information,
* https://www.drupal.org/node/2815083
* @preserve
**/
(function ($, Drupal, drupalSettings) {
function findFieldForFormatSelector($formatSelector) {
var fieldId = $formatSelector.attr('data-editor-for');
return $("#".concat(fieldId)).get(0);
}
function filterXssWhenSwitching(field, format, originalFormatID, callback) {
if (format.editor.isXssSafe) {
callback(field, format);
} else {
$.ajax({
url: Drupal.url("editor/filter_xss/".concat(format.format)),
type: 'POST',
data: {
value: field.value,
original_format_id: originalFormatID
},
dataType: 'json',
success: function success(xssFilteredValue) {
if (xssFilteredValue !== false) {
field.value = xssFilteredValue;
}
callback(field, format);
}
});
}
}
function changeTextEditor(field, newFormatID) {
var previousFormatID = field.getAttribute('data-editor-active-text-format');
if (drupalSettings.editor.formats[previousFormatID]) {
Drupal.editorDetach(field, drupalSettings.editor.formats[previousFormatID]);
} else {
$(field).off('.editor');
}
if (drupalSettings.editor.formats[newFormatID]) {
var format = drupalSettings.editor.formats[newFormatID];
filterXssWhenSwitching(field, format, previousFormatID, Drupal.editorAttach);
}
field.setAttribute('data-editor-active-text-format', newFormatID);
}
function onTextFormatChange(event) {
var $select = $(event.target);
var field = event.data.field;
var activeFormatID = field.getAttribute('data-editor-active-text-format');
var newFormatID = $select.val();
if (newFormatID === activeFormatID) {
return;
}
var supportContentFiltering = drupalSettings.editor.formats[newFormatID] && drupalSettings.editor.formats[newFormatID].editorSupportsContentFiltering;
var hasContent = field.value !== '';
if (hasContent && supportContentFiltering) {
var message = Drupal.t('Changing the text format to %text_format will permanently remove content that is not allowed in that text format.<br><br>Save your changes before switching the text format to avoid losing data.', {
'%text_format': $select.find('option:selected').text()
});
var confirmationDialog = Drupal.dialog("<div>".concat(message, "</div>"), {
title: Drupal.t('Change text format?'),
dialogClass: 'editor-change-text-format-modal',
resizable: false,
buttons: [{
text: Drupal.t('Continue'),
class: 'button button--primary',
click: function click() {
changeTextEditor(field, newFormatID);
confirmationDialog.close();
}
}, {
text: Drupal.t('Cancel'),
class: 'button',
click: function click() {
$select.val(activeFormatID);
confirmationDialog.close();
}
}],
closeOnEscape: false,
create: function create() {
$(this).parent().find('.ui-dialog-titlebar-close').remove();
},
beforeClose: false,
close: function close(event) {
$(event.target).remove();
}
});
confirmationDialog.showModal();
} else {
changeTextEditor(field, newFormatID);
}
}
Drupal.editors = {};
Drupal.behaviors.editor = {
attach: function attach(context, settings) {
if (!settings.editor) {
return;
}
$(context).find('[data-editor-for]').once('editor').each(function () {
var $this = $(this);
var field = findFieldForFormatSelector($this);
if (!field) {
return;
}
var activeFormatID = $this.val();
field.setAttribute('data-editor-active-text-format', activeFormatID);
if (settings.editor.formats[activeFormatID]) {
Drupal.editorAttach(field, settings.editor.formats[activeFormatID]);
}
$(field).on('change.editor keypress.editor', function () {
field.setAttribute('data-editor-value-is-changed', 'true');
$(field).off('.editor');
});
if ($this.is('select')) {
$this.on('change.editorAttach', {
field: field
}, onTextFormatChange);
}
$this.parents('form').on('submit', function (event) {
if (event.isDefaultPrevented()) {
return;
}
if (settings.editor.formats[activeFormatID]) {
Drupal.editorDetach(field, settings.editor.formats[activeFormatID], 'serialize');
}
});
});
},
detach: function detach(context, settings, trigger) {
var editors;
if (trigger === 'serialize') {
editors = $(context).find('[data-editor-for]').findOnce('editor');
} else {
editors = $(context).find('[data-editor-for]').removeOnce('editor');
}
editors.each(function () {
var $this = $(this);
var activeFormatID = $this.val();
var field = findFieldForFormatSelector($this);
if (field && activeFormatID in settings.editor.formats) {
Drupal.editorDetach(field, settings.editor.formats[activeFormatID], trigger);
}
});
}
};
Drupal.editorAttach = function (field, format) {
if (format.editor) {
Drupal.editors[format.editor].attach(field, format);
Drupal.editors[format.editor].onChange(field, function () {
$(field).trigger('formUpdated');
field.setAttribute('data-editor-value-is-changed', 'true');
});
}
};
Drupal.editorDetach = function (field, format, trigger) {
if (format.editor) {
Drupal.editors[format.editor].detach(field, format, trigger);
if (field.getAttribute('data-editor-value-is-changed') === 'false') {
field.value = field.getAttribute('data-editor-value-original');
}
}
};
})(jQuery, Drupal, drupalSettings);;
/**
* DO NOT EDIT THIS FILE.
* See the following change record for more information,
* https://www.drupal.org/node/2815083
* @preserve
**/
(function (Drupal, debounce, CKEDITOR, $, displace, AjaxCommands) {
Drupal.editors.ckeditor = {
attach: function attach(element, format) {
this._loadExternalPlugins(format);
format.editorSettings.drupal = {
format: format.format
};
var label = $("label[for=".concat(element.getAttribute('id'), "]")).html();
format.editorSettings.title = Drupal.t('Rich Text Editor, !label field', {
'!label': label
});
return !!CKEDITOR.replace(element, format.editorSettings);
},
detach: function detach(element, format, trigger) {
var editor = CKEDITOR.dom.element.get(element).getEditor();
if (editor) {
if (trigger === 'serialize') {
editor.updateElement();
} else {
editor.destroy();
element.removeAttribute('contentEditable');
}
}
return !!editor;
},
onChange: function onChange(element, callback) {
var editor = CKEDITOR.dom.element.get(element).getEditor();
if (editor) {
editor.on('change', debounce(function () {
callback(editor.getData());
}, 400));
editor.on('mode', function () {
var editable = editor.editable();
if (!editable.isInline()) {
editor.on('autoGrow', function (evt) {
var doc = evt.editor.document;
var scrollable = CKEDITOR.env.quirks ? doc.getBody() : doc.getDocumentElement();
if (scrollable.$.scrollHeight < scrollable.$.clientHeight) {
scrollable.setStyle('overflow-y', 'hidden');
} else {
scrollable.removeStyle('overflow-y');
}
}, null, null, 10000);
}
});
}
return !!editor;
},
attachInlineEditor: function attachInlineEditor(element, format, mainToolbarId, floatedToolbarId) {
this._loadExternalPlugins(format);
format.editorSettings.drupal = {
format: format.format
};
var settings = $.extend(true, {}, format.editorSettings);
if (mainToolbarId) {
var settingsOverride = {
extraPlugins: 'sharedspace',
removePlugins: 'floatingspace,elementspath',
sharedSpaces: {
top: mainToolbarId
}
};
var sourceButtonFound = false;
for (var i = 0; !sourceButtonFound && i < settings.toolbar.length; i++) {
if (settings.toolbar[i] !== '/') {
for (var j = 0; !sourceButtonFound && j < settings.toolbar[i].items.length; j++) {
if (settings.toolbar[i].items[j] === 'Source') {
sourceButtonFound = true;
settings.toolbar[i].items[j] = 'Sourcedialog';
settingsOverride.extraPlugins += ',sourcedialog';
settingsOverride.removePlugins += ',sourcearea';
}
}
}
}
settings.extraPlugins += ",".concat(settingsOverride.extraPlugins);
settings.removePlugins += ",".concat(settingsOverride.removePlugins);
settings.sharedSpaces = settingsOverride.sharedSpaces;
}
element.setAttribute('contentEditable', 'true');
return !!CKEDITOR.inline(element, settings);
},
_loadExternalPlugins: function _loadExternalPlugins(format) {
var externalPlugins = format.editorSettings.drupalExternalPlugins;
if (externalPlugins) {
Object.keys(externalPlugins || {}).forEach(function (pluginName) {
CKEDITOR.plugins.addExternal(pluginName, externalPlugins[pluginName], '');
});
delete format.editorSettings.drupalExternalPlugins;
}
}
};
Drupal.ckeditor = {
saveCallback: null,
openDialog: function openDialog(editor, url, existingValues, saveCallback, dialogSettings) {
var $target = $(editor.container.$);
if (editor.elementMode === CKEDITOR.ELEMENT_MODE_REPLACE) {
$target = $target.find('.cke_contents');
}
$target.css('position', 'relative').find('.ckeditor-dialog-loading').remove();
var classes = dialogSettings.dialogClass ? dialogSettings.dialogClass.split(' ') : [];
classes.push('ui-dialog--narrow');
dialogSettings.dialogClass = classes.join(' ');
dialogSettings.autoResize = window.matchMedia('(min-width: 600px)').matches;
dialogSettings.width = 'auto';
var $content = $("<div class=\"ckeditor-dialog-loading\"><span style=\"top: -40px;\" class=\"ckeditor-dialog-loading-link\">".concat(Drupal.t('Loading...'), "</span></div>"));
$content.appendTo($target);
var ckeditorAjaxDialog = Drupal.ajax({
dialog: dialogSettings,
dialogType: 'modal',
selector: '.ckeditor-dialog-loading-link',
url: url,
progress: {
type: 'throbber'
},
submit: {
editor_object: existingValues
}
});
ckeditorAjaxDialog.execute();
window.setTimeout(function () {
$content.find('span').animate({
top: '0px'
});
}, 1000);
Drupal.ckeditor.saveCallback = saveCallback;
}
};
$(window).on('dialogcreate', function (e, dialog, $element, settings) {
$('.ui-dialog--narrow').css('zIndex', CKEDITOR.config.baseFloatZIndex + 1);
});
$(window).on('dialog:beforecreate', function (e, dialog, $element, settings) {
$('.ckeditor-dialog-loading').animate({
top: '-40px'
}, function () {
$(this).remove();
});
});
$(window).on('editor:dialogsave', function (e, values) {
if (Drupal.ckeditor.saveCallback) {
Drupal.ckeditor.saveCallback(values);
}
});
$(window).on('dialog:afterclose', function (e, dialog, $element) {
if (Drupal.ckeditor.saveCallback) {
Drupal.ckeditor.saveCallback = null;
}
});
$(document).on('drupalViewportOffsetChange', function () {
CKEDITOR.config.autoGrow_maxHeight = 0.7 * (window.innerHeight - displace.offsets.top - displace.offsets.bottom);
});
function redirectTextareaFragmentToCKEditorInstance() {
var hash = window.location.hash.substr(1);
var element = document.getElementById(hash);
if (element) {
var editor = CKEDITOR.dom.element.get(element).getEditor();
if (editor) {
var id = editor.container.getAttribute('id');
window.location.replace("#".concat(id));
}
}
}
$(window).on('hashchange.ckeditor', redirectTextareaFragmentToCKEditorInstance);
CKEDITOR.config.autoGrow_onStartup = true;
CKEDITOR.config.autoGrow_maxHeight = 0.7 * window.innerHeight;
CKEDITOR.timestamp = drupalSettings.ckeditor.timestamp;
if (AjaxCommands) {
AjaxCommands.prototype.ckeditor_add_stylesheet = function (ajax, response, status) {
var editor = CKEDITOR.instances[response.editor_id];
if (editor) {
response.stylesheets.forEach(function (url) {
editor.document.appendStyleSheet(url);
});
}
};
}
})(Drupal, Drupal.debounce, CKEDITOR, jQuery, Drupal.displace, Drupal.AjaxCommands);;
/**
* DO NOT EDIT THIS FILE.
* See the following change record for more information,
* https://www.drupal.org/node/2815083
* @preserve
**/
(function ($, CKEDITOR) {
var convertToOffCanvasCss = function convertToOffCanvasCss(originalCss) {
var selectorPrefix = '#drupal-off-canvas ';
var skinPath = "".concat(CKEDITOR.basePath).concat(CKEDITOR.skinName, "/");
var css = originalCss.substring(originalCss.indexOf('*/') + 2).trim().replace(/}/g, "}".concat(selectorPrefix)).replace(/,/g, ",".concat(selectorPrefix)).replace(/url\(/g, skinPath);
return "".concat(selectorPrefix).concat(css);
};
var insertCss = function insertCss(cssToInsert) {
var offCanvasCss = document.createElement('style');
offCanvasCss.innerHTML = cssToInsert;
offCanvasCss.setAttribute('id', 'ckeditor-off-canvas-reset');
document.body.appendChild(offCanvasCss);
};
var addCkeditorOffCanvasCss = function addCkeditorOffCanvasCss() {
if (document.getElementById('ckeditor-off-canvas-reset')) {
return;
}
CKEDITOR.skinName = CKEDITOR.skin.name;
var editorCssPath = CKEDITOR.skin.getPath('editor');
var dialogCssPath = CKEDITOR.skin.getPath('dialog');
var storedOffCanvasCss = window.localStorage.getItem("Drupal.off-canvas.css.".concat(editorCssPath).concat(dialogCssPath));
if (storedOffCanvasCss) {
insertCss(storedOffCanvasCss);
return;
}
$.when($.get(editorCssPath), $.get(dialogCssPath)).done(function (editorCss, dialogCss) {
var offCanvasEditorCss = convertToOffCanvasCss(editorCss[0]);
var offCanvasDialogCss = convertToOffCanvasCss(dialogCss[0]);
var cssToInsert = "#drupal-off-canvas .cke_inner * {background: transparent;}\n ".concat(offCanvasEditorCss, "\n ").concat(offCanvasDialogCss);
insertCss(cssToInsert);
if (CKEDITOR.timestamp && editorCssPath.indexOf(CKEDITOR.timestamp) !== -1 && dialogCssPath.indexOf(CKEDITOR.timestamp) !== -1) {
Object.keys(window.localStorage).forEach(function (key) {
if (key.indexOf('Drupal.off-canvas.css.') === 0) {
window.localStorage.removeItem(key);
}
});
window.localStorage.setItem("Drupal.off-canvas.css.".concat(editorCssPath).concat(dialogCssPath), cssToInsert);
}
});
};
addCkeditorOffCanvasCss();
})(jQuery, CKEDITOR);;