Esanders has uploaded a new change for review. https://gerrit.wikimedia.org/r/322705
Change subject: Use surface dialog manager for diff window ...................................................................... Use surface dialog manager for diff window * Move diffElement construction to getSetupProcess * Pass oldDoc & newDoc as arguments to window Change-Id: Ifb86eaaac346a1978e744a281258700edb6f0a60 --- M build/modules.json M demos/ve/ve.demo.SurfaceContainer.js M src/ui/dialogs/ve.ui.DiffDialog.js 3 files changed, 27 insertions(+), 14 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor refs/changes/05/322705/1 diff --git a/build/modules.json b/build/modules.json index d50d6ba..08b3e84 100644 --- a/build/modules.json +++ b/build/modules.json @@ -491,6 +491,7 @@ "src/ui/dialogs/ve.ui.NodeDialog.js", "src/ui/dialogs/ve.ui.ToolbarDialog.js", "src/ui/dialogs/ve.ui.CommandHelpDialog.js", + "src/ui/dialogs/ve.ui.DiffDialog.js", "src/ui/dialogs/ve.ui.FindAndReplaceDialog.js", "src/ui/dialogs/ve.ui.ProgressDialog.js", "src/ui/dialogs/ve.ui.SpecialCharacterDialog.js", diff --git a/demos/ve/ve.demo.SurfaceContainer.js b/demos/ve/ve.demo.SurfaceContainer.js index 1ba1f68..fa44307 100644 --- a/demos/ve/ve.demo.SurfaceContainer.js +++ b/demos/ve/ve.demo.SurfaceContainer.js @@ -81,9 +81,10 @@ removeButton.on( 'click', this.destroy.bind( this ) ); saveButton.on( 'click', this.save.bind( this ) ); diffButton.on( 'click', function () { - var windowManager = new OO.ui.WindowManager( { factory: ve.ui.windowFactory } ); - $( 'body' ).append( windowManager.$element ); - windowManager.openWindow( 'diff' ); + container.surface.dialogs.openWindow( 'diff', { + oldDoc: container.oldDoc, + newDoc: container.surface.model.documentModel + } ); } ); this.$element.addClass( 've-demo-surfaceContainer' ).append( @@ -288,7 +289,7 @@ this.target.setSurface( this.surface ); dmDoc = this.surface.getModel().getDocument(); - this.target.oldDoc = dmDoc.cloneFromRange( new ve.Range( 0, dmDoc.data.getLength() ) ); + this.oldDoc = dmDoc.cloneFromRange(); this.$surfaceWrapper.empty().append( this.surface.$element.parent() ) .hide().slideDown().promise().done( function () { diff --git a/src/ui/dialogs/ve.ui.DiffDialog.js b/src/ui/dialogs/ve.ui.DiffDialog.js index c2f6c78..d1da2a4 100644 --- a/src/ui/dialogs/ve.ui.DiffDialog.js +++ b/src/ui/dialogs/ve.ui.DiffDialog.js @@ -36,25 +36,36 @@ /* Methods */ +/** + * @inheritdoc + */ ve.ui.DiffDialog.prototype.initialize = function () { - var visualDiff, diffElement; - // Parent method ve.ui.DiffDialog.parent.prototype.initialize.apply( this, arguments ); - - visualDiff = new ve.dm.VisualDiff( ve.init.target.oldDoc, ve.init.target.surface.model.documentModel ); - diffElement = new ve.ui.DiffElement( visualDiff ); this.content = new OO.ui.PanelLayout( { padded: true, expanded: true } ); - this.$body.append( - this.content.$element.append( - diffElement.$element - ) - ); + this.$body.append( this.content.$element ); +}; + +/** + * @inheritdoc + */ +ve.ui.DiffDialog.prototype.getSetupProcess = function ( data ) { + return ve.ui.DiffDialog.super.prototype.getSetupProcess.call( this, data ) + .next( function () { + + var visualDiff, diffElement; + visualDiff = new ve.dm.VisualDiff( data.oldDoc, data.newDoc ); + diffElement = new ve.ui.DiffElement( visualDiff ); + + this.content.$element.empty().append( + diffElement.$element + ); + }, this ); }; /* Registration */ -- To view, visit https://gerrit.wikimedia.org/r/322705 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifb86eaaac346a1978e744a281258700edb6f0a60 Gerrit-PatchSet: 1 Gerrit-Project: VisualEditor/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