@almothafar/angular-signature-pad
Version:
Angular Component wrapper for szimek/signature_pad
100 lines (99 loc) • 3.42 kB
TypeScript
import { AfterContentInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
import SignaturePad, { Options, PointGroup } from 'signature_pad';
import * as i0 from "@angular/core";
export interface NgSignaturePadOptions extends Options {
canvasBackground?: string;
canvasHeight?: number;
canvasWidth?: number;
}
export declare class SignaturePadComponent implements AfterContentInit, OnDestroy {
private _elementRef;
options: NgSignaturePadOptions;
drawStart: EventEmitter<MouseEvent | Touch>;
drawBeforeUpdate: EventEmitter<MouseEvent | Touch>;
drawAfterUpdate: EventEmitter<MouseEvent | Touch>;
drawEnd: EventEmitter<MouseEvent | Touch>;
private signaturePad;
private extraWidth;
constructor(_elementRef: ElementRef);
ngAfterContentInit(): void;
ngOnDestroy(): void;
getSignaturePad(): SignaturePad;
getCanvas(): HTMLCanvasElement;
/**
* Redraw or Resize canvas, note this will clear data.
*/
redrawCanvas(): void;
/**
* Change the color of the background dynamically.
*/
changeBackgroundColor(color: string): void;
/**
* Returns signature image as an array of point groups
*/
toData(): PointGroup[];
/**
* Draws signature image from an array of point groups
*/
fromData(points: Array<PointGroup>): void;
/**
* Returns signature image as data URL (see https://mdn.io/todataurl for the list of possible parameters)
*/
toDataURL(imageType?: string, quality?: number): string;
/**
* Draws signature image from data URL
*/
fromDataURL(dataURL: string, options?: {
ratio?: number;
width?: number;
height?: number;
}): Promise<void>;
/**
* Clears the canvas
*/
clear(redraw?: boolean): void;
/**
* Returns true if canvas is empty, otherwise returns false
*/
isEmpty(): boolean;
/**
* Unbinds all event handlers
*/
off(): void;
/**
* Rebinds all event handlers
*/
on(): void;
/**
* set an option on the signaturePad - e.g. set('minWidth', 50);
* @param option one of SignaturePad to set with value, properties of NgSignaturePadOptions
* @param value the value of option
*/
set(option: string, value: any): void;
/**
* notify subscribers on signature begin
*/
beginStroke(event: MouseEvent | Touch): void;
beforeUpdateStroke(event: MouseEvent | Touch): void;
afterUpdateStroke(event: MouseEvent | Touch): void;
/**
* notify subscribers on signature end
*/
endStroke(event: MouseEvent | Touch): void;
private initCanvas;
private initSignaturePad;
/**
* To prevent the growing effect when the redrawCanvas is called for the width
* @param canvas
* @private
*/
private _getWidthFix;
/**
* To prevent the growing effect when the redrawCanvas is called for the height
* @param canvas
* @private
*/
private _getHeightFix;
static ɵfac: i0.ɵɵFactoryDeclaration<SignaturePadComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<SignaturePadComponent, "signature-pad", never, { "options": { "alias": "options"; "required": false; }; }, { "drawStart": "drawStart"; "drawBeforeUpdate": "drawBeforeUpdate"; "drawAfterUpdate": "drawAfterUpdate"; "drawEnd": "drawEnd"; }, never, never, false, never>;
}