[ 
https://issues.apache.org/jira/browse/ISIS-2001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Haywood updated ISIS-2001:
------------------------------
    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; }



> Dynamically hide/disable/default action parameters (based on other parameter 
> arguments)
> ---------------------------------------------------------------------------------------
>
>                 Key: ISIS-2001
>                 URL: https://issues.apache.org/jira/browse/ISIS-2001
>             Project: Isis
>          Issue Type: New Feature
>    Affects Versions: 1.16.2
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>            Priority: Major
>             Fix For: 1.18.0
>
>
> 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; }



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to