@react-awesome-query-builder/fluent
Version:
User-friendly query builder for React. Fluent 8 widgets
76 lines • 2.14 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import React from "react";
import { IconButton, ActionButton, CommandBarButton, DefaultButton } from "@fluentui/react";
var hideLabelsFor = {
"addSubRuleSimple": true,
"delRuleGroup": true,
"delRule": true
// "addSubRule": true,
// "addSubGroup": true,
// "delGroup": true,
};
var useAction = {
"addSubRuleSimple": true
};
var FluentUIButton = function FluentUIButton(props) {
var type = props.type,
label = props.label,
onClick = props.onClick,
readonly = props.readonly,
renderIcon = props.renderIcon,
config = props.config;
var renderBtn;
if (!label || hideLabelsFor[type]) {
renderBtn = function renderBtn(bprops) {
return /*#__PURE__*/React.createElement(IconButton, _extends({
key: type,
onClick: onClick,
disabled: readonly,
color: "primary"
}, bprops));
};
} else if (useAction[type]) {
renderBtn = function renderBtn(bprops) {
return /*#__PURE__*/React.createElement(ActionButton, _extends({
key: type,
onClick: onClick,
disabled: readonly,
text: label
}, bprops));
};
} else {
renderBtn = function renderBtn(bprops) {
return /*#__PURE__*/React.createElement(CommandBarButton, _extends({
key: type,
onClick: onClick,
disabled: readonly,
text: label,
color: "primary",
styles: {
root: {
backgroundColor: "transparent"
}
}
}, bprops));
};
}
var renderDefaultButton = function renderDefaultButton(bprops) {
return /*#__PURE__*/React.createElement(DefaultButton, _extends({
key: type,
onClick: onClick,
disabled: readonly,
text: label,
color: "primary"
}, bprops));
};
var iconProps = {
type: type,
readonly: readonly,
config: config,
renderBtn: renderBtn,
renderDefaultButton: renderDefaultButton
};
var buttonIcon = renderIcon === null || renderIcon === void 0 ? void 0 : renderIcon(iconProps);
return buttonIcon;
};
export default FluentUIButton;