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.
This commit is contained in:
Jeff Avallone 2014-12-13 08:19:27 -05:00
parent f81ba6535f
commit bc84f68250

View File

@ -81,9 +81,7 @@ export default class Regexper {
renderRegexp(expression) { renderRegexp(expression) {
var snap = Snap(this.svg), var snap = Snap(this.svg),
deferred = Q.defer(), padding = this.padding;
padding = this.padding,
result;
snap.selectAll('g').remove(); snap.selectAll('g').remove();
@ -95,6 +93,9 @@ export default class Regexper {
return result; return result;
}, this.showError.bind(this)) }, this.showError.bind(this))
.then((result) => { .then((result) => {
var deferred = Q.defer();
setTimeout(() => {
var box; var box;
result.position(); result.position();
@ -106,6 +107,11 @@ export default class Regexper {
width: box.width + padding * 2, width: box.width + padding * 2,
height: box.height + padding * 2 height: box.height + padding * 2
}); });
deferred.resolve();
});
return deferred.promise;
}); });
} }
} }