mediawiki-extensions-Visual.../modules/ve/dm
Catrope 83a592f312 Fix whitespace preservation around meta items
This was broken, especially in wrappers.

Changed the wrapping algorithm so that meta items are placed outside
wrappers if possible. On the left-hand side, this is already the case:
we don't open wrappers for meta items. On the right-hand side, this is
accomplished by buffering the meta items and only inserting them when
we encounter either real text (not whitespace) or the end of the wrapper.
If we're interrupted by real text, we insert the meta items with the
unmodified whitespace. If we're interrupted by the end of the wrapper,
we insert the meta items outside of the wrapper with whitespace stripped.

Internally, this is done by stripping the whitespace into the whitespace[0]
of the meta item to its right. Then when we output the meta items, we
either decide to 'restore' the whitespace, or to 'fixup' by also setting
whitespace[3] on the element before the whitespace.

Change-Id: Ibeea2a9906c4aae9fe6d284613edd6ec853ca5e7
2013-04-18 16:06:58 -07: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 Fix documentation to place @emits in the correct place 2013-03-25 21:06:05 +00:00
ve.dm.Converter.js Fix whitespace preservation around meta items 2013-04-18 16:06:58 -07:00
ve.dm.DataString.js UnicodeJS library to implement Unicode standards 2013-03-27 17:44:22 +00:00
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 Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
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 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 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 Fixes to DM metaList stuff under Roan's guidance. 2013-04-11 14:49:17 -07:00
ve.dm.SurfaceFragment.js Death and/or destruction 2013-04-18 13:56:20 -07: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