Limpiar autocomplete y otros filtros

  • Actualizar el datatable y el content en cada componente, no debe haber ningún required="true"

  • Crear un método clear(String) similar a las condiciones del move(), para inicializar los otros elementos que no se seleccionaron.

  • Se invoca desde el searchBy(....)

Componentes

   <p:outputLabel value="#{msg['field.ayudante']}"/>
   <e:autocompleteusuario_rol listener="#{ordenController.searchBy('ayudante')}"
                        value="#{ordenController.ayudante}"
                        itemLabel=" #{p.nombre}"                                                                                                 
                        field="nombre"
                        dropdown="true"
                        required="false"
                        fromstart="true"
                        minQueryLength="0"
                        update=" :form:dataTable :form:content"
                        size="35"
                       rolValue="AYUDANTE"
       />

Controller

 @Override
    public String searchBy(String string) {
        try {

            loginController.put("searchorden", string);
            clear(string);
            writable = true;
            move();

        } catch (Exception e) {
            JsfUtil.errorMessage("searchBy()" + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>

Clear

// <editor-fold defaultstate="collapsed" desc="clear(String subtipoo)">
    private void clear(String searchorden) {
        try {
            switch (searchorden) {
                case "_init":
                    //ordenList = ordenRepository.findPagination(page, rowPage);

                    break;
                case "_autocomplete":
                    //no se realiza ninguna accion 
                    break;

                case "idorden":
                    //orden = new Orden();
                    emisor = new Almacen();
                    receptor = new Almacen();
                    chofer = new Usuario();
                    ayudante = new Usuario();
                    autorizado = new Usuario();
                    encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();

                    break;
                case "autorizado":
                    orden = new Orden();
                    emisor = new Almacen();
                    receptor = new Almacen();
                    chofer = new Usuario();
                    ayudante = new Usuario();
//                   autorizado      = new Usuario();
                    encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();
                    break;
                case "#":

                    orden = new Orden();
                    emisor = new Almacen();
                    receptor = new Almacen();
                    chofer = new Usuario();
                    ayudante = new Usuario();
                    autorizado = new Usuario();
                    encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
//                   lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();
                    break;
                case "encargadobodega":
                    orden = new Orden();
                    emisor = new Almacen();
                    receptor = new Almacen();
                    chofer = new Usuario();
                    ayudante = new Usuario();
                    autorizado = new Usuario();
//                   encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();

                    break;
                case "encargadoganga":
                    orden = new Orden();
                    emisor = new Almacen();
                    receptor = new Almacen();
                    chofer = new Usuario();
                    ayudante = new Usuario();
                    autorizado = new Usuario();
                    encargadobodega = new Usuario();
//                   encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();

                    break;

                case "encargadotienda":
                    orden = new Orden();
                    emisor = new Almacen();
                    receptor = new Almacen();
                    chofer = new Usuario();
                    ayudante = new Usuario();
                    autorizado = new Usuario();
                    encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
//                   encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();

                    break;
                case "chofer":
                    orden = new Orden();
                    emisor = new Almacen();
                    receptor = new Almacen();
//                   chofer = new Usuario();
                    ayudante = new Usuario();
                    autorizado = new Usuario();
                    encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();

                    break;
                case "ayudante":
                    orden = new Orden();
                    emisor = new Almacen();
                    receptor = new Almacen();
                    chofer = new Usuario();
//                   ayudante = new Usuario();
                    autorizado = new Usuario();
                    encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();

                    break;

                case "fecha":
                    orden = new Orden();
                    emisor = new Almacen();
                    receptor = new Almacen();
                    chofer = new Usuario();
                    ayudante = new Usuario();
                    autorizado = new Usuario();
                    encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
//                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();

                    break;

                case "_betweendates":
                    orden = new Orden();
                    emisor = new Almacen();
                    receptor = new Almacen();
                    chofer = new Usuario();
                    ayudante = new Usuario();
                    autorizado = new Usuario();
                    encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
//                    lookupStoreejbServices.setFechaDesde(null);
//                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();
                    break;
                case "proveedor":
                    orden = new Orden();
                    emisor = new Almacen();
                    receptor = new Almacen();
                    chofer = new Usuario();
                    ayudante = new Usuario();
                    autorizado = new Usuario();
                    encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
//                   proveedorSelected = new Proveedor();

                    break;
                case "emisor":
                    orden = new Orden();
//                   emisor= new Almacen();
                    receptor = new Almacen();
                    chofer = new Usuario();
                    ayudante = new Usuario();
                    autorizado = new Usuario();
                    encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();

                    break;
                case "receptor":
                    orden = new Orden();
                    emisor = new Almacen();
//                   receptor = new Almacen();
                    chofer = new Usuario();
                    ayudante = new Usuario();
                    autorizado = new Usuario();
                    encargadobodega = new Usuario();
                    encargadoganga = new Usuario();
                    encargadotienda = new Usuario();
                    //
                    lookupStoreejbServices.setIdorden(0);
                    lookupStoreejbServices.setFecha(null);
                    lookupStoreejbServices.setFechaDesde(null);
                    lookupStoreejbServices.setFechaHasta(null);
                    proveedorSelected = new Proveedor();

                    break;

            }

        } catch (Exception e) {
            JsfUtil.errorMessage("clear() " + e.getLocalizedMessage());
        }
    }
    // </editor-fold>

Last updated