Browse Source

Ahora ya permite editar los campos de texto, asi como tambien los registros del grid dando clic en el boton de editar

main
mramirezg 11 months ago
parent
commit
4473e15de9
1 changed files with 69 additions and 7 deletions
  1. +69
    -7
      src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java

+ 69
- 7
src/main/java/mx/gob/jumapacelaya/ui/DetallesMantView.java View File

@ -3,16 +3,20 @@ package mx.gob.jumapacelaya.ui;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.List;
import org.vaadin.lineawesome.LineAwesomeIcon;
import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.dependency.CssImport; import com.vaadin.flow.component.dependency.CssImport;
import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.grid.Grid;
import com.vaadin.flow.component.grid.GridVariant; import com.vaadin.flow.component.grid.GridVariant;
import com.vaadin.flow.component.gridpro.GridPro;
import com.vaadin.flow.component.html.H3; import com.vaadin.flow.component.html.H3;
import com.vaadin.flow.component.icon.Icon; import com.vaadin.flow.component.icon.Icon;
import com.vaadin.flow.component.icon.VaadinIcon; import com.vaadin.flow.component.icon.VaadinIcon;
import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.textfield.TextField; import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.data.binder.Binder;
import com.vaadin.flow.function.ValueProvider; import com.vaadin.flow.function.ValueProvider;
import com.vaadin.flow.router.BeforeEnterEvent; import com.vaadin.flow.router.BeforeEnterEvent;
import com.vaadin.flow.router.BeforeEnterObserver; import com.vaadin.flow.router.BeforeEnterObserver;
@ -44,9 +48,11 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
private TextField txtFechaRealizacion; private TextField txtFechaRealizacion;
private TextField txtUsuario; private TextField txtUsuario;
private TextField txtDepartamento; private TextField txtDepartamento;
private Grid<HardwareDetalle> gridHardware;
private GridPro<HardwareDetalle> gridHardware;
private Button btnEditar; private Button btnEditar;
private Button btnImprimirRepo; private Button btnImprimirRepo;
private Button btnCancelar;
private Button btnGuardar;
public DetallesMantView() { public DetallesMantView() {
setPadding(true); setPadding(true);
@ -95,12 +101,30 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
txtDepartamento.setWidthFull(); txtDepartamento.setWidthFull();
layout3.add(txtUsuario,txtDepartamento); layout3.add(txtUsuario,txtDepartamento);
gridHardware = new Grid<>();
gridHardware.addColumn(HardwareDetalle::getDescripcion).setHeader("Descripción");
gridHardware.addColumn(HardwareDetalle::getModelo).setHeader("Modelo");
gridHardware.addColumn(HardwareDetalle::getNumSerie).setHeader("No. Serie");
gridHardware.addColumn(HardwareDetalle::getPlaca).setHeader("Placa");
gridHardware = new GridPro<>();
gridHardware.addEditColumn(HardwareDetalle::getDescripcion)
.text((item, newValue) -> item.setDescripcion(newValue))
.setHeader("Descripción")
.setEditorComponent(new TextField());
gridHardware.addEditColumn(HardwareDetalle::getNumSerie)
.text((item, newValue) -> item.setNumSerie(newValue))
.setHeader("No. Serie")
.setEditorComponent(new TextField());
gridHardware.addEditColumn(HardwareDetalle::getModelo)
.text((item, newValue) -> item.setModelo(newValue))
.setHeader("Modelo")
.setEditorComponent(new TextField());
gridHardware.addEditColumn(HardwareDetalle::getPlaca)
.text((item, newValue) -> item.setPlaca(newValue))
.setHeader("Placa")
.setEditorComponent(new TextField());
gridHardware.setWidthFull(); gridHardware.setWidthFull();
gridHardware.setEditOnClick(false);
gridHardware.setHeight("250px"); gridHardware.setHeight("250px");
gridHardware.addThemeVariants(GridVariant.LUMO_ROW_STRIPES); gridHardware.addThemeVariants(GridVariant.LUMO_ROW_STRIPES);
@ -110,7 +134,45 @@ public class DetallesMantView extends VerticalLayout implements BeforeEnterObser
botonesLayout.setJustifyContentMode(JustifyContentMode.CENTER); botonesLayout.setJustifyContentMode(JustifyContentMode.CENTER);
btnEditar = new Button("Editar", new Icon(VaadinIcon.EDIT)); btnEditar = new Button("Editar", new Icon(VaadinIcon.EDIT));
btnImprimirRepo = new Button("Imprimir Reporte", new Icon(VaadinIcon.PRINT)); btnImprimirRepo = new Button("Imprimir Reporte", new Icon(VaadinIcon.PRINT));
botonesLayout.add(btnEditar,btnImprimirRepo);
btnGuardar = new Button("Guardar", LineAwesomeIcon.SAVE_SOLID.create());
btnCancelar = new Button("Cancelar", new Icon(VaadinIcon.CLOSE_CIRCLE_O));
botonesLayout.add(btnEditar,btnImprimirRepo,btnGuardar,btnCancelar);
btnGuardar.setVisible(false);
btnGuardar.getStyle().set("background-color", "green");
btnGuardar.getStyle().set("color", "white");
btnCancelar.setVisible(false);
btnCancelar.getStyle().set("background-color", "red");
btnCancelar.getStyle().set("color", "white");
btnEditar.addClickListener(e -> {
txtEquipo.setReadOnly(false);
txtTipo.setReadOnly(false);
txtFecha.setReadOnly(false);
txtFechaRealizacion.setReadOnly(false);
txtUsuario.setReadOnly(false);
txtDepartamento.setReadOnly(false);
btnImprimirRepo.setVisible(false);
btnEditar.setVisible(false);
btnGuardar.setVisible(true);
btnCancelar.setVisible(true);
gridHardware.setEditOnClick(true);
});
btnCancelar.addClickListener(e -> {
txtEquipo.setReadOnly(true);
txtTipo.setReadOnly(true);
txtFecha.setReadOnly(true);
txtFechaRealizacion.setReadOnly(true);
txtUsuario.setReadOnly(true);
txtDepartamento.setReadOnly(true);
btnImprimirRepo.setVisible(true);
btnEditar.setVisible(true);
btnGuardar.setVisible(false);
btnCancelar.setVisible(false);
gridHardware.setEditOnClick(false);
gridHardware.getEditor().cancel();
});
mainLayout.add(headerLayout,layout2,fechasLayout,layout3,gridHardware,botonesLayout); mainLayout.add(headerLayout,layout2,fechasLayout,layout3,gridHardware,botonesLayout);
add(mainLayout); add(mainLayout);


Loading…
Cancel
Save