[ https://issues.apache.org/jira/browse/ISIS-478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13748466#comment-13748466 ]
ASF subversion and git services commented on ISIS-478: ------------------------------------------------------ Commit 1f62a90e7bb641aaa2fe3526f575f4f816f9bcb5 in branch refs/heads/master from [~danhaywood] [ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=1f62a90 ] ISIS-478: working towards entity choices (not there yet) * refactored EntityLinkSelect2Panel so that the setChoices can be easily called for argsIfAvailable * ReferencePanel overrides addFormComponentBehaviour and updateChoices, delegating to entityLink in both cases. > Provide conditional choices, defaults and validation between action parameters > ------------------------------------------------------------------------------ > > Key: ISIS-478 > URL: https://issues.apache.org/jira/browse/ISIS-478 > Project: Isis > Issue Type: New Feature > Components: Core, Viewer: Wicket > Affects Versions: viewer-wicket-1.2.0, core-1.2.0 > Reporter: Dan Haywood > Assignee: Dan Haywood > Fix For: viewer-wicket-1.3.0, core-1.3.0 > > > For example, suppose there is an action to specify an address, where we > specify the country, the state and the postcode. We want the state to have > choices and a default dependent on the country, and we want the postcode to > be validated according to the rules of that country. > public Address enterAddress(Country c, State st, @Named("Postcode") String > postcode) { ... } > Any dependent parameter must supply a param-specific validate [this is a new > method prefix]: > public String validate1EnterAddress(Country c, State st, String postcode) { > ... } > public String validate2EnterAddress(Country c, State st, String postcode) { > ... } > The choices and defaults for State also accept all param types preceding: > public List<State> choices1EnterAddress(Country c) { ... } > public State default1EnterAddress(Country c) { ... } > When the user enters a value for the country, this is passed to these > methods. If the user tabs directly to the State param without entering the > country, then these would return empty lists/value. > If the user enters a value for the country, then corresponding entries for > the state and postcode, and then tabs back to the country and enters a > different value, then the validateNXxx methods are called (for all N > 0, > country being param 0). If the validate methods indicate their current value > is invalid, then the values are set to null or to the recomputed default (if > a default method is available). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira