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

Reply via email to