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,15 +101,8 @@ 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() {
@Override confRestricaoCanalVentaList.setItemRenderer(new RenderConfRestricaoCanalVenta(confRestricaoCanalVentaList, this));
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);
@ -45,4 +81,18 @@ 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

@ -147,7 +147,7 @@
</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">