mediawiki-extensions-Visual.../modules/ve/ce
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 Great Annotation Refactor of 2013 2013-04-08 18:10:16 -07:00
nodes The resurrection 2013-04-22 12:50:23 +01:00
styles Allow resizing nodes 2013-04-19 12:44:33 -07:00
ve.ce.Annotation.js Add ve.ce.View as a common base class for ce.Node and ce.Annotation 2013-04-09 12:05:05 -07:00
ve.ce.AnnotationFactory.js Rename ve.NodeFactory to ve.NamedClassFactory 2013-04-09 12:05:05 -07:00
ve.ce.BranchNode.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.ce.ContentBranchNode.js Fix bug in ContentBranchNode that caused renderContents to be called not enough 2013-04-18 16:11:59 -07:00
ve.ce.Document.js Merge "Inside ve.ce.Document.getRelativeOffset fallback to 'character' mode if 'word' mode returns the same offset as was passed originally" 2013-04-16 22:54:27 +00:00
ve.ce.DomRange.js DomRange makes more sense as a name for this class (cause it is not rangy specific). 2013-03-05 12:18:59 -08:00
ve.ce.FocusableNode.js Allow node focusing 2013-04-18 13:54:37 -07:00
ve.ce.js Allow node relocation 2013-04-19 12:07:18 -07:00
ve.ce.LeafNode.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.ce.Node.js Add ve.ce.View as a common base class for ce.Node and ce.Annotation 2013-04-09 12:05:05 -07:00
ve.ce.NodeFactory.js Rename ve.NodeFactory to ve.NamedClassFactory 2013-04-09 12:05:05 -07:00
ve.ce.RelocatableNode.js Allow node relocation 2013-04-19 12:07:18 -07:00
ve.ce.ResizableNode.js Allow resizing nodes 2013-04-19 12:44:33 -07:00
ve.ce.Surface.js The resurrection 2013-04-22 12:50:23 +01:00
ve.ce.SurfaceObserver.js There was no check if anchorNode of selection range is inside an element with CSS class ve-ce-slug. 2013-04-15 21:40:13 +00:00
ve.ce.View.js Add ve.ce.View as a common base class for ce.Node and ce.Annotation 2013-04-09 12:05:05 -07:00