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 = [ '
' + '' + character + '' + - '' + + '' + charDesc + ''); } @@ -314,7 +320,7 @@ CKEDITOR.dialog.add( 'specialchar', function( editor ) html.push( '' ); } - html.push( ' |