micschk / silverstripe-signaturefield
A signaturefield based on https://github.com/szimek/signature_pad
Installs: 82
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 4
Open Issues: 0
Type:silverstripe-vendormodule
Requires
- silverstripe/admin: ^1.1
- silverstripe/framework: ^4.0
This package is auto-updated.
Last update: 2024-10-10 19:48:26 UTC
README
A silverstripe signature form field based on https://github.com/szimek/signature_pad
Installation
composer require micschk/silverstripe-signaturefield
Usage
A signaturefield will be scaffolded if field is set to 'Signature' (field holds base64 png image of signature)
use Micschk\SignatureField\Signature; class Contract extends DataObject { private static $db = array( 'Signature' => Signature::class, ); }
Or explicitly add a SignatureField to a form (eg for non-scafolded formfields or front-end)
use Micschk\SignatureField\SignatureField; ... public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldToTab('Root.Main', SignatureField::create('Signature') ); return $fields; }
Front end use
If using this field on a front end form, outside of the CMS, jQuery is required. By default this module will load a packaged version of jQuery. This may conflict with existing versions if you have separately installed jQuery on your front end. To remove the included version of jQuery and make use of your own version, add the following to your yaml config
Micschk\SignatureField\SignatureField: include_jquery: false
Known Issues
Scaling issues may occur on high DPI screens: szimek/signature_pad#679
Development
The js is bundled using parcel.js. To make javascript changes
- run
yarn install
to install dependencies. - make requisite changes in
javascript/src/signature_pad.init.js
- run
yarn build
to compile changes