Commit graph

33 commits

Author SHA1 Message Date
Trevor Parscal 6dcc39fe11 Migrated es.* to new ve.* namespace which is more structured, and will make it easier to keep data model, edit surface, user interface and content editable work separated cleanly 2012-02-06 23:50:56 +00:00
Roan Kattouw 935cae67c6 As promised, reorganize insert() so the order of cases makes more sense (from simple to complex) 2012-01-31 17:14:16 +00:00
Roan Kattouw 6832be68ed Fix test #30: was failing because getScope() was broken and insert() didn't account for the case of inserting something like </list><list> at a structural offset. All tests are now passing, yay!
* Fix getScope()
** Drop the -1 which caused the result to be off by one level
** Prevent JS errors from occurring if bad input causes the loop to try to traverse up above the root node
* insert()
** Detect the case where the input data tries to close the containing element; in that case, we'll get scope != node
** Move the getNodeFromOffset() and getScope() calls up and out of the conditionals
** Remove unnecessary parent==model conditional, no longer needed now that getScope() can safely handle things that try to traverse too far up
** Add some comments to explain what's going on. I'll restructure this function a bit more shortly
2012-01-31 16:43:21 +00:00
Trevor Parscal 94f7d79eb7 Skip traversal of leaf nodes if there aren't any children 2012-01-23 18:46:31 +00:00
Inez Korczynski 224fc98449 Temporary fix for insert method in TransactionProcessor 2011-12-10 02:19:21 +00:00
Trevor Parscal f09e6e7303 Update child leaf nodes on attribute change, not the parent 2011-12-09 21:00:56 +00:00
Trevor Parscal 51e68abf08 JSHint fixes 2011-12-07 18:29:02 +00:00
Trevor Parscal 0d78a63da0 Revert of all the modifications I made to es.TransactionProcessor - things were getting exponentially worse with each commit - I think I need some sleep 2011-12-07 02:22:06 +00:00
Trevor Parscal 893d337c48 Fixed issue with inserting data that starts with closing elements 2011-12-07 02:13:43 +00:00
Trevor Parscal 38bc605f66 Fixed scope issue when inserting at structural offsets 2011-12-07 01:38:10 +00:00
Trevor Parscal 909b3674be Update node when it's attributes are changed 2011-12-07 00:06:30 +00:00
Trevor Parscal e61e66856c Fixed issue in transaction processor's insert method - no need for a special case for structural offsets anymore 2011-12-06 22:04:18 +00:00
Trevor Parscal edd7e6e76d Added support for RegExp when using the clear method in prepareContentAnnotation 2011-11-30 19:21:33 +00:00
Roan Kattouw d98a7bd373 Refacor things to use getCommonAncestorPaths() 2011-11-24 15:55:54 +00:00
Roan Kattouw e91d7ddaaf Remove unused variable index in es.TransactionProcessor.insert() 2011-11-24 13:38:48 +00:00
Trevor Parscal a7a771e06c Another major performance improvement for updated annotated retentions 2011-11-23 23:40:38 +00:00
Trevor Parscal ff5ba54115 Switched to a WAY faster method of updating annotated retained regions 2011-11-23 23:37:27 +00:00
Trevor Parscal 22c70e0154 * Added node updates for annotation+retain transactions
* Added time-buffered updates for selection/cursor
2011-11-23 22:21:46 +00:00
Trevor Parscal 779a63f486 * Switched to using JSON for hashing, allowing us to use the native JSON.stringify where available, which is much faster
* Added a bunch of utility functions for working with character data and annotations
* Got toolbar button states to follow selection of more than one character
2011-11-21 22:32:22 +00:00
Roan Kattouw 35a99b4be0 Make es.TransactionProcessor.remove() handle deep merges correctly, and add test cases. The code is still a bit rough and ugly and needs a bit more work, but I'll clean that up later; at least it works now. 2011-11-18 10:17:35 +00:00
Inez Korczynski 44d42babe6 Comment out line that is throwing "Object has no method" when trying to assign output of method to "index" variable, which is not used later anyway. 2011-11-18 05:35:08 +00:00
Trevor Parscal 098c9118f2 Added first node preservation when rebuilding 2011-11-18 00:26:54 +00:00
Trevor Parscal 2497e96ccc Added documentation to getScope and made it a little less confusing to read 2011-11-17 19:19:02 +00:00
Trevor Parscal a0d7c14238 Fixed passing global offset to emit event, preventing render from re-rendering because it thought the render-from point was well past it's length 2011-11-17 18:54:52 +00:00
Trevor Parscal 824cea173a Fix for r103479 - had sign backwards! :( 2011-11-17 18:16:02 +00:00
Trevor Parscal b93a69c1bc Addressing another issue in r103447 - minor adjustment to loop 2011-11-17 18:14:14 +00:00
Trevor Parscal e30c2f8135 Addressed some issues identified in review of r103447 - this could be cleaner, but it's trying to be optimized so the UI doesn't flicker during a remove/insert (such as splitting a block) 2011-11-17 18:11:48 +00:00
Trevor Parscal 38d6673e09 Fix for issue identified in review of r103377 - this will make it so insertion at a structural offset will work even if the parent isn't the document 2011-11-17 18:05:14 +00:00
Trevor Parscal 566ff61283 Reduced (dramatically) the number of re-renders on insert (but there's still more duplication being done atm, especially on load) 2011-11-17 08:03:14 +00:00
Trevor Parscal 5f4a2b2141 * Added support for inserting content at a structural offset
* Broke rebuildNodes into 2 parts so insert can use just buildNodes when inserting whole nodes
* Added getIndexFromOffset to es.DocumentModelBranchNode objects, which returns an index of a child node from an offset
2011-11-16 20:39:48 +00:00
Trevor Parscal 5b12384431 Fixed issue in processing removal transactions - globalRange is now defined always, so we need to check for range instead 2011-11-16 20:01:12 +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 2494c40297 Moved transaction processing code to new class, es.TransactionProcessor 2011-11-14 23:04:36 +00:00