Rob Moen
17b58db5c6
Optimize getAnnotationsFromOffset with ve.getObjectValues
...
Change-Id: I2150335b6f0fa305c1d1bc93e50d30d874c76345
2012-05-14 11:34:08 -07:00
Trevor Parscal
f40e4f2f9d
Added ve.getObjectValues
...
Could maybe be optimized with map or something?
Change-Id: I033804e893bfa93f991dee9efefaa2c2d1740627
2012-05-14 11:31:18 -07:00
Trevor Parscal
d7febe6009
Merge branch 'dmrewrite' of ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor into dmrewrite
2012-05-14 11:15:02 -07:00
Trevor Parscal
1363e7ff89
Added ve.getObjectKeys which falls back to Object.keys if present
...
Change-Id: I9eedf93239b22497fe6fe6497e20b1fe0525de9c
2012-05-14 11:14:54 -07:00
Rob Moen
b8302c715f
Rewrite getAnnotationsFromOffset to work with new Linear Model.
...
Properly init variables in getAnnotationsFromRange
Polish up tests.
Change-Id: Idc231998ce27e3a1c64363e862da22c837ea2ca2
2012-05-14 10:47:48 -07:00
Rob Moen
e05863b0dc
use proper assertion in getAnnotationsFromOffset
...
Change-Id: I41b5cfa3628d5a2ed6d3f59d157ebe372585059c
2012-05-14 09:58:30 -07:00
Trevor Parscal
6321821c86
Rewrote tests for ve.dm.Transaction to use a data provider
...
Change-Id: I7ecf09c627b96b4c84824152bd178fb36c1ce348
2012-05-11 16:49:31 -07:00
Rob Moen
7d8e06c78c
Fix up wrapping on getAnnotationsFromRange test
...
Change-Id: I793cd33b88f7c7f3a17d6fbfb80218438aa878af
2012-05-11 16:33:38 -07:00
Rob Moen
bd9a0b6fba
Rewrite DocumentFragment getAnnotationsFromRange method
...
Write unit tests for getAnnotationsFromRange
Change-Id: I82ff15e97378c07e5c555a72231da4161a72993c
2012-05-11 16:14:46 -07:00
Catrope
5b9a2645a6
Port getScope() from the old VE code and add tests for it
...
Change-Id: I8c34fed919e60fa1b8cb6a13cb9ca98f3e695421
2012-05-11 16:03:46 -07:00
Catrope
43c2393c03
Remove outdated comment
...
Change-Id: I3a5db50aafa01d07bfb34359dfbe73812b3a7ab5
2012-05-11 16:03:46 -07:00
Christian Williams
f5430f25c3
Merge branch 'dmrewrite' of ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor into dmrewrite
2012-05-11 15:59:38 -07:00
Christian Williams
c79b911469
Adding a little test that reports range info with alien nodes
...
Change-Id: I89be397431767100cc6749c284edeef1a80a4e8e
2012-05-11 15:54:31 -07:00
Trevor Parscal
db0e050b39
Renamed uses of "replacement" to "insert"
...
Change-Id: I69ad0f84e8fefe1715339068b7685958f8f8546f
2012-05-11 15:25:01 -07:00
Christian Williams
13f26682da
Removing data from annotations when empty, more tests for HTMLConverter
...
Change-Id: I3c3e234e9392e4afdcb4c8bc748aaa74a1fb30ca
2012-05-11 14:07:20 -07:00
Trevor Parscal
9cdfb84f9b
Added tests to getRelativeContentOffset
...
Also fixed a typo in the implementation
Change-Id: I86855795009e34d42a3a5857addc5ccb6366130f
2012-05-11 12:14:29 -07:00
Trevor Parscal
ae7b0c822b
Whitespace changes
...
Change-Id: I9ae27bee1207282d0f07d9a05584628cb8061683
2012-05-11 11:37:45 -07:00
Rob Moen
11a6ff67a7
Remove broken test, need to refactor
...
Change-Id: I7963454032eceec73cf5a5d71f4d3a173627bfc3
2012-05-11 10:33:52 -07:00
Rob Moen
469a55bde4
Merge branch 'dmrewrite' of ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor into dmrewrite
2012-05-11 10:31:12 -07:00
Rob Moen
ced54d06a9
Write better test for DocumentFragment getAnnotationsFromOffset
...
Fix errors in example test data
Remove whitespace
Change-Id: Ibb2b5c0851d6abac9974035753b95354b3c8dd5e
2012-05-11 10:29:09 -07:00
Catrope
ca17ea0943
Port structural replace code from the old VE code
...
This makes TransactionProcessor work for regular replacements, as well
as insertions and deletions of self-contained pieces of data. This does
NOT yet work for inserting and deleting unbalanced data
(splitting/merging nodes).
I've tested this from the console for insertions and deletions and
simple replacements, but I haven't tested wrappings. We should write a
bunch of unit tests for this some time :)
Change-Id: Ic2fd75d1cf2e127bc9ae58debce67576be2c912f
2012-05-10 20:20:42 -07:00
Catrope
3cc22b00cb
Use index and indexFromNode (from selectNodes()) in DocumentSynchronizer
...
This makes insertions work (using indexFromNode), and eliminates the
indexOf() call (using index)
Change-Id: Ibfa77353af99534edc324c0e314c8b95c5136d8b
2012-05-10 20:20:42 -07:00
Catrope
6652f7573b
Add indexInNode to selectNodes() output
...
This is for the case where we have a zero-length range in between two
siblings, and we need to know what index that corresponds to in order to
be able to insert nodes there (rebuildNodes() will use it for this
purpose)
Change-Id: I357d1cd665667a76f955a10b8d9d2810976cdbd7
2012-05-10 20:20:42 -07:00
Catrope
379bc8da3c
selectNodes() fixes:
...
* Initialize startOffset to 0 not 1, don't know what I was thinking
* Use currentFrame for nodeRange instead of parentFrame, don't know what
I was thinking there either
* If the returned node has no parent (is the document node), don't
attempt to access parentFrame and don't set index
Change-Id: Iad969a7c29436cdf4151ead7e9d3d8e2a30befb3
2012-05-10 20:20:42 -07:00
Catrope
7eeb6c7cac
Throw an exception when DocumentFragment gets unbalanced input
...
Change-Id: Ie891bd7ea4d9e9b1c84e7a0390f1af39c0e55fd4
2012-05-10 20:20:42 -07:00
Trevor Parscal
1475100a22
Ported isContentOffset, isStructuralOffset, isElementData, containsElementData and getRelativeContentOffset
...
Tests for all but getRelativeContentOffset are done too
Change-Id: Iee953647ec89e13259ae2a402c50c809f93bc655
2012-05-10 17:20:57 -07:00
Christian Williams
081ec31ccd
Merge branch 'dmrewrite' of ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor into dmrewrite
2012-05-10 16:58:47 -07:00
Christian Williams
d1dbb32238
Fixing updateDomWrapper test
...
Change-Id: I93f5ceb96a9212652aa93eeebaf91ad1c5704ae5
2012-05-10 16:58:29 -07:00
Catrope
8834145f9e
Fix nodeSelectionEqual() so it doesn't explode when a and b have unequal lengths
...
Change-Id: Idb84bc1238576c711a201cdbf05f63a7b603a819
2012-05-10 16:42:58 -07:00
Catrope
9b6402801a
Fix the selectNodes() bug that Inez reported
...
Selecting a zero-length range at the start or end of a text node
(e.g. (1,1)) would return the text node's parent instead of the text
node
Change-Id: I7fe089bf66b93185dd3415eff53aa7e04e3ffdb2
2012-05-10 16:42:58 -07:00
Catrope
f79e56b4f1
Document the stack properties used in selectNodes()
...
Change-Id: Ibaf178830a0b7b99a4ab1c0ec09283bd3dd552e0
2012-05-10 16:42:58 -07:00
Catrope
ec449d168a
Fix startOffset computation in selectNodes()
...
* Needs to be initialized to 1, not 0
* Needs to be stored *after* left is incremented to account for an
opening
Change-Id: I7978ae241578a8a17120e494684e6e93626a8529
2012-05-10 16:42:58 -07:00
Catrope
38a9b8b301
Fix typo in selectNodes()
...
Change-Id: I320728bafa289290c4c2a91fee736a8afb17be80
2012-05-10 16:42:58 -07:00
Christian Williams
6e7c02a126
Merge branch 'dmrewrite' of ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor into dmrewrite
2012-05-10 16:29:37 -07:00
Christian Williams
07b4534a4c
Basic test for HTMLConverter
...
Change-Id: Ie3fa3e036b92052305288c64edca8f404afded72
2012-05-10 16:28:45 -07:00
Catrope
13b79d309c
Add 'index' and 'nodeRange' to selectNodes() output
...
Change-Id: I38712545b713cc24663ebec3fe3e5c8741b4fad7
2012-05-10 15:03:23 -07:00
Catrope
e137659722
Fix spelling of 'equivalent'
...
Change-Id: I0a444059c187ab5608aeca85a85c147ad1d69de6
2012-05-10 15:02:11 -07:00
Trevor Parscal
7168b4e041
Removed duplicate node rules from tests
...
These methods are wrappers for the model methods where the rules are actually being applied
Change-Id: I08be359010fa9fa81cd3a8aa5152083f92dc0b9c
2012-05-10 14:57:52 -07:00
Trevor Parscal
8d07a4e08c
Fixed test so it doesn't break when nodes add classes in their constructors
...
Change-Id: Ib2f7bcedcf61a9b98da0e3e889f309f271483064
2012-05-10 14:55:13 -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
3848e77c33
Basic support for Alien node in HTMLDom -> LinMod converter
...
Change-Id: Ie9b08027c58694022a7b01609d25d720bfb35873
2012-05-09 23:04:57 -07:00
Inez Korczynski
156e15c66b
Added missing reference to ve.Document.js
...
Change-Id: I893442dcb1518c4c05e29fe29aece82ac04fe5c8
2012-05-09 22:51:46 -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
Christian Williams
0848eaca04
Merge branch 'dmrewrite' of ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor into dmrewrite
2012-05-09 18:36:05 -07:00
Christian Williams
3d289365bc
Images and tables working with HTMLConverter
...
Change-Id: I2e45eeddf031d00b006498f9b2fb4840a2f6df44
2012-05-09 18:35:05 -07:00
Trevor Parscal
b4478216be
Added tests for document synchronizer
...
Change-Id: If114e3fc962598f7ea8f7f8ec8975a3b0d2d83e6
2012-05-09 18:31:09 -07:00
Trevor Parscal
44b311920e
Cleanup/refactor/documentation work for ve.dm.DocumentSynchronizer
...
Change-Id: I5f70460e0d4496c91d92b83025fdf9ae1d9dece6
2012-05-09 17:14:15 -07:00