1jQuery(document).ready(function() { 2 jQuery('.signature-canvas').each(function() { 3 var canvasElement = jQuery(this); 4 jQuery(this).parents('.form-element').on('showElement', function() { 5 initiateCanvas(canvasElement); 6 }); 7 initiateCanvas(canvasElement); 8 }) 9 jQuery('.clear-signature').click(function() { 10 var FormData = jQuery(this).parents('.fc-form').data('FormCraft'); 11 var fieldID = jQuery(this).parents('.form-element').attr('data-identifier'); 12 jQuery(this).parents('.form-element').removeClass('has-signature'); 13 FormData.SignaturePad[fieldID].clear(); 14 jQuery('.fc-form-'+FormData.formID+' .form-element-'+fieldID+' .signature-hidden').val(''); 15 }); 16 jQuery('.fc-form').on('PageChange', function() { 17 var form = jQuery(this) 18 setTimeout(function() { 19 form.find('.signature-canvas').each(function() { 20 if ( jQuery(this).parents('.form-page').attr('data-index') === jQuery('.pagination-trigger.active').attr('data-index') ) { 21 initiateCanvas(jQuery(this)); 22 } 23 }) 24 }, 0) 25 }); 26}); 27function saveSignature(formID, fieldID) { 28 var FormData = jQuery('.fc-form-'+formID).data('FormCraft'); 29 var SignaturePad = FormData.SignaturePad[fieldID]; 30 var image = SignaturePad.toDataURL("image/jpeg"); 31 jQuery('.fc-form-'+formID+' .form-element-'+fieldID+' .signature-hidden').val(image); 32 if ( !jQuery('.fc-form-'+formID+' .form-element-'+fieldID).hasClass('has-signature') ) { 33 jQuery('.fc-form-'+formID+' .form-element-'+fieldID).addClass('has-signature') 34 } 35} 36function initiateCanvas(canvasElement) { 37 console.log(jQuery(canvasElement).width(), canvasElement.height()) 38 var FormData = canvasElement.parents('.fc-form').data('FormCraft'); 39 var fieldID = canvasElement.parents('.form-element').attr('data-identifier') 40 canvasElement.attr('width', canvasElement.css('width')).attr('height', canvasElement.css('height')) 41 FormData.SignaturePad = FormData.SignaturePad || []; 42 FormData.SignaturePad[fieldID] = new SignaturePad(canvasElement[0], { 43 backgroundColor: 'rgb(252, 252, 252)', 44 penColor: 'rgb(0, 0, 0)' 45 }); 46 jQuery(canvasElement).on('mouseup touchend', function() { 47 saveSignature(FormData.formID, fieldID); 48 }); 49}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.