Importation du code de ckeditor 4.3.4 en conservant les développements Plinn et en...
[ckeditor.git] / skins / ckeditor / _source / plugins / colordialog / dialogs / colordialog.js
diff --git a/skins/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js b/skins/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js
deleted file mode 100644 (file)
index 61d411b..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-/*\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
-CKEDITOR.dialog.add( 'colordialog', function( editor )\r
-       {\r
-               // Define some shorthands.\r
-               var $el = CKEDITOR.dom.element,\r
-                       $doc = CKEDITOR.document,\r
-                       $tools = CKEDITOR.tools,\r
-                       lang = editor.lang.colordialog;\r
-\r
-               // Reference the dialog.\r
-               var dialog;\r
-\r
-               var spacer =\r
-               {\r
-                       type : 'html',\r
-                       html : ' '\r
-               };\r
-\r
-               function clearSelected()\r
-               {\r
-                       $doc.getById( selHiColorId ).removeStyle( 'background-color' );\r
-                       dialog.getContentElement( 'picker', 'selectedColor' ).setValue( '' );\r
-               }\r
-\r
-               function updateSelected( evt )\r
-               {\r
-                       if ( ! ( evt instanceof CKEDITOR.dom.event ) )\r
-                               evt = new CKEDITOR.dom.event( evt );\r
-\r
-                       var target = evt.getTarget(),\r
-                               color;\r
-\r
-                       if ( target.getName() == 'a' && ( color = target.getChild( 0 ).getHtml() ) )\r
-                               dialog.getContentElement( 'picker', 'selectedColor' ).setValue( color );\r
-               }\r
-\r
-               function updateHighlight( event )\r
-               {\r
-                       if ( ! ( event instanceof CKEDITOR.dom.event ) )\r
-                               event = event.data;\r
-\r
-                       var target = event.getTarget(),\r
-                                       color;\r
-\r
-                       if ( target.getName() == 'a' && ( color = target.getChild( 0 ).getHtml() ) )\r
-                       {\r
-                               $doc.getById( hicolorId ).setStyle( 'background-color', color );\r
-                               $doc.getById( hicolorTextId ).setHtml( color );\r
-                       }\r
-               }\r
-\r
-               function clearHighlight()\r
-               {\r
-                       $doc.getById( hicolorId ).removeStyle( 'background-color' );\r
-                       $doc.getById( hicolorTextId ).setHtml( ' ' );\r
-               }\r
-\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
-                               rtl = editor.lang.dir == 'rtl';\r
-\r
-                       switch ( keystroke )\r
-                       {\r
-                               // UP-ARROW\r
-                               case 38 :\r
-                                       // relative is TR\r
-                                       if ( ( relative = element.getParent().getParent().getPrevious() ) )\r
-                                       {\r
-                                               nodeToMove = relative.getChild( [element.getParent().getIndex(), 0] );\r
-                                               nodeToMove.focus();\r
-                                               onBlur( ev, element );\r
-                                               onFocus( ev, nodeToMove );\r
-                                       }\r
-                                       ev.preventDefault();\r
-                                       break;\r
-                               // DOWN-ARROW\r
-                               case 40 :\r
-                                       // relative is TR\r
-                                       if ( ( relative = element.getParent().getParent().getNext() ) )\r
-                                       {\r
-                                               nodeToMove = relative.getChild( [ element.getParent().getIndex(), 0 ] );\r
-                                               if ( nodeToMove && nodeToMove.type == 1 )\r
-                                               {\r
-                                                       nodeToMove.focus();\r
-                                                       onBlur( ev, element );\r
-                                                       onFocus( ev, nodeToMove );\r
-                                               }\r
-                                       }\r
-                                       ev.preventDefault();\r
-                                       break;\r
-                               // SPACE\r
-                               // ENTER is already handled as onClick\r
-                               case 32 :\r
-                                       onClick( ev );\r
-                                       ev.preventDefault();\r
-                                       break;\r
-\r
-                               // RIGHT-ARROW\r
-                               case rtl ? 37 : 39 :\r
-                                       // relative is TD\r
-                                       if ( ( relative = element.getParent().getNext() ) )\r
-                                       {\r
-                                               nodeToMove = relative.getChild( 0 );\r
-                                               if ( nodeToMove.type == 1 )\r
-                                               {\r
-                                                       nodeToMove.focus();\r
-                                                       onBlur( ev, element );\r
-                                                       onFocus( ev, nodeToMove );\r
-                                                       ev.preventDefault( true );\r
-                                               }\r
-                                               else\r
-                                                       onBlur( null, element );\r
-                                       }\r
-                                       // relative is TR\r
-                                       else if ( ( relative = element.getParent().getParent().getNext() ) )\r
-                                       {\r
-                                               nodeToMove = relative.getChild( [ 0, 0 ] );\r
-                                               if ( nodeToMove && nodeToMove.type == 1 )\r
-                                               {\r
-                                                       nodeToMove.focus();\r
-                                                       onBlur( ev, element );\r
-                                                       onFocus( ev, nodeToMove );\r
-                                                       ev.preventDefault( true );\r
-                                               }\r
-                                               else\r
-                                                       onBlur( null, element );\r
-                                       }\r
-                                       break;\r
-\r
-                               // LEFT-ARROW\r
-                               case rtl ? 39 : 37 :\r
-                                       // relative is TD\r
-                                       if ( ( relative = element.getParent().getPrevious() ) )\r
-                                       {\r
-                                               nodeToMove = relative.getChild( 0 );\r
-                                               nodeToMove.focus();\r
-                                               onBlur( ev, element );\r
-                                               onFocus( ev, nodeToMove );\r
-                                               ev.preventDefault( true );\r
-                                       }\r
-                                       // relative is TR\r
-                                       else if ( ( relative = element.getParent().getParent().getPrevious() ) )\r
-                                       {\r
-                                               nodeToMove = relative.getLast().getChild( 0 );\r
-                                               nodeToMove.focus();\r
-                                               onBlur( ev, element );\r
-                                               onFocus( ev, nodeToMove );\r
-                                               ev.preventDefault( true );\r
-                                       }\r
-                                       else\r
-                                               onBlur( null, element );\r
-                                       break;\r
-                               default :\r
-                                       // Do not stop not handled events.\r
-                                       return;\r
-                       }\r
-               });\r
-\r
-               function createColorTable()\r
-               {\r
-                       // Create the base colors array.\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
-\r
-                                       for ( var j = rangeB ; j < rangeB + 3 ; j++ )\r
-                                       {\r
-                                               for ( var n = 0 ; n < 6 ; n++ )\r
-                                               {\r
-                                                       appendColorCell( row, '#' + aColors[j] + aColors[n] + aColors[i] );\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-\r
-                       // This function create a single color cell in the color table.\r
-                       function appendColorCell( targetRow, color )\r
-                       {\r
-                               var cell = new $el( targetRow.insertCell( -1 ) );\r
-                               cell.setAttribute( 'class', 'ColorCell' );\r
-                               cell.setStyle( 'background-color', color );\r
-\r
-                               cell.setStyle( 'width', '15px' );\r
-                               cell.setStyle( 'height', '15px' );\r
-\r
-                               var index = cell.$.cellIndex + 1 + 18 * targetRow.rowIndex;\r
-                               cell.append( CKEDITOR.dom.element.createFromHtml(\r
-                                               '<a href="javascript: void(0);" role="option"' +\r
-                                               ' aria-posinset="' + index + '"' +\r
-                                               ' aria-setsize="' + 13 * 18 + '"' +\r
-                                               ' style="cursor: pointer;display:block;width:100%;height:100% " title="'+ CKEDITOR.tools.htmlEncode( color )+ '"' +\r
-                                               ' onkeydown="CKEDITOR.tools.callFunction( ' + onKeydownHandler + ', event, this )"' +\r
-                                               ' onclick="CKEDITOR.tools.callFunction(' + onClickHandler + ', event, this ); return false;"' +\r
-                                               ' tabindex="-1"><span class="cke_voice_label">' + color + '</span>&nbsp;</a>', CKEDITOR.document ) );\r
-                       }\r
-\r
-                       appendColorRow( 0, 0 );\r
-                       appendColorRow( 3, 0 );\r
-                       appendColorRow( 0, 3 );\r
-                       appendColorRow( 3, 3 );\r
-\r
-                       // Create the last row.\r
-                       var oRow = table.$.insertRow(-1) ;\r
-\r
-                       // Create the gray scale colors cells.\r
-                       for ( var n = 0 ; n < 6 ; n++ )\r
-                       {\r
-                               appendColorCell( oRow, '#' + aColors[n] + aColors[n] + aColors[n] ) ;\r
-                       }\r
-\r
-                       // Fill the row with black cells.\r
-                       for ( var i = 0 ; i < 12 ; i++ )\r
-                       {\r
-                               appendColorCell( oRow, '#000000' ) ;\r
-                       }\r
-               }\r
-\r
-               var table = new $el( 'table' );\r
-               createColorTable();\r
-               var html = table.getHtml();\r
-\r
-               var numbering = function( id )\r
-                       {\r
-                               return CKEDITOR.tools.getNextId() + '_' + id;\r
-                       },\r
-                       hicolorId = numbering( 'hicolor' ),\r
-                       hicolorTextId = numbering( 'hicolortext' ),\r
-                       selHiColorId = numbering( 'selhicolor' ),\r
-                       tableLabelId = numbering( 'color_table_label' );\r
-\r
-               return {\r
-                       title : lang.title,\r
-                       minWidth : 360,\r
-                       minHeight : 220,\r
-                       onLoad : function()\r
-                       {\r
-                               // Update reference.\r
-                               dialog = this;\r
-                       },\r
-                       contents : [\r
-                               {\r
-                                       id : 'picker',\r
-                                       label : lang.title,\r
-                                       accessKey : 'I',\r
-                                       elements :\r
-                                       [\r
-                                               {\r
-                                                       type : 'hbox',\r
-                                                       padding : 0,\r
-                                                       widths : [ '70%', '10%', '30%' ],\r
-                                                       children :\r
-                                                       [\r
-                                                               {\r
-                                                                       type : 'html',\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
-                                                                               var firstColor = this.getElement().getElementsByTag( 'a' ).getItem( 0 );\r
-                                                                               firstColor.focus();\r
-                                                                       }\r
-                                                               },\r
-                                                               spacer,\r
-                                                               {\r
-                                                                       type : 'vbox',\r
-                                                                       padding : 0,\r
-                                                                       widths : [ '70%', '5%', '25%' ],\r
-                                                                       children :\r
-                                                                       [\r
-                                                                               {\r
-                                                                                       type : 'html',\r
-                                                                                       html : '<span>' + lang.highlight +'</span>\\r
-                                                                                               <div id="' + hicolorId + '" style="border: 1px solid; height: 74px; width: 74px;"></div>\\r
-                                                                                               <div id="' + hicolorTextId + '">&nbsp;</div><span>' + lang.selected + '</span>\\r
-                                                                                               <div id="' + selHiColorId + '" style="border: 1px solid; height: 20px; width: 74px;"></div>'\r
-                                                                               },\r
-                                                                               {\r
-                                                                                       type : 'text',\r
-                                                                                       label : lang.selected,\r
-                                                                                       labelStyle: 'display:none',\r
-                                                                                       id : 'selectedColor',\r
-                                                                                       style : 'width: 74px',\r
-                                                                                       onChange : function()\r
-                                                                                       {\r
-                                                                                               // Try to update color preview with new value. If fails, then set it no none.\r
-                                                                                               try\r
-                                                                                               {\r
-                                                                                                       $doc.getById( selHiColorId ).setStyle( 'background-color', this.getValue() );\r
-                                                                                               }\r
-                                                                                               catch ( e )\r
-                                                                                               {\r
-                                                                                                       clearSelected();\r
-                                                                                               }\r
-                                                                                       }\r
-                                                                               },\r
-                                                                               spacer,\r
-                                                                               {\r
-                                                                                       type : 'button',\r
-                                                                                       id : 'clear',\r
-                                                                                       style : 'margin-top: 5px',\r
-                                                                                       label : lang.clear,\r
-                                                                                       onClick : clearSelected\r
-                                                                               }\r
-                                                                       ]\r
-                                                               }\r
-                                                       ]\r
-                                               }\r
-                                       ]\r
-                               }\r
-                       ]\r
-               };\r
-       }\r
-       );\r