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