mediawiki-extensions-Visual.../modules/ve/dm
C. Scott Ananian 5095e27925 Collapse metadata on any removal.
In ve.dm.Document.getMetadataReplace(), we used to only merge metadata
if the amount removed is larger than the amount inserted.  But this
could end up putting metadata in odd positions, for example if you
have Foo[[Category:Bar]]Baz and you delete 'ooBa' and replace it with
{image}xxx{/image}, then the category ends up inside the image.

We should always merge metadata when a segment is deleted, so that it
appears outside any new structure added.

There's a weird corner case here when a segment is removed but no
insertion is made: the removed metadata then needs to get glommed onto
the next element.  We extend the insert/replace metadata array
when this happens.

Bug: 53444
Bug: 53445
Change-Id: I51d55fb370b473273f9cf152fdd0f356377d4109
2013-09-01 11:00:51 -04:00
..
annotations Subscript is one word (and so is superscript for that matter) 2013-08-20 13:34:50 -07:00
lineardata getAnnotationsFromRange should only ignore non-content data 2013-08-21 22:32:34 +01:00
metaitems ve.copy: Remove obsolete copyArray and copyObject 2013-07-30 01:44:22 +02:00
nodes Actually use GeneratedContentNode in AlienNode 2013-08-27 13:53:17 -07:00
ve.dm.Annotation.js ve.copy: Remove obsolete copyArray and copyObject 2013-07-30 01:44:22 +02:00
ve.dm.AnnotationFactory.js
ve.dm.AnnotationSet.js Speed up openAndCloseAnnotations by using store indexes 2013-07-26 18:11:01 -07:00
ve.dm.BranchNode.js Store DM nodes in InternalList 2013-06-03 22:10:07 +01:00
ve.dm.Converter.js Remove inserted leading whitespace 2013-08-02 19:01:22 +00:00
ve.dm.DataString.js
ve.dm.Document.js Collapse metadata on any removal. 2013-09-01 11:00:51 -04:00
ve.dm.DocumentSlice.js ve.copy: Remove obsolete copyArray and copyObject 2013-07-30 01:44:22 +02:00
ve.dm.DocumentSynchronizer.js doc: Clean up spacing that caused <pre> or broken <ul>/<ol> 2013-07-25 04:02:50 +02:00
ve.dm.IndexValueStore.js ve.copy: Remove obsolete copyArray and copyObject 2013-07-30 01:44:22 +02:00
ve.dm.InternalList.js Some basic async code in the initialization 2013-07-01 13:02:10 -07:00
ve.dm.js
ve.dm.LeafNode.js
ve.dm.LinearData.js ve.copy: Remove obsolete copyArray and copyObject 2013-07-30 01:44:22 +02:00
ve.dm.MetaItem.js Fieldsets and default sort keys 2013-05-10 16:46:08 -07:00
ve.dm.MetaItemFactory.js Make .static.storeHtmlAttributes more versatile 2013-05-07 14:45:26 -07:00
ve.dm.MetaList.js Collapse metadata on any removal. 2013-09-01 11:00:51 -04:00
ve.dm.Model.js Add .static.getMatchRdfaTypes() wrapper 2013-08-07 17:39:24 +08:00
ve.dm.ModelRegistry.js Fix deprioritization of regex matches in ModelRegistry 2013-08-08 02:52:45 +00:00
ve.dm.Node.js ve.copy: Remove obsolete copyArray and copyObject 2013-07-30 01:44:22 +02:00
ve.dm.NodeFactory.js ve.copy: Remove obsolete copyArray and copyObject 2013-07-30 01:44:22 +02:00
ve.dm.Surface.js Merge "Make ve.dm.Surface.{start,stop}HistoryTracking idempotent." 2013-08-27 16:27:41 +00:00
ve.dm.SurfaceFragment.js Compare annotations by name only when clearing/toggling 2013-07-16 00:05:11 +01:00
ve.dm.Transaction.js Collapse metadata on any removal. 2013-09-01 11:00:51 -04:00
ve.dm.TransactionProcessor.js Collapse metadata on any removal. 2013-09-01 11:00:51 -04:00