$.pjax.defaults.timeout = 5000;
$.pjax.defaults.maxCacheLength = 0;
$(document).pjax('a:not(a[target="_blank"])', {
    container: '#pjax-container'
});

NProgress.configure({parent: '#app'});

$(document).on('pjax:timeout', function (event) {
    event.preventDefault();
})

$(document).on('submit', 'form[pjax-container]', function (event) {
    $.pjax.submit(event, '#pjax-container')
});

$(document).on("pjax:popstate", function () {

    $(document).one("pjax:end", function (event) {
        $(event.target).find("script[data-exec-on-popstate]").each(function () {
            $.globalEval(this.text || this.textContent || this.innerHTML || '');
        });
    });
});

$(document).on('pjax:send', function (xhr) {
    if (xhr.relatedTarget && xhr.relatedTarget.tagName && xhr.relatedTarget.tagName.toLowerCase() === 'form') {
        $submit_btn = $('form[pjax-container] :submit');
        if ($submit_btn) {
            $submit_btn.button('loading')
        }
    }
    NProgress.start();
});

$(document).on('pjax:complete', function (xhr) {
    if (xhr.relatedTarget && xhr.relatedTarget.tagName && xhr.relatedTarget.tagName.toLowerCase() === 'form') {
        $submit_btn = $('form[pjax-container] :submit');
        if ($submit_btn) {
            $submit_btn.button('reset')
        }
    }
    NProgress.done();
});

$.fn.editable.defaults.params = function (params) {
    params._token = LA.token;
    params._editable = 1;
    params._method = 'PUT';
    return params;
};

$.fn.editable.defaults.error = function (data) {
    var msg = '';
    if (data.responseJSON.errors) {
        $.each(data.responseJSON.errors, function (k, v) {
            msg += v + "\n";
        });
    }
    return msg
};

toastr.options = {
    closeButton: true,
    progressBar: true,
    showMethod: 'slideDown',
    timeOut: 4000
};

$(function () {
    $('.nav-sidebar li:not(.has-treeview) > a').on('click', function () {
        $('.nav-sidebar').find('.nav-link').removeClass('active');
        $(this).addClass('active');
        $(this).parent().siblings('.has-treeview.menu-open').find('> a').trigger('click');
        $(this).parents('.has-treeview.menu-open').find('> a').addClass('active');
    });
    var menu = $('.nav-sidebar li > a[href="' + (location.pathname + location.search + location.hash) + '"]').addClass('active');
    menu.parents('li.has-treeview').addClass('menu-open');
    menu.parent().siblings().find('.nav-link').removeClass('active');
    menu.parents('ul.nav-treeview').siblings('.nav-link').addClass('active');

    $('[data-toggle="popover"]').popover();
});

(function ($) {
    $.fn.admin = LA;
    $.admin = LA;

})(jQuery);