Esanders has uploaded a new change for review.
https://gerrit.wikimedia.org/r/268966
Change subject: Fix transclusion node cloneElement method
......................................................................
Fix transclusion node cloneElement method
* Override the static cloneElement. getClonedElement shouldn't
be overridden as doing so misses static invocations.
* Apply the same fix to extension nodes
Logically depends on Id8024c171c to work.
Bug: T126169
Bug: T126114
Change-Id: Icf4d3115db5b12b97a6c805ff3d0b71d9e88b804
---
M modules/ve-mw/dm/nodes/ve.dm.MWExtensionNode.js
M modules/ve-mw/dm/nodes/ve.dm.MWTransclusionNode.js
2 files changed, 33 insertions(+), 14 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor
refs/changes/66/268966/1
diff --git a/modules/ve-mw/dm/nodes/ve.dm.MWExtensionNode.js
b/modules/ve-mw/dm/nodes/ve.dm.MWExtensionNode.js
index 3ad5c15..0b64a67 100644
--- a/modules/ve-mw/dm/nodes/ve.dm.MWExtensionNode.js
+++ b/modules/ve-mw/dm/nodes/ve.dm.MWExtensionNode.js
@@ -77,6 +77,22 @@
return dataElement;
};
+/** */
+ve.dm.MWExtensionNode.static.cloneElement = function () {
+ var i, len,
+ // Parent method
+ clone = ve.dm.MWExtensionNode.super.static.cloneElement.apply(
this, arguments );
+
+ delete clone.attributes.originalMw;
+ // Remove about attribute to prevent about grouping of duplicated
transclusions
+ if ( clone.originalDomElements ) {
+ for ( i = 0, len = clone.originalDomElements.length; i < len;
i++ ) {
+ clone.originalDomElements[ i ].removeAttribute( 'about'
);
+ }
+ }
+ return clone;
+};
+
ve.dm.MWExtensionNode.static.toDomElements = function ( dataElement, doc,
converter ) {
var el, els, index,
store = converter.getStore(),
diff --git a/modules/ve-mw/dm/nodes/ve.dm.MWTransclusionNode.js
b/modules/ve-mw/dm/nodes/ve.dm.MWTransclusionNode.js
index 7309bdc..cbdc45b 100644
--- a/modules/ve-mw/dm/nodes/ve.dm.MWTransclusionNode.js
+++ b/modules/ve-mw/dm/nodes/ve.dm.MWTransclusionNode.js
@@ -20,7 +20,7 @@
*/
ve.dm.MWTransclusionNode = function VeDmMWTransclusionNode() {
// Parent constructor
- ve.dm.LeafNode.apply( this, arguments );
+ ve.dm.MWTransclusionNode.super.apply( this, arguments );
// Mixin constructors
ve.dm.GeneratedContentNode.call( this );
@@ -189,6 +189,22 @@
ve.resolveAttributes( $( els ), doc,
ve.dm.Converter.static.computedAttributes );
}
return els;
+};
+
+/** */
+ve.dm.MWTransclusionNode.static.cloneElement = function () {
+ var i, len,
+ // Parent method
+ clone =
ve.dm.MWTransclusionNode.super.static.cloneElement.apply( this, arguments );
+
+ delete clone.attributes.originalMw;
+ // Remove about attribute to prevent about grouping of duplicated
transclusions
+ if ( clone.originalDomElements ) {
+ for ( i = 0, len = clone.originalDomElements.length; i < len;
i++ ) {
+ clone.originalDomElements[ i ].removeAttribute( 'about'
);
+ }
+ }
+ return clone;
};
/**
@@ -374,19 +390,6 @@
}
}
return wikitext;
-};
-
-/** */
-ve.dm.MWTransclusionNode.prototype.getClonedElement = function () {
- var i, len, clone = ve.dm.LeafNode.prototype.getClonedElement.call(
this );
- delete clone.attributes.originalMw;
- // Remove about attribute to prevent about grouping of duplicated
transclusions
- if ( clone.originalDomElements ) {
- for ( i = 0, len = clone.originalDomElements.length; i < len;
i++ ) {
- clone.originalDomElements.removeAttribute( 'about' );
- }
- }
- return clone;
};
/* Concrete subclasses */
--
To view, visit https://gerrit.wikimedia.org/r/268966
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Icf4d3115db5b12b97a6c805ff3d0b71d9e88b804
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