1.4 <jmoordbjsf:search>

Observe que todos estos casos no es necesario implementar el método searchBy() en su controller. Ya que internamente guarda los valores que puedes usar en el move()

<b:row>
 <b:column medium-screen="4">
     <jmoordbjsf:search label="#{msg['field.idcarrera']}"
                 value="#{carreraController.carreraSearch.idcarrera}"
                 renderedList="#{p:ifGranted('ADMINISTRADOR')}" 
                 search="#{carreraController.searchBy('idcarrera',carreraController.carreraSearch.idcarrera)}"
     />


  </b:column>
  <b:column medium-screen="8">
      <jmoordbjsf:search label="#{msg['field.descripcion']}"
                   value="#{carreraController.carreraSearch.descripcion}"
                   renderedList="#{p:ifGranted('ADMINISTRADOR')}"   
                   search="#{carreraController.searchBy('descripcion',carreraController.carreraSearch.descripcion)}"
      />
   </b:column>
 </b:row>

Move()

 @Override
    public void move(Integer page) {
        try {
            this.page = page;
            carreraDataModel = new CarreraDataModel(carreraList);
            Document doc;

            switch (getSearch()) {
                case "_init":
                case "_autocomplete":
                    carreraList = carreraRepository.findPagination(page, rowPage);
                    break;

                case "idcarrera":
                    if (getValueSearch()  != null) {
                        carreraSearch.setIdcarrera((Integer) getValueSearch() );
                        doc = new Document("idcarrera", carreraSearch.getIdcarrera());
                        carreraList = carreraRepository.findPagination(doc, page, rowPage, new Document("idcarrera", -1));
                    } else {
                        carreraList = carreraRepository.findPagination(page, rowPage);
                    }

                    break;

                case "descripcion":
                    if (getValueSearch()  != null) {
                        carreraSearch.setDescripcion(getValueSearch().toString());
                        //  doc = new Document("descripcion", carreraSearch.getDescripcion());
                        carreraList = carreraRepository.findRegexInTextPagination("descripcion", carreraSearch.getDescripcion(), true, page, rowPage, new Document("descripcion", -1));

                    } else {
                        carreraList = carreraRepository.findPagination(page, rowPage);
                    }

                    break;
                case "activo":
                    if (getValueSearch() != null) {
                        carreraSearch.setActivo(getValueSearch().toString());
                        doc = new Document("activo", carreraSearch.getActivo());
                        carreraList = carreraRepository.findPagination(doc, page, rowPage, new Document("idcarrera", -1));
                    } else {
                        carreraList = carreraRepository.findPagination(page, rowPage);
                    }
                    break;

                default:
                    carreraList = carreraRepository.findPagination(page, rowPage);
                    break;
            }

            carreraDataModel = new CarreraDataModel(carreraList);

        } catch (Exception e) {
            errorServices.errorMessage(nameOfClass(), nameOfMethod(), e.getLocalizedMessage());

        }

    }

Last updated