FREE Chrome Extension that enhances the Expression Assistant [AppSheet Toolbox/QREW Tools]

Hi AppSheet Community

As someone who is in the App Editor 24/7, I frequently catch myself trying to remember the syntax for a particular expression, re-reading a formula several times to figure out where my missing parentheses are, or searching my mind for some fancy formula I put together ages ago.

I know many of you have experienced the same.

To make life a little easier on our favorite app making platform, the QREW Technologies team has released the first version of a Chrome Extension, QREW TOOLS, that adds some cool features to help address those pain points:

LIVE EXPRESSION FORMATTING

2X_f_f12f247e5ac91dc82a36536f51b16ff6d3950fe5.gif

IN-EDITOR DOCUMENTATION SEARCHING

2X_7_7d0e9e28264ed06ce7d20d987d276f7cd318c867.gif

SAVE AND INSERT CUSTOM FORMULA SNIPPETS

2X_6_6de62602b90fd3be5a04e280e7d4ca1714e9977b.gif

2X_9_91a81d51611ef6c095781599e6ca86cbdeb3fb74.gif

I hope you guys enjoy this and that it helps you get more enjoyment and productivity out of the AppSheet Platform.

Please give me a shout if you have any feature suggestions or find any bugs

53 Likes

WOW!!! That looks great!!!

2 Likes

Just awesome @Stefan_Quartemont! I will definitely need to try this out! Really something that should be in then native editor. Maybe the Appsheet team can use this as an example to drive future editor enhancements. Thanks for the effort and for sharing!

Now just add a library of @Steve ‘s best collection of formula examples and this could be huge

6 Likes

A preloaded library of expressions (@Steve’s especially) would be so cool. I’ll have to look I to that

8 Likes

Solves this feature request:

https://community.appsheet.com/t/ide-style-editor/

Awesome work

5 Likes

Thanks, @Jonathon. Let me know if you see any areas for improvement or expansion on this.

@Stefan_Quartemont Brilliant!

1 Like

Hey guys, wanted to let you know we’ve officially launched the Extension I’ve been leaking you a few whispers about.

@Santiago
@praveen
@brian @Brian_Sabino
@Adam
@Peter
@Derek

Thanks for giving us a great platform that’s a ton of fun to use and is changing the way so many people are doing business and solving problems.

5 Likes

Looks really cool! Will give it a try in the next few days and will also send around to others in the team.

5 Likes

Loved using it the past month or so, glad I don’t have to keep it a secret anymore!

7 Likes

@Stefan_Quartemont
And here is the type of examples I wish i could easily find. Not sure if it’s easy to add as a library??

[Office Hours](https://community.appsheet.com/t/office-hours/11331/4) Questions

On the right track (or one of 'em, at least): HOUR() requires a Duration as input rather than a DateTime, so you need to convert [Barrel Drop Off Date/Time] by subtracting a zero time from it: HOUR([Barrel Drop Off Date/Time] - “00:00:00”). HOUR() returns a Number rather than a Time, so you’ll be working with 9, 10, 11, 12, 13, 14, 15, etc. IN() expects a list as the second argument, not a range, so the off-hours need to be expressed in a list: IN(…, LIST(15, 16, 17, 18, 19, 20, 21, 2…

1 Like

Thank you very much. This is so helpful.

Here I read:
These snippets are stored in local browser memory, so clearing your browser memory WILL DELETE any saved snippets. We do not receive this data.

  • Can we sync the Snippets over different Chrome Profiles?
  • Could we do a Google Drive sync with the Snippets?
1 Like

@Fabian

Great questions. The ideal scenario is that we’d store these snippets in the cloud for you, so you could have access beyond the life of the browser memory. It takes more development and has an added cost to it, so we wanted a lighter approach to start with.

Storing it in such a way that it syncs with that same chrome profile across devices is not to difficult, though. I’d have to test if it gets deleted as the browser data gets cleared.

I’ve also considered an option to mass download/upload, but that seems more like an inconvenient work around rather than a fix

1 Like

Mike:

On the right track (or one of 'em, at least):> > - HOUR() requires a Duration as input rather than a DateTime , so you need to convert [Barrel Drop Off Date/Time] by subtracting a zero time from it: HOUR([Barrel Drop Off Date/Time] - "00:00:00") .> - HOUR() returns a Number rather than a Time , so you’ll be working with 9, 10, 11, 12, 13, 14, 15, etc.> - IN() expects a list as the second argument, not a range, so the off-hours need to be expressed in a list: IN(..., LIST(15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8)) .> > Which gives you:> > auto> NOT(> IN(> HOUR(> [Barrel Drop Off Date/Time]> - "00:00:00"> ),> LIST(> 15, 16, 17, 18, 19, 20, 21, 22, 23,> 0, 1, 2, 3, 4, 5, 6, 7, 8> )> )> )> > > > That tests for times outside allowed hours. You could instead test for times within allowed hours:> > auto> IN(> HOUR(> [Barrel Drop Off Date/Time]> - "00:00:00"> ),> LIST(9, 10, 11, 12, 13, 14)> )> > > > Or, if you want to allow for time constraints that fall off the top of the hour, you can use full times:> > auto> AND(> (TIME([Barrel Drop Off Date/Time]) >= "09:00:00"),> (TIME([Barrel Drop Off Date/Time]) < "15:00:00")> )> >

@mike, you could certainly save that whole things as a snippet, but it would be cool to have a place in the Documentation site for user generated expressions/implementations that is easily searchable

1 Like

@Stefan_Quartemont this looks great, will be testing it out today!

1 Like

@Stefan_Quartemont I tried this out but found that the SNIP button overlays or replaces the expand the expression window button in the bottom right-hand corner of the expression editor window as shown below. This means for longer expressions one has to now manually scroll. Can this be resolved ?

4 Likes

Currently, the formatted text space is not dynamically resizable, unlike the original AppSheet textbox, but I have thought about including that.

Thanks for the suggestion!

4 Likes

Very cool!! Thanks @Stefan_Quartemont.

1 Like

Awesome @Stefan_Quartemont, this looks fantastic!

1 Like

Awsome @Stefan_Quartemont!