-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathtinyDialog.min.js
More file actions
6 lines (6 loc) · 5.2 KB
/
tinyDialog.min.js
File metadata and controls
6 lines (6 loc) · 5.2 KB
1
2
3
4
5
6
/*!
* author:guyue
* contacts:baidu hi->guyuebupt
* see https://github.com/YueGuBUPT/tinyDialog
*/
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery||Zepto)}(function(a){function p(a){var e,f,c=a,d=c.$;d&&(!c.isShow&&n&&d.css({position:"absolute",visibility:"hidden",display:"block"}),e=(h.width()-d.outerWidth(!0))/2,f=(h.height()-d.outerHeight(!0))/(1+1.61803398875),l?d.css({left:b.documentElement.scrollLeft+e,top:b.documentElement.scrollTop+f}):d.css({left:e,top:f}),!c.isShow&&n&&d.css({position:"fixed",visibility:"visible",display:"none"}))}function q(){i&&i.css({width:g.width(),height:g.height()})}function r(c){var e,g,j,i=this;a.isPlainObject(c)?a.each(d,function(a,b){var e;d.hasOwnProperty(a)&&(e=o(c[a]),"width"==a||"height"==a?"String"!=e&&"Number"!=e&&(c[a]=b):"id"==a?("String"!=e||0==c[a].length)&&(c[a]=b):c.hasOwnProperty(a)&&e==o(d[a])||(c[a]=b))}):c=d,a.each(c,function(a,b){i[a]=b}),i.isShow=!1,i.$=a(b.createElement("DIV")).addClass(i.warpperCssClass).css({width:i.width,height:i.height}),"String"==o(i.id)&&i.$.attr("id",i.id),i.updateTitleOrContent({title:i.title,content:i.content},!0),e=[],j=i.buttons.length,a.each(i.buttons,function(c,d){g=a(b.createElement("DIV")).addClass(i.buttonCssClass).text(d.value).on("click",function(b){a.isFunction(d.click)?d.click.call(this,b,i)!==!1&&i.hide():i.hide()}),j==c+1&&g.addClass(i.lastButtonCssClass),d.type&&g.addClass(i.otherTypeButtonCssClassPrefix+d.type),e.push(g)}),i.$buttonsArea=a(b.createElement("DIV")).addClass(i.buttonsAreaCssClass),i.$buttonsArea.append.apply(i.$buttonsArea,e).appendTo(i.$),i.closeX&&(i.$closeX=a(b.createElement("DIV")).addClass(i.closeXCssClass).appendTo(i.$),i.$closeX.on("click",function(b){a.isFunction(i.clickCloseX)?i.clickCloseX.call(this,b,i)!==!1&&i.hide():i.hide()})),i.$.appendTo(f),p(i),h.on("resize",function(){p(i)}),l&&h.on("scroll",function(){p(i)}),a.isFunction(i.init)&&i.init.call(i),i.autoShow&&i.show()}function s(a){return new r(a)}var i,o,b=document,c=window,d={id:null,title:"\u6d88\u606f",content:"",width:200,height:150,mask:!0,closeX:!1,autoShow:!0,clickCloseX:function(){},init:function(){},warpperCssClass:"tinyDialog_wrapper",titleCssClass:"tinyDialog_title",contentOuterCssClass:"tinyDialog_content_outer",contentCssClass:"tinyDialog_content",buttonsAreaCssClass:"tinyDialog_buttons_area",buttonCssClass:"tinyDialog_button",otherTypeButtonCssClassPrefix:"tinyDialog_button_",lastButtonCssClass:"tinyDialog_last_button",closeXCssClass:"tinyDialog_close_x",buttons:[{value:"\u786e\u5b9a"}]},e={maskCssClass:"tinyDialog_mask"},f=a("body"),g=a(b),h=a(c),j=0,k=navigator.userAgent,l=/msie 6/i.test(k),m=/iphone|ipod|ipad/i.test(k),n=!1;return a.fn.outerWidth&&a.fn.outerHeight||(n=!0,a.each(["width","height"],function(b,c){var e;e=c.replace(/./,function(a){return a[0].toUpperCase()}),a.fn["outer"+e]=function(b){var d=this;if(d){var f,e=d[c]();return f={width:["left","right"],height:["top","bottom"]},a.each(f[c],function(a,c){b&&(e+=parseInt(d.css("margin-"+c),10))}),e}return null}})),o=function(){var a=Object.prototype.toString;return function(b){return a.call(b).replace("[object ","").replace("]","")}}(),r.prototype.show=function(){!this.isShow&&this.$&&(this.mask&&(i?i.css("display","block"):(i=a(b.createElement("DIV")).addClass(e.maskCssClass),l?(i.css("position","absolute"),q(),h.on("resize",q)):m&&i.css({left:"-300%",top:"-300%",width:"900%",height:"900%"}),i.appendTo(f)),j++),this.$.show(),this.isShow=!0)},r.prototype.hide=function(){this.isShow&&(this.isShow=!1,this.mask&&(j--,i&&0==j&&i.hide()),this.$&&this.$.hide())},r.prototype.remove=function(){this.hide(),this.$.remove()},r.prototype.updateTitleOrContent=function(c,d){var e=!1,f=this;c.hasOwnProperty("title")&&"String"==o(c.title)&&(f.$title&&f.$title.remove(),f.$title=a(b.createElement("DIV")).addClass(f.titleCssClass).html(f.title).appendTo(f.$),e=!0),c.hasOwnProperty("content")&&"String"==o(c.content)&&(f.$content&&f.$content.remove(),f.$contentOuter&&f.$contentOuter.remove(),f.$contentOuter=a(b.createElement("DIV")).addClass(f.contentOuterCssClass).appendTo(f.$),f.$content=a(b.createElement("DIV")).addClass(f.contentCssClass).html(f.content).appendTo(f.$contentOuter),e=!0),(e||d)&&p(f)},s.config={defaultOptions:d,otherOptions:e},s.alert=function(b,c,d,e){return new r(a.extend({content:b,buttons:[{value:"\u786e\u5b9a",click:function(b,d){a.isFunction(c)&&c.call(this,b,d),e||d.remove()}}]},d))},s.confirm=function(b,c,d,e,f){return new r(a.extend({content:b,buttons:[{value:"\u786e\u5b9a",click:function(b,d){a.isFunction(c)&&c.call(this,b,d),f||d.remove()}},{value:"\u53d6\u6d88",type:"secondary",click:function(b,c){a.isFunction(d)&&d.call(this,b,c),f||c.remove()}}]},e))},s.prompt=function(b,c,d,e,f,g){var h="tinyDialog_prompt_input";return new r(a.extend({content:['<div style="margin-bottom:5px">',b,'</div><div><input class="',h,'" style="width:175px;padding:6px 4px" value="',c,'"/></div>'].join(""),buttons:[{value:"\u786e\u5b9a",click:function(b,c){a.isFunction(d)&&d.call(this,b,c,c.$content.find("input."+h).val()),g||c.remove()}},{value:"\u53d6\u6d88",type:"secondary",click:function(b,c){a.isFunction(e)&&e.call(this,b,c,c.$content.find("input."+h).val()),g||c.remove()}}]},f))},"function"==typeof define&&define.amd?s:(c.tinyDialog=s,void 0)});