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

Selector event listener wiring

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Invalid
    • Icon: Major Major
    • None
    • 5.0.9
    • General
    • Windows 7, Firefox 9.0.1, zk 5.0.9, selectors 0.8.1

      Here's some code which reproduces my problem:

      test.zul

      <?page title="test" contentType="text/html;charset=UTF-8"?>
      <zk>
      <window id="win" title="test" border="normal" width="200px" height="100px" context="contextmenu" apply="org.test.myapp.Test">
      Right click here for context menu
      <menupopup id="contextmenu" />
      </window>
      </zk>

      org.test.myapp.Test.java

      public class Test extends GenericAnnotatedComposer {
      @Wire
      private Window win;
      @Wire
      private Menupopup contextmenu;

      public void onCreate()

      { Menuitem mi1 = new Menuitem("Submenu 1"); mi1.setId("sub1"); contextmenu.appendChild(mi1); Menuitem mi2 = new Menuitem("Submenu 2"); mi2.setId("sub2"); contextmenu.appendChild(mi2); Menuitem mi3 = new Menuitem("Submenu 3"); mi3.setId("sub3"); contextmenu.appendChild(mi3); List<Component> menuitems = Selectors.find(win, "menuitem"); System.out.println("Menuitem count: "+ menuitems.size()); for (Component comp : menuitems) Selectors.wireEventListeners(comp, this); }

      @Listen("onClick = menuitem")
      public void menuitemClicked(Event event)

      { System.out.println("menuitem clicked. id: "+ event.getTarget().getId()); }

      }

      Output when I click Submenu 1: (OK)
      Menuitem count: 3
      menuitem clicked. id: sub 1

      Output when I click Submenu 2: (Wrong - duplication)
      Menuitem count: 3
      menuitem clicked. id: sub 2
      menuitem clicked. id: sub 2

      Output when I click Submenu 3: (Wrong - duplication)
      Menuitem count: 3
      menuitem clicked. id: sub 3
      menuitem clicked. id: sub 3
      menuitem clicked. id: sub 3

      For this reproduceable code I am extending GenericAnnotatedComposer but in reality I am extending GenericSpringComposer (hence the reason why I need to use Selectors directly). Also the menuitems are set dynamically so I need to use Selectors. Am I doing something wrong or is this a bug in Selectors?

            SimonPai SimonPai
            Col Col
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: