@getodk/xforms-engine 0.3.0 → 0.5.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 +15 -5
- package/dist/client/BaseValueNode.d.ts +32 -0
- package/dist/client/EngineConfig.d.ts +49 -49
- package/dist/client/GroupNode.d.ts +2 -3
- package/dist/client/InputNode.d.ts +53 -0
- package/dist/client/ModelValueNode.d.ts +13 -9
- package/dist/client/NodeAppearances.d.ts +1 -2
- package/dist/client/NoteNode.d.ts +3 -4
- package/dist/client/RootNode.d.ts +36 -10
- package/dist/client/SelectNode.d.ts +4 -5
- 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/ValueType.d.ts +3 -0
- package/dist/client/constants.d.ts +50 -1
- package/dist/client/hierarchy.d.ts +9 -5
- package/dist/client/identity.d.ts +14 -0
- package/dist/client/index.d.ts +0 -1
- package/dist/client/node-types.d.ts +3 -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/resources.d.ts +93 -0
- package/dist/client/submission/SubmissionData.d.ts +7 -0
- package/dist/client/submission/SubmissionDefinition.d.ts +14 -0
- package/dist/client/submission/SubmissionInstanceFile.d.ts +6 -0
- package/dist/client/submission/SubmissionOptions.d.ts +23 -0
- package/dist/client/submission/SubmissionResult.d.ts +91 -0
- package/dist/client/submission/SubmissionState.d.ts +12 -0
- 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 +2 -3
- package/dist/error/ErrorProductionDesignPendingError.d.ts +7 -0
- package/dist/error/ValueTypeInvariantError.d.ts +17 -0
- package/dist/error/XPathFunctionalityError.d.ts +14 -0
- package/dist/error/XPathFunctionalityNotSupportedError.d.ts +7 -0
- package/dist/error/XPathFunctionalityPendingError.d.ts +7 -0
- package/dist/index.d.ts +16 -4
- package/dist/index.js +8559 -4700
- package/dist/index.js.map +1 -1
- package/dist/instance/Group.d.ts +9 -5
- package/dist/instance/InputControl.d.ts +36 -0
- package/dist/instance/ModelValue.d.ts +16 -27
- package/dist/instance/Note.d.ts +11 -5
- package/dist/instance/PrimaryInstance.d.ts +84 -0
- package/dist/instance/Root.d.ts +31 -28
- package/dist/instance/SelectField.d.ts +13 -6
- package/dist/instance/Subtree.d.ts +10 -6
- package/dist/instance/TriggerControl.d.ts +47 -0
- package/dist/instance/abstract/DescendantNode.d.ts +33 -26
- package/dist/instance/abstract/InstanceNode.d.ts +50 -31
- package/dist/instance/abstract/UnsupportedControl.d.ts +53 -0
- package/dist/instance/abstract/ValueNode.d.ts +48 -0
- package/dist/instance/children.d.ts +0 -1
- package/dist/instance/hierarchy.d.ts +13 -8
- package/dist/instance/identity.d.ts +2 -7
- package/dist/instance/index.d.ts +0 -1
- package/dist/instance/internal-api/EvaluationContext.d.ts +53 -13
- package/dist/instance/internal-api/InstanceConfig.d.ts +8 -3
- package/dist/instance/internal-api/InstanceValueContext.d.ts +20 -0
- package/dist/instance/internal-api/PrimaryInstanceDocument.d.ts +36 -0
- package/dist/instance/internal-api/TranslationContext.d.ts +3 -3
- package/dist/instance/internal-api/ValidationContext.d.ts +12 -6
- package/dist/instance/internal-api/ValueContext.d.ts +5 -5
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableInstance.d.ts +14 -0
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.d.ts +31 -0
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableParentNode.d.ts +18 -0
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableValueNode.d.ts +17 -0
- package/dist/instance/repeat/BaseRepeatRange.d.ts +40 -85
- package/dist/instance/repeat/RepeatInstance.d.ts +11 -30
- package/dist/instance/repeat/RepeatRangeControlled.d.ts +3 -4
- package/dist/instance/repeat/RepeatRangeUncontrolled.d.ts +3 -4
- package/dist/instance/resource.d.ts +1 -2
- package/dist/instance/text/TextChunk.d.ts +0 -1
- package/dist/instance/text/TextRange.d.ts +1 -2
- package/dist/instance/unsupported/RangeControl.d.ts +6 -0
- package/dist/instance/unsupported/RankControl.d.ts +6 -0
- package/dist/instance/unsupported/UploadControl.d.ts +6 -0
- package/dist/integration/xpath/EngineXPathEvaluator.d.ts +14 -0
- package/dist/integration/xpath/adapter/XFormsXPathNode.d.ts +71 -0
- package/dist/integration/xpath/adapter/engineDOMAdapter.d.ts +5 -0
- package/dist/integration/xpath/adapter/kind.d.ts +32 -0
- package/dist/integration/xpath/adapter/names.d.ts +16 -0
- package/dist/integration/xpath/adapter/traversal.d.ts +25 -0
- package/dist/integration/xpath/adapter/values.d.ts +2 -0
- package/dist/integration/xpath/static-dom/StaticAttribute.d.ts +19 -0
- package/dist/integration/xpath/static-dom/StaticDocument.d.ts +16 -0
- package/dist/integration/xpath/static-dom/StaticElement.d.ts +40 -0
- package/dist/integration/xpath/static-dom/StaticNamedNode.d.ts +17 -0
- package/dist/integration/xpath/static-dom/StaticNode.d.ts +33 -0
- package/dist/integration/xpath/static-dom/StaticText.d.ts +16 -0
- package/dist/lib/TokenListParser.d.ts +3 -3
- package/dist/lib/client-reactivity/submission/createInstanceSubmissionState.d.ts +3 -0
- package/dist/lib/client-reactivity/submission/createLeafNodeSubmissionState.d.ts +3 -0
- package/dist/lib/client-reactivity/submission/createNodeRangeSubmissionState.d.ts +4 -0
- package/dist/lib/client-reactivity/submission/createParentNodeSubmissionState.d.ts +4 -0
- package/dist/lib/client-reactivity/submission/createValueNodeSubmissionState.d.ts +3 -0
- package/dist/lib/client-reactivity/submission/prepareSubmission.d.ts +8 -0
- package/dist/lib/codecs/DecimalValueCodec.d.ts +6 -0
- package/dist/lib/codecs/IntValueCodec.d.ts +6 -0
- package/dist/lib/codecs/StringValueCodec.d.ts +4 -0
- package/dist/lib/codecs/ValueCodec.d.ts +30 -0
- package/dist/lib/codecs/ValueTypePlaceholderCodec.d.ts +12 -0
- package/dist/lib/codecs/getSharedValueCodec.d.ts +47 -0
- package/dist/lib/dom/query.d.ts +4 -2
- package/dist/lib/reactivity/createChildrenState.d.ts +7 -6
- package/dist/lib/reactivity/createComputedExpression.d.ts +19 -7
- package/dist/lib/reactivity/createInstanceValueState.d.ts +40 -0
- package/dist/lib/reactivity/createNoteReadonlyThunk.d.ts +2 -3
- package/dist/lib/reactivity/createSelectItems.d.ts +0 -1
- package/dist/lib/reactivity/createTranslationState.d.ts +19 -0
- package/dist/lib/reactivity/createValueState.d.ts +6 -11
- package/dist/lib/reactivity/materializeCurrentStateChildren.d.ts +4 -5
- 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/lib/xml-serialization.d.ts +41 -0
- package/dist/parse/XFormDOM.d.ts +42 -0
- package/dist/{XFormDefinition.d.ts → parse/XFormDefinition.d.ts} +3 -5
- package/dist/parse/attachments/FormAttachmentResource.d.ts +27 -0
- package/dist/{body → parse/body}/BodyDefinition.d.ts +16 -11
- 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/parse/body/appearance/inputAppearanceParser.d.ts +3 -0
- 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/control/InputDefinition.d.ts → parse/body/control/InputControlDefinition.d.ts} +2 -3
- 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 +1 -4
- 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/parse/expression/abstract/DependencyContext.d.ts +7 -0
- package/dist/{expression → parse/expression/abstract}/DependentExpression.d.ts +4 -6
- package/dist/parse/expression/abstract/TextChunkExpression.d.ts +17 -0
- package/dist/parse/model/BindDefinition.d.ts +38 -0
- package/dist/parse/model/BindTypeDefinition.d.ts +20 -0
- package/dist/{model → parse/model}/DescendentNodeDefinition.d.ts +0 -2
- package/dist/parse/model/FormSubmissionDefinition.d.ts +8 -0
- package/dist/parse/model/ItextTranslation/ItextTranslationDefinition.d.ts +4 -0
- package/dist/parse/model/ItextTranslation/ItextTranslationRootDefinition.d.ts +8 -0
- package/dist/parse/model/ItextTranslation/ItextTranslationsDefinition.d.ts +8 -0
- package/dist/{model → parse/model}/LeafNodeDefinition.d.ts +4 -3
- package/dist/{model → parse/model}/ModelBindMap.d.ts +1 -2
- package/dist/{model → parse/model}/ModelDefinition.d.ts +3 -2
- package/dist/{model → parse/model}/NodeDefinition.d.ts +0 -2
- package/dist/parse/{NoteNodeDefinition.d.ts → model/NoteNodeDefinition.d.ts} +12 -13
- 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 +5 -5
- package/dist/parse/model/SecondaryInstance/SecondaryInstanceDefinition.d.ts +4 -0
- package/dist/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.d.ts +7 -0
- package/dist/parse/model/SecondaryInstance/SecondaryInstancesDefinition.d.ts +13 -0
- package/dist/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.d.ts +14 -0
- package/dist/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.d.ts +22 -0
- package/dist/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceResource.d.ts +23 -0
- package/dist/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceSource.d.ts +9 -0
- package/dist/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.d.ts +5 -0
- package/dist/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.d.ts +7 -0
- package/dist/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.d.ts +13 -0
- package/dist/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.d.ts +12 -0
- package/dist/{model → parse/model}/SubtreeDefinition.d.ts +1 -2
- package/dist/parse/shared/parseStaticDocumentFromDOMSubtree.d.ts +24 -0
- 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 +4 -7
- 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 +5 -1
- package/dist/parse/xpath/syntax-traversal.d.ts +0 -1
- package/dist/solid.js +8398 -4543
- package/dist/solid.js.map +1 -1
- package/package.json +14 -12
- package/src/client/BaseNode.ts +17 -7
- package/src/client/BaseValueNode.ts +35 -0
- package/src/client/EngineConfig.ts +52 -51
- package/src/client/GroupNode.ts +2 -2
- package/src/client/InputNode.ts +77 -0
- package/src/client/ModelValueNode.ts +31 -8
- package/src/client/NodeAppearances.ts +1 -1
- package/src/client/NoteNode.ts +3 -3
- package/src/client/RootNode.ts +39 -9
- package/src/client/SelectNode.ts +5 -5
- package/src/client/SubtreeNode.ts +1 -1
- package/src/client/TextRange.ts +4 -5
- package/src/client/TriggerNode.ts +29 -0
- package/src/client/ValueType.ts +4 -0
- package/src/client/constants.ts +67 -0
- package/src/client/hierarchy.ts +16 -4
- package/src/client/identity.ts +16 -0
- package/src/client/node-types.ts +19 -5
- 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/resources.ts +118 -0
- package/src/client/submission/SubmissionData.ts +12 -0
- package/src/client/submission/SubmissionDefinition.ts +16 -0
- package/src/client/submission/SubmissionInstanceFile.ts +9 -0
- package/src/client/submission/SubmissionOptions.ts +28 -0
- package/src/client/submission/SubmissionResult.ts +124 -0
- package/src/client/submission/SubmissionState.ts +14 -0
- 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/client/validation.ts +2 -2
- package/src/error/ErrorProductionDesignPendingError.ts +6 -0
- package/src/error/ValueTypeInvariantError.ts +22 -0
- package/src/error/XPathFunctionalityError.ts +26 -0
- package/src/error/XPathFunctionalityNotSupportedError.ts +18 -0
- package/src/error/XPathFunctionalityPendingError.ts +18 -0
- package/src/index.ts +16 -2
- package/src/instance/Group.ts +17 -5
- package/src/instance/InputControl.ts +119 -0
- package/src/instance/ModelValue.ts +47 -54
- package/src/instance/Note.ts +26 -10
- package/src/instance/PrimaryInstance.ts +244 -0
- package/src/instance/Root.ts +64 -132
- package/src/instance/SelectField.ts +62 -25
- package/src/instance/Subtree.ts +19 -7
- package/src/instance/{StringField.ts → TriggerControl.ts} +61 -30
- package/src/instance/abstract/DescendantNode.ts +92 -47
- package/src/instance/abstract/InstanceNode.ts +104 -98
- package/src/instance/abstract/UnsupportedControl.ts +174 -0
- package/src/instance/abstract/ValueNode.ts +127 -0
- package/src/instance/children.ts +83 -14
- package/src/instance/hierarchy.ts +36 -14
- package/src/instance/identity.ts +3 -9
- package/src/instance/index.ts +26 -8
- package/src/instance/internal-api/EvaluationContext.ts +61 -14
- package/src/instance/internal-api/InstanceConfig.ts +9 -2
- package/src/instance/internal-api/InstanceValueContext.ts +24 -0
- package/src/instance/internal-api/PrimaryInstanceDocument.ts +53 -0
- package/src/instance/internal-api/TranslationContext.ts +3 -2
- package/src/instance/internal-api/ValidationContext.ts +13 -5
- package/src/instance/internal-api/ValueContext.ts +5 -4
- package/src/instance/internal-api/submission/ClientReactiveSubmittableInstance.ts +20 -0
- package/src/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.ts +42 -0
- package/src/instance/internal-api/submission/ClientReactiveSubmittableParentNode.ts +25 -0
- package/src/instance/internal-api/submission/ClientReactiveSubmittableValueNode.ts +23 -0
- package/src/instance/repeat/BaseRepeatRange.ts +51 -132
- package/src/instance/repeat/RepeatInstance.ts +20 -46
- package/src/instance/repeat/RepeatRangeControlled.ts +6 -6
- package/src/instance/repeat/RepeatRangeUncontrolled.ts +3 -5
- package/src/instance/resource.ts +1 -1
- package/src/instance/text/TextChunk.ts +1 -1
- package/src/instance/unsupported/RangeControl.ts +9 -0
- package/src/instance/unsupported/RankControl.ts +9 -0
- package/src/instance/unsupported/UploadControl.ts +9 -0
- package/src/integration/xpath/EngineXPathEvaluator.ts +22 -0
- package/src/integration/xpath/adapter/XFormsXPathNode.ts +126 -0
- package/src/integration/xpath/adapter/engineDOMAdapter.ts +57 -0
- package/src/integration/xpath/adapter/kind.ts +114 -0
- package/src/integration/xpath/adapter/names.ts +99 -0
- package/src/integration/xpath/adapter/traversal.ts +228 -0
- package/src/integration/xpath/adapter/values.ts +5 -0
- package/src/integration/xpath/static-dom/StaticAttribute.ts +33 -0
- package/src/integration/xpath/static-dom/StaticDocument.ts +38 -0
- package/src/integration/xpath/static-dom/StaticElement.ts +106 -0
- package/src/integration/xpath/static-dom/StaticNamedNode.ts +45 -0
- package/src/integration/xpath/static-dom/StaticNode.ts +68 -0
- package/src/integration/xpath/static-dom/StaticText.ts +28 -0
- package/src/lib/TokenListParser.ts +11 -7
- package/src/lib/client-reactivity/README.md +0 -0
- package/src/lib/client-reactivity/submission/createInstanceSubmissionState.ts +12 -0
- package/src/lib/client-reactivity/submission/createLeafNodeSubmissionState.ts +20 -0
- package/src/lib/client-reactivity/submission/createNodeRangeSubmissionState.ts +17 -0
- package/src/lib/client-reactivity/submission/createParentNodeSubmissionState.ts +22 -0
- package/src/lib/client-reactivity/submission/createValueNodeSubmissionState.ts +21 -0
- package/src/lib/client-reactivity/submission/prepareSubmission.ts +172 -0
- package/src/lib/codecs/DecimalValueCodec.ts +46 -0
- package/src/lib/codecs/IntValueCodec.ts +100 -0
- package/src/lib/codecs/StringValueCodec.ts +11 -0
- package/src/lib/codecs/ValueCodec.ts +106 -0
- package/src/lib/codecs/ValueTypePlaceholderCodec.ts +19 -0
- package/src/lib/codecs/getSharedValueCodec.ts +77 -0
- package/src/lib/dom/query.ts +8 -1
- package/src/lib/reactivity/createChildrenState.ts +8 -6
- package/src/lib/reactivity/createComputedExpression.ts +59 -36
- package/src/lib/reactivity/createInstanceValueState.ts +166 -0
- package/src/lib/reactivity/createNoteReadonlyThunk.ts +12 -7
- package/src/lib/reactivity/createSelectItems.ts +23 -23
- package/src/lib/reactivity/createTranslationState.ts +61 -0
- package/src/lib/reactivity/createValueState.ts +64 -122
- package/src/lib/reactivity/materializeCurrentStateChildren.ts +7 -7
- 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 +8 -7
- package/src/lib/reactivity/validation/createAggregatedViolations.ts +9 -4
- package/src/lib/reactivity/validation/createValidation.ts +2 -3
- package/src/lib/xml-serialization.ts +96 -0
- package/src/{XFormDOM.ts → parse/XFormDOM.ts} +110 -75
- package/src/{XFormDefinition.ts → parse/XFormDefinition.ts} +3 -8
- package/src/parse/attachments/FormAttachmentResource.ts +40 -0
- package/src/{body → parse/body}/BodyDefinition.ts +46 -29
- 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 +2 -2
- 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/{body/control/InputDefinition.ts → parse/body/control/InputControlDefinition.ts} +3 -5
- 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 +1 -6
- 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}/DependencyContext.ts +0 -26
- package/src/{expression → parse/expression/abstract}/DependentExpression.ts +5 -16
- package/src/parse/expression/abstract/TextChunkExpression.ts +38 -0
- package/src/parse/model/BindDefinition.ts +104 -0
- package/src/parse/model/BindTypeDefinition.ts +175 -0
- package/src/{model → parse/model}/DescendentNodeDefinition.ts +0 -6
- package/src/parse/model/FormSubmissionDefinition.ts +44 -0
- package/src/parse/model/ItextTranslation/ItextTranslationDefinition.ts +4 -0
- package/src/parse/model/ItextTranslation/ItextTranslationRootDefinition.ts +41 -0
- package/src/parse/model/ItextTranslation/ItextTranslationsDefinition.ts +31 -0
- package/src/{model → parse/model}/LeafNodeDefinition.ts +4 -1
- package/src/{model → parse/model}/ModelBindMap.ts +6 -8
- package/src/parse/model/ModelDefinition.ts +24 -0
- package/src/{model → parse/model}/NodeDefinition.ts +0 -3
- package/src/parse/{NoteNodeDefinition.ts → model/NoteNodeDefinition.ts} +12 -12
- package/src/{model → parse/model}/RepeatRangeDefinition.ts +1 -1
- package/src/{model → parse/model}/RootDefinition.ts +4 -3
- package/src/parse/model/SecondaryInstance/SecondaryInstanceDefinition.ts +4 -0
- package/src/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.ts +12 -0
- package/src/parse/model/SecondaryInstance/SecondaryInstancesDefinition.ts +102 -0
- package/src/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.ts +40 -0
- package/src/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.ts +288 -0
- package/src/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceResource.ts +222 -0
- package/src/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceSource.ts +22 -0
- package/src/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.ts +414 -0
- package/src/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.ts +19 -0
- package/src/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.ts +29 -0
- package/src/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.ts +32 -0
- package/src/parse/shared/parseStaticDocumentFromDOMSubtree.ts +149 -0
- 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 +4 -10
- package/src/parse/xpath/semantic-analysis.ts +29 -0
- package/dist/XFormDOM.d.ts +0 -32
- package/dist/XFormDataType.d.ts +0 -27
- package/dist/body/appearance/inputAppearanceParser.d.ts +0 -4
- package/dist/client/StringNode.d.ts +0 -47
- package/dist/expression/DependencyContext.d.ts +0 -13
- package/dist/instance/StringField.d.ts +0 -45
- package/dist/instance/internal-api/SubscribableDependency.d.ts +0 -60
- 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/XFormDataType.ts +0 -64
- package/src/client/StringNode.ts +0 -52
- package/src/instance/internal-api/SubscribableDependency.ts +0 -61
- package/src/model/BindDefinition.ts +0 -106
- package/src/model/ModelDefinition.ts +0 -19
- 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/{body → parse/body}/UnsupportedBodyElementDefinition.ts +0 -0
- /package/src/{body → parse/body}/group/LogicalGroupDefinition.ts +0 -0
- /package/src/{body → parse/body}/group/StructuralGroupDefinition.ts +0 -0
- /package/src/{model → parse/model}/BindElement.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
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TextChunkSource } from '../../../client/TextRange.ts';
|
|
2
|
+
import { AnyTextRangeDefinition } from '../../text/abstract/TextRangeDefinition.ts';
|
|
3
|
+
import { TextLiteralExpression } from '../TextLiteralExpression.ts';
|
|
4
|
+
import { TextOutputExpression } from '../TextOutputExpression.ts';
|
|
5
|
+
import { TextReferenceExpression } from '../TextReferenceExpression.ts';
|
|
6
|
+
import { TextTranslationExpression } from '../TextTranslationExpression.ts';
|
|
7
|
+
import { DependentExpression } from './DependentExpression.ts';
|
|
8
|
+
interface TextChunkExpressionOptions {
|
|
9
|
+
readonly isTranslated?: true;
|
|
10
|
+
}
|
|
11
|
+
export declare abstract class TextChunkExpression<Source extends TextChunkSource> extends DependentExpression<'string'> {
|
|
12
|
+
abstract readonly source: Source;
|
|
13
|
+
readonly stringValue?: string;
|
|
14
|
+
constructor(context: AnyTextRangeDefinition, expression: string, options?: TextChunkExpressionOptions);
|
|
15
|
+
}
|
|
16
|
+
export type AnyTextChunkExpression = TextLiteralExpression | TextOutputExpression | TextReferenceExpression | TextTranslationExpression;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DependencyContext } from '../expression/abstract/DependencyContext.ts';
|
|
2
|
+
import { BindComputationExpression } from '../expression/BindComputationExpression.ts';
|
|
3
|
+
import { MessageDefinition } from '../text/MessageDefinition.ts';
|
|
4
|
+
import { XFormDefinition } from '../XFormDefinition.ts';
|
|
5
|
+
import { BindElement } from './BindElement.ts';
|
|
6
|
+
import { BindType, BindTypeDefinition } from './BindTypeDefinition.ts';
|
|
7
|
+
import { ModelDefinition } from './ModelDefinition.ts';
|
|
8
|
+
export declare class BindDefinition<T extends BindType = BindType> extends DependencyContext {
|
|
9
|
+
readonly form: XFormDefinition;
|
|
10
|
+
protected readonly model: ModelDefinition;
|
|
11
|
+
readonly nodeset: string;
|
|
12
|
+
readonly bindElement: BindElement;
|
|
13
|
+
readonly type: BindTypeDefinition<T>;
|
|
14
|
+
readonly parentNodeset: string | null;
|
|
15
|
+
readonly calculate: BindComputationExpression<'calculate'> | null;
|
|
16
|
+
readonly readonly: BindComputationExpression<'readonly'>;
|
|
17
|
+
readonly relevant: BindComputationExpression<'relevant'>;
|
|
18
|
+
readonly required: BindComputationExpression<'required'>;
|
|
19
|
+
/**
|
|
20
|
+
* Diverges from
|
|
21
|
+
* {@link https://github.com/getodk/javarosa/blob/059321160e6f8dbb3e81d9add61d68dd35b13cc8/dag.md | JavaRosa's},
|
|
22
|
+
* which excludes `constraint` expressions. We compute `constraint`
|
|
23
|
+
* dependencies like the other <bind> computation expressions, but explicitly
|
|
24
|
+
* ignore self-references (this is currently handled by
|
|
25
|
+
* {@link BindComputationExpression}, via its {@link DependentExpression}
|
|
26
|
+
* super class).
|
|
27
|
+
*/
|
|
28
|
+
readonly constraint: BindComputationExpression<'constraint'>;
|
|
29
|
+
readonly constraintMsg: MessageDefinition<'constraintMsg'> | null;
|
|
30
|
+
readonly requiredMsg: MessageDefinition<'requiredMsg'> | null;
|
|
31
|
+
readonly saveIncomplete: BindComputationExpression<'saveIncomplete'>;
|
|
32
|
+
protected _parentBind: BindDefinition | null | undefined;
|
|
33
|
+
get parentBind(): BindDefinition | null;
|
|
34
|
+
get reference(): string;
|
|
35
|
+
get parentReference(): string | null;
|
|
36
|
+
constructor(form: XFormDefinition, model: ModelDefinition, nodeset: string, bindElement: BindElement);
|
|
37
|
+
toJSON(): Omit<this, "form" | "reference" | "toJSON" | "parentReference" | "isTranslated" | "model" | "bindElement" | "parentBind">;
|
|
38
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BindElement } from './BindElement.ts';
|
|
2
|
+
/**
|
|
3
|
+
* As specified by {@link https://getodk.github.io/xforms-spec/#bind-attributes}
|
|
4
|
+
*/
|
|
5
|
+
export declare const DEFAULT_BIND_TYPE = "string";
|
|
6
|
+
export type DefaultBindType = typeof DEFAULT_BIND_TYPE;
|
|
7
|
+
/**
|
|
8
|
+
* As specified by {@link https://getodk.github.io/xforms-spec/#data-types}
|
|
9
|
+
*/
|
|
10
|
+
declare const BIND_TYPES: readonly ["string", "int", "boolean", "decimal", "date", "time", "dateTime", "geopoint", "geotrace", "geoshape", "binary", "barcode", "intent"];
|
|
11
|
+
type BindTypes = typeof BIND_TYPES;
|
|
12
|
+
export type BindType = BindTypes[number];
|
|
13
|
+
export declare class BindTypeDefinition<T extends BindType = BindType> {
|
|
14
|
+
readonly source: string | null;
|
|
15
|
+
readonly resolved: T;
|
|
16
|
+
static from<T extends BindType>(bindElement: BindElement): BindTypeDefinition<T>;
|
|
17
|
+
private constructor();
|
|
18
|
+
private constructor();
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -2,7 +2,6 @@ import { AnyBodyElementDefinition } from '../body/BodyDefinition.ts';
|
|
|
2
2
|
import { BindDefinition } from './BindDefinition.ts';
|
|
3
3
|
import { ModelNode, NodeChildren, NodeDefaultValue, NodeDefinition, NodeDefinitionType, NodeInstances, NodeParent } from './NodeDefinition.ts';
|
|
4
4
|
import { RootDefinition } from './RootDefinition.ts';
|
|
5
|
-
|
|
6
5
|
export type DescendentNodeType = Exclude<NodeDefinitionType, 'root'>;
|
|
7
6
|
type DescendentNodeBodyElement = AnyBodyElementDefinition;
|
|
8
7
|
export declare abstract class DescendentNodeDefinition<Type extends DescendentNodeType, BodyElement extends DescendentNodeBodyElement | null = DescendentNodeBodyElement | null> implements NodeDefinition<Type> {
|
|
@@ -17,7 +16,6 @@ export declare abstract class DescendentNodeDefinition<Type extends DescendentNo
|
|
|
17
16
|
abstract readonly nodeName: string;
|
|
18
17
|
readonly root: RootDefinition;
|
|
19
18
|
readonly nodeset: string;
|
|
20
|
-
readonly dependencyExpressions: ReadonlySet<string>;
|
|
21
19
|
readonly isTranslated: boolean;
|
|
22
20
|
constructor(parent: NodeParent<Type>, bind: BindDefinition, bodyElement: BodyElement);
|
|
23
21
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SubmissionDefinition } from '../../client/submission/SubmissionDefinition.ts';
|
|
2
|
+
import { XFormDOM } from '../XFormDOM.ts';
|
|
3
|
+
export declare class FormSubmissionDefinition implements SubmissionDefinition {
|
|
4
|
+
readonly submissionAction: URL | null;
|
|
5
|
+
readonly submissionMethod = "post";
|
|
6
|
+
readonly encryptionKey: string | null;
|
|
7
|
+
constructor(xformDOM: XFormDOM);
|
|
8
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { StaticDocument } from '../../../integration/xpath/static-dom/StaticDocument.ts';
|
|
2
|
+
import { ItextTranslationRootDefinition } from './ItextTranslationRootDefinition.ts';
|
|
3
|
+
export declare class ItextTranslationDefinition extends StaticDocument<ItextTranslationRootDefinition> {
|
|
4
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XFormsItextTranslationElement, XFORMS_KNOWN_ATTRIBUTE, XFORMS_LOCAL_NAME } from '@getodk/xpath';
|
|
2
|
+
import { StaticElement } from '../../../integration/xpath/static-dom/StaticElement.ts';
|
|
3
|
+
export declare class ItextTranslationRootDefinition extends StaticElement implements XFormsItextTranslationElement<ItextTranslationRootDefinition> {
|
|
4
|
+
readonly [XFORMS_LOCAL_NAME] = "translation";
|
|
5
|
+
readonly [XFORMS_KNOWN_ATTRIBUTE] = "lang";
|
|
6
|
+
getAttributeValue(localName: 'lang'): string;
|
|
7
|
+
getAttributeValue(localName: string): string | null;
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XFormsItextTranslationMap } from '@getodk/xpath';
|
|
2
|
+
import { EngineXPathNode } from '../../../integration/xpath/adapter/kind.ts';
|
|
3
|
+
import { XFormDOM } from '../../XFormDOM.ts';
|
|
4
|
+
import { ItextTranslationRootDefinition } from './ItextTranslationRootDefinition.ts';
|
|
5
|
+
export declare class ItextTranslationsDefinition extends Map<string, ItextTranslationRootDefinition> implements XFormsItextTranslationMap<EngineXPathNode> {
|
|
6
|
+
static from(xformDOM: XFormDOM): ItextTranslationsDefinition;
|
|
7
|
+
private constructor();
|
|
8
|
+
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import { ValueType } from '../../client/ValueType.ts';
|
|
1
2
|
import { AnyBodyElementDefinition, ControlElementDefinition } from '../body/BodyDefinition.ts';
|
|
2
3
|
import { BindDefinition } from './BindDefinition.ts';
|
|
3
4
|
import { DescendentNodeDefinition } from './DescendentNodeDefinition.ts';
|
|
4
5
|
import { NodeDefinition, ParentNodeDefinition } from './NodeDefinition.ts';
|
|
5
|
-
|
|
6
|
-
export declare class LeafNodeDefinition extends DescendentNodeDefinition<'leaf-node', ControlElementDefinition | null> implements NodeDefinition<'leaf-node'> {
|
|
6
|
+
export declare class LeafNodeDefinition<V extends ValueType = ValueType> extends DescendentNodeDefinition<'leaf-node', ControlElementDefinition | null> implements NodeDefinition<'leaf-node'> {
|
|
7
7
|
readonly node: Element;
|
|
8
8
|
readonly type = "leaf-node";
|
|
9
|
+
readonly valueType: V;
|
|
9
10
|
readonly nodeName: string;
|
|
10
11
|
readonly children: null;
|
|
11
12
|
readonly instances: null;
|
|
12
13
|
readonly defaultValue: string;
|
|
13
14
|
constructor(parent: ParentNodeDefinition, bind: BindDefinition, bodyElement: AnyBodyElementDefinition | null, node: Element);
|
|
14
|
-
toJSON(): Omit<this, "
|
|
15
|
+
toJSON(): Omit<this, "parent" | "toJSON" | "bind" | "root" | "bodyElement">;
|
|
15
16
|
}
|
|
@@ -2,7 +2,6 @@ import { XFormDefinition } from '../XFormDefinition.ts';
|
|
|
2
2
|
import { BindDefinition } from './BindDefinition.ts';
|
|
3
3
|
import { BindNodeset } from './BindElement.ts';
|
|
4
4
|
import { ModelDefinition } from './ModelDefinition.ts';
|
|
5
|
-
|
|
6
5
|
type TopologicalSortIndex = number;
|
|
7
6
|
export type SortedNodesetIndexes = ReadonlyMap<BindNodeset, TopologicalSortIndex>;
|
|
8
7
|
export declare class ModelBindMap extends Map<BindNodeset, BindDefinition> {
|
|
@@ -11,6 +10,6 @@ export declare class ModelBindMap extends Map<BindNodeset, BindDefinition> {
|
|
|
11
10
|
static fromModel(model: ModelDefinition): ModelBindMap;
|
|
12
11
|
protected constructor(form: XFormDefinition, model: ModelDefinition);
|
|
13
12
|
getOrCreateBindDefinition(nodeset: string): BindDefinition;
|
|
14
|
-
toJSON(): [string, BindDefinition][];
|
|
13
|
+
toJSON(): [string, BindDefinition<"string" | "boolean" | "time" | "int" | "decimal" | "date" | "dateTime" | "geopoint" | "geotrace" | "geoshape" | "binary" | "barcode" | "intent">][];
|
|
15
14
|
}
|
|
16
15
|
export {};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { XFormDefinition } from '../XFormDefinition.ts';
|
|
2
|
+
import { ItextTranslationsDefinition } from './ItextTranslation/ItextTranslationsDefinition.ts';
|
|
2
3
|
import { ModelBindMap } from './ModelBindMap.ts';
|
|
3
4
|
import { RootDefinition } from './RootDefinition.ts';
|
|
4
|
-
|
|
5
5
|
export declare class ModelDefinition {
|
|
6
6
|
readonly form: XFormDefinition;
|
|
7
7
|
readonly binds: ModelBindMap;
|
|
8
8
|
readonly root: RootDefinition;
|
|
9
|
+
readonly itextTranslations: ItextTranslationsDefinition;
|
|
9
10
|
constructor(form: XFormDefinition);
|
|
10
|
-
toJSON(): Omit<this, "
|
|
11
|
+
toJSON(): Omit<this, "form" | "toJSON">;
|
|
11
12
|
}
|
|
@@ -7,7 +7,6 @@ import { AnyRepeatRangeDefinition } from './RepeatRangeDefinition.ts';
|
|
|
7
7
|
import { RepeatTemplateDefinition } from './RepeatTemplateDefinition.ts';
|
|
8
8
|
import { RootDefinition } from './RootDefinition.ts';
|
|
9
9
|
import { SubtreeDefinition } from './SubtreeDefinition.ts';
|
|
10
|
-
|
|
11
10
|
/**
|
|
12
11
|
* Corresponds to the model/entry DOM root node, i.e.:
|
|
13
12
|
*
|
|
@@ -61,7 +60,6 @@ export interface NodeDefinition<Type extends NodeDefinitionType> {
|
|
|
61
60
|
readonly nodeName: string;
|
|
62
61
|
readonly bodyElement: AnyBodyElementDefinition | RepeatElementDefinition | null;
|
|
63
62
|
readonly isTranslated: boolean;
|
|
64
|
-
readonly dependencyExpressions: ReadonlySet<string>;
|
|
65
63
|
readonly root: RootDefinition;
|
|
66
64
|
readonly parent: NodeParent<Type>;
|
|
67
65
|
readonly children: NodeChildren<Type>;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { AnyBodyElementDefinition } from '../body/BodyDefinition.ts';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
export type NoteReadonlyDefinition = BindComputation<'readonly'> & ConstantTruthyDependentExpression;
|
|
2
|
+
import { InputControlDefinition } from '../body/control/InputControlDefinition.ts';
|
|
3
|
+
import { BindComputationExpression } from '../expression/BindComputationExpression.ts';
|
|
4
|
+
import { ConstantTruthyDependentExpression } from '../expression/abstract/DependentExpression.ts';
|
|
5
|
+
import { HintDefinition } from '../text/HintDefinition.ts';
|
|
6
|
+
import { LabelDefinition } from '../text/LabelDefinition.ts';
|
|
7
|
+
import { BindDefinition } from './BindDefinition.ts';
|
|
8
|
+
import { LeafNodeDefinition } from './LeafNodeDefinition.ts';
|
|
9
|
+
import { ParentNodeDefinition } from './NodeDefinition.ts';
|
|
10
|
+
export type NoteReadonlyDefinition = BindComputationExpression<'readonly'> & ConstantTruthyDependentExpression;
|
|
12
11
|
export interface NoteBindDefinition extends BindDefinition {
|
|
13
12
|
readonly readonly: NoteReadonlyDefinition;
|
|
14
13
|
}
|
|
@@ -16,7 +15,7 @@ export type NoteTextDefinition = LabelDefinition | HintDefinition;
|
|
|
16
15
|
/**
|
|
17
16
|
* @package This class is used internally, both in static types and at runtime,
|
|
18
17
|
* to guard and guide the distinction between instance state nodes for 'note'
|
|
19
|
-
* and '
|
|
18
|
+
* and 'input' node types. It is intentionally package-private! The less
|
|
20
19
|
* specific {@link NoteNode.definition} type, if it has any client value at all,
|
|
21
20
|
* should be more than sufficient. Clients are otherwise expected to use other
|
|
22
21
|
* aspects of the node's interface (such as its {@link NoteNode.nodeType} and
|
|
@@ -24,8 +23,8 @@ export type NoteTextDefinition = LabelDefinition | HintDefinition;
|
|
|
24
23
|
*/
|
|
25
24
|
export declare class NoteNodeDefinition extends LeafNodeDefinition {
|
|
26
25
|
readonly bind: NoteBindDefinition;
|
|
27
|
-
readonly bodyElement:
|
|
26
|
+
readonly bodyElement: InputControlDefinition;
|
|
28
27
|
readonly noteTextDefinition: NoteTextDefinition;
|
|
29
28
|
static from(parent: ParentNodeDefinition, bind: BindDefinition, bodyElement: AnyBodyElementDefinition | null, node: Element): NoteNodeDefinition | null;
|
|
30
|
-
constructor(parent: ParentNodeDefinition, bind: NoteBindDefinition, bodyElement:
|
|
29
|
+
constructor(parent: ParentNodeDefinition, bind: NoteBindDefinition, bodyElement: InputControlDefinition, noteTextDefinition: NoteTextDefinition, node: Element);
|
|
31
30
|
}
|
|
@@ -2,7 +2,6 @@ import { RepeatElementDefinition } from '../body/RepeatElementDefinition.ts';
|
|
|
2
2
|
import { DescendentNodeDefinition } from './DescendentNodeDefinition.ts';
|
|
3
3
|
import { ChildNodeDefinition, NodeDefinition } from './NodeDefinition.ts';
|
|
4
4
|
import { AnyRepeatRangeDefinition } from './RepeatRangeDefinition.ts';
|
|
5
|
-
|
|
6
5
|
export declare class RepeatInstanceDefinition extends DescendentNodeDefinition<'repeat-instance', RepeatElementDefinition> implements NodeDefinition<'repeat-instance'> {
|
|
7
6
|
readonly node: Element;
|
|
8
7
|
readonly type = "repeat-instance";
|
|
@@ -11,5 +10,5 @@ export declare class RepeatInstanceDefinition extends DescendentNodeDefinition<'
|
|
|
11
10
|
readonly instances: null;
|
|
12
11
|
readonly defaultValue: null;
|
|
13
12
|
constructor(range: AnyRepeatRangeDefinition, node: Element);
|
|
14
|
-
toJSON(): Omit<this, "
|
|
13
|
+
toJSON(): Omit<this, "parent" | "toJSON" | "bind" | "root" | "bodyElement">;
|
|
15
14
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { RepeatElementDefinition } from '../body/RepeatElementDefinition.ts';
|
|
2
|
-
import { RepeatCountControlExpression } from '../
|
|
2
|
+
import { RepeatCountControlExpression } from '../expression/RepeatCountControlExpression.ts';
|
|
3
3
|
import { BindDefinition } from './BindDefinition.ts';
|
|
4
4
|
import { DescendentNodeDefinition } from './DescendentNodeDefinition.ts';
|
|
5
5
|
import { NodeDefinition, ParentNodeDefinition } from './NodeDefinition.ts';
|
|
6
6
|
import { RepeatInstanceDefinition } from './RepeatInstanceDefinition.ts';
|
|
7
7
|
import { RepeatTemplateDefinition } from './RepeatTemplateDefinition.ts';
|
|
8
|
-
|
|
9
8
|
export interface ControlledRepeatRangeDefinition extends RepeatRangeDefinition {
|
|
10
9
|
readonly count: RepeatCountControlExpression;
|
|
11
10
|
}
|
|
@@ -26,5 +25,5 @@ export declare class RepeatRangeDefinition extends DescendentNodeDefinition<'rep
|
|
|
26
25
|
private constructor();
|
|
27
26
|
isControlled(): this is ControlledRepeatRangeDefinition;
|
|
28
27
|
isUncontrolled(): this is UncontrolledRepeatRangeDefinition;
|
|
29
|
-
toJSON(): Omit<this, "
|
|
28
|
+
toJSON(): Omit<this, "parent" | "toJSON" | "bind" | "root" | "bodyElement" | "isControlled" | "isUncontrolled">;
|
|
30
29
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { JAVAROSA_NAMESPACE_URI } from '
|
|
1
|
+
import { JAVAROSA_NAMESPACE_URI } from '../../../../common/src/constants/xmlns.ts';
|
|
2
2
|
import { RepeatElementDefinition } from '../body/RepeatElementDefinition.ts';
|
|
3
3
|
import { DescendentNodeDefinition } from './DescendentNodeDefinition.ts';
|
|
4
4
|
import { ChildNodeDefinition, NodeDefinition } from './NodeDefinition.ts';
|
|
5
5
|
import { RepeatRangeDefinition } from './RepeatRangeDefinition.ts';
|
|
6
|
-
|
|
7
6
|
interface ExplicitRepeatTemplateElement extends Element {
|
|
8
7
|
getAttributeNS(namespaceURI: typeof JAVAROSA_NAMESPACE_URI, name: 'template'): string;
|
|
9
8
|
getAttributeNS(namespaceURI: string | null, name: string): string | null;
|
|
@@ -24,6 +23,6 @@ export declare class RepeatTemplateDefinition extends DescendentNodeDefinition<'
|
|
|
24
23
|
readonly instances: null;
|
|
25
24
|
readonly defaultValue: null;
|
|
26
25
|
protected constructor(range: RepeatRangeDefinition, templateNode: ExplicitRepeatTemplateElement);
|
|
27
|
-
toJSON(): Omit<this, "
|
|
26
|
+
toJSON(): Omit<this, "parent" | "toJSON" | "bind" | "root" | "bodyElement">;
|
|
28
27
|
}
|
|
29
28
|
export {};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { XFormDefinition } from '../XFormDefinition.ts';
|
|
2
1
|
import { BodyClassList } from '../body/BodyDefinition.ts';
|
|
2
|
+
import { XFormDefinition } from '../XFormDefinition.ts';
|
|
3
3
|
import { BindDefinition } from './BindDefinition.ts';
|
|
4
|
+
import { FormSubmissionDefinition } from './FormSubmissionDefinition.ts';
|
|
4
5
|
import { ModelDefinition } from './ModelDefinition.ts';
|
|
5
6
|
import { ChildNodeDefinition, NodeDefinition, ParentNodeDefinition } from './NodeDefinition.ts';
|
|
6
|
-
|
|
7
7
|
export declare class RootDefinition implements NodeDefinition<'root'> {
|
|
8
8
|
protected readonly form: XFormDefinition;
|
|
9
9
|
protected readonly model: ModelDefinition;
|
|
10
|
+
readonly submission: FormSubmissionDefinition;
|
|
10
11
|
readonly classes: BodyClassList;
|
|
11
12
|
readonly type = "root";
|
|
12
13
|
readonly bind: BindDefinition;
|
|
@@ -20,8 +21,7 @@ export declare class RootDefinition implements NodeDefinition<'root'> {
|
|
|
20
21
|
readonly node: Element;
|
|
21
22
|
readonly defaultValue: null;
|
|
22
23
|
readonly isTranslated = false;
|
|
23
|
-
|
|
24
|
-
constructor(form: XFormDefinition, model: ModelDefinition, classes: BodyClassList);
|
|
24
|
+
constructor(form: XFormDefinition, model: ModelDefinition, submission: FormSubmissionDefinition, classes: BodyClassList);
|
|
25
25
|
buildSubtree(parent: ParentNodeDefinition): readonly ChildNodeDefinition[];
|
|
26
|
-
toJSON(): Omit<this, "
|
|
26
|
+
toJSON(): Omit<this, "form" | "toJSON" | "bind" | "model" | "root" | "bodyElement" | "buildSubtree">;
|
|
27
27
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { StaticDocument } from '../../../integration/xpath/static-dom/StaticDocument.ts';
|
|
2
|
+
import { SecondaryInstanceRootDefinition } from './SecondaryInstanceRootDefinition.ts';
|
|
3
|
+
export declare class SecondaryInstanceDefinition extends StaticDocument<SecondaryInstanceRootDefinition> {
|
|
4
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { XFormsSecondaryInstanceElement, XFORMS_KNOWN_ATTRIBUTE, XFORMS_LOCAL_NAME } from '@getodk/xpath';
|
|
2
|
+
import { StaticElement } from '../../../integration/xpath/static-dom/StaticElement.ts';
|
|
3
|
+
import { SecondaryInstanceDefinition } from './SecondaryInstanceDefinition.ts';
|
|
4
|
+
export declare class SecondaryInstanceRootDefinition extends StaticElement<SecondaryInstanceDefinition> implements XFormsSecondaryInstanceElement<StaticElement> {
|
|
5
|
+
readonly [XFORMS_LOCAL_NAME] = "instance";
|
|
6
|
+
readonly [XFORMS_KNOWN_ATTRIBUTE] = "id";
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { XFormsSecondaryInstanceMap } from '@getodk/xpath';
|
|
2
|
+
import { EngineXPathNode } from '../../../integration/xpath/adapter/kind.ts';
|
|
3
|
+
import { XFormDOM } from '../../XFormDOM.ts';
|
|
4
|
+
import { SecondaryInstanceRootDefinition } from './SecondaryInstanceRootDefinition.ts';
|
|
5
|
+
import { ExternalSecondaryInstanceResourceLoadOptions } from './sources/ExternalSecondaryInstanceResource.ts';
|
|
6
|
+
export declare class SecondaryInstancesDefinition extends Map<string, SecondaryInstanceRootDefinition> implements XFormsSecondaryInstanceMap<EngineXPathNode> {
|
|
7
|
+
/**
|
|
8
|
+
* @package Only to be used for testing
|
|
9
|
+
*/
|
|
10
|
+
static loadSync(xformDOM: XFormDOM): SecondaryInstancesDefinition;
|
|
11
|
+
static load(xformDOM: XFormDOM, options: ExternalSecondaryInstanceResourceLoadOptions): Promise<SecondaryInstancesDefinition>;
|
|
12
|
+
private constructor();
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JRResourceURL } from '../../../../../../common/src/jr-resources/JRResourceURL.ts';
|
|
2
|
+
import { DOMSecondaryInstanceElement } from '../../../XFormDOM.ts';
|
|
3
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
4
|
+
import { SecondaryInstanceSource } from './SecondaryInstanceSource.ts';
|
|
5
|
+
export declare class BlankSecondaryInstanceSource extends SecondaryInstanceSource<'blank'> {
|
|
6
|
+
constructor(instanceId: string, resourceURL: JRResourceURL, domElement: DOMSecondaryInstanceElement);
|
|
7
|
+
/**
|
|
8
|
+
* @todo there is really no sense in using the DOM for this, other than it was
|
|
9
|
+
* quicker/more ergonomic than constructing the requisite {@link StaticNode}
|
|
10
|
+
* structures directly. Pretty good sign those constructor signatures could
|
|
11
|
+
* use some TLC!
|
|
12
|
+
*/
|
|
13
|
+
parseDefinition(): SecondaryInstanceDefinition;
|
|
14
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
2
|
+
import { ExternalSecondaryInstanceSource } from './ExternalSecondaryInstanceSource.ts';
|
|
3
|
+
export declare class CSVExternalSecondaryInstanceSource extends ExternalSecondaryInstanceSource<'csv'> {
|
|
4
|
+
/**
|
|
5
|
+
* Based on
|
|
6
|
+
* {@link https://github.com/getodk/central-frontend/blob/42c9277709e593480d1462e28b4be5f1364532b7/src/util/csv.js#L79} (and {@link https://github.com/getodk/central-frontend/blob/42c9277709e593480d1462e28b4be5f1364532b7/src/util/csv.js#L13}).
|
|
7
|
+
*
|
|
8
|
+
* The most significant deviations at time of writing:
|
|
9
|
+
*
|
|
10
|
+
* - we have already retrieved the CSV resource, so we are parsing the raw CSV data directly.
|
|
11
|
+
* - we have no need for asynchronous/streaming parsing at this point in the
|
|
12
|
+
* form initialization process, so we can dispense with those details of the
|
|
13
|
+
* {@link papa | papaparse} API/config.
|
|
14
|
+
*/
|
|
15
|
+
private parseCSVHeader;
|
|
16
|
+
/**
|
|
17
|
+
* Largely based on {@link https://github.com/getodk/central-frontend/blob/42c9277709e593480d1462e28b4be5f1364532b7/src/util/csv.js#L170}
|
|
18
|
+
*/
|
|
19
|
+
private parseCSVRows;
|
|
20
|
+
private toItems;
|
|
21
|
+
parseDefinition(): SecondaryInstanceDefinition;
|
|
22
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { JRResourceURL } from '../../../../../../common/src/jr-resources/JRResourceURL.ts';
|
|
2
|
+
import { MissingResourceBehavior } from '../../../../client/constants.ts';
|
|
3
|
+
import { FetchResource } from '../../../../client/resources.ts';
|
|
4
|
+
import { FormAttachmentResource } from '../../../attachments/FormAttachmentResource.ts';
|
|
5
|
+
import { ExternalSecondaryInstanceSourceFormat } from './SecondaryInstanceSource.ts';
|
|
6
|
+
export interface ExternalSecondaryInstanceResourceLoadOptions {
|
|
7
|
+
readonly fetchResource: FetchResource<JRResourceURL>;
|
|
8
|
+
readonly missingResourceBehavior: MissingResourceBehavior;
|
|
9
|
+
}
|
|
10
|
+
type LoadedExternalSecondaryInstanceResource = {
|
|
11
|
+
[Format in ExternalSecondaryInstanceSourceFormat]: ExternalSecondaryInstanceResource<Format>;
|
|
12
|
+
}[ExternalSecondaryInstanceSourceFormat];
|
|
13
|
+
export declare class ExternalSecondaryInstanceResource<Format extends ExternalSecondaryInstanceSourceFormat = ExternalSecondaryInstanceSourceFormat> extends FormAttachmentResource<'secondary-instance'> {
|
|
14
|
+
readonly responseStatus: number | null;
|
|
15
|
+
readonly instanceId: string;
|
|
16
|
+
private static isMissingResource;
|
|
17
|
+
private static createBlankResource;
|
|
18
|
+
static load(instanceId: string, resourceURL: JRResourceURL, options: ExternalSecondaryInstanceResourceLoadOptions): Promise<LoadedExternalSecondaryInstanceResource>;
|
|
19
|
+
readonly format: Format;
|
|
20
|
+
readonly isBlank: boolean;
|
|
21
|
+
private constructor();
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { JRResourceURL } from '../../../../../../common/src/jr-resources/JRResourceURL.ts';
|
|
2
|
+
import { DOMSecondaryInstanceElement } from '../../../XFormDOM.ts';
|
|
3
|
+
import { ExternalSecondaryInstanceResource } from './ExternalSecondaryInstanceResource.ts';
|
|
4
|
+
import { ExternalSecondaryInstanceSourceFormat, SecondaryInstanceSource } from './SecondaryInstanceSource.ts';
|
|
5
|
+
export declare abstract class ExternalSecondaryInstanceSource<Format extends ExternalSecondaryInstanceSourceFormat = ExternalSecondaryInstanceSourceFormat> extends SecondaryInstanceSource<Format> {
|
|
6
|
+
protected readonly resource: ExternalSecondaryInstanceResource<Format>;
|
|
7
|
+
readonly resourceURL: JRResourceURL;
|
|
8
|
+
constructor(domElement: DOMSecondaryInstanceElement, resource: ExternalSecondaryInstanceResource<Format>);
|
|
9
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
2
|
+
import { ExternalSecondaryInstanceSource } from './ExternalSecondaryInstanceSource.ts';
|
|
3
|
+
export declare class GeoJSONExternalSecondaryInstanceSource extends ExternalSecondaryInstanceSource<'geojson'> {
|
|
4
|
+
parseDefinition(): SecondaryInstanceDefinition;
|
|
5
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DOMSecondaryInstanceElement } from '../../../XFormDOM.ts';
|
|
2
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
3
|
+
import { SecondaryInstanceSource } from './SecondaryInstanceSource.ts';
|
|
4
|
+
export declare class InternalSecondaryInstanceSource extends SecondaryInstanceSource<'internal'> {
|
|
5
|
+
constructor(instanceId: string, resourceURL: null, domElement: DOMSecondaryInstanceElement);
|
|
6
|
+
parseDefinition(): SecondaryInstanceDefinition;
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { JRResourceURL } from '../../../../../../common/src/jr-resources/JRResourceURL.ts';
|
|
2
|
+
import { DOMSecondaryInstanceElement } from '../../../XFormDOM.ts';
|
|
3
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
4
|
+
export type ExternalSecondaryInstanceSourceFormat = 'csv' | 'geojson' | 'xml';
|
|
5
|
+
export type SecondaryInstanceSourceFormat = ExternalSecondaryInstanceSourceFormat | 'internal' | 'blank';
|
|
6
|
+
export declare abstract class SecondaryInstanceSource<Format extends SecondaryInstanceSourceFormat = SecondaryInstanceSourceFormat> {
|
|
7
|
+
readonly format: Format;
|
|
8
|
+
readonly instanceId: string;
|
|
9
|
+
readonly resourceURL: JRResourceURL | null;
|
|
10
|
+
readonly domElement: DOMSecondaryInstanceElement;
|
|
11
|
+
constructor(format: Format, instanceId: string, resourceURL: JRResourceURL | null, domElement: DOMSecondaryInstanceElement);
|
|
12
|
+
abstract parseDefinition(): SecondaryInstanceDefinition;
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
2
|
+
import { ExternalSecondaryInstanceSource } from './ExternalSecondaryInstanceSource.ts';
|
|
3
|
+
export declare class XMLExternalSecondaryInstanceSource extends ExternalSecondaryInstanceSource<'xml'> {
|
|
4
|
+
/**
|
|
5
|
+
* Note: this logic is a superset of the logic in
|
|
6
|
+
* {@link InternalSecondaryInstanceSource.parseDefinition}. That subset is so
|
|
7
|
+
* trivial/already sufficiently abstracted that it doesn't really make a lot
|
|
8
|
+
* of sense to abstract further, but it might be worth considering if both
|
|
9
|
+
* method implementations grow their responsibilities in the same ways.
|
|
10
|
+
*/
|
|
11
|
+
parseDefinition(): SecondaryInstanceDefinition;
|
|
12
|
+
}
|
|
@@ -2,7 +2,6 @@ import { AnyBodyElementDefinition, AnyGroupElementDefinition } from '../body/Bod
|
|
|
2
2
|
import { BindDefinition } from './BindDefinition.ts';
|
|
3
3
|
import { DescendentNodeDefinition } from './DescendentNodeDefinition.ts';
|
|
4
4
|
import { ChildNodeDefinition, NodeDefinition, ParentNodeDefinition } from './NodeDefinition.ts';
|
|
5
|
-
|
|
6
5
|
export declare class SubtreeDefinition extends DescendentNodeDefinition<'subtree', AnyGroupElementDefinition | null> implements NodeDefinition<'subtree'> {
|
|
7
6
|
readonly node: Element;
|
|
8
7
|
readonly type = "subtree";
|
|
@@ -11,5 +10,5 @@ export declare class SubtreeDefinition extends DescendentNodeDefinition<'subtree
|
|
|
11
10
|
readonly instances: null;
|
|
12
11
|
readonly defaultValue: null;
|
|
13
12
|
constructor(parent: ParentNodeDefinition, bind: BindDefinition, bodyElement: AnyBodyElementDefinition | null, node: Element);
|
|
14
|
-
toJSON(): Omit<this, "
|
|
13
|
+
toJSON(): Omit<this, "parent" | "toJSON" | "bind" | "root" | "bodyElement">;
|
|
15
14
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AnyConstructor } from '../../../../common/types/helpers.js';
|
|
2
|
+
import { StaticDocument, StaticDocumentRootFactory } from '../../integration/xpath/static-dom/StaticDocument.ts';
|
|
3
|
+
import { StaticElementAttributesFactory, StaticElementChildNodesFactory, StaticElement } from '../../integration/xpath/static-dom/StaticElement.ts';
|
|
4
|
+
import { StaticNamedNodeOptions } from '../../integration/xpath/static-dom/StaticNamedNode.ts';
|
|
5
|
+
import { StaticParentNode } from '../../integration/xpath/static-dom/StaticNode.ts';
|
|
6
|
+
type ConcreteConstructor<T extends AnyConstructor> = Pick<T, keyof T>;
|
|
7
|
+
export type ConcreteStaticDocumentConstructor<T extends StaticDocument<Root>, Root extends StaticElement> = ConcreteConstructor<typeof StaticDocument<Root>> & (new (rootFactory: StaticDocumentRootFactory<T, Root>) => T);
|
|
8
|
+
declare const ELEMENT_NODE: 1, CDATA_SECTION_NODE: 4, TEXT_NODE: 3;
|
|
9
|
+
interface StaticChildElementSource {
|
|
10
|
+
readonly domType: typeof ELEMENT_NODE;
|
|
11
|
+
readonly domNode: Element;
|
|
12
|
+
}
|
|
13
|
+
interface StaticChildTextSource {
|
|
14
|
+
readonly domType: typeof CDATA_SECTION_NODE | typeof TEXT_NODE;
|
|
15
|
+
readonly domNode: CharacterData;
|
|
16
|
+
}
|
|
17
|
+
type StaticChildNodeSource = StaticChildElementSource | StaticChildTextSource;
|
|
18
|
+
export declare const toStaticChildNodeSource: (childNode: ChildNode) => StaticChildNodeSource | null;
|
|
19
|
+
export type StaticElementConstructor<T extends StaticElement<Parent>, Parent extends StaticParentNode = StaticParentNode> = ConcreteConstructor<typeof StaticElement> & {
|
|
20
|
+
readonly prototype: T;
|
|
21
|
+
new (parent: Parent, attributesFactory: StaticElementAttributesFactory, childNodesFactory: StaticElementChildNodesFactory, options: StaticNamedNodeOptions): T;
|
|
22
|
+
};
|
|
23
|
+
export declare const parseStaticDocumentFromDOMSubtree: <T extends StaticDocument<Root>, Root extends StaticElement<T>>(DocumentConstructor: ConcreteStaticDocumentConstructor<T, Root>, DocumentRootConstructor: StaticElementConstructor<Root, T>, subtreeRootElement: Element) => T;
|
|
24
|
+
export {};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
-
import { AnyControlDefinition } from '
|
|
1
|
+
import { XFormDefinition } from '../../parse/XFormDefinition.ts';
|
|
2
|
+
import { AnyControlDefinition } from '../body/control/ControlDefinition.ts';
|
|
3
3
|
import { TextElementDefinition } from './abstract/TextElementDefinition.ts';
|
|
4
|
-
|
|
5
4
|
export declare class HintDefinition extends TextElementDefinition<'hint'> {
|
|
6
5
|
static forElement(form: XFormDefinition, owner: AnyControlDefinition): HintDefinition | null;
|
|
7
6
|
readonly role = "hint";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
-
import { ItemDefinition } from '
|
|
1
|
+
import { XFormDefinition } from '../../parse/XFormDefinition.ts';
|
|
2
|
+
import { ItemDefinition } from '../body/control/select/ItemDefinition.ts';
|
|
3
3
|
import { TextElementDefinition } from './abstract/TextElementDefinition.ts';
|
|
4
|
-
|
|
5
4
|
export declare class ItemLabelDefinition extends TextElementDefinition<'item-label'> {
|
|
6
5
|
static from(form: XFormDefinition, owner: ItemDefinition): ItemLabelDefinition | null;
|
|
7
6
|
readonly role = "item-label";
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
-
import { ItemDefinition } from '
|
|
3
|
-
import { ItemsetDefinition } from '
|
|
1
|
+
import { XFormDefinition } from '../../parse/XFormDefinition.ts';
|
|
2
|
+
import { ItemDefinition } from '../body/control/select/ItemDefinition.ts';
|
|
3
|
+
import { ItemsetDefinition } from '../body/control/select/ItemsetDefinition.ts';
|
|
4
4
|
import { RefAttributeChunk } from './abstract/TextElementDefinition.ts';
|
|
5
5
|
import { TextRangeDefinition } from './abstract/TextRangeDefinition.ts';
|
|
6
|
-
|
|
7
6
|
export type ItemLabelOwner = ItemDefinition | ItemsetDefinition;
|
|
8
7
|
export declare class ItemsetLabelDefinition extends TextRangeDefinition<'item-label'> {
|
|
9
8
|
static from(form: XFormDefinition, owner: ItemsetDefinition): ItemsetLabelDefinition | null;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
-
import { AnyGroupElementDefinition } from '../../body/BodyDefinition.ts';
|
|
3
|
-
import { RepeatElementDefinition } from '
|
|
4
|
-
import { AnyControlDefinition } from '
|
|
5
|
-
import { BaseGroupDefinition } from '
|
|
1
|
+
import { XFormDefinition } from '../../parse/XFormDefinition.ts';
|
|
2
|
+
import { AnyGroupElementDefinition } from '../../parse/body/BodyDefinition.ts';
|
|
3
|
+
import { RepeatElementDefinition } from '../body/RepeatElementDefinition.ts';
|
|
4
|
+
import { AnyControlDefinition } from '../body/control/ControlDefinition.ts';
|
|
5
|
+
import { BaseGroupDefinition } from '../body/group/BaseGroupDefinition.ts';
|
|
6
6
|
import { TextElementDefinition } from './abstract/TextElementDefinition.ts';
|
|
7
|
-
|
|
8
7
|
export type LabelOwner = AnyControlDefinition | AnyGroupElementDefinition | RepeatElementDefinition;
|
|
9
8
|
export declare class LabelDefinition extends TextElementDefinition<'label'> {
|
|
10
9
|
static forControl(form: XFormDefinition, control: AnyControlDefinition): LabelDefinition | null;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { TextLiteralExpression } from '../expression/TextLiteralExpression.ts';
|
|
2
|
+
import { TextTranslationExpression } from '../expression/TextTranslationExpression.ts';
|
|
3
|
+
import { BindDefinition } from '../model/BindDefinition.ts';
|
|
4
4
|
import { TextBindAttributeLocalName, TextSourceNode, TextRangeDefinition } from './abstract/TextRangeDefinition.ts';
|
|
5
|
-
|
|
6
5
|
export type MessageSourceNode = TextSourceNode<TextBindAttributeLocalName>;
|
|
7
|
-
type MessageChunk =
|
|
6
|
+
type MessageChunk = TextLiteralExpression | TextTranslationExpression;
|
|
8
7
|
export declare class MessageDefinition<Type extends TextBindAttributeLocalName> extends TextRangeDefinition<Type> {
|
|
9
8
|
readonly role: Type;
|
|
10
9
|
static from<Type extends TextBindAttributeLocalName>(bind: BindDefinition, type: Type): MessageDefinition<Type> | null;
|