Public/BJUI/js/bjui-all.js
(开头部分) 156KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*!
* B-JUI v1.0 (http://b-jui.com)
* Git@OSC (http://git.oschina.net/xknaan/B-JUI)
* Copyright 2014 K'naan (xknaan@163.com).
* Licensed under Apache (http://www.apache.org/licenses/LICENSE-2.0)
*/
/* ========================================================================
* B-JUI: bjui-all.js v1.0
* @author K'naan (xknaan@163.com)
* http://git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-all.js
* ========================================================================
* Copyright 2014 K'naan.
* Licensed under Apache (http://www.apache.org/licenses/LICENSE-2.0)
* ======================================================================== */
/**
* B-JUI: bjui-core.js v1.0
* @author K'naan (xknaan@163.com)
* -- Modified from dwz.core.js (author:ZhangHuihua@msn.com)
* http://git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-core.js
*/
+function(a){"use strict";var b={JSPATH:"BJUI/",PLUGINPATH:"BJUI/plugins/",IS_DEBUG:!1,keyCode:{ENTER:13,ESC:27,END:35,HOME:36,SHIFT:16,TAB:9,LEFT:37,RIGHT:39,UP:38,DOWN:40,DELETE:46,BACKSPACE:8},eventType:{initUI:"bjui.initUI",beforeInitUI:"bjui.beforeInitUI",afterInitUI:"bjui.afterInitUI",ajaxStatus:"bjui.ajaxStatus",resizeGrid:"bjui.resizeGrid",beforeAjaxLoad:"bjui.beforeAjaxLoad",beforeLoadNavtab:"bjui.beforeLoadNavtab",beforeLoadDialog:"bjui.beforeLoadDialog",afterLoadNavtab:"bjui.afterLoadNavtab",afterLoadDialog:"bjui.afterLoadDialog",beforeCloseNavtab:"bjui.beforeCloseNavtab",beforeCloseDialog:"bjui.beforeCloseDialog",afterCloseNavtab:"bjui.afterCloseNavtab",afterCloseDialog:"bjui.afterCloseDialog"},pageInfo:{pageCurrent:"pageCurrent",pageSize:"pageSize",orderField:"orderField",orderDirection:"orderDirection"},ajaxTimeout:3e3,alertTimeout:6e3,statusCode:{ok:200,error:300,timeout:301},keys:{statusCode:"statusCode",message:"message"},ui:{showSlidebar:!0,hideMode:"display",clientPaging:!0},debug:function(a){this.IS_DEBUG&&("undefined"!=typeof console?console.log(a):alert(a))},loginInfo:{url:"login.html",title:"Login",width:420,height:260,mask:!0},loadLogin:function(){var b=this.loginInfo;a("body").dialog({id:"bjui-login",url:b.url,title:b.title,width:b.width,height:b.height,mask:b.mask})},init:function(c){var d=a.extend({},c);a.extend(b.statusCode,d.statusCode),a.extend(b.pageInfo,d.pageInfo),a.extend(b.loginInfo,d.loginInfo),a.extend(b.ui,d.ui),d.JSPATH&&(this.JSPATH=d.JSPATH),d.PLUGINPATH&&(this.PLUGINPATH=d.PLUGINPATH),d.ajaxTimeout&&(this.ajaxTimeout=d.ajaxTimeout),d.alertTimeout&&(this.alertTimeout=d.alertTimeout),d.ui.showSlidebar||a("#bjui-leftside").slidebar("hide"),this.IS_DEBUG=d.debug||!1,this.initEnv(),a.cookie&&a.cookie("bjui_theme")||!d.theme||a(this).theme("setTheme",d.theme)},initEnv:function(){if(a("#bjui-hnav")){var c=a("#bjui-hnav").height()+a("#bjui-header").outerHeight()+5;a("#bjui-leftside, #bjui-container, #bjui-splitBar, #bjui-splitBarProxy").css({top:c})}a(window).resize(function(){b.initLayout(),a(this).trigger(b.eventType.resizeGrid)}),setTimeout(function(){b.initLayout(),a(document).initui()},10)},initLayout:function(){var c=a(window).width()-(b.ui.showSlidebar?a("#bjui-sidebar").width()+10:31)-5,d=a(window).height()-a("#bjui-header").height()-a("#bjui-hnav").outerHeight()-31,e=a("#bjui-hnav").height()+a("#bjui-header").outerHeight()+5;a("#bjui-hnav").find(".navbar-collapse").height(),a("#bjui-leftside, #bjui-container, #bjui-splitBar, #bjui-splitBarProxy").css({top:e}),a("#bjui-container").width(c),a("#bjui-container .tabsPageContent").height(d-31),setTimeout(function(){a("#bjui-container .tabsPageContent").find("[data-layout-h]").not(".bjui-layout-h").layoutH()},10),a("#bjui-sidebar, #bjui-sidebar-s .collapse, #bjui-splitBar, #bjui-splitBarProxy").height(d-5),a("#bjui-taskbar").css({top:d+a("#bjui-header").height()+5,width:a(window).width()})},regional:{},setRegional:function(a,c){b.regional[a]=c}};window.BJUI=b}(jQuery);
/**
* B-JUI: bjui-regional.zh-CN.js v1.0
* @author K'naan (xknaan@163.com)
* http://git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-regional.zh-CN.js
*/
+function(a){"use strict";a(function(){BJUI.setRegional("alertmsg",{title:{error:"错误提示",info:"信息提示",warn:"警告信息",correct:"成功信息",confirm:"确认信息"},btnMsg:{ok:"确定",yes:"是",no:"否",cancel:"取消"}}),BJUI.setRegional("dialog",{close:"关闭",maximize:"最大化",restore:"还原",minimize:"最小化",title:"弹出窗口"}),BJUI.setRegional("orderby",{asc:"升序",desc:"降序"}),BJUI.setRegional("pagination",{first:"首页",last:"末页",prev:"上一页",next:"下一页",jumpto:"跳转页号",jump:"跳转"}),BJUI.setRegional("progressmsg","正在努力加载数据,请稍等..."),BJUI.setRegional("datepicker",{close:"关闭",prev:"上月",next:"下月",clear:"清空",ok:"确定",dayNames:["日","一","二","三","四","五","六"],monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]}),BJUI.setRegional("navtabCM",{refresh:"刷新本标签",close:"关闭本标签",closeother:"关闭其他标签",closeall:"关闭所有标签"}),BJUI.setRegional("dialogCM",{refresh:"刷新本窗口",close:"关闭本窗口",closeother:"关闭其他窗口",closeall:"关闭所有窗口"}),BJUI.setRegional("upload",{upConfirm:"开始上传",upPause:"暂停上传",upCancel:"取消上传"}),BJUI.setRegional("statusCode_503","服务器当前负载过大或者正在维护!"),BJUI.setRegional("sessiontimeout","会话超时,请重新登陆!"),BJUI.setRegional("plhmsg","占位符对应的选择器无有效值!"),BJUI.setRegional("nocheckgroup",'未定义选中项的组名[复选框的"data-group"]!'),BJUI.setRegional("notchecked","未选中任何一项!"),BJUI.setRegional("selectmsg","请选择一个选项!"),BJUI.setRegional("validatemsg","提交的表单中 [{0}] 个字段有错误,请更正后再提交!"),BJUI.setRegional("uititle","B-JUI"),BJUI.setRegional("maintab","我的主页"),a.validator.config({defaultMsg:"{0}格式不正确",loadingMsg:"正在验证...",rules:{digits:[/^\d+$/,"请输入整数"],number:[/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,"请输入有效的数字"],letters:[/^[a-z]+$/i,"{0}只能输入字母"],tel:[/^(?:(?:0\d{2,3}[\- ]?[1-9]\d{6,7})|(?:[48]00[\- ]?[1-9]\d{6}))$/,"电话格式不正确"],mobile:[/^1[3-9]\d{9}$/,"手机号格式不正确"],email:[/^[\w\+\-]+(\.[\w\+\-]+)*@[a-z\d\-]+(\.[a-z\d\-]+)*\.([a-z]{2,4})$/i,"邮箱格式不正确"],qq:[/^[1-9]\d{4,}$/,"QQ号格式不正确"],date:[/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,"请输入正确的日期,例:yyyy-MM-dd"],time:[/^(2[0123]|(1|0?)[0-9]){1}:([0-5][0-9]){1}:([0-5][0-9]){1}$/,"请输入正确的时间,例:HH:mm:ss"],datetime:[/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(2[0123]|(1|0?)[0-9]){1}:([0-5][0-9]){1}:([0-5][0-9]){1}$/,"请输入正确的日期时间,例:yyyy-MM-dd HH:mm:ss"],ID_card:[/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[A-Z])$/,"请输入正确的身份证号码"],url:[/^(https?|ftp):\/\/[^\s]+$/i,"网址格式不正确"],postcode:[/^[1-9]\d{5}$/,"邮政编码格式不正确"],chinese:[/^[\u0391-\uFFE5]+$/,"请输入中文"],username:[/^\w{3,12}$/,"请输入3-12位数字、字母、下划线"],password:[/^[0-9a-zA-Z]{6,16}$/,"密码由6-16位数字、字母组成"],accept:function(a,b){if(!b)return!0;var c=b[0];return"*"===c||new RegExp(".(?:"+(c||"png|jpg|jpeg|gif")+")$","i").test(a.value)||this.renderMsg("只接受{1}后缀",c.replace("|",","))}}}),a.validator.config({messages:{required:"{0}不能为空",remote:"{0}已被使用",integer:{"*":"请输入整数","+":"请输入正整数","+0":"请输入正整数或0","-":"请输入负整数","-0":"请输入负整数或0"},match:{eq:"{0}与{1}不一致",neq:"{0}与{1}不能相同",lt:"{0}必须小于{1}",gt:"{0}必须大于{1}",lte:"{0}必须小于或等于{1}",gte:"{0}必须大于或等于{1}"},range:{rg:"请输入{1}到{2}的数",gte:"请输入大于或等于{1}的数",lte:"请输入小于或等于{1}的数"},checked:{eq:"请选择{1}项",rg:"请选择{1}到{2}项",gte:"请至少选择{1}项",lte:"请最多选择{1}项"},length:{eq:"请输入{1}个字符",rg:"请输入{1}到{2}个字符",gte:"请至少输入{1}个字符",lte:"请最多输入{1}个字符",eq_2:"",rg_2:"",gte_2:"",lte_2:""}}})})}(jQuery);
/**
* B-JUI: bjui-frag.js v1.0
* @author K'naan (xknaan@163.com)
* -- Modified from dwz.frag.xml (author:ZhangHuihua@msn.com)
* http://git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-frag.js
*/
+function(){"use strict";BJUI.setRegional("alertmsg",{title:{error:"Error",info:"Info",warn:"Warning",correct:"Correct",confirm:"Confirm"},btnMsg:{ok:"OK",yes:"YES",no:"NO",cancel:"Cancel"}}),BJUI.setRegional("dialog",{close:"Close",maximize:"Maximize",restore:"Restore",minimize:"Minimize",title:"Popup window"}),BJUI.setRegional("orderby",{asc:"Asc",desc:"Desc"}),BJUI.setRegional("pagination",{first:"First page",last:"Last page",prev:"Prev page",next:"Next page",jumpto:"Jump page number",jump:"Jump"}),BJUI.setRegional("progressmsg","Data loading, please waiting..."),BJUI.setRegional("datepicker",{close:"Close",prev:"Prev month",next:"Next month",clear:"Clear",ok:"OK",dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),BJUI.setRegional("navtabCM",{refresh:"Refresh navtab",close:"Close navtab",closeother:"Close other navtab",closeall:"Close all navtab"}),BJUI.setRegional("dialogCM",{refresh:"Refresh dialog",close:"Close dialog",closeother:"Close other dialog",closeall:"Close all dialog"}),BJUI.setRegional("upload",{upConfirm:"Start upload",upPause:"Pause upload",upCancel:"Cancel upload"}),BJUI.setRegional("statusCode_503","The current server load is too large or is down for maintenance!"),BJUI.setRegional("sessiontimeout","Session timeout, please login!"),BJUI.setRegional("plhmsg","Placeholder corresponding selector None Valid!"),BJUI.setRegional("nocheckgroup",'Undefined group name selected item [check box "data-group"]!'),BJUI.setRegional("notchecked","Unchecked any one!"),BJUI.setRegional("selectmsg","Please select one option!"),BJUI.setRegional("validatemsg","Submitted form data has [{0}] field an error, please after modified submitting!"),BJUI.setRegional("uititle","B-JUI"),BJUI.setRegional("maintab","My home"),window.FRAG={dialog:'<div class="bjui-dialog bjui-dialog-container" style="top:150px; left:300px;"> <div class="dialogHeader" onselectstart="return false;" oncopy="return false;" onpaste="return false;" oncut="return false;"> <a class="close" href="#close" title="#close#"><i class="fa fa-times-circle"></i></a> <a class="maximize" href="#maximize" title="#maximize#"><i class="fa fa-plus-circle"></i></a> <a class="restore" href="#restore" title="#restore#"><i class="fa fa-history"></i></a> <a class="minimize" href="#minimize" title="#minimize#"><i class="fa fa-minus-circle"></i></a> <h1><span><i class="fa fa-th-large"></i></span> <span class="title">#title#</span></h1> </div> <div class="dialogContent layoutBox unitBox"></div> <div class="resizable_h_l" tar="nw"></div> <div class="resizable_h_r" tar="ne"></div> <div class="resizable_h_c" tar="n"></div> <div class="resizable_c_l" tar="w" style="height:100%;"></div> <div class="resizable_c_r" tar="e" style="height:100%;"></div> <div class="resizable_f_l" tar="sw"></div> <div class="resizable_f_r" tar="se"></div> <div class="resizable_f_c" tar="s"></div></div>',dialogProxy:'<div id="bjui-dialogProxy" class="bjui-dialog dialogProxy" style="display:none;"> <div class="dialogHeader"> <a class="close" href="#close" title="#close#"><i class="fa fa-times-circle"></i></a> <a class="maximize" href="#maximize" title="#maximize#"><i class="fa fa-plus-circle"></i></a> <a class="minimize" href="#minimize" title="#minimize#"><i class="fa fa-minus-circle"></i></a> <h1><span><i class="fa fa-th-large"></i></span> <span class="title">#title#</span></h1> </div> <div class="dialogContent"></div></div>',taskbar:'<div id="bjui-taskbar" style="left:0px; display:none;"> <div class="taskbarContent"> <ul></ul> </div> <div class="taskbarLeft taskbarLeftDisabled"><i class="fa fa-angle-double-left"></i></div> <div class="taskbarRight"><i class="fa fa-angle-double-right"></i></div></div>',splitBar:'<div id="bjui-splitBar"></div>',splitBarProxy:'<div id="bjui-splitBarProxy"></div>',resizable:'<div id="bjui-resizable" class="bjui-resizable"></div>',alertBackground:'<div class="bjui-alertBackground"></div>',maskBackground:'<div class="bjui-maskBackground"></div>',maskProgress:'<div class="bjui-maskProgress"><i class="fa fa-cog fa-spin"></i> #msg#</div>',progressBar_custom:'<div id="bjui-progressBar-custom" class="progressBar"><i class="fa fa-cog fa-spin"></i> <span></span></div>',dialogMask:'<div class="bjui-dialogBackground"></div>',orderby:'<a href="javascript:;" class="order asc" data-order-direction="asc" title="#asc#"><i class="fa fa-angle-up"></i></a><a href="javascript:;" class="order desc" data-order-direction="desc" title="#desc#"><i class="fa fa-angle-down"></i></a>',pagination:'<ul class="pagination"> <li class="j-first"> <a class="first" href="javascript:;"><i class="fa fa-step-backward"></i> #first#</a> <span class="first"><i class="fa fa-step-backward"></i> #first#</span> </li> <li class="j-prev"> <a class="previous" href="javascript:;"><i class="fa fa-backward"></i> #prev#</a> <span class="previous"><i class="fa fa-backward"></i> #prev#</span> </li> #pageNumFrag# <li class="j-next"> <a class="next" href="javascript:;">#next# <i class="fa fa-forward"></i></a> <span class="next">#next# <i class="fa fa-forward"></i></span> </li> <li class="j-last"> <a class="last" href="javascript:;">#last# <i class="fa fa-step-forward"></i></a> <span class="last">#last# <i class="fa fa-step-forward"></i></span> </li> <li class="jumpto"><span class="p-input"><input class="form-control input-sm-pages" type="text" size="2.6" value="#pageCurrent#" title="#jumpto#"></span><a class="goto" href="javascript:;" title="#jump#"><i class="fa fa-chevron-right"></i></a></li></ul>',alertBoxFrag:'<div id="bjui-alertMsgBox" class="bjui-alert"><div class="alertContent"><div class="#type#"><div class="alertInner"><h1><i class="fa #fa#"></i>#title#</h1><div class="msg">#message#</div></div><div class="toolBar"><ul>#btnFragment#</ul></div></div></div></div>',alertBtnFrag:'<li><button class="btn btn-#class#" rel="#callback#" type="button">#btnMsg#</button></li>',calendarFrag:'<div id="bjui-calendar"> <div class="main"> <a class="close" href="javascript:;" title="#close#"><i class="fa fa-times-circle"></i></a> <div class="head"> <table width="100%" border="0" cellpadding="0" cellspacing="2"> <tr> <td width="20"><a class="prev" href="javascript:;" title="#prev#"><i class="fa fa-arrow-left"></i></a></td> <td><select name="year"></select></td> <td><select name="month"></select></td> <td width="20"><a class="next" href="javascript:;" title="#next#"><i class="fa fa-arrow-right"></i></a></td> </tr> </table> </div> <div class="body"> <dl class="dayNames"><dt>7</dt><dt>1</dt><dt>2</dt><dt>3</dt><dt>4</dt><dt>5</dt><dt>6</dt></dl> <dl class="days"><!-- date list --></dl> <div style="clear:both;height:0;line-height:0"></div> </div> <div class="foot"> <table class="time"> <tr> <td> <input type="text" class="hh" maxlength="2" data-type="hh" data-start="0" data-end="23">:<input type="text" class="mm" maxlength="2" data-type="mm" data-start="0" data-end="59">:<input type="text" class="ss" maxlength="2" data-type="ss" data-start="0" data-end="59"> </td> <td><ul><li class="up" data-add="1">∧</li><li class="down">∨</li></ul></td> </tr> </table> <button type="button" class="clearBtn btn btn-orange">#clear#</button> <button type="button" class="okBtn btn btn-default">#ok#</button> </div> <div class="tm"> <ul class="hh"> <li>0</li> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> <li>10</li> <li>11</li> <li>12</li> <li>13</li> <li>14</li> <li>15</li> <li>16</li> <li>17</li> <li>18</li> <li>19</li> <li>20</li> <li>21</li> <li>22</li> <li>23</li> </ul> <ul class="mm"> <li>0</li> <li>5</li> <li>10</li> <li>15</li> <li>20</li> <li>25</li> <li>30</li> <li>35</li> <li>40</li> <li>45</li> <li>50</li> <li>55</li> </ul> <ul class="ss"> <li>0</li> <li>10</li> <li>20</li> <li>30</li> <li>40</li> <li>50</li> </ul> </div> </div></div>',spinnerBtn:'<ul class="bjui-spinner"><li class="up" data-add="1">∧</li><li class="down">∨</li></ul>',lookupBtn:'<a class="bjui-lookup" href="javascript:;" data-toggle="lookupbtn"><i class="fa fa-search"></i></a>',dateBtn:'<a class="bjui-lookup" href="javascript:;" data-toggle="datepickerbtn"><i class="fa fa-calendar"></i></a>',navtabCM:'<ul id="bjui-navtabCM"> <li rel="reload">#refresh#</li> <li rel="closeCurrent">#close#</li> <li rel="closeOther">#closeother#</li> <li rel="closeAll">#closeall#</li></ul>',dialogCM:'<ul id="bjui-dialogCM"> <li rel="reload">#refresh#</li> <li rel="closeCurrent">#close#</li> <li rel="closeOther">#closeother#</li> <li rel="closeAll">#closeall#</li></ul>',externalFrag:'<iframe src="{url}" data-layout-h="0" style="width:100%;height:{height};" frameborder="no" border="0" marginwidth="0" marginheight="0"></iframe>',uploadTemp:'<div id="{fileId}" class="item"> <div class="info"> <span class="up_filename">{fileName}</span><span class="up_confirm" title="#upConfirm#"><i class="fa fa-play-circle-o"></i></span><span class="up_pause" title="#upPause#"><span class="glyphicon glyphicon-pause"></span></span><span class="up_cancel" title="#upCancel#"><i class="fa fa-times-circle-o"></i></span> </div> <div class="preview"><span class="img"></span></div> <div class="progress"><div class="bar"></div></div> <span class="percent">{percent}</span> <span class="filesize"><span class="uploadedsize">{uploadedSize}</span>/<span class="totalsize">{fileSize}</span></span></div>',uploadFrag:'<input class="bjui-upload-select-file" style="display:none;" type="file" name="fileselect[]" #multi# accept="#accept#"><a href="javascript:void(0)" class="btn btn-default bjui-upload-select">#btnTxt#</a><div class="queue"></div>',statusCode_503:"HTTP status 503, #statusCode_503#",sessionTimout:"#sessiontimeout#",alertPlhMsg:"#plhmsg#",alertNoCheckGroup:"#nocheckgroup#",alertNotChecked:"#notchecked#",alertSelectMsg:"#selectmsg#",validateErrorMsg:"#validatemsg#",uiTitle:"#uititle#",mainTabTitle:"#mynavtab#"}}(jQuery);
/**
* B-JUI: bjui-extends.js v1.0
* @author K'naan (xknaan@163.com)
* -- Modified from dwz.core.js (author:ZhangHuihua@msn.com)
* http://git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-extends.js
*/
+function(a){"use strict";a.fn.extend({ajaxUrl:function(b){var c=a(this);c.trigger(BJUI.eventType.beforeAjaxLoad).trigger(BJUI.eventType.ajaxStatus),a.ajax({type:b.type||"GET",url:b.url,data:b.data||{},cache:!1,dataType:"html",timeout:BJUI.ajaxTimeout,success:function(d){var e=d.toJson();e[BJUI.keys.statusCode]?e[BJUI.keys.statusCode]==BJUI.statusCode.error?e[BJUI.keys.message]&&c.alertmsg("error",e[BJUI.keys.message]):e[BJUI.keys.statusCode]==BJUI.statusCode.timeout&&(c.children().not(".bjui-maskBackground, .bjui-maskProgress").length||(c.closest(".bjui-dialog").length&&c.dialog("closeCurrent"),c.closest(".navtab-panel").length&&c.navtab("closeCurrent")),a("body").alertmsg("error",e[BJUI.keys.message]||BJUI.regional.sessiontimeout,{okCall:function(){BJUI.loadLogin()}})):(c.html(d).initui(),a.isFunction(b.callback)&&b.callback(d))},error:function(a,b,d){c.bjuiajax("ajaxError",a,b,d),c.closest(".bjui-layout").length||(c.closest(".navtab-panel").length?c.navtab("closeCurrentTab"):c.dialog("closeCurrent"))},statusCode:{503:function(a,b,d){c.alertmsg("error",FRAG.statusCode_503.replace("#statusCode_503#",BJUI.regional.statusCode_503)||d)}}})},loadUrl:function(b,c,d){a(this).ajaxUrl({url:b,data:c,callback:d})},layoutH:function(b){return this.each(function(){var g,h,i,j,k,l,d=a(this),e=null,f=null;b&&b.length||(b=d.closest(".bjui-layout")),b&&b.length||(b=d.closest("div.layoutBox")),g=b.height()||parseInt(b.css("height")),h=d.data("bjuiLayH")||parseInt(d.data("layoutH"))||0,i=0,h?i=g-h>50?g-h:50:(e=d.closest("div.bjui-layout"),e&&e.length||(e=d.closest("div.unitBox")),e.find(".bjui-layout").find("[data-layout-fixed]").hide(),e.find(".bjui-layout").find(".bjui-tablefixed").hide(),j=0,k=0,l=0,e.find("[data-layout-fixed]:visible").each(function(){j+=a(this).outerHeight()||0}),f=e.find(".bjui-tablefixed:visible"),!f.hasClass("fixedH")&&f.length&&((f[0].scrollWidth>f[0].clientWidth||f[0].scrollWidth>f[0].offsetWidth)&&(k=f[0].offsetHeight-f[0].clientHeight),l=f.find(".fixedtableHeader").outerHeight()||0),e.find(".bjui-layout").find("[data-layout-fixed]").show(),e.find(".bjui-layout").find(".bjui-tablefixed").show(),i=g-j-k-l,d.data("bjuiLayH",j+k+l)),d.isTag("table")&&!d.parent("[data-layout-h]").length?d.removeAttr("data-layout-h").wrap('<div data-bjui-lay-h="'+d.data("bjuiLayH")+'" data-layout-h="'+h+'" style="overflow:auto;width:100%;height:'+i+'px"></div>'):d.animate({height:i},"fast",function(){d.css("overflow","auto"),d.find(".bjui-layout").find("[data-layout-h]").layoutH()})})},getMaxIndexObj:function(b){var c=0,d=0;return b.each(function(b){var e=parseInt(a(this).css("zIndex"))||1;e>c&&(c=e,d=b)}),b.eq(d)},serializeJson:function(){var b={},c=this.serializeArray();return a.each(c,function(){void 0!==b[this.name]?(b[this.name].push||(b[this.name]=[b[this.name]]),b[this.name].push(this.value||"")):b[this.name]=this.value||""}),b},isTag:function(b){return b?a(this)[0].tagName.toLowerCase()==b?!0:!1:!1},isBind:function(b){var c=a(this).data("events");return c&&b&&c[b]},log:function(a){return this.each(function(){console&&console.log("%s: %o",a,this)})}}),a.extend(String.prototype,{isPositiveInteger:function(){return new RegExp(/^[1-9]\d*$/).test(this)},isInteger:function(){return new RegExp(/^\d+$/).test(this)},isNumber:function(){return new RegExp(/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/).test(this)},trim:function(){return this.replace(/(^\s*)|(\s*$)|\r|\n/g,"")},startsWith:function(a){return 0===this.indexOf(a)},endsWith:function(a){var b=this.length-a.length;return b>=0&&this.lastIndexOf(a)===b},replaceSuffix:function(a){return this.replace(/\[[0-9]+\]/,"["+a+"]").replace("#index#",a)},replaceSuffix2:function(a){return this.replace(/\-(i)([0-9]+)$/,"-i"+a).replace("#index#",a)},trans:function(){return this.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"')},encodeTXT:function(){return this.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll(" "," ")},replaceAll:function(a,b){return this.replace(new RegExp(a,"gm"),b)},replacePlh:function(b){return b=b||a(document),this.replace(/{\/?[^}]*}/g,function(a){var c=b.find(a.replace(/[{}]+/g,""));return c&&c.val()?c.val():a})},replaceMsg:function(a){return this.replace(new RegExp("({.*})","g"),a)},replaceTm:function(a){return a?this.replace(RegExp("({[A-Za-z_]+[A-Za-z0-9_-]*})","g"),function(b){return a[b.replace(/[{}]+/g,"")]}):this},replaceTmById:function(b){var c=b||a(document);return this.replace(RegExp("({[A-Za-z_]+[A-Za-z0-9_-]*})","g"),function(a){var b=c.find("#"+a.replace(/[{}]+/g,""));return b.val()?b.val():a})},isFinishedTm:function(){return!new RegExp("{.*}").test(this)},skipChar:function(a){return this&&0!==this.length?this.charAt(0)===a?this.substring(1).skipChar(a):this:""},isValidPwd:function(){return new RegExp(/^([_]|[a-zA-Z0-9]){6,32}$/).test(this)},isValidMail:function(){return new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(this.trim())},isSpaces:function(){var a,b;for(a=0;a<this.length;a+=1)if(b=this.charAt(a)," "!=b&&"\n"!=b&&" "!=b&&"\r"!=b)return!1;return!0},isPhone:function(){return new RegExp(/(^([0-9]{3,4}[-])?\d{3,8}(-\d{1,6})?$)|(^\([0-9]{3,4}\)\d{3,8}(\(\d{1,6}\))?$)|(^\d{3,8}$)/).test(this)},isUrl:function(){return new RegExp(/^[a-zA-z]+:\/\/([a-zA-Z0-9\-\.]+)([-\w .\/?%&=:]*)$/).test(this)},isExternalUrl:function(){return this.isUrl()&&-1==this.indexOf("://"+document.domain)},toBool:function(){return"true"===this.toLowerCase()?!0:!1},toJson:function(){var a=this;try{return"object"==typeof a&&(a=a.toString()),a.trim().match("^{(.+:.+,*){1,}}$")?JSON.parse(this):this}catch(b){return this}},toFunc:function(){var a,b,c;if(!this||0==this.length)return void 0;if(this.startsWith("function"))return new Function("return "+this)();for(a=this.split("."),b=window,c=0;c<a.length;c++)b=b[a[c]];return"function"==typeof b?b:void 0}}),a.extend(Function.prototype,{toFunc:function(){return this}})}(jQuery);
/**
* B-JUI: bjui-basedrag.js v1.0
* @author K'naan (xknaan@163.com)
* -- Modified from dwz.drag.js (author:Roger Wu)
* http://git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-basedrag.js
*/
+function(a){"use strict";function c(c){var d=arguments,e=c;return this.each(function(){var f=a(this),g=a.extend({},f.data(),"object"==typeof c&&c),h=f.data("bjui.basedrag");h||f.data("bjui.basedrag",h=new b(this,g)),"string"==typeof e&&a.isFunction(h[e])?([].shift.apply(d),d?h[e].apply(h,d):h[e]()):h.init()})}var d,b=function(b,c){this.$element=a(b),this.options=c};b.prototype.init=function(){var a=this;this.options.$obj=this.$element,this.options.obj&&(this.options.$obj=this.options.obj),this.options.event?this.start(this.options.event):this.$element.find(this.options.selector).bind("mousedown",function(b){a.start.apply(a,[b])})},b.prototype.start=function(){document.onselectstart=function(){return!1};var c=this;this.options.oleft=parseInt(this.$element.css("left"))||0,this.options.otop=parseInt(this.$element.css("top"))||0,a(document).bind("mouseup.bjui.basedrag",function(a){c.stop.apply(c,[a])}).bind("mousemove.bjui.basedrag",function(a){c.drag.apply(c,[a])})},b.prototype.drag=function(b){var c,d,e,f;return b||(b=window.event),c=this.options,d=c.oleft+(b.pageX||b.clientX)-c.event.pageX,e=c.otop+(b.pageY||b.clientY)-c.event.pageY,1>e&&(e=0),"horizontal"==c.move?c.minW&&d>=parseInt(this.options.$obj.css("left"))+c.minW&&c.maxW&&d<=parseInt(this.options.$obj.css("left"))+c.maxW?this.$element.css("left",d):c.scop&&c.relObj&&(d-parseInt(c.relObj.css("left"))>c.cellMinW?this.$element.css("left",d):this.$element.css("left",d)):"vertical"==c.move?this.$element.css("top",e):(f=c.selector?this.options.$obj.find(c.selector):this.options.$obj,d>=2*-f.outerWidth()/3&&e>=0&&d+f.outerWidth()/3<a(window).width()&&e+f.outerHeight()<a(window).height()&&this.$element.css({left:d,top:e})),c.drag&&c.drag.apply(this.$element,[this.$element,b]),this.preventEvent(b)},b.prototype.stop=function(b){return a(document).unbind("mousemove.bjui.basedrag").unbind("mouseup.bjui.basedrag"),this.options.stop&&this.options.stop.apply(this.$element,[this.$element,b]),this.options.event&&this.destroy(),document.onselectstart=function(){return!0},this.preventEvent(b)},b.prototype.preventEvent=function(a){return a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),!1},b.prototype.destroy=function(){this.$element.removeData("bjui.basedrag").unbind("mousedown")},d=a.fn.basedrag,a.fn.basedrag=c,a.fn.basedrag.Constructor=b,a.fn.basedrag.noConflict=function(){return a.fn.basedrag=d,this}}(jQuery);
/**
* B-JUI: bjui-slidebar.js v1.0
* @author K'naan (xknaan@163.com)
* -- Modified from dwz.barDrag.js (author:Roger Wu)
* http://git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-slidebar.js
*/
+function(a){"use strict";function c(c){var d=arguments,e=c;return this.each(function(){var f=a(this),g=a.extend({},f.data(),"object"==typeof c&&c),h=f.data("bjui.slidebar");h||f.data("bjui.slidebar",h=new b(this,g)),"string"==typeof e&&a.isFunction(h[e])?([].shift.apply(d),d?h[e].apply(h,d):h[e]()):h.init()})}var b,d;a(function(){a("body").append("<!-- Adjust the width of Left slide -->").append(FRAG.splitBar).append(FRAG.splitBarProxy),a("#bjui-leftside").slidebar({minW:150,maxW:700})}),b=function(b,c){this.$element=a(b),this.$bar=this.$element.find("#bjui-sidebar"),this.$sbar=this.$element.find("#bjui-sidebar-s"),this.$toggle=this.$bar.find(".toggleCollapse div"),this.$stoggle=this.$sbar.find(".toggleCollapse div"),this.$collapse=this.$sbar.find(".collapse"),this.$split=a("#bjui-splitBar"),this.$split2=a("#bjui-splitBarProxy"),this.$container=a("#bjui-container"),this.options=c},b.prototype.hide=function(){this.$toggle.trigger("click")},b.prototype.init=function(){var b=this;this.$toggle.click(function(){var c,d,e,f;return b.$split.hide(),BJUI.ui.showSlidebar=!1,c=parseInt(b.$sbar.css("left"))+b.$sbar.outerWidth(),d=c-b.$bar.outerWidth(),e=parseInt(b.$container.css("left"))-(b.$bar.outerWidth()-b.$sbar.outerWidth()),f=b.$bar.outerWidth()-b.$sbar.outerWidth()+b.$container.outerWidth(),b.$container.animate({left:e,width:f},50,function(){b.$bar.animate({left:d},500,function(){b.$bar.hide(),b.$sbar.show().css("left",-50).animate({left:5},200),a(window).trigger(BJUI.eventType.resizeGrid)})}),b.$collapse.on("click",function(){var a=parseInt(b.$sbar.css("left"))+b.$sbar.outerWidth(),c=function(){BJUI.ui.showSlidebar||b.$bar.animate({left:d},500,function(){b.$bar.hide()}),b.$container.off("click")};return b.$bar.is(":hidden")?(b.$toggle.hide(),b.$bar.show().animate({left:a},500),b.$container.on("click",c)):b.$bar.animate({left:d},500,function(){b.$bar.hide()}),!1}),!1}),this.$stoggle.click(function(){return BJUI.ui.showSlidebar=!0,b.$sbar.animate({left:-25},200,function(){b.$bar.show()}),b.$bar.animate({left:5},800,function(){var c,d;b.$split.show(),b.$toggle.show(),c=5+b.$bar.outerWidth()+b.$split.outerWidth(),d=b.$container.outerWidth()-(c-parseInt(b.$container.css("left"))),b.$container.css({left:c,width:d}),b.$collapse.off("click"),a(window).trigger(BJUI.eventType.resizeGrid)}),!1}),this.$split.mousedown(function(c){b.$split2.each(function(){var d=a(this);return setTimeout(function(){d.show()},100),d.css({visibility:"visible",left:b.$split.css("left")}).basedrag(a.extend(b.options,{obj:b.$bar,move:"horizontal",event:c,stop:function(){var c,d,e,f;a(this).css("visibility","hidden"),c=parseInt(a(this).css("left"))-parseInt(b.$split.css("left")),d=b.$bar.outerWidth()+c,e=parseInt(b.$container.css("left"))+c,f=b.$container.outerWidth()-c,b.$bar.css("width",d),b.$split.css("left",a(this).css("left")),b.$container.css({left:e,width:f})}})),!1})})},d=a.fn.slidebar,a.fn.slidebar=c,a.fn.slidebar.Constructor=b,a.fn.basedrag.noConflict=function(){return a.fn.slidebar=d,this}}(jQuery);
/**
* B-JUI: bjui-contextmenu.js v1.0
* @author K'naan (xknaan@163.com)
后面还有 126 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。