jenkins-bot has submitted this change and it was merged. (
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, 22 insertions(+), 6 deletions(-)
Approvals:
jenkins-bot: Verified
Jforrester: Looks good to me, approved
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
b/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
index 8df5de4..249b223 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)
@@ -184,6 +184,10 @@
this.$reviewWikitextDiff.empty();
this.$previewViewer.empty();
this.hasDiff = false;
+ if ( this.diffElement ) {
+ this.diffElement.destroy();
+ this.diffElement = null;
+ }
};
/**
@@ -590,9 +594,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 +675,10 @@
ve.ui.MWSaveDialog.prototype.getTeardownProcess = function ( data ) {
return ve.ui.MWSaveDialog.super.prototype.getTeardownProcess.call(
this, data )
.next( function () {
+ if ( this.diffElement ) {
+ this.diffElement.destroy();
+ this.diffElement = null;
+ }
this.emit( 'close' );
}, this );
};
--
To view, visit https://gerrit.wikimedia.org/r/344782
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I718a92f4c9f8c3a48e359da898ede7dccebcec5e
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits