/*\r
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
// Reference the dialog.\r
var dialog;\r
\r
- function spacer()\r
+ var spacer =\r
{\r
- return {\r
- type : 'html',\r
- html : ' '\r
- };\r
- }\r
+ type : 'html',\r
+ html : ' '\r
+ };\r
\r
function clearSelected()\r
{\r
\r
function updateSelected( evt )\r
{\r
- if ( ! (evt instanceof CKEDITOR.dom.event ) )\r
+ if ( ! ( evt instanceof CKEDITOR.dom.event ) )\r
evt = new CKEDITOR.dom.event( evt );\r
\r
var target = evt.getTarget(),\r
- color;\r
+ color;\r
\r
if ( target.getName() == 'a' && ( color = target.getChild( 0 ).getHtml() ) )\r
dialog.getContentElement( 'picker', 'selectedColor' ).setValue( color );\r
\r
function updateHighlight( event )\r
{\r
- if ( ! (event instanceof CKEDITOR.dom.event ) )\r
+ if ( ! ( event instanceof CKEDITOR.dom.event ) )\r
event = event.data;\r
\r
var target = event.getTarget(),\r
$doc.getById( hicolorTextId ).setHtml( ' ' );\r
}\r
\r
- var onMouseout = $tools.addFunction( clearHighlight );\r
-\r
- var onClick = updateSelected,\r
- onClickHandler = CKEDITOR.tools.addFunction( onClick );\r
-\r
- var onFocus = updateHighlight,\r
- onBlur = clearHighlight;\r
+ var onMouseout = $tools.addFunction( clearHighlight ),\r
+ onClick = updateSelected,\r
+ onClickHandler = CKEDITOR.tools.addFunction( onClick ),\r
+ onFocus = updateHighlight,\r
+ onBlur = clearHighlight;\r
\r
var onKeydownHandler = CKEDITOR.tools.addFunction( function( ev )\r
{\r
ev = new CKEDITOR.dom.event( ev );\r
var element = ev.getTarget();\r
var relative, nodeToMove;\r
- var keystroke = ev.getKeystroke();\r
- var rtl = editor.lang.dir == 'rtl';\r
+ var keystroke = ev.getKeystroke(),\r
+ rtl = editor.lang.dir == 'rtl';\r
\r
switch ( keystroke )\r
{\r
function createColorTable()\r
{\r
// Create the base colors array.\r
- var aColors = ['00','33','66','99','cc','ff'];\r
+ var aColors = [ '00', '33', '66', '99', 'cc', 'ff' ];\r
\r
// This function combines two ranges of three values from the color array into a row.\r
function appendColorRow( rangeA, rangeB )\r
{\r
for ( var i = rangeA ; i < rangeA + 3 ; i++ )\r
{\r
- var row = table.$.insertRow(-1);\r
+ var row = table.$.insertRow( -1 );\r
\r
for ( var j = rangeB ; j < rangeB + 3 ; j++ )\r
{\r
\r
var table = new $el( 'table' );\r
createColorTable();\r
+ var html = table.getHtml();\r
\r
var numbering = function( id )\r
{\r
- return id + CKEDITOR.tools.getNextNumber();\r
+ return CKEDITOR.tools.getNextId() + '_' + id;\r
},\r
hicolorId = numbering( 'hicolor' ),\r
hicolorTextId = numbering( 'hicolortext' ),\r
- selHiColorId = numbering( 'selhicolor' );\r
+ selHiColorId = numbering( 'selhicolor' ),\r
+ tableLabelId = numbering( 'color_table_label' );\r
\r
return {\r
title : lang.title,\r
[\r
{\r
type : 'html',\r
- html : '<table role="listbox" aria-labelledby="color_table_label" onmouseout="CKEDITOR.tools.callFunction( ' + onMouseout + ' );">' + table.getHtml() + '</table>' +\r
- '<span id="color_table_label" class="cke_voice_label">' + lang.options +'</span>',\r
+ html : '<table role="listbox" aria-labelledby="' + tableLabelId + '" onmouseout="CKEDITOR.tools.callFunction( ' + onMouseout + ' );">' +\r
+ ( !CKEDITOR.env.webkit ? html : '' ) +\r
+ '</table><span id="' + tableLabelId + '" class="cke_voice_label">' + lang.options +'</span>',\r
onLoad : function()\r
{\r
var table = CKEDITOR.document.getById( this.domId );\r
table.on( 'mouseover', updateHighlight );\r
+ // In WebKit, the table content must be inserted after this event call (#6150)\r
+ CKEDITOR.env.webkit && table.setHtml( html );\r
},\r
focus: function()\r
{\r
firstColor.focus();\r
}\r
},\r
- spacer(),\r
+ spacer,\r
{\r
type : 'vbox',\r
padding : 0,\r
}\r
}\r
},\r
- spacer(),\r
+ spacer,\r
{\r
type : 'button',\r
id : 'clear',\r