X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fspecialchar%2Fdialogs%2Fspecialchar.js;h=5e706c763d92c3148171e1fbd671bbca8b2f156c;hb=c9fdde67e6384bd5a66adc2b3bba5c4ce9db56c7;hp=b419cf585dcec460a8c5087a79765b24b0c1fb23;hpb=e7789c1ad838194d45eeee6ac2eb6e55f5cf35a1;p=ckeditor.git diff --git a/_source/plugins/specialchar/dialogs/specialchar.js b/_source/plugins/specialchar/dialogs/specialchar.js index b419cf5..5e706c7 100644 --- a/_source/plugins/specialchar/dialogs/specialchar.js +++ b/_source/plugins/specialchar/dialogs/specialchar.js @@ -15,22 +15,25 @@ CKEDITOR.dialog.add( 'specialchar', function( editor ) var insertSpecialChar = function ( specialChar ) { var selection = editor.getSelection(), - ranges = selection.getRanges(), + ranges = selection.getRanges( true ), range, textNode; editor.fire( 'saveSnapshot' ); - for ( var i = 0, len = ranges.length ; i < len ; i++ ) + for ( var i = ranges.length - 1; i >= 0 ; i-- ) { range = ranges[ i ]; range.deleteContents(); - textNode = CKEDITOR.dom.element.createFromHtml( specialChar ); + textNode = CKEDITOR.dom.element.createFromHtml( specialChar ); range.insertNode( textNode ); } - range.moveToPosition( textNode, CKEDITOR.POSITION_AFTER_END ); - range.select(); + if ( range ) + { + range.moveToPosition( textNode, CKEDITOR.POSITION_AFTER_END ); + range.select(); + } editor.fire( 'saveSnapshot' ); }; @@ -262,7 +265,8 @@ CKEDITOR.dialog.add( 'specialchar', function( editor ) var columns = this.definition.charColumns, chars = this.definition.chars; - var html = [ '' ]; @@ -289,12 +293,14 @@ CKEDITOR.dialog.add( 'specialchar', function( editor ) // Use character in case description unavailable. charDesc = charDesc || character; + var charLabelId = 'cke_specialchar_label_' + i + '_' + CKEDITOR.tools.getNextNumber(); + html.push( '' ); } - html.push( '
', '' + lang.options +'' ); + html.push( '', '' + lang.options +'' ); this.getContentElement( 'info', 'charContainer' ).getElement().setHtml( html.join( '' ) ); }, @@ -345,7 +351,7 @@ CKEDITOR.dialog.add( 'specialchar', function( editor ) { firstChar.focus(); onFocus( null, firstChar ); - }); + }, 0 ); }, onShow : function() { @@ -354,7 +360,7 @@ CKEDITOR.dialog.add( 'specialchar', function( editor ) { firstChar.focus(); onFocus( null, firstChar ); - }); + }, 0 ); }, onLoad : function( event ) {