@react-awesome-query-builder/antd
Version:
User-friendly query builder for React. AntDesign widgets
54 lines • 1.48 kB
JavaScript
import React from "react";
import { Button } from "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
};
export default (function (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.createElement(Button, {
danger: dangerFor[type] === true,
key: type,
type: typeToType[type] || "default",
icon: icon,
className: typeToClass[type],
onClick: onClick,
size: renderSize,
disabled: readonly
}, btnLabel);
});