You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Daniel Keir Haywood (Jira)" <ji...@apache.org> on 2020/03/19 11:10:00 UTC
[jira] [Updated] (ISIS-2001) Dynamically hide/disable/default
action parameters (based on other parameter arguments)
[ https://issues.apache.org/jira/browse/ISIS-2001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Keir Haywood updated ISIS-2001:
--------------------------------------
Fix Version/s: 2.0.0-M3
> 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: Daniel Keir Haywood
> Assignee: Daniel Keir Haywood
> Priority: Major
> Fix For: v1 maintenance, 2.0.0-M3
>
>
> 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
(v8.3.4#803005)