Esanders has uploaded a new change for review. https://gerrit.wikimedia.org/r/64917
Change subject: Remove resize handles on surface teardown ...................................................................... Remove resize handles on surface teardown Add teardown call to surface destruction in mw target, and teardown listener to resizeable node. Bug: 48530 Change-Id: I807a0f32d3d1eb490456d887f7bf867bdb896df4 --- M modules/ve/ce/ve.ce.ResizableNode.js M modules/ve/ce/ve.ce.View.js M modules/ve/init/mw/targets/ve.init.mw.ViewPageTarget.js 3 files changed, 34 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor refs/changes/17/64917/1 diff --git a/modules/ve/ce/ve.ce.ResizableNode.js b/modules/ve/ce/ve.ce.ResizableNode.js index f15a8ad..50f7bc6 100644 --- a/modules/ve/ce/ve.ce.ResizableNode.js +++ b/modules/ve/ce/ve.ce.ResizableNode.js @@ -22,7 +22,11 @@ this.$resizeHandles = $( '<div>' ); // Events - this.connect( this, { 'focus': 'onResizableFocus', 'blur': 'onResizableBlur' } ); + this.connect( this, { + 'focus': 'onResizableFocus', + 'blur': 'onResizableBlur', + 'setup': 'onResizableSetup' + } ); // Initialization this.$resizeHandles @@ -79,6 +83,24 @@ }; /** + * Handle setup event. + * + * @method + */ +ve.ce.ResizableNode.prototype.onResizableSetup = function () { + this.root.getSurface().connect( this, { 'teardown': 'onResizableTeardown' } ); +}; + +/** + * Handle teardown event. + * + * @method + */ +ve.ce.ResizableNode.prototype.onResizableTeardown = function () { + this.$resizeHandles.detach(); +}; + +/** * Handle bounding box handle mousedown. * * @method diff --git a/modules/ve/ce/ve.ce.View.js b/modules/ve/ce/ve.ce.View.js index 0b348d6..a286112 100644 --- a/modules/ve/ce/ve.ce.View.js +++ b/modules/ve/ce/ve.ce.View.js @@ -53,6 +53,14 @@ * @event live */ +/** + * @event setup + */ + +/** + * @event teardown + */ + /* Static Members */ /** @@ -135,6 +143,8 @@ * @method * @param {boolean} live The view has been attached to the live DOM (use false on detach) * @emits live + * @emits setup + * @emits teardown */ ve.ce.View.prototype.setLive = function ( live ) { this.live = live; diff --git a/modules/ve/init/mw/targets/ve.init.mw.ViewPageTarget.js b/modules/ve/init/mw/targets/ve.init.mw.ViewPageTarget.js index 3400ae9..381e2c1 100644 --- a/modules/ve/init/mw/targets/ve.init.mw.ViewPageTarget.js +++ b/modules/ve/init/mw/targets/ve.init.mw.ViewPageTarget.js @@ -810,6 +810,7 @@ if ( this.surface ) { this.editor.destroy(); this.editor = null; + this.surface.view.emit( 'teardown' ); this.surface.destroy(); this.surface = null; } -- To view, visit https://gerrit.wikimedia.org/r/64917 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I807a0f32d3d1eb490456d887f7bf867bdb896df4 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/VisualEditor Gerrit-Branch: master Gerrit-Owner: Esanders <esand...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits