micschk/silverstripe-signaturefield

基于 https://github.com/szimek/signature_pad 的签名字段

安装: 80

依赖者: 0

建议者: 0

安全: 0

星星: 0

关注者: 3

分支: 4

开放问题: 0

类型:silverstripe-vendormodule

v1.0.1 2023-03-10 16:42 UTC

This package is auto-updated.

Last update: 2024-09-10 19:36:47 UTC


README

一个基于 https://github.com/szimek/signature_pad 的 silverstripe 签名表单字段

screenshot

安装

composer require micschk/silverstripe-signaturefield

使用

如果字段设置为 'Signature'(字段包含签名的 base64 png 图像),则将生成签名字段

use Micschk\SignatureField\Signature;

class Contract extends DataObject {

	private static $db = array(
		'Signature' => Signature::class,
	);

}

或显式地将 SignatureField 添加到表单中(例如,对于非 Scaffolded 表单字段或前端)

use Micschk\SignatureField\SignatureField;

...

	public function getCMSFields() {
		$fields = parent::getCMSFields();

		$fields->addFieldToTab('Root.Main',
				SignatureField::create('Signature')
			);

		return $fields;
	}

前端使用

如果在这个前端表单上使用此字段,而不仅仅是 CMS,则需要 jQuery。默认情况下,此模块将加载一个打包版本的 jQuery。如果您在您的客户端上单独安装了 jQuery,这可能会导致冲突。要删除包含的 jQuery 版本并使用您自己的版本,请将以下内容添加到您的 yaml 配置中

Micschk\SignatureField\SignatureField:
  include_jquery: false

已知问题

在高 DPI 屏幕上可能发生缩放问题: szimek/signature_pad#679

开发

使用 parcel.js 打包 js。要更改 JavaScript

  1. 运行 yarn install 以安装依赖项。
  2. javascript/src/signature_pad.init.js 中进行必要的更改
  3. 运行 yarn build 以编译更改