Troubleshooting Visibility and Usability

There are many reasons why a given action or property might be hidden or disabled. It might be because of the state of the object means that an action’s preconditions are not met (eg toggle and untoggle), or it might be because of security.

Sometimes though the reason why an action or property is hidden is a puzzle; you are pretty sure that it should be shown, and yet for some reason it is not.

To help diagnose these issues, there are two configuration properties you can set. They only apply if running in prototype mode:

  • causeway.prototyping.if-hidden-policy

    If not specified or is set to HIDE, then the behaviour is as per normal. However, if set to SHOW_AS_DISABLED then instead the action or property will be shown, but disabled with the veto providing some explanation as to why. And, if set to SHOW_AS_DISABLED_WITH_DIAGNOSTICS, then the class name of the metamodel facet that vetoed the visibility is also shown in the tooltip.

  • causeway.prototyping.if-disabled-policy

    If not specified or is set to DISABLED, then the behaviour is as per normal. But if set to SHOW_AS_DISABLED_WITH_DIAGNOSTICS, then the class name of the metamodel facet that vetoed the usability is also shown in the tooltip.