Uploaded image for project: 'Isis'
  1. Isis
  2. ISIS-2001

Dynamically hide/disable/default action parameters (based on other parameter arguments)

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.16.2
    • Fix Version/s: 1.18.0
    • Component/s: None
    • Labels:
      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

          Activity

            People

            • Assignee:
              danhaywood Daniel Keir Haywood
              Reporter:
              danhaywood Daniel Keir Haywood
            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: