Trevor Parscal
f6864b0c04
Changed use of "factory" to "nodeFactory" to make way for other kinds of factories
...
Change-Id: I96db0f28bb220f1c3b23990824e9523278cb8f9b
2012-05-31 15:20:58 -07:00
Inez Korczynski
43a6abec2d
Introduce two different types of slugs - inline and block - this is in order to fix bug in IE with placing cursor inside slug by clicking next to it
...
Change-Id: Idf31a742ee98067688becf46b357c25cd10ddbc6
2012-05-30 16:45:06 -07:00
Inez Korczynski
f7fb4bee5c
Refactoring and performance optmization to method getNodeAndOffset - previously named getDOMNodeAndOffset
...
Change-Id: I067331f539bc86779c98be38e6a56ca04137c70f
2012-05-30 15:19:39 -07:00
Trevor Parscal
46d26b9f22
Added getNodeFromOffset to ce
...
WARNING: This is not as fast as the implementation of getNodeFromOffset in dm
Change-Id: I5fbe9b6edc66169b9caaa6751fde1b7b752814d1
NOTE: ve.ce.getNodeFromOffset and ve.dm.getNodeFromOffset should be renamed to getBranchNodeFromOffset to clarify that they only return branch nodes.
2012-05-30 14:38:18 -07:00
Inez Korczynski
5f9ea545cf
Refactoring and performance optimizations to getOffset method in Surface view.
...
Change-Id: I8b57c9dc069894c82a6bafc5f282aefda505d061
2012-05-30 14:06:44 -07:00
Christian Williams
e216a6f8ab
Fixed scroll jumping when pasting
...
Change-Id: I9607dee6d1b0ca1820a9da5f48966310214e5edf
2012-05-30 13:06:19 -07:00
Christian Williams
11b1bd8884
Using string constants for node types
...
Change-Id: I2d18d4f54c776e299bc10206386b655605dae839
2012-05-30 11:41:31 -07:00
Inez Korczynski
8a52b41076
Working (but dirty) implementation of getOffset, getDOMNodeAndOffset and handlers for keydown/mousedown - to be refactored very soon
...
Change-Id: I57923218fc8e5f3e1cdde339cdc1cb5e859cdedf
2012-05-25 23:52:52 -07:00
Inez Korczynski
e5897dffa4
Merge branch 'dmrewrite' of ssh://review/mediawiki/extensions/VisualEditor into dmrewrite
2012-05-25 23:36:54 -07:00
Inez Korczynski
e9230968fe
Set contenteditable=false for Alien wrappers (both inline and block)
...
Change-Id: I5fd8fcfd0b6d98b525a75b3818cc77e3aca833c9
2012-05-25 23:36:18 -07:00
Christian Williams
8db39d0bb5
Support for plain text paste
...
Change-Id: I60846900d61b50138fe06dacee4693166e59651e
2012-05-25 16:26:46 -07:00
Christian Williams
64b9b33eec
IE and its silly events
...
Change-Id: I81f46eca20cc5197305cbd355751c4c90e3b670b
2012-05-25 16:12:58 -07:00
Christian Williams
83e7eddfaf
Support for paste
...
Change-Id: Id0a3d5d421aef56eb3296a56d00686ef7d07b433
2012-05-25 15:46:58 -07:00
Inez Korczynski
1e5e14c2c1
Add method hasSlugAtOffset to ve.ce.BranchNode
...
Change-Id: Id107bf890710096bb49111ae3d0d60e3315ecb89
2012-05-25 13:44:12 -07:00
Christian Williams
80ed03f2a2
Support for copying
...
Change-Id: Icf4665f9c48896e26cb536af033ca55410af49db
2012-05-25 12:02:56 -07:00
Inez Korczynski
8f4f076340
Added handles for mouse events (down, up, move). Implemented method SurfaceView.getOffset and applied significant fixes to SurfaceView.getDOMNodeAndOffset.
...
Change-Id: I06cbfa9e0e7afc7aaf19d5cda8b91fe93aeb51f8
2012-05-24 20:55:45 -07:00
Inez Korczynski
b56b6bad6d
Just for purpose of testing add some hardcoded border and cellspacing to all tables
...
Change-Id: I97ff937d7e7d6a91ee3f411d7f77d5e3798ba567
2012-05-24 20:51:31 -07:00
Inez Korczynski
6017050b3f
Add class ve-ce-imageNode to all image nodes, also comment out mousedown event handler
...
Change-Id: I7565d8822bbe0547e731df1859cdde4ac78de6f2
2012-05-24 20:50:36 -07:00
Trevor Parscal
ea9191b5b4
Copied CSS styles from ve to ve2
...
Change-Id: Iabd5ee3edde5747952c4b78ef6e9cd5949016050
2012-05-24 15:15:29 -07:00
Christian Williams
0a3b5df6de
Image nodes are not draggable
...
Change-Id: Ie1080045939af7c9b7ac8c30527ad6057fe7e3f6
2012-05-24 15:10:16 -07:00
Christian Williams
88e25e77f2
Merge branch 'dmrewrite' of ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor into dmrewrite
2012-05-24 14:47:41 -07:00
Christian Williams
1cc8aca16d
Using invisible space character in slugs
...
Change-Id: I36752f4bea96bad61dedfbbb4fc00422d773227b
2012-05-24 14:47:24 -07:00
Trevor Parscal
f6eef19021
Added copying of .data( 'node' ) from old wrappers to new wrappers on wrapper updates
...
Change-Id: Ibd9535bd9ebb712910d963eedc5941f8512aaf8d
2012-05-24 14:01:42 -07:00
Trevor Parscal
c8ccdb9813
Moved ve.ve.BranchNode.canNodeHaveSlug to ve.ce.Node.prototype.canHaveSlug
...
Change-Id: I6d5d9ca5a1c9878acb15e9526feb94986822b491
2012-05-24 14:01:17 -07:00
Trevor Parscal
ebfafac3e2
Added missing documentation to methods in ve.ce.BranchNode
...
Change-Id: If6833e3d639e0455025762987b7f41a43892ca4a
2012-05-24 13:22:57 -07:00
Christian Williams
933ff678a4
Focus can now be set in slugs using showCursor or showSelection.
...
Change-Id: I12ab361a30d277a4752579bf885fd37bc46b32ed
2012-05-24 13:18:30 -07:00
Trevor Parscal
3ce705313e
Replaced static array with real logic inside of ve.ce.BranchNode.canNodeHaveSlug
...
Also added more static config getters and fixed some typos in prototype definitions
Change-Id: Ib9093a625b944e6a4ca4da50c51fb475b5895b8d
2012-05-24 13:12:45 -07:00
Trevor Parscal
e150ba2e54
Moved "is slug gable" functionality to a static method of ve.ce.BranchNode
...
Also optimized some query stuff
Change-Id: I5675258c6e276a1ba410dcf1ee111392140a04eb
2012-05-24 11:58:33 -07:00
Inez Korczynski
fe1482e0c4
Added method proxy to ve.ce.Surface
...
Change-Id: I2373df4c738b49685a897c8e13acebdd7ccb3e00
2012-05-23 13:34:52 -07:00
Inez Korczynski
bea881daca
Refactor mechanism of adding slugs in before and after particular nodes in branch
...
Change-Id: I8b3f4a9b27ff09d569f366c32f96e7e8191487c0
2012-05-23 13:24:49 -07:00
Christian Williams
32b9ccd0bf
Moving alien node styling to CSS file
...
Change-Id: I21e4593b81669b48cec831236398866f89616f9a
2012-05-23 12:03:28 -07:00
Trevor Parscal
86591e5325
Restructured static node rules
...
Change-Id: I7023e1f334694d59767491f1010e7c4c59c0ce54
2012-05-21 17:39:12 -07:00
Rob Moen
95e06e96bf
Prepare for MediaWiki integration
...
Create context instance in surface.
Move over getSelectionRect into ce.surface
Cleanup ve.surface contstructor class
Move linmod/html test objects to sandbox.js
Change-Id: I0cf602ef991100bf6128c68750b02a00566911dc
2012-05-21 16:06:30 -07:00
Christian Williams
b7afcff62a
Merge branch 'dmrewrite' of ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor into dmrewrite
2012-05-18 15:20:01 -07:00
Christian Williams
6d15028c68
Making showCursor work again!
...
Change-Id: I97e1570ffba368e570b69085daa2798b8b2725f9
2012-05-18 15:19:31 -07:00
Inez Korczynski
19a02f3798
Disable objectResizing and inlineTableEditing within execCommand
...
Change-Id: I06406bfd56e01e72b157fd8cb50da8d6173edc25
2012-05-18 11:40:22 -07:00
Inez Korczynski
32c2366dca
Logic for adding 'slugs' before, after and between nodes in certain cases
...
Change-Id: I91a1c58bdb7819503a9eb24221d6a358c804b57e
2012-05-18 11:34:07 -07:00
Trevor Parscal
08765feab3
Merged ve.dm.DocumentFragment and ve.dm.Document
...
* Also fixed lots of whitespace issues and some global variable introductions
Change-Id: Ia6c82ef0c3b5c4938cf72afa86da6d79e4cb385a
2012-05-17 11:23:56 -07:00
Trevor Parscal
e0de881a8a
Removed trailing whitespace in multi-line comment blocks
...
JSHint and various git tools complain about this, so let's just do away with them altogether
Change-Id: I731866bd21f1ee0088fb0a71df3abf92692aca23
2012-05-14 15:05:09 -07:00
Trevor Parscal
d4363c04f4
Don't set classes on non-wrapped elements
...
* Text nodes do not have a wrapper to set classes on
* Use CSS class names that are equivalent to JS class names, swapping . with -
Change-Id: I49c877dd5c9b5dd2a9afad3137f12b14883043a1
2012-05-10 14:54:33 -07:00
Inez Korczynski
41a7451ea2
Store reference to view node (ve.ce.Node) in jQuery data of it's wrapper
...
Change-Id: I84920b20346b4ef5e1203d834bf4c3fb9657ae69
2012-05-09 22:43:46 -07:00
Inez Korczynski
1a4e488b06
Merge branch 'dmrewrite' of ssh://review/mediawiki/extensions/VisualEditor into dmrewrite
2012-05-09 22:40:51 -07:00
Inez Korczynski
ee39e837b8
Get Alien node (leaftnode) working - it reads its content from attribute
...
'html'
Change-Id: Idd84da9af61369277df18fee577032de765b1205
2012-05-09 22:36:25 -07:00
Trevor Parscal
1798a478e7
Massive refactor of node trees, generalizing lots of previously dm only stuff
...
Change-Id: I9dbb7094f86338ea2e725ad29f66e9e4ca2b52ed
2012-05-09 21:11:09 -07:00
Trevor Parscal
e34ec4b479
Added canHaveChildren and canHaveGrandchildren to all nodes
...
Change-Id: Ibe53292f7269736750e03da49e5bb5913c0124ab
2012-05-04 17:50:54 -07:00
Inez Korczynski
bab1a9672c
Fix method getDocument in dm.Surface and start using it
...
Change-Id: I613b1e938cd0d8f3a6ac8a48121901287c8fc5af
2012-05-04 15:20:14 -07:00
Trevor Parscal
dc27d8acb4
Refactored dom wrapper functionality in ce nodes
...
* Moved implementation of getting and updating a DOM wrapper to ve.ce.BranchNode
* Updated ve.ce.BranchNode tests
* Renamed ve.NodeFactory.createNode to ve.NodeFactory.create
* Added ve.NodeFactory.lookup which gets the constructor of a type
* Added attribute pass-through to ve.dm.BranchNodeStub
Change-Id: I8f5b7d3d3ae616cc5f39828b24b655163d782ae5
2012-05-04 13:31:14 -07:00
Trevor Parscal
d2480baed0
Removed bubbling update events in dm and ce node trees and splice events from ce branches
...
The bubbling update events are not needed with ce or dm, but were once upon a time useful for es, this just eliminates some unused cruft that was costing extra function call overhead.
Change-Id: Ia16d0f4cd74c84cded5caecada33ee83d0882f30
2012-05-04 12:28:32 -07:00
Trevor Parscal
9887dbd96f
Split Broke DefinitionListNode out of ListNode and DefinitionListItemNode out of ListItemNode
...
* Makes it simpler in the linear model because we don't have to use style: "item" for regular list items and style: "definition" for definition lists
* Enforces correct nesting through existing node rules systems
* Updates tests accordingly
Change-Id: I64d80af938e325f1961226505bdc386bb35ccdda
2012-05-04 11:56:32 -07:00
Trevor Parscal
a9b26c8b55
Removed recursive rendering calls in favor of 100% event driven updates
...
Change-Id: I636222518e4cbeddb1c02901b79a9dcb09eeb952
2012-05-03 17:19:01 -07:00