@json-layout/core 2.5.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/state/index.js +12 -11
- package/src/state/state-node.js +19 -13
- package/src/state/state-tree.js +3 -0
- package/src/state/types.ts +5 -2
- package/types/state/index.d.ts.map +1 -1
- package/types/state/state-node.d.ts +2 -1
- package/types/state/state-node.d.ts.map +1 -1
- package/types/state/state-tree.d.ts.map +1 -1
- package/types/state/types.d.ts +5 -2
- package/types/state/types.d.ts.map +1 -1
package/package.json
CHANGED
package/src/state/index.js
CHANGED
|
@@ -107,7 +107,7 @@ export class StatefulLayout {
|
|
|
107
107
|
this._validationState = {
|
|
108
108
|
initialized: validationState.initialized ?? this._validationState.initialized ?? false,
|
|
109
109
|
validatedForm: validationState.validatedForm ?? this._validationState.validatedForm ?? false,
|
|
110
|
-
validatedChildren: validationState.validatedChildren ?? this._validationState.validatedChildren ??
|
|
110
|
+
validatedChildren: validationState.validatedChildren ?? this._validationState.validatedChildren ?? new Set()
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
@@ -221,7 +221,7 @@ export class StatefulLayout {
|
|
|
221
221
|
this._validationState = {
|
|
222
222
|
initialized: initialValidation,
|
|
223
223
|
validatedForm: initialValidation,
|
|
224
|
-
validatedChildren:
|
|
224
|
+
validatedChildren: new Set()
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
|
|
@@ -286,6 +286,7 @@ export class StatefulLayout {
|
|
|
286
286
|
rootData: this._data,
|
|
287
287
|
files: [],
|
|
288
288
|
nodes: [],
|
|
289
|
+
nodesMap: new Map(),
|
|
289
290
|
getItemsDataRequests: [],
|
|
290
291
|
rehydrateErrors: rehydrate ? this._lastCreateStateTreeContext?.errors : undefined
|
|
291
292
|
}
|
|
@@ -307,7 +308,7 @@ export class StatefulLayout {
|
|
|
307
308
|
if (!this.validationState.initialized) {
|
|
308
309
|
this.validationState = {
|
|
309
310
|
initialized: true,
|
|
310
|
-
validatedChildren: createStateTreeContext.nodes.filter(n => n.validated).map(n => n.fullKey)
|
|
311
|
+
validatedChildren: new Set(createStateTreeContext.nodes.filter(n => n.validated).map(n => n.fullKey))
|
|
311
312
|
}
|
|
312
313
|
}
|
|
313
314
|
this.files = shallowProduceArray(this.files, createStateTreeContext.files)
|
|
@@ -367,7 +368,7 @@ export class StatefulLayout {
|
|
|
367
368
|
* @returns {import('../compile/types.js').ParentContextExpression | null}
|
|
368
369
|
*/
|
|
369
370
|
getParentContextExpression (node) {
|
|
370
|
-
const parentNode = this._lastCreateStateTreeContext.
|
|
371
|
+
const parentNode = node.parentFullKey != null && this._lastCreateStateTreeContext.nodesMap.get(node.parentFullKey)
|
|
371
372
|
if (!parentNode) return null
|
|
372
373
|
return {
|
|
373
374
|
parent: this.getParentContextExpression(parentNode),
|
|
@@ -416,8 +417,8 @@ export class StatefulLayout {
|
|
|
416
417
|
data = transformedData
|
|
417
418
|
}
|
|
418
419
|
|
|
419
|
-
if (validated && !this.validationState.validatedChildren.
|
|
420
|
-
this.validationState = { validatedChildren: this.validationState.validatedChildren.
|
|
420
|
+
if (validated && !this.validationState.validatedChildren.has(node.fullKey)) {
|
|
421
|
+
this.validationState = { validatedChildren: new Set(this.validationState.validatedChildren).add(node.fullKey) }
|
|
421
422
|
}
|
|
422
423
|
|
|
423
424
|
if (activateKey !== undefined) {
|
|
@@ -431,7 +432,7 @@ export class StatefulLayout {
|
|
|
431
432
|
this.updateState()
|
|
432
433
|
return
|
|
433
434
|
}
|
|
434
|
-
const parentNode = this._lastCreateStateTreeContext.
|
|
435
|
+
const parentNode = this._lastCreateStateTreeContext.nodesMap.get(node.parentFullKey)
|
|
435
436
|
if (!parentNode) throw new Error(`parent with key "${node.parentFullKey}" not found`)
|
|
436
437
|
const newParentValue = producePatchedData(
|
|
437
438
|
// WARN: this manner of creating empty object or array based on the type of the child key does not seem very safe
|
|
@@ -519,9 +520,9 @@ export class StatefulLayout {
|
|
|
519
520
|
logDataBinding('received blur event from node', node)
|
|
520
521
|
if (
|
|
521
522
|
(node.options.validateOn === 'input' || node.options.validateOn === 'blur') &&
|
|
522
|
-
!this.validationState.validatedChildren.
|
|
523
|
+
!this.validationState.validatedChildren.has(node.fullKey)
|
|
523
524
|
) {
|
|
524
|
-
this.validationState = { validatedChildren: this.validationState.validatedChildren.
|
|
525
|
+
this.validationState = { validatedChildren: new Set(this.validationState.validatedChildren).add(node.fullKey) }
|
|
525
526
|
this.updateState()
|
|
526
527
|
}
|
|
527
528
|
|
|
@@ -536,7 +537,7 @@ export class StatefulLayout {
|
|
|
536
537
|
* @param {StateNode} node
|
|
537
538
|
*/
|
|
538
539
|
validateNodeRecurse (node) {
|
|
539
|
-
this.validationState = { validatedChildren: this.validationState.validatedChildren.
|
|
540
|
+
this.validationState = { validatedChildren: new Set(this.validationState.validatedChildren).add(node.fullKey) }
|
|
540
541
|
if (node.children) {
|
|
541
542
|
for (const child of node.children) {
|
|
542
543
|
this.validateNodeRecurse(child)
|
|
@@ -693,7 +694,7 @@ export class StatefulLayout {
|
|
|
693
694
|
this._autofocusTarget = node.fullKey + '/' + key
|
|
694
695
|
if (node.key === '$oneOf') {
|
|
695
696
|
if (node.layout.emptyData && node.data && typeof node.data === 'object' && node.children?.[0]) {
|
|
696
|
-
const parentNode = this._lastCreateStateTreeContext.
|
|
697
|
+
const parentNode = node.parentFullKey != null && this._lastCreateStateTreeContext.nodesMap.get(node.parentFullKey)
|
|
697
698
|
if (!parentNode) throw new Error(`parent with key "${node.parentFullKey}" not found`)
|
|
698
699
|
if (!parentNode.data || typeof parentNode.data !== 'object') throw new Error(`parent with key "${node.parentFullKey}" is missing data object`)
|
|
699
700
|
/** @type {Record<string, any>} */
|
package/src/state/state-node.js
CHANGED
|
@@ -34,8 +34,8 @@ export const useDefaultData = (data, layout, options) => {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
// use Immer for efficient updating with immutability and no-op detection
|
|
37
|
-
/** @type {(draft: import('./types.js').StateNode, key: string | number, fullKey: string, parentFullKey: string | null, dataPath: string, parentDataPath: string | null, skeleton: import('../index.js').SkeletonNode, layout: import('@json-layout/vocabulary').BaseCompObject, width: number, cols: number, data: unknown, error: string | undefined, validated: boolean, options: import('./types.js').StateNodeOptions, autofocus: boolean, shouldLoadData: boolean, props: import('@json-layout/vocabulary').StateNodePropsLib, slots: import('@json-layout/vocabulary').Slots | undefined, itemsCacheKey: any, children: import('../index.js').StateNode[] | undefined) => import('../index.js').StateNode} */
|
|
38
|
-
const produceStateNode = produce((draft, key, fullKey, parentFullKey, dataPath, parentDataPath, skeleton, layout, width, cols, data, error, validated, options, autofocus, shouldLoadData, props, slots, itemsCacheKey, children) => {
|
|
37
|
+
/** @type {(draft: import('./types.js').StateNode, key: string | number, fullKey: string, parentFullKey: string | null, dataPath: string, parentDataPath: string | null, skeleton: import('../index.js').SkeletonNode, layout: import('@json-layout/vocabulary').BaseCompObject, width: number, cols: number, data: unknown, error: string | undefined, validated: boolean, options: import('./types.js').StateNodeOptions, titleDepth: number, autofocus: boolean, shouldLoadData: boolean, props: import('@json-layout/vocabulary').StateNodePropsLib, slots: import('@json-layout/vocabulary').Slots | undefined, itemsCacheKey: any, children: import('../index.js').StateNode[] | undefined) => import('../index.js').StateNode} */
|
|
38
|
+
const produceStateNode = produce((draft, key, fullKey, parentFullKey, dataPath, parentDataPath, skeleton, layout, width, cols, data, error, validated, options, titleDepth, autofocus, shouldLoadData, props, slots, itemsCacheKey, children) => {
|
|
39
39
|
draft.messages = layout.messages ? produceStateNodeMessages(draft.messages || {}, layout.messages, options) : options.messages
|
|
40
40
|
|
|
41
41
|
draft.key = key
|
|
@@ -47,6 +47,7 @@ const produceStateNode = produce((draft, key, fullKey, parentFullKey, dataPath,
|
|
|
47
47
|
draft.layout = layout
|
|
48
48
|
draft.width = width
|
|
49
49
|
draft.options = options
|
|
50
|
+
draft.titleDepth = titleDepth
|
|
50
51
|
draft.cols = cols
|
|
51
52
|
if (shouldLoadData || (draft.loading && draft.data === data)) draft.loading = true
|
|
52
53
|
else delete draft.loading
|
|
@@ -184,11 +185,6 @@ const produceReadonlyArrayItemOptions = produce((draft) => {
|
|
|
184
185
|
draft.summary = true
|
|
185
186
|
})
|
|
186
187
|
|
|
187
|
-
/** @type {(draft: import('./types.js').StateNodeOptions, section: import('@json-layout/vocabulary').CompositeCompObject) => import('./types.js').StateNodeOptions} */
|
|
188
|
-
const produceCompositeChildrenOptions = produce((draft, section) => {
|
|
189
|
-
if (section.title && draft.titleDepth < 6) draft.titleDepth += 1
|
|
190
|
-
})
|
|
191
|
-
|
|
192
188
|
/**
|
|
193
189
|
* should match if an error belongs to this exact node
|
|
194
190
|
* @param {import('ajv').ErrorObject} error
|
|
@@ -354,6 +350,7 @@ const getCompObject = (normalizedLayout, childDefinition, options, compiledLayou
|
|
|
354
350
|
* @param {any} data
|
|
355
351
|
* @param {import('../compile/types.js').ParentContextExpression | null} parentContext
|
|
356
352
|
* @param {import('./types.js').ValidationState} validationState
|
|
353
|
+
* @param {number} titleDepth
|
|
357
354
|
* @param {import('./types.js').StateNode} [reusedNode]
|
|
358
355
|
* @returns {import('./types.js').StateNode}
|
|
359
356
|
*/
|
|
@@ -372,6 +369,7 @@ export function createStateNode (
|
|
|
372
369
|
data,
|
|
373
370
|
parentContext,
|
|
374
371
|
validationState,
|
|
372
|
+
titleDepth,
|
|
375
373
|
reusedNode
|
|
376
374
|
) {
|
|
377
375
|
logStateNode('createStateNode', fullKey)
|
|
@@ -382,7 +380,7 @@ export function createStateNode (
|
|
|
382
380
|
// NOTE we have to exclude nodes with errors from the cache, because context.errors is unpurely modified
|
|
383
381
|
// TODO: implement a cleaner way to filter context.errors while being able to reuse nodes with errors
|
|
384
382
|
if (skeleton.pure && !reusedNode?.error && !reusedNode?.childError && !parentOptions.noStateCache) {
|
|
385
|
-
const validatedCacheKey = validationState.validatedForm || validationState.validatedChildren.
|
|
383
|
+
const validatedCacheKey = validationState.validatedForm || validationState.validatedChildren.has(fullKey)
|
|
386
384
|
cacheKey = [
|
|
387
385
|
reusedNode,
|
|
388
386
|
parentOptions,
|
|
@@ -396,9 +394,11 @@ export function createStateNode (
|
|
|
396
394
|
context.activatedItems,
|
|
397
395
|
context.initial,
|
|
398
396
|
context.rehydrateErrors?.length ?? 0,
|
|
399
|
-
data
|
|
397
|
+
data,
|
|
398
|
+
titleDepth
|
|
400
399
|
]
|
|
401
|
-
|
|
400
|
+
const hasNewErrors = context.errors?.some(e => matchLocalError(e, skeleton, dataPath, parentDataPath))
|
|
401
|
+
if (!hasNewErrors && reusedNode && context.cacheKeys[fullKey] && shallowEqualArray(context.cacheKeys[fullKey], cacheKey)) {
|
|
402
402
|
logStateNode('createStateNode cache hit', fullKey)
|
|
403
403
|
// @ts-ignore
|
|
404
404
|
if (context._debugCache) context._debugCache[fullKey] = (context._debugCache[fullKey] ?? []).concat(['hit'])
|
|
@@ -456,7 +456,7 @@ export function createStateNode (
|
|
|
456
456
|
/** @type {import('./types.js').StateNode[] | undefined} */
|
|
457
457
|
let children
|
|
458
458
|
if (isCompositeLayout(layout, compiledLayout.components)) {
|
|
459
|
-
const
|
|
459
|
+
const childTitleDepth = (layout.title && titleDepth < 6) ? titleDepth + 1 : titleDepth
|
|
460
460
|
let actualPropertyKeys = skeleton.propertyKeys
|
|
461
461
|
const removePropertyKeys = options.readOnlyPropertiesMode === 'remove' ? skeleton.roPropertyKeys : []
|
|
462
462
|
children = []
|
|
@@ -506,7 +506,7 @@ export function createStateNode (
|
|
|
506
506
|
}
|
|
507
507
|
const child = createStateNode(
|
|
508
508
|
context,
|
|
509
|
-
|
|
509
|
+
options,
|
|
510
510
|
compiledLayout,
|
|
511
511
|
childLayout.key,
|
|
512
512
|
childFullKey,
|
|
@@ -519,6 +519,7 @@ export function createStateNode (
|
|
|
519
519
|
childData,
|
|
520
520
|
{ parent: parentContext, data: objectData },
|
|
521
521
|
validationState,
|
|
522
|
+
childTitleDepth,
|
|
522
523
|
reusedNode?.children?.find(c => c.fullKey === childFullKey)
|
|
523
524
|
)
|
|
524
525
|
if (child.autofocus || child.autofocusChild !== undefined) focusChild = false
|
|
@@ -621,6 +622,7 @@ export function createStateNode (
|
|
|
621
622
|
nodeData,
|
|
622
623
|
{ parent: parentContext, data: nodeData },
|
|
623
624
|
validationState,
|
|
625
|
+
titleDepth,
|
|
624
626
|
reusedNode?.children?.[0]
|
|
625
627
|
)
|
|
626
628
|
// the oneOf was hydrated
|
|
@@ -672,6 +674,7 @@ export function createStateNode (
|
|
|
672
674
|
valueChildData,
|
|
673
675
|
{ parent: parentContext, data: objectData },
|
|
674
676
|
validationState,
|
|
677
|
+
titleDepth,
|
|
675
678
|
reusedNode?.children?.find(c => c.key === childKey)
|
|
676
679
|
)
|
|
677
680
|
if (valueChild.autofocus || valueChild.autofocusChild !== undefined) focusChild = false
|
|
@@ -714,6 +717,7 @@ export function createStateNode (
|
|
|
714
717
|
itemData,
|
|
715
718
|
{ parent: parentContext, data: arrayData },
|
|
716
719
|
validationState,
|
|
720
|
+
titleDepth,
|
|
717
721
|
reusedNode?.children?.[i]
|
|
718
722
|
)
|
|
719
723
|
if (child.autofocus || child.autofocusChild !== undefined) focusChild = false
|
|
@@ -738,6 +742,7 @@ export function createStateNode (
|
|
|
738
742
|
arrayData[i],
|
|
739
743
|
{ parent: parentContext, data: arrayData },
|
|
740
744
|
validationState,
|
|
745
|
+
titleDepth,
|
|
741
746
|
reusedNode?.children?.[i]
|
|
742
747
|
)
|
|
743
748
|
children.push(activeChild)
|
|
@@ -821,7 +826,7 @@ export function createStateNode (
|
|
|
821
826
|
}
|
|
822
827
|
|
|
823
828
|
const validated = validationState.validatedForm ||
|
|
824
|
-
validationState.validatedChildren.
|
|
829
|
+
validationState.validatedChildren.has(fullKey) ||
|
|
825
830
|
(validationState.initialized === false && options.initialValidation === 'always') ||
|
|
826
831
|
(validationState.initialized === false && options.initialValidation === 'withData' && !isDataEmpty(nodeData))
|
|
827
832
|
|
|
@@ -903,6 +908,7 @@ export function createStateNode (
|
|
|
903
908
|
error?.message,
|
|
904
909
|
validated,
|
|
905
910
|
options,
|
|
911
|
+
titleDepth,
|
|
906
912
|
autofocus,
|
|
907
913
|
shouldLoadData,
|
|
908
914
|
props,
|
package/src/state/state-tree.js
CHANGED
|
@@ -105,13 +105,16 @@ export function createStateTree (
|
|
|
105
105
|
data,
|
|
106
106
|
null,
|
|
107
107
|
validationState,
|
|
108
|
+
options.titleDepth,
|
|
108
109
|
reusedStateTree?.root
|
|
109
110
|
)
|
|
110
111
|
|
|
111
112
|
context.nodes = []
|
|
113
|
+
context.nodesMap = new Map()
|
|
112
114
|
context.files = []
|
|
113
115
|
for (const node of traverseNodes(root)) {
|
|
114
116
|
context.nodes.push(node)
|
|
117
|
+
context.nodesMap.set(node.fullKey, node)
|
|
115
118
|
if (node.data instanceof File) {
|
|
116
119
|
context.files.push({ dataPath: node.dataPath, file: node.data })
|
|
117
120
|
}
|
package/src/state/types.ts
CHANGED
|
@@ -48,6 +48,7 @@ export interface StateNode {
|
|
|
48
48
|
validated: boolean
|
|
49
49
|
width: number
|
|
50
50
|
options: StateNodeOptions
|
|
51
|
+
titleDepth: number
|
|
51
52
|
messages: LocaleMessages
|
|
52
53
|
autofocus?: boolean
|
|
53
54
|
loading?: boolean
|
|
@@ -78,6 +79,7 @@ export interface CreateStateTreeContext {
|
|
|
78
79
|
cacheKeys: Record<string, StateNodeCacheKey>
|
|
79
80
|
rootData: unknown
|
|
80
81
|
nodes: StateNode[],
|
|
82
|
+
nodesMap: Map<string, StateNode>,
|
|
81
83
|
getItemsDataRequests: StateNode[]
|
|
82
84
|
}
|
|
83
85
|
|
|
@@ -99,13 +101,14 @@ export type StateNodeCacheKey = [
|
|
|
99
101
|
Record<string, number | string>,
|
|
100
102
|
boolean,
|
|
101
103
|
number,
|
|
102
|
-
unknown
|
|
104
|
+
unknown,
|
|
105
|
+
number
|
|
103
106
|
]
|
|
104
107
|
|
|
105
108
|
export interface ValidationState {
|
|
106
109
|
initialized: boolean
|
|
107
110
|
validatedForm: boolean
|
|
108
|
-
validatedChildren: string
|
|
111
|
+
validatedChildren: Set<string>
|
|
109
112
|
}
|
|
110
113
|
|
|
111
114
|
// StateNodeOptionsBase come from the vocabulary and should contain all node options that can be set in the layout
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":";;AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,mEAAmE;AACnE,wBADW,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,IAAI,WAAW,CACY;AAE3E,iLAAiL;AACjL,0BADW,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,yBAAyB,EAAE,aAAa,CAAC,KAAK,IAAI,IAAI,UAAU,GAAG,YAAY,GAAG,gBAAgB,CAC5E;AAOjG;IAiIE;;;;;OAKG;IACH,4BALW,OAAO,aAAa,EAAE,cAAc,gBACpC,OAAO,aAAa,EAAE,YAAY,WAClC,OAAO,CAAC,qBAAqB,CAAC,SAC9B,OAAO,EAejB;IAnJD;;;;OAIG;IACH,iCAAe;IACf,mEAAqD;IAErD;;;OAGG;IAEH,mBAAU;IACV,gDAA2C;IAE3C;;;OAGG;IACH,uBAFU,OAAO,aAAa,EAAE,YAAY,CAEhC;IAEZ;;;OAGG;IAEH,iBAAQ;IACR,uBAAuC;IAEvC;;;OAGG;IAEH,yBAAgB;IAQhB;;;OAGG;IACH,qCAFW,OAAO,CAAC,OAAO,YAAY,EAAE,eAAe,CAAC,EASvD;IAlBD;;OAEG;IACH,uBAFa,OAAO,YAAY,EAAE,eAAe,CAIhD;IAeD;;;OAGG;IAEH,iBAAQ;IAKR;;OAEG;IACH,qBAFW,OAAO,CAAC,qBAAqB,CAAC,EAMxC;IAXD;;OAEG;IACH,eAFa,qBAAqB,CAEK;IAUvC;;;OAGG;IACH,cAAK;IAEL,wBAIC;IALD,oBAAiC;IAOjC;;;OAGG;IACH,sBAAa;IAEb;;;OAGG;IACH,4BAA2B;IAE3B;;;OAGG;IACH,sBAAoB;IAEpB;;;OAGG;IAEH,oCAA2B;IAE3B;;;OAGG;IACH,yBAAgB;IAChB;;;OAGG;IACH,iCAAwB;IAExB;;OAEG;IACH,OAFU,OAAO,EAAE,CAET;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":"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"}
|
|
@@ -27,10 +27,11 @@ export function evalExpression(expressions: import("../index.js").CompiledExpres
|
|
|
27
27
|
* @param {any} data
|
|
28
28
|
* @param {import('../compile/types.js').ParentContextExpression | null} parentContext
|
|
29
29
|
* @param {import('./types.js').ValidationState} validationState
|
|
30
|
+
* @param {number} titleDepth
|
|
30
31
|
* @param {import('./types.js').StateNode} [reusedNode]
|
|
31
32
|
* @returns {import('./types.js').StateNode}
|
|
32
33
|
*/
|
|
33
|
-
export function createStateNode(context: import("./types.js").CreateStateTreeContext, parentOptions: import("./types.js").StateNodeOptions, compiledLayout: import("../index.js").CompiledLayout, key: string | number, fullKey: string, parentFullKey: string | null, dataPath: string, parentDataPath: string | null, skeleton: import("../index.js").SkeletonNode, childDefinition: import("@json-layout/vocabulary").Child | null, parentDisplay: import("./utils/display.js").Display, data: any, parentContext: import("../compile/types.js").ParentContextExpression | null, validationState: import("./types.js").ValidationState, reusedNode?: import("./types.js").StateNode): import("./types.js").StateNode;
|
|
34
|
+
export function createStateNode(context: import("./types.js").CreateStateTreeContext, parentOptions: import("./types.js").StateNodeOptions, compiledLayout: import("../index.js").CompiledLayout, key: string | number, fullKey: string, parentFullKey: string | null, dataPath: string, parentDataPath: string | null, skeleton: import("../index.js").SkeletonNode, childDefinition: import("@json-layout/vocabulary").Child | null, parentDisplay: import("./utils/display.js").Display, data: any, parentContext: import("../compile/types.js").ParentContextExpression | null, validationState: import("./types.js").ValidationState, titleDepth: number, reusedNode?: import("./types.js").StateNode): import("./types.js").StateNode;
|
|
34
35
|
export function useDefaultData(data: unknown, layout: import("@json-layout/vocabulary").BaseCompObject, options: import("./types.js").StateNodeOptions): boolean;
|
|
35
36
|
/** @type {(draft: any, node: import('./types.js').StateNode, data: unknown) => any} */
|
|
36
37
|
export const producePatchedData: (draft: any, node: import("./types.js").StateNode, data: unknown) => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-node.d.ts","sourceRoot":"","sources":["../../src/state/state-node.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state-node.d.ts","sourceRoot":"","sources":["../../src/state/state-node.js"],"names":[],"mappings":"AA+QA;;;;;;;;;;;GAWG;AACH,4CAXW,OAAO,aAAa,EAAE,kBAAkB,EAAE,cAC1C,OAAO,yBAAyB,EAAE,UAAU,QAC5C,GAAG,WACH,OAAO,YAAY,EAAE,gBAAgB,WACrC,OAAO,oBAAoB,EAAE,OAAO,UACpC,OAAO,yBAAyB,EAAE,cAAc,aAChD,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,gBAAgB,CAAC,YAC9C,OAAO,iBACP,OAAO,qBAAqB,EAAE,uBAAuB,GAAG,IAAI,GAC1D,GAAG,CAsBf;AAiCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yCAlBW,OAAO,YAAY,EAAE,sBAAsB,iBAC3C,OAAO,YAAY,EAAE,gBAAgB,kBACrC,OAAO,aAAa,EAAE,cAAc,OACpC,MAAM,GAAG,MAAM,WACf,MAAM,iBACN,MAAM,GAAG,IAAI,YACb,MAAM,kBACN,MAAM,GAAG,IAAI,YACb,OAAO,aAAa,EAAE,YAAY,mBAClC,OAAO,yBAAyB,EAAE,KAAK,GAAG,IAAI,iBAC9C,OAAO,oBAAoB,EAAE,OAAO,QACpC,GAAG,iBACH,OAAO,qBAAqB,EAAE,uBAAuB,GAAG,IAAI,mBAC5D,OAAO,YAAY,EAAE,eAAe,cACpC,MAAM,eACN,OAAO,YAAY,EAAE,SAAS,GAC5B,OAAO,YAAY,EAAE,SAAS,CA6jB1C;AAl4BM,qCALI,OAAO,UACP,OAAO,yBAAyB,EAAE,cAAc,WAChD,OAAO,YAAY,EAAE,gBAAgB,GACnC,OAAO,CAMnB;AAg4BD,uFAAuF;AACvF,iCADW,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,KAAK,GAAG,CAgBjF;AAEF,kKAAkK;AAClK,8BADW,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,OAAO,yBAAyB,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,yBAAyB,EAAE,WAAW,KAAK,GAAG,CAY7J"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-tree.d.ts","sourceRoot":"","sources":["../../src/state/state-tree.js"],"names":[],"mappings":"AA8BA;;;;;;;;;;GAUG;AACH,yCAVW,OAAO,YAAY,EAAE,sBAAsB,WAC3C,OAAO,YAAY,EAAE,qBAAqB,kBAC1C,OAAO,aAAa,EAAE,cAAc,YACpC,OAAO,aAAa,EAAE,YAAY,WAClC,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,mBACP,OAAO,YAAY,EAAE,eAAe,oBACpC,OAAO,YAAY,EAAE,SAAS,GAC5B,OAAO,YAAY,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"state-tree.d.ts","sourceRoot":"","sources":["../../src/state/state-tree.js"],"names":[],"mappings":"AA8BA;;;;;;;;;;GAUG;AACH,yCAVW,OAAO,YAAY,EAAE,sBAAsB,WAC3C,OAAO,YAAY,EAAE,qBAAqB,kBAC1C,OAAO,aAAa,EAAE,cAAc,YACpC,OAAO,aAAa,EAAE,YAAY,WAClC,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,mBACP,OAAO,YAAY,EAAE,eAAe,oBACpC,OAAO,YAAY,EAAE,SAAS,GAC5B,OAAO,YAAY,EAAE,SAAS,CAoF1C"}
|
package/types/state/types.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export interface StateNode {
|
|
|
17
17
|
validated: boolean;
|
|
18
18
|
width: number;
|
|
19
19
|
options: StateNodeOptions;
|
|
20
|
+
titleDepth: number;
|
|
20
21
|
messages: LocaleMessages;
|
|
21
22
|
autofocus?: boolean;
|
|
22
23
|
loading?: boolean;
|
|
@@ -45,6 +46,7 @@ export interface CreateStateTreeContext {
|
|
|
45
46
|
cacheKeys: Record<string, StateNodeCacheKey>;
|
|
46
47
|
rootData: unknown;
|
|
47
48
|
nodes: StateNode[];
|
|
49
|
+
nodesMap: Map<string, StateNode>;
|
|
48
50
|
getItemsDataRequests: StateNode[];
|
|
49
51
|
}
|
|
50
52
|
export interface FileRef {
|
|
@@ -64,12 +66,13 @@ export type StateNodeCacheKey = [
|
|
|
64
66
|
Record<string, number | string>,
|
|
65
67
|
boolean,
|
|
66
68
|
number,
|
|
67
|
-
unknown
|
|
69
|
+
unknown,
|
|
70
|
+
number
|
|
68
71
|
];
|
|
69
72
|
export interface ValidationState {
|
|
70
73
|
initialized: boolean;
|
|
71
74
|
validatedForm: boolean;
|
|
72
|
-
validatedChildren: string
|
|
75
|
+
validatedChildren: Set<string>;
|
|
73
76
|
}
|
|
74
77
|
export type StateNodeOptions = Required<StateNodeOptionsBase & {
|
|
75
78
|
context: Record<string, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"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"}
|