myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephan Sichhart (JIRA)" <...@myfaces.apache.org>
Subject [jira] Commented: (TOMAHAWK-404) ForceID is not working on inputCalendar
Date Tue, 06 Jun 2006 09:26:31 GMT
    [ http://issues.apache.org/jira/browse/TOMAHAWK-404?page=comments#action_12414934 ] 

Stephan Sichhart commented on TOMAHAWK-404:
-------------------------------------------

I found the reason for this error and solved the problem by copying the Attribute-Map for
forceID and forceIdIndex. I add this piece of code in org.apache.myfaces.custom.calendar.HtmlCalendarRenderer.


public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
{

...

           HtmlInputTextHelp inputText = getOrCreateInputTextChild(inputCalendar, application,
facesContext);
            
// >> patchcode 

            Map attr=inputCalendar.getAttributes();
            for (Iterator iter = attr.keySet().iterator(); iter.hasNext();) {
                String key = (String) iter.next();
                if (key.equals("forceId")) {
                    inputText.getAttributes().put(key, attr.get(key));
                }
                if (key.equals("forceIdIndex")) {
                    inputText.getAttributes().put(key, attr.get(key));
                }                
            }
// << patchcode

            RendererUtils.copyHtmlInputTextAttributes(inputCalendar, inputText);
...
}

It probably be better to add this code in RendererUtils.copyHtmlInputTextAttributes(inputCalendar,
inputText); ... ?

It would be nice, if someone of the developers could integrate the code in the current source.


/Stephan



> ForceID is not working on inputCalendar
> ---------------------------------------
>
>          Key: TOMAHAWK-404
>          URL: http://issues.apache.org/jira/browse/TOMAHAWK-404
>      Project: MyFaces Tomahawk
>         Type: Bug

>   Components: Calendar, ForceId
>     Versions: 1.1.2-SNAPSHOT, 1.1.3-SNAPSHOT
>     Reporter: Stephan Sichhart
>     Priority: Critical

>
> The forceid attribute does not work on inputCalendar. 
> This source: 
> <t:inputCalendar value="#{descriptor.value}" 
> styleClass="inputdatefield" monthYearRowClass="yearMonthHeader" 
> weekRowClass="weekHeader"  currentDayCellClass="currentDayCell"
> renderAsPopup="true"                									
> popupTodayString="Heute ist der"
> popupDateFormat="dd.MM.yyyy" 
> popupWeekString="Woche"						                										                				         
  
> required="#{descriptor.required}"
> forceId="true" forceIdIndex="true"
> id="inputDate"/>
> <t:outputLabel 	id="inputDatelabel" value="#{descriptor.descriptorVO.label}" for="inputDate"
rendered="false" forceId="true" forceIdIndex="true"/>
> <t:message id="inputDateMsg" for="inputDate" replaceIdWithLabel="true" showDetail="true"
showSummary="false" styleClass="messageError" forceId="true" forceIdIndex="true"/>
> is rendered to: 
> <td class="left"><input id="_idJsp40:data:3:inputDate" name="_idJsp40:data:3:inputDate"
type="text" class="inputdatefield" onfocus="selectText('null', '_idJsp40:data:3:inputDate')"
onclick="selectText('null', '_idJsp40:data:3:inputDate')" value="" /><span id="inputDate[3]Span"></span><script
type="text/javascript"><!--
> var inputDate_5B3_5DCalendarVar=new org_apache_myfaces_PopupCalendar();
> inputDate_5B3_5DCalendarVar.initData.imgDir = "/archiv/faces/myFacesExtensionResource/org.apache.myfaces.renderkit.html.util.MyFacesResourceLoader/11464210/calendar.HtmlCalendarRenderer/DB/";
> inputDate_5B3_5DCalendarVar.initData.monthName = new Array("Januar","Februar","M\u00E4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
> inputDate_5B3_5DCalendarVar.initData.dayName = new Array("Mo","Di","Mi","Do","Fr","Sa","So");
> inputDate_5B3_5DCalendarVar.initData.startAt = 1;
> inputDate_5B3_5DCalendarVar.dateFormatSymbols.weekdays = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
> inputDate_5B3_5DCalendarVar.dateFormatSymbols.shortWeekdays = new Array("So","Mo","Di","Mi","Do","Fr","Sa");
> inputDate_5B3_5DCalendarVar.dateFormatSymbols.shortMonths = new Array("Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez");
> inputDate_5B3_5DCalendarVar.dateFormatSymbols.months = new Array("Januar","Februar","M\u00E4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
> inputDate_5B3_5DCalendarVar.dateFormatSymbols.eras = new Array("v. Chr.","n. Chr.");
> inputDate_5B3_5DCalendarVar.dateFormatSymbols.ampms = new Array("AM","PM");
> inputDate_5B3_5DCalendarVar.initData.todayString = "Heute ist der";
> inputDate_5B3_5DCalendarVar.initData.todayDateFormat = "dd.MM.yyyy";
> inputDate_5B3_5DCalendarVar.initData.weekString = "Woche";
> inputDate_5B3_5DCalendarVar.initData.popupLeft = false;
> inputDate_5B3_5DCalendarVar.init(document.getElementById('inputDate[3]Span'));
> if (!document.layers) {
> document.write('<input type="button" onclick="inputDate_5B3_5DCalendarVar._popUpCalendar(this,document.getElementById(\'inputDate[3]\'),\'dd.MM.yyyy\')"
value="..." />');
> }
> //--></script></td></tr>
> As you can see, the span is rendered fine. But the inputtext element does not. The result
is, that the javascript fails, because of different ids. 
> A fix would be very appreciated. 
> regards Stephan

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message