Commit graph

347 commits

Author SHA1 Message Date
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