Ticket #5530: 5530_4.patch

File 5530_4.patch, 2.8 KB (added by Garry Yao, 14 years ago)
  • _source/plugins/pagebreak/plugin.js

     
    8484
    8585                var ranges = editor.getSelection().getRanges();
    8686
     87                editor.fire( 'saveSnapshot' );
     88
    8789                for ( var range, i = 0 ; i < ranges.length ; i++ )
    8890                {
    8991                        range = ranges[ i ];
     
    99101                                range.select();
    100102                        }
    101103                }
     104
     105                editor.fire( 'saveSnapshot' );
    102106        }
    103107};
  • _source/plugins/wysiwygarea/plugin.js

     
    191191                         && blockLimit.getName() == 'body'
    192192                         && !path.block )
    193193                {
     194                        editor.fire( 'updateSnapshot' );
    194195                        restoreDirty( editor );
    195196                        CKEDITOR.env.ie && restoreSelection( selection );
    196197
     
    245246
    246247                if ( walker.previous() )
    247248                {
     249                        editor.fire( 'updateSnapshot' );
    248250                        restoreDirty( editor );
    249251                        CKEDITOR.env.ie && restoreSelection( selection );
    250252
  • _source/plugins/undo/plugin.js

     
    114114                                // Create the first image.
    115115                                editor.fire( 'saveSnapshot' );
    116116                        };
     117
     118                        /**
     119                         * Update the undo stacks with any subsequent DOM changes after this call.
     120                         * @name CKEDITOR.editor#updateUndo
     121                         * @example
     122                         * function()
     123                         * {
     124                         * editor.fire( 'updateSnapshot' );
     125                         * ...
     126                         *  // Ask to include subsequent (in this call stack) DOM changes to be
     127                         * // considered as part of the first snapshot.
     128                         *      editor.fire( 'updateSnapshot' );
     129                         *      editor.document.body.append(...);
     130                         * ...
     131                         * }
     132                         */
     133                        editor.on( 'updateSnapshot', function()
     134                        {
     135                                if ( undoManager.currentImage && new Image( editor ).equals( undoManager.currentImage ) )
     136                                        setTimeout( function () { undoManager.update(); }, 0 );
     137                        });
    117138                }
    118139        });
    119140
     
    397418                        // Update current image with the actual editor
    398419                        // content, since actualy content may differ from
    399420                        // the original snapshot due to dom change. (#4622)
    400                         this.snapshots.splice( this.index, 1, ( this.currentImage =  new Image( this.editor ) ) );
    401 
     421                        this.update();
    402422                        this.fireChange();
    403423                },
    404424
     
    497517                        }
    498518
    499519                        return false;
     520                },
     521
     522                /**
     523                 * Update the last snapshot of the undo stack with the current editor content.
     524                 */
     525                update : function()
     526                {
     527                        this.snapshots.splice( this.index, 1, ( this.currentImage = new Image( this.editor ) ) );
    500528                }
    501529        };
    502530})();
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy