@react-awesome-query-builder/antd
Version:
User-friendly query builder for React. AntDesign widgets
61 lines (60 loc) • 1.75 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _antd = require("antd");
var hideLabelsFor = {
"addSubRuleSimple": true,
"delGroup": true,
"delRuleGroup": true,
"delRule": true
};
var typeToClass = {
"addRule": "action action--ADD-RULE",
"addGroup": "action action--ADD-GROUP",
"delRule": "action action--DELETE",
"delGroup": "action action--DELETE",
"delRuleGroup": "action action--DELETE",
"addSubRuleSimple": "action action--ADD-RULE",
"addSubRule": "action action--ADD-RULE",
"addSubGroup": "action action--ADD-GROUP"
};
var typeToType = {
"delRule": "text"
// "delGroup": "default",
// "delRuleGroup": "default",
};
var dangerFor = {
"delRule": true,
"delGroup": true,
"delRuleGroup": true
};
var _default = exports["default"] = function _default(props) {
var type = props.type,
onClick = props.onClick,
label = props.label,
readonly = props.readonly,
config = props.config,
renderIcon = props.renderIcon;
var renderSize = config.settings.renderSize;
var iconProps = {
type: type,
readonly: readonly,
config: config
};
var icon = renderIcon === null || renderIcon === void 0 ? void 0 : renderIcon(iconProps);
var btnLabel = hideLabelsFor[type] ? "" : label;
return /*#__PURE__*/_react["default"].createElement(_antd.Button, {
danger: dangerFor[type] === true,
key: type,
type: typeToType[type] || "default",
icon: icon,
className: typeToClass[type],
onClick: onClick,
size: renderSize,
disabled: readonly
}, btnLabel);
};