Untitled

 avatar
unknown
javascript
18 days ago
3.0 kB
3
Indexable
$(document).on('submit', '.settingsForm', function(e) {
            e.preventDefault();

            var data = new FormData(this);

            var route = $(this).attr('data-route');
            var submitButton = e.originalEvent ? $(e.originalEvent.submitter) : null;

            var submitButtonExists = submitButton && submitButton.length > 0;

            $.ajax({
                method: 'post',
                url: route,
                dataType: 'json',
                cache: false,
                processData: false,
                contentType: false,
                data: data,
                beforeSend: function() {
                    if (submitButtonExists) {
                        submitButton.find(".note-btn-spinner").remove();
                        submitButton.append(`<div class="ms-1 spinner-border spinner-border-sm text-white note-btn-spinner" role="status">
                            <span class="visually-hidden"></span>
                        </div>`);
                    }

                    if ($('#add-ticket-field').hasClass('show')) {
                        $('#cardloader').removeClass('d-none');
                    }
                },
                success: function(response) {
                    if ($('#add-ticket-field').hasClass('show')) {
                        $('#add-ticket-field').modal('hide');
                    }

                    if (response.cards_html) {
                        $('#ticketAddform').trigger("reset");
                        $('#ticketInputCards').html(response.cards_html);
                    }

                    if (response.errors) {
                        $.each(response.errors, function(key, value) {
                            toastr(value, 'danger');
                        });
                    }

                    if (response.message) {
                        var className = response.status ? 'success' : 'danger';
                        toastr(response.message, className);
                    }
                },
                error: function(error) {
                    if (error && error.responseJSON) {
                        if (error.responseJSON.errors) {
                            for (let i in error.responseJSON.errors) {
                                toastr(error.responseJSON.errors[i][0], 'danger');
                            }
                        } else {
                            toastr(error.responseJSON.message || error.responseJSON.error, 'danger');
                        }
                    } else {
                        toastr(error.message, 'danger');
                    }
                },
                complete: function() {
                    if (submitButtonExists) {
                        submitButton.find(".note-btn-spinner").remove();
                    }
                    $('#cardloader').addClass('d-none');
                },
            });
        });
Leave a Comment