Jeff Avallone
29316bb2aa
Updating renderLabel to be promise based
2014-12-13 12:28:16 -05:00
Jeff Avallone
773fd5c1a6
Refactoring how _position is called to be promise-based
...
The render method now returns a promise. Once this promise is resolved,
the _position method for that node will be called (if applicable). This
promise must be resolved only after all subordinate nodes have completed
their render phase (the promise returned by subordinate node's render
method has resolved). Node that do not have subordinates can return the
result of calling terminalRender, and proxied renders only need to
return the result of calling proxy.
With this change, it is no longer necessary to explicitly position
subordinate nodes. They will already be positioned once their render
promise is resolved.
2014-12-13 09:09:58 -05:00
Jeff Avallone
f81ba6535f
Adding transform method to Base node
2014-12-10 20:28:02 -05:00
Jeff Avallone
340d6b4859
Simplifying literal normalization code
2014-12-10 20:11:51 -05:00
Jeff Avallone
2e60561be6
Cleaning up code for match node
2014-12-10 19:58:36 -05:00
Jeff Avallone
dbcdd583ed
Removing need for separate setContainer calls
2014-12-10 19:31:07 -05:00
Jeff Avallone
9ac25b9a50
No need to save most label objects
2014-12-10 19:23:14 -05:00
Jeff Avallone
15655900f1
Updating to automatically size labels when positioning
2014-12-10 19:16:21 -05:00
Jeff Avallone
d953dcaab4
renderLabel method doesn't really need a container argument
2014-12-10 19:12:17 -05:00
Jeff Avallone
521ab74723
Cleanup of path code
2014-12-10 19:09:31 -05:00
Jeff Avallone
f0c25dfc41
Simplifying code related to passing rendering through to nested node
2014-12-10 19:01:57 -05:00
Jeff Avallone
ff7525a6e4
De-duplicating code to render subexp and charset containers
2014-12-10 18:27:07 -05:00
Jeff Avallone
fc7032241f
Short-circuiting the render of nodes.
...
This will reduce the depth of nesting of elements (and hopefully make
final positioning easier)
2014-12-10 17:16:21 -05:00
Jeff Avallone
6dcc5f48c4
Adjusting positioning of loop and skip lines
2014-12-10 17:14:14 -05:00
Jeff Avallone
b13ee3add2
Removing some connecting lines
...
This is in preparation for properly aligning nodes and simplifying the
connecting lines to reduce the number of path elements required.
2014-12-10 17:13:23 -05:00
Jeff Avallone
6ab5b2993b
Removing references to "self"
2014-12-10 17:01:21 -05:00
Jeff Avallone
035984a61c
Adding class to labels
2014-12-10 17:00:04 -05:00
Jeff Avallone
0b85f552c3
Setting class names of nodes automatically
2014-12-10 16:57:42 -05:00
Jeff Avallone
60d7cab504
Adding code to indicate subexpression numbers
2014-12-10 06:18:55 -05:00
Jeff Avallone
4a8103f404
Still working on the connecting lines
2014-12-09 21:32:13 -05:00
Jeff Avallone
629faf7086
Adjusting connecting line positioning
2014-12-09 21:10:42 -05:00
Jeff Avallone
e6e8a1ed54
Tweaking connector lines
2014-12-09 21:04:14 -05:00
Jeff Avallone
975780609d
Fixing label positioning in charset nodes
2014-12-09 21:00:36 -05:00
Jeff Avallone
e26d91bae5
Fixing label positioning in subexp nodes
2014-12-09 20:22:44 -05:00
Jeff Avallone
27a23162b4
Removing some dead code
2014-12-09 20:09:27 -05:00
Jeff Avallone
7082a670d6
Extracting code to layout elements vertically
2014-12-09 20:08:34 -05:00
Jeff Avallone
0f97afd880
Fixing font size of charset label
2014-12-09 19:03:50 -05:00
Jeff Avallone
cd11b7e6e5
Centralizing some of the layout code
2014-12-09 19:02:31 -05:00
Jeff Avallone
7ed865ecdb
Normalizing function names
2014-12-09 18:08:40 -05:00
Jeff Avallone
7ab386e7a4
Cleanup of match fragment rendering
2014-12-09 17:56:22 -05:00
Jeff Avallone
5a4c62c2c0
Cleanup of charset range rendering
2014-12-09 17:51:04 -05:00
Jeff Avallone
0cb090bc10
Cleanup of charset rendering code
2014-12-09 17:48:44 -05:00
Jeff Avallone
3bbd55c36a
Refactoring code for escape display
2014-12-09 17:43:05 -05:00
Jeff Avallone
ae064b2b8e
Adding rendering for Subexp
2014-12-07 21:16:23 -05:00
Jeff Avallone
e99c284216
Rendering CharsetRange
2014-12-07 17:51:13 -05:00
Jeff Avallone
fadfaee440
Adding code to render charsets
2014-12-07 17:38:24 -05:00
Jeff Avallone
9cc23183be
Adding rendering code for escape, literal, and "."
2014-12-07 15:26:45 -05:00
Jeff Avallone
f5d1e734f1
Removing Terminal type and replacing with Literal, Escape, and AnyChar
...
This is to eventually simplify the combining of Literals together (and
to actually make it work correctly, since terminals should not have been
merged)
2014-12-06 16:03:58 -05:00
Jeff Avallone
41c11ad5d4
Fixing bug with concatenation of literals
2014-12-06 15:46:46 -05:00
Jeff Avallone
d2b96c7833
Adding code to render loop and skip paths for repetitions
...
This currently breaks the rendering and will need more work. Also need
to add labels for {a,b} syntax
2014-12-06 12:34:00 -05:00
Jeff Avallone
d9abd5f139
Removing an extraneous connecting line
2014-12-04 21:23:18 -05:00
Jeff Avallone
e1c299453c
Reducing the number of path elements that are generated
2014-12-03 20:35:26 -05:00
Jeff Avallone
5a000ec302
Adding spacing between MatchFragments
2014-12-03 20:26:09 -05:00
Jeff Avallone
502e4494d9
Some cleanup
2014-12-03 20:20:08 -05:00
Jeff Avallone
e7e97b0008
Adding lines before and after main Regexp body
2014-12-03 20:14:56 -05:00
Jeff Avallone
d1a058768e
Adding some styling to start and end anchors
2014-12-03 20:02:56 -05:00
Jeff Avallone
a88c4821b7
Refactoring to remove the container argument to render methods
...
A reference was being kept generally, so it was more useful to keep it
connected to the node
2014-12-03 18:59:59 -05:00
Jeff Avallone
6a9d498bf6
Refactoring to not render connectors for a Regexp with one Match
2014-12-03 18:46:48 -05:00
Jeff Avallone
fe6727b79a
Removing some debugging code
2014-12-03 18:46:40 -05:00
Jeff Avallone
b364198030
Adding a MatchFragment rule
...
Also reducing the amount of object cloning that is being done
2014-12-02 21:09:20 -05:00