- Timestamp:
- Jun 23, 2010, 3:51:12 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/taglib/dbnp/studycapturing/WizardTagLib.groovy
r585 r603 220 220 println ".rendering [" + inputElement + "] with name [" + attrs.get('name') + "] and value [" + ((attrs.value) ? attrs.get('value').toString() : "-") + "]" 221 221 // work variables 222 def internetExplorer = (request.getHeader("User-Agent") =~ /MSIE/)223 222 def description = attrs.remove('description') 224 223 def addExampleElement = attrs.remove('addExampleElement') … … 226 225 def helpText = help().trim() 227 226 228 // got an ajax onchange action? 227 // execute inputElement call 228 def renderedElement = "$inputElement"(attrs) 229 230 // if false, then we skip this element 231 if (!renderedElement) return false 232 233 // render a form element 234 if (attrs.get('elementId')) { 235 out << '<div class="element" id="'+ attrs.remove('elementId') +'">' 236 } else { 237 out << '<div class="element">' 238 } 239 out << ' <div class="description">' 240 out << description 241 out << ' </div>' 242 out << ' <div class="input">' 243 out << renderedElement 244 if (helpText.size() > 0) { 245 out << ' <div class="helpIcon"></div>' 246 } 247 248 // add an disabled input box for feedback purposes 249 // @see dateElement(...) 250 if (addExampleElement) { 251 def exampleAttrs = new LinkedHashMap() 252 exampleAttrs.name = attrs.get('name') + 'Example' 253 exampleAttrs.class = 'isExample' 254 exampleAttrs.disabled = 'disabled' 255 exampleAttrs.size = 30 256 out << textField(exampleAttrs) 257 } 258 259 // add an disabled input box for feedback purposes 260 // @see dateElement(...) 261 if (addExample2Element) { 262 def exampleAttrs = new LinkedHashMap() 263 exampleAttrs.name = attrs.get('name') + 'Example2' 264 exampleAttrs.class = 'isExample' 265 exampleAttrs.disabled = 'disabled' 266 exampleAttrs.size = 30 267 out << textField(exampleAttrs) 268 } 269 270 out << ' </div>' 271 272 // add help content if it is available 273 if (helpText.size() > 0) { 274 out << ' <div class="helpContent">' 275 out << ' ' + helpText 276 out << ' </div>' 277 } 278 279 out << '</div>' 280 } 281 282 /** 283 * bind an ajax submit to an onChange event 284 * @param attrs 285 * @return attrs 286 */ 287 private getAjaxOnChange = { attrs -> 288 // work variables 289 def internetExplorer = (request.getHeader("User-Agent") =~ /MSIE/) 229 290 def ajaxOnChange = attrs.remove('ajaxOnChange') 230 if (ajaxOnChange) { 291 292 // is ajaxOnChange defined 293 if ( ajaxOnChange ) { 231 294 if (!attrs.onChange) attrs.onChange = '' 232 295 … … 265 328 } 266 329 267 // execute inputElement call 268 def renderedElement = "$inputElement"(attrs) 269 270 // if false, then we skip this element 271 if (!renderedElement) return false 272 273 // render a form element 274 if (attrs.get('elementId')) { 275 out << '<div class="element" id="'+ attrs.remove('elementId') +'">' 276 } else { 277 out << '<div class="element">' 278 } 279 out << ' <div class="description">' 280 out << description 281 out << ' </div>' 282 out << ' <div class="input">' 283 out << renderedElement 284 if (helpText.size() > 0) { 285 out << ' <div class="helpIcon"></div>' 286 } 287 288 // add an disabled input box for feedback purposes 289 // @see dateElement(...) 290 if (addExampleElement) { 291 def exampleAttrs = new LinkedHashMap() 292 exampleAttrs.name = attrs.get('name') + 'Example' 293 exampleAttrs.class = 'isExample' 294 exampleAttrs.disabled = 'disabled' 295 exampleAttrs.size = 30 296 out << textField(exampleAttrs) 297 } 298 299 // add an disabled input box for feedback purposes 300 // @see dateElement(...) 301 if (addExample2Element) { 302 def exampleAttrs = new LinkedHashMap() 303 exampleAttrs.name = attrs.get('name') + 'Example2' 304 exampleAttrs.class = 'isExample' 305 exampleAttrs.disabled = 'disabled' 306 exampleAttrs.size = 30 307 out << textField(exampleAttrs) 308 } 309 310 out << ' </div>' 311 312 // add help content if it is available 313 if (helpText.size() > 0) { 314 out << ' <div class="helpContent">' 315 out << ' ' + helpText 316 out << ' </div>' 317 } 318 319 out << '</div>' 330 return attrs 320 331 } 321 332 … … 577 588 attrs.rel = 'term' 578 589 590 // got an ajaxOnChange defined? 591 attrs = getAjaxOnChange.call( 592 attrs 593 ) 594 579 595 out << select(attrs) 580 596 } else { … … 656 672 */ 657 673 def templateElement = { attrs, body -> 658 // add a rel element if it does not exist659 if (!attrs.rel) {660 attrs.rel = 'template'661 }662 663 674 // render template element 664 675 baseElement.call( … … 700 711 } 701 712 713 // add a rel element if it does not exist 714 if (!attrs.rel) { 715 attrs.rel = 'template' 716 } 717 718 // got an ajaxOnChange defined? 719 attrs = getAjaxOnChange.call( 720 attrs 721 ) 722 702 723 // got result? 703 724 if (attrs.from.size() > 0 || attrs.get('addDummy')) { … … 858 879 def inputElement= null 859 880 def addDummy = (attrs.get('addDummy')) ? true : false 881 println "template: " 882 println template 860 883 861 884 // got a template?
Note: See TracChangeset
for help on using the changeset viewer.