PageSourceSearch

https://ngen.michigansaves.org/assets/src/signature-be499eb01543f8…5e5d6e6bdca5fd64f0cc904e136c376f92b61788.js

js michigansaves.org collected 2026-10-04 00:05:05 UTC 1,956 bytes, 57 lines download raw bytes

1import { init } from "src/util";
2import SignaturePad from "signature_pad";
3
4function init_signature_pad() {
5  $("canvas.signature_pad").each(function () {
6    const canvas = $(this),
7      signature_pad = new SignaturePad(this);
8
9    this.signaturePad = signature_pad;
10
11    let readonly =
12      canvas.data("readonly") == true || canvas.data("readonly") == "true" || canvas.attr("data-readonly") == "";
13    if (readonly) signature_pad.off();
14
15    let data = canvas.data("path");
16    if (data) signature_pad.fromData(data);
17
18    canvas
19      .siblings(".signature-label")
20      .find(".clear-signature-pad")
21      .on("click", function (e) {
22        e.preventDefault();
23        signature_pad.clear();
24      });
25
26    $(this)
27      .parents("form")
28      .on("submit", function () {
29        canvas.siblings('input.path_field[type="hidden"]').val(JSON.stringify(signature_pad.toData()));
30        canvas.siblings('input.data_uri_field[type="hidden"]').val(signature_pad.toDataURL());
31      });
32
33    return true;
34  });
35}
36
37function signature_method_toggle() {
38  $(
39    'input[type="radio"][name="contractor_program_application[agreement_method]"], input[type="radio"][name="certificate_of_completion[signature_method]"]'
40  ).each(function () {
41    let elem = $(this),
42      container = elem.parents(".signature_container"),
43      electronic_agreement_method = container.find(".electronic_agreement_method, .electronic_signature_method"),
44      offline_agreement_method = container.find(".offline_agreement_method, .offline_signature_method");
45    elem.on("change", function () {
46      if (this.value == "electronic") {
47        electronic_agreement_method.removeClass("d-none");
48        offline_agreement_method.addClass("d-none");
49      } else if (this.value == "offline") {
50        offline_agreement_method.removeClass("d-none");
51        electronic_agreement_method.addClass("d-none");
52      }
53    });
54  });
55}
56
57init(init_signature_pad, signature_method_toggle);

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.