Files
tarisan_gitea/js/jquery.modal.min.js
2025-06-09 13:54:42 +02:00

9 lines
5.5 KiB
JavaScript

/*!
* jQuery Modal
* Copyright (c) 2014 CreativeDream
* Website http://creativedream.net/plugins
* Version: 1.2 (20-10-2014)
* Requires: jQuery v1.7.1 or later
*/
function modal(e){return $.cModal(e)}(function(e){e.cModal=function(t){var n={type:"default",title:null,text:null,size:"normal",buttons:[{text:"OK",val:true,onClick:function(e){return true}}],center:true,autoclose:false,callback:null,onShow:null,closeClick:true,closable:true,theme:"default",background:"rgba(0,0,0,0.5)",zIndex:1050,buttonText:{ok:"OK",yes:"Aceptar",cancel:"Cancelar"},template:'<div class="modal-box"><div class="modal-title"><a class="modal-close-btn"></a></div><div class="modal-text"></div><div class="modal-buttons"></div></div>',_classes:{box:".modal-box",title:".modal-title",content:".modal-text",buttons:".modal-buttons",closebtn:".modal-close-btn"}},t=e.extend({},n,t),r,i=e("<div id='modal-window' />").hide(),s=t._classes.box,o=i.append(t.template),u={init:function(){e("#modal-window").remove();i.css({position:"fixed",width:"100%",height:"100%",top:"0",left:"0","z-index":t.zIndex,overflow:"auto"});i.find(t._classes.box).css({position:"absolute"});u._modalShow();u._modalConent();t.onShow!=null?t.onShow({getModal:function(){return i},getTitle:function(){return i.find(t._classes.title)},getContet:function(){return i.find(t._classes.content)},setTitle:function(e){i.find(t._classes.title+" h3").html(e);return true},setContent:function(e){i.find(t._classes.content).html(e);return true},setClosable:function(e){if(e===false){t.closable=false}else{t.closable=true}return true}}):null;i.on("click","a.modal-btn",function(t){u._modalBtn(e(this))}).on("click",t._classes.closebtn,function(e){u._modalHide()}).click(function(e){if(t.closeClick){if(e.target.id=="modal-window"){u._modalHide()}}});e(window).bind("keyup",u._keyUpF);i.bind("DOMSubtreeModified",u._position)},_keyUpF:function(e){switch(e.keyCode){case 13:if($("input:not(.modal-prompt-input),textarea").is(":focus")){return false}u._modalBtn(i.find(t._classes.buttons+" a.modal-btn"+(typeof u.btnForEKey!=="undefined"&&i.find(t._classes.buttons+" a.modal-btn:eq("+u.btnForEKey+")").size()>0?":eq("+u.btnForEKey+")":":last-child")));break;case 27:u._modalHide();break}},_modalShow:function(){e("body").css({overflow:"hidden",width:e("body").innerWidth()}).append(o)},_modalHide:function(n){if(t.closable===false){return false}r=typeof r=="undefined"?false:r;var o=function(){i.fadeOut(200,function(){t.callback!=null?t.callback(r):null;e(this).remove();e("body").css({overflow:"",width:""})});var n=100*parseFloat(e(s).css("top"))/parseFloat(e(s).parent().css("height"));e(s).animate({top:n+5+"%"},"fast")};if(!n){o()}else{setTimeout(function(){o()},n)}e(window).unbind("keyup",u._keyUpF)},_modalConent:function(){var n=t._classes.title,r=t._classes.content,o=t._classes.buttons,a=t.buttonText,f=["alert","confirm","prompt"];if(t.size&&t.theme!=null&&t.theme!="normal"){e(s).addClass("modal-size-"+t.size)}if(t.theme&&t.theme!=null&&t.theme!="default"){e(s).addClass(t.theme)}if(t.background&&t.background!=null){i.css("background-color",t.background)}if(t.title||t.title!=null){e(n).prepend("<h3>"+t.title+"</h3>");if(e.inArray(t.type,f)==-1&&t.type!="default"){e(n).addClass("modal-title-"+t.type)}}else{e(n).remove()}t.type=="prompt"?t.text+='<input type="text" name="modal-prompt-input" class="modal-prompt-input" autofocus="on" />':"";e(r).html(t.text);if(t.buttons||t.buttons!=null){var l="";switch(t.type){case"alert":l='<a class="modal-btn">'+a.ok+"</a>";break;case"confirm":l='<a class="modal-btn">'+a.cancel+'</a><a class="modal-btn btn-light-blue">'+a.yes+"</a>";break;case"prompt":l='<a class="modal-btn">'+a.cancel+'</a><a class="modal-btn btn-light-blue">'+a.ok+"</a>";break;default:if(t.buttons.length>0&&e.isArray(t.buttons)){e.each(t.buttons,function(e,t){var n=t["addClass"]&&typeof t["addClass"]!="undefined"?" "+t["addClass"]:"";l+='<a class="modal-btn'+n+'">'+t["text"]+"</a>";if(t["eKey"]){u.btnForEKey=e}})}else{l+='<a class="modal-btn">'+a.ok+"</a>"}}e(o).html(l)}else{e(o).remove()}i.fadeIn(200);u._position();if(t.autoclose){time=t.buttons||t.buttons!=null?e(r).text().length*32:900;u._modalHide(time<900?900:time)}},_position:function(){var n=null;if(t.center){n={top:50,left:50,marginTop:-e(s).outerHeight()/2,marginLeft:-e(s).outerWidth()/2};if(e(window).height()<e(s).outerHeight()){n.top=1;n.marginTop=0}e(s).css({top:n.top-5+"%",left:n.left+"%","margin-top":n.marginTop,"margin-left":n.marginLeft}).animate({top:n.top+"%"},"fast")}else{n={top:10,left:50,marginTop:0,marginLeft:-e(s).outerWidth()/2};e(s).css({top:n.top-5+"%",left:n.left+"%","margin-top":n.marginTop,"margin-left":n.marginLeft}).animate({top:n.top+"%"},"fast")}},_modalBtn:function(n){var s=false,o=t.type,a=n.index(),f=t.buttons[a];if(e.inArray(o,["alert","confirm","prompt"])>-1){s=a==1?true:false;if(o=="prompt"){s=s&&i.find("input.modal-prompt-input").size()>0&&i.find("input.modal-prompt-input").val().length!=0?i.find("input.modal-prompt-input").val():false}u._modalHide()}else{if(n.hasClass("btn-disabled")){return false}s=f&&f["val"]?f["val"]:true;if(!f["onClick"]||f["onClick"]({val:s,bObj:n,bOpts:f,getModal:function(){return i},getTitle:function(){return i.find(t._classes.title)},getContet:function(){return i.find(t._classes.content)},setTitle:function(e){i.find(t._classes.title+" h3").html(e);return true},setContent:function(e){i.find(t._classes.content).html(e);return true},setClosable:function(e){if(e===false){t.closable=false}else{t.closable=true}return true}})){u._modalHide()}}r=s}};u.init();return true}})(jQuery);