Esanders has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/344782 )
Change subject: Defer rendering of visual diff until tab is selected
......................................................................
Defer rendering of visual diff until tab is selected
Bug: T161355
Change-Id: I718a92f4c9f8c3a48e359da898ede7dccebcec5e
---
M modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
1 file changed, 15 insertions(+), 6 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor
refs/changes/82/344782/1
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
b/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
index 8df5de4..30662e0 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
@@ -124,11 +124,11 @@
ve.ui.MWSaveDialog.prototype.setDiffAndReview = function ( wikitextDiff,
visualDiff ) {
this.$reviewVisualDiff.empty();
if ( visualDiff ) {
- this.diffElement = new ve.ui.DiffElement( visualDiff );
- this.diffElement.$document.addClass( 'mw-body-content' );
- // TODO: Remove when fixed upstream in Parsoid (T58756)
- this.diffElement.$element.find( 'a[rel="mw:ExtLink"]'
).addClass( 'external' );
- this.$reviewVisualDiff.append( this.diffElement.$element );
+ if ( this.diffElement ) {
+ this.diffElement.destroy();
+ }
+ this.diffElement = null;
+ this.visualDiff = visualDiff;
this.reviewModeButtonSelect.getItemFromData( 'visual'
).setDisabled( false );
} else {
// TODO: Support visual diffs in source mode (epic)
@@ -590,9 +590,17 @@
var isVisual = this.reviewModeButtonSelect.getSelectedItem().getData()
=== 'visual';
this.$reviewVisualDiff.toggleClass( 'oo-ui-element-hidden', !isVisual );
this.$reviewWikitextDiff.toggleClass( 'oo-ui-element-hidden', isVisual
);
- this.updateSize();
if ( isVisual ) {
+ if ( !this.diffElement ) {
+ this.diffElement = new ve.ui.DiffElement(
this.visualDiff );
+ this.diffElement.$document.addClass( 'mw-body-content'
);
+ // TODO: Remove when fixed upstream in Parsoid (T58756)
+ this.diffElement.$element.find( 'a[rel="mw:ExtLink"]'
).addClass( 'external' );
+ this.$reviewVisualDiff.append(
this.diffElement.$element );
+ }
this.diffElement.positionDescriptions();
+ this.updateSize();
+ } else {
this.updateSize();
}
};
@@ -663,6 +671,7 @@
ve.ui.MWSaveDialog.prototype.getTeardownProcess = function ( data ) {
return ve.ui.MWSaveDialog.super.prototype.getTeardownProcess.call(
this, data )
.next( function () {
+ this.diffElement.destroy();
this.emit( 'close' );
}, this );
};
--
To view, visit https://gerrit.wikimedia.org/r/344782
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I718a92f4c9f8c3a48e359da898ede7dccebcec5e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits