Ignore:
Timestamp:
Mar 5, 2010, 3:21:52 PM (11 years ago)
Author:
duh
Message:

Refectored version of the wizard

  • initial template page has been removed, now is a generic 'start' page where one (in the future) may create a new study, or load and modify an already stored study
  • study page incorporates study template select element, but does not yet incorporate the study template fields
  • subjects page now allows creation of subjects based on a template. This change also implied the study page altogether had to change into a seperate table entity. Now the the page lists as many tables as unique templates have been selected. These tables contain all subjects that were added using that particular template. NOTE: data is not stored yet, due to the fact that templateEntity does not work properly yey (key/value pairs need to be set correctly when calling the setTemplate method)
  • the JavaScript? now handles multiple tables in a page as well, and automatically initializes any underlying slider div if that is required
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/taglib/dbnp/studycapturing/WizardTagLib.groovy

    r216 r238  
    200200                def addExample2Element  = attrs.remove('addExample2Element')
    201201
     202                // execute inputElement call
     203                def renderedElement = "$inputElement"(attrs)
     204
     205                // if false, then we skip this element
     206                if (!renderedElement) return false
     207
    202208                // render a form element
    203209                out << '<div class="element">'
     
    206212                out << ' </div>'
    207213                out << ' <div class="input">'
    208                 out << "$inputElement"(attrs)
     214                out << renderedElement
    209215                if(help()) {
    210216                        out << '        <div class="helpIcon"></div>'
     
    414420         */
    415421        def templateSelect = { attrs ->
    416                 // fetch all templates
    417                 attrs.from = Template.findAll() // for now, all templates
     422                def entity = attrs.remove('entity')
     423
     424                // fetch templates
     425                attrs.from = (entity) ? Template.findAllByEntity(entity) : Template.findAll()
    418426
    419427                // got a name?
     
    421429                        attrs.name = 'template'
    422430                }
    423                
    424                 out << select(attrs)
     431
     432                // got result?
     433                if (attrs.from.size() >0) {
     434                        out << select(attrs)
     435                } else {
     436                        // no, return false to make sure this element
     437                        // is not rendered in the template
     438                        return false
     439                }
    425440        }
    426441
     
    475490
    476491                // output table headers for template fields
    477                 template.subjectFields.each() {
     492                template.fields.each() {
    478493                        out << '<div class="' + attrs.get('class') + '">' + it + '</div>'
    479494                }
     
    494509
    495510                // output columns for these subjectFields
    496                 template.subjectFields.each() {
     511                template.fields.each() {
    497512                        // output div
    498513                        out << '<div class="' + attrs.get('class') + '">'
     
    506521                                                        from: it.listEntries,
    507522                                                        value: (stringFields) ? stringFields.get(it.name) : ''
    508                                                 )
     523                                                )                                               
    509524                                        } else {
    510525                                                out << '<span class="warning">no values!!</span>'
     
    528543                                        // unsupported field type
    529544                                        out << '<span class="warning">!'+it.type+'</span>'
     545                                        //out << subject.getFieldValue(it.name)
    530546                                        break;
    531547                        }
     548
    532549                        out << '</div>'
    533550                }
Note: See TracChangeset for help on using the changeset viewer.