vue-admin-core
Version:
A Component Library for Vue 3
35 lines (30 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
require('../../../../components/config-provider/index.js');
var vue = require('vue');
var useGlobalConfig = require('../../../../components/config-provider/src/hooks/use-global-config.js');
const usePaginationPlugin = (fetchInstance, { pageSize, current, defaultParams = [] }) => {
if (!current)
return {};
const config = useGlobalConfig.useGlobalConfig();
const pageSizeKey = config.value.pageSizeKey || "pageSize";
const currentPageKey = config.value.currentPageKey || "currentPage";
const _originRunAsync = fetchInstance.runAsync.bind(fetchInstance);
const __params = {
[pageSizeKey]: pageSize || 10,
[currentPageKey]: current || 1
};
fetchInstance.runAsync = (...params) => {
const _params = vue.toValue(params[0]);
if (_params) {
if (_params[currentPageKey])
__params[currentPageKey] = _params[currentPageKey];
if (_params[pageSizeKey])
__params[pageSizeKey] = _params[pageSizeKey];
}
return _originRunAsync({ ...defaultParams[0], ..._params, ...__params }, ...params.slice(1));
};
return {};
};
exports.default = usePaginationPlugin;
//# sourceMappingURL=usePaginationPlugin.js.map