wiz-frameworks
Version:
wizlong react framework
105 lines (87 loc) • 3.36 kB
JavaScript
;
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'];