[
https://issues.jboss.org/browse/RF-13108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brian Leathem resolved RF-13108.
--------------------------------
Resolution: Cannot Reproduce Bug
Feel free to re-open this issue with a [sscce|http://sscce.org/] re-producer.
> rich:calendar nested a4j:ajax event not firing
> ----------------------------------------------
>
> Key: RF-13108
> URL: https://issues.jboss.org/browse/RF-13108
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-a4j-core, component-validators
> Affects Versions: 4.3.2
> Environment: jboss 7.1.3 richfaces 4.3.2.final, chrome
> Reporter: nathan dennis
> Labels: a4j:ajax, rich:calendar, rich:message
>
> nested a4j:ajax change event isn't functioning as expected. On "change"
> event, the expect result is that the value is moved into the target Date
> field of the backing bean. When using a4j:ajax, this does not happen.
> After speaking with ppitonak he believe that the order of the ajax with
> relation to the validators was import. however after closer inspection, the
> value wasn't making back to the bean even when the event was fired even with
> the order reversed.
> Logically the first date should be submitted to the backing bean on change
> even and made available for validation in the second dates validator. works
> with f:ajax.. doesnt work with a4j:ajax.
> {code}
> Request URL:http://oasis.monarchnc.org:10001/oasis/screening/edit.xhtml?cid=2
> Request Method:POST
> Status Code:200 OK
> Request Headersview source
> Accept:*/*
> Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
> Accept-Encoding:gzip,deflate,sdch
> Accept-Language:en-US,en;q=0.8
> Connection:keep-alive
> Content-Length:870
> Content-type:application/x-www-form-urlencoded;charset=UTF-8
> Cookie:JSESSIONID="gOuCLop-DL7U6D3fbNhptHmw.slave:server-three";
> csfcfc=11Xfn_12Xfn;
> __utma=69432588.533798156.1374674467.1374674467.1374674467.1;
> __utmz=69432588.1374674467.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);
> org.monarchnc.commandcenter.location=1;
> org.monarchnc.commandcenter.security=NDNlZGQ3ZDU3NjIxYzI4YjM4YzZlOTM0YzQ3ZjAxYWQ_
> Faces-Request:partial/ajax
> Host:oasis.monarchnc.org:10001
> Origin:http://oasis.monarchnc.org:10001
> Referer:http://oasis.monarchnc.org:10001/oasis/screening/edit.xhtml?cid=2&id=143&dsRid=197&windowId=-9720
> User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like
> Gecko) Chrome/25.0.1364.172 Safari/537.22
> Query String Parametersview sourceview URL encoded
> cid:2
> Form Dataview sourceview URL encoded
> create:create
> create:medrecordnumber:
> create:patientName:Ritchard Trickle
> create:patientPhone:
> create:patientEmail:
> create:startTimeOverrideInputDate:30/7/13 04:24 PM
> create:startTimeOverrideInputCurrentDate:07/2013
> create:endTimeOverrideInputDate:01/8/13 05:58 PM
> create:endTimeOverrideInputCurrentDate:08/2013
> create:screeningBeanScreeningProviderValue:
> create:screeningBeanScreeningProviderInput:dennis, nathan
> javax.faces.ViewState:-4869776129569305131:8783263118910249789
> javax.faces.source:create:startTimeOverride
> javax.faces.partial.event:change
> javax.faces.partial.execute:create:startTimeOverride @component
> javax.faces.partial.render:@component
> javax.faces.behavior.event:change
> org.richfaces.ajax.component:create:startTimeOverride
> rfExt:null
> AJAX:EVENTS_COUNT:1
> javax.faces.partial.ajax:true
> Response Headersview source
> Cache-Control:no-cache
> Connection:close
> Content-Type:text/xml;charset=UTF-8
> Date:Thu, 01 Aug 2013 15:59:07 GMT
> Server:Apache-Coyote/1.1
> Transfer-Encoding:chunked
> X-Powered-By:JSF/2.0
> {code}
> {code:xml}
> <?xml version='1.0' encoding='UTF-8' ?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <ui:composition xmlns="http://www.w3.org/1999/xhtml"
> xmlns:h="http://java.sun.com/jsf/html"
> xmlns:f="http://java.sun.com/jsf/core"
> xmlns:ui="http://java.sun.com/jsf/facelets"
> xmlns:c="http://java.sun.com/jsp/jstl/core"
> xmlns:a4j="http://richfaces.org/a4j"
> xmlns:rich="http://richfaces.org/rich"
> template="/resources/scaffold/pageTemplate.xhtml">
> <f:metadata>
> <f:viewParam name="id" value="#{screeningBean.id}"/>
> </f:metadata>
> <ui:define name="main">
> <h:form id="create">
>
> <h:panelGrid columnClasses="label,component,required" columns="3">
> <h:outputLabel for="startTimeOverride" value="Start Time
> Override:"/>
> <rich:calendar value="#{screeningBean.screening.beginTime}"
> id="startTimeOverride"
> popup="true" datePattern="dd/M/yy hh:mm a"
> required="true"
> showApplyButton="true" >
> <f:validateRequired />
> <a4j:ajax event="change" bypassUpdates="#{true}"/>
>
> </rich:calendar>
> <rich:message for="startTimeOverride" ajaxRendered="true" />
> <h:outputLabel for="endTimeOverride" value="End Time
> Override:" />
> <rich:calendar value="#{screeningBean.screening.endTime}"
> id="endTimeOverride"
> popup="true" datePattern="dd/M/yy hh:mm a"
> showApplyButton="true" >
> <f:validateRequired />
> <f:validator validatorId="dateRangeValidator" />
> <rich:validator />
> <a4j:ajax event="change" bypassUpdates="#{true}"/>
>
> </rich:calendar>
> <rich:message for="endTimeOverride" ajaxRendered="true" />
> </h:panelGrid>
> <div class="buttons">
> <a4j:commandButton value="Complete"
> action="#{screeningBean.updateScreening(2)}"
> execute="@form"
> onclick="this.disabled=true; var that = this;
> setTimeout(function() that.disabled=false;},500);"
> styleClass="btn btn-primary btn-primary-a4j" />
> </div>
> </h:form>
> </ui:define>
> </ui:composition>
> {code}
> {code:title=DateRangeValidator.java}
> /**************************************************************
> * Copyright (c) 2012 - 2013, Monarch, All rights reserved.
> *
> * @author Nathan Dennis
> *
> */
> package org.monarchnc.view.validators;
> import java.text.DateFormat;
> import java.text.SimpleDateFormat;
> import java.util.Date;
> import javax.faces.application.FacesMessage;
> import javax.faces.component.UIComponent;
> import javax.faces.component.UIInput;
> import javax.faces.context.FacesContext;
> import javax.faces.validator.FacesValidator;
> import javax.faces.validator.Validator;
> import javax.faces.validator.ValidatorException;
> import javax.persistence.EntityManager;
> import org.apache.deltaspike.core.api.provider.BeanProvider;
> import org.monarchnc.view.ScreeningBean;
> // TODO: Auto-generated Javadoc
> /**
> * The Class DateRangeValidator.
> */
> @FacesValidator("dateRangeValidator")
> public class DateRangeValidator implements Validator {
>
>
> /* (non-Javadoc)
> * @see
> javax.faces.validator.Validator#validate(javax.faces.context.FacesContext,
> javax.faces.component.UIComponent, java.lang.Object)f
> */
> public void validate(final FacesContext ctx, final UIComponent component,
> final Object value) throws ValidatorException {
>
> ScreeningBean screeningBean =
> BeanProvider.getContextualReference(screeningBean.class, false);
>
> Date date =(Date) value;
> if(screeningBean.getScreening().getBeginTime() != null
> && date != null)
>
> if(!date.after(screeningBean.getScreening().getBeginTime())){
> throw new ValidatorException(new
> FacesMessage(FacesMessage.SEVERITY_ERROR,"End Date must be after Start
> Date!!.\n","End Date must be after Start Date!!\n"));
>
> }
>
>
> }
> }
> {code}
> {code:title=ScreeningBean.java}
> @Named
> @Transactional
> @ConversationScoped
> public class ScreeningBean implements Serializable{
> Screening screening = new Screening();
> public Class<? extends ViewConfig> claim(){
> if (this.conversation.isTransient())
> {
> this.conversation.begin();
> }...
> }
> public Screening getScreening() {
> return screening;
> }
> public void setScreening(Screening screening) {
> this.screening = screening;
> }
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues