From 3468630541f94c1bf0a1bc8e36909e669c147ee4 Mon Sep 17 00:00:00 2001 From: John Martin Date: Fri, 3 Jul 2015 19:37:28 +0700 Subject: [PATCH] Catch when ajax error - Fixed johnitvn/yii2-ajaxcrud#1 --- assets/ajaxcrud.js | 9 ++++++++- assets/ajaxcrud.min.js | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/assets/ajaxcrud.js b/assets/ajaxcrud.js index cbcb24f..66a647f 100644 --- a/assets/ajaxcrud.js +++ b/assets/ajaxcrud.js @@ -21,7 +21,9 @@ return this.attr(name) !== undefined; }; - + String.prototype.capitalizeFirstLetter = function() { + return this.charAt(0).toUpperCase() + this.slice(1); + } function closeModal(){ @@ -66,6 +68,11 @@ $.ajax({ url:settings.url, method:settings.method, + error:function(request, textStatus, errorThrown){ + $(modalId).find('.modal-header .modal-title').remove(); + $(modalId).find('.modal-header').append(''); + $(modalId).find('.modal-body').html(request.responseText); + }, success:function(response){ $(modalId).find('.modal-header .modal-title').remove(); $(modalId).find('.modal-header').append(''); diff --git a/assets/ajaxcrud.min.js b/assets/ajaxcrud.min.js index ebe6fe4..ec9c6bd 100644 --- a/assets/ajaxcrud.min.js +++ b/assets/ajaxcrud.min.js @@ -1 +1 @@ -!function(t){function e(){t(h).modal("toggle")}function a(a){var o=t.extend({type:"default",title:"",closeButton:!0,loading:!0,url:"create",method:"GET",positiveButton:null,negativeButton:null,onPositiveClick:null,onNegativeClick:null},a);t(h).find(".modal-dialog").addClass("modal-"+o.type),o.loading&&(t(h).find(".modal-header .modal-title").remove(),t(h).find(".modal-header").append(''),t(h).find(".modal-body").html('
')),o.closeButton||t(h).find(".modal-title button.close").remove(),t(h).modal(),t.ajax({url:o.url,method:o.method,success:function(a){t(h).find(".modal-header .modal-title").remove(),t(h).find(".modal-header").append('"),t(h).find(".modal-body").html(a.data),(null!=o.positiveButton||null!=o.negativeButton)&&(modalFooter=document.createElement("div"),modalFooter.setAttribute("class","modal-footer"),t(h).find(".modal-content").append(modalFooter),null!=o.positiveButton&&(positiveButtonElm=document.createElement("button"),positiveButtonElm.setAttribute("class","btn btn-primary"),positiveButtonElm.innerHTML=o.positiveButton,t(modalFooter).append(positiveButtonElm),null!=o.onPositiveClick&&t(positiveButtonElm).click(function(t){o.onPositiveClick(t)})),null!=o.negativeButton&&(negativeButtonElm=document.createElement("button"),negativeButtonElm.setAttribute("class","btn btn-default pull-left"),negativeButtonElm.innerHTML=o.negativeButton,t(modalFooter).append(negativeButtonElm),t(negativeButtonElm).click(function(t){e(),null!=o.onNegativeClick&&o.onNegativeClick(t)}))),t(this).find("form").submit(function(t){t.preventDefault()})}})}function o(){$modalDialog=t(h).find(".modal-dialog"),$modalDialog.attr("class",""),$modalDialog.addClass("modal-dialog"),t(h).find(".modal-footer").remove(),t(h).find(".modal-body").html(""),t(h).find(".modal-title").html("")}function i(){t.pjax.reload({container:p})}function l(t){t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen()}function n(){document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()}function d(e){e.preventDefault(),a({url:t(b).attr("href"),title:t(b).hasAttr("data-modal-title")?t(b).attr("data-modal-title"):"Create new",positiveButton:t(b).hasAttr("data-modal-positive")?t(b).attr("data-modal-positive"):"Save",negativeButton:t(b).hasAttr("data-modal-negative")?t(b).attr("data-modal-negative"):"Cancel",onPositiveClick:v})}function s(a){return a.preventDefault(),confirm(t(this).attr("data-confirm-message"))&&(t(h).find(".modal-header .modal-title").remove(),t(h).find(".modal-header").append(''),t(h).find(".modal-body").html('
'),t(h).modal(),t.ajax({url:t(this).attr("href"),method:t(this).attr("data-method"),success:function(){i(),e()}})),!1}function r(e){e.preventDefault(),a({url:t(this).attr("href"),title:t(this).hasAttr("data-modal-title")?t(this).attr("data-modal-title"):"View",negativeButton:t(this).hasAttr("data-modal-negative")?t(this).attr("data-modal-negative"):"Close"})}function c(e){e.preventDefault(),a({url:t(this).attr("href"),title:t(this).hasAttr("data-modal-title")?t(this).attr("data-modal-title"):"Update",positiveButton:t(this).hasAttr("data-modal-positive")?t(this).attr("data-modal-positive"):"Save",negativeButton:t(this).hasAttr("data-modal-negative")?t(this).attr("data-modal-negative"):"Cancel",onPositiveClick:f})}function m(a){a.preventDefault();var o=[];return t('input:checkbox[name="selection[]"]').each(function(){this.checked&&o.push(t(this).val())}),0==o.length?!1:(confirm(t(k).attr("data-confirm-message"))&&(t(h).find(".modal-header .modal-title").remove(),t(h).find(".modal-header").append(''),t(h).find(".modal-body").html('
'),t(h).modal(),t.ajax({url:t(k).attr("href"),method:t(k).attr("data-method"),data:{pks:JSON.stringify(o)},success:function(){i(),e()}})),!1)}function u(){t(window).data("fullscreen-state")?n():l(document.getElementById(p.substring(1)))}function f(){var e=t(h).find("form");t.ajax({url:t(e).attr("action"),method:t(e).attr("method"),data:t(e).serialize(),success:function(e){200==e.code?(i(),t(h).find(".modal-dialog").addClass("modal-success"),t(h).find(".modal-body").html(e.message),$successNegativeButton=t(y).hasAttr("data-modal-negative-success")?t(this).attr("data-modal-negative-success"):"Close",t(h).find(".modal-footer .btn-default").html($successNegativeButton),t(h).find(".modal-footer .btn-primary").remove()):400==e.code&&t(h).find(".modal-body").html(e.data)}})}function v(){var e=t(h).find("form");t.ajax({url:t(e).attr("action"),method:t(e).attr("method"),data:t(e).serialize(),success:function(e){200==e.code?(i(),t(h).find(".modal-dialog").addClass("modal-success"),t(h).find(".modal-body").html(e.message),$successNegativeButton=t(b).hasAttr("data-modal-negative-success")?t(this).attr("data-modal-negative-success"):"Close",t(h).find(".modal-footer .btn-default").html($successNegativeButton),$successPositiveButton=t(b).hasAttr("data-modal-positive-success")?t(this).attr("data-modal-positive-success"):"Create other",t(h).find(".modal-footer .btn-primary").html($successPositiveButton),t(h).find(".modal-footer .btn-primary").click(function(t){o(),d(t)})):400==e.code&&t(h).find(".modal-body").html(e.data)}})}var h="#ajaxCrubModal",g="#ajaxCrudDatatable",p="#crud-datatable-pjax",b=".create-action-button",B=".delete-action-button",y=".update-action-button",C=".view-action-button",k=".btn-bulk-delete",F=".btn-toggle-fullscreen";t.fn.hasAttr=function(t){return void 0!==this.attr(t)},t(window).bind("fullscreen-on",function(){t(F).find("i").removeClass("glyphicon-resize-full"),t(F).find("i").addClass("glyphicon-resize-small")}),t(window).bind("fullscreen-off",function(){t(F).find("i").removeClass("glyphicon-resize-small"),t(F).find("i").addClass("glyphicon-resize-full")}),t(g).on("click",b,d),t(g).on("click",B,s),t(g).on("click",C,r),t(g).on("click",y,c),t(g).on("click",k,m),t(g).on("click",F,u),t(h).on("hidden.bs.modal",o)}(jQuery); \ No newline at end of file +!function(t){function e(){t(h).modal("toggle")}function a(a){var o=t.extend({type:"default",title:"",closeButton:!0,loading:!0,url:"create",method:"GET",positiveButton:null,negativeButton:null,onPositiveClick:null,onNegativeClick:null},a);t(h).find(".modal-dialog").addClass("modal-"+o.type),o.loading&&(t(h).find(".modal-header .modal-title").remove(),t(h).find(".modal-header").append(''),t(h).find(".modal-body").html('
')),o.closeButton||t(h).find(".modal-title button.close").remove(),t(h).modal(),t.ajax({url:o.url,method:o.method,error:function(e,a,o){t(h).find(".modal-header .modal-title").remove(),t(h).find(".modal-header").append('"),t(h).find(".modal-body").html(e.responseText)},success:function(a){t(h).find(".modal-header .modal-title").remove(),t(h).find(".modal-header").append('"),t(h).find(".modal-body").html(a.data),(null!=o.positiveButton||null!=o.negativeButton)&&(modalFooter=document.createElement("div"),modalFooter.setAttribute("class","modal-footer"),t(h).find(".modal-content").append(modalFooter),null!=o.positiveButton&&(positiveButtonElm=document.createElement("button"),positiveButtonElm.setAttribute("class","btn btn-primary"),positiveButtonElm.innerHTML=o.positiveButton,t(modalFooter).append(positiveButtonElm),null!=o.onPositiveClick&&t(positiveButtonElm).click(function(t){o.onPositiveClick(t)})),null!=o.negativeButton&&(negativeButtonElm=document.createElement("button"),negativeButtonElm.setAttribute("class","btn btn-default pull-left"),negativeButtonElm.innerHTML=o.negativeButton,t(modalFooter).append(negativeButtonElm),t(negativeButtonElm).click(function(t){e(),null!=o.onNegativeClick&&o.onNegativeClick(t)}))),t(this).find("form").submit(function(t){t.preventDefault()})}})}function o(){$modalDialog=t(h).find(".modal-dialog"),$modalDialog.attr("class",""),$modalDialog.addClass("modal-dialog"),t(h).find(".modal-footer").remove(),t(h).find(".modal-body").html(""),t(h).find(".modal-title").html("")}function i(){t.pjax.reload({container:g})}function l(t){t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen()}function n(){document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()}function d(e){e.preventDefault(),a({url:t(b).attr("href"),title:t(b).hasAttr("data-modal-title")?t(b).attr("data-modal-title"):"Create new",positiveButton:t(b).hasAttr("data-modal-positive")?t(b).attr("data-modal-positive"):"Save",negativeButton:t(b).hasAttr("data-modal-negative")?t(b).attr("data-modal-negative"):"Cancel",onPositiveClick:v})}function s(a){return a.preventDefault(),confirm(t(this).attr("data-confirm-message"))&&(t(h).find(".modal-header .modal-title").remove(),t(h).find(".modal-header").append(''),t(h).find(".modal-body").html('
'),t(h).modal(),t.ajax({url:t(this).attr("href"),method:t(this).attr("data-method"),success:function(){i(),e()}})),!1}function r(e){e.preventDefault(),a({url:t(this).attr("href"),title:t(this).hasAttr("data-modal-title")?t(this).attr("data-modal-title"):"View",negativeButton:t(this).hasAttr("data-modal-negative")?t(this).attr("data-modal-negative"):"Close"})}function c(e){e.preventDefault(),a({url:t(this).attr("href"),title:t(this).hasAttr("data-modal-title")?t(this).attr("data-modal-title"):"Update",positiveButton:t(this).hasAttr("data-modal-positive")?t(this).attr("data-modal-positive"):"Save",negativeButton:t(this).hasAttr("data-modal-negative")?t(this).attr("data-modal-negative"):"Cancel",onPositiveClick:f})}function m(a){a.preventDefault();var o=[];return t('input:checkbox[name="selection[]"]').each(function(){this.checked&&o.push(t(this).val())}),0==o.length?!1:(confirm(t(k).attr("data-confirm-message"))&&(t(h).find(".modal-header .modal-title").remove(),t(h).find(".modal-header").append(''),t(h).find(".modal-body").html('
'),t(h).modal(),t.ajax({url:t(k).attr("href"),method:t(k).attr("data-method"),data:{pks:JSON.stringify(o)},success:function(){i(),e()}})),!1)}function u(){t(window).data("fullscreen-state")?n():l(document.getElementById(g.substring(1)))}function f(){var e=t(h).find("form");t.ajax({url:t(e).attr("action"),method:t(e).attr("method"),data:t(e).serialize(),success:function(e){200==e.code?(i(),t(h).find(".modal-dialog").addClass("modal-success"),t(h).find(".modal-body").html(e.message),$successNegativeButton=t(y).hasAttr("data-modal-negative-success")?t(this).attr("data-modal-negative-success"):"Close",t(h).find(".modal-footer .btn-default").html($successNegativeButton),t(h).find(".modal-footer .btn-primary").remove()):400==e.code&&t(h).find(".modal-body").html(e.data)}})}function v(){var e=t(h).find("form");t.ajax({url:t(e).attr("action"),method:t(e).attr("method"),data:t(e).serialize(),success:function(e){200==e.code?(i(),t(h).find(".modal-dialog").addClass("modal-success"),t(h).find(".modal-body").html(e.message),$successNegativeButton=t(b).hasAttr("data-modal-negative-success")?t(this).attr("data-modal-negative-success"):"Close",t(h).find(".modal-footer .btn-default").html($successNegativeButton),$successPositiveButton=t(b).hasAttr("data-modal-positive-success")?t(this).attr("data-modal-positive-success"):"Create other",t(h).find(".modal-footer .btn-primary").html($successPositiveButton),t(h).find(".modal-footer .btn-primary").click(function(t){o(),d(t)})):400==e.code&&t(h).find(".modal-body").html(e.data)}})}var h="#ajaxCrubModal",p="#ajaxCrudDatatable",g="#crud-datatable-pjax",b=".create-action-button",B=".delete-action-button",y=".update-action-button",C=".view-action-button",k=".btn-bulk-delete",F=".btn-toggle-fullscreen";t.fn.hasAttr=function(t){return void 0!==this.attr(t)},String.prototype.capitalizeFirstLetter=function(){return this.charAt(0).toUpperCase()+this.slice(1)},t(window).bind("fullscreen-on",function(){t(F).find("i").removeClass("glyphicon-resize-full"),t(F).find("i").addClass("glyphicon-resize-small")}),t(window).bind("fullscreen-off",function(){t(F).find("i").removeClass("glyphicon-resize-small"),t(F).find("i").addClass("glyphicon-resize-full")}),t(p).on("click",b,d),t(p).on("click",B,s),t(p).on("click",C,r),t(p).on("click",y,c),t(p).on("click",k,m),t(p).on("click",F,u),t(h).on("hidden.bs.modal",o)}(jQuery); \ No newline at end of file