X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fcolorbutton%2Fplugin.js;h=25e6ef444c167446d60869b82126a05672f1c10d;hb=refs%2Ftags%2Fv3.6.2;hp=0fb8c05e43d8ab7ffe8425ffb1fe710d617a7cc1;hpb=9afde8772159bd3436f1f5b7862960307710ae5a;p=ckeditor.git
diff --git a/_source/plugins/colorbutton/plugin.js b/_source/plugins/colorbutton/plugin.js
index 0fb8c05..25e6ef4 100644
--- a/_source/plugins/colorbutton/plugin.js
+++ b/_source/plugins/colorbutton/plugin.js
@@ -1,8 +1,13 @@
/*
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
+/**
+ * @fileOverview The "colorbutton" plugin that makes it possible to assign
+ * text and background colors to editor contents.
+ *
+ */
CKEDITOR.plugins.add( 'colorbutton',
{
requires : [ 'panelbutton', 'floatpanel', 'styles' ],
@@ -66,14 +71,14 @@ CKEDITOR.plugins.add( 'colorbutton',
color;
// Find the closest block element.
- block = path.block || path.blockLimit;
+ block = path.block || path.blockLimit || editor.document.getBody();
// The background color might be transparent. In that case, look up the color in the DOM tree.
do
{
color = block && block.getComputedStyle( type == 'back' ? 'background-color' : 'color' ) || 'transparent';
}
- while ( type == 'back' && color == 'transparent' && ( block = block.getParent() ) );
+ while ( type == 'back' && color == 'transparent' && block && ( block = block.getParent() ) );
// The box should never be transparent.
if ( !color || color == 'transparent' )
@@ -115,8 +120,7 @@ CKEDITOR.plugins.add( 'colorbutton',
editor.focus();
- panel.hide();
-
+ panel.hide( false );
editor.fire( 'saveSnapshot' );
@@ -137,8 +141,8 @@ CKEDITOR.plugins.add( 'colorbutton',
:
function( element )
{
- // Fore color style must be applied inside links instead of around it.
- return element.getName() != 'a' || isUnstylable( element );
+ // Fore color style must be applied inside links instead of around it. (#4772,#6908)
+ return !( element.is( 'a' ) || element.getElementsByTag( 'a' ).count() ) || isUnstylable( element );
};
new CKEDITOR.style( colorStyle, { color : color } ).apply( editor.document );
@@ -220,28 +224,30 @@ CKEDITOR.plugins.add( 'colorbutton',
function isUnstylable( ele )
{
- return ( ele.getAttribute( 'contentEditable' ) == 'false' ) || ele.getAttribute( 'data-cke-nostyle' );
+ return ( ele.getAttribute( 'contentEditable' ) == 'false' ) || ele.getAttribute( 'data-nostyle' );
}
}
});
/**
- * Whether to enable the "More Colors..." button in the color selectors.
- * @default true
+ * Whether to enable the More Colors button in the color selectors.
+ * @name CKEDITOR.config.colorButton_enableMore
+ * @default true
* @type Boolean
* @example
* config.colorButton_enableMore = false;
*/
/**
- * Defines the colors to be displayed in the color selectors. It's a string
- * containing the hexadecimal notation for HTML colors, without the "#" prefix.
- *
- * Since 3.3: A name may be optionally defined by prefixing the entries with the
- * name and the slash character. For example, "FontColor1/FF9900" will be
- * displayed as the color #FF9900 in the selector, but will be outputted as "FontColor1".
+ * Defines the colors to be displayed in the color selectors. This is a string
+ * containing hexadecimal notation for HTML colors, without the "#" prefix.
+ *
+ * Since 3.3: A color name may optionally be defined by prefixing the entries with
+ * a name and the slash character. For example, "FontColor1/FF9900" will be
+ * displayed as the color #FF9900 in the selector, but will be output as "FontColor1".
+ * @name CKEDITOR.config.colorButton_colors
* @type String
- * @default '000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF'
+ * @default '000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF'
* @example
* // Brazil colors only.
* config.colorButton_colors = '00923E,F8C100,28166F';
@@ -256,10 +262,12 @@ CKEDITOR.config.colorButton_colors =
'FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF';
/**
- * Holds the style definition to be used to apply the text foreground color.
+ * Stores the style definition that applies the text foreground color.
+ * @name CKEDITOR.config.colorButton_foreStyle
* @type Object
+ * @default (see example)
* @example
- * // This is basically the default setting value.
+ * // This is actually the default value.
* config.colorButton_foreStyle =
* {
* element : 'span',
@@ -274,10 +282,12 @@ CKEDITOR.config.colorButton_foreStyle =
};
/**
- * Holds the style definition to be used to apply the text background color.
+ * Stores the style definition that applies the text background color.
+ * @name CKEDITOR.config.colorButton_backStyle
* @type Object
+ * @default (see example)
* @example
- * // This is basically the default setting value.
+ * // This is actually the default value.
* config.colorButton_backStyle =
* {
* element : 'span',