Commit graph

1027 commits

Author SHA1 Message Date
Gabriel Wicke f0399d2ec5 Clean up comments in TokenTransformDispatcher and mark private methods with
underscore.
2012-01-04 09:48:24 +00:00
Gabriel Wicke ee79158e53 Add trailing newline in commandline parser wrapper 2012-01-04 08:42:53 +00:00
Gabriel Wicke 29362cc53c Rename ParseThingy to ParserPipeline and fix up broken WikiDom generation and
commandline runner.
2012-01-04 08:39:45 +00:00
Gabriel Wicke bd98eb4c5a Land big TokenTransformDispatcher and eventization refactoring.
The TokenTransformDispatcher now actually implements an asynchronous, phased
token transformation framework as described in
https://www.mediawiki.org/wiki/Future/Parser_development/Token_stream_transformations.

Additionally, the parser pipeline is now mostly held together using events.
The tokenizer still emits a lame single events with all tokens, as block-level
emission failed with scoping issues specific to the PEGJS parser generator.
All stages clean up when receiving the end tokens, so that the full pipeline
can be used for repeated parsing.

The QuoteTransformer is not yet 100% fixed to work with the new interface, and
the Cite extension is disabled for now pending adaptation. Bold-italic related
tests are failing currently.
2012-01-03 18:44:31 +00:00
Neil Kandalgaonkar 9d198ecad6 when nothing to undo or redo, grey out appropriate buttons - fix bug #33112, based on patch from ashish.dubey91@gmail.com 2011-12-31 01:44:34 +00:00
Neil Kandalgaonkar 20374b5911 fix substr for IE, followup r107464 2011-12-30 21:51:03 +00:00
Gabriel Wicke 8e00a72d0a Improvements to link trail handling, and two tweaks to the whitelist. 182
tests now passing. 

Link trails depend on language-dependent positive character classes in the PHP
parser. These classes all seem to disallow punctuation implicitly and list
differing plain text characters instead, so it might be possible to get away
with identifying a common class of non-trail punctuation instead. This would
help to keep the tokenizer independent of configurations, which is very
desirable for caching and simplified external parsing.
2011-12-30 12:47:06 +00:00
Gabriel Wicke 11ece76b7b Fix suffix handling for wiki links. 2011-12-30 09:35:57 +00:00
Gabriel Wicke b3a0270d69 Remove env and load grammar in tokenizer constructor. Re-add property hack to
keep parserTests running for now. Really need a different pipeline for html
serialization or a reference to the HTML DOM.
2011-12-28 17:04:16 +00:00
Gabriel Wicke 3a63fb118e Add a few comments inline, and remove unneeded html serialization as we are
only interested in WikiDom output in this parser wrapper.
2011-12-28 13:46:52 +00:00
Neil Kandalgaonkar 8fbf36e63e put add terminal token inside tokenize method (will pull it out again for streaming interface) 2011-12-28 01:37:15 +00:00
Neil Kandalgaonkar 6103646ec8 remove need to add newline at end of input 2011-12-28 01:37:11 +00:00
Neil Kandalgaonkar 4158f82d7e refactor parser to ParseThingy in different module, can be invoked with command line utility parse.js 2011-12-28 01:37:06 +00:00
Neil Kandalgaonkar d91a67ba99 nodeName not defined 2011-12-28 01:36:54 +00:00
Neil Kandalgaonkar 962d1262fc create tokenizer without need to modify namespace with PEG source 2011-12-28 01:36:36 +00:00
Gabriel Wicke 33e60dd4d9 Update comments a bit. 2011-12-22 12:37:24 +00:00
Gabriel Wicke 9ee0e660ec Fix regression introduced by r107060 for regular table cells. Good to have a
test suite ;)
2011-12-22 12:09:25 +00:00
Gabriel Wicke a94d0ec10c Re-add support for row-only tables. 2011-12-22 11:58:32 +00:00
Gabriel Wicke 1c7fe0eb34 Refactor table productions to support table fragments in templates (table
start / row / table end). The old productions are not deleted yet to make it
easy to compare the output on more complex articles. 181 tests passing after
adding two table tests with whitespace-only differences to the whitelist.
2011-12-22 11:43:55 +00:00
Gabriel Wicke 2845ba9552 Handle noinclude and includeonly at start of line, so that syntax after it
still matches as if it actually was preceded by a newline.
2011-12-21 11:38:50 +00:00
Mark A. Hershberger 752130ab74 Bug 33113 - Have buttons that are grayed out disabled completely
Author: joan.creus.c@gmail.com
2011-12-17 23:58:21 +00:00
Gabriel Wicke 3a631db6d9 Fix ranges for annotations in implicit paragraphs within branch nodes. 2011-12-16 19:36:04 +00:00
Gabriel Wicke cc06551f2e Rename table_header production to table_heading. Those non-natives strike again. 2011-12-16 19:24:59 +00:00
Gabriel Wicke 605ed23fd2 Fix attributes in table headings. 2011-12-16 19:22:13 +00:00
Gabriel Wicke 08255ff3e6 Small bug fix to heading level, spotted by Mike from localwiki- thanks! 2011-12-15 23:59:35 +00:00
Gabriel Wicke a04744b2ec Add some more attribute remapping capabilities to the DOMConverter, and clean
up some grammar formatting.
2011-12-15 17:33:07 +00:00
Gabriel Wicke e98dd9e722 Implement 1-char-minimum width for annotations, and some additonal minor
cleanup.
2011-12-15 11:05:52 +00:00
Gabriel Wicke 22ba27295b Clean up the DOMConverter a bit. 2011-12-15 10:55:30 +00:00
Gabriel Wicke e72dee76e4 Follow-up to r106208 and r106207. Both good catches, thanks Yair! As this code
is in its early stages and nowhere near deployment, please Be Bold and just
commit things like this directly! IMHO it makes more sense to fully review this
once it settles down a bit.
2011-12-15 10:13:50 +00:00
Gabriel Wicke 3585bd9c8e Accept row-only tables. The parser now eats [[en:Barack Obama]] as-is. Hooray! 2011-12-15 00:39:28 +00:00
Gabriel Wicke 6df94a34a1 Less lust for urls 2011-12-15 00:26:22 +00:00
Gabriel Wicke ce2ee067f7 Minor tweak to wiki link production 2011-12-15 00:12:58 +00:00
Gabriel Wicke 377226a120 Comment out a stray console.log 2011-12-14 23:44:58 +00:00
Gabriel Wicke 574abd9774 A collection of small bug fixes to the grammar, Cite, the Token format
converter and the HTML DOM -> WikiDom converter. The tokenizer now digests all
parserTests.
2011-12-14 23:38:46 +00:00
Trevor Parscal 0342eb034d Fixed help panel content where we claimed the alt key was to be used for word/block selection, but it should have been ctrl/option key - also changed clt to ctrl. 2011-12-14 19:15:02 +00:00
Trevor Parscal 64754b8200 Added autocapitalize="off" attribute to text area input so IOS doesn't capitalize everything. 2011-12-14 18:54:36 +00:00
Gabriel Wicke dc77d73ad5 Add ability to pass through JSON data to WikiDom in data-json-* attributes,
and fix parser to actually parse the Barack Obama article except for one table
with nested templates at the start-of-line.
2011-12-14 17:25:09 +00:00
Gabriel Wicke f6e4267fca Handle a few more element types, and reset offset for each leaf node. Not sure
if the latter is correct, as the documentation at
https://www.mediawiki.org/wiki/Visual_editor/Software_design#Data_Structures
and the actual sample WikiDom in the editor sandbox seem to disagree on this
point.
2011-12-14 16:22:27 +00:00
Gabriel Wicke 6676a47008 Add implicit level attribute to WikiDom headings. 2011-12-14 15:55:58 +00:00
Gabriel Wicke 3018ca690b Improve WikiDom conversion: Handle text and annotations in branch nodes as
paragraphs and treat list items as branches.
2011-12-14 15:40:40 +00:00
Gabriel Wicke a09aa4d599 Add rough HTML DOM to WikiDom conversion. You can see serialized WikiDom of
parser tests using 'node parserTests.js --wikidom'.
2011-12-14 15:15:41 +00:00
Gabriel Wicke 5f80d30428 Clean up access to document and body after building the tree. 2011-12-14 09:40:49 +00:00
Gabriel Wicke 30749b8d8d Update comments a bit and add a note on things to improve in API. 2011-12-14 09:33:25 +00:00
Neil Kandalgaonkar 932eade938 add buglist ang bug reporting links to feedback form 2011-12-14 01:32:07 +00:00
Trevor Parscal 74ff2981cf Added blur handler for window which resets the shift key tracker 2011-12-13 23:22:19 +00:00
Trevor Parscal 8e10485a0c Fixes issue with r106123 where creating new links wasn't working anymore with the button 2011-12-13 23:15:31 +00:00
Trevor Parscal fef6d5525e - Added auto-link selection when opening the link editor without selecting any text
- Resolves bug #33049
2011-12-13 23:12:27 +00:00
Gabriel Wicke 55ff272847 Comment TokenTransformDispatcher. 2011-12-13 20:13:09 +00:00
Gabriel Wicke 44deefe303 Minor tweak to comment. 2011-12-13 18:55:44 +00:00
Gabriel Wicke c61b32eaa7 Clean up and comment the Cite extension a bit. 2011-12-13 18:45:09 +00:00
Trevor Parscal 7e3401b777 Renamed, merged and disabled some example documents 2011-12-13 17:49:42 +00:00
Trevor Parscal acb7d042d2 Updated icons (includes new help icon) 2011-12-13 17:39:36 +00:00
Gabriel Wicke feee9ded9f Convert the Cite extension to a token stream transformer.
This required a few further additions to the TokenTransformDispatcher. In
particular, there is now an 'any' token match whose callbacks are executed
before more specific callbacks. This is used by the Cite extension to eat all
tokens between ref and /ref tags. This need is very common, so should be
broken out to an intermediate layer in the future.

