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

Reply via email to