-
New Feature
-
Resolution: Invalid
-
Normal
-
None
-
5.0.9
-
Any
I would like to be able to define client side listeners like this:
<button label="Print" xmlns:w="client">
<attribute name="w:onClick">window.open('real_download.jsp','Printing...');"</attribute>
</button>
So far it's not possible, for the ui engine yields the following exception
org.zkoss.zk.ui.metainfo.PropertyNotFoundException: Method setW:onClick not found for class org.zkoss.zul.Button
at org.zkoss.zk.ui.metainfo.Property.resolve(Property.java:190)
at org.zkoss.zk.ui.metainfo.Property.assign0(Property.java:206)
at org.zkoss.zk.ui.metainfo.Property.assign(Property.java:173)
at org.zkoss.zk.ui.metainfo.ComponentInfo.applyProperties(ComponentInfo.java:829)
at org.zkoss.zk.ui.impl.AbstractUiFactory.newComponent(AbstractUiFactory.java:96)
at org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild0(UiEngineImpl.java:740)
By having client-side event listeners as standalone attribute we could define them conditionally the way we do with component tags:
<button label="Print" xmlns:w="client">
<attribute if="${execution.explorer}" name="w:onClick">window.open('real_download.jsp','Printing...');"</attribute>
</button>