mediawiki-extensions-Visual.../modules/ve/dm
Ed Sanders 8b09dd7650 The resurrection
By removing the transaction listeners from surface fragments we
no longer have to make sure they are always manually destroyed.

In order to retain the functionality of having fragments update
with transactions elsewhere we keep a pointer to a place in the
new complete history stack in the surface. The complete history
stack records all transactions, even undone ones.

Whenever getRange is called we replay all transactions in the
complete history (in the correct order) since the fragment was
last updated.

Also in this commit:
* Updated Format/IndentationAction to test undo(). This increases
  coverage of surface fragment behaviour.
* .range is always accessed by .getRange now, although as an
  optimisation we can use the noCopy mode when we a sure the
  returned range will not be modified.
* Added undo test to .update (previously .onTransact)

Bug: 47343
Change-Id: I9e9818da1baa8319a3002f6d74fd1aad6732a8f5
2013-04-22 12:50:23 +01:00
..
annotations Actually use the doc parameter in toDomElements() 2013-04-09 23:48:03 +00:00
lineardata Merge "Make the AnnotationSet constructor take an array of indexes" 2013-04-18 21:50:25 +00:00
metaitems Fixes to DM metaList stuff under Roan's guidance. 2013-04-11 14:49:17 -07:00
nodes Serialize alienated context-sensitive nodes correctly 2013-04-17 18:26:54 -07:00
ve.dm.Annotation.js Actually use the doc parameter in toDomElements() 2013-04-09 23:48:03 +00:00
ve.dm.AnnotationFactory.js Convert AnnotationFactory and MetaItemFactory to NamedClassFactories 2013-04-09 12:05:05 -07:00
ve.dm.AnnotationSet.js UI "Views" refactor 2013-04-18 15:53:50 -07:00
ve.dm.BranchNode.js
ve.dm.Converter.js Fix whitespace preservation around meta items 2013-04-18 16:06:58 -07:00
ve.dm.DataString.js
ve.dm.Document.js Merge "Make the AnnotationSet constructor take an array of indexes" 2013-04-18 21:50:25 +00:00
ve.dm.DocumentSlice.js
ve.dm.DocumentSynchronizer.js Avoid rendering content of ve.ce.ContentBranchNode multiple times when only one transaction is applied 2013-04-17 12:16:04 -07:00
ve.dm.IndexValueStore.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.js
ve.dm.LeafNode.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.LinearData.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.MetaItem.js Transactions to store metadata merge info when present 2013-04-16 22:26:56 +01:00
ve.dm.MetaItemFactory.js Convert AnnotationFactory and MetaItemFactory to NamedClassFactories 2013-04-09 12:05:05 -07:00
ve.dm.MetaList.js Transactions to store metadata merge info when present 2013-04-16 22:26:56 +01:00
ve.dm.Model.js Fix annotation breakage 2013-04-15 17:04:50 -07:00
ve.dm.ModelRegistry.js Convert AnnotationFactory and MetaItemFactory to NamedClassFactories 2013-04-09 12:05:05 -07:00
ve.dm.Node.js Remove html/* attributes in getClonedElement() 2013-04-18 09:27:28 -07:00
ve.dm.NodeFactory.js Allow nodes to handle their own children 2013-04-11 22:41:18 +00:00
ve.dm.Surface.js The resurrection 2013-04-22 12:50:23 +01:00
ve.dm.SurfaceFragment.js The resurrection 2013-04-22 12:50:23 +01:00
ve.dm.Transaction.js Transactions to store metadata merge info when present 2013-04-16 22:26:56 +01:00
ve.dm.TransactionProcessor.js Merge "Make the AnnotationSet constructor take an array of indexes" 2013-04-18 21:50:25 +00:00