@getodk/xforms-engine 0.3.0 → 0.4.0
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/dist/client/BaseNode.d.ts +1 -2
- package/dist/client/EngineConfig.d.ts +0 -1
- package/dist/client/GroupNode.d.ts +2 -3
- package/dist/client/ModelValueNode.d.ts +1 -2
- package/dist/client/NodeAppearances.d.ts +1 -2
- package/dist/client/NoteNode.d.ts +2 -3
- package/dist/client/RootNode.d.ts +2 -3
- package/dist/client/SelectNode.d.ts +2 -3
- package/dist/client/StringNode.d.ts +2 -3
- package/dist/client/SubtreeNode.d.ts +1 -2
- package/dist/client/TextRange.d.ts +3 -4
- package/dist/client/TriggerNode.d.ts +25 -0
- package/dist/client/constants.d.ts +0 -1
- package/dist/client/hierarchy.d.ts +7 -3
- package/dist/client/index.d.ts +0 -1
- package/dist/client/node-types.d.ts +2 -1
- package/dist/client/repeat/BaseRepeatRangeNode.d.ts +1 -2
- package/dist/client/repeat/RepeatInstanceNode.d.ts +2 -3
- package/dist/client/repeat/RepeatRangeControlledNode.d.ts +1 -2
- package/dist/client/repeat/RepeatRangeUncontrolledNode.d.ts +1 -2
- package/dist/client/unsupported/RangeNode.d.ts +9 -0
- package/dist/client/unsupported/RankNode.d.ts +9 -0
- package/dist/client/unsupported/UnsupportedControlNode.d.ts +32 -0
- package/dist/client/unsupported/UploadNode.d.ts +9 -0
- package/dist/client/validation.d.ts +0 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.js +39029 -37441
- package/dist/index.js.map +1 -1
- package/dist/instance/Group.d.ts +0 -1
- package/dist/instance/ModelValue.d.ts +1 -2
- package/dist/instance/Note.d.ts +1 -2
- package/dist/instance/Root.d.ts +3 -4
- package/dist/instance/SelectField.d.ts +3 -4
- package/dist/instance/StringField.d.ts +2 -3
- package/dist/instance/Subtree.d.ts +0 -1
- package/dist/instance/TriggerControl.d.ts +40 -0
- package/dist/instance/abstract/DescendantNode.d.ts +4 -5
- package/dist/instance/abstract/InstanceNode.d.ts +1 -2
- package/dist/instance/abstract/UnsupportedControl.d.ts +46 -0
- package/dist/instance/children.d.ts +0 -1
- package/dist/instance/hierarchy.d.ts +9 -5
- package/dist/instance/index.d.ts +0 -1
- package/dist/instance/internal-api/EvaluationContext.d.ts +0 -1
- package/dist/instance/internal-api/InstanceConfig.d.ts +0 -1
- package/dist/instance/internal-api/SubscribableDependency.d.ts +0 -1
- package/dist/instance/internal-api/TranslationContext.d.ts +0 -1
- package/dist/instance/internal-api/ValidationContext.d.ts +11 -4
- package/dist/instance/internal-api/ValueContext.d.ts +3 -4
- package/dist/instance/repeat/BaseRepeatRange.d.ts +1 -2
- package/dist/instance/repeat/RepeatInstance.d.ts +0 -1
- package/dist/instance/repeat/RepeatRangeControlled.d.ts +1 -2
- package/dist/instance/repeat/RepeatRangeUncontrolled.d.ts +1 -2
- package/dist/instance/resource.d.ts +0 -1
- package/dist/instance/text/TextChunk.d.ts +0 -1
- package/dist/instance/text/TextRange.d.ts +0 -1
- package/dist/instance/unsupported/RangeControl.d.ts +4 -0
- package/dist/instance/unsupported/RankControl.d.ts +4 -0
- package/dist/instance/unsupported/UploadControl.d.ts +4 -0
- package/dist/lib/TokenListParser.d.ts +3 -3
- package/dist/lib/dom/query.d.ts +1 -2
- package/dist/lib/reactivity/createChildrenState.d.ts +0 -1
- package/dist/lib/reactivity/createComputedExpression.d.ts +1 -2
- package/dist/lib/reactivity/createNoteReadonlyThunk.d.ts +2 -3
- package/dist/lib/reactivity/createSelectItems.d.ts +0 -1
- package/dist/lib/reactivity/createValueState.d.ts +0 -1
- package/dist/lib/reactivity/materializeCurrentStateChildren.d.ts +0 -1
- package/dist/lib/reactivity/node-state/createClientState.d.ts +0 -1
- package/dist/lib/reactivity/node-state/createCurrentState.d.ts +0 -1
- package/dist/lib/reactivity/node-state/createEngineState.d.ts +0 -1
- package/dist/lib/reactivity/node-state/createSharedNodeState.d.ts +0 -1
- package/dist/lib/reactivity/node-state/createSpecifiedPropertyDescriptor.d.ts +0 -1
- package/dist/lib/reactivity/node-state/createSpecifiedState.d.ts +0 -1
- package/dist/lib/reactivity/node-state/representations.d.ts +0 -1
- package/dist/lib/reactivity/scope.d.ts +0 -1
- package/dist/lib/reactivity/text/createFieldHint.d.ts +1 -2
- package/dist/lib/reactivity/text/createNodeLabel.d.ts +1 -2
- package/dist/lib/reactivity/text/createNoteText.d.ts +1 -2
- package/dist/lib/reactivity/text/createTextRange.d.ts +0 -1
- package/dist/lib/reactivity/types.d.ts +0 -1
- package/dist/lib/reactivity/validation/createAggregatedViolations.d.ts +0 -1
- package/dist/lib/reactivity/validation/createValidation.d.ts +0 -1
- package/dist/{XFormDOM.d.ts → parse/XFormDOM.d.ts} +1 -2
- package/dist/{XFormDataType.d.ts → parse/XFormDataType.d.ts} +2 -4
- package/dist/{XFormDefinition.d.ts → parse/XFormDefinition.d.ts} +2 -3
- package/dist/{body → parse/body}/BodyDefinition.d.ts +15 -10
- package/dist/{body → parse/body}/BodyElementDefinition.d.ts +7 -7
- package/dist/{body → parse/body}/RepeatElementDefinition.d.ts +3 -4
- package/dist/{body → parse/body}/UnsupportedBodyElementDefinition.d.ts +0 -1
- package/dist/{body → parse/body}/appearance/inputAppearanceParser.d.ts +1 -2
- package/dist/{body → parse/body}/appearance/selectAppearanceParser.d.ts +1 -2
- package/dist/{body → parse/body}/appearance/structureElementAppearanceParser.d.ts +1 -2
- package/dist/parse/body/appearance/unknownAppearanceParser.d.ts +3 -0
- package/dist/{body → parse/body}/control/ControlDefinition.d.ts +3 -4
- package/dist/{body → parse/body}/control/InputDefinition.d.ts +1 -2
- package/dist/parse/body/control/RangeControlDefinition.d.ts +11 -0
- package/dist/parse/body/control/RankControlDefinition.d.ts +11 -0
- package/dist/parse/body/control/TriggerControlDefinition.d.ts +11 -0
- package/dist/parse/body/control/UploadControlDefinition.d.ts +11 -0
- package/dist/{body → parse/body}/control/select/ItemDefinition.d.ts +2 -3
- package/dist/{body → parse/body}/control/select/ItemsetDefinition.d.ts +4 -5
- package/dist/{body → parse/body}/control/select/ItemsetNodesetContext.d.ts +2 -3
- package/dist/{body → parse/body}/control/select/SelectDefinition.d.ts +3 -12
- package/dist/{body → parse/body}/group/BaseGroupDefinition.d.ts +3 -5
- package/dist/{body → parse/body}/group/LogicalGroupDefinition.d.ts +0 -1
- package/dist/{body → parse/body}/group/PresentationGroupDefinition.d.ts +1 -2
- package/dist/{body → parse/body}/group/StructuralGroupDefinition.d.ts +0 -1
- package/dist/{model/BindComputation.d.ts → parse/expression/BindComputationExpression.d.ts} +5 -6
- package/dist/{body/control/select → parse/expression}/ItemsetNodesetExpression.d.ts +2 -3
- package/dist/{body/control/select → parse/expression}/ItemsetValueExpression.d.ts +2 -3
- package/dist/parse/expression/RepeatCountControlExpression.d.ts +2 -3
- package/dist/parse/expression/TextLiteralExpression.d.ts +9 -0
- package/dist/parse/expression/TextOutputExpression.d.ts +7 -0
- package/dist/parse/expression/TextReferenceExpression.d.ts +7 -0
- package/dist/parse/expression/TextTranslationExpression.d.ts +8 -0
- package/dist/{expression → parse/expression/abstract}/DependencyContext.d.ts +0 -1
- package/dist/{expression → parse/expression/abstract}/DependentExpression.d.ts +2 -3
- package/dist/parse/expression/abstract/TextChunkExpression.d.ts +17 -0
- package/dist/parse/model/BindDefinition.d.ts +39 -0
- package/dist/{model → parse/model}/DescendentNodeDefinition.d.ts +0 -1
- package/dist/{model → parse/model}/LeafNodeDefinition.d.ts +1 -2
- package/dist/{model → parse/model}/ModelBindMap.d.ts +0 -1
- package/dist/{model → parse/model}/ModelDefinition.d.ts +1 -2
- package/dist/{model → parse/model}/NodeDefinition.d.ts +0 -1
- package/dist/parse/{NoteNodeDefinition.d.ts → model/NoteNodeDefinition.d.ts} +8 -9
- package/dist/{model → parse/model}/RepeatInstanceDefinition.d.ts +1 -2
- package/dist/{model → parse/model}/RepeatRangeDefinition.d.ts +2 -3
- package/dist/{model → parse/model}/RepeatTemplateDefinition.d.ts +2 -3
- package/dist/{model → parse/model}/RootDefinition.d.ts +2 -3
- package/dist/{model → parse/model}/SubtreeDefinition.d.ts +1 -2
- package/dist/parse/text/HintDefinition.d.ts +2 -3
- package/dist/parse/text/ItemLabelDefinition.d.ts +2 -3
- package/dist/parse/text/ItemsetLabelDefinition.d.ts +3 -4
- package/dist/parse/text/LabelDefinition.d.ts +5 -6
- package/dist/parse/text/MessageDefinition.d.ts +4 -5
- package/dist/parse/text/abstract/TextElementDefinition.d.ts +8 -9
- package/dist/parse/text/abstract/TextRangeDefinition.d.ts +5 -6
- package/dist/parse/xpath/path-resolution.d.ts +0 -1
- package/dist/parse/xpath/predicate-analysis.d.ts +0 -1
- package/dist/parse/xpath/reference-parsing.d.ts +0 -1
- package/dist/parse/xpath/semantic-analysis.d.ts +0 -1
- package/dist/parse/xpath/syntax-traversal.d.ts +0 -1
- package/dist/solid.js +6849 -5247
- package/dist/solid.js.map +1 -1
- package/package.json +11 -11
- package/src/client/BaseNode.ts +1 -1
- package/src/client/GroupNode.ts +2 -2
- package/src/client/ModelValueNode.ts +1 -1
- package/src/client/NodeAppearances.ts +1 -1
- package/src/client/NoteNode.ts +2 -2
- package/src/client/RootNode.ts +2 -2
- package/src/client/SelectNode.ts +2 -2
- package/src/client/StringNode.ts +2 -2
- package/src/client/SubtreeNode.ts +1 -1
- package/src/client/TextRange.ts +4 -5
- package/src/client/TriggerNode.ts +29 -0
- package/src/client/hierarchy.ts +13 -1
- package/src/client/node-types.ts +9 -1
- package/src/client/repeat/BaseRepeatRangeNode.ts +1 -1
- package/src/client/repeat/RepeatInstanceNode.ts +2 -2
- package/src/client/repeat/RepeatRangeControlledNode.ts +1 -1
- package/src/client/repeat/RepeatRangeUncontrolledNode.ts +1 -1
- package/src/client/unsupported/RangeNode.ts +14 -0
- package/src/client/unsupported/RankNode.ts +14 -0
- package/src/client/unsupported/UnsupportedControlNode.ts +40 -0
- package/src/client/unsupported/UploadNode.ts +14 -0
- package/src/index.ts +6 -1
- package/src/instance/ModelValue.ts +2 -2
- package/src/instance/Note.ts +2 -2
- package/src/instance/Root.ts +7 -3
- package/src/instance/SelectField.ts +6 -6
- package/src/instance/StringField.ts +3 -3
- package/src/instance/TriggerControl.ts +134 -0
- package/src/instance/abstract/DescendantNode.ts +4 -4
- package/src/instance/abstract/InstanceNode.ts +9 -1
- package/src/instance/abstract/UnsupportedControl.ts +151 -0
- package/src/instance/children.ts +75 -5
- package/src/instance/hierarchy.ts +22 -4
- package/src/instance/index.ts +1 -1
- package/src/instance/internal-api/EvaluationContext.ts +1 -1
- package/src/instance/internal-api/ValidationContext.ts +12 -3
- package/src/instance/internal-api/ValueContext.ts +3 -3
- package/src/instance/repeat/BaseRepeatRange.ts +1 -1
- package/src/instance/repeat/RepeatRangeControlled.ts +1 -1
- package/src/instance/repeat/RepeatRangeUncontrolled.ts +1 -1
- package/src/instance/unsupported/RangeControl.ts +5 -0
- package/src/instance/unsupported/RankControl.ts +5 -0
- package/src/instance/unsupported/UploadControl.ts +5 -0
- package/src/lib/TokenListParser.ts +11 -7
- package/src/lib/dom/query.ts +1 -1
- package/src/lib/reactivity/createComputedExpression.ts +3 -3
- package/src/lib/reactivity/createNoteReadonlyThunk.ts +2 -2
- package/src/lib/reactivity/createSelectItems.ts +3 -3
- package/src/lib/reactivity/createValueState.ts +3 -3
- package/src/lib/reactivity/node-state/createSpecifiedState.ts +1 -1
- package/src/lib/reactivity/text/createFieldHint.ts +1 -1
- package/src/lib/reactivity/text/createNodeLabel.ts +1 -1
- package/src/lib/reactivity/text/createNoteText.ts +1 -1
- package/src/lib/reactivity/text/createTextRange.ts +4 -4
- package/src/lib/reactivity/validation/createAggregatedViolations.ts +8 -3
- package/src/lib/reactivity/validation/createValidation.ts +1 -1
- package/src/{XFormDataType.ts → parse/XFormDataType.ts} +1 -3
- package/src/{XFormDefinition.ts → parse/XFormDefinition.ts} +2 -2
- package/src/{body → parse/body}/BodyDefinition.ts +44 -27
- package/src/{body → parse/body}/BodyElementDefinition.ts +12 -6
- package/src/{body → parse/body}/RepeatElementDefinition.ts +7 -5
- package/src/{body → parse/body}/appearance/inputAppearanceParser.ts +1 -1
- package/src/{body → parse/body}/appearance/selectAppearanceParser.ts +1 -1
- package/src/{body → parse/body}/appearance/structureElementAppearanceParser.ts +1 -1
- package/src/parse/body/appearance/unknownAppearanceParser.ts +5 -0
- package/src/{body → parse/body}/control/ControlDefinition.ts +4 -4
- package/src/parse/body/control/RangeControlDefinition.ts +26 -0
- package/src/parse/body/control/RankControlDefinition.ts +27 -0
- package/src/parse/body/control/TriggerControlDefinition.ts +26 -0
- package/src/parse/body/control/UploadControlDefinition.ts +26 -0
- package/src/{body → parse/body}/control/select/ItemDefinition.ts +2 -2
- package/src/{body → parse/body}/control/select/ItemsetDefinition.ts +5 -5
- package/src/{body → parse/body}/control/select/ItemsetNodesetContext.ts +2 -2
- package/src/{body → parse/body}/control/select/SelectDefinition.ts +3 -11
- package/src/{body → parse/body}/group/BaseGroupDefinition.ts +11 -22
- package/src/{body → parse/body}/group/PresentationGroupDefinition.ts +1 -1
- package/src/{model/BindComputation.ts → parse/expression/BindComputationExpression.ts} +8 -8
- package/src/{body/control/select → parse/expression}/ItemsetNodesetExpression.ts +2 -2
- package/src/{body/control/select → parse/expression}/ItemsetValueExpression.ts +2 -2
- package/src/parse/expression/RepeatCountControlExpression.ts +2 -2
- package/src/parse/expression/TextLiteralExpression.ts +19 -0
- package/src/parse/{text/OutputChunkDefinition.ts → expression/TextOutputExpression.ts} +4 -4
- package/src/parse/{text/ReferenceChunkDefinition.ts → expression/TextReferenceExpression.ts} +4 -4
- package/src/parse/{text/TranslationChunkDefinition.ts → expression/TextTranslationExpression.ts} +4 -4
- package/src/{expression → parse/expression/abstract}/DependentExpression.ts +4 -4
- package/src/parse/expression/abstract/TextChunkExpression.ts +38 -0
- package/src/{model → parse/model}/BindDefinition.ts +23 -22
- package/src/parse/{NoteNodeDefinition.ts → model/NoteNodeDefinition.ts} +9 -9
- package/src/{model → parse/model}/RepeatRangeDefinition.ts +1 -1
- package/src/{model → parse/model}/RootDefinition.ts +2 -2
- package/src/parse/text/HintDefinition.ts +2 -2
- package/src/parse/text/ItemLabelDefinition.ts +2 -2
- package/src/parse/text/ItemsetLabelDefinition.ts +7 -7
- package/src/parse/text/LabelDefinition.ts +5 -5
- package/src/parse/text/MessageDefinition.ts +7 -7
- package/src/parse/text/abstract/TextElementDefinition.ts +14 -14
- package/src/parse/text/abstract/TextRangeDefinition.ts +5 -5
- package/dist/model/BindDefinition.d.ts +0 -34
- package/dist/parse/text/OutputChunkDefinition.d.ts +0 -8
- package/dist/parse/text/ReferenceChunkDefinition.d.ts +0 -8
- package/dist/parse/text/StaticTextChunkDefinition.d.ts +0 -10
- package/dist/parse/text/TranslationChunkDefinition.d.ts +0 -9
- package/dist/parse/text/abstract/TextChunkDefinition.d.ts +0 -18
- package/src/parse/TODO.md +0 -3
- package/src/parse/text/StaticTextChunkDefinition.ts +0 -19
- package/src/parse/text/abstract/TextChunkDefinition.ts +0 -38
- package/dist/{model → parse/model}/BindElement.d.ts +0 -0
- package/src/{XFormDOM.ts → parse/XFormDOM.ts} +0 -0
- package/src/{body → parse/body}/UnsupportedBodyElementDefinition.ts +0 -0
- package/src/{body → parse/body}/control/InputDefinition.ts +1 -1
- /package/src/{body → parse/body}/group/LogicalGroupDefinition.ts +0 -0
- /package/src/{body → parse/body}/group/StructuralGroupDefinition.ts +0 -0
- /package/src/{expression → parse/expression/abstract}/DependencyContext.ts +0 -0
- /package/src/{model → parse/model}/BindElement.ts +0 -0
- /package/src/{model → parse/model}/DescendentNodeDefinition.ts +0 -0
- /package/src/{model → parse/model}/LeafNodeDefinition.ts +0 -0
- /package/src/{model → parse/model}/ModelBindMap.ts +0 -0
- /package/src/{model → parse/model}/ModelDefinition.ts +0 -0
- /package/src/{model → parse/model}/NodeDefinition.ts +0 -0
- /package/src/{model → parse/model}/RepeatInstanceDefinition.ts +0 -0
- /package/src/{model → parse/model}/RepeatTemplateDefinition.ts +0 -0
- /package/src/{model → parse/model}/SubtreeDefinition.ts +0 -0
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { AnyNodeDefinition } from '../model/NodeDefinition.ts';
|
|
1
|
+
import { AnyNodeDefinition } from '../parse/model/NodeDefinition.ts';
|
|
2
2
|
import { NodeAppearances } from './NodeAppearances.ts';
|
|
3
3
|
import { TextRange } from './TextRange.ts';
|
|
4
4
|
import { InstanceNodeType } from './node-types.ts';
|
|
5
5
|
import { NodeValidationState } from './validation.ts';
|
|
6
|
-
|
|
7
6
|
export interface BaseNodeState {
|
|
8
7
|
/**
|
|
9
8
|
* Location path reference to the node's primary instance state. This property
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { AnyGroupElementDefinition } from '../body/BodyDefinition.ts';
|
|
2
|
-
import { SubtreeDefinition } from '../model/SubtreeDefinition.ts';
|
|
1
|
+
import { AnyGroupElementDefinition } from '../parse/body/BodyDefinition.ts';
|
|
2
|
+
import { SubtreeDefinition } from '../parse/model/SubtreeDefinition.ts';
|
|
3
3
|
import { BaseNode, BaseNodeState } from './BaseNode.ts';
|
|
4
4
|
import { NodeAppearances } from './NodeAppearances.ts';
|
|
5
5
|
import { RootNode } from './RootNode.ts';
|
|
6
6
|
import { GeneralChildNode, GeneralParentNode } from './hierarchy.ts';
|
|
7
7
|
import { AncestorNodeValidationState } from './validation.ts';
|
|
8
|
-
|
|
9
8
|
export interface GroupNodeState extends BaseNodeState {
|
|
10
9
|
get hint(): null;
|
|
11
10
|
get children(): readonly GeneralChildNode[];
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { LeafNodeDefinition } from '../model/LeafNodeDefinition.ts';
|
|
1
|
+
import { LeafNodeDefinition } from '../parse/model/LeafNodeDefinition.ts';
|
|
2
2
|
import { BaseNode, BaseNodeState } from './BaseNode.ts';
|
|
3
3
|
import { GeneralParentNode } from './hierarchy.ts';
|
|
4
4
|
import { RootNode } from './RootNode.ts';
|
|
5
5
|
import { LeafNodeValidationState } from './validation.ts';
|
|
6
|
-
|
|
7
6
|
export interface ModelValueNodeState extends BaseNodeState {
|
|
8
7
|
get label(): null;
|
|
9
8
|
get hint(): null;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ParsedTokenList } from '../lib/TokenListParser.ts';
|
|
2
|
-
import { NodeDefinition } from '../model/NodeDefinition.ts';
|
|
3
|
-
|
|
2
|
+
import { NodeDefinition } from '../parse/model/NodeDefinition.ts';
|
|
4
3
|
/**
|
|
5
4
|
* - Provides a means to distinguish between internal and client-facing names
|
|
6
5
|
* for the same {@link ParsedTokenList} types.
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { InputDefinition } from '../body/control/InputDefinition.ts';
|
|
2
|
-
import { LeafNodeDefinition } from '../model/LeafNodeDefinition.ts';
|
|
1
|
+
import { InputDefinition } from '../parse/body/control/InputDefinition.ts';
|
|
2
|
+
import { LeafNodeDefinition } from '../parse/model/LeafNodeDefinition.ts';
|
|
3
3
|
import { BaseNode, BaseNodeState } from './BaseNode.ts';
|
|
4
4
|
import { GeneralParentNode } from './hierarchy.ts';
|
|
5
5
|
import { NodeAppearances } from './NodeAppearances.ts';
|
|
6
6
|
import { RootNode } from './RootNode.ts';
|
|
7
7
|
import { TextRange } from './TextRange.ts';
|
|
8
8
|
import { LeafNodeValidationState } from './validation.ts';
|
|
9
|
-
|
|
10
9
|
export interface NoteNodeState extends BaseNodeState {
|
|
11
10
|
/**
|
|
12
11
|
* Note-specific specialization: a note will always have a non-null value in
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { BodyClassList } from '../body/BodyDefinition.ts';
|
|
2
|
-
import { RootDefinition } from '../model/RootDefinition.ts';
|
|
1
|
+
import { BodyClassList } from '../parse/body/BodyDefinition.ts';
|
|
2
|
+
import { RootDefinition } from '../parse/model/RootDefinition.ts';
|
|
3
3
|
import { BaseNode, BaseNodeState } from './BaseNode.ts';
|
|
4
4
|
import { ActiveLanguage, FormLanguage, FormLanguages } from './FormLanguage.ts';
|
|
5
5
|
import { GeneralChildNode } from './hierarchy.ts';
|
|
6
6
|
import { AncestorNodeValidationState } from './validation.ts';
|
|
7
|
-
|
|
8
7
|
export interface RootNodeState extends BaseNodeState {
|
|
9
8
|
/**
|
|
10
9
|
* This, along with {@link RootNode.languages} is the most significant break
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { AnySelectDefinition } from '../body/control/select/SelectDefinition.ts';
|
|
2
|
-
import { LeafNodeDefinition } from '../model/LeafNodeDefinition.ts';
|
|
1
|
+
import { AnySelectDefinition } from '../parse/body/control/select/SelectDefinition.ts';
|
|
2
|
+
import { LeafNodeDefinition } from '../parse/model/LeafNodeDefinition.ts';
|
|
3
3
|
import { BaseNode, BaseNodeState } from './BaseNode.ts';
|
|
4
4
|
import { NodeAppearances } from './NodeAppearances.ts';
|
|
5
5
|
import { RootNode } from './RootNode.ts';
|
|
6
6
|
import { TextRange } from './TextRange.ts';
|
|
7
7
|
import { GeneralParentNode } from './hierarchy.ts';
|
|
8
8
|
import { LeafNodeValidationState } from './validation.ts';
|
|
9
|
-
|
|
10
9
|
export interface SelectItem {
|
|
11
10
|
get value(): string;
|
|
12
11
|
get label(): TextRange<'item-label'> | null;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { InputDefinition } from '../body/control/InputDefinition.ts';
|
|
2
|
-
import { LeafNodeDefinition } from '../model/LeafNodeDefinition.ts';
|
|
1
|
+
import { InputDefinition } from '../parse/body/control/InputDefinition.ts';
|
|
2
|
+
import { LeafNodeDefinition } from '../parse/model/LeafNodeDefinition.ts';
|
|
3
3
|
import { BaseNode, BaseNodeState } from './BaseNode.ts';
|
|
4
4
|
import { NodeAppearances } from './NodeAppearances.ts';
|
|
5
5
|
import { RootNode } from './RootNode.ts';
|
|
6
6
|
import { GeneralParentNode } from './hierarchy.ts';
|
|
7
7
|
import { LeafNodeValidationState } from './validation.ts';
|
|
8
|
-
|
|
9
8
|
export interface StringNodeState extends BaseNodeState {
|
|
10
9
|
get children(): null;
|
|
11
10
|
get valueOptions(): null;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { SubtreeDefinition as BaseSubtreeDefinition } from '../model/SubtreeDefinition.ts';
|
|
1
|
+
import { SubtreeDefinition as BaseSubtreeDefinition } from '../parse/model/SubtreeDefinition.ts';
|
|
2
2
|
import { BaseNode, BaseNodeState } from './BaseNode.ts';
|
|
3
3
|
import { RootNode } from './RootNode.ts';
|
|
4
4
|
import { GeneralChildNode, GeneralParentNode } from './hierarchy.ts';
|
|
5
5
|
import { AncestorNodeValidationState } from './validation.ts';
|
|
6
|
-
|
|
7
6
|
export interface SubtreeNodeState extends BaseNodeState {
|
|
8
7
|
get label(): null;
|
|
9
8
|
get hint(): null;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ActiveLanguage } from './FormLanguage.ts';
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
3
|
* **COMMENTARY**
|
|
5
4
|
*
|
|
@@ -23,7 +22,7 @@ import { ActiveLanguage } from './FormLanguage.ts';
|
|
|
23
22
|
* Here, `is-translation-expr()` is a fictional shorthand for checking
|
|
24
23
|
* that the attribute's value is a valid `jr:itext(...)` FunctionCall
|
|
25
24
|
* expression. Note that, per spec, these attributes **do not accept
|
|
26
|
-
* arbitrary XPath expressions**! The non-translation case is
|
|
25
|
+
* arbitrary XPath expressions**! The non-translation case is treated as
|
|
27
26
|
* static text, not parsed for e.g. an XPath [string] Literal expression.
|
|
28
27
|
* This is why we have introduced this 'translation' case, distinct from
|
|
29
28
|
* 'reference', which previously handled translated labels and hints.
|
|
@@ -33,7 +32,7 @@ import { ActiveLanguage } from './FormLanguage.ts';
|
|
|
33
32
|
*
|
|
34
33
|
* - `h:body//label/@ref[is-translation-expr()]`
|
|
35
34
|
*
|
|
36
|
-
* - '
|
|
35
|
+
* - 'literal':
|
|
37
36
|
* - `h:head//bind/@jr:constraintMsg[not(is-translation-expr())]`
|
|
38
37
|
* - `h:head//bind/@jr:requiredMsg[not(is-translation-expr())]`
|
|
39
38
|
* - `h:body//label/text()`
|
|
@@ -57,7 +56,7 @@ import { ActiveLanguage } from './FormLanguage.ts';
|
|
|
57
56
|
* package, and the engine doesn't really deal with itext translations at the
|
|
58
57
|
* node level at all).
|
|
59
58
|
*/
|
|
60
|
-
export type TextChunkSource = '
|
|
59
|
+
export type TextChunkSource = 'literal' | 'output' | 'reference' | 'translation';
|
|
61
60
|
/**
|
|
62
61
|
* @todo This (and everything else to do with {@link TextRange}s is for
|
|
63
62
|
* illustration purposes, as a starting point where any particular detail is of
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { UnknownAppearanceDefinition } from '../parse/body/appearance/unknownAppearanceParser.ts';
|
|
2
|
+
import { TriggerControlDefinition } from '../parse/body/control/TriggerControlDefinition.ts';
|
|
3
|
+
import { LeafNodeDefinition } from '../parse/model/LeafNodeDefinition.ts';
|
|
4
|
+
import { BaseNode, BaseNodeState } from './BaseNode.ts';
|
|
5
|
+
import { GeneralParentNode } from './hierarchy.ts';
|
|
6
|
+
import { RootNode } from './RootNode.ts';
|
|
7
|
+
import { LeafNodeValidationState } from './validation.ts';
|
|
8
|
+
export interface TriggerNodeState extends BaseNodeState {
|
|
9
|
+
get children(): null;
|
|
10
|
+
get valueOptions(): null;
|
|
11
|
+
get value(): boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface TriggerNodeDefinition extends LeafNodeDefinition {
|
|
14
|
+
readonly bodyElement: TriggerControlDefinition;
|
|
15
|
+
}
|
|
16
|
+
export interface TriggerNode extends BaseNode {
|
|
17
|
+
readonly nodeType: 'trigger';
|
|
18
|
+
readonly definition: TriggerNodeDefinition;
|
|
19
|
+
readonly appearances: UnknownAppearanceDefinition;
|
|
20
|
+
readonly root: RootNode;
|
|
21
|
+
readonly parent: GeneralParentNode;
|
|
22
|
+
readonly currentState: TriggerNodeState;
|
|
23
|
+
readonly validationState: LeafNodeValidationState;
|
|
24
|
+
setValue(value: boolean): RootNode;
|
|
25
|
+
}
|
|
@@ -9,9 +9,13 @@ import { RootNode } from './RootNode.ts';
|
|
|
9
9
|
import { SelectNode } from './SelectNode.ts';
|
|
10
10
|
import { StringNode } from './StringNode.ts';
|
|
11
11
|
import { SubtreeNode } from './SubtreeNode.ts';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
import { TriggerNode } from './TriggerNode.ts';
|
|
13
|
+
import { RangeNode } from './unsupported/RangeNode.ts';
|
|
14
|
+
import { RankNode } from './unsupported/RankNode.ts';
|
|
15
|
+
import { UploadNode } from './unsupported/UploadNode.ts';
|
|
16
|
+
export type AnyUnsupportedControlNode = RangeNode | RankNode | UploadNode;
|
|
17
|
+
export type AnyControlNode = NoteNode | SelectNode | StringNode | TriggerNode;
|
|
18
|
+
export type AnyLeafNode = AnyControlNode | AnyUnsupportedControlNode | ModelValueNode;
|
|
15
19
|
export type RepeatRangeNode = RepeatRangeControlledNode | RepeatRangeUncontrolledNode;
|
|
16
20
|
/**
|
|
17
21
|
* Any of the concrete node types which may be a parent of non-repeat instance
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
export type UnsupportedControlNodeType = 'range' | 'rank' | 'upload';
|
|
1
2
|
export type RepeatRangeNodeType = 'repeat-range:controlled' | 'repeat-range:uncontrolled';
|
|
2
|
-
export type InstanceNodeType = 'root' | RepeatRangeNodeType | 'repeat-instance' | 'group' | 'subtree' | 'model-value' | 'note' | 'select' | 'string';
|
|
3
|
+
export type InstanceNodeType = 'root' | RepeatRangeNodeType | 'repeat-instance' | 'group' | 'subtree' | 'model-value' | 'note' | 'select' | 'string' | 'trigger' | UnsupportedControlNodeType;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyRepeatRangeDefinition } from '../../model/RepeatRangeDefinition.ts';
|
|
1
|
+
import { AnyRepeatRangeDefinition } from '../../parse/model/RepeatRangeDefinition.ts';
|
|
2
2
|
import { BaseNode, BaseNodeState } from '../BaseNode.ts';
|
|
3
3
|
import { NodeAppearances } from '../NodeAppearances.ts';
|
|
4
4
|
import { RootNode } from '../RootNode.ts';
|
|
@@ -7,7 +7,6 @@ import { GeneralParentNode } from '../hierarchy.ts';
|
|
|
7
7
|
import { RepeatRangeNodeType } from '../node-types.ts';
|
|
8
8
|
import { AncestorNodeValidationState } from '../validation.ts';
|
|
9
9
|
import { RepeatInstanceNode } from './RepeatInstanceNode.ts';
|
|
10
|
-
|
|
11
10
|
export interface BaseRepeatRangeNodeState extends BaseNodeState {
|
|
12
11
|
get hint(): null;
|
|
13
12
|
get label(): TextRange<'label'> | null;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { RepeatInstanceDefinition } from '../../model/RepeatInstanceDefinition.ts';
|
|
2
|
-
import { RepeatTemplateDefinition } from '../../model/RepeatTemplateDefinition.ts';
|
|
1
|
+
import { RepeatInstanceDefinition } from '../../parse/model/RepeatInstanceDefinition.ts';
|
|
2
|
+
import { RepeatTemplateDefinition } from '../../parse/model/RepeatTemplateDefinition.ts';
|
|
3
3
|
import { BaseNode, BaseNodeState } from '../BaseNode.ts';
|
|
4
4
|
import { GeneralChildNode, RepeatRangeNode } from '../hierarchy.ts';
|
|
5
5
|
import { NodeAppearances } from '../NodeAppearances.ts';
|
|
6
6
|
import { RootNode } from '../RootNode.ts';
|
|
7
7
|
import { AncestorNodeValidationState } from '../validation.ts';
|
|
8
|
-
|
|
9
8
|
export interface RepeatInstanceNodeState extends BaseNodeState {
|
|
10
9
|
get hint(): null;
|
|
11
10
|
get children(): readonly GeneralChildNode[];
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ControlledRepeatRangeDefinition } from '../../model/RepeatRangeDefinition.ts';
|
|
1
|
+
import { ControlledRepeatRangeDefinition } from '../../parse/model/RepeatRangeDefinition.ts';
|
|
2
2
|
import { BaseRepeatRangeNode, BaseRepeatRangeNodeState } from './BaseRepeatRangeNode.ts';
|
|
3
|
-
|
|
4
3
|
/**
|
|
5
4
|
* {@inheritDoc BaseRepeatRangeNodeState}
|
|
6
5
|
* @see {@link BaseRepeatRangeNodeState}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { UncontrolledRepeatRangeDefinition } from '../../model/RepeatRangeDefinition.ts';
|
|
1
|
+
import { UncontrolledRepeatRangeDefinition } from '../../parse/model/RepeatRangeDefinition.ts';
|
|
2
2
|
import { RootNode } from '../RootNode.ts';
|
|
3
3
|
import { BaseRepeatRangeNode, BaseRepeatRangeNodeState } from './BaseRepeatRangeNode.ts';
|
|
4
|
-
|
|
5
4
|
/**
|
|
6
5
|
* {@inheritDoc BaseRepeatRangeNodeState}
|
|
7
6
|
* @see {@link BaseRepeatRangeNodeState}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RangeControlDefinition } from '../../parse/body/control/RangeControlDefinition.ts';
|
|
2
|
+
import { UnsupportedControlDefinition, UnsupportedControlNode } from './UnsupportedControlNode.ts';
|
|
3
|
+
export interface RangeNodeDefinition extends UnsupportedControlDefinition {
|
|
4
|
+
readonly bodyElement: RangeControlDefinition;
|
|
5
|
+
}
|
|
6
|
+
export interface RangeNode extends UnsupportedControlNode {
|
|
7
|
+
readonly nodeType: 'range';
|
|
8
|
+
readonly definition: RangeNodeDefinition;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RankControlDefinition } from '../../parse/body/control/RankControlDefinition.ts';
|
|
2
|
+
import { UnsupportedControlDefinition, UnsupportedControlNode } from './UnsupportedControlNode.ts';
|
|
3
|
+
export interface RankNodeDefinition extends UnsupportedControlDefinition {
|
|
4
|
+
readonly bodyElement: RankControlDefinition;
|
|
5
|
+
}
|
|
6
|
+
export interface RankNode extends UnsupportedControlNode {
|
|
7
|
+
readonly nodeType: 'rank';
|
|
8
|
+
readonly definition: RankNodeDefinition;
|
|
9
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { UnknownAppearanceDefinition } from '../../parse/body/appearance/unknownAppearanceParser.ts';
|
|
2
|
+
import { RangeControlDefinition } from '../../parse/body/control/RangeControlDefinition.ts';
|
|
3
|
+
import { RankControlDefinition } from '../../parse/body/control/RankControlDefinition.ts';
|
|
4
|
+
import { UploadControlDefinition } from '../../parse/body/control/UploadControlDefinition.ts';
|
|
5
|
+
import { LeafNodeDefinition } from '../../parse/model/LeafNodeDefinition.ts';
|
|
6
|
+
import { BaseNode, BaseNodeState } from '../BaseNode.ts';
|
|
7
|
+
import { RootNode } from '../RootNode.ts';
|
|
8
|
+
import { GeneralParentNode } from '../hierarchy.ts';
|
|
9
|
+
import { UnsupportedControlNodeType } from '../node-types.ts';
|
|
10
|
+
import { LeafNodeValidationState } from '../validation.ts';
|
|
11
|
+
export interface UnsupportedControlNodeState extends BaseNodeState {
|
|
12
|
+
get children(): null;
|
|
13
|
+
get valueOptions(): unknown;
|
|
14
|
+
get value(): unknown;
|
|
15
|
+
}
|
|
16
|
+
export type UnsupportedControlElementDefinition = RangeControlDefinition | RankControlDefinition | UploadControlDefinition;
|
|
17
|
+
export interface UnsupportedControlDefinition extends LeafNodeDefinition {
|
|
18
|
+
readonly bodyElement: UnsupportedControlElementDefinition;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Stub node, for form controls pending further engine support.
|
|
22
|
+
*/
|
|
23
|
+
export interface UnsupportedControlNode extends BaseNode {
|
|
24
|
+
readonly nodeType: UnsupportedControlNodeType;
|
|
25
|
+
readonly appearances: UnknownAppearanceDefinition;
|
|
26
|
+
readonly definition: UnsupportedControlDefinition;
|
|
27
|
+
readonly root: RootNode;
|
|
28
|
+
readonly parent: GeneralParentNode;
|
|
29
|
+
readonly currentState: UnsupportedControlNodeState;
|
|
30
|
+
readonly validationState: LeafNodeValidationState;
|
|
31
|
+
setValue?(value: never): never;
|
|
32
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UploadControlDefinition } from '../../parse/body/control/UploadControlDefinition.ts';
|
|
2
|
+
import { UnsupportedControlDefinition, UnsupportedControlNode } from './UnsupportedControlNode.ts';
|
|
3
|
+
export interface UploadNodeDefinition extends UnsupportedControlDefinition {
|
|
4
|
+
readonly bodyElement: UploadControlDefinition;
|
|
5
|
+
}
|
|
6
|
+
export interface UploadNode extends UnsupportedControlNode {
|
|
7
|
+
readonly nodeType: 'upload';
|
|
8
|
+
readonly definition: UploadNodeDefinition;
|
|
9
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { InitializeForm } from './index.ts';
|
|
2
|
-
|
|
3
2
|
export declare const initializeForm: InitializeForm;
|
|
4
3
|
export * as constants from './client/constants.ts';
|
|
5
4
|
export type * from './client/EngineConfig.ts';
|
|
6
5
|
export type * from './client/FormLanguage.ts';
|
|
7
6
|
export type * from './client/GroupNode.ts';
|
|
8
|
-
export type { AnyChildNode, AnyControlNode, AnyLeafNode, AnyNode, AnyParentNode, GeneralChildNode, GeneralParentNode, RepeatRangeNode, } from './client/hierarchy.ts';
|
|
7
|
+
export type { AnyChildNode, AnyControlNode, AnyLeafNode, AnyNode, AnyParentNode, AnyUnsupportedControlNode, GeneralChildNode, GeneralParentNode, RepeatRangeNode, } from './client/hierarchy.ts';
|
|
9
8
|
export type * from './client/index.ts';
|
|
10
9
|
export type * from './client/ModelValueNode.ts';
|
|
11
10
|
export type * from './client/NoteNode.ts';
|
|
@@ -18,5 +17,9 @@ export type * from './client/SelectNode.ts';
|
|
|
18
17
|
export type * from './client/StringNode.ts';
|
|
19
18
|
export type * from './client/SubtreeNode.ts';
|
|
20
19
|
export type * from './client/TextRange.ts';
|
|
20
|
+
export type * from './client/TriggerNode.ts';
|
|
21
|
+
export type * from './client/unsupported/RangeNode.ts';
|
|
22
|
+
export type * from './client/unsupported/RankNode.ts';
|
|
23
|
+
export type * from './client/unsupported/UploadNode.ts';
|
|
21
24
|
export type * from './client/validation.ts';
|
|
22
|
-
export type { AnySelectDefinition, SelectDefinition, } from './body/control/select/SelectDefinition.ts';
|
|
25
|
+
export type { AnySelectDefinition, SelectDefinition, } from './parse/body/control/select/SelectDefinition.ts';
|