@react-querybuilder/dnd
Advanced tools
Changelog
[v8.7.0] - 2025-05-13
@react-querybuilder/drizzle
package.Changelog
[v8.6.2] - 2025-05-12
@react-querybuilder/material
.Changelog
[v8.6.1] - 2025-05-06
Changelog
[v8.6.0] - 2025-05-05
@react-querybuilder/drizzle
with Drizzle ORM integration.formatQuery
option ruleGroupProcessor
enabling development of custom output formats without completely reimplementing formatQuery
.
formatQuery
and can be used independently or as fallbacks from custom processors.add
, update
, remove
, move
, and group
can now accept a string
or Path
where they previously accepted only Path
-type arguments. A string
would represent the id
property of the subject rule/group, but otherwise the functionality of each tool is the same.findID
returns the rule or group with the given id
property within a query hierarchy (similar to findPath
), and getPathOfID
returns the path
of the rule or group with the given id
.parseSQL
was translating NOT LIKE '[...]'
(no leading or trailing wildcards) to operator: "="
instead of operator: "!="
.react-querybuilder/formatQuery
no longer has a dependency on react
.Changelog
[v8.5.0] - 2025-04-07
autoSelectValue
(documentation) behaves like autoSelectField
/autoSelectOperator
but for the value editor when it renders a select list.
translations
prop object has a new property values
that accepts placeholderName
, placeholderLabel
, and placeholderGroupLabel
properties (documentation). These translatable strings set the default values and labels when autoSelectValue
is set to false
.placeholderValueName
option was added to formatQuery
, which will now ignore rules where the value
matches the placeholder value as long as placeholderValueName
is defined (this behavior differs from placeholderFieldName
and placeholderOperatorName
, which do not need to be defined).translations
option: Map of the words "and", "or", "true", and "false" to their translated equivalents. Also covers prefix and suffix options for rule groups.wordOrder
option: Based on the linguistic concept of constituent word order, this option accepts all permutations of "SVO" ("SOV", "VSO", etc.) and outputs the field, operator, and value in the corresponding order (S = field, V = operator, O = value).operatorMap
option: Map of operators to their natural language equivalents. If the result can differ based on the valueSource
, the key should map to an array where the second element represents the string to be used when valueSource
is "field". The first element will be used in all other cases.@react-querybuilder/datetime
package now supports the "natural_language" format for date-type rules. Formatting can be customized by passing locales
, dateFormat
, or dateTimeFormat
as properties of the context
parameter. These options are passed to a Intl.DateTimeFormat
constructor.react-dnd
and related packages are now obfuscated to discourage bundlers like webpack from pre-processing those imports.Changelog
[v8.4.1] - 2025-03-24
QueryBuilderDndWithoutProvider
on its own now correctly implies enableDragAndDrop={true}
for each descendant QueryBuilder
.Changelog
[v8.4.0] - 2025-03-18
idGenerator
prop is respected for all operations that create new rules or groups.@react-querybuilder/dnd
now supports react-dnd-touch-backend
as a drop-in replacement for react-dnd-html5-backend
. If both are provided, the touch backend will be preferred when a touch device is detected.@react-querybuilder/dnd
. Pressing the <kbd>Ctrl</kbd> key while dragging a rule/group will form a new group at the target path with the target rule/group and the dragged rule/group in its rules
array. Pressing the <kbd>Alt</kbd>/<kbd>⌥ Option</kbd> key at the same time will leave the rule/group in its original location and clone it for the new group.QueryBuilderDnD
component with the copyModeModifierKey
and groupModeModifierKey
props.group
query tool which creates a new group at a target path with its rules
array containing the objects from a source path and the target path.Changelog
[v8.3.1] - 2025-02-27
type-fest
library has been (partially) vendored into react-querybuilder
to avoid requiring it as a dependency.UseMergedContextProps
renamed to UseMergedContextParams
(technically a breaking change, but probably won't affect anyone).Parse*Options
types have been removed from the main export. They are now only available on their respective react-querybuilder/parse*
exports (another technically breaking change that probably won't affect anyone).Changelog
[v8.3.0] - 2025-02-21
generateIDs
for all parse*
methods. When true, the output query object will be processed through prepareRuleGroup
to add id
s.Changelog
[v8.2.0] - 2025-01-28
formatQuery
option operatorProcessor
. Currently only applies to "sql", "parameterized", "parameterized_named", and "natural_language" formats.formatQuery
option preserveValueOrder
. Preserves the order of values when exporting rules with "between"/"notBetween" operators, even if the larger value comes first.formatQuery
"elasticsearch" export format now includes the .value
property when outputting Painless scripts.formatQuery
handles combinator
and operator
values case-insensitively.convertQuery
, convertToIC
, and convertFromIC
now support the "xor" combinator, as does the "natural_language" export format.