Trevor Parscal
babf3eb9fb
Made heading labels less verbose
2011-12-02 22:21:58 +00:00
Trevor Parscal
667e145706
* Fixed empty drop down not being the right size
...
* Added previews for formatting menu
2011-12-02 22:20:26 +00:00
Trevor Parscal
f463a3a6bb
Added a history icon
2011-12-02 21:54:27 +00:00
Trevor Parscal
a555f307f0
Removed unused icon
2011-12-02 21:48:07 +00:00
Trevor Parscal
ea1d57146a
Updated icons
2011-12-02 21:46:48 +00:00
Trevor Parscal
12ead70876
Added visible breaks to to toolbar groups
2011-12-02 21:31:49 +00:00
Trevor Parscal
3d678ea3bd
Integrated menuView into format drop down tool
2011-12-02 21:25:19 +00:00
Inez Korczynski
01180e4f8f
Rename function and comment it
2011-12-02 20:41:43 +00:00
Inez Korczynski
a9a53a00a8
Initiali implementation of number and bullet buttons for lists.
2011-12-02 06:43:26 +00:00
Inez Korczynski
31585463ed
get rid of console.logs
2011-12-02 01:37:23 +00:00
Inez Korczynski
21d78b3c3e
getAnnotationsFromRange should return list of annotations even if there are elment offset in between of them
2011-12-02 01:36:12 +00:00
Inez Korczynski
0ef949eed3
Small refactoring of updateState in FormatDropdownTool
2011-12-02 01:22:51 +00:00
Trevor Parscal
8c93a66308
Fixed menu positioning
2011-12-02 00:35:48 +00:00
Trevor Parscal
172c4815b3
Fixed example panel visibility bug
2011-12-02 00:32:20 +00:00
Trevor Parscal
8a58fb5189
Added es.MenuView
2011-12-02 00:30:50 +00:00
Inez Korczynski
874e8aa40a
Missing changes for FormatDropdownTool support
2011-12-02 00:02:16 +00:00
Inez Korczynski
634b647dc0
Implemented es.FormatDropdownTool.prototype.updateState
2011-12-01 23:53:15 +00:00
Trevor Parscal
380f016840
* Split the result of getAnnotationsFromRange to provide full, partial and all lists
...
* Fixed tools to use this data correctly
2011-12-01 23:25:56 +00:00
Inez Korczynski
2686b383d9
Added FormatDropdownTool, so now you can switch leaf nodes from paragraphs to pres for instance
2011-12-01 23:24:21 +00:00
Trevor Parscal
8dc7f148df
Fixed clear button to only clear testStyle and link annotations, and also only be enabled when these kinds of annotations are in the current selection
2011-12-01 23:10:09 +00:00
Trevor Parscal
9c08361de9
Select 1,1 by default on load of demo/sandbox
2011-12-01 23:06:29 +00:00
Trevor Parscal
ef87d55317
Made context icon not appear while dragging selection
2011-12-01 23:00:35 +00:00
Trevor Parscal
00d62c5ebd
Update context menu on scroll and resize
2011-12-01 22:50:55 +00:00
Inez Korczynski
1db55a8242
Added pretty solid implementation of prepareLeafConversion method
2011-12-01 22:45:32 +00:00
Trevor Parscal
0cb7387b6f
Added example dialog (still hacking here)
...
Added link tool to toolbar
2011-12-01 22:43:50 +00:00
Trevor Parscal
7a5eccea44
Using unique event for cursor state changes - this also fixes the infinite loop that occurred when selections were made
2011-12-01 21:44:46 +00:00
Trevor Parscal
b1ab785ffc
Removing unused icons
2011-12-01 21:37:02 +00:00
Trevor Parscal
3b780a15ef
Updated icons
2011-12-01 21:35:54 +00:00
Inez Korczynski
02f2e47e91
Very early version of convertLeafs method (still does not work perfect due to problems wiht selectNodes method)
2011-12-01 21:10:37 +00:00
Neil Kandalgaonkar
c8aa352cb0
misc fixes to pass jslint - catch default cases, make sure callbacks whose values are checked always return them, etc.
2011-12-01 19:08:32 +00:00
Neil Kandalgaonkar
71542b45d7
no longer track selections in states. Also makes the 'combine' parameter obsolete
2011-12-01 19:08:28 +00:00
Neil Kandalgaonkar
0f12bd9b59
get rid of separate undoState function
2011-12-01 19:08:24 +00:00
Neil Kandalgaonkar
b7cc76acd8
hasTransaction -> hadTransaction
2011-12-01 19:08:18 +00:00
Neil Kandalgaonkar
d82a706170
undoes changes, cursor still does not move properly
2011-12-01 19:07:40 +00:00
Gabriel Wicke
63c728924b
Use pegjs from npm
2011-12-01 15:23:23 +00:00
Antoine Musso
5ab379f479
fix vim modeline
2011-12-01 15:19:37 +00:00
Gabriel Wicke
0ce1e9fcf3
Add a quick html entity decoding hack, and document need for general decoder.
2011-12-01 14:39:55 +00:00
Gabriel Wicke
d00743ad79
Improve external links and definition lists, now 133 tests passing ;)
...
Also add printwhitelist option to test runner, provides js code copy/pastable
to whitelist.
2011-12-01 14:25:59 +00:00
Inez Korczynski
da9b4070fe
Added undo and redo buttons to toolbar
2011-12-01 01:33:13 +00:00
Trevor Parscal
9879b8abe7
Added undo and redo icons
2011-12-01 01:29:32 +00:00
Inez Korczynski
7bc84d8cf4
getIndexOfAnnotation is method of DocumentModel. not DocumentView
2011-12-01 01:10:38 +00:00
Trevor Parscal
0f123a6d2f
Removed unneeded condition
2011-12-01 01:03:34 +00:00
Trevor Parscal
85526a7d46
Normalize selection before use!
2011-12-01 01:01:27 +00:00
Trevor Parscal
f9ad5bed54
Pick up annotations from the character on the left of the cursor
2011-12-01 00:58:51 +00:00
Trevor Parscal
f098a24c8a
Moved things around - only doing insertion annotation loading when needed
2011-12-01 00:55:33 +00:00
Inez Korczynski
7815c98052
clearInsertionAnnotations and addInsertionAnnotations when appropriate
2011-12-01 00:53:58 +00:00
Inez Korczynski
a5fdfffc3b
Seperate ClearButtonTool from AnnotationButtonTool
2011-12-01 00:37:17 +00:00
Trevor Parscal
bc13cf2588
Made buttons not change focus
2011-12-01 00:28:09 +00:00
Trevor Parscal
7c7583fcd6
Fixed invalid symbol
2011-12-01 00:24:57 +00:00
Trevor Parscal
b3790de52d
Filter out insertion annotations that aren't textStyle or link
2011-12-01 00:21:59 +00:00
Trevor Parscal
18681cb758
Added insertion annotation functionality
2011-12-01 00:16:50 +00:00
Trevor Parscal
0b061e9cc5
Changed example context menu items
2011-12-01 00:04:59 +00:00
Trevor Parscal
ee282bf430
Added disabled class for clear button
2011-11-30 23:58:32 +00:00
Trevor Parscal
b9bfad9988
Added disabled icon for clear
2011-11-30 23:56:46 +00:00
Trevor Parscal
049b82fb98
Moved images to es
2011-11-30 23:54:12 +00:00
Inez Korczynski
dfc33b332c
Refactoring of Toolbar tools
2011-11-30 23:51:06 +00:00
Trevor Parscal
12a20a5fe7
Limited select event emitting to when selection changes
2011-11-30 23:50:32 +00:00
Trevor Parscal
a442fd4bb0
Split name and label functionality of toolbar config
2011-11-30 23:40:33 +00:00
Trevor Parscal
3a6220e922
Fixed selection update on resize
2011-11-30 23:36:44 +00:00
Trevor Parscal
dc575227f6
Fixed a typo
2011-11-30 23:33:07 +00:00
Trevor Parscal
12531f59ad
Fixed image links and switched to using inline block for toolbar
2011-11-30 23:29:54 +00:00
Trevor Parscal
319cc6a624
Moved toolbar view styles
2011-11-30 23:21:17 +00:00
Trevor Parscal
306ebb936a
Made context icon update with selection updates
2011-11-30 23:19:56 +00:00
Trevor Parscal
10f4f0bd2c
Removing unused styles
2011-11-30 23:18:09 +00:00
Inez Korczynski
55c24023f2
Refactoring of Toolbar tools
2011-11-30 23:05:06 +00:00
Inez Korczynski
c157c26d90
Refactoring of Toolbar tools
2011-11-30 23:00:19 +00:00
Trevor Parscal
f218b15ff1
Fixed floating issues with toolbar
2011-11-30 22:44:11 +00:00
Trevor Parscal
e540c87d98
Added toolbar view to context menu (needs some work)
2011-11-30 22:35:06 +00:00
Trevor Parscal
0b72dcba33
Fixed context menu positioning
2011-11-30 22:30:35 +00:00
Trevor Parscal
b18fffdcf0
Moved more styles around
2011-11-30 22:15:03 +00:00
Trevor Parscal
d2d73166a8
Removed soft undo stuff
2011-11-30 22:06:19 +00:00
Trevor Parscal
caf1bb0e0b
Split context view styles out of surface styles
2011-11-30 20:45:24 +00:00
Trevor Parscal
9ab792704d
Fixed image links
2011-11-30 20:42:59 +00:00
Trevor Parscal
57434fa734
Moved styles
2011-11-30 20:39:49 +00:00
Trevor Parscal
086b4f46ca
Fixed context menu position when scrollTop is non-zero
2011-11-30 19:55:44 +00:00
Trevor Parscal
edd7e6e76d
Added support for RegExp when using the clear method in prepareContentAnnotation
2011-11-30 19:21:33 +00:00
Inez Korczynski
cb38a7527b
Added title attributes for ButtonTool and DropdownTool divs
2011-11-30 18:24:54 +00:00
Gabriel Wicke
82e31ffd42
Do not allow newlines in various attributes
2011-11-30 15:12:53 +00:00
Gabriel Wicke
821162484e
Allow inlines in the term part of ; term : definition
2011-11-30 14:53:28 +00:00
Gabriel Wicke
f758894de7
Let another test pass by swapping the default order of italic/bold for '''''.
...
Minor test output cosmetics.
2011-11-30 13:54:57 +00:00
Gabriel Wicke
e0fca805a6
Expand tabs in grammar.
2011-11-30 13:42:26 +00:00
Gabriel Wicke
2bb512a4de
A bit of tokenizer grammar clean-up and additional expected-html
...
normalization. 99 parser tests now passing.
2011-11-30 13:40:17 +00:00
Gabriel Wicke
127d8c8621
Simplify DOM paragraph wrapping postprocessor
2011-11-30 12:28:45 +00:00
Inez Korczynski
72ec73c063
Placeholder for FormattingDropDown and ClearButton in Toolbar
2011-11-30 08:07:22 +00:00
Inez Korczynski
4d3e38756f
Make Bold and Italic toolbar buttons works (when clicked)
2011-11-30 07:42:10 +00:00
Inez Korczynski
af39b6dc47
Make toolbar buttons Bold and Italic reflect state of current selection
2011-11-30 07:35:59 +00:00
Inez Korczynski
9aa9188798
Create separated classes for each toolbar tool (so far only bold and italic). Use CSS classes instead of img tags for toolbar buttons styling.
2011-11-30 07:10:15 +00:00
Trevor Parscal
dee9a0df01
* Using DOM for more of the icon style
...
* Fixed double-selection rendering issue
2011-11-30 01:23:37 +00:00
Trevor Parscal
cc04f0f830
More example tweaks
2011-11-30 00:51:11 +00:00
Trevor Parscal
d926cc7165
Fixed some display issues
2011-11-30 00:48:46 +00:00
Trevor Parscal
68c5487c61
Added clear button to menu
2011-11-30 00:35:58 +00:00
Trevor Parscal
3b954819ea
Moving images back to where they were
2011-11-30 00:25:17 +00:00
Trevor Parscal
69d986d2ec
Added images to menu buttons
2011-11-30 00:19:27 +00:00
Trevor Parscal
b3e669d988
Moved images
2011-11-30 00:15:43 +00:00
Trevor Parscal
f49ae59e47
Renamed bullet icon
2011-11-30 00:13:07 +00:00
Trevor Parscal
149598e5bc
Renamed bullet icon
2011-11-30 00:12:51 +00:00
Trevor Parscal
119700856d
Added more example menus
2011-11-30 00:06:46 +00:00
Trevor Parscal
62be093c65
Added example menu items
2011-11-29 23:48:11 +00:00
Trevor Parscal
9d34341beb
Added es.ContextView
2011-11-29 23:29:02 +00:00
Inez Korczynski
0c814b4d61
Fix revision r103997
2011-11-29 21:34:56 +00:00
Inez Korczynski
ffdf68c50b
Put $input (textarea) in the same place where cursor is (so it can follow its position nicely)
2011-11-29 21:32:41 +00:00
Trevor Parscal
165ef639bd
Darkened the borders of the toolbar and editor panes
2011-11-29 21:11:30 +00:00
Gabriel Wicke
f0edc5cb9a
Fix a few more tests by allowing inline content inside links. 76 now passing.
2011-11-29 18:43:27 +00:00
Gabriel Wicke
ae0b5f9af4
* Split paragraph handling between tokenizer and DOM postprocessor for better
...
html markup handling.
* Remove global 'use strict' declarations from html5 parser.
* Add trailing whitespace handling in dt
Overall, 55 parser tests are now passing.
2011-11-29 15:11:51 +00:00
Inez Korczynski
fb9348dbb9
Use spacer element for floating toolbar instead of relaying on padding-top of next sibiling.
2011-11-29 01:13:50 +00:00
Inez Korczynski
dc7e601ef0
Make toolbar float nicely in demo and in MediaWiki sandbox special page.
2011-11-29 00:58:40 +00:00
Trevor Parscal
2ecd479349
Moved some styles over to the demo
2011-11-29 00:09:37 +00:00
Trevor Parscal
3b18667821
Fix for empty content rendering issue
2011-11-29 00:00:02 +00:00
Inez Korczynski
77486cf8f2
Support select all (ctrl/metakey + a) on mac
2011-11-28 23:54:22 +00:00
Trevor Parscal
7c9140d4b4
Fixed margins so they look/work right on both demo and sandbox
2011-11-28 23:53:34 +00:00
Inez Korczynski
c80b1d5fb0
Fix the problem with disappearing selection/ranges elements
2011-11-28 23:29:09 +00:00
Inez Korczynski
6a1bd05703
Support for select all (ctrl+a)
2011-11-28 22:47:07 +00:00
Trevor Parscal
9c98969fa9
Removed setting contentLength from data.length - adding nodes adjusts the contentLength automatically
2011-11-28 22:38:30 +00:00
Inez Korczynski
41a4b432db
Cursor should always have height set dynamically within showCursor method so those two CSS propety are not relevant anymore.
2011-11-28 22:01:12 +00:00
Inez Korczynski
6e36c7c439
Put cursor directly in body element. This way it still can be positioned absolutly but without risk that some other element using position other than "static" (like #bodyContent) will change positioning context.
2011-11-28 21:58:46 +00:00
Trevor Parscal
e4faa39ab3
Fixed z-index issue in special page
2011-11-28 20:57:01 +00:00
Trevor Parscal
111ce5ada3
Initial MediaWiki Integration
2011-11-28 20:28:28 +00:00
Gabriel Wicke
b16c295b98
Consider dl as a block-level element.
2011-11-28 16:54:58 +00:00
Gabriel Wicke
d3f0196df7
Add primitive HTML comparison to detect passing parser tests. The expected
...
HTML is parsed using a HTML parser and re-serialized, and the output compared
to the serialization of the new parser's dom. Newline normalization is a
cheap hack for now, need to improve that later.
2011-11-28 11:10:39 +00:00
Gabriel Wicke
6b8c109cf0
Separate block-level tags in tokenizer to delimit inlines and avoid wrapping
...
block-level in paragraphs.
2011-11-25 17:41:26 +00:00
Gabriel Wicke
859379a635
Improvements to nowiki/pre interaction. Will need to distinguish block-level
...
tags from inline HTML tags next.
2011-11-25 15:02:44 +00:00
Gabriel Wicke
dd5cd59ac6
Better HTML, pre and blocklevel handling. Hackish source formatting for easier
...
comparison with parserTest results.
2011-11-25 12:47:03 +00:00
Gabriel Wicke
5b3a4497aa
Add generic HTML tokenization and nowiki handling.
2011-11-25 10:59:43 +00:00
Roan Kattouw
5ac817a6f4
Fix bugs in prepareContentAnnotation() related to structural offsets, and add a test. Also add parenthesis to the if statement mixing || and &&, for clarity
2011-11-24 16:27:40 +00:00
Roan Kattouw
815029f6db
Fix the prepareContentAnnotation test cases added in r104102
2011-11-24 16:13:19 +00:00
Roan Kattouw
d98a7bd373
Refacor things to use getCommonAncestorPaths()
2011-11-24 15:55:54 +00:00
Roan Kattouw
6f3c407314
Introduce es.DocumentNode.getCommonAncestorPaths(), with tests
2011-11-24 15:34:12 +00:00
Gabriel Wicke
6c36ddcbce
Follow-up to r104164: Clean-up comments, remove old italic/bold productions.
2011-11-24 14:20:56 +00:00
Gabriel Wicke
dee262658f
Add MediaWiki-compatible quote handling including quirks and overlapped
...
structures like ''[[Link|Link text'']]. This is another transform on the token
stream.
2011-11-24 13:56:30 +00:00
Roan Kattouw
e91d7ddaaf
Remove unused variable index in es.TransactionProcessor.insert()
2011-11-24 13:38:48 +00:00
Inez Korczynski
ea29c15f32
Added formatting dropdown to toolbar - but it does not work yet.
2011-11-24 01:02:19 +00:00
Trevor Parscal
30ede21d46
No need to fallback to zero, delay must be non-zero for the setTimeout to be run
2011-11-24 00:01:11 +00:00
Trevor Parscal
1b633ede21
Took time-buffered actions out of a timeout if delay is undefined or 0
2011-11-23 23:57:54 +00:00
Trevor Parscal
c1a3d4095f
Got rid of optimize() - now performing consecutive-type operation merging on the fly
2011-11-23 23:54:36 +00:00
Trevor Parscal
b8b3ed57e2
Added time-buffer to emitting updates
2011-11-23 23:42:41 +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
dab042b52f
Prevented classes from being removed and reset when they didn't actually change
2011-11-23 23:22:59 +00:00
Trevor Parscal
1fa9dfef3c
Made class replacement catch spaces too, so we don't keep adding more and more spaces each time we update the class of a heading
2011-11-23 23:17:34 +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
fc17703f01
Added combine arguments where needed
2011-11-23 22:00:01 +00:00
Inez Korczynski
a4c71510d3
Early stage implementation of toolbar
2011-11-23 21:50:47 +00:00
Gabriel Wicke
baf55875b9
Re-add modified wiki list handling to tokenizer.
2011-11-23 14:27:51 +00:00
Inez Korczynski
1cdd4ed0d3
Fix off by one bug in getRelativeContentOffset
2011-11-23 09:04:06 +00:00
Inez Korczynski
69b11c3399
Build VisualEditor toolbar dynamicly based on configuration.
2011-11-23 07:11:31 +00:00
Inez Korczynski
8c200c94aa
Initial separation of toolbar code into ToolbarView
2011-11-23 01:19:11 +00:00
Trevor Parscal
ed463eb075
Added soft undo/redo
2011-11-23 00:59:57 +00:00
Trevor Parscal
9beda20191
Routed selection through the SurfaceModel
2011-11-23 00:36:46 +00:00
Trevor Parscal
20da830a26
Rewrite of undo/redo - now completely implemented in es.SurfaceModel
2011-11-22 22:59:05 +00:00
Trevor Parscal
df88d82181
Using the full word Difference instead of Diff
2011-11-22 22:57:23 +00:00
Trevor Parscal
6b19489742
Added new line at the end of the file
2011-11-22 22:56:49 +00:00
Inez Korczynski
1186949675
Fix bug in deletion: callback for traverseUpstream should get parent of current node, not of the node from which traversal started.
2011-11-22 20:11:23 +00:00
Inez Korczynski
2d8440132e
Fix setInterval bug in IE (in IE setInterval doesn't take 3rd parameter)
2011-11-22 19:59:18 +00:00
Gabriel Wicke
694b998f24
Minor improvement to italic/bold, documentation on failed modularization of
...
static parser functions.
2011-11-22 16:51:05 +00:00
Inez Korczynski
b60a82c50e
Make toolbar float when scrolling the page
2011-11-22 07:17:08 +00:00
Inez Korczynski
0fef27aae7
Fix bug with selecting words
2011-11-22 02:23:39 +00:00
Trevor Parscal
56d05ce855
Reverted an issue in r103873 - fall through was intentional
2011-11-22 01:25:15 +00:00
Trevor Parscal
5bb01d20ef
Backing out history integration for now
2011-11-22 00:26:50 +00:00
Trevor Parscal
ee12891dbe
Added support for meta key (mac command key) for undo/redo
2011-11-21 23:54:57 +00:00
Trevor Parscal
70147a166d
Fixed breaks in a switch being inside ifs, causing them not to properly terminate the switch
2011-11-21 23:53:37 +00:00
Trevor Parscal
631323b9bd
* Refactored es.HistoryModel to always be working from a single array rather than a buffer and an array
...
* Added support for associating a selection with a state
2011-11-21 23:51:37 +00:00
Inez Korczynski
68ea54fcf3
Bind ctrl+z to history undo and ctrl+y to history redo.
2011-11-21 23:25:43 +00:00
Inez Korczynski
392d911c3d
States is an array of array of transaction, so one more iteration is needed.
2011-11-21 23:10:31 +00:00
Trevor Parscal
e0f746d3d5
Installed HistoryModel into SurfaceView
2011-11-21 22:59:40 +00:00
Inez Korczynski
db7b4dff64
Auto scroll to cursor is showCursor method
2011-11-21 22:55:48 +00:00
Trevor Parscal
6f8d229416
Cleaned up some issues with scoping, line ending, variable redeclaration, etc.
2011-11-21 22:43:56 +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
Trevor Parscal
9590783f50
Added emitting selection on mouse move
2011-11-21 22:07:03 +00:00
Inez Korczynski
f840fb7a1f
Created generic function 'handleDelete' that is used for content deletion initiated with backspace or delete keys.
2011-11-21 21:50:14 +00:00
Gabriel Wicke
d1b0293569
Fix comment token conversion and serialization
2011-11-21 09:22:30 +00:00
Inez Korczynski
61cfdb58fb
Improve logic for moving cursor up and down - especially in case of initialBias - code has to be refactored.
2011-11-19 03:07:27 +00:00
Inez Korczynski
77ff26d61d
Improve logic for moving cursor up and down - especially in case of initialBias - code has to be refactored.
2011-11-18 23:21:33 +00:00
Inez Korczynski
ed299c01d9
Reset value of initialBias and initialLeft states after pressing backspace/delete/enter or typing text
2011-11-18 20:09:13 +00:00
Inez Korczynski
bd92a3aaf8
Improve logic for moving cursor up and down - especially in case of initialBias.
2011-11-18 19:57:53 +00:00
Inez Korczynski
bf1b9a881f
Improve logic for moving cursor up and down - especially in case of initialBias.
2011-11-18 19:48:43 +00:00
Gabriel Wicke
65afd9b610
Improve internal link handling
2011-11-18 14:48:32 +00:00
Gabriel Wicke
d744e65c48
Add missing token adapter.
2011-11-18 14:00:14 +00:00
Gabriel Wicke
b750ce38b8
Add node.js-compatible HTML5 parser and hook it up to the PEG tokenizer.
...
Builds a DOM tree (jsdom) from the tokens and then serializes that using
document.innerHTML. This is all very experimental, so don't be surprised by
rough edges.
2011-11-18 13:57:07 +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
2d4c253f5e
Place cursor in correct place after deleting selected content.
2011-11-18 08:10:56 +00:00
Inez Korczynski
535139919b
Support for "backspace" and "delete" when content is selected - also better support for typing when entire node is selected.
2011-11-18 07:52:28 +00:00
Inez Korczynski
85cf0c27e2
Implementation of static function es.DocumentViewNode.getSplitableNode
2011-11-18 06:49:00 +00:00
Inez Korczynski
9bfee0642c
Temporary handle listitems merging/spliting logic in SurfaceView until it will be fixed in transaction preparation (prepareRemoval)
2011-11-18 06:45:11 +00:00
Inez Korczynski
9df503e788
Proper handling for "delete" & "backspace" keys
2011-11-18 06:43:42 +00:00
Inez Korczynski
d02ed50211
Proper handling for "enter" key
2011-11-18 06:17:14 +00:00
Inez Korczynski
307ab3506b
Start from removing selected content if there is any when typing
2011-11-18 05:51:50 +00:00
Inez Korczynski
d0d8e35f34
Code cleanup in SurfaceView - no any major changes
2011-11-18 05:44:24 +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
Inez Korczynski
383e4e324a
Added static function es.DocumentNode.traverseUpstream
2011-11-18 05:18:48 +00:00
Trevor Parscal
098c9118f2
Added first node preservation when rebuilding
2011-11-18 00:26:54 +00:00
Trevor Parscal
a9d29af962
Using overwrite instead of build and swap method for line data in es.ContentView objects - this way line data is valid between renders
2011-11-17 23:43:53 +00:00
Trevor Parscal
48e7f4c3c6
Initial checkin of new es.HistoryModel (needs tests)
2011-11-17 22:44:11 +00:00
Trevor Parscal
6fded56cec
Renamed es.Transaction to es.TransactionModel
2011-11-17 22:42:18 +00:00
Roan Kattouw
117c785d85
Improve the merging logic in prepareRemoval() to also allow merging nested nodes, e.g. by deleting </p></li><li><p>
2011-11-17 19:23:15 +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
c3521b00fd
Fixed the last of the rendering to much bugs - now things are rendered when needed only
2011-11-17 19:05:06 +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
284082b5d3
Simplified documentation
2011-11-17 18:26:00 +00:00
Trevor Parscal
5784d5f6f5
Added some new documentation for the new merging rules
2011-11-17 18:23:53 +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
Roan Kattouw
f8fd9fd840
Add an extra offset parameter to selectNodes() and use it in the recursion, so the results of recursive calls don't need to have their globalRanges translated
2011-11-17 18:00:16 +00:00
Trevor Parscal
43de57840e
Commented out some console.log statements
2011-11-17 17:59:15 +00:00
Roan Kattouw
41ace08026
Replace prepareRemoval() with a fixed-up version of my rewrite (which was commented out previously)
2011-11-17 16:44:44 +00:00
Gabriel Wicke
11e487d8c0
Flatten inline token lists before merging text into text tokens.
2011-11-17 15:43:31 +00:00
Gabriel Wicke
ea87e7aaee
Convert PEG parser to tokenizer for back-end HTML parser. Now emits a list of
...
tokens, which for now is still completely built before parsing can proceed.
For each top-level block, the source start/end positions are added as
attributes to the top-most tokens. No tracking of wiki vs. html syntax yet.
2011-11-17 15:26:02 +00:00
Roan Kattouw
be994da373
Make selectNodes() also descend (recurse) into child nodes when only the start or only the end is in the middle of a child node. Without this, it was stuff like ranges with only openings and no closings.
2011-11-17 15:01:47 +00:00
Roan Kattouw
2c21250c70
Make selectNodes() not return an empty array when encountering a zero-length selection in a structural location (we don't do this for zero-length selections in content locations either, and the empty array is breaking an assumption I was making in my prepareRemoval rewrite)
2011-11-17 14:50:38 +00:00
Roan Kattouw
61082fa3c1
Whitespace fix
2011-11-17 14:43:11 +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
Inez Korczynski
8f459b5f01
Improve handling for enter, backspace, delete
2011-11-17 00:28:40 +00:00
Trevor Parscal
a55f52c2c7
Made it so <p>|</p> is not considered to be a structural offset
2011-11-16 23:57:12 +00:00
Inez Korczynski
17cad00776
Added support for enter key in elements with attributes - like headings, listitems.
2011-11-16 23:34:58 +00:00
Trevor Parscal
b89d7d7eeb
Removed some accidental globals
2011-11-16 23:32:57 +00:00
Inez Korczynski
62e399ef2e
Added splitRules for DocumentView
2011-11-16 23:19:29 +00:00
Inez Korczynski
a5a09d42d8
Minor fix.
2011-11-16 23:18:22 +00:00
Inez Korczynski
243189a009
Basic support for enter key in heading and paragraphs
2011-11-16 23:16:02 +00:00
Inez Korczynski
3bf8a244f1
Added basic support for deleting selection with delete key.
2011-11-16 22:01:41 +00:00
Inez Korczynski
fe3ef45f56
Improved support for combination of ctrl/alt/metakey + up/down/left/right - especially for mac vs. windows.
2011-11-16 21:59:22 +00:00
Inez Korczynski
13775c5116
Added basic support for deleting selection with backspace.
2011-11-16 21:25:48 +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
Inez Korczynski
a43288be29
Support for moving cursor up and down by "unit" distance when control key pressed down.
2011-11-16 19:51:02 +00:00
Roan Kattouw
5de3778803
Drop droppable (oh, how meta!) attribute introduced in r103211. Will convert prepareRemoval() later
2011-11-16 19:28:13 +00:00
Roan Kattouw
17df2a174a
Fix breakage in prepareRemoval() from r103271 and demonstrated by the tests in r103356. Also add, in a comment, a somewhat functional rewrite of prepareRemoval() to be used after we drop droppability
2011-11-16 19:17:58 +00:00
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
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
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
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