mediawiki-extensions-Visual.../modules/ve/dm
Catrope 857535b63f Introduce meta-linmod
* ve.dm.Converter still generates metaInline/metaBlock elements as
  before, it's not affected by this change
* ve.dm.Document constructor splits its input into "real" data and
  metadata
** Metadata is stored in this.metadata (the meta-linmod) as a sparse
   array of arrays, with an element for each offset in this.data
** this.data itself does not contain the metadata
** This means the node tree also doesn't contain the metadata
** Which means CE doesn't know about it at all
* All splice operations on the linear model are sent through
  ve.dm.Document.spliceData(), which performs the splice and syncs the
  meta-linmod
** Metadata in the removed range is reaped and added to the metadata for
   the offset immediately following the removal
* ve.dm.Document.getFullData() splices the linmod and meta-linmod back
  into each other; this "full data" is then fed back to ve.dm.Converter

Change-Id: Ief6dfd5b59cc13a8457993ed85c725413029c4fb
2012-11-02 19:06:49 -07:00
..
annotations
nodes Remove 'internal' property from DM nodes 2012-10-24 16:47:14 -07:00
ve.dm.Annotation.js Fix annotation object creation in SurfaceFragment 2012-10-24 16:47:04 -07:00
ve.dm.AnnotationFactory.js Standards: Fix global variables and pass JSHint. 2012-10-23 00:53:48 +02:00
ve.dm.BranchNode.js Remove 'internal' property from DM nodes 2012-10-24 16:47:14 -07:00
ve.dm.Converter.js Wrap inline elements properly 2012-10-17 13:50:29 -07:00
ve.dm.Document.js Introduce meta-linmod 2012-11-02 19:06:49 -07:00
ve.dm.DocumentSynchronizer.js DocumentSynchronizer fix and cleanup 2012-10-25 11:02:58 -07:00
ve.dm.js
ve.dm.LeafNode.js Remove 'internal' property from DM nodes 2012-10-24 16:47:14 -07:00
ve.dm.Node.js Add ve.dm.Node.hasAttributes() 2012-10-26 14:42:40 -07:00
ve.dm.NodeFactory.js
ve.dm.Surface.js Add ve.dm.Surface.has{Past,Future}State, add docs 2012-10-26 14:43:09 -07:00
ve.dm.SurfaceFragment.js Add ve.Action, ve.ActionFactory, subclasses 2012-10-26 14:44:17 -07:00
ve.dm.Transaction.js Guard transactions against double commit/rollback 2012-10-24 17:47:41 -07:00
ve.dm.TransactionProcessor.js Introduce meta-linmod 2012-11-02 19:06:49 -07:00