Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-2001

Dynamically hide/disable/default action parameters (based on other parameter arguments) (also fixed in "v1 maintenance")

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.16.2
    • v1 maintenance, 2.0.0-M3
    • None
    • None

    Description

      some notes:

      ActionParametersForm.java

      ScalarPanelAbstract2#updateIfNecessary(..) as a new hook method to be implemented everywhere

      • if choices facet then update choices ... DONE ALREADY
      • if default facet then recompute ... TO DO EVERYWHERE, on the getModel()
      • and "sync" the value into the UI widget

      1. for the existing logic that evaluates choicesX based on choices(Y<x), should also evaluate any defaultX that we see.
      2. also do this for an autoCompleteX

      3. new logic looking for a change in any scalar, then search for other params with a default that depend on that.

      Nice to have, but will need changes to metamodel so we'll leave for now:
      4. support the idea of disableX for params
      5. support the idea of hideX for params

      based on a change (autoComplete, choices or scalar)
      ... re-evaluate choices, default, disable, hide

      ~~~~~~~~~~

      Organisation -> BankAccount

      public void doSomething(
      Organisation org,
      BankAccount bankAccount,
      ...
      ) {

      }

      public List<Organisation> autoComplete0DoSomething(String str)

      { .... }

      public List<Organisation> choices0DoSomething() { .... }

      public List<BankAccount> choices1DoSomething(Organisation org)

      { ... }

      public BankAccount default1DoSomething(Organisation org)

      { /*return choices1DoSomething(organisation).get(0); */ }

      ~~~~~~~~~~

      public void calc(
      BigDecimal netAmount,
      BigDecimal vatAmount,
      BigDecimal grossAmount
      ...
      ) {

      }

      public BigDecimal default2Calc(BigDecimal netAmount, BigDecimal vatAmount)

      { return netAmount + vatAmount; }

      //public String disable2Calc()

      { return "disabled"; }

      //public boolean hide2Calc(BigDecimal netAmount, BigDecimal vatAmount)

      { return netAmount == null; }

      Attachments

        Issue Links

          Activity

            People

              danhaywood Daniel Keir Haywood
              danhaywood Daniel Keir Haywood
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: