UNPKG

wiz-frameworks

Version:

wizlong react framework

105 lines (87 loc) 3.36 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _PageInfo = require('./PageInfo'); var _PageInfo2 = _interopRequireDefault(_PageInfo); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /** * 通用分页助手 */ var PageHelper = function () { function PageHelper() { _classCallCheck(this, PageHelper); } _createClass(PageHelper, null, [{ key: 'requestFormat', /** * 可以通过设置这个函数,格式化发送到后端的参数 * * 例如后端分页接口需要的参数是 * { * currentPage: 1, * showCount: 10, * paramMap: {name: 'jonn'} * } * 可以通过设置这个参数格式化分页信息 * 例如: * pageHelper.requestFormat(({pageNum, pageSize}) => ({ * currentPage: pageNum, * showCount: pageSize * })) */ value: function requestFormat(pageInfo) { var pageNum = pageInfo.pageNum, pageSize = pageInfo.pageSize, filters = pageInfo.filters, sorts = pageInfo.sorts, headList = pageInfo.headList; return _extends({ currentPage: pageNum, showCount: pageSize, sortMap: sorts, headList: headList }, filters); } }, { key: 'responseFormat', /** * 格式化从服务端反回的数据,并置入PageInfo对象中, * 为下次分页做准备 * 页码 pageNum; 每页数量 pageSize; 当前页的数量 size; 总记录数 total; 总页数 totalPages; 结果集 list; * @param {object} resp */ value: function responseFormat(resp) { var _resp$data = resp.data, pageNum = _resp$data.pageNum, pageSize = _resp$data.pageSize, total = _resp$data.total, list = _resp$data.list, totalPages = _resp$data.totalPages, headList = _resp$data.headList; return { pageNum: pageNum, pageSize: pageSize, total: total, totalPages: totalPages, list: list, headList: headList }; } }]); return PageHelper; }(); PageHelper.create = function () { var pageInfo = new _PageInfo2['default'](); return pageInfo; }; exports['default'] = PageHelper; module.exports = exports['default'];