react-admin-kit
Version:
A react based UI components for admin system
79 lines (76 loc) • 3.17 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.clearSelectCache = exports.SelectTotalName = exports.SelectStatusName = exports.SelectName = exports.SelectCurrentName = exports.BusinessSelectSelf = exports.BizApi = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _utils = require("../utils");
var _BasePaginationSelect = _interopRequireDefault(require("./components/BasePaginationSelect"));
var _BaseSelect = _interopRequireDefault(require("./components/BaseSelect"));
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["type"];
/**
* select数据挂在window上作为缓存, 避免重复请求
*/
var SelectName = exports.SelectName = '@@selectData';
var SelectStatusName = exports.SelectStatusName = '@@selectDataIsStart';
var SelectTotalName = exports.SelectTotalName = '@@selectDataTotal';
var SelectCurrentName = exports.SelectCurrentName = '@@selectDataCurrent';
function BusinessSelectBuilder(_ref) {
var _ref$apis = _ref.apis,
apis = _ref$apis === void 0 ? [] : _ref$apis,
_ref$defaultProps = _ref.defaultProps,
defaultProps = _ref$defaultProps === void 0 ? {} : _ref$defaultProps;
return function (props) {
var type = props.type,
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
var target = apis.find(function (item) {
return item.type === type;
});
if (!target) return null;
var mergedProps = (0, _utils.myMergeOptions)(defaultProps, target.defaultProps || {}, {
fieldNames: {
value: 'id',
label: 'name'
}
});
if (target.pagination) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BasePaginationSelect.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({
type: type
}, mergedProps), {}, {
loadFunction: target.api
}, rest));
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseSelect.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({
type: type
}, mergedProps), {}, {
loadFunction: target.api
}, rest));
};
}
var _default = exports.default = BusinessSelectBuilder;
var clearSelectCache = exports.clearSelectCache = function clearSelectCache(type) {
if (type) {
(0, _utils.delGlobal)(SelectName, type);
(0, _utils.delGlobal)(SelectStatusName, type);
(0, _utils.delGlobal)(SelectTotalName, type);
(0, _utils.delGlobal)(SelectCurrentName, type);
} else {
(0, _utils.delGlobal)(SelectName);
(0, _utils.delGlobal)(SelectStatusName);
(0, _utils.delGlobal)(SelectTotalName);
(0, _utils.delGlobal)(SelectCurrentName);
}
};
// 用于生成api文档
/* istanbul ignore next */
var BizApi = exports.BizApi = function BizApi() {
return null;
};
// 用于生成api文档
/* istanbul ignore next */
var BusinessSelectSelf = exports.BusinessSelectSelf = function BusinessSelectSelf() {
return null;
};