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 });