elsa-workflows / elsa-workflows/elsa-studio

Visual Expression Builder for Boolean Expressions

Open
#651 0 comments 1 reaction 0 assignees View on GitHub
enhancement triaged
Dominant language
C#
Stars
301
Forks
181
Avg merge
17h 12m
Merged PRs (30d)
42

Description

In addition to being able to specify a JavaScript expression, we need a visual condition builder that lets the user select entities from a list and operations to perform on properties on a selected entity.

For example, let's say a system has an `Employee` entity with a property called `HiredAt` representing the date the employee was hired.

If we now wanted to check if an employee has been with the company for less than 3 months, we might use the following JS expression:

`Now - Employee.HiredAt < Duration.FromMonths(3)`

For non-devs, a better UX would be for them to be able to go through a simple UI to build the expression. For example:

1. Select one of the supported entities from a radio button list (e.g. "Employee")
2. Select a property from the entity (e.g. "Hired At")
3. Select a (parameterized) condition from a list of conditions that is supported by the property's data type. "Hired At" is a Date type, so one supported condition would be "Is less than". Selecting this condition allows the user to specify an appropriate value, e.g. "3 months".

In addition to the above, the user should be able to define expressions in nested "blocks" of AND/OR combinations.

The following animation from HubSpot's workflow editor provides the inspiration for the above:

![hubspot-filter-demo](https://user-images.githubusercontent.com/938393/115358156-a986b280-a1bd-11eb-96c4-3e7e90aa6533.gif)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.