Ticket #5170: 5170_2.patch

File 5170_2.patch, 1.3 KB (added by brooks, 14 years ago)
  • _source/plugins/specialchar/dialogs/specialchar.js

     
    1111         */
    1212        var dialog,
    1313                lang = editor.lang.specialChar;
     14       
     15        var insertSpecialChar = function ( specialChar )
     16        {
     17                var selection = editor.getSelection(),
     18                        ranges    = selection.getRanges(),
     19                        range, textNode;
     20                               
     21                editor.fire( 'saveSnapshot' );
     22               
     23                for ( var i = 0, len = ranges.length ; i < len ; i++ )
     24                {
     25                        range = ranges[ i ];
     26                        range.deleteContents();
     27                       
     28                        textNode =  CKEDITOR.dom.element.createFromHtml( specialChar );
     29                        range.insertNode( textNode );
     30                }
     31               
     32                range.moveToPosition( textNode, CKEDITOR.POSITION_AFTER_END );
     33                range.select();
     34               
     35                editor.fire( 'saveSnapshot' );
     36        };
     37       
    1438        var onChoice = function( evt )
    1539        {
    1640                var target, value;
     
    2347                {
    2448                        target.removeClass( "cke_light_background" );
    2549                        dialog.hide();
    26                         editor.insertHtml( value );
     50                       
     51                        // Firefox has bug on insert chars into a element use its own API. (#5170)
     52                        if ( CKEDITOR.env.gecko )
     53                                insertSpecialChar( value );
     54                        else
     55                                editor.insertHtml( value );
    2756                }
    2857        };
    2958
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy