mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-02-01 00:28:51 +00:00
trabajando en usuarios
This commit is contained in:
@ -0,0 +1,43 @@
|
||||
package com.imprimelibros.erp.datatables;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
|
||||
public class DataTablesParser {
|
||||
public static DataTablesRequest from(HttpServletRequest req) {
|
||||
DataTablesRequest dt = new DataTablesRequest();
|
||||
dt.draw = parseInt(req.getParameter("draw"), 0);
|
||||
dt.start = parseInt(req.getParameter("start"), 0);
|
||||
dt.length = parseInt(req.getParameter("length"), 10);
|
||||
|
||||
if (req.getParameter("search[value]") != null) {
|
||||
dt.search.value = req.getParameter("search[value]");
|
||||
dt.search.regex = Boolean.parseBoolean(req.getParameter("search[regex]"));
|
||||
}
|
||||
|
||||
for (int i=0;; i++) {
|
||||
String data = req.getParameter("columns["+i+"][data]");
|
||||
if (data == null) break;
|
||||
DataTablesRequest.Column c = new DataTablesRequest.Column();
|
||||
c.data = data;
|
||||
c.name = Optional.ofNullable(req.getParameter("columns["+i+"][name]")).orElse(data);
|
||||
c.searchable = Boolean.parseBoolean(Optional.ofNullable(req.getParameter("columns["+i+"][searchable]")).orElse("true"));
|
||||
c.orderable = Boolean.parseBoolean(Optional.ofNullable(req.getParameter("columns["+i+"][orderable]")).orElse("true"));
|
||||
c.search.value = Optional.ofNullable(req.getParameter("columns["+i+"][search][value]")).orElse("");
|
||||
dt.columns.add(c);
|
||||
}
|
||||
for (int i=0;; i++) {
|
||||
String colIdx = req.getParameter("order["+i+"][column]");
|
||||
if (colIdx == null) break;
|
||||
DataTablesRequest.Order o = new DataTablesRequest.Order();
|
||||
o.column = parseInt(colIdx,0);
|
||||
o.dir = Optional.ofNullable(req.getParameter("order["+i+"][dir]")).orElse("asc");
|
||||
dt.order.add(o);
|
||||
}
|
||||
|
||||
// guarda TODOS los params crudos (para filtros custom)
|
||||
req.getParameterMap().forEach((k,v) -> dt.raw.put(k, v!=null && v.length>0 ? v[0] : null));
|
||||
return dt;
|
||||
}
|
||||
private static int parseInt(String s, int def){ try{return Integer.parseInt(s);}catch(Exception e){return def;}}
|
||||
}
|
||||
Reference in New Issue
Block a user