github.com/retailcrm/mg-bot-helper@v0.0.0-20201229112329-a17255681a84/static/script.js (about)

     1  $('#save-crm').on("submit", function(e) {
     2      e.preventDefault();
     3      let formData = formDataToObj($(this).serializeArray());
     4      $(this).find('button.btn').addClass('disabled');
     5      $(this).find(".material-icons").addClass('animate');
     6      $("form :input").prop("disabled", true);
     7      send(
     8          $(this).attr('action'),
     9          formData,
    10          function (data) {
    11              sessionStorage.setItem("createdMsg", data.message);
    12  
    13              document.location.replace(
    14                  location.protocol.concat("//").concat(window.location.host) + data.url
    15              );
    16          }
    17      )
    18  });
    19  
    20  $("#but-settings").on("click", function(e) {
    21      e.preventDefault();
    22      $(this).addClass('disabled');
    23      $(this).find(".material-icons").addClass('animate');
    24      send(
    25          $(this).attr('data-action'),
    26          {
    27              client_id: $(this).attr('data-clientID'),
    28              lang: $("select#lang").find(":selected").text(),
    29              currency: $("select#currency").find(":selected").val()
    30          },
    31          function (data) {
    32              M.toast({
    33                  html: data.msg,
    34                  displayLength: 1000,
    35                  completeCallback: function(){
    36                      $(document).find('#but-settings').removeClass('disabled');
    37                      $(document).find(".material-icons").removeClass('animate');
    38                  }
    39              });
    40          }
    41      )
    42  });
    43  
    44  $("#save").on("submit", function(e) {
    45      e.preventDefault();
    46      let formData = formDataToObj($(this).serializeArray());
    47      $(this).find('button.btn').addClass('disabled');
    48      $(this).find(".material-icons").addClass('animate');
    49      $("form :input").prop("disabled", true);
    50      send(
    51          $(this).attr('action'),
    52          formData,
    53          function (data) {
    54              M.toast({
    55                  html: data.msg,
    56                  displayLength: 1000,
    57                  completeCallback: function(){
    58                      $(document).find('button.btn').removeClass('disabled');
    59                      $(document).find(".material-icons").removeClass('animate');
    60                      $("form :input").prop("disabled", false);
    61                  }
    62              });
    63          }
    64      )
    65  });
    66  
    67  function send(url, data, callback) {
    68      $.ajax({
    69          url: url,
    70          data: JSON.stringify(data),
    71          type: "POST",
    72          success: callback,
    73          error: function (res) {
    74              if (res.status >= 400) {
    75                  M.toast({
    76                      html: res.responseJSON.error,
    77                      displayLength: 1000,
    78                      completeCallback: function(){
    79                          $(document).find('button.btn').removeClass('disabled');
    80                          $(document).find(".material-icons").removeClass('animate');
    81                          $("form :input").prop("disabled", false);
    82                      }
    83                  })
    84              }
    85          }
    86      });
    87  }
    88  
    89  function formDataToObj(formArray) {
    90      let obj = {};
    91      for (let i = 0; i < formArray.length; i++){
    92          obj[formArray[i]['name']] = formArray[i]['value'];
    93      }
    94      return obj;
    95  }
    96  
    97  $( document ).ready(function() {
    98      $('select').formSelect();
    99      M.Tabs.init(document.getElementById("tab"));
   100  
   101      let createdMsg = sessionStorage.getItem("createdMsg");
   102      if (createdMsg) {
   103          setTimeout(function() {
   104              M.toast({
   105                  html: createdMsg
   106              });
   107              sessionStorage.removeItem("createdMsg");
   108          }, 1000);
   109      }
   110  });