Commit graph

215 commits

Author SHA1 Message Date
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
Gabriel Wicke 71891131c3 Grammar improvements
* replaced regexp stack with a set of break rules for inline content within
  specialized parse contexts, switched more rules to generic
  inlineline/inline/block rules.
* don't consume end-of-line for proper start-of-line matching
* added some pre support
* still no conversion of inline elements to annotations
2011-11-07 14:39:12 +00:00
Inez Korczynski 7b303e178b Very simple support for undo/redo (with keyboard only: ctrl+z/ctrl+y) 2011-11-05 02:06:51 +00:00
Inez Korczynski e1b0126b03 Minor 2011-11-05 01:06:59 +00:00
Inez Korczynski cc6fc80bee Support for deleting text with backspace and delete 2011-11-05 00:59:20 +00:00
Inez Korczynski b4b043e06e Very basic support for content (typing on keyboard) insertion 2011-11-05 00:49:48 +00:00
Inez Korczynski 97649e62ee Minor fix 2011-11-05 00:20:22 +00:00
Inez Korczynski 2d7f927b4e Small fix for cursor up (in first line) and down (in last line) 2011-11-04 23:49:50 +00:00
Inez Korczynski 39ecdbcd00 Minor fix 2011-11-04 23:32:46 +00:00
Inez Korczynski 70e6b72ba3 Cleanup for moveCursor and showCursor code 2011-11-04 23:28:40 +00:00
Trevor Parscal 40c71ede72 Added support for definition and term list items 2011-11-04 23:09:10 +00:00
Trevor Parscal b2fcdf952a Fixed some jshint issues 2011-11-04 22:04:51 +00:00
Inez Korczynski 22892f2ab0 Fix cursor and selection 2011-11-04 21:40:17 +00:00
Trevor Parscal 23e0651e0b Added documentation for es.Transaction 2011-11-04 21:06:06 +00:00
Trevor Parscal add7c23191 Added es.Transaction.optimize and added in a test that neilk sent a patch for 2011-11-04 20:38:47 +00:00
Roan Kattouw 124a36b942 Add a metric ton of (mostly generated) selectNodes tests, and change selectNodes a little bit to make them pass 2011-11-04 20:27:23 +00:00
Trevor Parscal 1f1db3fc43 Line-break and variable redeclaration cleanup 2011-11-04 20:26:08 +00:00
Roan Kattouw 0801ec93a5 Change something that appeared to be a bug in the removal code 2011-11-04 20:17:42 +00:00
Inez Korczynski f9b0cfae9a Basic support for cursor up and down (with and without selectiong/shift key down) 2011-11-04 18:50:39 +00:00
Trevor Parscal b13b805f2b Comment cleanup 2011-11-04 18:37:07 +00:00
Trevor Parscal 44ea20c406 Using getElementType instead of relying on .type property of es.DocumentModeNode objects 2011-11-04 18:33:06 +00:00
Inez Korczynski 7d87500f4a Fix cursor and selection 2011-11-04 17:46:30 +00:00
Trevor Parscal fcb3644f35 Reorganized a few methods to reduce duplication, improved documentation 2011-11-04 17:07:44 +00:00
Trevor Parscal fbacdfc98a Reorganized a few methods to reduce duplication, improved documentation 2011-11-04 17:07:34 +00:00
Trevor Parscal ff0ac9754c Removed unused file 2011-11-04 16:41:34 +00:00
Gabriel Wicke 06ca9f12fe Rename definitiondata to definitiondescription, minor fixes 2011-11-04 12:25:01 +00:00
Gabriel Wicke 7e5c196732 Some more progress for tables and definition lists 2011-11-04 12:06:49 +00:00
Gabriel Wicke 83a80bad49 Fixes for definition lists 2011-11-04 11:08:11 +00:00
Gabriel Wicke 85def70a8a Add basic list serialization to HtmlSerializer
* Added 'definitionterm' and 'definitiondata' styles to support definition
  lists, and special-case handling in the serializer to wrap both in dls.
2011-11-04 10:02:59 +00:00
Gabriel Wicke 63398b5749 Update parserTests to latest serializers 2011-11-04 07:45:05 +00:00
Inez Korczynski c30698b7ae Minor changes 2011-11-04 00:21:29 +00:00
Trevor Parscal fd7b7e7223 Cleaned up some comments 2011-11-03 23:42:34 +00:00
Trevor Parscal 2d97794312 Added more key codes for the Apple command key to catch firefox and right command on webkit 2011-11-03 23:32:58 +00:00
Trevor Parscal b636d9a52b Refactored some of the tree sync code to be reusable 2011-11-03 23:19:36 +00:00
Inez Korczynski 0c34c71fe6 Minot optimization 2011-11-03 22:51:30 +00:00
Inez Korczynski 2b6c8dacac Fix minor bug 2011-11-03 22:49:14 +00:00
Inez Korczynski d48b30227e Fix minor bug 2011-11-03 22:46:44 +00:00
Inez Korczynski 05ba0a0782 Improved version of keyboard & mouse selection 2011-11-03 22:42:20 +00:00
Trevor Parscal f327ebf39f Line breaks 2011-11-03 22:03:28 +00:00
Trevor Parscal 8058b454a5 Fixed some documentation 2011-11-03 21:52:06 +00:00
Trevor Parscal 764f2b0e65 Reorganized model nodes into branches and leafs 2011-11-03 21:48:40 +00:00
Inez Korczynski 5f533f0a1d Implementation of selecting elements with mouse and fix for drawSelection method in DocumentViewBranchNode (it was off by one) 2011-11-03 20:27:57 +00:00
Trevor Parscal 91f0cd2d6b Renamed expandContentData to getExpandedContentData 2011-11-03 20:01:39 +00:00
Trevor Parscal 7e825a15fb Fixed lots of bugs in the serializers, Wikitext and HTML look good 2011-11-03 19:39:12 +00:00
Trevor Parscal cf5be16248 Cleaned up some unused files, added type to es.DocumentModelNode objects for serialization purposes, and added getPlainObject to es.DocumentModelNode which also uses the newly migrated es.DocumentModel.expandContentData 2011-11-03 19:01:55 +00:00
Trevor Parscal f525e88058 Fixed some typos from copy-paste errors 2011-11-03 18:25:04 +00:00
Trevor Parscal d3e5a6c557 Refactored and updated serializers to use latest version of WikiDom. Also updated tests to use range objects for annotations. Switched to using namespacing for annotations, now there's textStyle/*, link/* and object/* spaces where all types are in. 2011-11-03 18:15:24 +00:00
Trevor Parscal 6f53a48e87 Using content.range.* instead of content.* for start and end properties of content objects when converting from plain objects into flat data 2011-11-03 16:33:10 +00:00
Gabriel Wicke a8838dab18 Start by handling paragraphs, at least a bit. 2011-11-03 15:16:05 +00:00
Gabriel Wicke 0d30a5528e First combination of WikiDom serializers with existing parser in
tests/parser/parserTests.js.

