58010 - Falha seleção Bloqueio - ADM

bug#al-1845
dev:
qua:

O multiselect causa um bug com um duplo clique, foi necessário
implementar o evento dentro do Renderer, pois com varios selecionados a
tela chamava o objeto errado e era preciso selecionar antes de dar os
dois cliques.
master
valdir.cordeiro 2022-12-06 10:42:06 -03:00
parent 308f7a5d97
commit 30f691ea15
4 changed files with 226 additions and 185 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId> <groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId> <artifactId>ventaboletosadm</artifactId>
<version>1.0.8</version> <version>1.0.9</version>
<packaging>war</packaging> <packaging>war</packaging>
<distributionManagement> <distributionManagement>

View File

@ -15,8 +15,6 @@ import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox; import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Button;
import org.zkoss.zul.Combobox; import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem; import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Datebox; import org.zkoss.zul.Datebox;
@ -103,16 +101,9 @@ public class BusquedaConfRestricaoCanalVentaController extends MyGenericForwardC
lsTipoPtoVta = tipoPtoVtaService.obtenerTodos(); lsTipoPtoVta = tipoPtoVtaService.obtenerTodos();
super.doAfterCompose(comp); super.doAfterCompose(comp);
cmbRuta.setItemRenderer(new MyComboRutaRenderer()); cmbRuta.setItemRenderer(new MyComboRutaRenderer());
confRestricaoCanalVentaList.setItemRenderer(new RenderConfRestricaoCanalVenta());
confRestricaoCanalVentaList.addEventListener("onDoubleClick", new EventListener() { confRestricaoCanalVentaList.setItemRenderer(new RenderConfRestricaoCanalVenta(confRestricaoCanalVentaList, this));
@Override
public void onEvent(Event event) throws Exception {
ConfRestricaoCanalVenta conf = (ConfRestricaoCanalVenta) confRestricaoCanalVentaList.getSelected();
verConfRestricaoCanalVenta(conf);
}
});
refreshLista(); refreshLista();
} }

View File

@ -1,38 +1,74 @@
package com.rjconsultores.ventaboletos.web.utilerias.render; package com.rjconsultores.ventaboletos.web.utilerias.render;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import org.zkoss.util.resource.Labels;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Listcell; import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem; import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer; import org.zkoss.zul.ListitemRenderer;
import com.rjconsultores.ventaboletos.entidad.ConfRestricaoCanalVenta; import com.rjconsultores.ventaboletos.entidad.ConfRestricaoCanalVenta;
import com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional.BusquedaConfRestricaoCanalVentaController;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
public class RenderConfRestricaoCanalVenta implements ListitemRenderer { public class RenderConfRestricaoCanalVenta implements ListitemRenderer {
private SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); private SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
private MyListbox confRestricaoCanalVentaList;
private BusquedaConfRestricaoCanalVentaController telaPrincipal;
public RenderConfRestricaoCanalVenta() {
super();
}
public RenderConfRestricaoCanalVenta(MyListbox confList, BusquedaConfRestricaoCanalVentaController telaMae) {
super();
confRestricaoCanalVentaList = confList;
telaPrincipal = telaMae;
}
public void render(Listitem lstm, Object o) throws Exception { public void render(Listitem lstm, Object o) throws Exception {
ConfRestricaoCanalVenta confRestricaoCanalVenta = (ConfRestricaoCanalVenta) o; ConfRestricaoCanalVenta confRestricaoCanalVenta = (ConfRestricaoCanalVenta) o;
EventListener doubleClick = new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
verConfRestricaoCanalVenta(confRestricaoCanalVenta);
}
};
Listcell lc = new Listcell(); Listcell lc = new Listcell();
lc = new Listcell(confRestricaoCanalVenta.getConfRestricaoCanalVentaId().toString() == null ? "-" : confRestricaoCanalVenta.getConfRestricaoCanalVentaId().toString()); lc = new Listcell(confRestricaoCanalVenta.getConfRestricaoCanalVentaId().toString() == null ? "-" : confRestricaoCanalVenta.getConfRestricaoCanalVentaId().toString());
lc.addEventListener("onDoubleClick", doubleClick);
lc.setParent(lstm); lc.setParent(lstm);
lc = new Listcell(confRestricaoCanalVenta.getRuta() == null ? "-" : MyComboRutaRenderer.buscarDescricaoComboRuta(confRestricaoCanalVenta.getRuta())); lc = new Listcell(confRestricaoCanalVenta.getRuta() == null ? "-" : MyComboRutaRenderer.buscarDescricaoComboRuta(confRestricaoCanalVenta.getRuta()));
lc.setParent(lstm); lc.setParent(lstm);
lc = new Listcell(confRestricaoCanalVenta.getDescConfRestricaoCanalVenta() == null ? "-" : confRestricaoCanalVenta.getDescConfRestricaoCanalVenta()); lc = new Listcell(confRestricaoCanalVenta.getDescConfRestricaoCanalVenta() == null ? "-" : confRestricaoCanalVenta.getDescConfRestricaoCanalVenta());
lc.addEventListener("onDoubleClick", doubleClick);
lc.setParent(lstm); lc.setParent(lstm);
lc = new Listcell(confRestricaoCanalVenta.getCorridaId() == null ? "-" : confRestricaoCanalVenta.getCorridaId().toString()); lc = new Listcell(confRestricaoCanalVenta.getCorridaId() == null ? "-" : confRestricaoCanalVenta.getCorridaId().toString());
lc.addEventListener("onDoubleClick", doubleClick);
lc.setParent(lstm); lc.setParent(lstm);
lc = new Listcell(confRestricaoCanalVenta.getFecCorrida() == null ? "-" : sdf.format(confRestricaoCanalVenta.getFecCorrida())); lc = new Listcell(confRestricaoCanalVenta.getFecCorrida() == null ? "-" : sdf.format(confRestricaoCanalVenta.getFecCorrida()));
lc.addEventListener("onDoubleClick", doubleClick);
lc.setParent(lstm); lc.setParent(lstm);
lc = new Listcell(buscarDescricaoVigencia(confRestricaoCanalVenta)); lc = new Listcell(buscarDescricaoVigencia(confRestricaoCanalVenta));
lc.addEventListener("onDoubleClick", doubleClick);
lc.setParent(lstm);
lc.setParent(lstm); lc.setParent(lstm);
lstm.setAttribute("data", confRestricaoCanalVenta); lstm.setAttribute("data", confRestricaoCanalVenta);
@ -44,5 +80,19 @@ public class RenderConfRestricaoCanalVenta implements ListitemRenderer {
} }
return " - "; return " - ";
} }
@SuppressWarnings({ "rawtypes", "unchecked" })
private void verConfRestricaoCanalVenta(ConfRestricaoCanalVenta conf) {
if (conf == null) {
return;
}
Map args = new HashMap();
args.put("confRestricaoCanalVenta", conf);
args.put("confRestricaoCanalVentaList", confRestricaoCanalVentaList);
telaPrincipal.openWindow("/gui/esquema_operacional/editarConfRestricaoCanalVenta.zul",
Labels.getLabel("editarConfRestricaoCanalVentaController.window.title"),
args, PantallaUtileria.MODAL);
}
} }

