diff --git a/CrudAsset.php b/CrudAsset.php
index 2a58a57..d32130d 100644
--- a/CrudAsset.php
+++ b/CrudAsset.php
@@ -16,8 +16,11 @@ class CrudAsset extends AssetBundle
public $css = [
];
public $js = [
+ //'jquery.fullscreen.js',
//'ajaxcrud.js',
+ 'jquery.fullscreen.min.js',
'ajaxcrud.min.js',
+
];
public $depends = [
'yii\web\YiiAsset',
diff --git a/assets/ajaxcrud.js b/assets/ajaxcrud.js
index c688808..cbcb24f 100644
--- a/assets/ajaxcrud.js
+++ b/assets/ajaxcrud.js
@@ -2,6 +2,7 @@
* Ajax Crud
* =================================
* Use for johnitvn/yii2-ajaxcrud extension
+ * @author John Martin john.itvn@gmail.com
*/
(function( $ ) {
@@ -237,22 +238,22 @@
return false;
}
+
function onToggleFullscreenAction(){
- if($(this).find("i").hasClass('glyphicon-resize-full')){
- launchIntoFullscreen(document.getElementById(dataTablePjaxId.substring(1))); // the whole page
- $(this).find("i").removeClass('glyphicon-resize-full');
- $(this).find("i").addClass('glyphicon-resize-small');
- $(createActionButtonCls).addClass("hidden");
- }else{
- exitFullscreen();
- $(this).find("i").removeClass('glyphicon-resize-small');
- $(this).find("i").addClass('glyphicon-resize-full');
- $(createActionButtonCls).removeClass("hidden");
- }
-
+ $(window).data('fullscreen-state')?exitFullscreen():launchIntoFullscreen(document.getElementById(dataTablePjaxId.substring(1)));
}
-
+ $(window).bind("fullscreen-on", function(e) {
+ $(toggleFullscreenActionButtonCls).find("i").removeClass('glyphicon-resize-full');
+ $(toggleFullscreenActionButtonCls).find("i").addClass('glyphicon-resize-small');
+ });
+
+ $(window).bind("fullscreen-off", function(e) {
+ $(toggleFullscreenActionButtonCls).find("i").removeClass('glyphicon-resize-small');
+ $(toggleFullscreenActionButtonCls).find("i").addClass('glyphicon-resize-full');
+ });
+
+
function onUpdatePositiveClick(e){
var form = $(modalId).find('form');
$.ajax({
@@ -342,8 +343,10 @@
$(modalId).on('hidden.bs.modal',clearModalData);
+
-}( jQuery ));
+}( jQuery ));
+
diff --git a/assets/ajaxcrud.min.js b/assets/ajaxcrud.min.js
index 6b33722..ebe6fe4 100644
--- a/assets/ajaxcrud.min.js
+++ b/assets/ajaxcrud.min.js
@@ -1,5 +1 @@
-/*!
- * Ajax Crud
- * =================================
- * Use for johnitvn/yii2-ajaxcrud extension
- */!function(t){function e(){t(f).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(f).find(".modal-dialog").addClass("modal-"+o.type),o.loading&&(t(f).find(".modal-header .modal-title").remove(),t(f).find(".modal-header").append('
Loading
'),t(f).find(".modal-body").html('')),o.closeButton||t(f).find(".modal-title button.close").remove(),t(f).modal(),t.ajax({url:o.url,method:o.method,success:function(a){t(f).find(".modal-header .modal-title").remove(),t(f).find(".modal-header").append(''+o.title+"
"),t(f).find(".modal-body").html(a.data),(null!=o.positiveButton||null!=o.negativeButton)&&(modalFooter=document.createElement("div"),modalFooter.setAttribute("class","modal-footer"),t(f).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(f).find(".modal-dialog"),$modalDialog.attr("class",""),$modalDialog.addClass("modal-dialog"),t(f).find(".modal-footer").remove(),t(f).find(".modal-body").html(""),t(f).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:h})}function s(a){return a.preventDefault(),confirm(t(this).attr("data-confirm-message"))&&(t(f).find(".modal-header .modal-title").remove(),t(f).find(".modal-header").append('Loading
'),t(f).find(".modal-body").html(''),t(f).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:v})}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(f).find(".modal-header .modal-title").remove(),t(f).find(".modal-header").append('Loading
'),t(f).find(".modal-body").html(''),t(f).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(this).find("i").hasClass("glyphicon-resize-full")?(l(document.getElementById(p.substring(1))),t(this).find("i").removeClass("glyphicon-resize-full"),t(this).find("i").addClass("glyphicon-resize-small"),t(b).addClass("hidden")):(n(),t(this).find("i").removeClass("glyphicon-resize-small"),t(this).find("i").addClass("glyphicon-resize-full"),t(b).removeClass("hidden"))}function v(){var e=t(f).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(f).find(".modal-dialog").addClass("modal-success"),t(f).find(".modal-body").html(e.message),$successNegativeButton=t(C).hasAttr("data-modal-negative-success")?t(this).attr("data-modal-negative-success"):"Close",t(f).find(".modal-footer .btn-default").html($successNegativeButton),t(f).find(".modal-footer .btn-primary").remove()):400==e.code&&t(f).find(".modal-body").html(e.data)}})}function h(){var e=t(f).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(f).find(".modal-dialog").addClass("modal-success"),t(f).find(".modal-body").html(e.message),$successNegativeButton=t(b).hasAttr("data-modal-negative-success")?t(this).attr("data-modal-negative-success"):"Close",t(f).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(f).find(".modal-footer .btn-primary").html($successPositiveButton),t(f).find(".modal-footer .btn-primary").click(function(t){o(),d(t)})):400==e.code&&t(f).find(".modal-body").html(e.data)}})}var f="#ajaxCrubModal",g="#ajaxCrudDatatable",p="#crud-datatable-pjax",b=".create-action-button",B=".delete-action-button",C=".update-action-button",y=".view-action-button",k=".btn-bulk-delete",F=".btn-toggle-fullscreen";t.fn.hasAttr=function(t){return void 0!==this.attr(t)},t(g).on("click",b,d),t(g).on("click",B,s),t(g).on("click",y,r),t(g).on("click",C,c),t(g).on("click",k,m),t(g).on("click",F,u),t(f).on("hidden.bs.modal",o)}(jQuery);
+!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('Loading
'),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(''+o.title+"
"),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('Loading
'),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('Loading
'),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
diff --git a/assets/jquery.fullscreen.js b/assets/jquery.fullscreen.js
new file mode 100644
index 0000000..0527664
--- /dev/null
+++ b/assets/jquery.fullscreen.js
@@ -0,0 +1,123 @@
+(function($, window, documentElement, height, width) {
+
+ // browser detection code courtesy of quirksmode, http://www.quirksmode.org/js/detect.html
+ // slightly simplified, as well as minor changes for readability purposes
+
+ var BrowserDetect = {
+ init: function () {
+ this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
+ this.version = this.searchVersion(navigator.userAgent)
+ || this.searchVersion(navigator.appVersion)
+ || "an unknown version";
+ this.OS = this.searchString(this.dataOS) || "an unknown OS";
+ },
+
+ searchString: function (data) {
+ for (var i=0;i