Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-2997

Combobox Dropdown Positioning Anomaly

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Normal
    • None
    • 7.0.3, 8.0.0
    • None
    • Running under ZK CE (does not occur under EE) with server push enabled (does not occur when not enabled).

    • ZK 8.0.1 S3

    Description

      Under certain circumstances, on the initial dropdown of a combobox, the popup position is initially fine, then after a short delay is repositioned to the top of the combobox.

      To recreate, run the attached index.zul under ZK CE. Click the "cbo" button to create a combobox. Open the combobox dropdown and then adjust the browser height just slightly beyond the bottom of the popup. Now click the "cbo" button again to recreate the combobox. Note that the dropdown behavior is as expected. Now click the "off" button to turn on server push. Click the "cbo" button again to create a new combobox. Now open its dropdown. Note that after a slight delay, the popup jumps from the bottom of the combobox to the top. However, after closing and re-opening the dropdown, the behavior is as expected.

      I have tracked this behavior to the "response" method of the combobox widget in zul.inp.wpd. Since the _shallSyncPopupPosition flag has been set, this causes the popup position to be reset to "before_start". The _shallSyncPopupPosition flag gets set in the "_checkPopupPosition" method, which is using the wrong popup dimensions for the calculation. I'm not clear why the widget depends on server push to begin with. Its behavior should be the same regardless of whether or not server push is enabled.

      Attachments

        Issue Links

          Activity

            People

              wenninghsu wenninghsu
              martindk martindk
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 3 hours, 5 minutes
                  3h 5m