import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.ContextParam;
import org.zkoss.bind.annotation.ContextType;
+import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.InputEvent;
import org.zkoss.zk.ui.event.OpenEvent;
+import org.zkoss.zul.Bandbox;
import org.zkoss.zul.impl.XulElement;
import java.util.AbstractMap;
reset();
}
+ @Command
+ public void onEntityBandPopupClick(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) {
+ Event event = ctx.getTriggerEvent();
+ try {
+ ((Bandbox) event.getTarget().getParent().getParent().getParent()).close();
+ } catch (Exception e) {
+ log.error("Internal error: {}", e.getMessage());
+ }
+ }
+
protected abstract void search(String filter);
protected abstract void reset();
<attribute c:name="_doKeyDown">
<![CDATA[
function (evt) {
- var selectorId = "${selector_id}";
console.log("this", this);
-
+ var selectorId = "${selector_id}";
var bandBox = zk.$("$entityBandBox_" + selectorId);
var bandPopup = zk.$("$entityBandPopup_" + selectorId);
<bandpopup id="entityBandPopup_${selector_id}" width="400px">
<listbox id="entityList_${selector_id}" height="250px"
model="@bind(vmEntity.dataModel)"
- selectedItem="@bind(vmEntity.selectedEntity)"
- onClick="entityBandBox_${selector_id}.close()"
- onDoubleClick="entityBandBox_${selector_id}.close()">
+ selectedItem="@bind(vmEntity.selectedEntity)">
<listhead visible="false">
<listheader label="name" vflex="max"/>
</listhead>
<template name="model">
- <listitem>
+ <listitem onDoubleClick="@command('onEntityBandPopupClick')">
<listcell label="@load(each) @converter(vmEntity.displayConverter)"/>
</listitem>
</template>