src/ztfy/myams/resources/js/myams-widgets.min.js
changeset 0 8a19e25e39e4
child 62 2f2dadb6b993
equal deleted inserted replaced
-1:000000000000 0:8a19e25e39e4
       
     1 (function(d){function b(e){if(e<10){e="0"+e}return e}function a(l,m){var e=new Date(l);var g=b(e.getMonth()+1);var i=b(e.getDate());var h=b(e.getFullYear());var j=b(e.getHours());var f=b(e.getMinutes());var k=b(e.getSeconds());return m.timestampFormat.replace(/%d%/g,i).replace(/%m%/g,g).replace(/%y%/g,h).replace(/%h%/g,hour).replace(/%i%/g,f).replace(/%s%/g,k)}function c(f,e){this.widget=f;this.options=d.extend({},MyAMSWidget.defaults,e);this.grid=this.widget.parents(this.options.grid);this.hasGrid=this.grid.exists();this.gridId=this.grid.attr("id");this.controls=this.options.controls;this.toggleClass=this.options.toggleClass.split("|");this.editClass=this.options.editClass.split("|");this.fullscreenClass=this.options.fullscreenClass.split("|");this.customClass=this.options.customClass.split("|");this.init()}c.prototype={init:function(){var m=this;if(m.options.rtl===true){d("body").addClass("rtl")}m.grid.each(function(){d(this).addClass("sortable-grid")});m._getSettings();if(m.hasGrid&&m.storage){if(m.position){var z=JSON.parse(m.position);for(var B in z.grid){var x=m.grid.find(m.options.subgrid+".sortable-grid").eq(B);for(var y in z.grid[B].section){x.append(d("#"+z.grid[B].section[y].id))}}}if(m.settings){var w=JSON.parse(m.settings);for(var B in w.widget){var g=w.widget[B];var v=d("#"+g.id);if(g.style){v.removeClassPrefix("ams-widget-color-").addClass(g.style).attr("data-widget-attstyle",g.style)}if(g.hidden==1){v.hide(1)}else{v.show(1).removeAttr("data-widget-hidden")}if(g.collapsed==1){v.addClass("ams-widget-collapsed").children("div").hide(1)}var C=v.children("header").children("h2");if(C.text()!=g.title){C.text(g.title)}}}}var g=m.widget;var A=g.data();var n={grid:A.amsWidgetGrid,subgrid:A.amsWudgetSubgrid,widgets:A.amsWidgetWidgets,controls:A.amsWidgetControls,storage:A.amsWidgetStorage,deleteSettingsKey:A.amsWidgetDeleteSettingsKey,deletePositionKey:A.amsWidgetDeletePositionKey,sortable:A.amsWidgetSortable,hiddenButtons:A.amsWidgetHiddenButtons,toggleButton:A.amsWidgetToggleButton,toggleClass:A.amsWidgetToggleClass,onToggle:MyAMS.getFunctionByName(A.amsWidgetToggleCallback),deleteButton:A.amsWidgetDeleteButton,deleteClass:A.amsWidgetDeleteClass,onDelete:MyAMS.getFunctionByName(A.amsWidgetDeleteCallback),editButton:A.amsWidgetEditButton,editPlaceholder:A.amsWidgetEditPlaceholder,editClass:A.amsWidgetEditClass,onEdit:MyAMS.getFunctionByName(A.amsWidgetEditCallback),fullscreenButton:A.amsWidgetFullscreenButton,fullscreenClass:A.amsWidgetFullscreenClass,fullscreenDiff:A.amsWidgetFullscreenDiff,onFullscreen:MyAMS.getFunctionByName(A.amsWidgetFullscreenCallback),customButton:A.amsWidgetCustomButton,customClass:A.amsWidgetCustomClass,customStart:MyAMS.getFunctionByName(A.amsWidgetCustomStartCallback),customEnd:MyAMS.getFunctionByName(A.amsWidgetCustomEndCallback),buttonsOrder:A.amsWidgetButtonsOrder,opacity:A.amsWidgetOpacity,dragHandle:A.amsWidgetDragHandle,placeholderClass:A.amsWidgetPlaceholderClass,indicator:A.amsWidgetIndicator,indicatorTime:A.amsWidgetIndicatorTime,ajax:A.amsWidgetAjax,timestampPlaceholder:A.amsWidgetTimestampPlaceholder,timestampFormat:A.amsWidgetTimestampFormat,refreshButton:A.amsWidgetRefreshButton,refreshClass:A.amsWidgetRefreshClass,errorLabel:A.amsWidgetErrorLabel,updatedLabel:A.amsWidgetUpdatedLabel,refreshLabel:A.amsWidgetRefreshLabel,deleteLabel:A.amsWidgetDeleteLabel,afterLoad:MyAMS.getFunctionByName(A.amsWidgetAfterLoadCallback),rtl:A.amsWidgetRtl,onChange:MyAMS.getFunctionByName(A.amsWidgetChangeCallback),onSave:MyAMS.getFunctionByName(A.amsWidgetSaveCallback),ajax_nav:MyAMS.ajax_nav};var u=d.extend({},m.options,n);var s=g.children("header");if(!s.parent().attr("role")){if(A.widgetHidden===true){g.hide()}if(A.widgetCollapsed===true){g.addClass("ams-widget-collapsed").children("div").hide()}if(u.customButton&&(A.widgetCustombutton===undefined)&&(m.customClass[0].length!=0)){var r='<a href="#" class="button-icon ams-widget-custom-btn"><i class="'+m.customClass[0]+'"></i></a>'}else{r=""}if(u.deleteButton&&(A.widgetDeleteButton===undefined)){var o='<a href="#" class="button-icon ams-widget-delete-btn hint" title="'+MyAMSWidget.i18n.DELETE_BTN+'" data-ams-hint-gravity="s"><i class="'+u.deleteClass+'"></i></a>'}else{o=""}if(u.editButton&&(A.widgetEditButton===undefined)){var h=u.editClass.split("|")[0];var j='<a href="#" class="button-icon ams-widget-edit-btn hint" title="'+MyAMSWidget.i18n.EDIT_BTN+'" data-ams-hint-gravity="s"><i class="'+h+'"></i></a>'}else{j=""}if(u.fullscreenButton&&(A.widgetFullscreenButton===undefined)){var k=u.fullscreenClass.split("|")[0];var f='<a href="#" class="button-icon ams-widget-fullscreen-btn hint" title="'+MyAMSWidget.i18n.FULLSCREEN_BTN+'" data-ams-hint-gravity="s"><i class="'+k+'"></i></a>'}else{f=""}if(u.toggleButton&&(A.widgetToggleButton===undefined)){var q=u.toggleClass.split("|");if((g.dataWidgetCollapsed===true)||g.hasClass("ams-widget-collapsed")){var e=q[1]}else{e=q[0]}var l='<a href="#" class="button-icon ams-widget-toggle-btn hint" title="'+MyAMSWidget.i18n.COLLAPSE_BTN+'" data-ams-hint-gravity="s"><i class="'+e+'"></i></a>'}else{l=""}if(u.refreshButton&&(A.widgetRefreshButton===undefined)&&A.widgetLoad){var p='<a href="#" class="button-icon ams-widget-refresh-btn hint" title="'+MyAMSWidget.i18n.REFRESH_BTN+'" data-loading-text="&nbsp;&nbsp;'+MyAMSWidget.i18n.LOADING_MSG+'&nbsp;" data-ams-hint-gravity="s"><i class="'+u.refreshClass+'"></i></a>'}else{p=""}var t=u.buttonsOrder.replace(/%refresh%/,p).replace(/%custom%/,r).replace(/%edit%/,j).replace(/%toggle%/,l).replace(/%fullscreen%/,f).replace(/%delete%/,o);if(p||r||j||l||f||o){s.prepend('<div class="ams-widget-ctrls">'+t+"</div>")}if(u.sortable&&(A.widgetSortable===undefined)){g.addClass("ams-widget-sortable")}var i=g.find(u.editPlaceholder);if(i.length>0){i.find("input").val(d.trim(s.children("h2").text()))}s.append('<span class="ams-widget-loader"><i class="fa fa-refresh fa-spin"></i></span>');g.attr("role","widget").children("div").attr("role","content").prev("header").attr("role","heading").children("div").attr("role","menu");MyAMS.plugins.enabled.hint(s)}g.data("widget-options",u);if(m.options.hiddenButtons){d(m.controls).hide()}g.find("[data-widget-load]").each(function(){var F=d(this),H=F.children(),G=F.data("widget-load"),E=F.data("widget-refresh")*1000,D=H;if(F.find(".ams-widget-ajax-placeholder").length<=0){F.children("widget-body").append('<div class="ams-widget-ajax-placeholder">'+m.options.loadingLabel+"</div>");if(E>0){m.loadAjaxFile(F,G,H);setInterval(function(){m._loadAjaxFile(F,G,H)},E)}else{m._loadAjaxFile(F,G,H)}}});if(m.options.hiddenButtons){m.widget.children("header").hover(function(){d(this).children(m.controls).stop(true,true).fadeTo(100,1)},function(){d(this).children(m.controls).stop(true,true).fadeTo(100,0)})}m._setClickEvents();d(m.options.deleteSettingsKey).on(m.clickEvent,this,function(E){if(m.storage){var D=confirm(m.options.settingsKeyLabel);if(D){m.storage.removeItem(m.settingsKey)}}E.preventDefault()});d(m.options.deletePositionKey).on(m.clickEvent,this,function(E){if(m.storage){var D=confirm(m.options.positionKeyLabel);if(D){m.storage.removeItem(m.positionKey)}}E.preventDefault()});if(m.storage){if(m.settingsKey===null||m.settingsKey.length<1){m._saveWidgetSettings()}if(m.positionKey===null||m.positionKey.length<1){m._saveWidgetPosition()}}m.grid.data("ams-widgets-loaded",true)},destroy:function(){var e=this;e.widgets.off("click",e._setClickEvents());e.element.removeData("AMSWidget")},_getSettings:function(){var f=this;if(!f.hasGrid||!f.gridId){f.storage=null}else{switch(f.options.storage){case"local":f.storage=localStorage;break;case"session":f.storage=sessionStorage;break;default:f.storage=null}}var e=(f.storage!=null)&&function(){var g,h=+new Date;try{f.storage.setItem(h,h);g=f.storage.getItem(h)==h;f.storage.removeItem(h);return g}catch(i){}}();if(e){f.settingsKey="AMS_settings_"+location.pathname+location.hash+"_"+f.gridId;f.settings=f.storage.getItem(f.settingsKey);f.positionKey="AMS_position_"+location.pathname+location.hash+"_"+f.gridId;f.position=f.storage.getItem(f.positionKey)}if(("ontouchstart" in window)||window.DocumentTouch&&document instanceof DocumentTouch){f.clickEvent="touchstart"}else{f.clickEvent="click"}},_runLoaderWidget:function(f){var e=this;if(e.options.indicator){f.find(".ams-widget-loader").stop(true,true).fadeIn(100).delay(e.options.indicatorTime).fadeOut(100)}},_loadAjaxFile:function(f,g,e){MyAMS.skin.loadURL(f,g.find(".widget-body"))},_saveWidgetSettings:function(){var f=this;f._getSettings();if(f.storage){var e=[];f.grid.find(f.options.widgets).each(function(){var i=d(this);var h={};h.id=i.attr("id");h.style=i.attr("data-widget-attstyle");h.title=i.children("header").children("h2").text();h.hidden=i.is(":hidden")?1:0;h.collapsed=i.hasClass("ams-widget-collapsed")?1:0;e.push(h)});var g=JSON.stringify({widget:e});if(f.settings!=g){f.storage.setItem(f.settingsKey,g)}if(typeof(f.options.onSave)=="function"){f.options.onSave.call(this,null,e)}}},_saveWidgetPosition:function(){var f=this;f._getSettings();if(f.storage){var g=[];f.grid.find(f.options.subgrid+".sortable-grid").each(function(){var h=[];d(this).children(f.options.widgets).each(function(){var j={};j.id=d(this).attr("id");h.push(j)});var i={section:h};g.push(i)});var e=JSON.stringify({grid:g});if(f.position!=e){f.storage.setItem(f.positionKey,e)}if(typeof(f.options.onSave)=="function"){f.options.onSave.call(this,null,g)}}},_setClickEvents:function(){function f(){if(d("#ams-widget-fullscreen-mode").length>0){var h=d("#ams-widget-fullscreen-mode").find(e.options.widgets);var i=d(window).height();var g=h.children("header").height();h.children("div").height(i-g-15)}}var e=this;e._getSettings();e.widget.on(e.clickEvent,".ams-widget-toggle-btn",function(k){k.preventDefault();var h=d(this);var i=h.parents(e.options.widgets);var l=i.data("widget-options");var g=l.toggleClass.split("|");e._runLoaderWidget(i);var j=true;if(i.hasClass("ams-widget-collapsed")){if(l.onToggle){j=l.onToggle.call(this,i,"expand")}if(j!==false){h.children().removeClass(g[1]).addClass(g[0]);i.removeClass("ams-widget-collapsed").children("[role=content]").slideDown(l.toggleSpeed,function(){e._saveWidgetSettings()})}}else{if(l.onToggle){j=l.onToggle.call(this,i,"collapse")}if(j!==false){h.children().removeClass(g[0]).addClass(g[1]);i.addClass("ams-widget-collapsed").children("[role=content]").slideUp(l.toggleSpeed,function(){e._saveWidgetSettings()})}}});e.widget.on("dblclick","header",function(g){d(".ams-widget-toggle-btn",this).click()});e.widget.on(e.clickEvent,".ams-widget-fullscreen-btn",function(k){k.preventDefault();var h=d(this);var j=h.parents(e.options.widgets);var l=j.data("widget-options");var g=l.fullscreenClass.split("|");var i=j.children("div");e._runLoaderWidget(j);if(d("#ams-widget-fullscreen-mode").length>0){d(".nooverflow").removeClass("nooverflow");j.unwrap("<div>").children("div").removeAttr("style").end().find(".ams-widget-fullscreen-btn").children().removeClass(g[1]).addClass(g[0]).parents(e.controls).children("a").show();if(i.hasClass("ams-widget-visible")){i.hide().removeClass("ams-widget-visible")}}else{d("body").addClass("nooverflow");j.wrap('<div id="ams-widget-fullscreen-mode"></div>').parent().find(".ams-widget-fullscreen-btn").children().removeClass(g[0]).addClass(g[1]).parents(e.controls).children("a:not(.ams-widget-fullscreen-btn)").hide();if(i.is(":hidden")){i.show().addClass("ams-widget-visible")}}f();if(typeof(l.onFullscreen)=="function"){l.onFullscreen.call(this,j)}});d(window).resize(function(){f()});e.widget.on(e.clickEvent,".ams-widget-edit-btn",function(j){j.preventDefault();var h=d(this);var i=h.parents(e.options.widgets);var l=i.data("widget-options");var g=l.editClass.split("|");e._runLoaderWidget(i);var k=i.find(l.editPlaceholder);if(k.is(":visible")){h.children().removeClass(g[1]).addClass(g[0]);k.slideUp(l.editSpeed,function(){e._saveWidgetSettings()})}else{h.children().removeClass(g[0]).addClass(g[1]);k.slideDown(l.editSpeed)}if(typeof(l.onEdit)=="function"){l.onEdit.call(this,i)}});d(e.options.editPlaceholder).find("input").keyup(function(){d(this).parents(e.options.widgets).children("header").children("h2").text(d(this).val())});e.widget.on(e.clickEvent,".ams-widget-custom-btn",function(j){j.preventDefault();var g=d(this);var i=g.parents(e.options.widgets);var k=i.data("widget-options");var h=k.customClass.split("|");e._runLoaderWidget(i);if(g.children("."+h[0]).length>0){g.children().removeClass(h[0]).addClass(h[1]);if(typeof(k.customStart)=="function"){k.customStart.call(this,i)}}else{g.children("."+h[1]).addClass(h[0]);if(typeof(k.customEnd)=="function"){k.customEnd.call(this,i)}}e._saveWidgetSettings()});e.widget.on(e.clickEvent,".ams-widget-delete-btn",function(i){i.preventDefault();var g=d(this);var h=g.parents(e.options.widgets);var l=h.data("widget-options");var k=h.attr("id");var j=h.children("header").children("h2").text();MyAMS.ajax.check(MyAMS.notify,MyAMS.baseURL+"myams-notify"+(MyAMS.devmode?".js":".min.js"),function(){MyAMS.notify.messageBox({title:'<i class="fa fa-times" style="color: #ed1c24;"></i> '+l.deleteLabel+' "'+j+'"',content:MyAMSWidget.i18n.DELETE_MSG,buttons:"["+MyAMS.i18n.BTN_OK+"]["+MyAMS.i18n.BTN_CANCEL+"]"},function(m){if(m==MyAMS.i18n.BTN_OK){e._runLoaderWidget(h);d("#"+k).fadeOut(l.deleteSpeed,function(){g.remove();if(typeof(l.onDelete)=="function"){l.onDelete.call(this,h)}})}})})});e.widget.on(e.clickEvent,".ams-widget-refresh-btn",function(k){k.preventDefault();var h=d(this);var i=h.parents(e.options.widgets);var j=i.data("widget-load");var g=i.children();h.button("loading");g.addClass("widget-body-ajax-loading");setTimeout(function(){h.button("reset");g.removeClass("widget-body-ajax-loading");e._loadAjaxFile(i,j,g)},1000)})}};MyAMSWidget={i18n:d.extend({SETTINGS_KEY_LABEL:"Reset settings?",POSITION_KEY_LABEL:"Reset position?",TIMESTAMP_FORMAT:"Last update: %d%/%m%/%y% %h%:%i%:%s",ERROR_LABEL:"An error occured: ",UPDATED_LABEL:"Last update: ",REFRESH_LABEL:"Refresh",EDIT_BTN:"Edit title",DELETE_BTN:"Delete",DELETE_LABEL:"Remove component: ",DELETE_MSG:"WARNING: this action can't be undone!",FULLSCREEN_BTN:"Fullscreen",COLLAPSE_BTN:"Collapse",REFRESH_BTN:"Reload content",LOADING_MSG:"Loading..."},MyAMS.plugins.i18n.widgets),initWidgetsGrid:function(f){if(!f.exists()){return}var e=d(".ams-widget:first",f).data("AMSWidget").options;if(e.sortable&&d.ui){var g=f.find(".sortable-grid").not("[data-widget-excludegrid]");g.sortable({items:g.find(".ams-widget-sortable"),connectWith:g,placeholder:e.placeholderClass,cursor:"move",revert:true,opacity:e.opacity,delay:200,cancel:".button-icon, #ams-widget-fullscreen-mode >div",zIndex:10000,handle:e.dragHandle,forcePlaceholderSize:true,forceHelperSize:true,update:function(h,j){var i=j.item.data("AMSWidget");i._runLoaderWidget(i.widget);i._saveWidgetPosition();if(typeof(e.onChange)=="function"){e.onChange.call(this,j.item)}}})}}};MyAMSWidget.defaults={grid:".ams-widget-grid",subgrid:"section",widgets:".ams-widget",controls:".ams-widget-ctrls",storage:"local",deleteSettingsKey:"",settingsKeyLabel:MyAMSWidget.i18n.SETTINGS_KEY_LABEL,deletePositionKey:"",positionKeyLabel:MyAMSWidget.i18n.POSITION_KEY_LABEL,sortable:true,hiddenButtons:false,toggleButton:true,toggleClass:"fa fa-minus|fa fa-plus",toggleSpeed:200,onToggle:null,deleteButton:false,deleteClass:"fa fa-times",deleteSpeed:200,onDelete:null,editButton:false,editPlaceholder:".ams-widget-editbox",editClass:"fa fa-cog|fa fa-save",editSpeed:200,onEdit:null,fullscreenButton:false,fullscreenClass:"fa fa-expand|fa fa-compress",fullscreenDiff:3,onFullscreen:null,customButton:false,customClass:"folder-10|next-10",customStart:null,customEnd:null,buttonsOrder:"%refresh% %custom% %edit% %toggle% %fullscreen% %delete%",opacity:1,dragHandle:"> header",placeholderClass:"ams-widget-placeholder",indicator:true,indicatorTime:600,ajax:true,timestampPlaceholder:".ams-widget-timestamp",timestampFormat:MyAMSWidget.i18n.TIMESTAMP_FORMAT,refreshButton:true,refreshButtonClass:"fa fa-refresh",errorLabel:MyAMSWidget.i18n.ERROR_LABEL,updatedLabel:MyAMSWidget.i18n.UPDATED_LABEL,refreshLabel:MyAMSWidget.i18n.REFRESH_LABEL,deleteLabel:MyAMSWidget.i18n.DELETE_LABEL,afterLoad:null,rtl:false,onChange:null,onSave:null,ajax_nav:MyAMS.ajax_nav};d.fn.extend({MyAMSWidget:function(e){return this.each(function(){var k=d(this);var j=k.data("AMSWidget");if(!j){var g=k.parents(e.grid||MyAMSWidget.defaults.grid);var i={};if(g.exists()){var f=g.data();i={grid:f.amsWidgetGrid,subgrid:f.amsWidgetSubgrid,controls:f.amsWidgetControls,storage:f.amsWidgetStorage,deleteSettingsKey:f.amsWidgetDeleteSettingsKey,deletePositionKey:f.amsWidgetDeletePositionKey,sortable:f.amsWidgetSortable,hiddenButtons:f.amsWidgetHiddenButtons,toggleButton:f.amsWidgetToggleButton,toggleClass:f.amsWidgetToggleClass,onToggle:MyAMS.getFunctionByName(f.amsWidgetToggleCallback),deleteButton:f.amsWidgetDeleteButton,deleteClass:f.amsWidgetDeleteClass,onDelete:MyAMS.getFunctionByName(f.amsWidgetDeleteCallback),editButton:f.amsWidgetEditButton,editPlaceholder:f.amsWidgetEditPlaceholder,editClass:f.amsWidgetEditClass,onEdit:MyAMS.getFunctionByName(f.amsWidgetEditCallback),fullscreenButton:f.amsWidgetFullscreenButton,fullscreenClass:f.amsWidgetFullscreenClass,fullscreenDiff:f.amsWidgetFullscreenDiff,onFullscreen:MyAMS.getFunctionByName(f.amsWidgetFullscreenCallback),customButton:f.amsWidgetCustomButton,customClass:f.amsWidgetCustomClass,customStart:MyAMS.getFunctionByName(f.amsWidgetCustomStartCallback),customEnd:MyAMS.getFunctionByName(f.amsWidgetCustomStartCallback),buttonsOrder:f.amsWidgetButtonsOrder,opacity:f.amsWidgetOpacity,dragHandle:f.amsWidgetDragHandle,placeholderClass:f.amsWidgetPlaceholderClass,indicator:f.amsWidgetIndicator,indicatorTime:f.amsWidgetIndicatorTime,ajax:f.amsWidgetAjax,timestampPlaceholder:f.amsWidgetTimestampPlaceholder,timestampFormat:f.amsWidgetTimestampFormat,refreshButton:f.amsWidgetRefreshButton,refreshClass:f.amsWidgetRefreshClass,errorLabel:f.amsWidgetErrorLabel,updatedLabel:f.amsWidgetUpdatedLabel,refreshLabel:f.amsWidgetRefreshLabel,deleteLabel:f.amsWidgetDeleteLabel,afterLoad:MyAMS.getFunctionByName(f.amsWidgetAfterLoadCallback),rtl:f.amsWidgetRtl,onChange:MyAMS.getFunctionByName(f.amsWidgetChangeCallback),onSave:MyAMS.getFunctionByName(f.amsWidgetSaveCallback),ajax_nav:MyAMS.ajax_nav}}var h=d.fn.extend({},i,k.data("ams-widget-options")||{},e);k.data("AMSWidget",new c(k,h))}})}})})(jQuery);