annotate sites/all/modules/wysiwyg/editors/js/fckeditor.config.js @ 13:134d4b2e75f6

updated quicktabs and google analytics modules
author danieleb <danielebarchiesi@me.com>
date Tue, 29 Oct 2013 13:48:59 +0000
parents ff03f76ab3fe
children
rev   line source
danielebarchiesi@0 1
danielebarchiesi@0 2 Drupal = window.parent.Drupal;
danielebarchiesi@0 3
danielebarchiesi@0 4 /**
danielebarchiesi@0 5 * Fetch and provide original editor settings as local variable.
danielebarchiesi@0 6 *
danielebarchiesi@0 7 * FCKeditor does not support to pass complex variable types to the editor.
danielebarchiesi@0 8 * Instance settings passed to FCKinstance.Config are temporarily stored in
danielebarchiesi@0 9 * FCKConfig.PageConfig.
danielebarchiesi@0 10 */
danielebarchiesi@0 11 var wysiwygFormat = FCKConfig.PageConfig.wysiwygFormat;
danielebarchiesi@0 12 var wysiwygSettings = Drupal.settings.wysiwyg.configs.fckeditor[wysiwygFormat];
danielebarchiesi@0 13 var pluginSettings = (Drupal.settings.wysiwyg.plugins[wysiwygFormat] ? Drupal.settings.wysiwyg.plugins[wysiwygFormat] : { 'native': {}, 'drupal': {} });
danielebarchiesi@0 14
danielebarchiesi@0 15 /**
danielebarchiesi@0 16 * Apply format-specific settings.
danielebarchiesi@0 17 */
danielebarchiesi@0 18 for (var setting in wysiwygSettings) {
danielebarchiesi@0 19 if (setting == 'buttons') {
danielebarchiesi@0 20 // Apply custom Wysiwyg toolbar for this format.
danielebarchiesi@0 21 // FCKConfig.ToolbarSets['Wysiwyg'] = wysiwygSettings.buttons;
danielebarchiesi@0 22
danielebarchiesi@0 23 // Temporarily stack buttons into multiple button groups and remove
danielebarchiesi@0 24 // separators until #277954 is solved.
danielebarchiesi@0 25 FCKConfig.ToolbarSets['Wysiwyg'] = [];
danielebarchiesi@0 26 for (var i = 0; i < wysiwygSettings.buttons[0].length; i++) {
danielebarchiesi@0 27 FCKConfig.ToolbarSets['Wysiwyg'].push([wysiwygSettings.buttons[0][i]]);
danielebarchiesi@0 28 }
danielebarchiesi@0 29 FCKTools.AppendStyleSheet(document, '#xToolbar .TB_Start { display:none; }');
danielebarchiesi@0 30 // Set valid height of select element in silver and office2003 skins.
danielebarchiesi@0 31 if (FCKConfig.SkinPath.match(/\/office2003\/$/)) {
danielebarchiesi@0 32 FCKTools.AppendStyleSheet(document, '#xToolbar .SC_FieldCaption { height: 24px; } #xToolbar .TB_End { display: none; }');
danielebarchiesi@0 33 }
danielebarchiesi@0 34 else if (FCKConfig.SkinPath.match(/\/silver\/$/)) {
danielebarchiesi@0 35 FCKTools.AppendStyleSheet(document, '#xToolbar .SC_FieldCaption { height: 27px; }');
danielebarchiesi@0 36 }
danielebarchiesi@0 37 }
danielebarchiesi@0 38 else {
danielebarchiesi@0 39 FCKConfig[setting] = wysiwygSettings[setting];
danielebarchiesi@0 40 }
danielebarchiesi@0 41 }
danielebarchiesi@0 42
danielebarchiesi@0 43 // Fix Drupal toolbar obscuring editor toolbar in fullscreen mode.
danielebarchiesi@0 44 var oldFitWindowExecute = FCKFitWindow.prototype.Execute;
danielebarchiesi@0 45 var $drupalToolbar = window.parent.jQuery('#toolbar', Drupal.overlayChild ? window.parent.window.parent.document : window.parent.document);
danielebarchiesi@0 46 FCKFitWindow.prototype.Execute = function() {
danielebarchiesi@0 47 oldFitWindowExecute.apply(this, arguments);
danielebarchiesi@0 48 if (this.IsMaximized) {
danielebarchiesi@0 49 $drupalToolbar.hide();
danielebarchiesi@0 50 }
danielebarchiesi@0 51 else {
danielebarchiesi@0 52 $drupalToolbar.show();
danielebarchiesi@0 53 }
danielebarchiesi@0 54 }
danielebarchiesi@0 55
danielebarchiesi@0 56 /**
danielebarchiesi@0 57 * Initialize this editor instance.
danielebarchiesi@0 58 */
danielebarchiesi@0 59 Drupal.wysiwyg.editor.instance.fckeditor.init(window);
danielebarchiesi@0 60
danielebarchiesi@0 61 /**
danielebarchiesi@0 62 * Register native plugins for this input format.
danielebarchiesi@0 63 *
danielebarchiesi@0 64 * Parameters to Plugins.Add are:
danielebarchiesi@0 65 * - Plugin name.
danielebarchiesi@0 66 * - Languages the plugin is available in.
danielebarchiesi@0 67 * - Location of the plugin folder; <plugin_name>/fckplugin.js is appended.
danielebarchiesi@0 68 */
danielebarchiesi@0 69 for (var plugin in pluginSettings['native']) {
danielebarchiesi@0 70 // Languages and path may be undefined for internal plugins.
danielebarchiesi@0 71 FCKConfig.Plugins.Add(plugin, pluginSettings['native'][plugin].languages, pluginSettings['native'][plugin].path);
danielebarchiesi@0 72 }
danielebarchiesi@0 73
danielebarchiesi@0 74 /**
danielebarchiesi@0 75 * Register Drupal plugins for this input format.
danielebarchiesi@0 76 *
danielebarchiesi@0 77 * Parameters to addPlugin() are:
danielebarchiesi@0 78 * - Plugin name.
danielebarchiesi@0 79 * - Format specific plugin settings.
danielebarchiesi@0 80 * - General plugin settings.
danielebarchiesi@0 81 * - A reference to this window so the plugin setup can access FCKConfig.
danielebarchiesi@0 82 */
danielebarchiesi@0 83 for (var plugin in pluginSettings.drupal) {
danielebarchiesi@0 84 Drupal.wysiwyg.editor.instance.fckeditor.addPlugin(plugin, pluginSettings.drupal[plugin], Drupal.settings.wysiwyg.plugins.drupal[plugin], window);
danielebarchiesi@0 85 }
danielebarchiesi@0 86