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

Callback issues in radiogroup with model after ZK-3818

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 8.5.1.2
    • Fix Version/s: 8.5.2
    • Component/s: None
    • Security Level: Jimmy
    • Labels:
      None
    • gh.sprint.customfield.default.name:
      ZK 8.5.2 S2

      Description

      Steps to Reproduce

      Run fiddle
      http://zkfiddle.org/sample/gg8g6o/3-radiogroup-callback-bugs

      2 actions to test:
      1- during doAfterCompose, "s1" is set as selected
      2 - add s3 to model (click on 2nd button)

      Current Result

      1- radio set as selected in model before rendering is not selected
      press 1st button (select s1) to add to selection after rendering
      2- adding entry to model causes NPE

      Expected Result

      1- radiogroup should follow model selection
      2- radiogroup should be able to add entries to model

      Debug Info

      both caused by the AFTER_CHILD_ADDED event from
      https://github.com/zkoss/zk/commit/5b4e2af427ff9cc5c640f8faf47767c0668f6939#diff-46516529e62220b1c4c4efe660aa50d4R309

      in case 1:
      the after_child_added event triggers org.zkoss.zul.Radiogroup.fixOnAdd(Radio) after setting the selection from model.
      fixOnAdd set the selection to false in this case.

      in case 2:
      the event listener is added to parent radiogroup and is never removed. It will trigger when any child is added to the radiogroup. If the child doesn't have a _group value yet, this will trigger a NPE

      Root Cause

      Workaround

      replace org.zkoss.zul.Radio.onPageAttached(Page, Page) to removed the async. (class attached for 8.5.1.2, note: may cause radiogroups to not recognise nested radio components if not direct child)

        Issue Links

          Activity

          Hide
          JamesChu JamesChu added a comment -

          Fixed since 2018/06/15

          Show
          JamesChu JamesChu added a comment - Fixed since 2018/06/15

            People

            • Assignee:
              rudyhuang rudyhuang
              Reporter:
              MDuchemin MDuchemin
            • Votes:
              0 Vote for this issue
              Watchers:
              2 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 - 4 hours
                4h

                  Agile