Ignore:
Timestamp:
Mar 5, 2010, 5:26:05 PM (10 years ago)
Author:
duh
Message:
  • added ajaxOnChange parameter support for <wizard:...> elements. ajaxOnChange now performs an ajaxSubmit to the current form. Usefull for handeling select changes and dynamic forms. When using the ajaxOnChange attribute you can also add the 'url', 'update' and 'afterSuccess' parameters. In your webflow the action is triggered that you put in the ajaxOnChange argument.
  • example:

<wizard:templateElement name="template" description="Template" value="${study?.template}" entity="${dbnp.studycapturing.Subject}" ajaxOnChange="switchTemplate" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()" >

The template to use for this study

</wizard:templateElement>

Will submit on change, triggering the 'switchTemplate' action in your current webflow:

on("switchTemplate") {

println params

}.to "study"

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/dbnp/studycapturing/WizardController.groovy

    r238 r240  
    7171                }
    7272
    73                 // select the templates to use for this study
    74                 templates {
    75                         render(view: "_templates")
    76                         onRender {
    77                                 flow.page = 1
    78                         }
    79                         on("next") {
    80                                 // if we don't have a study, instantiate a study with dummy values
    81                                 if (!flow.study) {
    82                                         flow.study = new Study(
    83                                                 title: "my study",
    84                                                 code: "",
    85                                                 ecCode: "",
    86                                                 researchQuestion: "",
    87                                                 description: "",
    88                                                 startDate: new Date()
    89                                         )
    90                                 }
    91 
    92                                 // assign template to study
    93                                 flow.study.template = Template.findByName(params.get('template'));
    94 
    95                                 // validate study
    96                                 if (flow.study.validate()) {
    97                                         success()
    98                                 } else {
    99                                         // validation failed, feedback errors
    100                                         flash.errors = new LinkedHashMap()
    101                                         this.appendErrors(flow.study, flash.errors)
    102                                         error()
    103                                 }
    104                         }.to "study"
    105                 }
    106 
    10773                // create or modify a study
    10874                start {
     
    12490                                flow.page = 2
    12591                        }
     92                        on("switchTemplate") {
     93                                println "switching template..."
     94                                println params
     95                                this.handleStudy(flow, flash, params)
     96                        }.to "study"
    12697                        on("previous") {
    12798                                flash.errors = new LinkedHashMap()
Note: See TracChangeset for help on using the changeset viewer.