Make WordPress Core

Ticket #40974: 40974.2.diff

File 40974.2.diff, 1.4 KB (added by azaozz, 7 years ago)
  • src/wp-admin/js/widgets/text-widgets.js

     
    161161                                }
    162162
    163163                                control.editorFocused = false;
    164                                 triggerChangeIfDirty = function() {
     164
     165                                triggerChangeIfDirty = function( event ) {
    165166                                        var updateWidgetBuffer = 300; // See wp.customize.Widgets.WidgetControl._setupUpdateUI() which uses 250ms for updateWidgetDebounced.
    166                                         if ( editor.isDirty() ) {
     167                                        if ( editor.isDirty() || ( event && event.type === 'paste' ) ) {
    167168
    168169                                                /*
    169170                                                 * Account for race condition in customizer where user clicks Save & Publish while
     
    188189                                                textarea.trigger( 'change' );
    189190                                        }
    190191                                };
    191                                 editor.on( 'focus', function() {
     192                                editor.on( 'focus', function onEditorFocus() {
    192193                                        control.editorFocused = true;
    193194                                });
     195                                editor.on( 'paste', function onEditorPaste( event ) {
     196                                        triggerChangeIfDirty( event );
     197                                });
    194198                                editor.on( 'NodeChange', _.debounce( triggerChangeIfDirty, changeDebounceDelay ) );
    195                                 editor.on( 'blur', function() {
     199                                editor.on( 'blur hide', function onEditorBlur( event ) {
    196200                                        control.editorFocused = false;
    197                                         triggerChangeIfDirty();
     201                                        triggerChangeIfDirty( event );
    198202                                });
    199203
    200204                                control.editor = editor;