/* * jQuery Mobile Framework : plugin to provide a simple Dialog widget. * Copyright (c) JTSage * CC 3.0 Attribution. May be relicensed without permission/notifcation. * https://github.com/jtsage/jquery-mobile-simpledialog */ (function(a,b){a.widget("mobile.simpledialog",a.mobile.widget,{options:{version:"1.0.1-2012021300",pickPageTheme:"b",pickPageInputTheme:"e",pickPageButtonTheme:"a",fullScreen:false,fullScreenAlways:false,disabled:false,zindex:"500",width:"280px",prompt:"Are you sure?",mode:"bool",allowReopen:true,useModal:true,forceInput:true,isOpen:false,blankMode:false,fullHTML:null,subTitle:false,inputPassword:false,cleanOnClose:false,animate:true,transition:"pop",clickEvent:"click",left:b,top:b,useDialogForceTrue:false,useDialogForceFalse:false,useDialog:false,isInit:false,sawOnce:false,enterToTrigger:0,escToTrigger:1,butObj:[],debug:false,selects:false,selectparent:[],onCreated:null,onOpened:null,onClosed:null,onShown:null},_eventHandler:function(c,e){var d=a(this).data("simpledialog"),f=d.options;if(!c.isPropagationStopped()){switch(e.method){case"close":d.close(e.fromCloseButton);break;case"open":d.open();break;case"refresh":d.refresh();break;case"button":f.butObj[e.index].trigger(f.clickEvent);break}}},_orientChange:function(h){var l=a(h.currentTarget).data("simpledialog"),c=l.options,d=a.mobile.activePage.width(),f=a(window).scrollTop(),i=a(window).height(),m=l.pickerContent.outerHeight(),j=l.pickerContent.innerWidth(),g=(parseFloat(c.top)+10000)?parseFloat(c.top):(f+(i/2)-(m/2)),k=(parseFloat(c.left)+10000)?parseFloat(c.left):((d/2)-(j/2));if((m+g)>a(document).height()){g=a(document).height()-(m+2)}if(g<45){g=45}h.stopPropagation();if(!l.pickerContent.is(":visible")||c.useDialog===true){return false}else{l.pickerContent.css({top:g,left:k})}},open:function(){if(this.pickPage.is(":visible")){return false}var l=this,c=this.options,d=a.mobile.activePage.width(),f=a(window).scrollTop(),i=a(window).height(),m=l.pickerContent.outerHeight(),j=l.pickerContent.innerWidth(),e=a(window).scrollTop(),h=a(window).scrollLeft(),g=(parseFloat(c.top)+10000)?parseFloat(c.top):(f+(i/2)-(m/2)),k=(parseFloat(c.left)+10000)?parseFloat(c.left):((d/2)-(j/2));if((m+g)>a(document).height()){g=a(document).height()-(m+2)}if(g<45){g=45}if(c.prompt!==false){l.pickerHeader.html(c.prompt);l.pickPage.find(".ui-header").find(".ui-title").text(c.prompt)}l.pickerContent.find(".ui-btn-active").removeClass("ui-btn-active");if(c.mode==="blank"){l.pickerContent.delegate('[rel="close"]',c.clickEvent,function(){l.close()})}if(!c.disabled){if((d>400&&!c.useDialogForceTrue)||c.useDialogForceFalse||c.fullScreen){c.useDialog=false;if(c.fullScreen===false){if(c.useModal===true){if(c.animate===true){l.screen.fadeIn("slow")}else{l.screen.show()}}else{l.screen.removeClass("ui-simpledialog-hidden")}}if(c.mode==="blank"){c.selects=l.pickPage.find(".ui-selectmenu");c.selects.each(function(){c.selectparent.push(a(this).closest(".ui-dialog"));a(this).appendTo(l.thisPage)})}l.pickerContent.addClass("ui-overlay-shadow").css("zIndex",l.options.zindex);l.pickerHeader.show();if(c.fullScreenAlways||(c.fullScreen&&d<400)){l.pickerContent.css({border:"0px !important",position:"absolute",top:e,left:h,height:i,width:d,maxWidth:d}).addClass("ui-overlay-shadow in").removeClass("ui-simpledialog-hidden")}else{l.pickerContent.css({position:"absolute",top:g,left:k}).addClass("ui-overlay-shadow in").removeClass("ui-simpledialog-hidden")}}else{l.thisPage.unbind("pagehide.remove");c.useDialog=true;l.pickPageContent.append(l.pickerContent);l.pickerHeader.hide();l.pickerContent.removeClass("ui-overlay-shadow ui-simpledialog-hidden").css({top:"auto",left:"auto",marginLeft:"auto",marginRight:"auto"}).css("zIndex",l.options.zindex);a.mobile.changePage(l.pickPage,{transition:(c.animate===true)?c.transition:"none"})}this.options.isOpen=true}},close:function(c){var d=this;c=(typeof(c)==="undefined")?false:c;if(d.options.useDialog){if(c===false){a(d.pickPage).dialog("close")}if((typeof d.thisPage.jqmData("page"))!=="undefined"&&!d.thisPage.jqmData("page").options.domCache){d.thisPage.bind("pagehide.remove",function(){a(d).remove()})}d.pickerContent.addClass("ui-simpledialog-hidden");d.thisPage.append(d.pickerContent)}else{if(d.options.useModal){if(d.options.animate===true){d.screen.fadeOut("slow")}else{d.screen.hide()}}else{d.screen.addClass("ui-simpledialog-hidden")}d.pickerContent.addClass("ui-simpledialog-hidden").removeClass("in")}d.caller.removeClass("ui-btn-active");d.options.isOpen=false;if(d.options.cleanOnClose===true&&d.options.useDialog===false){d.clean()}if(d.options.onClosed&&typeof(d.options.onClosed)==="function"){d.options.onClosed(d)}},clean:function(){var c=this;if(c.options.selects!==false){c.options.selects.each(function(){a(this).remove()});a(c.options.selectparent).each(function(){a(this).remove()})}c.pickerContent.remove();c.pickPage.remove();c.screen.remove();c.caller.removeData("simpledialog")},_create:function(){var d=this,i=a.extend(this.options,this.element.data("options")),e=this.element;if(i.isInit&&i.allowReopen){d.open()}else{var h=e.closest(".ui-page"),c=a("
"+h.subTitle+"
").appendTo(j)}if(h.mode==="string"){g=a("
").bind("keyup",function(k){if(k.keyCode===13&&h.enterToTrigger!==false){h.butObj[h.enterToTrigger].trigger(h.clickEvent)}if(k.keyCode===27&&h.escToTrigger!==false){h.butObj[h.escToTrigger].trigger(h.clickEvent)}}).appendTo(j)}e=a("