X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fsmiley%2Fdialogs%2Fsmiley.js;h=5d05d95e2c23393f9bfe8771c1541f1f309cb29f;hb=055b6b0792ce7dc53d47af606b367c04b927c2ab;hp=7285ce5e89ee1463732edbccb1aa74737a9361e2;hpb=941b0a9ba4e673e292510d80a5a86806994b8ea6;p=ckeditor.git diff --git a/_source/plugins/smiley/dialogs/smiley.js b/_source/plugins/smiley/dialogs/smiley.js index 7285ce5..5d05d95 100644 --- a/_source/plugins/smiley/dialogs/smiley.js +++ b/_source/plugins/smiley/dialogs/smiley.js @@ -6,8 +6,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.dialog.add( 'smiley', function( editor ) { var config = editor.config, + lang = editor.lang.smiley, images = config.smiley_images, - columns = 8, + columns = config.smiley_columns || 8, i; /** @@ -20,9 +21,7 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) var target = evt.data.getTarget(), targetName = target.getName(); - if ( targetName == 'td' ) - target = target.getChild( [ 0, 0 ] ); - else if ( targetName == 'a' ) + if ( targetName == 'a' ) target = target.getChild( 0 ); else if ( targetName != 'img' ) return; @@ -44,6 +43,7 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) editor.insertElement( img ); dialog.hide(); + evt.data.preventDefault(); }; var onKeydown = CKEDITOR.tools.addFunction( function( ev, element ) @@ -53,28 +53,9 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) var relative, nodeToMove; var keystroke = ev.getKeystroke(); + var rtl = editor.lang.dir == 'rtl'; switch ( keystroke ) { - // RIGHT-ARROW - case 39 : - // relative is TD - if ( ( relative = element.getParent().getNext() ) ) - { - nodeToMove = relative.getChild( 0 ); - nodeToMove.focus(); - } - ev.preventDefault(); - break; - // LEFT-ARROW - case 37 : - // relative is TD - if ( ( relative = element.getParent().getPrevious() ) ) - { - nodeToMove = relative.getChild( 0 ); - nodeToMove.focus(); - } - ev.preventDefault(); - break; // UP-ARROW case 38 : // relative is TR @@ -102,6 +83,9 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) onClick( { data: ev } ); ev.preventDefault(); break; + + // RIGHT-ARROW + case rtl ? 37 : 39 : // TAB case 9 : // relative is TD @@ -120,6 +104,9 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) ev.preventDefault(true); } break; + + // LEFT-ARROW + case rtl ? 39 : 37 : // SHIFT + TAB case CKEDITOR.SHIFT + 9 : // relative is TD @@ -144,27 +131,37 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) }); // Build the HTML for the smiley images table. + var labelId = 'smiley_emtions_label' + CKEDITOR.tools.getNextNumber(); var html = [ - '' + + '' + lang.options +'', + '
' ]; - for ( i = 0 ; i < images.length ; i++ ) + var size = images.length; + for ( i = 0 ; i < size ; i++ ) { if ( i % columns === 0 ) html.push( '' ); + var smileyLabelId = 'cke_smile_label_' + i + '_' + CKEDITOR.tools.getNextNumber(); html.push( - '' ); @@ -179,7 +176,7 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) html.push( '' ); } - html.push( '
' + - '', - '' + + '', + '', config.smiley_descriptions[i], '' + + '' +config.smiley_descriptions[ i ] + '' + '', '
' ); + html.push( '' ); var smileySelector = { @@ -191,11 +188,11 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) }, focus : function() { - var firstSmile = this.getElement().getChild( [0, 0, 0, 0] ); + var firstSmile = this.getElement().getElementsByTag( 'a' ).getItem( 0 ); firstSmile.focus(); }, onClick : onClick, - style : 'width: 100%; height: 100%; border-collapse: separate;' + style : 'width: 100%; border-collapse: separate;' }; return {