View File

@ -1,173 +1,173 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?> <?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?> <?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winBusquedaConfRestricaoCanalVenta"?> <?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winBusquedaConfRestricaoCanalVenta"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?> <?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul"> <zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winBusquedaConfRestricaoCanalVenta" <window id="winBusquedaConfRestricaoCanalVenta"
title="${c:l('confRestricaoCanalVentaController.window.title')}" title="${c:l('confRestricaoCanalVentaController.window.title')}"
apply="${confRestricaoCanalVentaController}" apply="${confRestricaoCanalVentaController}"
contentStyle="overflow:auto" height="550px" width="950px" contentStyle="overflow:auto" height="550px" width="950px"
border="normal" xmlns:h="http://www.w3.org/1999/xhtml"> border="normal" xmlns:h="http://www.w3.org/1999/xhtml">
<toolbar> <toolbar>
<button id="btnRefresh" image="/gui/img/refresh.png" <button id="btnRefresh" image="/gui/img/refresh.png"
width="35px" width="35px"
tooltiptext="${c:l('confRestricaoCanalVentaController.btnRefresh.tooltiptext')}" /> tooltiptext="${c:l('confRestricaoCanalVentaController.btnRefresh.tooltiptext')}" />
<separator orient="vertical" /> <separator orient="vertical" />
<button id="btnNovo" image="/gui/img/add.png" width="35px" <button id="btnNovo" image="/gui/img/add.png" width="35px"
tooltiptext="${c:l('confRestricaoCanalVentaController.btnNovo.tooltiptext')}" /> tooltiptext="${c:l('confRestricaoCanalVentaController.btnNovo.tooltiptext')}" />
<separator orient="vertical" /> <separator orient="vertical" />
<button id="btnCerrar" <button id="btnCerrar"
onClick="winBusquedaConfRestricaoCanalVenta.detach()" onClick="winBusquedaConfRestricaoCanalVenta.detach()"
image="/gui/img/exit.png" width="35px" image="/gui/img/exit.png" width="35px"
tooltiptext="${c:l('confRestricaoCanalVentaController.btnCerrar.tooltiptext')}" /> tooltiptext="${c:l('confRestricaoCanalVentaController.btnCerrar.tooltiptext')}" />
<separator orient="vertical" /> <separator orient="vertical" />
<button id="btnApagar" height="20" <button id="btnApagar" height="20"
image="/gui/img/remove.png" width="35px" image="/gui/img/remove.png" width="35px"
tooltiptext="${c:l('confRestricaoCanalVentaController.btnApagar.tooltiptext')}" /> tooltiptext="${c:l('confRestricaoCanalVentaController.btnApagar.tooltiptext')}" />
</toolbar> </toolbar>
<grid fixedLayout="true"> <grid fixedLayout="true">
<columns> <columns>
<column width="15%" /> <column width="15%" />
<column width="35%" /> <column width="35%" />
<column width="15%" /> <column width="15%" />
<column width="35%" /> <column width="35%" />
</columns> </columns>
<rows> <rows>
<row spans="1,3"> <row spans="1,3">
<label <label
value="${c:l('confRestricaoCanalVentaController.lhDesc.label')}" /> value="${c:l('confRestricaoCanalVentaController.lhDesc.label')}" />
<textbox id="txtDescConf" width="98%" <textbox id="txtDescConf" width="98%"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" /> use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
</row> </row>
<row spans="1,3" > <row spans="1,3" >
<label <label
value="${c:l('confRestricaoCanalVentaController.lhEmpresa.label')}" /> value="${c:l('confRestricaoCanalVentaController.lhEmpresa.label')}" />
<combobox id="cmbEmpresa" <combobox id="cmbEmpresa"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="70%" mold="rounded" buttonVisible="true" width="70%"
model="@{winBusquedaConfRestricaoCanalVenta$composer.lsEmpresa}" /> model="@{winBusquedaConfRestricaoCanalVenta$composer.lsEmpresa}" />
</row> </row>
<row spans="1,3"> <row spans="1,3">
<label <label
value="${c:l('editarConfiguracionCorridaController.cmbRuta.value')}" /> value="${c:l('editarConfiguracionCorridaController.cmbRuta.value')}" />
<combobox id="cmbRuta" <combobox id="cmbRuta"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxRuta" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxRuta"
mold="rounded" buttonVisible="true" width="70%" /> mold="rounded" buttonVisible="true" width="70%" />
</row> </row>
<row> <row>
<label <label
value="${c:l('confRestricaoCanalVentaController.Origem.label')}" /> value="${c:l('confRestricaoCanalVentaController.Origem.label')}" />
<combobox id="cmbOrigen" autodrop="true" <combobox id="cmbOrigen" autodrop="true"
mold="rounded" buttonVisible="true" width="99%" mold="rounded" buttonVisible="true" width="99%"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada" /> use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada" />
<label <label
value="${c:l('confRestricaoCanalVentaController.CanalVenda.label')}" /> value="${c:l('confRestricaoCanalVentaController.CanalVenda.label')}" />
<combobox id="cmbTipoPtoVta" <combobox id="cmbTipoPtoVta"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="98%" mold="rounded" buttonVisible="true" width="98%"
model="@{winBusquedaConfRestricaoCanalVenta$composer.lsTipoPtoVta}" /> model="@{winBusquedaConfRestricaoCanalVenta$composer.lsTipoPtoVta}" />
</row> </row>
<row> <row>
<label <label
value="${c:l('confRestricaoCanalVentaController.Destino.label')}" /> value="${c:l('confRestricaoCanalVentaController.Destino.label')}" />
<combobox id="cmbDestino" autodrop="true" <combobox id="cmbDestino" autodrop="true"
mold="rounded" buttonVisible="true" width="99%" mold="rounded" buttonVisible="true" width="99%"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada" /> use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada" />
<label <label
value="${c:l('confRestricaoCanalVentaController.PuntoVenta.label')}" /> value="${c:l('confRestricaoCanalVentaController.PuntoVenta.label')}" />
<combobox id="cmbPtoVta" <combobox id="cmbPtoVta"
mold="rounded" buttonVisible="true" width="98%" mold="rounded" buttonVisible="true" width="98%"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta"
/> />
</row> </row>
<row> <row>
<label <label
value="${c:l('confRestricaoCanalVentaController.DataServico.label')}" /> value="${c:l('confRestricaoCanalVentaController.DataServico.label')}" />
<datebox id="dtServicio" width="50%" <datebox id="dtServicio" width="50%"
mold="rounded" /> mold="rounded" />
<label <label
value="${c:l('confRestricaoCanalVentaController.lhVigencia.label')}" /> value="${c:l('confRestricaoCanalVentaController.lhVigencia.label')}" />
<hbox> <hbox>
<h:table border="0"> <h:table border="0">
<h:tr> <h:tr>
<h:td> <h:td>
<label <label
value="${c:l('confRestricaoCanalVentaController.lhDe.label')}" /> value="${c:l('confRestricaoCanalVentaController.lhDe.label')}" />
</h:td> </h:td>
<h:td> <h:td>
<datebox <datebox
id="feciniciovigencia" width="90%" id="feciniciovigencia" width="90%"
mold="rounded" /> mold="rounded" />
</h:td> </h:td>
<h:td> <h:td>
<label <label
value="${c:l('confRestricaoCanalVentaController.lhAte.label')}" /> value="${c:l('confRestricaoCanalVentaController.lhAte.label')}" />
</h:td> </h:td>
<h:td> <h:td>
<datebox <datebox
id="fecfinvigencia" width="90%" id="fecfinvigencia" width="90%"
mold="rounded" /> mold="rounded" />
</h:td> </h:td>
</h:tr> </h:tr>
</h:table> </h:table>
</hbox> </hbox>
</row> </row>
<row> <row>
<label <label
value="${c:l('confRestricaoCanalVentaController.Servico.label')}" /> value="${c:l('confRestricaoCanalVentaController.Servico.label')}" />
<intbox id="txtServico" width="60%" /> <intbox id="txtServico" width="60%" />
<label <label
value="${c:l('confRestricaoCanalVentaController.IdBloqueio.label')}" /> value="${c:l('confRestricaoCanalVentaController.IdBloqueio.label')}" />
<intbox id="txtIdBloqueio" width="60%" /> <intbox id="txtIdBloqueio" width="60%" />
</row> </row>
</rows> </rows>
</grid> </grid>
<toolbar> <toolbar>
<button id="btnPesquisa" image="/gui/img/find.png" <button id="btnPesquisa" image="/gui/img/find.png"
label="${c:l('confRestricaoCanalVentaController.btnPesquisa.label')}" /> label="${c:l('confRestricaoCanalVentaController.btnPesquisa.label')}" />
</toolbar> </toolbar>
<paging id="pagingConfRestricaoCanalVenta" pageSize="20" /> <paging id="pagingConfRestricaoCanalVenta" pageSize="20" />
<listbox id="confRestricaoCanalVentaList" <listbox id="confRestricaoCanalVentaList" nonselectableTags="*"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="true" checkmark="true" vflex="true" height="95%"> multiple="true" checkmark="true" vflex="true" height="95%">
<listhead sizable="true"> <listhead sizable="true">
<listheader width="10%" image="/gui/img/create_doc.gif" <listheader width="10%" image="/gui/img/create_doc.gif"
label="${c:l('lb.id')}" sort="auto(confRestricaoCanalVentaId)" /> label="${c:l('lb.id')}" sort="auto(confRestricaoCanalVentaId)" />
<listheader image="/gui/img/create_doc.gif" <listheader image="/gui/img/create_doc.gif"
label="${c:l('confRestricaoCanalVentaController.lhRuta.label')}" label="${c:l('confRestricaoCanalVentaController.lhRuta.label')}"
sort="auto(ruta.numRuta)" width="25%" /> sort="auto(ruta.numRuta)" width="25%" />
<listheader image="/gui/img/create_doc.gif" <listheader image="/gui/img/create_doc.gif"
label="${c:l('confRestricaoCanalVentaController.lhDesc.label')}" label="${c:l('confRestricaoCanalVentaController.lhDesc.label')}"
sort="auto(descConfRestricaoCanalVenta)" /> sort="auto(descConfRestricaoCanalVenta)" />
<listheader image="/gui/img/create_doc.gif" width="10%" <listheader image="/gui/img/create_doc.gif" width="10%"
label="${c:l('confRestricaoCanalVentaController.Servico.label')}" label="${c:l('confRestricaoCanalVentaController.Servico.label')}"
sort="auto(corridaId)" /> sort="auto(corridaId)" />
<listheader image="/gui/img/create_doc.gif" width="12%" <listheader image="/gui/img/create_doc.gif" width="12%"
label="${c:l('confRestricaoCanalVentaController.DataServico.label')}" label="${c:l('confRestricaoCanalVentaController.DataServico.label')}"
sort="auto(fecCorrida)" /> sort="auto(fecCorrida)" />
<listheader image="/gui/img/create_doc.gif" <listheader image="/gui/img/create_doc.gif"
label="${c:l('confRestricaoCanalVentaController.lhVigencia.label')}" /> label="${c:l('confRestricaoCanalVentaController.lhVigencia.label')}" />
</listhead> </listhead>
</listbox> </listbox>
</window> </window>
</zk> </zk>