PageSourceSearch

https://designerholidaysindia.com/wp-content/plugins/ultimate-addo…/assets/public/js/signature.js?ver=3.5.52

js designerholidaysindia.com collected 2026-10-04 02:53:51 UTC 4,194 bytes, 111 lines download raw bytes

1jQuery(document).ready(function ($) {
2
3    // signature function for load the signature
4    function uacf7_signature_load() {
5        var forms = $(".wpcf7");
6        var signs = [];
7
8        forms.each(function (k, form) {
9            var formId = $(this).find('input[name="_wpcf7"]').val();
10            var fileInput = $('.uacf7-form-' + formId).find('.img_id_special');
11
12            fileInput.css('display', 'none');
13
14            var data = [];
15            var pad_bg_color = fileInput.attr('bg-color');
16            var pen_color = fileInput.attr('pen-color');
17
18            $(form).find(".signature-pad").each(function (i, wrap) {
19                var canvas = $(wrap).find('canvas').get(0);
20                var signaturePad = new SignaturePad(canvas, {
21                    includeBackgroundColor: true,
22                    backgroundColor: pad_bg_color,
23                    penColor: pen_color,
24                });
25
26
27                signs[k + '-' + i] = signaturePad;
28                signs[k + '-' + i].addEventListener('endStroke', function (e) {
29                    data = signaturePad.toDataURL('image/png');
30
31                    var field_id = $(wrap).attr('data-field-name');
32                    var input_id = $('input[name="' + field_id + '"]');
33                    const image = new Image();
34
35                    image.src = data;
36                    image.setAttribute('class', 'uacf7-Uacf7UploadedImageForSign');
37                    image.setAttribute('data-field-name', field_id);
38
39                    document.body.appendChild(image);
40
41                    const imagePreview = document.querySelector('img[data-field-name="' + field_id + '"]');
42                    const dataUrl = imagePreview.src;
43                    const blob = dataURLtoBlob(dataUrl);
44                    const fileName = 'signature' + field_id + '.jpg';
45                    const file = new File([blob], fileName);
46                    const fileList = new DataTransfer();
47
48                    fileList.items.add(file);
49                    input_id.prop("files", fileList.files);
50                    image.remove();
51
52                    function dataURLtoBlob(dataUrl) {
53                        const parts = dataUrl.split(';base64,');
54                        const contentType = parts[0].split(':')[1];
55                        const raw = window.atob(parts[1]);
56                        const rawLength = raw.length;
57                        const uint8Array = new Uint8Array(rawLength);
58
59                        for (let i = 0; i < rawLength; ++i) {
60                            uint8Array[i] = raw.charCodeAt(i);
61                        }
62
63                        return new Blob([uint8Array], { type: contentType });
64                    }
65                });
66
67                canvas.style.cursor = "crosshair";
68
69                //Clearing after form Submission
70                $('.uacf7-form-' + formId).find('.wpcf7-submit').click(function () {
71                    signaturePad.clear();
72                });
73
74            });
75
76            // Uacf7 signature clear function handler
77            $('.clear-button').click(function (e) {
78                e.preventDefault();
79                var signature_canvas = $(this).closest('.wpcf7-form-control-wrap').find('.signature-pad').find('canvas').get(0);
80                var canvas_file_input_field = $(this).closest('.wpcf7-form-control-wrap').find('input[type="file"]');
81
82                canvas_file_input_field.val('');
83
84                var signaturePadInstance = new SignaturePad(signature_canvas, {
85                    includeBackgroundColor: true,
86                    backgroundColor: pad_bg_color,
87                    penColor: pen_color,
88                });
89
90                signaturePadInstance.clear();
91                signs = [];
92
93            });
94
95
96            /** Preventing file system opening */
97            $('.uacf7-form-' + formId).find('.img_id_special').click(function (e) {
98                e.preventDefault();
99            });
100
101        });
102    }
103
104    uacf7_signature_load();
105
106    // Recall the signature function if repeater addon repeat
107    $(document).on('click', '.uacf7_repeater_add', function () {
108        uacf7_signature_load();
109    });
110
111});

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.