// Backup $ and reset it to jQuery. Drupal.wysiwyg._openwysiwyg = $; $ = jQuery; // Wrap openWYSIWYG's methods to temporarily use its version of $. jQuery.each(WYSIWYG, function (key, value) { if (jQuery.isFunction(value)) { WYSIWYG[key] = function () { var old$ = $; $ = Drupal.wysiwyg._openwysiwyg; var result = value.apply(this, arguments); $ = old$; return result; }; } }); // Override editor functions. WYSIWYG.getEditor = function (n) { return Drupal.wysiwyg._openwysiwyg("wysiwyg" + n); }; (function($) { /** * Attach this editor to a target element. */ Drupal.wysiwyg.editor.attach.openwysiwyg = function(context, params, settings) { // Initialize settings. settings.ImagesDir = settings.path + 'images/'; settings.PopupsDir = settings.path + 'popups/'; settings.CSSFile = settings.path + 'styles/wysiwyg.css'; //settings.DropDowns = []; var config = new WYSIWYG.Settings(); for (var setting in settings) { config[setting] = settings[setting]; } // Attach editor. WYSIWYG.setSettings(params.field, config); WYSIWYG_Core.includeCSS(WYSIWYG.config[params.field].CSSFile); WYSIWYG._generate(params.field, config); }; /** * Detach a single or all editors. */ Drupal.wysiwyg.editor.detach.openwysiwyg = function(context, params) { if (typeof params != 'undefined') { var instance = WYSIWYG.config[params.field]; if (typeof instance != 'undefined') { WYSIWYG.updateTextArea(params.field); jQuery('#wysiwyg_div_' + params.field).remove(); delete instance; } jQuery('#' + params.field).show(); } else { jQuery.each(WYSIWYG.config, function(field) { WYSIWYG.updateTextArea(field); jQuery('#wysiwyg_div_' + field).remove(); delete this; jQuery('#' + field).show(); }); } }; })(jQuery);