@hitachivantara/uikit-react-core
Version:
UI Kit Core React components.
42 lines (41 loc) • 1.12 kB
JavaScript
import { HvDropdown } from "../../Dropdown/Dropdown.js";
import { useQueryBuilderContext } from "../Context.js";
import { isBigList } from "../utils/index.js";
import { jsx } from "react/jsx-runtime";
//#region src/QueryBuilder/Value/BooleanValue.tsx
var BooleanValue = ({ id, value = true }) => {
const { labels, dispatchAction, readOnly } = useQueryBuilderContext();
const values = ["true", "false"].map((v) => ({
id: v,
label: labels.rule.value.boolean.options[v],
selected: value === (v === "true")
}));
return /* @__PURE__ */ jsx(HvDropdown, {
required: true,
status: "valid",
singleSelectionToggle: false,
label: labels.rule.value.boolean.label,
placeholder: labels.rule.value.boolean.placeholder,
values,
readOnly,
onChange: (selected) => {
if (selected?.id) dispatchAction({
type: "set-value",
id,
value: selected.id === "true"
});
else dispatchAction({
type: "set-value",
id,
value: null
});
},
showSearch: isBigList(values),
...isBigList(values) && {
virtualized: true,
height: 300
}
});
};
//#endregion
export { BooleanValue };