UNPKG

datasafer-laravel

Version:

Extensão do sitema de frontend para o Laravel Mix

100 lines (83 loc) 2.51 kB
export default (function() { window.axios = require("axios"); window.axios_no_csrf = require("axios"); window.axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest"; /** * Next we will register the CSRF Token as a common header with Axios so that * all outgoing HTTP requests automatically have it attached. This is just * a simple convenience so we don't have to attach every token manually. */ let token = document.head.querySelector('meta[name="csrf-token"]'); if (token) { window.axios.defaults.headers.common["X-CSRF-TOKEN"] = token.content; } else { console.error( "CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token" ); } var numberOfAjaxCAllPending = 0; // Add a request interceptor axios.interceptors.request.use( function(config) { numberOfAjaxCAllPending++; ajaxLoadStart(); return config; }, function(error) { return Promise.reject(error); } ); // Add a response interceptor axios.interceptors.response.use( (response) => { numberOfAjaxCAllPending--; if (numberOfAjaxCAllPending == 0) { ajaxLoadStop(); } return response; }, (error) => { // Do something with response error if (422 === error.response.status) { //If ther is an error message show the first of them var error_message = "Erro desconhecido..."; var data = error.response.data; if (data != undefined) { if (data.errors != undefined) { //Laravel form validation errors handling var lkey = Object.keys(data.errors)[0]; error_message = data.errors[lkey][0]; } else { if (data.message != undefined) { error_message = data.message; } } } swal({ position: "top-end", type: "error", backdrop: false, allowOutsideClick: false, text: error_message, showConfirmButton: false, timer: 3000 }); } else { swal({ position: "top-end", type: "error", backdrop: false, allowOutsideClick: false, text: "Erro inesperado...", showConfirmButton: false, timer: 3000 }); } numberOfAjaxCAllPending--; if (numberOfAjaxCAllPending == 0) { ajaxLoadStop(); } return Promise.reject(error); } ); })();