mediawiki-extensions-Visual.../modules/ve/dm
Ed Sanders ff7b8a2591 Transactions to store metadata merge info when present
ve.dm.Transaction
* Replace operations are now built directly from the
  linear model and automatically determine what metadata
  replace information they need to include:
** retainMetadata
** replaceMetadata
** insertMetadata

ve.dm.Document
* Metadata array created empty and padded out after data parsing
  as we are no longer using Document.spliceData to build it (a new
  test checks for correct metadata length)
* spliceData replaced with getMetadataReplace, which instead returns
  transactional steps of spliceData (retain, replace, insert)

ve.dm.MetaLinearData
* Add function for merging metadata items together. Only used
  once in the code (Document.getMetadataReplace) but useful
  for generating test data.

ve.dm.MetaList
* Replace operations with metadata need to calculate new offset
  and indices directly, but can't be applied immediately lest they
  put a metaItem out of place and affect findItem.

ve.dm.MetaItem
* Add methods to support queued moves as required by MetaList

Test files
* Updated to match new pushReplace API
* Remove any instances of Document.spliceData
* Extra check on sparse metadata array length
* Rewrite spliceData tests as getMetadataReplace tests
* Count expected cases in Transaction(Processor) tests

Bug: 46954
Change-Id: I4edad1c2dd37c723bff2792bab7d694ef17a86dc
2013-04-16 22:26:56 +01:00
..
annotations Actually use the doc parameter in toDomElements() 2013-04-09 23:48:03 +00:00
lineardata Transactions to store metadata merge info when present 2013-04-16 22:26:56 +01:00
metaitems Fixes to DM metaList stuff under Roan's guidance. 2013-04-11 14:49:17 -07:00
nodes Hybridise MWTemplateNode 2013-04-14 02:34:18 +00: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 Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.BranchNode.js Fix documentation to place @emits in the correct place 2013-03-25 21:06:05 +00:00
ve.dm.Converter.js Hybridise MWTemplateNode 2013-04-14 02:34:18 +00:00
ve.dm.DataString.js UnicodeJS library to implement Unicode standards 2013-03-27 17:44:22 +00:00
ve.dm.Document.js Transactions to store metadata merge info when present 2013-04-16 22:26:56 +01:00
ve.dm.DocumentSlice.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.dm.DocumentSynchronizer.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08: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 Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
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 Hybridise MWTemplateNode 2013-04-14 02:34:18 +00:00
ve.dm.NodeFactory.js Allow nodes to handle their own children 2013-04-11 22:41:18 +00:00
ve.dm.Surface.js Fixes to DM metaList stuff under Roan's guidance. 2013-04-11 14:49:17 -07:00
ve.dm.SurfaceFragment.js Have ce's ctrl+arrow functionality use UnicodeJS library 2013-04-12 12:12:53 +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 Transactions to store metadata merge info when present 2013-04-16 22:26:56 +01:00