tea-material-pro-table
Version:
Tea ProTable
39 lines (38 loc) • 1.54 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
exports.useAddons = void 0;
var react_1 = require("react");
var lodash_omit_1 = __importDefault(require("lodash.omit"));
var constants_1 = require("../constants");
/** 对插件与 tea 的适配 */
function useAddons(addons) {
return react_1.useMemo(function () {
return (addons || []).map(function (addon) {
var _a;
var props = lodash_omit_1["default"](addon, ['type']);
/** 筛选需要处理下 */
if (addon.type === 'singleFilterable') {
return constants_1.ADDONS_MAPPING[addon.type](__assign({ type: 'single' }, props));
}
if (addon.type === 'multipleFilterable') {
return constants_1.ADDONS_MAPPING[addon.type](__assign({ type: 'multiple' }, props));
}
return (_a = constants_1.ADDONS_MAPPING[addon.type]) === null || _a === void 0 ? void 0 : _a(__assign({}, props));
});
}, [addons]);
}
exports.useAddons = useAddons;