jenkins-bot has submitted this change and it was merged.
Change subject: Move getHashObject() from dm.Node up into dm.Model
......................................................................
Move getHashObject() from dm.Node up into dm.Model
This way annotations inherit it too.
Also add htmlAttributes to the hash, and implement getComparableObject()
in terms of getHashObject().
Change-Id: Iea905f2b430f8e51c6026065be17b89b9a03cfab
---
M modules/ve/dm/ve.dm.Annotation.js
M modules/ve/dm/ve.dm.Model.js
M modules/ve/dm/ve.dm.Node.js
3 files changed, 33 insertions(+), 33 deletions(-)
Approvals:
Esanders: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/ve/dm/ve.dm.Annotation.js
b/modules/ve/dm/ve.dm.Annotation.js
index b04d576..85b7373 100644
--- a/modules/ve/dm/ve.dm.Annotation.js
+++ b/modules/ve/dm/ve.dm.Annotation.js
@@ -90,10 +90,9 @@
* @returns {Object} An object containing a subset of the annotation's
properties
*/
ve.dm.Annotation.prototype.getComparableObject = function () {
- return {
- 'type': this.getType(),
- 'attributes': this.getAttributes()
- };
+ var hashObject = this.getHashObject();
+ delete hashObject.htmlAttributes;
+ return hashObject;
};
/**
diff --git a/modules/ve/dm/ve.dm.Model.js b/modules/ve/dm/ve.dm.Model.js
index 7101cb6..803b304 100644
--- a/modules/ve/dm/ve.dm.Model.js
+++ b/modules/ve/dm/ve.dm.Model.js
@@ -242,6 +242,21 @@
return matchesArray( spec.whitelist || true ) && !matchesArray(
spec.blacklist || false );
};
+/**
+ * Get hash object of a linear model data element
+ *
+ * @static
+ * @param {Object} dataElement Data element
+ * @returns {Object} Hash object
+ */
+ve.dm.Model.static.getHashObject = function ( dataElement ) {
+ return {
+ type: dataElement.type,
+ attributes: dataElement.attributes,
+ htmlAttributes: dataElement.htmlAttributes
+ };
+};
+
/* Methods */
/**
@@ -357,3 +372,18 @@
ve.dm.Model.prototype.getClonedElement = function () {
return ve.copyObject( this.element );
};
+
+/**
+ * Get the hash object of the linear model element.
+ *
+ * The actual logic is in a static function as this needs
+ * to be accessible from ve.dm.Converter
+ *
+ * This is a custom hash function for ve#getHash.
+ *
+ * @method
+ * @returns {Object} Hash object
+ */
+ve.dm.Model.prototype.getHashObject = function () {
+ return this.constructor.static.getHashObject( this.element );
+};
diff --git a/modules/ve/dm/ve.dm.Node.js b/modules/ve/dm/ve.dm.Node.js
index 3788abd..4ac942a 100644
--- a/modules/ve/dm/ve.dm.Node.js
+++ b/modules/ve/dm/ve.dm.Node.js
@@ -203,20 +203,6 @@
};
/**
- * Get hash object of a linear model data element
- *
- * @static
- * @param {Object} dataElement Data element
- * @returns {Object} Hash object
- */
-ve.dm.Node.static.getHashObject = function ( dataElement ) {
- return {
- type: dataElement.type,
- attributes: dataElement.attributes
- };
-};
-
-/**
* Determine if a hybrid element is inline and allowed to be inline in this
context
*
* We generate block elements for block tags and inline elements for inline
@@ -560,19 +546,4 @@
n2 = n2.getParent();
}
return true;
-};
-
-/**
- * Get the hash object of the node.
- *
- * The actual logic is in a static function as this needs
- * to be accessible from ve.dm.Converter
- *
- * This is a custom hash function for ve#getHash.
- *
- * @method
- * @returns {Object} Hash object
- */
-ve.dm.Node.prototype.getHashObject = function () {
- return this.constructor.static.getHashObject( this.element );
};
--
To view, visit https://gerrit.wikimedia.org/r/74106
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Iea905f2b430f8e51c6026065be17b89b9a03cfab
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Catrope <[email protected]>
Gerrit-Reviewer: Esanders <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits