Richfaces 4 calender does not show after re-render

By | 2011-10-17

Spent three hours to investigate……shitty stuff
Experienced in richfaces 4.0 final

popup may not show up once the content is being re-render.

This is client side issue, which richfaces does not clean out all the events bind to its component.

Quick fix:
Override and patch richfaces calendar.js
step 1:
copy the original calendar.js to src/main/webapp/resources/org.richfaces/calendar.js
step 2:
around line 513
add
rf.Event.unbindById(this.POPUP_BUTTON_ID, “click”+this.namespace);”
before
rf.Event.bindById(this.POPUP_BUTTON_ID, “click”+this.namespace, handler, this);

add
rf.Event.unbindById(this.INPUT_DATE_ID,”click”+this.namespace);
before
rf.Event.bindById(this.INPUT_DATE_ID, “click”+this.namespace, handler, this);

add
rf.Event.unbindById(this.INPUT_DATE_ID, “focus”+this.namespace+” blur”+this.namespace);
before
rf.Event.bindById(this.INPUT_DATE_ID, “focus”+this.namespace+” blur”+this.namespace, onFocusBlur, this);

 

Download:
calendar(fix).js

Leave a Reply

Your email address will not be published. Required fields are marked *