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
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
jenkins-bot
2b352c577c
Merge "(bug 45029) Transactions for metadata modification."
2013-02-15 01:28:44 +00:00
Ed Sanders
67e9d5d1dd
(bug 45029) Transactions for metadata modification.
...
Have created builders for insertion, removal, and single element replacement.
In adding Document.getMetadata which is nearly identical to Document.getData,
the two functions have been refactored to use a common static method
getDataSlice, with this.data/this.metadata as an argument.
Document.spliceMetadata has been added. It is essentially spliceData with
the data/metadata synchronisation issue.
Metadata cursor position is now tracked in the TransactionProcessor. Cursor
advancement has been moved to a function so the metadata cursor can be reset
every time the data cursor is moved.
There were unhit bugs in the TransactionProcessor run test section, where
the data being loaded into the test documents wasn't always being deep-copied,
and the assert was looking at getData instead of getFulldata (which wouldn't
be able to test metadata changes).
Change-Id: Ieb20ab3e7827bc7ff04148f147da6728eb1eb666
2013-02-14 17:27:27 -08:00
jenkins-bot
92e5f94e41
Merge "Add user interface widgets"
2013-02-14 19:04:59 +00:00
jenkins-bot
a1bd1db241
Merge "Use .static.isMeta to communicate meta-ness"
2013-02-14 18:47:48 +00:00
Trevor Parscal
d0ff691f9e
Add user interface widgets
...
* New! Button and InputLabel widgets
* Using new buttons in the demo
* Moved styles around to generalize input styles
Change-Id: Ic42e133f8fe0fffcb61374c09dd5668db82a4799
TODO: Use these buttons other places! (like ve.init)
2013-02-13 18:04:04 -08:00
jenkins-bot
385606d6fe
Merge "Added new icons"
2013-02-14 00:09:53 +00:00
Trevor Parscal
d42a52bb59
Added new icons
...
Icons needed for upcoming generated content editor.
* Parameter (big and small)
* Parameter Set
* Source (big and small)
* Template (big and small)
Change-Id: I9c5df7970e3f0991ac6a66590212f40d83af9c0a
2013-02-13 16:06:29 -08:00
Inez Korczyński
f0bc9935d2
(bug 41199) Fix the problem with placing cursor by clicking next to article content.
...
The specific use case is when user clicks on the left side of the inline alien node which
is at the beginning of the line or on the right side of the inline alien node at the end of
the line. This fix does not cover Monobook.
Change-Id: Ib24b03e30e753850698ed6b10be49b4f2642c92b
2013-02-13 15:36:45 -08:00
jenkins-bot
6b51b0f635
Merge "Annotate newly inserted target text as a link."
2013-02-11 20:00:26 +00:00
jenkins-bot
8d274c19e6
Merge "Implement inline documentation examples."
2013-02-09 01:50:44 +00:00
Timo Tijhof
62aeb254d9
Implement inline documentation examples.
...
Refactored the (previously unused) eg-iframe file to be a
template with 2 placeholders for script and styles.
The previous version was just the basic version to execute
javascript code, but that's not good enough since we need a
whole bunch of classes to be loaded.
A bash file processes the template into proper html, with the
help of the makeStaticLoader maintenance script we already had.
Updated demo.css, cleaned up redundant properties restyled
slightly to be more like the Vector skin and less "raw".
Fixed default $IP path in makeStaticLoader.php to work with simple mediawiki core installs having the extension in the
regular extensions directory, and prefixed __DIR__ so it
doesn't rely on the directory you call it from.
Change-Id: Ic789121dfeca08d9db69564d2ad2e52b3fa45de9
2013-02-08 17:47:10 -08:00
jenkins-bot
5ee7b12119
Merge "ve.dm.DocumentSlice does not extend ve.Node"
2013-02-08 23:22:22 +00:00
Trevor Parscal
9eed973ca5
ve.dm.DocumentSlice does not extend ve.Node
...
Change-Id: I11d28d6eb1c7db1d6b5796ec36c8e9a6f46b7c9e
2013-02-08 14:11:11 -08:00
Catrope
28512c9488
Use .static.isMeta to communicate meta-ness
...
This gets rid of the meta-specific hack in ve.dm.Document
Later on, I want to use this to get rid of meta-specific hacks in the
converter too, by pushing some of that logic into the ModelFactory.
Change-Id: I1dbee1654fa32d9c7cd521ec325b2553cde219d1
2013-02-07 17:17:34 -08:00
Rob Moen
4d3ccb7b99
Annotate newly inserted target text as a link.
...
Fixes (Bug 44086)
Changes:
ve.ui.LinkInspector.js
- Annotate fragment for affected range.
- Fragment returned by insertContent was a zero length range, therefore
no content was being annotated. It is questionable whether insertContent
should return the affected range or not.
- Also changes behavior of editing existing link annotations so that the cursor is after the annotation rather than covering it when the inspector is closed
Change-Id: Ic53b9844f84781cad05ac1f63964c9aaf7de68c3
2013-02-07 16:06:08 -08:00