So you want to build a dynamic UI based on same definitions you get from a "web service"?
I've taken a similar approach only I used XML to hold on to the meta data for the UI and Java to process the business logic. If I were to do it all over I would use Wicket Forms. Why re-invent the wheel? :) https://github.com/thombergs/wicked-forms Have a great day, Paul Bors > On Jun 1, 2014, at 4:44 PM, Martin Grigorov <[email protected]> wrote: > > Hi, > > Can you give some examples with pseudo data ? It is a bit hard to follow > what is the requirement. > If I follow correctly you have a radio group. Depending on the selected > radio you have to make a call to a web service and render some form > controls dynamically for the web service response, right ? > > You can have just one Panel for the dynamic part of the form. Start with an > EmptyPanel and selecting a radio will replace it with another one. To > create the dynamic form controls you will need a set (of Fragment or Panel) > of all possible controls and just add them to a repeater. > > Martin Grigorov > Wicket Training and Consulting > > >> On Fri, May 30, 2014 at 11:18 AM, sim999 <[email protected]> wrote: >> >> Hello, >> >> I'm a new user of Wicket and I would like to have your opinion. >> >> Here is what I'm trying to do : >> >> Step 1 : My application calls a web service to retrieve some data. >> >> Step 2 : >> Based on these data the application must build a big web form, this form >> ask >> the user many questions >> (15-20 for instance, most of the time yes/no questions (without submit >> button), sometimes new inputs may appear etc). >> Each time a response is given a new question appears (conditions of >> appearance can be the previous response and / or data retrieved by the web >> service). >> At the beginning all the questions are invisible. >> >> I have multiple options to architecture this : >> >> - Initialize all the panels for each question and make them invisible at >> the beginning. Use Ajax on each Radio Button (yes / no), checkbox etc and >> make them appear. >> The problem as see with this solution is that it forces me to add all the >> panels to the form and "the logic of appearance" is fragmented in each >> panel >> which handle the question. >> The other problem is that we need the server (Ajax for each response) even >> though it isn't needed once we retrieved the data from the web service. >> The last problem I see is that how do I manage to hide all the children of >> a >> panel if the user decide to go back and change his response to a previous >> question. >> >> - Same as previous but I add dynamically the panel / question for each >> response. However once again >> "the logic of appearance" is fragmented in each question and it is >> difficult to maintain. >> >> - Same as previous but all in JavaScript. I will need to convert all the >> data from the web service to JavaScript variables not really the wicket >> Way... >> >> - Maybe I could use Nested Forms but I lack the required distance to be a >> good judge. I don't really know if is really the best response to my >> problem. >> >> - Finally What about the form Component panel ? >> >> Note : There are in fact many big forms depending on the user profile. >> >> If you could give me your take on this I will be really grateful. >> >> >> -- >> View this message in context: >> http://apache-wicket.1842946.n4.nabble.com/Dynamic-Form-Best-Architecture-tp4666065.html >> Sent from the Users forum mailing list archive at Nabble.com. >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >>