In general, the requirements for the TokenTransformDispatcher API are now
clearer, and the API should likely be cleaned up / simplified.
2011-12-13 14:48:47 +00:00
Gabriel Wicke 8e55e79b67 Rename TokenTransformer to TokenTransformDispatcher. 2011-12-13 11:45:12 +00:00
Gabriel Wicke 8231511217 Replace custom object copy with $.extend. 2011-12-13 11:18:15 +00:00
Neil Kandalgaonkar 420342be88 change args for feedback and api -- all optional, in array. 2011-12-13 10:28:44 +00:00
Gabriel Wicke 39aedd4378 Improve comments in QuoteTransformer. 2011-12-13 10:25:18 +00:00
Inez Korczynski 4dfbd527a2 Add "New document" to VisualEditor demo/sandbox 2011-12-13 08:08:02 +00:00
Neil Kandalgaonkar fb5998f1b6 remove flash-of-unstyled-content, consolidate base HTML for the sandbox in sandbox/base.php 2011-12-13 04:06:02 +00:00
Erik Moeller aa161bb64a Adapt title of feedback page to project page title conventions on
mediawiki.org
2011-12-13 03:15:56 +00:00
Neil Kandalgaonkar f9fbeee43e add feedback link to visual editor 2011-12-13 02:46:31 +00:00
Inez Korczynski f27be7c238 Better implementation of history panel 2011-12-13 00:56:29 +00:00
Trevor Parscal f379eac294 Moved toolbar floating code to sandbox.js - using a wrapper instead of a spacer to avoid resize events causing scroll events which cause a nasty loop 2011-12-12 23:41:15 +00:00
Inez Korczynski 74d194d703 Extend content of example article: "Direct manipulation interface" 2011-12-12 23:04:37 +00:00
Inez Korczynski 5f3b4cedb9 Fix typo 2011-12-12 22:55:37 +00:00
Inez Korczynski 135adbf443 Make purgeHistory method work in SurfaceModel with new data structure 2011-12-12 22:51:32 +00:00
Inez Korczynski e592a243b6 Pretty dirty, but working implementation of history panel for VisualEditor 2011-12-12 22:50:57 +00:00
Trevor Parscal db8f9e675c Fixed scroll jumping issue in Chrome (at least) 2011-12-12 22:33:49 +00:00
Gabriel Wicke 0ad08b9ae3 Add a README file pointing to the wiki documentation. 2011-12-12 22:30:11 +00:00
Trevor Parscal 7b3ae79451 Added help view with keyboard shortcut info 2011-12-12 22:09:15 +00:00
Gabriel Wicke a8fa9433c4 Convert quote handling (italic/bold) to a core extension operating on the
token stream. This is the first token transformation exercising the
TokenTransformer class as its dispatcher. Template expansions, wiki link
formatting, tag sanitation and extensions should be able to use the same
dispatcher by registering for specific token types.

The parser performance is very slightly improved as the token stream is only
traversed once.
2011-12-12 20:53:14 +00:00
Trevor Parscal 3d7cd9c59c Made es an explicit global object 2011-12-12 15:31:04 +00:00
Gabriel Wicke 752b0990b2 Refactor parserTests somewhat into a class-like structure, and wire up the
TokenTransformer.
2011-12-12 14:03:54 +00:00
Gabriel Wicke d616f07a79 Don't re-build the wiki tokenizer for each test. This speeds up the full
parserTests.js run slightly from 7-8 minutes to about 14 seconds ;)

