UNPKG

@dccs/react-datagrid-plain

Version:
42 lines (41 loc) 1.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createSource = function (get, url) { return function (page, rowsPerPage, orderBy, sort, filter) { var urlSep = url.indexOf("?") === -1 ? "?" : "&"; var p = new Promise(function (res, rej) { get("" + url + urlSep + "page=" + page + "&count=" + rowsPerPage + (orderBy != null ? "&orderBy=" + orderBy : "") + (sort != null ? "&desc=" + (sort === "desc") : "") + serializeFilter(filter || {})) .then(function (resp) { return res({ data: resp.data, total: resp.total }); }) .catch(rej); }); return p; }; }; exports.createJsonServerSource = function (get, url) { return function (page, rowsPerPage, orderBy, sort, filter) { var urlSep = url.indexOf("?") === -1 ? "?" : "&"; var p = new Promise(function (res, rej) { get("" + url + urlSep + "_page=" + page + "&_limit=" + rowsPerPage + "&{\n orderBy != null ? \"_sort=\" + orderBy : \"\"\n }\n }" + (sort != null ? "&_order=" + sort : "") + "\n " + serializeFilter(filter || {})) .then(function (resp) { return res({ data: resp, total: resp.length }); }) .catch(rej); }); return p; }; }; function serializeFilter(filter) { var query = ""; var _loop_1 = function (x) { if (filter[x] != null) { if (Array.isArray(filter[x])) { filter[x].forEach(function (e) { query += "&" + x + "=" + encodeURIComponent(e); }); } else { query += "&" + x + "=" + encodeURIComponent(filter[x]); } } }; // tslint:disable-next-line:forin for (var x in filter) { _loop_1(x); } return query; } exports.serializeFilter = serializeFilter;