Fulcrum Code Editor Improvements

Fulcrum Code Editor Improvements

Three years ago we introduced a new feature called Data Events, which introduced exciting new capabilities for scripting custom actions within your data collection apps. The combination of data events and calculation fields provides powerful functionality for app developers to incorporate third-party libraries or write their own JavaScript code which runs within their Fulcrum app. Need to programmatically populate fields from a third-party API, validate a record’s location, or hide fields based on user role? You can probably script your app to do exactly what you need.

Fulcrum Code Editor

Over the years we’ve been amazed at what our users have been able to accomplish via scripting and we’ve always wanted to improve the in-app code editing experience, which is why we are incredibly excited to announce that Fulcrum’s integrated code editor just got a major overhaul and is now powered by Microsoft’s excellent open source Monaco Editor!

The Monaco Editor

Our newest updates improve the user experience by making it easier to write and debug your custom code. The Monaco editor powering our new code editor includes advanced features, like Intellisense and strict type checking, that lets users catch errors before testing. Moreover, we’ve ported our Data Event and Calculation functions library to Typescript, which allows us to include descriptive documentation and better data typing for each function so expected inputs and outputs are clearer.

Intellisense

Monaco lets us include Fulcrum’s Data Event and Calculation expressions as an additional code library, so features like autocomplete and hover documentation are available for our Fulcrum-specific functions just like they are for the built-in JavaScript library.

Now, when you start typing, Monaco will provide you with an autocomplete dropdown list. Select which function you need, hit enter, and it appears in the code editor. Forget how many parameters or what data types a function requires? Hover over the function name, and a popup window appears that includes a function description, list of parameters with their data types, and a link to the Data Event and Calculation documentation in the Fulcrum Learning Portal.

Intellisense on the new Data Events editor

So what does that mean for the user? Less time spent spent searching through documentation or filtering in the sidebar and more time writing code! (Though if you’re a fan of sidebar filtering that functionality is still there - we got you :heart:).

Strict Mode

Another Monaco perk is the ability to toggle between the Strict and Default code options. This determines how strongly Monaco will enforce typing as it checks your code. Select Strict from the sidebar and Monaco will let you know if the parameters you tried to pass into MESSAGEBOX are not the strings it was expecting.

New Layout :nail_care:

We revamped how the Data Events editor was laid out in order to make it easier to navigate and hand the user more control over presentation. Now you can:

  • Test your code without leaving the editor. The Preview App button is now available when the editor is open. Who doesn’t love one less step?

  • Toggle the sidebar open and close as needed - you can determine how much of the screen it takes up.

  • Turn on Dark Mode :new_moon_with_face:. Fulcrum supports your efforts to Dark Mode all the things. Now you can let you eyes rest easy while you’re setting up push notifications that dispatch to a field team manager on each saved record.

At Fulcrum, we’re committed to improving the user experience, which is why we’re so excited about the new code editor. We believe it will make writing data events and calculations more intuitive and, in turn, more enjoyable. Take a look and tell us what you think!

Fulcrum is a data collection platform that enables organizations to reduce costs, access critical data in real time, and improve decision making at every level. With Fulcrum, you can create custom apps using our simple drag-and-drop builder to turn your paper documents into digital forms that your field teams can quickly complete on mobile devices.

About the author

Emily is a junior developer at Spatial Networks, primarily working on Fulcrum's web components.

Get started with Fulcrum today

Try it FREE