A few very minor tweaks to the grammar are also thrown into this commit.
2011-12-12 10:47:42 +00:00
Gabriel Wicke 89c5e0cafb Follow-up to r105859: Add missing new. 2011-12-12 10:09:13 +00:00
Gabriel Wicke 9ebce5839a Further development of the TokenTransformer framework. 2011-12-12 10:01:47 +00:00
Inez Korczynski 62a589e185 Fix bug: cursor is not visible when you click outside of surface and then click back in the surface at the same offset where cursor was before 2011-12-10 10:33:00 +00:00
Erik Moeller 0759c2879c Followup r105634; use the label "Edit link" for link inspector 2011-12-10 08:09:42 +00:00
Erik Moeller 03c0532fc7 Swap order of indent/outdent in the toolbar consistent with common
word processor implementations.
2011-12-10 07:17:44 +00:00
Inez Korczynski 224fc98449 Temporary fix for insert method in TransactionProcessor 2011-12-10 02:19:21 +00:00
Inez Korczynski 37d3b7ceac Add calls to 'breakpoint' method in ListButtonTool 2011-12-10 00:06:37 +00:00
Inez Korczynski 4e39b41727 Make ctrl+y execute redo 2011-12-10 00:02:47 +00:00
Inez Korczynski 364a1a94b9 Simple implementation of undo/redo functionality that works. 2011-12-09 23:52:41 +00:00
Trevor Parscal 36159e7597 Fixed inspector positioning (above/below) 2011-12-09 23:33:16 +00:00
Trevor Parscal dabb992d50 Don't allow control+K to open the inspector unless there's a selection length of > 0 2011-12-09 23:23:43 +00:00
Trevor Parscal 080dfcbc4e Moved return false to inside the condition for escape key 2011-12-09 23:15:27 +00:00
Trevor Parscal eb0a82a8af Added escape keyboard shortcut to close inspector 2011-12-09 23:13:46 +00:00
Trevor Parscal 87fab9b7c6 Made accept button disabled when no change has been made 2011-12-09 23:11:49 +00:00
Trevor Parscal a698c5dada Added accept button
Made close button not save
2011-12-09 23:04:55 +00:00
Trevor Parscal 3076bf7e95 Fixed clear button - has to clear the input or it will get re-applied 2011-12-09 22:00:29 +00:00
Trevor Parscal a48d2a5787 * Added shortcut for links (ctrl/cmd + K)
* Added title attributes for tools
2011-12-09 21:16:42 +00:00
Trevor Parscal cb7eb1f033 Fix focus/select bug in link inspector 2011-12-09 21:04:50 +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 ec2bf0b1ce Update the preview panes when loading different documents 2011-12-09 20:56:49 +00:00
Trevor Parscal 77429444f7 Fixed typo - close not hide 2011-12-09 20:48:38 +00:00
Trevor Parscal 3edaaf390d Moved refocusing on surface view input up to es.Inspector 2011-12-09 20:46:12 +00:00
Trevor Parscal ef35fc2be2 Reset location input between opening the link inspector 2011-12-09 20:44:41 +00:00
Trevor Parscal 4b764f7524 Auto-focus on location input when opening the link inspector, auto focus on surface view input when closing 2011-12-09 20:41:40 +00:00
Trevor Parscal 49041942cc Added support for loading multiple documents in the demo/sandbox 2011-12-09 20:40:26 +00:00
Inez Korczynski 31cd3281ca Fix onMouseDown event handler for IE8 (still double and triple click does not work) 2011-12-09 20:29:37 +00:00
Trevor Parscal c416185a0b Made drop down format menu close when clicked 2011-12-09 19:07:06 +00:00
Trevor Parscal c1ca3af44b Moved $form to es.Inspector and added submit -> close handler 2011-12-09 19:01:05 +00:00
Inez Korczynski 4a31a6b265 Fix bug in enumarete method of ListView 2011-12-09 02:07:23 +00:00
Trevor Parscal 2e0a0e0243 Fixed logic for popping up inspector only with selection 2011-12-09 02:00:45 +00:00
Trevor Parscal f26bec23c9 Removed done button 2011-12-09 01:56:19 +00:00
Trevor Parscal 4ea117d7a6 Added es.Inspector and es.LinkInspector - and a whole bunch of other changes (some are hacks) to get a link inspector working nicely 2011-12-09 01:28:44 +00:00
Inez Korczynski 81b4fc561d Get rid of console.log 2011-12-08 23:52:35 +00:00
Inez Korczynski 22c461a55b Implemented indent and outdent functionality. 2011-12-08 23:45:07 +00:00
Inez Korczynski 47e76f21d1 Fix bug in enumerate method in case of mixed list (number and bullet for example) 2011-12-08 23:43:54 +00:00
Inez Korczynski bc4fc1249c Fix bug in ListButtilTool - cursor position was adjusted when it shouldn't be 2011-12-08 22:16:05 +00:00
Inez Korczynski f55bd4b77c Emit cursor event after listing on unlisting leaf nodes 2011-12-08 22:03:27 +00:00
Gabriel Wicke 80d5067813 Add a TokenTransformer dispatcher class. This class provides subscriptions by
token type, and supports asynchronous token expansion (for example for async
template expansion). This code is not yet tested or used. The interface for
token insertion from transformation functions will be expanded as needed.
2011-12-08 14:37:31 +00:00
Gabriel Wicke c2b69e2486 Clean up newline handling. Emit a NEWLINE token for each
non-{comment,pre,nowiki} newline.
2011-12-08 14:34:18 +00:00
Gabriel Wicke abc2254110 A bit of comment clean-up and wrapping of tree building into try/catch block
to actually count failures.
2011-12-08 11:40:59 +00:00
Gabriel Wicke 92fdf99384 Further renaming, this time from pegParser to pegTokenizer. 2011-12-08 10:59:44 +00:00
Gabriel Wicke 76bc477038 Rename html5TokenEmitter to HTML5TreeBuilder, and the contained Tokenizer to
TreeBuilder.
2011-12-08 10:37:18 +00:00
Gabriel Wicke 19a1f0850f Tidy up the grammar a bit. 2011-12-08 10:33:23 +00:00
Inez Korczynski 5a060d42ec Update selection after unlisting list items 2011-12-08 06:40:36 +00:00
Inez Korczynski 7c7c230595 Get unlisting and listing to work 2011-12-08 04:18:15 +00:00
Inez Korczynski ed44f13aa0 Revert r105509 and r105507 - taken approach is not gonna work 2011-12-08 03:14:10 +00:00
Inez Korczynski 8fece3a241 Temporary fix for transact method to accept array of transactions. 2011-12-08 01:17:08 +00:00
Inez Korczynski 7da531b59e Pass array of transactions to transact method if all those transactions are part of one "interaction" 2011-12-08 01:09:52 +00:00
Trevor Parscal fceda78696 Made preview panes look better 2011-12-08 00:34:05 +00:00
Trevor Parscal 70d5beec71 Changed which elements had user-select: none so that people can copy the wikitext generated by the editor 2011-12-07 23:37:21 +00:00
Trevor Parscal f9fd3b1db2 Fixed wikitext serailizer - extra newlines should be after the list not the list item 2011-12-07 23:35:11 +00:00
Trevor Parscal f42915ac0f Added vertical margin in calculation of menu position 2011-12-07 23:25:13 +00:00
Inez Korczynski 44f8d155b1 When wraping any leaf node in list item make sure to convert it to paragraph first. 2011-12-07 23:16:29 +00:00
Trevor Parscal 8a5ff02cea Fixed headings, lists and list items - listening to the model now, as we should have been 2011-12-07 23:13:57 +00:00
Inez Korczynski f226380f36 Add 'term' and 'defintion' to regex (one that is responsible for deleting all listitem styles from an item) in ListItemView.setClasses method. 2011-12-07 23:12:33 +00:00
Inez Korczynski 91f9572e4b Do not redraw selection if nodes were not added. 2011-12-07 23:05:21 +00:00
Trevor Parscal 22efd982aa Added extra newline after wikitext list 2011-12-07 23:00:00 +00:00
Inez Korczynski d06c7efe0b Refactor class ListButtonTool. Method list now works. 2011-12-07 22:57:17 +00:00
Trevor Parscal 8ef6e4b24e More adjustments to the style of the history panel 2011-12-07 22:52:20 +00:00
Trevor Parscal 04ecb6796a Fixed the layout of the sandbox and demo 2011-12-07 22:50:55 +00:00
Trevor Parscal 4e985a111c Added highlighting for the current index 2011-12-07 22:43:53 +00:00
Trevor Parscal 19c7e874d6 Shortened the names of operations 2011-12-07 22:37:41 +00:00
Neil Kandalgaonkar c0a02cd6c3 undo almost working, still anomalies in selects (particularly first) 2011-12-07 22:28:07 +00:00
Trevor Parscal fdeb042a91 Back, by popular demand, the great side-by-side preview! 2011-12-07 21:17:34 +00:00
Inez Korczynski 45d821b2ec Small cleanup to IndentationButtonTool class 2011-12-07 20:06:04 +00:00
Trevor Parscal 8505b3b566 * Simplified context menu
* Added typeOnly option to getIndexOfAnnotation
* Fixed overly-strict checking for annotations in toolbar
2011-12-07 19:16:40 +00:00
Trevor Parscal 51e68abf08 JSHint fixes 2011-12-07 18:29:02 +00:00
Gabriel Wicke 3742d70abd Add some documentation to syntax flags 2011-12-07 15:54:55 +00:00
Gabriel Wicke 545ca1809f Convert template argument production to generic inline with syntactic stop.
Fix a bug in generic inline production. Nested multi-line templates are now
parsed okayish.
2011-12-07 15:39:39 +00:00
Gabriel Wicke 902db40a1f Process template arguments into an object. 2011-12-07 14:46:07 +00:00
Gabriel Wicke 51a40e4dbc Follow-up to r105423: Fix off-by-one bug. 2011-12-07 11:56:12 +00:00
Gabriel Wicke 49c286a67b Fix a bug in doQuotes (bitten by surprising JS sort() behavior), and improve
tag-only-line handling. 180 parser tests now passing.
2011-12-07 11:51:24 +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
Inez Korczynski b5d822ec1d Minor fix: incorrect refactoring 2011-12-07 01:13:08 +00:00
Inez Korczynski 0ec2775621 Make ListView.enumerate method clear ListItemView.$icon when item is not 'number'. 2011-12-07 01:12:04 +00:00
Trevor Parscal 45634a8208 Added support for inserting tab and newline characters 2011-12-07 01:10:25 +00:00
Inez Korczynski 8424681948 Refactored code for "listing" 2011-12-07 01:02:36 +00:00
Trevor Parscal f0c20d7a51 Fixed cut - now cut copy and paste work 2011-12-07 00:51:26 +00:00
Trevor Parscal 909b3674be Update node when it's attributes are changed 2011-12-07 00:06:30 +00:00
Trevor Parscal b1f54c5ae5 Refactored annotation of content - now there's an annotate method in surface view 2011-12-06 23:48:47 +00:00
Trevor Parscal ee1caca875 Only act on selection change if it changed 2011-12-06 22:45:38 +00:00
Trevor Parscal 68a0026f56 Disabled console logging 2011-12-06 22:14:48 +00:00
Trevor Parscal c863ab63e3 Adjusted the demo document a bit - disabled tables for now 2011-12-06 22:13:52 +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
Gabriel Wicke 418a5067c6 Parse attributes in tables using generic attribute production. Some table
tests still do not pass as the MW table output reorders attributes ;)
2011-12-06 22:03:21 +00:00
Trevor Parscal 7ed901d74c Bypass processing if there's no annotations 2011-12-06 21:28:21 +00:00
Gabriel Wicke 3d06707152 Slightly speed up inline tag productions using guards and grouping; Fix list
processing function.
2011-12-06 18:35:05 +00:00
Gabriel Wicke ea8f226fd5 Remove ext and references special cases, now subsumed by generic XML tag
productions. Document issue around special tokenizer mode for other extension
tags.
2011-12-06 16:44:27 +00:00
Gabriel Wicke e7de089d5b Decode urls and html entities, 163 tests now passing. 2011-12-06 13:17:14 +00:00
Gabriel Wicke a72a9e55a3 Don't match internal links with url as target. 161 passing. 2011-12-06 12:26:57 +00:00
Gabriel Wicke 2b5cc67bf5 Further tweaks to headings. 157 tests now passing. 2011-12-06 11:59:41 +00:00
Gabriel Wicke f4d123886e Convert heading rules to single rule that figures out the level. This saves a
lot of backtracking and inline break complexity.
2011-12-06 11:06:05 +00:00
Neil Kandalgaonkar dbe4890ed6 Simplified transaction model, introduced isPartial for some deletes 2011-12-06 01:52:38 +00:00
Neil Kandalgaonkar e3fc95f41a Revert r104884 "no longer track selections in states. Also makes the 'combine' parameter obsolete"
This reverts git-svn commit e4e3468605c97bd5e611fdf8fc80c04e034e4eb4.
This reverts svn commit r104884
2011-12-06 01:52:34 +00:00
Inez Korczynski 8b1c0ff4ee Fix for turning single elements in tables cells into listItems 2011-12-06 00:49:00 +00:00
Inez Korczynski 959963cf6e Prototype of code that wraps nodes as listItems (inside a list) 2011-12-06 00:42:15 +00:00
Trevor Parscal 1b89cbb79d Moved the menu of a drop down tool to be inside the drop down tool itself 2011-12-06 00:10:30 +00:00
Trevor Parscal 2810f79605 inArray returns an index, -1 is failure not 0 or a falsey value 2011-12-05 22:55:39 +00:00
Inez Korczynski a22eadee54 Fix toolbar for IE8 and IE9. Fix mouse button detection for IE8 and IE9. 2011-12-05 22:01:06 +00:00
Trevor Parscal accc605e8a Fixed annotation tool - data is used generically outside, shouldn't have changed that 2011-12-05 21:39:54 +00:00
Inez Korczynski 8ec3fb5b81 Bunch of fixes for IE8 2011-12-05 21:37:38 +00:00
Trevor Parscal 7cf6990af3 Added comments to code 2011-12-05 21:10:19 +00:00
Inez Korczynski 5be5d276a4 Removed empty lines 2011-12-05 20:46:53 +00:00
Trevor Parscal fc3015b260 Moved es.Tool to base classes 2011-12-05 20:42:45 +00:00
Trevor Parscal 8d5c83d87b Prevent inserting unless there was an effective input, such as text being typed - this is done by checking the length of the range of the selection - if it's non-zero then there wasn't any input (because selecting text in the editor fill the input and selects it) 2011-12-05 20:40:35 +00:00
Inez Korczynski 0938f24c5b Use getContentText method to get text of selection 2011-12-05 20:32:05 +00:00
Inez Korczynski 09c0557929 Fix for getContentText method. Do not treat content offsets with annotations as elements. 2011-12-05 20:10:50 +00:00
Trevor Parscal 2d7d4866bc Fixed misnamed method, and off by one issue when getting content data from a document 2011-12-05 20:08:49 +00:00
Gabriel Wicke 33e19f7275 Recognize block-level elements independent of case; Ignore toc and section
edit links in tests. 148 parser tests passing.
2011-12-05 20:03:24 +00:00
Trevor Parscal 07af0cab63 * Moved getContent and getText from leaf nodes to document model nodes
* Renamed getContent to getContentData
* Renamed getText to getContentText
* Added getElementData
2011-12-05 19:41:04 +00:00
Trevor Parscal 4bcc31846b Fixed font size in overlays when embedding in mediawiki 2011-12-05 18:42:58 +00:00
Trevor Parscal 02c88fcddf Prevent cancel link from changing url 2011-12-05 18:38:12 +00:00
Trevor Parscal f9bb9cf586 100char line breaks 2011-12-05 18:31:39 +00:00
Gabriel Wicke 9ed9cb31bd Fix template argument handling somewhat. 2011-12-05 17:58:11 +00:00
Gabriel Wicke 1760210d13 Fixes to tables, headings and misc smaller stuff. Tracked down an issue caused
by improperly caching of production results, which interfered with the
flag-dependent inline_break production.
2011-12-04 19:23:24 +00:00
Inez Korczynski ba5abf6bbd Set: svn:eol-style => native 2011-12-04 02:59:53 +00:00
Inez Korczynski f361648059 Added indentation tool (indent, outdent) 2011-12-04 02:54:33 +00:00
Inez Korczynski 78451cb00a Added partial support for copying functionality 2011-12-03 01:30:44 +00:00
Inez Korczynski e683199853 Avoid using global variables 2011-12-03 00:53:37 +00:00
Inez Korczynski 1f3604a959 Optimization for toolbarView. Count data for all toolbars (currently two) once, and do it not more often than 50ms. 2011-12-02 23:01:21 +00:00
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
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 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 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
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
Roan Kattouw a4f71ace69 Rewrite the remove() function in es.DocumentModel.operations such that the tests added in r102564 pass now 2011-11-10 15:50:59 +00:00
Roan Kattouw f3eab4dec2 Fix JS error when getElementType() is called on a document node 2011-11-10 15:13:57 +00:00
Roan Kattouw 94b30ed0cc Fix doc comment 2011-11-10 14:00:46 +00:00
Roan Kattouw 14b56c1202 Fix selectNodes(), can't recurse into leaf nodes because they aren't DocumentBranchNodes and don't have the selectNodes function. The pattern of certain functions just not existing for leaf nodes is starting to annoy me, I'll discuss this with Trevor. 2011-11-10 13:51:01 +00:00
Roan Kattouw aa7a6e2605 Add globalRange property to the output of selectNodes(), which translates the range property to be relative to the root rather than to the node. Update tests for this, and fix the test case numbering for selectNodes 2011-11-10 13:15:55 +00:00
Alexandre Emsenhuber fa172d1592 svn:eol-style native 2011-11-10 11:51:42 +00:00
Trevor Parscal a8b80bc1fd Added very basic support for highlighting formatting tools when the cursor is over content which is formatted that way 2011-11-10 01:28:01 +00:00
Inez Korczynski 8daf92ee48 Support for word selection with keyboard 2011-11-10 01:23:21 +00:00
Inez Korczynski 4b34eaad0e Support for selecting words and nodes with mouse 2011-11-10 01:13:56 +00:00
Trevor Parscal 92443d5f9d Improved optimization, was previously limited to merging sets of 2 2011-11-09 23:39:11 +00:00
Trevor Parscal 6c745687fc Fixed prepareRemove to work again after getNodeFromOffset was changed. 2011-11-09 23:38:36 +00:00
Inez Korczynski 915104d6f2 Another way of supporting double and triple clicks in VisualEditor 2011-11-09 23:36:56 +00:00
Inez Korczynski 7fcdcb41df Added support for double click (to select word) and triple click (to select entire node) in VisualEditor 2011-11-09 22:01:42 +00:00
Roan Kattouw 69d2fe7dfe Fix selectNodes() behavior for structural offsets (i.e. offsets between two openings/closings). There are no test cases for this yet but I'll write some after Trevor finishes his massive test data change 2011-11-09 21:15:01 +00:00
Gabriel Wicke ef3c84bd2e Extract text from inline elements for better testing. Slightly improved
handling of comment-only lines. Change pre to leaf content model.
2011-11-08 16:08:05 +00:00
Inez Korczynski 18b97268fc Fix standard problem when writing backward loops 2011-11-08 01:00:31 +00:00
Inez Korczynski a0acc98bcb Fix for offset being passed within update event. It has to be local - as ContentView operates on local offsets for line ranges. 2011-11-08 00:59:55 +00:00
Inez Korczynski d3b7188e7e Delete all our own undo/redo support. It was just experiment / proof of concept - that confirmed transactions works well and we will get back to it later. 2011-11-08 00:15:54 +00:00
Inez Korczynski 2fb840236c Basic support for "pre" elements (space at the beginning of the new paragraph in wikitext) 2011-11-07 23:46:30 +00:00
Gabriel Wicke 18ead89b37 Improved paragraph, br, comment parsing and switched headings to
generic inlineline with syntactic flags.
2011-11-07 23:09:30 +00:00
Inez Korczynski 4c8746d661 Add CSS class 'es-viewBranchNode-firstChild' to all first childs of ViewBranchNode 2011-11-07 22:38:01 +00:00
Inez Korczynski e0111da8d5 Special CSS styling for paragraphs in lists 2011-11-07 22:33:40 +00:00
Inez Korczynski bcaa5c2945 Add CSS class 'es-ViewBranchNode-firstChild' to all first childs of ViewBranchNode 2011-11-07 22:29:28 +00:00
Inez Korczynski 6f5719e736 This is supposed to be a event name, not a variable 2011-11-07 21:34:29 +00:00
Inez Korczynski d01cdd859d ListItem now is a branch instead of being leaf. So it contains children - usually it would be just Paragraph, but in some cases Table as well (as Wikitext allows to have HTML table in list item) 2011-11-07 21:30:13 +00:00
Trevor Parscal 02694c630d Removed unused function 2011-11-07 21:16:32 +00:00
Gabriel Wicke 944d010eb2 Indentation cleanup in PEG parser and Html serializer 2011-11-07 21:05:37 +00:00
Gabriel Wicke aa31a5ebce Same rename for the Wikitext serializer, before I forget. 2011-11-07 20:38:47 +00:00
Gabriel Wicke c3a0c56e56 rename definition{term,description} to just {term,description} 2011-11-07 20:36:34 +00:00
Gabriel Wicke 4fcc6c9a09 Fix jshint warnings. 2011-11-07 20:31:30 +00:00
Trevor Parscal c4719565ea Defining a function inside another can be done using normal function syntax, var is not needed. 2011-11-07 19:57:41 +00:00
Inez Korczynski 88e964263b This is supposed to be a event name, not a variable 2011-11-07 19:44:56 +00:00
Trevor Parscal 187eca34eb Added render from offset support 2011-11-07 19:42:36 +00:00
Trevor Parscal ab44388220 Changed from emphasis to emphasize 2011-11-07 19:28:47 +00:00