Commit Graph

56 Commits

Author SHA1 Message Date
Jeff Avallone 9cbd923c1f Ignoring errors when building blob URL for PNG
If it fails, then the link won't be displayed
2018-02-10 14:04:55 -05:00
Jeff Avallone 19b8d8c71c Adding download PNG link
For #46
2018-02-10 13:05:42 -05:00
Jeff Avallone b4ea423221 Encoding parenthesis in generated URLs
Closes #36
2018-02-10 11:37:00 -05:00
Jeff Avallone 6efa287c4e Fixing lint warning that came with the new version of JSCS
Also some other minor code cleanup
2016-07-31 11:47:56 -04:00
Jeff Avallone 1b22d0b717 Cleaning up some of the arrow function syntax
Don't need to use `return` as much as I had been
2016-07-31 11:45:48 -04:00
Jeff Avallone 6a0999f644 Refactoring tracking code
This is to support the new Google Analytics setup
2016-05-23 21:10:50 -04:00
Jeff Avallone f68a410ac1 Embedding icons into markup 2016-03-10 17:45:14 -05:00
Jeff Avallone a7dc1a1357 Switching icons from font to SVG images 2016-03-08 21:47:27 -05:00
Jeff Avallone 4c556a39a1 Tweaking buggy hash detection
This should more appropriately detect the presence of the URL
constructor, and will silently ignore any exceptions (and assume the
hash isn't buggy)
2015-06-22 22:05:03 -04:00
Jeff Avallone e1f5891a3a Support for FF's buggy location.hash
FF decodes location.hash for you, so decoding is unnecessary and breaks
when the regex contains a "%"

Fixes #12
2015-06-16 20:22:04 -04:00
Jeff Avallone d918f956ef Adding documentation to regexper.js and some minor tweaks 2015-04-12 17:03:13 -04:00
Jeff Avallone 06e66c0f24 Creating helper methods for the setTimeout uses
Abstracting out some of the setTimeout patterns that have popped up in
the code to make the intention clearer.
2015-03-14 17:27:59 -04:00
Jeff Avallone 0093db8e20 Replacing Q promises with ES6 promises 2015-03-14 17:11:14 -04:00
Jeff Avallone 80e96c7bd3 Trapping errors in URL formatting and displaying an error message 2015-01-19 10:15:34 -05:00
Jeff Avallone 491c9535a9 Adding code to track expression rendering time 2015-01-01 11:57:11 -05:00
Jeff Avallone 37fca15bc8 Removing _trackEvent method
It has become an unnecessary abstraction around _gaq.push
2015-01-01 11:56:36 -05:00
Jeff Avallone facd4f6ac4 Changing how permalink and download links are hidden
Using a class name instead of setting the display CSS property. This
way, the ::after of the download link can be hidden when the permalink
is gone
2014-12-30 16:20:37 -05:00
Jeff Avallone e271115d24 Merging the rendering code from main.js and regexper.js 2014-12-29 21:31:36 -05:00
Jeff Avallone d6e81a2932 Beginning to merge rendering code in main.js and regexper.js 2014-12-29 18:37:21 -05:00
Jeff Avallone d538d7b62a Adding progress bars to the inline diagrams in the documentation 2014-12-29 17:53:54 -05:00
Jeff Avallone e890fe7d2c Updating progress using the promise notify feature 2014-12-29 17:35:18 -05:00
Jeff Avallone 99c4c078fb No longer setting parseError attribute on error object
This was causing some JS exceptions to be logged
2014-12-29 16:32:08 -05:00
Jeff Avallone 5406487ae0 Adjusting how errors are logged
This should allow for working out any JS failures that may occur
2014-12-28 17:37:11 -05:00
Jeff Avallone eae4959f41 Updating event tracking to reduce noise in reporting
No need to report a "parse error" as an "exception"
2014-12-27 15:54:32 -05:00
Jeff Avallone b292a764ff Embedding a template for SVG element instead of just styles 2014-12-26 15:38:22 -05:00
Jeff Avallone d21846e872 Fixing how styles are added to SVG documents to please IE
This also allowed the SVG element to be created in a single place
2014-12-24 23:01:32 -05:00
Jeff Avallone f842b424cc Adding warnings for non-standard escape sequence usage 2014-12-22 16:57:30 -05:00
Jeff Avallone 55ee380817 Adding ability to easily render demo images 2014-12-21 15:22:01 -05:00
Jeff Avallone e466e7e548 Moving the SVG styles out of the svg element
They are now processed with compass
2014-12-21 14:48:43 -05:00
Jeff Avallone 6c5b36f334 Changing util.js to export an object
This allows the methods to be spied on in tests
2014-12-20 10:25:32 -05:00
Jeff Avallone 78917d44e6 Extracting custom event creation into a util module 2014-12-19 10:24:45 -05:00
Jeff Avallone e43033d789 Updating Regexper class specs 2014-12-18 18:29:40 -05:00
Jeff Avallone 80ec29cd6b Refactoring parser code to remove global state
This allows canceling an in-progress render and moves some of the
rendering code to a more appropriate location.
2014-12-18 11:13:15 -05:00
Jeff Avallone 7de0a6490a Adding code to track visualization lifecycle events 2014-12-17 19:54:58 -05:00
Jeff Avallone c64e48946e Adding support for canceling a parse/render 2014-12-17 19:24:33 -05:00
Jeff Avallone c9754de8c4 Fixing broken download link 2014-12-16 23:13:55 -05:00
Jeff Avallone b934423d11 Finishing tests for Regexper module 2014-12-16 19:00:27 -05:00
Jeff Avallone 5537928a80 Starting work on spec files 2014-12-16 16:08:36 -05:00
Jeff Avallone 91404ccf26 Replacing the setState method with a property 2014-12-16 13:34:02 -05:00
Jeff Avallone 22ade8846d Hiding results element when told to display an empty expression 2014-12-16 10:22:49 -05:00
Jeff Avallone ca0e6fdfa9 Allowing newlines in regexps 2014-12-16 10:01:17 -05:00
Jeff Avallone 84d3fe797d Removing unnecessary binds 2014-12-15 22:00:24 -05:00
Jeff Avallone db62743d54 Fixing various IE-related issues 2014-12-15 18:06:16 -05:00
Jeff Avallone dea4011530 Adding progress indicator 2014-12-15 15:19:37 -05:00
Jeff Avallone dab0dab9b1 Encoding regexp when updating URL 2014-12-15 10:09:54 -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 bc84f68250 Adding a delay before positioning the regex
This gives the page time to render the loading indicator before doing
all the positioning work; providing a better experience for users when
rendering complicated regexs like that Perl email regex.
2014-12-13 08:19:27 -05:00
Jeff Avallone dbcdd583ed Removing need for separate setContainer calls 2014-12-10 19:31:07 -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