You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Stephan Sichhart (JIRA)" <de...@myfaces.apache.org> on 2006/04/30 22:07:37 UTC

[jira] Created: (TOMAHAWK-404) ForceID is not working on inputCalendar

ForceID is not working on inputCalendar
---------------------------------------

         Key: TOMAHAWK-404
         URL: http://issues.apache.org/jira/browse/TOMAHAWK-404
     Project: MyFaces Tomahawk
        Type: Bug

    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


[jira] Commented: (TOMAHAWK-404) ForceID is not working on inputCalendar

Posted by "Stephan Sichhart (JIRA)" <de...@myfaces.apache.org>.
    [ 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


[jira] Updated: (TOMAHAWK-404) ForceID is not working on inputCalendar

Posted by "sean schofield (JIRA)" <de...@myfaces.apache.org>.
     [ http://issues.apache.org/jira/browse/TOMAHAWK-404?page=all ]

sean schofield updated TOMAHAWK-404:
------------------------------------

        Status: Resolved  (was: Patch Available)
    Resolution: Duplicate

> 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


[jira] Updated: (TOMAHAWK-404) ForceID is not working on inputCalendar

Posted by "Stephan Sichhart (JIRA)" <de...@myfaces.apache.org>.
     [ http://issues.apache.org/jira/browse/TOMAHAWK-404?page=all ]

Stephan Sichhart updated TOMAHAWK-404:
--------------------------------------

    Status: Patch Available  (was: Open)

> 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