-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Normal
-
Affects Version/s: 8.6.0
-
Component/s: None
-
Security Level: Jimmy
-
None
-
ZK 8.6.1 S1
-
None
Steps to Reproduce
Run fiddle
http://zkfiddle.org/sample/2tk050r/1-colSize-event-delayed
-resize the column "1"
-open bandbox
Current Result
The onColSize event is not sent at the end of the resize action.
Instead, it is sent as piggybacked event in the next au request when opening bandbox (triggering onOpen in the bandbox)
The au response contains the following commands in order:
=> open popup (and content)
=> listbox setSizedByContent(false)
setSizedByContent(false) is the result of the user resizing a column (listbox sizing becomes manual).
setSizedByContent(false) will also trigger rerender at client side, which will call all descendants of the listbox (including content of the the bandbox bandpopup) to rerender, but doesn't close the popup is the process of opening, which breaks the UI and decouple the popup from the anchor
Expected Result
Either:
- setSizedByContent(false) should not rerender the listbox
or - onColSize should be fired to server immediately when sizedByContent and sizable are both set to true.
Debug Info
Root Cause
Workaround
listen to onColSize on listhead. This will trigger the colSize event when completing the drag action and prevent queuing to next event.
<listbox sizedByContent="true"> <!-- no event content, will still trigger and do nothing --> <listhead sizable="true" onColSize="">