X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fsmiley%2Fdialogs%2Fsmiley.js;h=dee24184cdfbcf731aaefec617b74f0d0a925d05;hb=3fe9cac293e090ea459a3ee10d78cbe9e1dd0e03;hp=1fae1210a9e1e83e3ab4ba1a6e3635d3134d6c00;hpb=e7789c1ad838194d45eeee6ac2eb6e55f5cf35a1;p=ckeditor.git diff --git a/_source/plugins/smiley/dialogs/smiley.js b/_source/plugins/smiley/dialogs/smiley.js index 1fae121..dee2418 100644 --- a/_source/plugins/smiley/dialogs/smiley.js +++ b/_source/plugins/smiley/dialogs/smiley.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -8,7 +8,7 @@ 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; /** @@ -21,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; @@ -36,9 +34,11 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) attributes : { src : src, - _cke_saved_src : src, + 'data-cke-saved-src' : src, title : title, - alt : title + alt : title, + width : target.$.width, + height : target.$.height } }); @@ -54,8 +54,8 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) element = new CKEDITOR.dom.element( element ); var relative, nodeToMove; - var keystroke = ev.getKeystroke(); - var rtl = editor.lang.dir == 'rtl'; + var keystroke = ev.getKeystroke(), + rtl = editor.lang.dir == 'rtl'; switch ( keystroke ) { // UP-ARROW @@ -88,8 +88,6 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) // RIGHT-ARROW case rtl ? 37 : 39 : - // TAB - case 9 : // relative is TD if ( ( relative = element.getParent().getNext() ) ) { @@ -109,8 +107,6 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) // LEFT-ARROW case rtl ? 39 : 37 : - // SHIFT + TAB - case CKEDITOR.SHIFT + 9 : // relative is TD if ( ( relative = element.getParent().getPrevious() ) ) { @@ -133,11 +129,12 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) }); // Build the HTML for the smiley images table. + var labelId = CKEDITOR.tools.getNextId() + '_smiley_emtions_label'; var html = [ '
' + - '' + lang.options +'', - '' + lang.options +'', + '
' ]; @@ -146,22 +143,23 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) for ( i = 0 ; i < size ; i++ ) { if ( i % columns === 0 ) - html.push( '' ); + html.push( '' ); + var smileyLabelId = 'cke_smile_label_' + i + '_' + CKEDITOR.tools.getNextNumber(); html.push( - '' ); @@ -181,16 +179,22 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) var smileySelector = { type : 'html', + id : 'smileySelector', html : html.join( '' ), onLoad : function( event ) { dialog = event.sender; }, focus : function() - { - var firstSmile = this.getElement().getElementsByTag( 'a' ).getItem( 0 ); - firstSmile.focus(); - }, + { + var self = this; + // IE need a while to move the focus (#6539). + setTimeout( function () + { + var firstSmile = self.getElement().getElementsByTag( 'a' ).getItem( 0 ); + firstSmile.focus(); + }, 0 ); + }, onClick : onClick, style : 'width: 100%; border-collapse: separate;' };
' + + '