Commit graph

8660 commits

Author SHA1 Message Date
Roan Kattouw 27ddd1263f In selectNodes(), also set globalRange for fully-covered nodes. There is no sane value for range in this case, but there sure is a sane value for globalRange so we might as well return it. I also use this in my prepareRemoval() fixes in my next commit 2011-11-16 19:02:23 +00:00
Trevor Parscal 3ac24949ce Fixed incorrect registration object being used 2011-11-16 18:54:05 +00:00
Trevor Parscal e559922da0 Fixed incorrect symbolic name being used for nodeRules registration on tableCell and tableRow model nodes. Roan noticed this in r103211 2011-11-16 18:17:24 +00:00
Alexandre Emsenhuber a2d77301a4 svn:eol-style native 2011-11-16 14:10:03 +00:00
Roan Kattouw 9060cd6161 Fix stupid mistake that broke traverseLeafNodes() in IE 2011-11-16 12:51:31 +00:00
Inez Korczynski ace69887ee Fix typo: "annotation" => "annotations" 2011-11-16 06:13:17 +00:00
Trevor Parscal 3ec0976f5d Made leaf nodes listen for updates from their content views and emit updates themselves in response. 2011-11-16 00:24:46 +00:00
Trevor Parscal 8a2e8b4aab Rewrote prepareRemoval to support dropping nodes that are considered droppable (not tableCells) and are covered completely by the range - otherwise nodes are stripped of content 2011-11-16 00:03:17 +00:00
Trevor Parscal a7cdee541c Fixed typo - insert/remove operations have a data property, not a content property. 2011-11-16 00:02:27 +00:00
Trevor Parscal cc8e1d02fc Changed nodes to selectedNodes for clarity 2011-11-16 00:01:35 +00:00
Trevor Parscal 455afe25be Added a "droppable" bit to each model so that prepareRemoval can avoid dropping table cells (for instance) when removing nodes that are completely covered (which it can't do yet) 2011-11-15 19:01:47 +00:00
Trevor Parscal 4f1f6699ee Tweaks to make jshint happy 2011-11-15 18:42:34 +00:00
Trevor Parscal 79ef19da42 Fixed documentation and use of es.arrayIndexOf to match the actual API of $.inArray (value, array, fromIndex). Renamed function to inArray to reduce confusion about how the function works. 2011-11-15 18:17:26 +00:00
Trevor Parscal a4e3b3922d Using jQuery.inArray implementation of indexOf instead of our own
Fixed a wrong class name bug
2011-11-15 17:54:52 +00:00
Roan Kattouw 5d619ac6cf Fixed the last array indexOf call that I could find 2011-11-15 16:27:14 +00:00
Roan Kattouw eff198ff1d Move .indexOf() from es.DocumentModelBranchNode to es.DocumentBranchNode and use it in .traverseLeafNodes() 2011-11-15 16:24:33 +00:00
Roan Kattouw c484afe87a Fix IE-specific test breakages. Two tests were broken because Array.prototype.indexOf() was used, another one because Array.prototype.splice() is broken in IE:
>>[1,2,3].slice(0).length
3
>>[1,2,3].slice(0, undefined).length
0
2011-11-15 16:21:45 +00:00
Roan Kattouw c9d2bd84d1 Rewrite traverseLeafNodes tests using a data provider pattern 2011-11-15 14:35:03 +00:00
Roan Kattouw 2a80194223 Add more tests 2011-11-15 13:50:24 +00:00
Roan Kattouw ec8e92029a Followup r103161: make reverse work 2011-11-15 13:23:04 +00:00
Roan Kattouw f7ef40fb7a Rewrite traverseLeafNodes() with an iterative traversal, and add support for from. Support for reverse is not implemented yet. 2011-11-15 12:55:31 +00:00
Roan Kattouw 7d8741e6e3 Add a wrapper for Array.prototype.indexOf(), needed for my traverseLeafNodes() rewrite 2011-11-15 12:54:18 +00:00
Roan Kattouw fee2d48b2b Add very basic implementation of traverseNodes(), with tests. This doesn't respect the from parameter (so tests 3-6 fail); I will rewrite it from recursive to iterative so it can support that. 2011-11-15 11:12:06 +00:00
Roan Kattouw 32c04b3e41 Add es.compareArrays(), needed for test cases I'm about to add 2011-11-15 11:10:21 +00:00
Roan Kattouw 8563e7e451 Add FIXME comment for a failing test and fix a typo in its description 2011-11-15 10:15:52 +00:00
Trevor Parscal a7c1524fe0 Added empty method to es.DocumentBranchNode called traverseLeafNodes 2011-11-15 01:31:46 +00:00
Inez Korczynski 098f2ae616 Refactor moveCursor code 2011-11-15 01:30:39 +00:00
Trevor Parscal ff07930171 Added test for prepareRemoval which fails atm, because strip doesn't drop nodes that are covered completely. Also cleaned up some comments in prepareRemoval 2011-11-15 01:15:21 +00:00
Trevor Parscal 482d477449 Added test for prepareRemoval which fails atm, because strip doesn't drop nodes that are covered completely. 2011-11-15 01:04:37 +00:00
Trevor Parscal 0e1d3c08fd Added split rules to view classes 2011-11-14 23:59:36 +00:00
Trevor Parscal 8a884ee3b8 Fixed emitting updates when deleting content from the inside of a node 2011-11-14 23:47:07 +00:00
Trevor Parscal ba64cfaf46 Moved tests for es.TransactionProcessor to their own file 2011-11-14 23:10:00 +00:00
Trevor Parscal 2494c40297 Moved transaction processing code to new class, es.TransactionProcessor 2011-11-14 23:04:36 +00:00
Trevor Parscal 96a8598ec5 Added scope function to transaction processing so inserting </p></li><li><p> works
Fixed off-by-one in splicing dom nodes into view branches
2011-11-14 21:54:53 +00:00
Trevor Parscal dcbc801f0f Don't render deleted nodes 2011-11-14 20:04:46 +00:00
Trevor Parscal e93d050d6f Only re-render nodes that were inserted 2011-11-14 20:00:40 +00:00
Trevor Parscal 5b1298a6ca Removed alert() - dude, use console.log, and don't leave it in the SVN plz! :P 2011-11-14 19:52:05 +00:00
Inez Korczynski 1359c19cbb Add comments for mouse interaction states 2011-11-14 19:51:04 +00:00
Trevor Parscal 773d97cb1d Using splice.apply because it's faster and actually works (the loop was incorrect anyways) 2011-11-14 19:51:00 +00:00
Trevor Parscal 71c3f7d1a7 Fixed documentation for inheritance 2011-11-14 19:50:28 +00:00
Trevor Parscal 872d2bdb9d Fixed onAfterSplice in es.DocumentViewBranchNode to update the DOM correctly
Fixed issue where events were being listened to from this instead of this.model
Added rendering calls after structural changes
2011-11-14 19:50:04 +00:00
Trevor Parscal 521a0644ff Added extra condition to prevent undefined object errors 2011-11-14 19:48:25 +00:00
Trevor Parscal fabaff5fc1 Fixed order of operations and added missing attach operation to splicing nodes in a model branch 2011-11-14 19:47:44 +00:00
Alexandre Emsenhuber 1202472595 svn:eol-style native 2011-11-13 07:05:47 +00:00
Inez Korczynski 5acd21638a Support for moving cursor with control or alt pressed down 2011-11-11 03:06:47 +00:00
Inez Korczynski c03e5fbc49 Minor fix 2011-11-11 00:28:25 +00:00
Inez Korczynski 807d9530ac Added support for word selection when shift + ( ctrl || alt ) pressed 2011-11-11 00:26:30 +00:00
Inez Korczynski 8b3880d524 Improvements to selecting with mouse (double, triple clicks) 2011-11-10 23:30:29 +00:00
Inez Korczynski 662907a5df Make getWordBoundaries returns null if given offset refers to element data. Also if given offset is beginning of the word then search for not beginning of the word offsets around (and other way round). 2011-11-10 21:43:28 +00:00
Trevor Parscal 713a80596d Added es.DocumentLeafNode, which like es.DocumentBranchNode is a mixin-like class (we may want to switch to using a more natural composition mechanism than es.extendClass in the future) - now es.DocumentNode also has an abstract method called hasChildren which returns a boolean and can indicate if a node is a leaf or a branch. 2011-11-10 19:26:02 +00:00