Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * This tag enables autoComplete using jQuery
- * @author Alidad Soleimani
- */
- class AutoCompleteTagLib {
- def autoComplete = {attrs ->
- if (attrs.id == null)
- throwTagError("Tag [autoComplete] is missing required attribute [id]")
- if (attrs.controller == null)
- throwTagError("Tag [autoComplete] is missing required attribute [controller]")
- if (attrs.action == null)
- throwTagError("Tag [autoComplete] is missing required attribute [action]")
- if (attrs.domain == null)
- throwTagError("Tag [autoComplete] is missing required attribute [domain]")
- if (attrs.searchField == null)
- throwTagError("Tag [autoComplete] is missing required attribute [searchField]")
- def clazz = ""
- def name = ""
- def styles = ""
- if (!attrs.max) attrs.max = 10
- if (!attrs.value) attrs.value =""
- if (!attrs.order) attrs.order = "asc"
- if (!attrs.collectField) attrs.collectField = attrs.searchField
- if (attrs.class) clazz = " class='${attrs.class}'"
- if (attrs.style) styles = " styles='${attrs.style}'"
- if (attrs.name)
- name = " name ='${attrs.name}'"
- else
- name = " name ='${attrs.id}'"
- def link = ['action': attrs.action , 'controller': attrs.controller ]
- out << " <input type='text' ${clazz} id='${attrs.id}' value = '${attrs.value}' ${styles} ${name} />"
- out << "<script type='text/javascript'>"
- out << " \$(document).ready(function() {"
- out << "\$('#" + attrs.id+"').autocomplete({ "
- out << " source: '"
- out << createLink(link)
- out << "?"
- out << "&test=10"
- out << "&domain="+ attrs.domain
- out << "&searchField="+attrs.searchField
- out << "&max="+attrs.max
- out << "&order="+attrs.order
- out << "&collectField="+attrs.collectField
- out << "', dataType: 'json'"
- out << "});});"
- out << "</script>"
- }
- def autoCompleteHeader = {
- out << "<style>"
- out << ".ui-autocomplete-loading"
- out << " { background: white url(${resource(dir:'images',file:'ajax-loader.gif')}) right center no-repeat }"
- out << " </style>"
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement