Skip to content

Commit dbe34bf

Browse files
committed
Add validator and idGenerator to forwarded function properties
1 parent 59fc302 commit dbe34bf

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

packages/solid-querybuilder/src/reactive/createQueryBuilder.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,8 @@ describe('createQueryBuilder', () => {
477477
['getParameters', () => []],
478478
['getInputType', () => 'text'],
479479
['getSubQueryBuilderProps', () => ({ fields: [] })],
480+
['validator', () => true],
481+
['idGenerator', () => 'generated-id'],
480482
] as [string, () => unknown][])(
481483
'reconfigures when %s appears or disappears, but not when it is merely replaced',
482484
(key, fn) => {

packages/solid-querybuilder/src/reactive/manager-options.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ const forwardedFnProps = [
8383
'getParameters',
8484
'getInputType',
8585
'getSubQueryBuilderProps',
86+
'validator',
87+
'idGenerator',
8688
] as const;
8789

8890
type ForwardedFnProp = (typeof forwardedFnProps)[number];
@@ -159,11 +161,11 @@ export const createManagerOptions = <F extends FullField, O extends FullOperator
159161
disabledPaths: snapshot(disabledPaths()),
160162
queryDisabled: p.disabled === true,
161163
history: true,
162-
validator: p.validator,
163-
idGenerator: p.idGenerator,
164164
// Forwarded so that changes to these props take effect without a reconfigure. `live` returns
165165
// `undefined` for a non-function prop, so the two that also accept a plain name fall back
166166
// to the raw value.
167+
validator: live('validator') as never,
168+
idGenerator: live('idGenerator') as never,
167169
getDefaultField: (live('getDefaultField') ?? p.getDefaultField) as never,
168170
getDefaultOperator: (live('getDefaultOperator') ?? p.getDefaultOperator) as never,
169171
getDefaultValue: live('getDefaultValue') as never,

0 commit comments

Comments
 (0)