react-admin-kit
Version:
A react based UI components for admin system
65 lines (62 loc) • 2.46 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.clearTreeSelectCache = exports.CacheStatusName = exports.CacheName = exports.BusinessTreeSelectSelf = exports.BizTreeApi = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _utils = require("../utils");
var _BaseTreeSelect = _interopRequireDefault(require("./BaseTreeSelect"));
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["type"];
/**
* 数据挂在window上作为缓存, 避免重复请求
*/
var CacheName = exports.CacheName = '@@treeSelectData';
var CacheStatusName = exports.CacheStatusName = '@@treeSelectDataIsStart';
function BusinessTreeSelectBuilder(_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'
}
});
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseTreeSelect.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({
type: type
}, mergedProps), {}, {
loadFunction: target.api
}, rest));
};
}
var _default = exports.default = BusinessTreeSelectBuilder;
var clearTreeSelectCache = exports.clearTreeSelectCache = function clearTreeSelectCache(type) {
if (type) {
(0, _utils.delGlobal)(CacheName, type);
(0, _utils.delGlobal)(CacheStatusName, type);
} else {
(0, _utils.delGlobal)(CacheName);
(0, _utils.delGlobal)(CacheStatusName);
}
};
// 用于生成api文档
/* istanbul ignore next */
var BizTreeApi = exports.BizTreeApi = function BizTreeApi() {
return null;
};
// 用于生成api文档
/* istanbul ignore next */
var BusinessTreeSelectSelf = exports.BusinessTreeSelectSelf = function BusinessTreeSelectSelf() {
return null;
};