Ability to hide Domain element based on logic

Related products: Software Factory Windows GUI Intelligent Application Manager Universal GUI Indicium Service Tier

We often have situations (especially on status fields) were a user is only allowed to use certain element values or to move it from one element to one other element. The availability of a given element would be based on User permissions or current status (for example: if current status is A, you can only change it to B, and if current status is B you can only change to A or C, but not D). 

The current ways of resolving these situations feel like workarounds, which should not be necessary for such a straightforward request in a platform called low code. Suggested solutions I have heard are:

  • Create two (or more) similar Domains with similar, but not all, Elements and determine in the Layout procedure which one to show. This basically means adding (sort of) duplicate domains, which is ugly and risky from a maintenance perspective...
  • Use a Lookup to a Table or View with Pre-filters. This is more effort, clutters the Data Model and is probably worse in performance than a Domain with Elements...

A possible solution that comes to mind is the ability to set in the Layout procedure when to show/hide certain Elements. It would be good enough if somehow the Layout procedure recognizes Domain with Element type of fields and we can write logic on each individual Element within that Domain.  

How do you like this idea? If you have other suggestions than the Layout procedure to fix this: let's hear it!

Updated idea status NewOpen

Any plans on this?


Funnily enough I was JUST thinking of creating a topic on this issue, when I saw this one on the  top of my screen.

Being able to determine domain element values to show or hide in a layout procedure would be great to have. Quickly thinking of a ‘Roles’ column in an employee table which consists of internal roles and external roles. Filtering out the external roles when adding an internal employee for example and vice versa.

Yes this can be achieved with numerous workarounds, which aren't that elegant like Arie says.