Details
-
Type: Bug
-
Status: Closed
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: 1.6, 1.6.1
-
Component/s: ICE-Components
-
Labels:None
-
Environment:OS: Windows; Browser: All;
-
ICEsoft Forum Reference:
-
Workaround Exists:Yes
-
Workaround Description:
Description
Hi. I found a most intriguing issue. The <ice:selectInputDate> seems to ignore the disabled attribute. I've taken a look in the generated html code and the generated <input> indeed has no disabled attribute. The fix is easy I think. I took a look in icefaces' source code and found out that the disabled attribute is not taken into consideration: com.icesoft.faces.component.selectinputdate.SelectInputDateRenderer, method public void encodeEnd(FacesContext facesContext, UIComponent uiComponent) throws IOException; The simplest thing in my opinion would be to do the following:
<code>
Element dateText = domContext.createElement(HTML.INPUT_ELEM);
dateText.setAttribute(HTML.VALUE_ATTR, selectInputDate.formatDate((Date)selectInputDate.getValue()));
dateText.setAttribute(HTML.ID_ATTR, clientId + CALENDAR_INPUTTEXT);
dateText.setAttribute(HTML.NAME_ATTR, clientId + CALENDAR_INPUTTEXT);
dateText.setAttribute(HTML.CLASS_ATTR, selectInputDate.getCalendarInputClass());
dateText.setAttribute(HTML.ONFOCUS_ATTR, "setFocus('');");
dateText.setAttribute("onkeypress", this.ICESUBMIT);
dateText.setAttribute(HTML.ONBLUR_ATTR, this.ICESUBMITPARTIAL);
//my code
if (selectInputDate.isDisabled()) {
dateText.setAttribute(HTML.DISABLED_ATTR, "true");
}
if (selectInputDate.getAutocomplete() != null) {
dateText.setAttribute("autocomplete", selectInputDate.getAutocomplete());
}
// extract the popupdate format and use it as a tooltip
String tooltip = selectInputDate.getPopupDateFormat();
dateText.setAttribute(HTML.TITLE_ATTR, "Date Format: " + tooltip);
root.appendChild(dateText);
Element calendarButton = domContext.createElement(HTML.INPUT_ELEM);
calendarButton.setAttribute(HTML.ID_ATTR, clientId + CALENDAR_BUTTON);
calendarButton.setAttribute(HTML.NAME_ATTR, clientId + CALENDAR_BUTTON);
calendarButton.setAttribute(HTML.TYPE_ATTR, "image");
//my code
if (selectInputDate.isDisabled()) {
calendarButton.setAttribute(HTML.DISABLED_ATTR, "true");
}
</code>
<code>
Element dateText = domContext.createElement(HTML.INPUT_ELEM);
dateText.setAttribute(HTML.VALUE_ATTR, selectInputDate.formatDate((Date)selectInputDate.getValue()));
dateText.setAttribute(HTML.ID_ATTR, clientId + CALENDAR_INPUTTEXT);
dateText.setAttribute(HTML.NAME_ATTR, clientId + CALENDAR_INPUTTEXT);
dateText.setAttribute(HTML.CLASS_ATTR, selectInputDate.getCalendarInputClass());
dateText.setAttribute(HTML.ONFOCUS_ATTR, "setFocus('');");
dateText.setAttribute("onkeypress", this.ICESUBMIT);
dateText.setAttribute(HTML.ONBLUR_ATTR, this.ICESUBMITPARTIAL);
//my code
if (selectInputDate.isDisabled()) {
dateText.setAttribute(HTML.DISABLED_ATTR, "true");
}
if (selectInputDate.getAutocomplete() != null) {
dateText.setAttribute("autocomplete", selectInputDate.getAutocomplete());
}
// extract the popupdate format and use it as a tooltip
String tooltip = selectInputDate.getPopupDateFormat();
dateText.setAttribute(HTML.TITLE_ATTR, "Date Format: " + tooltip);
root.appendChild(dateText);
Element calendarButton = domContext.createElement(HTML.INPUT_ELEM);
calendarButton.setAttribute(HTML.ID_ATTR, clientId + CALENDAR_BUTTON);
calendarButton.setAttribute(HTML.NAME_ATTR, clientId + CALENDAR_BUTTON);
calendarButton.setAttribute(HTML.TYPE_ATTR, "image");
//my code
if (selectInputDate.isDisabled()) {
calendarButton.setAttribute(HTML.DISABLED_ATTR, "true");
}
</code>
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Radu Andrei Tanasa
created issue -
Michael Thiem
made changes -
Field | Original Value | New Value |
---|---|---|
ICEfaces Forum Reference | http://www.icefaces.org/JForum/posts/list/5517.page | |
Affects Version/s | 1.6.1 [ 10070 ] |
Michael Thiem
made changes -
Assignee | Adnan Durrani [ adnan.durrani ] |
Adnan Durrani
made changes -
Assignee | Adnan Durrani [ adnan.durrani ] | Yip Ng [ yip.ng ] |
yip.ng
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Fix Version/s | 1.7DR#1 [ 10100 ] | |
Fix Version/s | 1.6.1 [ 10070 ] | |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Priority | Major [ 3 ] | Minor [ 4 ] |
Ken Fyten
made changes -
Fix Version/s | 1.7 [ 10080 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee | Yip Ng [ yip.ng ] |