* Removed var from es in es.js to allow node.js to access it as global. Only
  alternative solution appears to be a node-specific 'exports' construct:
  http://nodejs.org/docs/v0.3.1/api/modules.html
* Added es.Document.js and es.Document.Serializer.js in es/bases. Not sure if
  this is the desired location.
* Changed es.extend to es.extendClass in the serializers
* Modified the first parser test to include the WikiDom modules and call the
  new HTML serializer
2011-11-03 13:55:48 +00:00
Trevor Parscal 19408d8ab2 Added joinWith parameter to es.JsonSerializer 2011-11-02 23:34:05 +00:00
Trevor Parscal d307212dda Moved repeatString to es and removed es.Document.Serializer, since the rest of it's functionality are already in es.Html 2011-11-02 23:26:43 +00:00
Trevor Parscal 836d07da9b Moving es.Html back to es/ directory 2011-11-02 23:11:57 +00:00
Trevor Parscal bec50ddd94 Moving es.Html back to es/ directory 2011-11-02 23:11:36 +00:00
Trevor Parscal 063868d376 Removed using custom elements for heading views, just using divs now - if we have to switch the level we don't want to have to trash the whole thing and rebuild it 2011-11-02 23:01:35 +00:00
Inez Korczynski 6763fe1542 Minor comments cleanup 2011-11-02 22:55:02 +00:00
Inez Korczynski 4a1167117b Make drawSelection in ContentView works without parameter range being passed and the same for DocumentNode. Define getElementLength and getContentLength as methods in DocumentViewNode. 2011-11-02 22:53:14 +00:00
Trevor Parscal e9488b637a Made regex less specific, so it catches levels that are not officially supported, but also shouldn't get stuck in the dom if for some reason they get added at some point. 2011-11-02 22:47:16 +00:00
Trevor Parscal d35fe7a407 Made regex less specific, so it catches levels that are not officially supported, but also shouldn't get stuck in the dom if for some reason they get added at some point. 2011-11-02 22:46:35 +00:00
Trevor Parscal c70a23fc8d Fixed incorrect class name 2011-11-02 22:42:30 +00:00
Trevor Parscal 2beef6040d Fixed shadowed variable 2011-11-02 22:28:05 +00:00
Trevor Parscal 461e9fced7 Moving serializer code into it's own folder 2011-11-02 22:24:36 +00:00
Trevor Parscal 393a65f186 Moving more serializer code over to VisualEditor 2011-11-02 22:23:00 +00:00
Trevor Parscal 996088f03e Moving more serializer code over to VisualEditor 2011-11-02 22:22:54 +00:00
Trevor Parscal 0afde82d5f Moving more serializer code over to VisualEditor 2011-11-02 22:22:47 +00:00
Trevor Parscal 46e566f70d Moving more serializer code over to VisualEditor 2011-11-02 22:22:40 +00:00
Trevor Parscal 5d5a023ee7 Copying serializer code to VisualEditor extension 2011-11-02 22:00:38 +00:00
Trevor Parscal fec2b6d6a9 Copying serializer code to VisualEditor extension 2011-11-02 22:00:31 +00:00
Trevor Parscal 33bbcd9c98 Copying serializer code to VisualEditor extension 2011-11-02 22:00:25 +00:00
Inez Korczynski 10703f697b Get rid of 'debugger' 2011-11-02 21:47:20 +00:00
Trevor Parscal 5bae153214 Moving parser stuff back into the modules folder (oops) 2011-11-02 21:45:57 +00:00
Trevor Parscal 2b499d5990 Reorganized modules by javascript namespace 2011-11-02 21:31:45 +00:00
Trevor Parscal 0061fa9a62 Copying jquery and qunit to VisualEditor extension 2011-11-02 21:29:53 +00:00
Trevor Parscal 6a23492d4f Copying jquery and qunit to VisualEditor extension 2011-11-02 21:29:47 +00:00
Trevor Parscal a795ad5e76 Copying jquery and qunit to VisualEditor extension 2011-11-02 21:29:39 +00:00
Brion Vibber 213ee7d4a8 followup r101685: the peg definition 2011-11-02 21:09:19 +00:00
Brion Vibber 56a75ccca7 Copy several of the experimental JS parser bits from ParserPlayground to VisualEditor. They'll need retooling to hook up with the wikidom stuff. 2011-11-02 21:07:51 +00:00
Brion Vibber d3abcde2b0 Copy wikidom lib/hype into VisualEditor/modules 2011-11-02 21:00:55 +00:00