-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathweui.min.js
1 lines (1 loc) · 12.5 KB
/
weui.min.js
1
"use strict";!function(i){i.weui={version:"0.2.1"},i.noop=i.noop||function(){}}($),function(i){var e=null;i.weui.dialog=function(n){n=i.extend({title:"标题",content:"内容",className:"",buttons:[{label:"确定",type:"primary",onClick:i.noop}]},n);var a=n.buttons.map(function(i){return'<a href="javascript:;" class="weui_btn_dialog '+i.type+'">'+i.label+"</a>"}).join("\n"),t='<div class="'+n.className+'">\n <div class="weui_mask"></div>\n <div class="weui_dialog">\n <div class="weui_dialog_hd">\n <strong class="weui_dialog_title">\n '+n.title+'\n </strong>\n </div>\n <div class="weui_dialog_bd">\n '+n.content+'\n </div>\n <div class="weui_dialog_ft">\n '+a+"\n </div>\n </div>\n </div>";e=i(t),i("body").append(e),e.on("click",".weui_btn_dialog",function(){var e=n.buttons[i(this).index()],a=e.onClick||i.noop;a.call(),i.weui.closeDialog()})},i.weui.closeDialog=function(){e&&(e.off("click"),"function"==typeof e.fadeOut?e.fadeOut("fast",function(){e.remove(),e=null}):(e.remove(),e=null))}}($),function(i){i.weui.alert=function(e,n,a){var t="function"==typeof n;t&&(a=n),n=i.extend({title:"警告",content:e||"警告内容",className:"",buttons:[{label:"确定",type:"primary",onClick:a}]},t?{}:n),n.className="weui_dialog_alert "+n.className,i.weui.dialog(n)}}($),function(i){var e=null,n=null;i.weui.topTips=function(){var a=arguments.length<=0||void 0===arguments[0]?"topTips":arguments[0],t=arguments[1];e&&(e.remove(),n&&clearTimeout(n),e=null),"number"==typeof t&&(t={duration:t}),"function"==typeof t&&(t={callback:t}),t=i.extend({duration:3e3,callback:i.noop},t);var l='<div class="weui_toptips weui_warn">'+a+"</div>";e=i(l),e.appendTo(i("body")),"function"==typeof e.slideDown?e.slideDown(20):e.show(),n=setTimeout(function(){e&&("function"==typeof e.slideUp?e.slideUp(120,function(){e.remove(),e=null,t.callback()}):(e.remove(),e=null,t.callback()))},t.duration)}}($),function(i){var e=null;i.weui.actionSheet=function(){var n=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],a=arguments.length<=1||void 0===arguments[1]?[{label:"取消"}]:arguments[1],t=n.map(function(i,e){return'<div class="weui_actionsheet_cell">'+i.label+"</div>"}).join(""),l=a.map(function(i,e){return'<div class="weui_actionsheet_cell">'+i.label+"</div>"}).join(""),o='<div>\n <div class="weui_mask_transition"></div>\n <div class="weui_actionsheet">\n <div class="weui_actionsheet_menu">\n '+t+'\n </div>\n <div class="weui_actionsheet_action">\n '+l+"\n </div>\n </div>\n </div>";e=i(o),i("body").append(e),e.find(".weui_mask_transition").show().addClass("weui_fade_toggle"),e.find(".weui_actionsheet").addClass("weui_actionsheet_toggle"),e.on("click",".weui_actionsheet_menu .weui_actionsheet_cell",function(){var e=n[i(this).index()],a=e.onClick||i.noop;a.call(),i.weui.hideActionSheet()}).on("click",".weui_mask_transition",function(){i.weui.hideActionSheet()}).on("click",".weui_actionsheet_action .weui_actionsheet_cell",function(){var e=a[i(this).index()],n=e.onClick||i.noop;n.call(),i.weui.hideActionSheet()})},i.weui.hideActionSheet=function(){if(e){var i=e.find(".weui_mask_transition"),n=e.find(".weui_actionsheet");i.removeClass("weui_fade_toggle"),n.removeClass("weui_actionsheet_toggle"),n.on("transitionend",function(){e.remove(),e=null}).on("webkitTransitionEnd",function(){e.remove(),e=null})}}}($),function(i){i.weui.confirm=function(e,n,a,t){var l="function"==typeof n;l&&(t=a,a=n),n=i.extend({title:"确认",content:e||"确认内容",className:"",buttons:[{label:"取消",type:"default",onClick:t||i.noop},{label:"确定",type:"primary",onClick:a||i.noop}]},l?{}:n),n.className="weui_dialog_confirm "+n.className,i.weui.dialog(n)}}($),function(){function i(i){var e=i[0],n=i.val();if("INPUT"==e.tagName||"TEXTAREA"==e.tagName){var a=e.getAttribute("required")||e.getAttribute("pattern")||"";return i.val().length?a?new RegExp(a).test(n)?null:"notMatch":null:"empty"}return"checkbox"==e.getAttribute("type")||"radio"==e.getAttribute("type")?e.checked?null:"empty":n.length?null:"empty"}function e(i){if(i){var e=i.$dom,n=i.msg,a=e.attr(n+"Tips")||e.attr("tips")||e.attr("placeholder");a&&$.weui.topTips(a),e.parents(".weui_cell").addClass("weui_cell_warn")}}var n=$.fn.form;$.fn.form=function(){return this.each(function(n,a){var t=$(a);t.find("[required]").on("blur",function(){var n,a=$(this);a.val().length<1||(n=i(a),n&&e({$dom:a,msg:n}))}).on("focus",function(){var i=$(this);i.parents(".weui_cell").removeClass("weui_cell_warn")})})},$.fn.form.noConflict=function(){return n};var a=$.fn.validate;$.fn.validate=function(n){return this.each(function(){var a=$(this).find("[required]");"function"!=typeof n&&(n=e);for(var t=0,l=a.length;l>t;++t){var o=a.eq(t),u=i(o),s={$dom:o,msg:u};if(u)return void(n(s)||e(s))}n(null)})},$.fn.validate.noConflict=function(){return a}}(),function(i){var e=null;i.weui.loading=function(){var n=arguments.length<=0||void 0===arguments[0]?"loading...":arguments[0],a='<div class="weui_loading_toast">\n <div class="weui_mask_transparent"></div>\n <div class="weui_toast">\n <div class="weui_loading">\n <div class="weui_loading_leaf weui_loading_leaf_0"></div>\n <div class="weui_loading_leaf weui_loading_leaf_1"></div>\n <div class="weui_loading_leaf weui_loading_leaf_2"></div>\n <div class="weui_loading_leaf weui_loading_leaf_3"></div>\n <div class="weui_loading_leaf weui_loading_leaf_4"></div>\n <div class="weui_loading_leaf weui_loading_leaf_5"></div>\n <div class="weui_loading_leaf weui_loading_leaf_6"></div>\n <div class="weui_loading_leaf weui_loading_leaf_7"></div>\n <div class="weui_loading_leaf weui_loading_leaf_8"></div>\n <div class="weui_loading_leaf weui_loading_leaf_9"></div>\n <div class="weui_loading_leaf weui_loading_leaf_10"></div>\n <div class="weui_loading_leaf weui_loading_leaf_11"></div>\n </div>\n <p class="weui_toast_content">'+n+"</p>\n </div>\n </div>";e=i(a),i("body").append(e)},i.weui.hideLoading=function(){e&&e.remove(),e=null}}($),function(i){i.fn.progress=function(e){var n=this;e=i.extend({value:0},e),e.value<0&&(e.value=0),e.value>100&&(e.value=100);var a=this.find(".weui_progress_inner_bar");if(0===a.length){var t="function"==typeof e.onClick?'<a href="javascript:;" class="weui_progress_opr">\n <i class="weui_icon_cancel"></i>\n </a>':"",l='<div class="weui_progress">\n <div class="weui_progress_bar">\n <div class="weui_progress_inner_bar" style="width: '+e.value+'%;"></div>\n </div>\n '+t+"\n </div>";return"function"==typeof e.onClick&&this.on("click",".weui_progress_opr",function(){e.onClick.call(n)}),this.html(l)}return a.width(e.value+"%")}}($),function(i){i.fn.searchBar=function(e){function n(e,n,a){if("function"==typeof a[n]){var t=i(e).val();a[n].call(e,t)}}e=i.extend({focusingClass:"weui_search_focusing",searchText:"搜索",cancelText:"取消"},e);var a='<div class="weui_search_bar">\n <form class="weui_search_outer">\n <div class="weui_search_inner">\n <i class="weui_icon_search"></i>\n <input type="search" class="weui_search_input" id="weui_search_input" placeholder="'+e.searchText+'" required/>\n <a href="javascript:" class="weui_icon_clear"></a>\n </div>\n <label for="weui_search_input" class="weui_search_text">\n <i class="weui_icon_search"></i>\n <span>'+e.searchText+'</span>\n </label>\n </form>\n <a href="javascript:" class="weui_search_cancel">'+e.cancelText+"</a>\n </div>",t=i(a);this.append(t);var l=this.find(".weui_search_bar"),o=this.find(".weui_search_text"),u=this.find(".weui_search_input");this.on("focus","#weui_search_input",function(){o.hide(),l.addClass(e.focusingClass),n(u,"onfocus",e)}).on("blur","#weui_search_input",function(){l.removeClass(e.focusingClass),i(this).val()?o.hide():o.show(),n(u,"onblur",e)}).on("touchend",".weui_search_cancel",function(){u.val(""),n(u,"oncancel",e)}).on("touchend",".weui_icon_clear",function(i){i.preventDefault(),u.val(""),"search_input"!=document.activeElement.id&&u.trigger("focus"),n(u,"onclear",e)}).on("input",".weui_search_input",function(){n(u,"input",e)}).on("submit",".weui_search_outer",function(){return"function"==typeof e.onsubmit?(n(u,"onsubmit",e),!1):void 0})}}($),function(i){var e=i.fn.tab;i.fn.tab=function(e){e=i.extend({defaultIndex:0,activeClass:"weui_bar_item_on",onToggle:i.noop},e);var n=this.find(".weui_tabbar_item, .weui_navbar_item"),a=this.find(".weui_tab_bd_item");this.toggle=function(i){var t=n.eq(i);t.addClass(e.activeClass).siblings().removeClass(e.activeClass);var l=a.eq(i);l.show().siblings().hide(),e.onToggle(i)};var t=this;return this.on("click",".weui_tabbar_item, .weui_navbar_item",function(e){var n=i(this).index();t.toggle(n)}),this.toggle(e.defaultIndex),this},i.fn.tab.noConflict=function(){return e}}($),function(i){i.weui.toast=function(){var e=arguments.length<=0||void 0===arguments[0]?"toast":arguments[0],n=arguments[1];"number"==typeof n&&(n={duration:n}),"function"==typeof n&&(n={callback:n}),n=i.extend({duration:3e3,callback:i.noop},n);var a='<div>\n <div class="weui_mask_transparent"></div>\n <div class="weui_toast">\n <i class="weui_icon_toast"></i>\n <p class="weui_toast_content">'+e+"</p>\n </div>\n </div>",t=i(a);i("body").append(t),setTimeout(function(){t.remove(),t=null,n.callback()},n.duration)}}($),function(i){var e=i.fn.uploader;i.fn.uploader=function(e){e=i.extend({title:"图片上传",maxCount:4,maxWidth:500,onChange:i.noop},e);var n='<div class="weui_uploader">\n <div class="weui_uploader_hd weui_cell">\n <div class="weui_cell_bd weui_cell_primary">'+e.title+'</div>\n <div class="weui_cell_ft">0/'+e.maxCount+'</div>\n </div>\n <div class="weui_uploader_bd">\n <ul class="weui_uploader_files">\n </ul>\n <div class="weui_uploader_input_wrp">\n <input class="weui_uploader_input" type="file" accept="image/jpg,image/jpeg,image/png,image/gif">\n </div>\n </div>\n </div>';this.html(n);var a=this,t=this.find(".weui_uploader_files"),l=this.find(".weui_uploader_input"),o=0;return l.on("change",function(n){var l=n.target.files;if(0!==l.length)return o>=e.maxCount?void i.weui.alert("最多只能上传"+e.maxCount+"张图片"):void i.each(l,function(i,n){var l=new FileReader;l.onload=function(i){var l=new Image;l.onload=function(){var i=Math.min(e.maxWidth,l.width),u=l.height*(i/l.width),s=document.createElement("canvas"),c=s.getContext("2d");s.width=i,s.height=u;var d=navigator.userAgent.match(/iPhone OS ([^\s]*)/);d&&7==d[1].substr(0,1)&&3264==l.width&&2448==l.height?c.drawImage(l,0,0,i,2*u):c.drawImage(l,0,0,i,u);var r=s.toDataURL("image/png");t.append('<li class="weui_uploader_file " style="background-image:url('+r+')"></li>'),++o,a.find(".weui_uploader_hd .weui_cell_ft").text(o+"/"+e.maxCount),e.onChange.call(a,{lastModified:n.lastModified,lastModifiedDate:n.lastModifiedDate,name:n.name,size:n.size,type:n.type,data:r})},l.src=i.target.result},l.readAsDataURL(n)})}),this.update=function(i){var e=t.find(".weui_uploader_file").last();e.addClass("weui_uploader_status"),e.html('<div class="weui_uploader_status_content">'+i+"</div>")},this.success=function(){var i=t.find(".weui_uploader_file").last();i.removeClass("weui_uploader_status"),i.html("")},this.error=function(){var i=t.find(".weui_uploader_file").last();i.addClass("weui_uploader_status"),i.html('<div class="weui_uploader_status_content"><i class="weui_icon_warn"></i></div>')},this},i.fn.uploader.noConflict=function(){return e}}($);