jenkins-bot has submitted this change and it was merged.
Change subject: Emit a transact event on the ve.dm.Document when a transaction
occurs
......................................................................
Emit a transact event on the ve.dm.Document when a transaction occurs
We'll need this to let a MetaList observe a Document and adjust to changes.
We should probably also have SurfaceFragment listen to this event instead.
Change-Id: I9e811e242969eb44afe0b4fa8153d0fb1b0071cd
---
M modules/ve/dm/ve.dm.Document.js
M modules/ve/dm/ve.dm.TransactionProcessor.js
M modules/ve/ve.Document.js
3 files changed, 17 insertions(+), 0 deletions(-)
Approvals:
Esanders: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/ve/dm/ve.dm.Document.js b/modules/ve/dm/ve.dm.Document.js
index df6939a..8a712f4 100644
--- a/modules/ve/dm/ve.dm.Document.js
+++ b/modules/ve/dm/ve.dm.Document.js
@@ -147,6 +147,14 @@
ve.inheritClass( ve.dm.Document, ve.Document );
+/* Events */
+
+/**
+ * @event transact
+ * @param {ve.dm.Transaction} tx Transaction that was just processed
+ * @param {boolean} reversed Whether the transaction was processed in reverse
+ */
+
/* Static methods */
/**
diff --git a/modules/ve/dm/ve.dm.TransactionProcessor.js
b/modules/ve/dm/ve.dm.TransactionProcessor.js
index 9737126..4a3ec15 100644
--- a/modules/ve/dm/ve.dm.TransactionProcessor.js
+++ b/modules/ve/dm/ve.dm.TransactionProcessor.js
@@ -144,6 +144,8 @@
}
// Mark the transaction as committed or rolled back, as appropriate
this.transaction.toggleApplied();
+ // Emit an event on the document
+ this.document.emit( 'transact', this.transaction, this.reversed );
};
/**
diff --git a/modules/ve/ve.Document.js b/modules/ve/ve.Document.js
index 171f1f8..c0c311b 100644
--- a/modules/ve/ve.Document.js
+++ b/modules/ve/ve.Document.js
@@ -9,14 +9,21 @@
* Generic document.
*
* @class
+ * @extends ve.EventEmitter
* @constructor
* @param {ve.Node} model Model to observe
*/
ve.Document = function VeDocument( documentNode ) {
+ // Parent constructor
+ ve.EventEmitter.call( this );
// Properties
this.documentNode = documentNode;
};
+/* Inheritance */
+
+ve.inheritClass( ve.Document, ve.EventEmitter );
+
/* Methods */
/**
--
To view, visit https://gerrit.wikimedia.org/r/53950
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I9e811e242969eb44afe0b4fa8153d0fb1b0071cd
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Catrope <[email protected]>
Gerrit-Reviewer: Esanders <[email protected]>
Gerrit-Reviewer: Trevor Parscal <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits