UNPKG

@progress/kendo-vue-inputs

Version:
9 lines (8 loc) 2.37 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),a=require("@progress/kendo-inputs-common"),o=require("@progress/kendo-vue-common"),r=s.defineComponent({name:"KendoSignatureCanvas",emits:{change:null,draw:null,drawend:null},inject:{kendoIntlService:{default:null}},props:{strokeWidth:Number,popupScale:Number,scale:Number,name:String,value:String,tabIndex:Number,disabled:Boolean,readOnly:Boolean,color:String,backgroundColor:String,elementSize:Function,smooth:Boolean},watch:{color(){this.setOptions()},backgroundColor(){this.setOptions()},smooth(){this.setOptions()},strokeWidth(){this.setOptions()},readOnly(){this.setOptions()}},mounted(){this.canvas=this.$el;const e=new a.SignaturePad(this.canvas,this.getOptions());this.value&&e.loadImage(this.value),this.instance=e,this.instance.setOptions({onChange:this.onValueChange,onDraw:this.onDraw,onDrawEnd:this.onDrawEnd})},unmounted(){this.instance&&this.instance.destroy()},render(){return s.createVNode("div",{class:"k-signature-canvas",tabindex:o.getTabIndex(this.$props.tabIndex,this.$props.disabled),role:"img",id:this.$props.id,"aria-label":this.$props.ariaLabel,"aria-labelledby":this.$props.ariaLabelledBy,"aria-describedby":this.$props.ariaDescribedBy,"aria-disabled":this.$props.disabled?"true":void 0},null)},methods:{onValueChange(){this.exportImage(this.elementSize()).then(e=>{this.$emit("change",e)})},onDraw(){this.$emit("draw")},onDrawEnd(){this.$emit("drawend")},loadImage(e){this.instance.loadImage(e)},clear(){this.instance.clear()},getOptions(){return{scale:this.popupScale,color:this.color,backgroundColor:this.backgroundColor,strokeWidth:this.$props.strokeWidth,smooth:this.$props.smooth,readonly:this.$props.readOnly}},exportImage(e){var t;const{width:n,height:i}=e;return(t=this.instance)==null?void 0:t.exportImage({width:n*this.scale,height:i*this.scale})},setOptions(){this.instance&&this.instance.setOptions(this.getOptions())}}});exports.SignatureCanvas=r;