Signature
The Signature control captures signatures and stores biometric data of the signature.
Info
For security and legal reasons the HybridForms App advises an encryption of the stored data. Unless a certificate is provided as part of your Form Definition a notification will appear each time a user signs.
You can store your signaure data unencrypted, but in case of taking advantage of this security feature, please follow the instruction of the HFSQL Server administration guide, capitel 7 „Biometric Signature Data“ for creating the necessary certificate or contact your HFSQL Server administrator.
<div
id="repair_customer_sign"
data-hf-control="Signature"
data-hf-options="{
label: 'Customer\'s signature',
required: true,
tooltip: 'Sign here!',
clearButton: true,
saveTimeout: 10,
openInOverlay: {
type: 'mobile',
rotateToLandscape: true
},
printMetadata: true,
printMetadataParts: ['Location', 'Signer', 'ItemID', 'DateTime']
}"
></div>


Signature
Instead of coding a "signingAsCallback" function you can also use the alternative option to fill in the signer's name:
<div
id="repair_customer_sign"
data-hf-control="Signature"
data-hf-options="{
label: 'Customer\'s signature',
...,
signingFromFields: ['tab1_first_name', 'tab1_last_name'],
...
}"
></div>
FormControl Options
background
Sets the background of the signature field. If "none" is the provided value, the signature gets a white background otherwise a reference to a FormDefinition image should be provided. If image is not set, the signature field gets the Hybrid Forms default signature background.
How to use:
background: {{HFFormPath}}/signature-background.pngType:
'string' | 'none'clearButton
Defines a small button (x) on the bottom left of the picture with which the drawing can be deleted.
How to use:
clearButton: trueType:
booleanDefault:
truedisabled
Set "true" whenever the Signature field should be disabled.
How to use:
disabled: trueType:
booleandoNotCopy
Set "true" whenever the field should be cleared if the Form is copied.
How to use:
doNotCopy: trueType:
booleanforceUnsafe
Allow the saving of the biometric data without Certificate. Caution! This saves sensitive data on the server without encryption. Should only be used for testing or debugging!
How to use:
forceUnsafe: trueType:
booleanhighAccuracyLocation
Enables high accuracy when requesting the location.
How to use:
highAccuracyLocation: trueType:
booleanDefault:
truelocationRequestTimeout
Sets the request timeout for the geolocation service in seconds.
How to use:
locationRequestTimeout: 5Type:
numberDefault:
10onChanged
Call a pre-defined JS-method to do something when the status of the control changes.
How to use:
onChanged: HFFormdefinition.Namespace.MethodType:
functionSignature:
function(value: boolean) => voidopenInOverlay
Define an object of type openInOverlay for displaying a signature ctrl in a separate dialog (i.e. Form page overlay).
How to use:
Type:
OverlayObjectprintMetadata
Set false if you do not want any Metadata added to the generated signature graphics. If set to false the options printMetadataParts will be ignored.
How to use:
printMetadata: trueType:
booleanDefault:
trueprintMetadataParts
Define the Metadata added to the generated signature graphics.
- Location: The coords will be added to the signature graphics. If no "Location" is contained in the printMetadata array, the location will not be collected.
- Signer: The signer's name will be added to the signature graphics.
- ItemID: A SHA256 base64 encoded checksum of the Form data is added to the signature graphics.
- DateTime: The time stamp will be added to the signature graphics.
How to use:
printMetadataParts: ['Location', 'Signer', 'ItemID', 'DateTime']Type:
('Location' | 'Signer' | 'ItemID' | 'DateTime')[]Default:
['Location', 'Signer', 'ItemID', 'DateTime']saveTimeout
Duration in seconds until the signature control is locked and saved.
How to use:
saveTimeout: 10Type:
integerDefault:
5signingAsCallback
Call the method you previously defined to write the signer's name within the signature field. This method is optional and needs to be coded first!
How to use:
signingAsCallback: HFFormdefinition.Namespace.getSignerType:
functionSignature:
function() => anysigningFromFields
Write the signer's name (or some other additional infos) within the signature field (optional).
How to use:
signingFromFields: ['fieldId_01', 'fieldId_02']Type:
string[]stamp
Define an object of type stamp for setting a stamp image on the signature background.
How to use:
Type:
StampObjecttooltip
Write a comment to provide further information about the field. A question mark will then be shown within the label and with a click/tap on it, the information will occur.
How to use:
tooltip: 'Sign here!'Type:
stringtooltipTemplate
Write an ID of an HTML container to provide further information about the field. A question mark will then be shown within the label and with a click/tap on it, the content of the container will occur.
How to use:
tooltipTemplate: 'example_control_tooltip'Type:
stringOverlay Object
type - required
Define the range of application - "always" to open the overlay to sign in all App versions and all devices or "mobile" to open the overlay only on mobile devices. "never" to use in-place Singature.
How to use:
type: 'always' / 'mobile'Type:
'never' | 'always' | 'mobile'rotateToLandscape
Define the behaviour of the overlay on mobile devices: prevent rotating the overlay to landscape by setting the option to false.
How to use:
rotateToLandscape: falseType:
booleanDefault:
trueStamp Object
url - required
The URL to the image that should be used as stamp. The image is resized automatically if it is too big, but it is recommended not to provide images bigger than 920px.
How to use:
url: '{{HFFormPath}}/stamp-image.png'Type:
stringalpha
Define the alpha value of the provided image. Provide a number between 0 (fully transparent) and 1 (not transparent).
How to use:
alpha: 0.2Type:
numberStored data
{
"id": "repair_customer_sign",
"value": true
}
{
"id": "repair_customer_sign_HFInkImage",
"value": "repair_customer_sign.png"
}
{
"id": "repair_customer_sign_HFSignatureZip",
"value": "repair_customer_sign.zip"
}
{
"id": "repair_customer_sign_HFSignatureMetadata",
"value": {
"timestamp": "2018-07-03T14:37:01.802Z",
"geoposition": {
"latitude": 47.06734,
"longitude": 15.43349,
"accuracy": 20,
"accuracyFormatted": "~ 20 m",
"timestamp": "2018-07-03T14:36:51.292Z"
},
"signer": "Robert Simon",
"eventCounter": 190,
"itemid": "84395929-b38e-1a9f-ffac-b97ef6c9b4f2",
"formHash": "ZH82iLfZEfaxtceMMTECCRmwMOjZrB3ERm5tynSegPY=",
"timeunit": "milliseconds",
"input": "mouse"
}
}