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 <roan.katt...@gmail.com> Gerrit-Reviewer: Esanders <esand...@wikimedia.org> Gerrit-Reviewer: Trevor Parscal <tpars...@wikimedia.org> Gerrit-Reviewer: jenkins-bot _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits