diff --git a/src/toolbar/balloon/balloontoolbar.js b/src/toolbar/balloon/balloontoolbar.js index f1e4c62a..827946bd 100644 --- a/src/toolbar/balloon/balloontoolbar.js +++ b/src/toolbar/balloon/balloontoolbar.js @@ -167,9 +167,8 @@ export default class BalloonToolbar extends Plugin { return; } - // Update the toolbar position upon change (e.g. external document changes) - // while it's visible. - this.listenTo( this.editor.editing.view, 'render', () => { + // Update the toolbar position when the editor ui should be refreshed. + this.listenTo( this.editor.ui, 'update', () => { this._balloon.updatePosition( this._getBalloonPositionData() ); } ); @@ -186,7 +185,7 @@ export default class BalloonToolbar extends Plugin { */ hide() { if ( this._balloon.hasView( this.toolbarView ) ) { - this.stopListening( this.editor.editing.view, 'render' ); + this.stopListening( this.editor.ui, 'update' ); this._balloon.remove( this.toolbarView ); } } diff --git a/src/toolbar/block/blocktoolbar.js b/src/toolbar/block/blocktoolbar.js index e11e6d28..6d0bbb16 100644 --- a/src/toolbar/block/blocktoolbar.js +++ b/src/toolbar/block/blocktoolbar.js @@ -230,7 +230,7 @@ export default class BlockToolbar extends Plugin { } } ); - this.listenTo( view, 'render', () => { + this.listenTo( editor.ui, 'update', () => { // Get first selected block, button will be attached to this element. modelTarget = Array.from( model.document.selection.getSelectedBlocks() )[ 0 ]; diff --git a/tests/toolbar/balloon/balloontoolbar.js b/tests/toolbar/balloon/balloontoolbar.js index 1d7f7aa3..906ce89a 100644 --- a/tests/toolbar/balloon/balloontoolbar.js +++ b/tests/toolbar/balloon/balloontoolbar.js @@ -275,17 +275,17 @@ describe( 'BalloonToolbar', () => { expect( targetRect ).to.deep.equal( backwardSelectionRect ); } ); - it( 'should update balloon position on view#change event while balloon is added to the #_balloon', () => { + it( 'should update balloon position on ui#update event while balloon is added to the #_balloon', () => { setData( model, 'b[a]r' ); const spy = sandbox.spy( balloon, 'updatePosition' ); - editingView.fire( 'render' ); + editor.ui.fire( 'update' ); balloonToolbar.show(); sinon.assert.notCalled( spy ); - editingView.fire( 'render' ); + editor.ui.fire( 'update' ); sinon.assert.calledOnce( spy ); } ); @@ -369,7 +369,7 @@ describe( 'BalloonToolbar', () => { sinon.assert.calledWithExactly( removeBalloonSpy, balloonToolbar.toolbarView ); } ); - it( 'should stop update balloon position on ViewDocument#change event', () => { + it( 'should stop update balloon position on ui#update event', () => { setData( model, 'b[a]r' ); const spy = sandbox.spy( balloon, 'updatePosition' ); @@ -377,7 +377,7 @@ describe( 'BalloonToolbar', () => { balloonToolbar.show(); balloonToolbar.hide(); - editingView.fire( 'render' ); + editor.ui.fire( 'update' ); sinon.assert.notCalled( spy ); } ); diff --git a/tests/toolbar/block/blocktoolbar.js b/tests/toolbar/block/blocktoolbar.js index 9e26cc92..a5194195 100644 --- a/tests/toolbar/block/blocktoolbar.js +++ b/tests/toolbar/block/blocktoolbar.js @@ -226,7 +226,7 @@ describe( 'BlockToolbar', () => { expect( blockToolbar.buttonView.isVisible ).to.be.true; } ); - it( 'should not display the button when the selection is placed in a root element', () => { + it( 'should not display the button when the selection is placed in the root element', () => { editor.model.schema.extend( '$text', { allowIn: '$root' } ); setData( editor.model, 'foo[]bar' ); @@ -291,7 +291,7 @@ describe( 'BlockToolbar', () => { height: 100 } ); - editor.editing.view.fire( 'render' ); + editor.ui.fire( 'update' ); expect( blockToolbar.buttonView.top ).to.equal( 470 ); expect( blockToolbar.buttonView.left ).to.equal( 100 ); @@ -326,24 +326,24 @@ describe( 'BlockToolbar', () => { height: 100 } ); - editor.editing.view.fire( 'render' ); + editor.ui.fire( 'update' ); expect( blockToolbar.buttonView.top ).to.equal( 472 ); expect( blockToolbar.buttonView.left ).to.equal( 100 ); } ); - it( 'should reposition the #panelView when open on view#render', () => { + it( 'should reposition the #panelView when open on ui#update', () => { blockToolbar.panelView.isVisible = false; const spy = testUtils.sinon.spy( blockToolbar.panelView, 'pin' ); - editor.editing.view.fire( 'render' ); + editor.ui.fire( 'update' ); sinon.assert.notCalled( spy ); blockToolbar.panelView.isVisible = true; - editor.editing.view.fire( 'render' ); + editor.ui.fire( 'update' ); sinon.assert.calledWith( spy, { target: blockToolbar.buttonView.element, @@ -351,12 +351,12 @@ describe( 'BlockToolbar', () => { } ); } ); - it( 'should not reset the toolbar focus on view#render', () => { + it( 'should not reset the toolbar focus on ui#update', () => { blockToolbar.panelView.isVisible = true; const spy = testUtils.sinon.spy( blockToolbar.toolbarView, 'focus' ); - editor.editing.view.fire( 'render' ); + editor.ui.fire( 'update' ); sinon.assert.notCalled( spy ); } );