g:datePicker
29/01/2013 19:05
0
Gostaria de saber se tem um modo de implementar um calendário, mas permitindo que o usuário escreva a data no campo ou clique em um calendário do lado para selecionar a data.
Seria bom que nesse campo a pessoa coloque data no formato "dd/mm/yyyy hh:mm".
Alguém pode me ajudar?
Tags: datapicker


0
jQuery UI.

Se não me engano, há inclusive um plugin pra isto.


0
Rogério.

Se for o caso de estar faltando uma máscara eu aconselho usar o plugin do jQuery: Masked Input Plugin

Abraço
29/01/2013 21:20


0
Rogerio ,

adicione o RichUi
http://grails.org/plugin/richui
e veja o #DateChooser

Abraço
29/01/2013 23:00


0
Eu criei uma taglib para me ajudar nos projetos. Precisa de uns retoques, mas quebra o galho.

class DataTagLib {

def data = {attrs, body ->
def classe = ""
if ( attrs.class ){
classe = "class='"+attrs.class+"'"
}

def out = out
def name = attrs.name //The name attribute is required for the tag to work seamlessly with grails
def id = attrs.id ?: name
def minDate = attrs.minDate
def showDay = attrs.showDay

//Create date text field and supporting hidden text fields need by grails
String aux = Utils.getDataComoString(attrs.value, "dd/MM/yyyy")
out.println "<input type=\"text\" name=\"${name}_\" id=\"${id}_\" value=\"${aux}\" ${classe} />"
out.println "<input type=\"hidden\" name=\"${name}\" id=\"${id}\" value=\"data.struct\" />"
out.println "<input type=\"hidden\" name=\"${name}_day\" id=\"${id}_day\" />"
out.println "<input type=\"hidden\" name=\"${name}_month\" id=\"${id}_month\" />"
out.println "<input type=\"hidden\" name=\"${name}_year\" id=\"${id}_year\" />"

//Code to parse selected date into hidden fields required by grails
out.println "<script type=\"text/javascript\"> "
out.println "\$(document).ready(function(){"
if ( attrs.value ){
out.println " \$(\"#${name}_month\").attr(\"value\",\"${Utils.getDataComoString(attrs.value, "MM")}\");"
out.println " \$(\"#${name}_day\").attr(\"value\",\"${Utils.getDataComoString(attrs.value, "dd")}\");"
out.println " \$(\"#${name}_year\").attr(\"value\",\"${Utils.getDataComoString(attrs.value, "yyyy")}\");"
}
out.println " \$(\"#${name}_\").mask(\"99/99/9999\");"
out.println " \$(\"#${name}_\").datepicker({"
out.println " onClose: function(dateText, inst) {"
out.println " var dia = dateText.substring(0, 2); "
out.println " var mes = dateText.substring(3, 5); "
out.println " var ano = dateText.substring(6, 10); "
out.println " \$(\"#${name}_month\").attr(\"value\",mes);"
out.println " \$(\"#${name}_day\").attr(\"value\",dia);"
out.println " \$(\"#${name}_year\").attr(\"value\",ano);"
out.println " }"

//If you want to customize using the jQuery UI events add an if block an attribute as follows
if (minDate != null) {
out.println " ,"
out.println " minDate: ${minDate}"
}

if (showDay != null) {
out.println " ,"
out.println " beforeShowDay: function(date){"
out.println " var day = date.getDay();"
out.println " return [day == ${showDay},\"\"];"
out.println " }"
}
out.println ", changeMonth: true "
out.println ", changeYear: true "
out.println " });"
out.println "})</script>"
}
}
30/01/2013 00:05


0
Carlos,

ao invés de escrever esse HTML todo acho que você pode criar um template e chamar o render.

out << render(template:"projeto/data", model:[nome:tipo])

algo assim
18/05/2013 01:37



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto