Sha256: df65c8eba5b53358fb2dcf3d25fd55e5bcef60f1ab5631b8907abad567a4b8fb

Contents?: true

Size: 1.92 KB

Versions: 24

Compression:

Stored size: 1.92 KB

Contents

/* eslint-disable require-jsdoc, prefer-template, func-style, id-length, no-use-before-define, init-declarations, no-invalid-this */
/* eslint no-unused-vars: ["error", { "args": "none" }] */

import { Client } from "@decidim/decidim-bulletin_board";

$(() => {
  const $voteVerifyWrapper = $(".verify-vote-wrapper");
  const $verifySubmitButton = $voteVerifyWrapper.find("a.focus__next.confirm");

  let $formData = $voteVerifyWrapper.find(".vote-identifier");

  function initStep() {
    toggleVerifyButton();
    onVoteIdentifierChange();
  }

  initStep();

  function onVoteIdentifierChange() {
    $formData.on("keyup input", (event) => {
      toggleVerifyButton();
      hideSuccessCallout();
      hideErrorCallout();
    });
  }

  function toggleVerifyButton() {
    if ($formData.val().length > 5) {
      $($verifySubmitButton).removeClass("disabled");
    } else {
      $($verifySubmitButton).addClass("disabled");
    }
  }

  function hideSuccessCallout() {
    $voteVerifyWrapper.find(".verify-vote-success").addClass("hide");
  }

  function hideErrorCallout() {
    $voteVerifyWrapper.find(".verify-vote-error").addClass("hide");
  }

  $verifySubmitButton.on("click", (event) => {
    event.preventDefault();
    verifyVoteIdentifier();
  });

  function verifyVoteIdentifier() {
    const bulletinBoardClient = new Client({
      apiEndpointUrl: $voteVerifyWrapper.data("apiEndpointUrl")
    });

    bulletinBoardClient.
      getLogEntry({
        electionUniqueId: $voteVerifyWrapper.data("electionUniqueId"),
        contentHash: $formData.val()
      }).
      then((result) => {
        if (result) {
          hideErrorCallout();
          $voteVerifyWrapper.find(".verify-vote-success").removeClass("hide");
        } else {
          hideSuccessCallout();
          $voteVerifyWrapper.find(".verify-vote-error").removeClass("hide");
        }
      });
  }

  $(document).on("on.zf.toggler", (event) => {
    initStep();
  });
});

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
decidim-elections-0.27.9 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.27.8 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.27.7 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.27.6 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.26.10 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.26.9 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.27.5 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.26.8 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.27.4 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.27.3 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.26.7 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.26.5 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.27.2 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.27.1 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.26.4 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.27.0 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.26.3 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.27.0.rc2 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.27.0.rc1 app/packs/src/decidim/elections/voter/verify-vote.js
decidim-elections-0.26.2 app/packs/src/decidim/elections/voter/verify-vote.js