2015-11-13 21:33:53 +08:00
/ * !
* B - JUI v1 . 2 ( 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 . 2
* @ 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 . 2
* @ 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 , KeyPressed : { ctrl : ! 1 , shift : ! 1 } , keyCode : { ENTER : 13 , ESC : 27 , END : 35 , HOME : 36 , SHIFT : 16 , CTRL : 17 , 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" } , alertMsg : { displayPosition : "topcenter" , alertTimeout : 6e3 } , ajaxTimeout : 3e4 , statusCode : { ok : 200 , error : 300 , timeout : 301 } , keys : { statusCode : "statusCode" , message : "message" } , ui : { windowWidth : 0 , showSlidebar : ! 0 , clientPaging : ! 0 , overwriteHomeTab : ! 1 } , 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 . alertMsg , d . alertMsg ) , 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 ) , this . IS _DEBUG = d . debug || ! 1 , this . initEnv ( ) , a . cookie && a . cookie ( "bjui_theme" ) || ! d . theme || a ( this ) . theme ( "setTheme" , d . theme ) } , initEnv : function ( ) { a ( window ) . resize ( function ( ) { var c = a ( this ) . width ( ) ; b . ui . windowWidth && b . ui . windowWidth > 600 && b . ui . windowWidth < c && ( c = b . ui . windowWidth ) , b . initLayout ( c ) , setTimeout ( function ( ) { a ( this ) . trigger ( b . eventType . resizeGrid ) } , 30 ) } ) , setTimeout ( function ( ) { var c = a ( window ) . width ( ) ; b . ui . windowWidth && b . ui . windowWidth > 600 && b . ui . windowWidth < c && ( c = b . ui . windowWidth ) , b . initLayout ( c ) , a ( document ) . initui ( ) } , 10 ) } , initLayout : function ( c ) { var g , h , i , j , k , l , m , n , o , p , q , r , d = c - ( b . ui . showSlidebar ? a ( "#bjui-sidebar" ) . width ( ) + 6 : 6 ) , e = a ( window ) . height ( ) - a ( "#bjui-header" ) . height ( ) - a ( "#bjui-footer" ) . outerHeight ( ) , f = a ( "#bjui-navtab" ) . find ( ".tabsPageHeader" ) . height ( ) ; b . ui . windowWidth && a ( "#bjui-window" ) . width ( c ) , b . windowWidth = c , a ( "#bjui-container" ) . height ( e ) , a ( "#bjui-navtab" ) . width ( d ) , a ( "#bjui-leftside, #bjui-sidebar, #bjui-sidebar-s, #bjui-splitBar, #bjui-splitBarProxy" ) . css ( { height : "100%" } ) , a ( "#bjui-navtab .tabsPageContent" ) . height ( e - f ) , setTimeout ( function ( ) { a ( "#bjui-navtab > .tabsPageContent > .navtabPage" ) . resizePageH ( ) , a ( "#bjui-navtab > .tabsPageContent > .navtabPage" ) . find ( ".bjui-layout" ) . resizePageH ( ) } , 10 ) , g = a ( "body" ) . data ( "bjui.navbar.width" ) , h = a ( "#bjui-header" ) , i = h . find ( ".bjui-navbar-toggle" ) , j = h . find ( ".bjui-navbar-logo" ) , k = a ( "#bjui-navbar-collapse" ) , l = k . find ( ".bjui-navbar-right" ) , g || ( g = { logoW : j . outerWidth ( ) , navW : l . outerWidth ( ) } , a ( "body" ) . data ( "bjui.navbar.width" , g ) ) , g && ( c - g . logoW < g . navW ? ( i . show ( ) , k . addClass ( "collapse menu" ) ) : ( i . hide ( ) , k . removeClass ( "collapse menu in" ) ) ) , m = a ( "#bjui-hnav-navbar-box" ) , n = m . find ( "> #bjui-hnav-navbar" ) , o = m . prev ( ) , p = m . next ( ) , q = m . width ( ) , r = 0 , n . find ( "> li" ) . each ( function ( ) { var c = a ( this ) ; r += c . outerWidth ( ) , r > q ? ( p . show ( ) , m . data ( "hnav.move" , ! 0 ) . data ( "hnav.liw" , r ) ) : ( o . hide ( ) , p . hide ( ) , m . removeData ( "hnav.move" ) ) } ) } , regional : { } , setRegional : function ( a , c ) { b . regional [ a ] = c } , getRegional : function ( a ) { var c , d , e ; if ( String ( a ) . indexOf ( "." ) >= 0 ) { for ( d = String ( a ) . split ( "." ) , e = 0 ; e < d . length ; e ++ ) c = c ? c [ d [ e ] ] : b . regional [ d [ e ] ] ; return c } return b . regional [ a ] } , doRegional : function ( b , c ) { return a . each ( c , function ( a , c ) { b = b . replaceAll ( "#" + a + "#" , c ) } ) , b } } ; window . BJUI = b } ( jQuery ) ;
/ * *
* B - JUI : bjui - regional . zh - CN . js v1 . 2
* @ 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" , { total : "总记录数/总页数" , first : "首页" , last : "末页" , prev : "上一页" , next : "下一页" , jumpto : "输入跳转页码,回车确认" , jump : "跳转" , page : "页" , refresh : "刷新" } ) , BJUI . setRegional ( "datagrid" , { asc : "升序" , desc : "降序" , showhide : "显示/隐藏 列" , filter : "过滤" , clear : "清除" , lock : "锁定列" , unlock : "解除锁定" , add : "添加" , edit : "编辑" , save : "保存" , update : "更新" , cancel : "取消" , del : "删除" , prev : "上一条" , next : "下一条" , refresh : "刷新" , query : "查询" , "import" : "导入" , "export" : "导出" , all : "全部" , "true" : "是" , "false" : "否" , selectMsg : "未选中任何行!" , editMsg : "请先保存编辑行!" , saveMsg : "没有需要保存的行!" , delMsg : "确定要删除该行吗?" , delMsgM : "确定要删除选中行?" } ) , 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 && 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位数字、字母组成" ] , pattern : function ( a , b ) { if ( ! b ) return ! 0 ; var c = a . value . parseDate ( b ) ; return c ? ! 0 : this . renderMsg ( " 错 <EFBFBD>
/ * *
* B - JUI : bjui - frag . js v1 . 2
* @ 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 ( "datagrid" , { asc : "ASC" , desc : "DESC" , showhide : "Show/Hide columns" , filter : "Filter" , clear : "Clear" , lock : "Lock" , unlock : "Unlock" , add : "Add" , edit : "Edit" , save : "Save" , update : "Update" , cancel : "Cancel" , del : "Delete" , prev : "Prev" , next : "Next" , refresh : "Refresh" , query : "Query" , "import" : "Import" , "export" : "Export" , all : "All" , "true" : "True" , "false" : "False" , selectMsg : "Not selected any rows!" , saveMsg : "No rows need to save!" , editMsg : "Please save the edited row!" , delMsg : "Sure you want to delete this row?" , delMsgM : "Sure you want to delete selected rows?" } ) , 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 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>' , 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>' , maskBackgrou
/ * *
* B - JUI : bjui - extends . js v1 . 2
* @ 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 ) , b . loadingmask && c . 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 ( ) , f = c . find ( "> .bjui-ajax-mask" ) ; e [ BJUI . keys . statusCode ] ? ( e [ BJUI . keys . statusCode ] == BJUI . statusCode . error ? ( e [ BJUI . keys . message ] && c . alertmsg ( "error" , e [ BJUI . keys . message ] ) , c . closest ( ".bjui-layout" ) . length || ( c . closest ( ".navtab-panel" ) . length ? c . navtab ( "closeCurrentTab" ) : c . dialog ( "closeCurrent" ) ) ) : e [ BJUI . keys . statusCode ] == BJUI . statusCode . timeout && ( c . closest ( ".bjui-dialog" ) . length && c . dialog ( "closeCurrent" ) , c . closest ( ".navtab-panel" ) . length && c . navtab ( "closeCurrentTab" ) , a ( "body" ) . alertmsg ( "info" , e [ BJUI . keys . message ] || BJUI . regional . sessiontimeout ) , BJUI . loadLogin ( ) ) , f . fadeOut ( "normal" , function ( ) { a ( this ) . remove ( ) } ) ) : ( c . empty ( ) . html ( d ) . append ( f ) . 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" ) ) , c . trigger ( "bjui.ajaxError" ) } , 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 } ) } , doAjax : function ( b ) { var d , e , c = a ( this ) ; return b . url ? b . callback ? ( b . callback = b . callback . toFunc ( ) , b . loadingmask && ( d = c . getPageTarget ( ) , d . trigger ( BJUI . eventType . ajaxStatus ) , e = d . find ( "> .bjui-ajax-mask" ) ) , b . type || ( b . type = "POST" ) , b . dataType || ( b . dataType = "json" ) , b . cache || ( b . cache = ! 1 ) , b . timeout = BJUI . ajaxTimeout , b . success = function ( c ) { e ? b . callback ? a . when ( b . callback ( c ) ) . done ( function ( ) { d . trigger ( "bjui.ajaxStop" ) } ) : d . trigger ( "bjui.ajaxStop" ) : b . callback ( c ) } , b . error = b . error || function ( a , b , f ) { c . bjuiajax ( "ajaxError" , a , b , f ) , e && d . trigger ( "bjui.ajaxError" ) } , a . ajax ( b ) , void 0 ) : ( BJUI . debug ( "The ajax callback is undefined!" ) , void 0 ) : ( BJUI . debug ( "The ajax url is undefined!" ) , void 0 ) } , getPageTarget : function ( ) { var b ; return b = this . closest ( ".bjui-layout" ) . length ? this . closest ( ".bjui-layout" ) : this . closest ( ".navtab-panel" ) . length ? a . CurrentNavtab : a . CurrentDialog } , resizePageH : function ( ) { return this . each ( function ( ) { if ( ! a ( this ) . closest ( ".tab-content" ) . length ) { var b = a ( this ) , c = b . find ( "> .bjui-pageHeader" ) , d = b . find ( "> .bjui-pageContent" ) , e = b . find ( "> .bjui-pageFooter" ) , f = c . outerHeight ( ) || 0 , g = e . outerHeight ( ) || 0 ; b . hasClass ( "navtabPage" ) && b . is ( ":hidden" ) && ( b . show ( ) , f = c . outerHeight ( ) || 0 , g = e . outerHeight ( ) || 0 , b . hide ( ) ) , e . css ( "bottom" ) && ( g += parseInt ( e . css ( "bottom" ) ) || 0 ) , 0 == g && b . hasClass ( "dialogContent" ) && ( g = 5 ) , d . css ( { top : f , bottom : g } ) } } ) } , 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 ) . prop ( "tagName" ) ? a ( this ) [ 0 ] . tagName . toLowerCase ( ) == b ? ! 0 : ! 1 : ! 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 ( /^([-]{0,1}(\d+)[\.]+(\d+))|([-]{0,1}(\d+))$/ ) . test ( this ) } , includeChinese : function ( ) { return new RegExp ( /[\u4E00-\u9FA5]/ ) . 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 , "<" ) . r
/ * *
* B - JUI : bjui - basedrag . js v1 . 2
* @ 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" ) , this . options . nounbind || this . $element . 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 . 2
* @ 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 ( "#bjui-leftside" ) . after ( "<!-- Adjust the width of Left slide -->" ) . after ( FRAG . splitBar ) . after ( FRAG . splitBarProxy ) } ) , b = function ( b , c ) { this . $element = a ( b ) , this . $bar = this . $element . find ( "#bjui-sidebar" ) , this . $sbar = this . $element . find ( "#bjui-sidebar-s" ) , this . $lock = this . $bar . find ( "> .toggleCollapse > .lock" ) , this . $navtab = a ( "#bjui-navtab" ) , this . $collapse = this . $sbar . find ( ".collapse" ) , this . $split = a ( "#bjui-splitBar" ) , this . $split2 = a ( "#bjui-splitBarProxy" ) , this . isfloat = ! 1 , this . options = c } , b . prototype . lock = function ( ) { var b = this , c = b . $bar . outerWidth ( ) + 4 , d = BJUI . windowWidth - a ( "#bjui-sidebar" ) . width ( ) - 6 ; b . faLock ( ) , b . hoverLock ( ) , b . $sbar . animate ( { left : - 10 } , 20 ) , b . $bar . removeClass ( "shadown" ) , b . isfloat = ! 1 , b . $navtab . animate ( { left : c , width : d } , 500 , function ( ) { a ( window ) . trigger ( BJUI . eventType . resizeGrid ) } ) , b . $split . show ( ) } , b . prototype . unlock = function ( ) { var b = this , c = 0 - b . $bar . outerWidth ( ) - 0 , d = BJUI . windowWidth - 6 ; b . faUnLock ( ) , b . hoverUnLock ( ) , b . $navtab . animate ( { left : 6 , width : d } , 400 ) , b . $bar . animate ( { left : c } , 500 , function ( ) { b . $sbar . animate ( { left : 0 } , 200 ) , b . $split . hide ( ) , a ( window ) . trigger ( BJUI . eventType . resizeGrid ) } ) , b . isfloat = ! 1 } , b . prototype . float = function ( ) { var a = this ; a . $sbar . animate ( { left : - 10 } , 200 ) , a . $bar . addClass ( "shadown" ) . animate ( { left : 0 } , 500 ) , a . isfloat = ! 0 } , b . prototype . hideFloat = function ( ) { var a = this , b = 0 - a . $bar . outerWidth ( ) - 0 ; a . $bar . animate ( { left : b - 10 } , 500 , function ( ) { a . $sbar . animate ( { left : 0 } , 100 ) } ) , a . isfloat = ! 1 } , b . prototype . hoverLock = function ( ) { var a = this ; a . $lock . hover ( function ( ) { a . tipUnLock ( ) , a . faUnLock ( ) } , function ( ) { a . tipLock ( ) , a . faLock ( ) } ) } , b . prototype . hoverUnLock = function ( ) { var a = this ; a . $lock . hover ( function ( ) { a . tipLock ( ) , a . faLock ( ) } , function ( ) { a . tipUnLock ( ) , a . faUnLock ( ) } ) } , b . prototype . tipLock = function ( ) { this . $lock . tooltip ( "destroy" ) . tooltip ( { title : "保持锁定,始终显示导航栏" , container : "body" } ) } , b . prototype . tipUnLock = function ( ) { this . $lock . tooltip ( "destroy" ) . tooltip ( { title : "解除锁定,自动隐藏导航栏" , container : "body" } ) } , b . prototype . faLock = function ( ) { this . $lock . find ( "> i" ) . attr ( "class" , "fa fa-lock" ) } , b . prototype . faUnLock = function ( ) { this . $lock . find ( "> i" ) . attr ( "class" , "fa fa-unlock-alt" ) } , b . prototype . init = function ( ) { var b = this ; BJUI . ui . showSlidebar ? b . hoverLock ( ) : b . unlock ( ) , this . $lock . off ( "click.bjui.slidebar" ) . on ( "click.bjui.slidebar" , function ( ) { b . isfloat ? b . lock ( ) : b . unlock ( ) , BJUI . ui . showSlidebar = ! BJUI . ui . showSlidebar } ) , this . $collapse . hover ( function ( ) { b . float ( ) , b . $navtab . click ( function ( ) { b . isfloat && b . hideFloat ( ) } ) } ) , 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 . $navtab . css ( "left" ) ) + c , f = b . $navtab . outerWidth ( ) - c , b . $bar . css ( "width" , d ) , b . $split . css ( "left" , a ( this ) . css ( "left" ) ) , b . $navtab . css ( { left : e , width : f } ) } } ) ) , ! 1 } ) } ) , a ( "#bjui-hnav-navbar-box" ) . length && b . moveHnav ( ) } , b . prototype . moveHnav = function ( ) { var b = a ( "#bjui-hnav-navbar-box" ) , c = b . find ( "> #bjui-hnav-navbar" ) , d = b . prev ( ) , e = b . next ( ) ; d . hover ( function ( ) { c . stop ( ) . animate ( { left : 0 } , 2e3 , function ( ) { d . hide ( ) } ) } , function ( ) { c . stop ( ) , b . data ( "hnav.move" ) && e . show ( ) } ) . on ( "click" , function ( ) { return c . stop ( ) . animate ( { left : 0 } , "fast" , function ( ) { d . hide ( ) } ) , ! 1 } ) , e . hover ( function ( ) { c . stop ( ) . animate ( { left : b . width ( ) - b . data ( "hnav.liw" ) - 10 } , 2e3 , function ( ) { e . hide ( ) } ) } , function ( ) { c . stop ( ) , "0px" != c . css ( "left" ) && d . show ( ) } ) . on ( "click" , function ( ) { return c . stop ( ) . animate ( { left : b . width ( ) - b . data ( "hnav.liw" ) - 10 } , "fast" , function ( ) { e . hide ( ) } ) , ! 1 } ) } , b . prototype . initHnav = function ( ) { var f , g , h , i , b = this , c = b . $element . text ( ) . trim ( ) , d = b . $element . parent ( ) , e = a
/ * *
* B - JUI : bjui - contextmenu . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . contextmenu . js ( author : ZhangHuihua @ msn . com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-contextmenu.js
* /
+ function ( a ) { "use strict" ; function f ( b ) { var c = arguments , d = b ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , e . DEFAULTS , f . data ( ) , "object" == typeof b && b ) , h = f . data ( "bjui.contextmenu" ) ; h || f . data ( "bjui.contextmenu" , h = new e ( this , g ) ) , "string" == typeof d && a . isFunction ( h [ d ] ) ? ( [ ] . shift . apply ( c ) , c ? h [ d ] . apply ( h , c ) : h [ d ] ( ) ) : h . init ( ) } ) } var b , c , d , e , g ; a ( function ( ) { var e = function ( ) { b = a ( '<div id="bjui-contextmenu"></div>' ) . hide ( ) , c = a ( '<div id="bjui-contextmenuShadow"></div>' ) . hide ( ) , d = [ ] , a ( "body" ) . append ( "<!-- contextmenu -->" ) . append ( b ) . append ( c ) } ; e ( ) } ) , e = function ( b , c ) { this . $element = a ( b ) , this . options = c } , e . DEFAULTS = { id : void 0 , shadow : ! 0 , bindings : { } , ctrSub : null } , e . prototype . init = function ( ) { var c , a = this , b = this . options ; b . id && ( d . push ( { id : b . id , shadow : b . shadow , bindings : b . bindings || { } , ctrSub : b . ctrSub } ) , c = d . length - 1 , this . $element . on ( "contextmenu" , function ( d ) { return a . display ( c , this , d , b ) , ! 1 } ) ) } , e . prototype . display = function ( e , f , g ) { var m , n , i = this , j = d [ e ] , k = BJUI . regional [ j . id ] , l = FRAG [ j . id ] ; a . each ( k , function ( a ) { l = l . replace ( "#" + a + "#" , k [ a ] ) } ) , b . html ( l ) , a . each ( j . bindings , function ( c , d ) { a ( '[rel="' + c + '"]' , b ) . on ( "click" , function ( ) { i . hide ( ) , d ( a ( f ) , a ( "#bjui-" + j . id ) ) } ) } ) , m = g . pageX , n = g . pageY , a ( window ) . width ( ) < m + b . width ( ) && ( m -= b . width ( ) ) , a ( window ) . height ( ) < n + b . height ( ) && ( n -= b . height ( ) ) , b . css ( { left : m , top : n } ) . show ( ) , j . shadow && c . css ( { width : b . width ( ) , height : b . height ( ) , left : m + 3 , top : n + 3 } ) . show ( ) , a ( document ) . one ( "click" , i . hide ) , a . isFunction ( j . ctrSub ) && j . ctrSub ( a ( f ) , a ( "#bjui-" + j . id ) ) } , e . prototype . hide = function ( ) { b . hide ( ) , c . hide ( ) } , e . prototype . show = function ( b ) { var c = this ; b . items && b . items . length && c . $element . on ( "contextmenu" , function ( d ) { var e = ! 0 ; return b . exclude && c . $element . find ( b . exclude ) . each ( function ( ) { return this == d . target || a ( this ) . find ( d . target ) . length ? ( e = ! 1 , void 0 ) : void 0 } ) , e ? ( c . custom ( b . items , d ) , ! 1 ) : ( d . stopPropagation ( ) , ! e ) } ) } , e . prototype . custom = function ( d , e ) { var f , g , i , h , j , k ; b . empty ( ) . html ( "<ul></ul>" ) , f = this , g = f . options , h = b . find ( "> ul" ) , a . each ( d , function ( b , c ) { var d = "" ; c . icon && ( d = '<i class="fa fa-' + c . icon + '"></i>' ) , "diver" == c . title ? i = a ( '<li class="diver"></li>' ) : ( i = a ( '<li><span class="icon">' + d + '</span><span class="title">' + c . title + "</span></li>" ) , c . func && "string" == typeof c . func && ( c . func = c . func . toFunc ( ) ) , c . func && i . on ( "click" , function ( ) { f . hide ( ) , c . func ( f . $element , i ) } ) ) , i . appendTo ( h ) } ) , j = e . pageX , k = e . pageY , a ( window ) . width ( ) < j + b . width ( ) && ( j -= b . width ( ) ) , a ( window ) . height ( ) < k + b . height ( ) && ( k -= b . height ( ) ) , b . css ( { left : j , top : k } ) . show ( ) , g . shadow && c . css ( { width : b . width ( ) , height : b . height ( ) , left : j + 3 , top : k + 3 } ) . show ( ) , a ( document ) . one ( "click" , f . hide ) } , g = a . fn . contextmenu , a . fn . contextmenu = f , a . fn . contextmenu . Constructor = e , a . fn . contextmenu . noConflict = function ( ) { return a . fn . contextmenu = g , this } } ( jQuery ) ;
/ * *
* B - JUI : bjui - navtab . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . navTab . js ( author : ZhangHuihua @ msn . com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-navtab.js
* /
+ function ( a ) { "use strict" ; function p ( b ) { var c = arguments , d = b ; return this . each ( function ( ) { var e = a ( this ) , f = a . extend ( { } , o . DEFAULTS , "object" == typeof b && b ) , g = e . data ( "bjui.navtab" ) ; g || e . data ( "bjui.navtab" , g = new o ( this , f ) ) , "string" == typeof d && a . isFunction ( g [ d ] ) ? ( [ ] . shift . apply ( c ) , c ? g [ d ] . apply ( g , c ) : g [ d ] ( ) ) : ( g = new o ( this , f ) , g . openTab ( ) ) } ) } var b , c , d , e , f , g , h , i , j , k , l , m , n , o , q ; a ( function ( ) { var c = function ( ) { b = 0 , e = a ( "#bjui-navtab" ) , f = e . find ( ".navtab-tab" ) , g = e . find ( ".navtab-panel" ) , h = e . find ( ".tabsLeft" ) , i = e . find ( ".tabsRight" ) , j = e . find ( ".tabsMore" ) , k = e . find ( ".tabsMoreList" ) , l = f . find ( "li:first" ) , m = k . find ( "li:first" ) , h . click ( function ( ) { a ( this ) . navtab ( "scrollPrev" ) } ) , i . click ( function ( ) { a ( this ) . navtab ( "scrollNext" ) } ) , j . click ( function ( ) { k . show ( ) } ) , a ( document ) . on ( "click.bjui.navtab.switchtab" , function ( b ) { var c = "I" == b . target . tagName ? a ( b . target ) . parent ( ) : a ( b . target ) ; j [ 0 ] != c [ 0 ] && k . hide ( ) } ) ; var c , d ; l . navtab ( "contextmenu" , l ) . click ( function ( ) { a ( this ) . navtab ( "switchTab" , "main" ) } ) . find ( "> a > span" ) . html ( function ( a , b ) { return c = b . replace ( "#maintab#" , BJUI . regional . maintab ) } ) , d = a . extend ( { } , o . DEFAULTS , l . data ( ) , { id : "main" , title : c } ) , l . data ( "initOptions" , d ) . data ( "options" , d ) , l . attr ( "data-url" ) && a ( document ) . one ( BJUI . eventType . initUI , function ( ) { l . removeAttr ( "data-url" ) . navtab ( "reload" , d ) } ) , setTimeout ( function ( ) { l . navtab ( "switchTab" , "main" ) } , 50 ) , m . click ( function ( ) { a ( this ) . hasClass ( "active" ) ? k . hide ( ) : a ( this ) . navtab ( "switchTab" , "main" ) } ) . find ( "> a" ) . html ( function ( a , b ) { return b . replace ( "#maintab#" , BJUI . regional . maintab ) } ) } ; c ( ) } ) , o = function ( b , c ) { this . $element = a ( b ) , this . options = c , this . tools = this . TOOLS ( ) } , o . DEFAULTS = { id : void 0 , title : "New tab" , url : void 0 , type : "GET" , data : { } , loadingmask : ! 0 , fresh : ! 1 , autorefresh : ! 1 , onLoad : null , beforeClose : null , onClose : null } , o . prototype . TOOLS = function ( ) { var j = this , l = { getDefaults : function ( ) { return o . DEFAULTS } , getTabs : function ( ) { return f . find ( "> li" ) } , getPanels : function ( ) { return g . find ( "> div" ) } , getMoreLi : function ( ) { return k . find ( "> li" ) } , getTab : function ( a ) { var b = this . indexTabId ( a ) ; return b >= 0 ? this . getTabs ( ) . eq ( b ) : void 0 } , getPanel : function ( a ) { var b = this . indexTabId ( a ) ; return b >= 0 ? this . getPanels ( ) . eq ( b ) : void 0 } , getTabsW : function ( a , b ) { return this . tabsW ( this . getTabs ( ) . slice ( a , b ) ) } , tabsW : function ( b ) { var c = 0 ; return b . each ( function ( ) { c += a ( this ) . outerWidth ( ! 0 ) } ) , c } , indexTabId : function ( b ) { if ( ! b ) return - 1 ; var c = - 1 ; return this . getTabs ( ) . each ( function ( d ) { return a ( this ) . data ( "initOptions" ) . id == b ? ( c = d , void 0 ) : void 0 } ) , c } , getLeft : function ( ) { return f . position ( ) . left } , getScrollBarW : function ( ) { return e . width ( ) - 55 } , visibleStart : function ( ) { var d , a = this . getLeft ( ) , b = 0 , c = this . getTabs ( ) ; for ( d = 0 ; d < c . size ( ) ; d ++ ) { if ( b + a >= 0 ) return d ; b += c . eq ( d ) . outerWidth ( ! 0 ) } return 0 } , visibleEnd : function ( ) { var d , a = this . getLeft ( ) , b = 0 , c = this . getTabs ( ) ; for ( d = 0 ; d < c . size ( ) ; d ++ ) if ( b += c . eq ( d ) . outerWidth ( ! 0 ) , b + a > this . getScrollBarW ( ) ) return d ; return c . size ( ) } , scrollPrev : function ( ) { var a = this . visibleStart ( ) ; a > 0 && this . scrollTab ( - this . getTabsW ( 0 , a - 1 ) ) } , scrollNext : function ( ) { var a = this . visibleEnd ( ) ; a < this . getTabs ( ) . size ( ) && this . scrollTab ( - this . getTabsW ( 0 , a + 1 ) + this . getScrollBarW ( ) ) } , scrollTab : function ( a ) { f . animate ( { left : a } , 200 , function ( ) { j . tools . ctrlScrollBtn ( ) } ) } , scrollCurrent : function ( ) { var a = this . tabsW ( this . getTabs ( ) ) , c = this . getScrollBarW ( ) ; c >= a ? this . scrollTab ( 0 ) : this . getLeft ( ) < c - a ? this . scrollTab ( c - a ) : b < this . visibleStart ( ) ? this . scrollTab ( - this . getTabsW ( 0 , b ) ) : b >= this . visibleEnd ( ) && this . scrollTab ( c - this . getTabs ( ) . eq ( b ) . outerWidth ( ! 0 ) - this . getTabsW ( 0 , b ) ) } , ctrlScrollBtn : function ( ) { var a = this . tabsW ( this . getTabs ( ) ) ; this . getScrollBarW ( ) > a ? ( h . hide ( ) , i . hide ( ) , f . parent ( ) . removeClass ( "tabsPageHeaderMargin" ) ) : ( h . show ( ) . removeClass ( "tabsLeftDisabled" ) , i . show ( ) . removeClass ( "tabsRightDisabled" ) , f . parent ( ) . addClass ( "tabsPageHeaderMargin" ) , this . getLeft ( ) >= 0 ? h . addClass ( "tabsLeftDisabled" ) : this . getLeft ( ) <= this . getScrollBarW ( ) - a && i . addClass ( "tabsRightDisabled" ) ) } , switchTab : function ( e ) { var f = this . getTabs ( ) . removeClass ( "active" ) . eq ( e ) . addClass ( "active" ) , g = this . getPanels ( ) , h = g . eq ( e ) , i = j . options . onSwitch ? j . options . onSwitch . toFunc ( ) : null ; f . data ( "reloadFlag" ) ? ( g . hide ( ) , h . show ( ) , j . refresh ( f . data ( "initOptions" ) . id ) ) : ( g . hide ( )
/ * *
* B - JUI : bjui - dialog . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . dialog . js , dwz . dialogDrag . js , dwz . resize . js ( author : Roger Wu )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-dialog.js
* /
+ function ( a ) { "use strict" ; function g ( b ) { var c = arguments , d = b ; return this . each ( function ( ) { var e = a ( this ) , g = a . extend ( { } , f . DEFAULTS , "object" == typeof b && b ) , h = e . data ( "bjui.dialog" ) ; h || e . data ( "bjui.dialog" , h = new f ( this , g ) ) , "string" == typeof d && a . isFunction ( h [ d ] ) ? ( [ ] . shift . apply ( c ) , c ? h [ d ] . apply ( h , c ) : h [ d ] ( ) ) : ( h = new f ( this , g ) , h . open ( ) ) } ) } var b , c , d , e , f , h ; a ( function ( ) { var c = function ( ) { b = a ( "#bjui-resizable" ) , d = "dialogShadow" , e = f . ZINDEX , a ( "body" ) . append ( "<!-- dialog resizable -->" ) . append ( FRAG . resizable ) } ; c ( ) } ) , f = function ( b , c ) { this . $element = a ( b ) , this . options = c , this . tools = this . TOOLS ( ) } , f . DEFAULTS = { id : "dialog" , title : "New Dialog" , url : void 0 , type : "GET" , data : { } , loadingmask : ! 0 , width : 500 , height : 300 , minW : 65 , minH : 40 , max : ! 1 , mask : ! 1 , resizable : ! 0 , drawable : ! 0 , maxable : ! 0 , minable : ! 0 , fresh : ! 1 , onLoad : null , beforeClose : null , onClose : null } , f . ZINDEX = 30 , f . prototype . TOOLS = function ( ) { var b = this , c = { getDefaults : function ( ) { return f . DEFAULTS } , init : function ( c ) { var e = b . options . width > b . options . minW ? b . options . width : b . options . minW , f = b . options . height > b . options . minH ? b . options . height : b . options . minH , g = a ( window ) . width ( ) , h = a ( window ) . height ( ) , i = b . options . max ? 0 : ( h - f ) / 2 ; e > g && ( e = g ) , f > h && ( f = h ) , c . height ( f ) . width ( e ) . show ( ) . css ( { left : ( g - e ) / 2 , top : 0 , opacity : . 1 } ) . animate ( { top : i > 0 ? i : 0 , opacity : 1 } ) . addClass ( d ) . find ( "> .dialogContent" ) . height ( f - a ( "> .dialogHeader" , c ) . outerHeight ( ) - 6 ) , a ( "body" ) . find ( "> .bjui-dialog-container" ) . not ( c ) . removeClass ( d ) } , reload : function ( c , d ) { var f , g , e = c . find ( "> .dialogContent" ) ; d = d || c . data ( "initOptions" ) , f = d . onLoad ? d . onLoad . toFunc ( ) : null , c . trigger ( BJUI . eventType . beforeLoadDialog ) , d . url ? e . ajaxUrl ( { type : d . type || "GET" , url : d . url , data : d . data || { } , loadingmask : d . loadingmask , callback : function ( ) { f && f . apply ( b , [ c ] ) , BJUI . ui . clientPaging && c . data ( "bjui.clientPaging" ) && c . pagination ( "setPagingAndOrderby" , c ) } } ) : d . target && ( g = a ( d . target ) . html ( ) || c . data ( "bjui.dialog.target" ) , a ( d . target ) . empty ( ) , c . data ( "bjui.dialog.target" , g ) , e . trigger ( BJUI . eventType . beforeAjaxLoad ) . html ( g ) . initui ( ) , f && f . apply ( b , [ c ] ) ) } , resizeContent : function ( b , c , d ) { var e = b . find ( "> .dialogContent" ) ; e . css ( { width : c - 12 , height : d - b . find ( "> .dialogHeader" ) . outerHeight ( ) - 6 } ) . resizePageH ( ) , a ( window ) . trigger ( BJUI . eventType . resizeGrid ) } } ; return c } , f . prototype . open = function ( ) { var h , i , j , b = this , d = b . options , f = a ( "body" ) , g = f . data ( d . id ) ; if ( d . target && a ( d . target ) . length ) d . url = void 0 ; else { if ( ! d . url && d . href && ( d . url = d . href ) , ! d . url ) return BJUI . debug ( "Dialog Plugin: Error trying to open a dialog, url is undefined!" ) , void 0 ; if ( d . url = decodeURI ( d . url ) . replacePlh ( b . $element . closest ( ".unitBox" ) ) , ! d . url . isFinishedTm ( ) ) return b . $element . alertmsg ( "error" , d . warn || FRAG . alertPlhMsg . replace ( "#plhmsg#" , BJUI . regional . plhmsg ) ) , BJUI . debug ( "Dialog Plugin: The new dialog's url is incorrect, url: " + d . url ) , void 0 ; d . url = encodeURI ( d . url ) } g ? ( h = g . data ( "initOptions" ) || d , this . switchDialog ( g ) , g . is ( ":hidden" ) && g . show ( ) , ( h . fresh || d . fresh || ! h . url || h . url != d . url ) && ( b . reload ( d ) , g . data ( "initOptions" , d ) ) ) : ( i = BJUI . regional . dialog , j = FRAG . dialog . replace ( "#close#" , i . close ) . replace ( "#maximize#" , i . maximize ) . replace ( "#restore#" , i . restore ) . replace ( "#minimize#" , i . minimize ) . replace ( "#title#" , i . title ) , g = a ( j ) . data ( "options" , d ) . data ( "initOptions" , d ) . css ( "zIndex" , e += 1 ) . hide ( ) . appendTo ( f ) , g . find ( "> .dialogHeader > h1 > span.title" ) . html ( d . title ) , this . tools . init ( g ) , d . maxable ? g . find ( "a.maximize" ) . show ( ) : g . find ( "a.maximize" ) . hide ( ) , d . minable ? g . find ( "a.minimize" ) . show ( ) : g . find ( "a.minimize" ) . hide ( ) , d . max && b . maxsize ( g ) , d . mask ? this . addMask ( g ) : d . minable && a . fn . taskbar && this . $element . taskbar ( { id : d . id , title : d . title } ) , g . on ( "click" , function ( d ) { a ( d . target ) . data ( "bjui.dialog" ) || c && c [ 0 ] != g [ 0 ] && b . switchDialog ( g ) } ) . on ( "click" , ".btn-close" , function ( a ) { b . close ( g ) , a . preventDefault ( ) } ) . on ( "click" , ".dialogHeader > a" , function ( c ) { var d = a ( this ) ; d . hasClass ( "close" ) && b . close ( g ) , d . hasClass ( "minimize" ) && b . minimize ( g ) , d . hasClass ( "maximize" ) && ( b . switchDialog ( g ) , b . maxsize ( g ) ) , d . hasClass ( "restore" ) && b . restore ( g ) , c . preventDefault ( ) , c . stopPropagation ( ) } ) . on ( "dblclick" , ".dialogHeader > h1" , function ( ) { d . maxable && ( g . find ( "> .dialogHeader > a.restore" ) . is ( ":hidden" ) ? g . find ( "a.maximize" ) . trigger ( "click" ) : g . find ( " > . dialogHeader >
/ * *
* B - JUI : bjui - taskbar . js v1 . 2
* reference : bjui - dialog . js
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . taskBar . js ( author : Roger Wu )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-taskbar.js
* /
+ function ( a ) { "use strict" ; function l ( b ) { var c = arguments , d = b ; return this . each ( function ( ) { var e = a ( this ) , f = a . extend ( { } , k . DEFAULTS , e . data ( ) , "object" == typeof b && b ) , g = e . data ( "bjui.taskbar" ) ; g ? g . options . id != f . id && e . data ( "bjui.taskbar" , g = new k ( this , f ) ) : e . data ( "bjui.taskbar" , g = new k ( this , f ) ) , "string" == typeof d && a . isFunction ( g [ d ] ) ? ( [ ] . shift . apply ( c ) , c ? g [ d ] . apply ( g , c ) : g [ d ] ( ) ) : g . init ( ) } ) } var b , c , d , e , f , g , h , i , j , k , m ; a ( function ( ) { var k = function ( ) { b = a ( "#bjui-resizable" ) , c = a ( FRAG . taskbar ) , d = c . find ( ".taskbarContent" ) , e = d . find ( "> ul" ) , f = c . find ( ".taskbarLeft" ) , g = c . find ( ".taskbarRight" ) , h = "disabled" , i = "selected" , j = "taskbarMargin" , a ( "body" ) . append ( "<!-- dialog task bar -->" ) . append ( c ) , f . click ( function ( ) { a ( this ) . taskbar ( "scrollLeft" ) } ) , g . click ( function ( ) { a ( this ) . taskbar ( "scrollRight" ) } ) } ; k ( ) } ) , k = function ( b , c ) { this . $element = a ( b ) , this . $task = null , this . options = c , this . tools = this . TOOLS ( ) } , k . DEFAULTS = { id : void 0 , title : void 0 } , k . prototype . init = function ( ) { var d , b = this , c = e . find ( "#" + this . options . id ) ; this . show ( ) , c . length ? c . find ( "> div > span.title" ) . html ( this . options . title ) : ( d = '<li id="#taskid#"><div class="taskbutton"><span><i class="fa fa-th-large"></i></span> <span class="title">#title#</span></div><div class="close"><i class="fa fa-times-circle"></i></div></li>' , c = a ( d . replace ( "#taskid#" , this . options . id ) . replace ( "#title#" , this . options . title ) ) , c . appendTo ( e ) ) , this . contextmenu ( c ) , this . switchTask ( c ) , this . tools . scrollTask ( c ) , c . click ( function ( d ) { if ( a ( d . target ) . closest ( "div" ) . hasClass ( "close" ) || a ( d . target ) . hasClass ( "close" ) ) c . dialog ( "close" , b . options . id ) ; else { var e = a ( "body" ) . data ( b . options . id ) ; c . hasClass ( "selected" ) ? e . find ( ".dialogHeader a.minimize" ) . trigger ( "click" ) : e . is ( ":hidden" ) ? b . restoreDialog ( e ) : ( e . trigger ( "click" ) , c . addClass ( i ) ) , b . scrollCurrent ( c ) } return ! 1 } ) } , k . prototype . TOOLS = function ( ) { var k = { scrollCurrent : function ( ) { var b , c , d , a = this . tasksW ( this . getTasks ( ) ) ; a > this . getTaskBarW ( ) ? ( b = this , c = e . find ( "> li:last-child" ) , d = this . getTaskBarW ( ) - c . position ( ) . left - c . outerWidth ( ! 0 ) , e . animate ( { left : d } , 200 , function ( ) { b . ctrlScrollBtn ( ) } ) ) : this . ctrlScrollBtn ( ) } , getTaskBarW : function ( ) { return d . width ( ) - ( f . is ( ":hidden" ) ? f . width ( ) + 2 : 0 ) - ( g . is ( ":hidden" ) ? g . width ( ) + 2 : 0 ) } , scrollTask : function ( a ) { var c , b = this ; a . position ( ) . left + this . getLeft ( ) + a . outerWidth ( ) > this . getBarWidth ( ) ? ( c = this . getTaskBarW ( ) - a . position ( ) . left - a . outerWidth ( ! 0 ) - 2 , e . animate ( { left : c } , 200 , function ( ) { b . ctrlScrollBtn ( ) } ) ) : a . position ( ) . left + this . getLeft ( ) < 0 && ( c = this . getLeft ( ) - ( a . position ( ) . left + this . getLeft ( ) ) , e . animate ( { left : c } , 200 , function ( ) { b . ctrlScrollBtn ( ) } ) ) } , ctrlScrollBtn : function ( ) { var a = this . tasksW ( this . getTasks ( ) ) ; this . getTaskBarW ( ) > a ? ( d . removeClass ( j ) , g . hide ( ) , f . hide ( ) , this . getTasks ( ) . eq ( 0 ) . length && this . scrollTask ( this . getTasks ( ) . eq ( 0 ) ) ) : ( d . addClass ( j ) , g . show ( ) . removeClass ( h ) , f . show ( ) . removeClass ( h ) , this . getLeft ( ) >= 0 && f . addClass ( h ) , this . getLeft ( ) <= this . getTaskBarW ( ) - a && g . addClass ( h ) ) } , getLeft : function ( ) { return e . position ( ) . left } , visibleStart : function ( ) { var c , a = this . getLeft ( ) , b = this . getTasks ( ) ; for ( c = 0 ; c < b . size ( ) ; c ++ ) if ( b . eq ( c ) . position ( ) . left + b . eq ( c ) . outerWidth ( ! 0 ) + a >= 0 ) return b . eq ( c ) ; return b . eq ( 0 ) } , visibleEnd : function ( ) { var c , a = this . getLeft ( ) , b = this . getTasks ( ) ; for ( c = 0 ; c < b . size ( ) ; c ++ ) if ( b . eq ( c ) . position ( ) . left + b . eq ( c ) . outerWidth ( ! 0 ) + a > this . getBarWidth ( ) ) return b . eq ( c ) ; return b . eq ( b . size ( ) - 1 ) } , getTasks : function ( ) { return e . find ( "> li" ) } , tasksW : function ( b ) { var c = 0 ; return b . each ( function ( ) { c += a ( this ) . outerWidth ( ! 0 ) } ) , c } , getBarWidth : function ( ) { return c . innerWidth ( ) } , getCurrent : function ( ) { return e . find ( "li." + i ) } } ; return k } , k . prototype . contextmenu = function ( b ) { var c = this ; b . contextmenu ( { id : "dialogCM" , bindings : { reload : function ( a ) { a . dialog ( "refresh" , c . options . id ) } , closeCurrent : function ( a ) { var d = a . isTag ( "li" ) ? a : c . tools . getCurrent ( ) ; d . find ( ".close" ) . trigger ( "click" ) } , closeOther : function ( b ) { var d = e . find ( "> li" ) . not ( b ) ; d . each ( function ( ) { a ( this ) . find ( ".close" ) . trigger ( "click" ) } ) } , closeAll : function ( ) { var e = c . tools . getTasks ( ) ; e . each ( function ( ) { a ( this ) . find ( ".close" ) . trigger ( "click" ) } ) } } , ctrSub : function ( a , b ) { var d = b . find ( '[rel="closeCurrent"]' ) , e = b . find ( '[rel="closeOther"]' ) ; c . tools . getCurrent ( ) . length ? 1 == c . tools . getTasks (
/ * *
* B - JUI : bjui - ajax . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . ajax . js ( author : ZhangHuihua @ msn . com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-ajax.js
* /
+ function ( a ) { "use strict" ; function d ( b ) { var d = arguments , e = b ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , c . DEFAULTS , f . data ( ) , "object" == typeof b && b ) , h = f . data ( "bjui.bjuiajax" ) ; h || f . data ( "bjui.bjuiajax" , h = new c ( this , g ) ) , "string" == typeof e && a . isFunction ( h [ e ] ) && ( [ ] . shift . apply ( d ) , d ? h [ e ] . apply ( h , d ) : h [ e ] ( ) ) } ) } var b , e , c = function ( b , c ) { this . $element = a ( b ) , this . options = c , this . tools = this . TOOLS ( ) } ; c . DEFAULTS = { reload : ! 0 , loadingmask : ! 0 } , c . NAVTAB = "navtab" , c . prototype . TOOLS = function ( ) { var b = this , d = { getPagerForm : function ( b , c ) { var f , g , d = b . isTag ( "form" ) ? b [ 0 ] : b . find ( "#pagerForm:first" ) [ 0 ] , e = a . extend ( { } , BJUI . pageInfo ) ; if ( b . data ( "bjui.clientPaging" ) && ( c = a . extend ( { } , b . data ( "bjui.clientPaging" ) , c ) , b . data ( "bjui.clientPaging" , c ) ) , d ) for ( f in e ) g = "" , c && c [ f ] && ( g = c [ f ] ) , d [ e [ f ] ] ? g && ( d [ e [ f ] ] . value = g ) : a ( '<input type="hidden" name="' + e [ f ] + '" value="' + g + '">' ) . appendTo ( a ( d ) ) ; return d } , getTarget : function ( ) { return b . $element . closest ( ".navtab-panel" ) . length ? c . NAVTAB : "dialog" } } ; return d } , c . prototype . ajaxForm = function ( b ) { var g , h , c = this , d = this . $element , e = b && b . callback , f = d . attr ( "enctype" ) ; b = a . extend ( { } , c . options , "object" == typeof b && b ) , e && ( e = e . toFunc ( ) ) , g = function ( b ) { e ? e . apply ( c , [ b , d ] ) : a . proxy ( c . ajaxCallback ( b ) , c ) } , h = function ( ) { var e = { loadingmask : b . loadingmask , type : d . attr ( "method" ) , url : d . attr ( "action" ) , callback : g , error : a . proxy ( c . ajaxError , c ) } ; f && "multipart/form-data" == f ? window . FormData ? a . extend ( e , { data : new FormData ( d [ 0 ] ) , contentType : ! 1 , processData : ! 1 } ) : a . extend ( e , { data : d . serializeArray ( ) , files : d . find ( ":file" ) , iframe : ! 0 , processData : ! 1 } ) : a . extend ( e , { data : d . serializeArray ( ) } ) , d . doAjax ( e ) } , b . confirmMsg ? d . alertmsg ( "confirm" , b . confirmMsg , { okCall : h } ) : h ( ) } , c . prototype . ajaxDone = function ( a ) { var b = this . $element ; a [ BJUI . keys . statusCode ] == BJUI . statusCode . error ? a [ BJUI . keys . message ] && b . alertmsg ( "error" , a [ BJUI . keys . message ] ) : a [ BJUI . keys . statusCode ] == BJUI . statusCode . timeout ? ( b . alertmsg ( "info" , a [ BJUI . keys . message ] || FRAG . sessionTimout ) , BJUI . loadLogin ( ) ) : a [ BJUI . keys . message ] && b . alertmsg ( "correct" , a [ BJUI . keys . message ] ) } , c . prototype . ajaxError = function ( a , b , c ) { var d = a . responseText . trim ( ) ; d . startsWith ( "{" ) ? this . ajaxDone ( d . toObj ( ) ) : this . $element . alertmsg ( "error" , "<div>Http status: " + a . status + " " + a . statusText + "</div>" + "<div>ajaxOptions: " + b + " </div>" + "<div>thrownError: " + c + " </div>" + "<div>" + d + "</div>" ) } , c . prototype . ajaxCallback = function ( a ) { var b = this , d = b . $element , e = d . closest ( ".bjui-layout" ) ; b . ajaxDone ( a ) , a [ BJUI . keys . statusCode ] == BJUI . statusCode . ok && ( e && e . length ? b . divCallback ( a , e ) : b . tools . getTarget ( ) == c . NAVTAB ? b . navtabCallback ( a ) : b . dialogCallback ( a ) ) } , c . prototype . divCallback = function ( a , b ) { var d , e , f , g , c = this ; a . tabid && setTimeout ( function ( ) { c . $element . navtab ( "reloadFlag" , a . tabid ) } , 100 ) , a . dialogid && setTimeout ( function ( ) { c . $element . dialog ( "refresh" , a . dialogid ) } , 100 ) , a . divid && setTimeout ( function ( ) { c . $element . bjuiajax ( "refreshDiv" , a . divid ) } , 100 ) , c . options . reload && ( d = c . tools . getPagerForm ( b ) , e = null , f = null , d ? ( e = d . attr ( "action" ) , f = d . attr ( "method" ) || "GET" ) : ( e = b . data ( "url" ) , f = b . data ( "type" ) || "GET" ) , e && b . ajaxUrl ( { url : e , type : f } ) ) , c . options . reloadNavtab && setTimeout ( function ( ) { c . $element . navtab ( "refresh" ) } , 100 ) , a . forward && ( g = function ( ) { b . ajaxUrl ( { url : a . forward } ) } , a . forwardConfirm ? c . $element . alertmsg ( "confirm" , a . forwardConfirm , { okCall : function ( ) { g ( ) } } ) : g ( ) ) } , c . prototype . navtabCallback = function ( b ) { var d , c = this ; b . tabid && setTimeout ( function ( ) { c . $element . navtab ( "reloadFlag" , b . tabid ) } , 100 ) , b . dialogid && setTimeout ( function ( ) { c . $element . dialog ( "refresh" , b . dialogid ) } , 100 ) , b . divid && setTimeout ( function ( ) { c . $element . bjuiajax ( "refreshDiv" , b . divid ) } , 100 ) , b . datagrid && setTimeout ( function ( ) { a . each ( b . datagrid . join ( "," ) , function ( b , c ) { a ( "#" + c . trim ( ) ) . datagrid ( "refresh" ) } ) } , 100 ) , b . closeCurrent && ! b . forward ? c . $element . navtab ( "closeCurrentTab" ) : c . options . reload && setTimeout ( function ( ) { c . $element . navtab ( "refresh" ) } , 100 ) , b . forward && ( d = function ( ) { c . $element . navtab ( "reload" , { url : b . forward } ) } , b . forwardConfirm ? c . $element . alertmsg ( "confirm" , b . forwardConfirm , { okCall : function ( ) { d ( ) } , cancelCall : function ( ) { b . closeCurrent && c . $element . navtab ( "closeCurrentTab" ) } } ) : d ( ) ) } , c . prototype . dialogCallback = function ( a ) { var c , b = this ; a . tabid && setTimeou
/ * *
* B - JUI : bjui - alertmsg . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . alertMsg . js ( author : ZhangHuihua @ msn . com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-alertmsg.js
* /
+ function ( a ) { "use strict" ; function f ( b ) { var c = arguments , d = b ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , e . DEFAULTS , f . data ( ) , "object" == typeof b && b ) , h = new e ( this , g ) ; "string" == typeof d && a . isFunction ( h [ d ] ) && ( [ ] . shift . apply ( c ) , c ? h [ d ] . apply ( h , c ) : h [ d ] ( ) ) } ) } var b , c , d , e , g ; a ( function ( ) { var d = function ( ) { b = a ( FRAG . alertBoxFrag ) . hide ( ) . html ( "" ) , c = a ( FRAG . alertBackground ) . hide ( ) . html ( "" ) , a ( "body" ) . append ( "<!-- alert msg box -->" ) . append ( b ) . append ( "<!-- alert msg box mask bg -->" ) . append ( c ) } ; d ( ) } ) , e = function ( b , c ) { this . $element = a ( b ) , this . options = c , this . tools = this . TOOLS ( ) , this . clearTime = null } , e . DEFAULTS = { displayPosition : "topcenter" , displayMode : "slide" , autoClose : null , alertTimeout : 3e3 , mask : null , types : { error : "error" , info : "info" , warn : "warn" , correct : "correct" , confirm : "confirm" } , fas : { error : "fa-times-circle" , info : "fa-info-circle" , warn : "fa-exclamation-circle" , correct : "fa-check-circle" , confirm : "fa-question-circle" } } , e . prototype . TOOLS = function ( ) { var e = this , f = e . options , g = { getTitle : function ( a ) { return f . title || BJUI . regional . alertmsg . title [ a ] } , keydownOk : function ( a ) { return a . which == BJUI . keyCode . ENTER ? ( a . data . target . trigger ( "click" ) , ! 1 ) : ! 0 } , keydownEsc : function ( a ) { a . which == BJUI . keyCode . ESC && a . data . target . trigger ( "click" ) } , openPosition : function ( ) { var a = BJUI . alertMsg . displayPosition , c = BJUI . alertMsg . displayMode , d = 460 , e = b . outerHeight ( ) , g = { } , h = { } ; switch ( a ? f . displayPosition && "topcenter" != f . displayPosition && ( a = f . displayPosition ) : a = f . displayPosition , c ? f . displayMode && "silde" != f . displayMode && ( c = f . displayMode ) : c = f . displayMode , a ) { case "topleft" : g = { top : 0 - e , left : 0 , "margin-left" : 0 } , h = { top : 0 } ; break ; case "topcenter" : g = { top : 0 - e } , h = { top : 0 } ; break ; case "topright" : g = { top : 0 - e , left : "auto" , right : 0 , "margin-left" : 0 } , h = { top : 0 } ; break ; case "middleleft" : g = { top : "50%" , left : 0 - d , "margin-left" : 0 , "margin-top" : 0 - e / 2 } , h = { left : 0 } ; break ; case "middlecenter" : g = { top : "0" , "margin-top" : 0 - e / 2 } , h = { top : "50%" } ; break ; case "middleright" : g = { top : "50%" , left : "auto" , right : 0 - d , "margin-top" : 0 - e / 2 } , h = { right : 0 } ; break ; case "bottomleft" : g = { top : "auto" , left : 0 , bottom : 0 - e , "margin-left" : 0 } , h = { bottom : 0 } ; break ; case "bottomcenter" : g = { top : "auto" , bottom : 0 - e } , h = { bottom : 0 } ; break ; case "bottomright" : g = { top : "auto" , left : "auto" , right : 0 , bottom : 0 - e , "margin-left" : 0 } , h = { bottom : 0 } } "slide" == c ? b . css ( g ) . show ( ) . animate ( h , 500 ) : "fade" == c ? ( g . opacity = . 1 , b . css ( g ) . css ( h ) . show ( ) . animate ( { opacity : 1 } , 500 ) ) : b . css ( g ) . css ( h ) . show ( ) } , closePosition : function ( ) { var d = BJUI . alertMsg . displayPosition , e = BJUI . alertMsg . displayMode , g = 460 , h = b . outerHeight ( ) , i = { } ; switch ( d ? f . displayPosition && "topcenter" != f . displayPosition && ( d = f . displayPosition ) : d = f . displayPosition , e ? f . displayMode && "silde" != f . displayMode && ( e = f . displayMode ) : e = f . displayMode , d ) { case "topleft" : i = { top : 0 - h } ; break ; case "topcenter" : i = { top : 0 - h } ; break ; case "topright" : i = { top : 0 - h } ; break ; case "middleleft" : i = { left : 0 - g } ; break ; case "middlecenter" : i = { top : 0 - h } ; break ; case "middleright" : i = { right : 0 - g } ; break ; case "bottomleft" : i = { bottom : 0 - h } ; break ; case "bottomcenter" : i = { bottom : 0 - h } ; break ; case "bottomright" : i = { bottom : 0 - h } } "slide" == e ? b . animate ( i , 500 , function ( ) { c . hide ( ) , a ( this ) . hide ( ) . empty ( ) } ) : "fade" == e ? b . animate ( { opacity : 0 } , 500 , function ( ) { c . hide ( ) , a ( this ) . hide ( ) . empty ( ) } ) : ( b . hide ( ) . remove ( ) , c . hide ( ) ) } , open : function ( g , h , i ) { var l , m , o , p , q , r , j = this , k = "" , n = BJUI . alertMsg . alertTimeout ; if ( i ) for ( o = 0 ; o < i . length ; o ++ ) p = i [ o ] . call ? "callback" : "" , q = i [ o ] . cls ? i [ o ] . cls : "default" , r = i [ o ] . cls && "green" == i [ o ] . cls ? "check" : "close" , k += FRAG . alertBtnFrag . replace ( "#btnMsg#" , '<i class="fa fa-' + r + '"></i> ' + i [ o ] . name ) . replace ( "#callback#" , p ) . replace ( "#class#" , q ) ; l = a ( FRAG . alertBoxFrag . replace ( "#type#" , g ) . replace ( "#fa#" , f . fas [ g ] ) . replace ( "#title#" , this . getTitle ( g ) ) . replace ( "#message#" , h ) . replace ( "#btnFragment#" , k ) ) . hide ( ) . appendTo ( "body" ) , b && b . length && b . remove ( ) , b = l , j . openPosition ( ) , d && ( clearTimeout ( d ) , d = null ) , null == f . mask && f . types . info != g && f . types . correct != g && c . show ( ) , null == f . autoClose && ( f . types . info == g || f . types . correct == g ) && ( n ? f . alertTimeout && 3e3 != f . alertTimeout && ( n = f . alertTimeout ) : n = f . alertTimeout , d = setTimeout ( function ( ) { j . close ( ) } , n ) ) , m = b . find ( ".btn" ) , m . each ( function ( b ) { a ( this ) . on ( "click" , a . proxy ( function ( ) { e . tools . close ( ) ; var a = i [ b ] . call ; "string" == typeof a && ( a = a . t
/ * *
* B - JUI : bjui - pagination . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . pagination . js ( author : ZhangHuihua @ msn . com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-pagination.js
* /
+ function ( a ) { "use strict" ; function c ( c ) { var d = arguments , e = c ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , b . DEFAULTS , f . data ( ) , "object" == typeof c && c ) , h = f . data ( "bjui.pagination" ) ; h || f . data ( "bjui.pagination" , 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 , this . tools = this . TOOLS ( ) } ; b . DEFAULTS = { first : "li.j-first" , prev : "li.j-prev" , next : "li.j-next" , last : "li.j-last" , nums : "li.j-num > a" , jump : "li.jumpto" , pageNumFrag : '<li class="#liClass#"><a href="javascript:;">#pageNum#</a></li>' , total : 0 , pageSize : 10 , pageNum : 10 , pageCurrent : 1 , callback : function ( ) { return ! 1 } } , b . prototype . TOOLS = function ( ) { var b = this . options , c = { pageNums : function ( ) { return Math . ceil ( b . total / b . pageSize ) } , getInterval : function ( ) { var a = Math . ceil ( b . pageNum / 2 ) , c = this . pageNums ( ) , d = c - b . pageNum , e = this . getCurrentPage ( ) > a ? Math . max ( Math . min ( this . getCurrentPage ( ) - a , d ) , 0 ) : 0 , f = this . getCurrentPage ( ) > a ? Math . min ( this . getCurrentPage ( ) + a , c ) : Math . min ( b . pageNum , c ) ; return { start : e + 1 , end : f + 1 } } , getCurrentPage : function ( ) { var a = parseInt ( b . pageCurrent ) ; return isNaN ( a ) ? 1 : a } , hasPrev : function ( ) { return this . getCurrentPage ( ) > 1 } , hasNext : function ( ) { return this . getCurrentPage ( ) < this . pageNums ( ) } } ; return c } , b . prototype . init = function ( ) { function n ( c , d ) { c . on ( "click" , function ( c ) { var e = { pageCurrent : d , pageSize : b . options . pageSize } ; b . setClientPaging ( e ) , a ( this ) . bjuiajax ( "pageCallback" , e , b . $element . closest ( ".bjui-layout" ) ) , c . preventDefault ( ) } ) } var b , c , d , e , f , g , h , i , j , k , l , m ; for ( BJUI . ui . clientPaging && ! this . getClientPaging ( ) && this . setClientPaging ( { pageCurrent : this . options . pageCurrent , pageSize : this . options . pageSize } ) , b = this , c = this . options , d = this . tools , e = d . getInterval ( ) , f = "" , g = FRAG . pagination , h = BJUI . regional . pagination , i = e . start ; i < e . end ; i ++ ) f += c . pageNumFrag . replaceAll ( "#pageNum#" , i ) . replaceAll ( "#liClass#" , i == d . getCurrentPage ( ) ? "selected j-num" : "j-num" ) ; g = g . replaceAll ( "#pageNumFrag#" , f ) . replaceAll ( "#pageCurrent#" , d . getCurrentPage ( ) ) . replaceAll ( "#first#" , h . first ) . replaceAll ( "#last#" , h . last ) . replaceAll ( "#prev#" , h . prev ) . replaceAll ( "#next#" , h . next ) . replaceAll ( "#jumpto#" , h . jumpto ) . replaceAll ( "#jump#" , h . jump ) , this . $element . html ( g ) , j = this . $element . find ( c . first ) , k = this . $element . find ( c . prev ) , l = this . $element . find ( c . next ) , m = this . $element . find ( c . last ) , d . hasPrev ( ) ? ( j . add ( k ) . find ( "> span" ) . hide ( ) , n ( k , d . getCurrentPage ( ) - 1 ) , n ( j , 1 ) ) : j . add ( k ) . addClass ( "disabled" ) . find ( "> a" ) . hide ( ) , d . hasNext ( ) ? ( l . add ( m ) . find ( "> span" ) . hide ( ) , n ( l , d . getCurrentPage ( ) + 1 ) , n ( m , d . pageNums ( ) ) ) : l . add ( m ) . addClass ( "disabled" ) . find ( "> a" ) . hide ( ) , this . $element . find ( c . nums ) . each ( function ( b ) { n ( a ( this ) , b + e . start ) } ) , this . $element . find ( c . jump ) . each ( function ( ) { var d = a ( this ) . find ( ":text" ) , e = a ( this ) . find ( ".goto" ) ; e . on ( "click" , function ( ) { var e = d . val ( ) , f = { pageCurrent : e , pageSize : c . pageSize } ; e && e . isPositiveInteger ( ) && ( b . setClientPaging ( f ) , a ( this ) . bjuiajax ( "pageCallback" , f , b . $element . closest ( ".bjui-layout" ) ) ) } ) , d . keyup ( function ( a ) { a . keyCode == BJUI . keyCode . ENTER && e . trigger ( "click" ) } ) } ) } , b . prototype . changePagesize = function ( ) { var a = this , b = a . $element . val ( ) , c = { pageSize : b } ; isNaN ( b ) || ( a . setClientPaging ( c ) , a . $element . bjuiajax ( "pageCallback" , c , a . $element . closest ( ".bjui-layout" ) ) ) } , b . prototype . orderBy = function ( ) { var c = this ; c . $element . css ( { cursor : "pointer" } ) . click ( function ( ) { var b = a ( this ) . data ( "orderField" ) , d = a ( this ) . data ( "orderDirection" ) , e = { orderField : b , orderDirection : d } ; c . setClientPaging ( e ) , a ( this ) . bjuiajax ( "pageCallback" , e , c . $element . closest ( ".bjui-layout" ) ) } ) } , b . prototype . destroy = function ( ) { this . $element . removeData ( "bjui.pagination" ) . empty ( ) } , b . prototype . getTarget = function ( ) { var c , b = this ; return c = b . $element . closest ( ".bjui-layout" ) . length ? b . $element . closest ( ".bjui-layout" ) : b . $element . closest ( ".navtab-panel" ) . length ? a . CurrentNavtab : a . CurrentDialog } , b . prototype . getClientPaging = function ( ) { return this . getTarget ( ) . data ( "bjui.clientPaging" ) } , b . prototype . setClientPaging = function ( b ) { if ( BJUI . ui . clientPaging ) { var c = this . getTarget ( ) ; c . data ( "bjui.clientPaging" , a . extend ( { } , c . data ( "bjui.clientPaging" ) || { } , b ) ) } } , b . prototype . setClientOrder = function ( a ) { if ( BJUI . ui . clientPaging ) { var b = t
/ * *
* B - JUI : bjui - util . date . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . util . date . js ( author : ZhangHuihua @ msn . com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-util.date.js
* /
+ function ( $ ) { "use strict" ; function LZ ( a ) { return ( 0 > a || a > 9 ? "" : "0" ) + a } function formatDate ( a , b ) { var c , d , e , f , g , h , i , j , k , l , m , C ; for ( b += "" , c = "" , d = 0 , e = "" , f = "" , g = a . getYear ( ) + "" , h = a . getMonth ( ) + 1 , i = a . getDate ( ) , j = a . getDay ( ) , k = a . getHours ( ) , l = a . getMinutes ( ) , m = a . getSeconds ( ) , C = { } , g . length < 4 && ( g = "" + ( g - 0 + 1900 ) ) , C [ "y" ] = "" + g , C [ "yyyy" ] = g , C [ "yy" ] = g . substring ( 2 , 4 ) , C [ "M" ] = h , C [ "MM" ] = LZ ( h ) , C [ "MMM" ] = MONTH _NAMES [ h - 1 ] , C [ "NNN" ] = MONTH _NAMES [ h + 11 ] , C [ "d" ] = i , C [ "dd" ] = LZ ( i ) , C [ "E" ] = DAY _NAMES [ j + 7 ] , C [ "EE" ] = DAY _NAMES [ j ] , C [ "H" ] = k , C [ "HH" ] = LZ ( k ) , C [ "h" ] = 0 == k ? 12 : k > 12 ? k - 12 : k , C [ "hh" ] = LZ ( C [ "h" ] ) , C [ "K" ] = k > 11 ? k - 12 : k , C [ "k" ] = k + 1 , C [ "KK" ] = LZ ( C [ "K" ] ) , C [ "kk" ] = LZ ( C [ "k" ] ) , C [ "a" ] = k > 11 ? "PM" : "AM" , C [ "m" ] = l , C [ "mm" ] = LZ ( l ) , C [ "s" ] = m , C [ "ss" ] = LZ ( m ) ; d < b . length ; ) { for ( e = b . charAt ( d ) , f = "" ; b . charAt ( d ) == e && d < b . length ; ) f += b . charAt ( d ++ ) ; c += null != C [ f ] ? C [ f ] : f } return c } function _isInteger ( a ) { return new RegExp ( /^\d+$/ ) . test ( a ) } function _getInt ( a , b , c , d ) { var e , f ; for ( e = d ; e >= c ; e -- ) { if ( f = a . substring ( b , b + e ) , f . length < c ) return null ; if ( _isInteger ( f ) ) return f } return null } function parseDate ( a , b ) { var c , d , e , f , h , i , j , k , l , m , n , o , p , q , r , s , t ; for ( a += "" , b += "" , c = 0 , d = 0 , e = "" , f = "" , j = new Date ( 1900 , 0 , 1 ) , k = j . getYear ( ) , l = j . getMonth ( ) + 1 , m = 1 , n = j . getHours ( ) , o = j . getMinutes ( ) , p = j . getSeconds ( ) , q = "" ; d < b . length ; ) { for ( e = b . charAt ( d ) , f = "" ; b . charAt ( d ) == e && d < b . length ; ) f += b . charAt ( d ++ ) ; if ( "yyyy" == f || "yy" == f || "y" == f ) { if ( "yyyy" == f && ( h = 4 , i = 4 ) , "yy" == f && ( h = 2 , i = 2 ) , "y" == f && ( h = 2 , i = 4 ) , k = _getInt ( a , c , h , i ) , null == k ) return 0 ; c += k . length , 2 == k . length && ( k = k > 70 ? 1900 + ( k - 0 ) : 2e3 + ( k - 0 ) ) } else if ( "MMM" == f || "NNN" == f ) { for ( l = 0 , r = 0 ; r < MONTH _NAMES . length ; r ++ ) if ( s = MONTH _NAMES [ r ] , a . substring ( c , c + s . length ) . toLowerCase ( ) == s . toLowerCase ( ) && ( "MMM" == f || "NNN" == f && r > 11 ) ) { l = r + 1 , l > 12 && ( l -= 12 ) , c += s . length ; break } if ( 1 > l || l > 12 ) return 0 } else if ( "EE" == f || "E" == f ) { for ( r = 0 ; r < DAY _NAMES . length ; r ++ ) if ( t = DAY _NAMES [ r ] , a . substring ( c , c + t . length ) . toLowerCase ( ) == t . toLowerCase ( ) ) { c += t . length ; break } } else if ( "MM" == f || "M" == f ) { if ( l = _getInt ( a , c , f . length , 2 ) , null == l || 1 > l || l > 12 ) return 0 ; c += l . length } else if ( "dd" == f || "d" == f ) { if ( m = _getInt ( a , c , f . length , 2 ) , null == m || 1 > m || m > 31 ) return 0 ; c += m . length } else if ( "hh" == f || "h" == f ) { if ( n = _getInt ( a , c , f . length , 2 ) , null == n || 1 > n || n > 12 ) return 0 ; c += n . length } else if ( "HH" == f || "H" == f ) { if ( n = _getInt ( a , c , f . length , 2 ) , null == n || 0 > n || n > 23 ) return 0 ; c += n . length } else if ( "KK" == f || "K" == f ) { if ( n = _getInt ( a , c , f . length , 2 ) , null == n || 0 > n || n > 11 ) return 0 ; c += n . length } else if ( "kk" == f || "k" == f ) { if ( n = _getInt ( a , c , f . length , 2 ) , null == n || 1 > n || n > 24 ) return 0 ; c += n . length , n -- } else if ( "mm" == f || "m" == f ) { if ( o = _getInt ( a , c , f . length , 2 ) , null == o || 0 > o || o > 59 ) return 0 ; c += o . length } else if ( "ss" == f || "s" == f ) { if ( p = _getInt ( a , c , f . length , 2 ) , null == p || 0 > p || p > 59 ) return 0 ; c += p . length } else if ( "a" == f ) { if ( "am" == a . substring ( c , c + 2 ) . toLowerCase ( ) ) q = "AM" ; else { if ( "pm" != a . substring ( c , c + 2 ) . toLowerCase ( ) ) return 0 ; q = "PM" } c += 2 } else { if ( a . substring ( c , c + f . length ) != f ) return 0 ; c += f . length } } if ( c != a . length ) return 0 ; if ( 2 == l ) if ( 0 == k % 4 && 0 != k % 100 || 0 == k % 400 ) { if ( m > 29 ) return 0 } else if ( m > 28 ) return 0 ; return ( 4 == l || 6 == l || 9 == l || 11 == l ) && m > 30 ? 0 : ( 12 > n && "PM" == q ? n = n - 0 + 12 : n > 11 && "AM" == q && ( n -= 12 ) , new Date ( k , l - 1 , m , n , o , p ) ) } function replaceTmEval ( data ) { return data . replace ( RegExp ( "({[A-Za-z0-9_+-]*})" , "g" ) , function ( $1 ) { return eval ( "(" + $1 . replace ( /[{}]+/g , "" ) + ")" ) } ) } var MONTH _NAMES = new Array ( "January" , "February" , "March" , "April" , "May" , "June" , "July" , "August" , "September" , "October" , "November" , "December" , "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" ) , DAY _NAMES = new Array ( "Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday" , "Sun" , "Mon" , "Tue" , "Wed" , "Thu" , "Fri" , "Sat" ) ; Date . prototype . formatDate = function ( a ) { return formatDate ( this , a ) } , String . prototype . parseDate = function ( a ) { return this . length < a . length && ( a = a . slice ( 0 , this . length ) ) , parseDate ( this , a ) } , Date . prototype . formatDateTm = function ( a ) { var f , g , h , i , b = this . getFullYear ( ) , c = this . getMonth ( ) + 1 , d = this . getDate ( ) , e = a . replaceAll ( "%y" , b ) . replaceAll ( "%M" , c ) . replaceAll ( "%d" , d ) ; return e = replaceTmEval ( e ) , f = 1900 , g = 0 , h = 1 , i = e . split ( "-" ) , i . length > 0 && ( f = i [ 0 ] ) , i . length > 1 && ( g = i [ 1 ] - 1 ) , i . length > 2 && ( h = i [ 2 ] ) , new Date ( f , g , h ) . formatDate ( "yyyy-MM-dd" ) } } ( jQuery ) ;
/ * *
* B - JUI : bjui - datepicker . js v1 . 2
* reference : util . date . js
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . datepicker . js ( author : ZhangHuihua @ msn . com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-datepicker.js
* /
+ function ( a ) { "use strict" ; function u ( b ) { var c = arguments , d = b ; return this . each ( function ( ) { var e = a ( this ) , f = a . extend ( { } , t . DEFAULTS , e . data ( ) , "object" == typeof b && b ) , g = e . data ( "bjui.datepicker" ) ; g || e . data ( "bjui.datepicker" , g = new t ( this , f ) ) , "string" == typeof d && a . isFunction ( g [ d ] ) ? ( [ ] . shift . apply ( c ) , c ? g [ d ] . apply ( g , c ) : g [ d ] ( ) ) : g . init ( ) } ) } var b , c , d , e , f , g , h , i , j , k , l , m , n , o , p , q , r , s , t , v ; a ( function ( ) { var t = function ( ) { var v , w , t = BJUI . regional . datepicker , u = FRAG . calendarFrag . replace ( "#close#" , t . close ) . replace ( "#prev#" , t . prev ) . replace ( "#next#" , t . next ) . replace ( "#clear#" , t . clear ) . replace ( "#ok#" , t . ok ) ; b = a ( u ) . hide ( ) , a ( "body" ) . append ( "<!-- datepicker -->" ) . append ( b ) , c = b . find ( "> .main" ) , d = b . find ( "a.prev" ) , e = b . find ( "a.next" ) , f = b . find ( "select[name=year]" ) , g = b . find ( "select[name=month]" ) , h = b . find ( ".time" ) , i = h . find ( ":text" ) , j = h . find ( "ul > li" ) , k = h . find ( ".hh" ) , l = h . find ( ".mm" ) , m = h . find ( ".ss" ) , n = c . find ( "> .tm" ) , o = b . find ( ".close" ) , p = c . find ( "> .body > .days" ) , q = c . find ( "> .body > .dayNames" ) , r = b . find ( ".clearBtn" ) , s = b . find ( ".okBtn" ) , v = "" , w = BJUI . regional . datepicker , a . each ( w . dayNames , function ( a , b ) { v += "<dt>" + b + "</dt>" } ) , q . html ( v ) , a . each ( w . monthNames , function ( a , b ) { var c = a + 1 ; g . append ( '<option value="' + c + '">' + b + "</option>" ) } ) , b . on ( "selectstart" , function ( ) { return ! 1 } ) } ; t ( ) } ) , t = function ( b , c ) { this . $element = a ( b ) , this . options = c , this . tools = this . TOOLS ( ) , this . $dateBtn = null ; var d = new Date ; this . options . minDate = d . formatDateTm ( this . options . minDate ) , this . options . maxDate = d . formatDateTm ( this . options . maxDate ) , this . events = { focus _time : "focus.bjui.datepicker.time" , click _prev : "click.bjui.datepicker.prev" , click _next : "click.bjui.datepicker.next" , click _ok : "click.bjui.datepicker.ok" , click _days : "click.bjui.datepicker.days" , click _clear : "click.bjui.datepicker.clear" , click _close : "click.bjui.datepicker.close" , click _tm : "click.bjui.datepicker.tm" , click _spinner : "click.bjui.datepicker.spinner" , mousedown _sp : "mousedown.bjui.datepicker.spinner" , mouseup _sp : "mouseup.bjui.datepicker.spinner" , change _ym : "change.bjui.datepicker.ym" , click _time : "click.bjui.datepicker.time" , keydown _time : "keydown.bjui.datepicker.time" , keyup _time : "keyup.bjui.datepicker.time" } } , t . DEFAULTS = { pattern : "yyyy-MM-dd" , minDate : "1900-01-01" , maxDate : "2099-12-31" , mmStep : 1 , ssStep : 1 } , t . EVENTS = { afterChange : "afterchange.bjui.datepicker" } , t . prototype . TOOLS = function ( ) { var c = this , d = { changeTmMenu : function ( a ) { n . removeClass ( "hh" ) . removeClass ( "mm" ) . removeClass ( "ss" ) , a && ( n . addClass ( a ) , i . removeClass ( "slt" ) . filter ( "." + a ) . addClass ( "slt" ) ) } , clickTmMenu : function ( b , d ) { n . find ( "> ul" ) . hide ( ) . filter ( "." + d ) . show ( ) . find ( "> li" ) . off ( c . events . click _tm ) . on ( c . events . click _tm , function ( ) { var c = a ( this ) , d = parseInt ( c . text ( ) ) < 10 ? "0" + c . text ( ) : c . text ( ) ; b . val ( d ) } ) } , keydownInt : function ( a ) { return a . keyCode >= 48 && a . keyCode <= 57 || a . keyCode == BJUI . keyCode . DELETE || a . keyCode == BJUI . keyCode . BACKSPACE ? void 0 : ! 1 } , changeTm : function ( a , b ) { var c = parseInt ( a . val ( ) ) , d = parseInt ( a . data ( "start" ) ) || 0 , e = parseInt ( a . data ( "end" ) ) , f = parseInt ( a . data ( "step" ) || 1 ) , g = b ? b . data ( "add" ) ? b . data ( "add" ) : - 1 : 0 , h = c ; 1 == g ? e - f >= c && ( h = c + f ) : - 1 == g ? c >= d + f && ( h = c - f ) : c > e ? h = e : d > c && ( h = d ) , 10 > h && ( h = "0" + h ) , a . val ( h ) } , closeCalendar : function ( e ) { d . changeTmMenu ( ) , e && ( a ( document ) . off ( c . events . click _close ) , b . hide ( ) ) } , get : function ( a ) { return c . options [ a ] } , getDays : function ( a , b ) { return 2 == b ? a % 4 || ! ( a % 100 ) && a % 400 ? 28 : 29 : /4|6|9|11/ . test ( b ) ? 30 : 31 } , minMaxDate : function ( a ) { var b = a . split ( "-" ) . length - 1 , c = "y-M-d" ; return 1 == b ? c = "y-M" : 0 == b && ( c = "y" ) , a . parseDate ( c ) } , getMinDate : function ( ) { return this . minMaxDate ( c . options . minDate ) } , getMaxDate : function ( ) { var e , a = c . options . maxDate , b = a . split ( "-" ) . length - 1 , d = this . minMaxDate ( a ) ; return 2 > b && ( e = this . getDays ( d . getFullYear ( ) , d . getMonth ( ) + 1 ) , d . setDate ( e ) , 0 == b && d . setMonth ( 11 ) ) , d } , getDateWrap : function ( a ) { var b , d , e ; return a || ( a = this . parseDate ( c . sDate ) || new Date ) , b = a . getFullYear ( ) , d = a . getMonth ( ) + 1 , e = this . getDays ( b , d ) , { year : b , month : d , day : a . getDate ( ) , hour : a . getHours ( ) , minute : a . getMinutes ( ) , second : a . getSeconds ( ) , days : e , date : a } } , changeDate : function ( a , b , d ) { var e = new Date ( a , b - 1 , d || 1 ) ; return c . sDate = this . formatDate ( e ) , e } , changeDateTime : function ( a , b , d , e , f , g ) { var h = new Date ( a , b - 1 , d , e , f , g ) ; return c . sDate = this . formatDate ( h ) , h } , changeDay : fun
/ * *
* B - JUI : bjui - ajaxtab . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-ajaxtab.js
* /
+ function ( a ) { "use strict" ; function c ( c ) { var d = arguments , e = c ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , b . DEFAULTS , f . data ( ) , "object" == typeof c && c ) , h = f . data ( "bjui.ajaxtab" ) ; h || f . data ( "bjui.ajaxtab" , 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 . DEFAULTS = { url : void 0 , target : void 0 , reload : ! 1 } , b . prototype . init = function ( ) { var b , a = this . options ; return a . url ? ( a . url = decodeURI ( a . url ) . replacePlh ( this . $element . closest ( ".unitBox" ) ) , a . url . isFinishedTm ( ) ? ( a . url = encodeURI ( a . url ) , a . target ? ( a . reload ? this . load ( ) : ( b = this . $element . data ( "bjui.ajaxtab.reload" ) , b ? this . $element . tab ( "show" ) : this . load ( ) ) , void 0 ) : ( BJUI . debug ( "Ajaxtab Plugin: Attribute 'target' is not defined!" ) , void 0 ) ) : ( this . $element . alertmsg ( "error" , a . warn || FRAG . alertPlhMsg . replace ( "#plhmsg#" , BJUI . regional . plhmsg ) ) , BJUI . debug ( "Ajaxtab Plugin: The new ajaxtab's url is incorrect, url: " + a . url ) , void 0 ) ) : ( BJUI . debug ( "Ajaxtab Plugin: Error trying to open a tab, url is undefined!" ) , void 0 ) } , b . prototype . load = function ( ) { var b = this . $element , c = this . options ; a ( c . target ) . ajaxUrl ( { url : c . url , data : { } , callback : function ( ) { b . data ( "bjui.ajaxtab.reload" , ! 0 ) . tab ( "show" ) } } ) } , d = a . fn . ajaxtab , a . fn . ajaxtab = c , a . fn . ajaxtab . Constructor = b , a . fn . ajaxtab . noConflict = function ( ) { return a . fn . ajaxtab = d , this } , a ( document ) . on ( "click.bjui.ajaxtab.data-api" , '[data-toggle="ajaxtab"]' , function ( b ) { var d = a ( this ) , e = d . data ( ) ; e . url || ( e . url = d . attr ( "href" ) ) , c . call ( d , e ) , b . preventDefault ( ) } ) } ( jQuery ) ;
/ * *
* B - JUI : bjui - datagrid . js v1 . 2 - beta
* @ author K ' naan ( xknaan @ 163. com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-datagrid.js
* /
+ function ( d ) { var c = function ( f , e ) { this . $element = d ( f ) ; this . options = e ; this . tools = this . TOOLS ( ) ; this . datanames = { tbody : "bjui.datagrid.tbody.dom" , td _html : "bjui.datagrid.td.html" , changeData : "bjui.datagrid.tr.changeData" } ; this . classnames = { s _checkbox : "datagrid-checkbox" , s _linenumber : "datagrid-linenumber" , s _edit : "datagrid-column-edit" , s _lock : "datagrid-lock" , s _menu : "datagrid-menu-box" , s _filter : "datagrid-filter-box" , s _showhide : "datagrid-showhide-box" , th _cell : "datagrid-cell" , th _menu : "datagrid-column-menu" , btn _menu : "datagrid-column-menu-btn" , th _col : "datagrid-col" , th _field : "datagrid-col-field" , th _sort : "datagrid-sortable" , th _resize : "datagrid-resize-head" , th _resizemark : "datagrid-column-resizemark" , tr _edit : "datagrid-edit-tr" , tr _add : "datagrid-add-tr" , tr _selected : "datagrid-selected-tr" , td _edit : "datagrid-edit-td" , td _changed : "datagrid-changed" , td _linenumber : "datagrid-linenumber-td" , td _checkbox : "datagrid-checkbox-td" , li _asc : "datagrid-li-asc" , li _desc : "datagrid-li-desc" , li _filter : "datagrid-li-filter" , li _showhide : "datagrid-li-showhide" , li _lock : "datagrid-li-lock" , li _unlock : "datagrid-li-unlock" } } ; c . DEFAULTS = { gridTitle : "" , columns : null , data : null , dataUrl : null , loadType : "POST" , dataType : "json" , local : "remote" , fieldSortable : true , filterThead : true , sortAll : false , filterAll : false , filterMult : true , linenumberAll : false , showLinenumber : true , showCheckboxcol : false , showEditbtnscol : false , showTfoot : false , showToolbar : false , toolbarItem : "" , toolbarCustom : "" , columnResize : true , columnMenu : true , columnShowhide : true , columnFilter : true , columnLock : true , paging : true , pagingAlign : "center" , editUrl : null , editCallback : null , editMode : "inline" , editDialogOp : null , inlineEditMult : true , saveAll : true , addLocation : "first" , delUrl : null , delType : "POST" , delPK : null , delConfirm : true , delCallback : null , jsonPrefix : "" , contextMenuH : true , contextMenuB : false , hScrollbar : false , fullGrid : false , importOption : null , exportOption : null , beforeEdit : null , beforeDelete : null , afterSave : null , afterDelete : null } ; c . renderItem = function ( g , e ) { if ( ! e || ! e . length ) { return "" } var f = "" ; d . each ( e , function ( h , j ) { if ( typeof j [ g ] != "undefined" ) { f = j [ g ] ; return false } } ) ; return f } ; c . prototype . TOOLS = function ( ) { var f = this , e = f . options ; var g = { getPageCount : function ( h , i ) { return Math . ceil ( i / h ) } , getPageInterval : function ( j , l , n ) { var k = Math . ceil ( n / 2 ) , i = j - n , m = l > k ? Math . max ( Math . min ( l - k , i ) , 0 ) : 0 , h = l > k ? Math . min ( ( l + k ) , j ) : Math . min ( n , j ) ; if ( h - m == n ) { h = h + 1 } if ( h < n ) { h = h + 1 } return { start : m + 1 , end : h } } , getRight : function ( k ) { var j = 0 , i = k . data ( "index" ) , h = f . $tbody . find ( "> tr:first > td:lt(" + ( i + 1 ) + ")" ) ; if ( ! h || ! h . length ) { h = f . $colgroupH . find ( "> col:lt(" + ( i + 1 ) + ")" ) } h . each ( function ( ) { var m = d ( this ) , l = m . is ( ":hidden" ) ? 0 : m . outerWidth ( ) ; j += l } ) ; return j } , getRight4Lock : function ( i ) { var j = 0 , k = f . $lockTbody . find ( "> tr:first > td:eq(" + i + ")" ) , h = k && k . prevAll ( ) . add ( k ) ; if ( ! h || ! h . length ) { h = f . $lockColgroupH . filter ( ":lt(" + ( i + 1 ) + ")" ) } h . each ( function ( ) { var m = d ( this ) , l = m . is ( ":hidden" ) ? 0 : m . outerWidth ( ) ; j += l } ) ; return j } , beforeEdit : function ( i , h ) { var j = e . beforeEdit ; if ( j ) { if ( typeof j == "string" ) { j = j . toFunc ( ) } if ( typeof j == "function" ) { return j . call ( f , i , h ) } } return true } , afterSave : function ( h , i ) { var j = e . afterSave ; if ( j ) { if ( typeof j == "string" ) { j = j . toFunc ( ) } if ( typeof j == "function" ) { j . call ( f , h , i ) } } } , afterDelete : function ( ) { var h = e . afterDelete ; if ( h ) { if ( typeof h == "string" ) { h = h . toFunc ( ) } if ( typeof h == "function" ) { h . call ( f ) } } } , setColspan : function ( i , h ) { if ( i . colspan ) { i . colspan = i . colspan + h - 1 } i . index = i . index + h - 1 ; if ( i . parent ) { this . setColspan ( i . parent , h ) } } , columns2Arr : function ( i , k , h , j ) { var l = this ; if ( ! k ) { k = [ ] } if ( ! h ) { h = 0 } if ( ! k [ h ] ) { k [ h ] = [ ] } d . each ( i , function ( o , q ) { var m = k [ h ] . length , p ; if ( j ) { q . parent = j } if ( q . columns ) { p = q . columns . length ; if ( h && q . parent ) { l . setColspan ( q . parent , p ) } q . index = f . columnModel . length + p - 1 ; q . colspan = p ; q . quicksort = false ; k [ h ] [ m ++ ] = q ; return l . columns2Arr ( q . columns , k , h + 1 , q ) } else { q . rowspan = h ; q . index = f . columnModel . length ; q . menu = ( typeof q . menu == "undefined" ) ? true : q . menu ; q . lock = ( typeof q . lock == "undefined" ) ? true : q . lock ; q . hide = ( typeof q . hide == "undefined" ) ? false : q . hide ; q . edit = ( typeof q . edit == "undefined" ) ? true : q . edit ; q . add = ( typeof q . add == "undefined" ) ? true : q . add ; q . quicksort = ( typeof q . quicksort == "undefined" ) ? true : q . quicksort ; k [ h ] [ m ++ ] = q ; f . columnModel . push ( q )
/ * *
* B - JUI : bjui - tablefixed . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . stable . js ( author : ZhangHuihua @ msn . com , Roger Wu )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-tablefixed.js
* /
+ function ( a ) { "use strict" ; function c ( c ) { var d = arguments , e = c ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , b . DEFAULTS , f . data ( ) , "object" == typeof c && c ) , h = f . data ( "bjui.tablefixed" ) ; h || f . data ( "bjui.tablefixed" , 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 , this . tools = this . TOOLS ( ) } ; b . SCROLLW = 18 , b . DEFAULTS = { width : "100%" } , b . prototype . TOOLS = function ( ) { var c = { getLeft : function ( b ) { var c = 0 ; return b . prevAll ( ) . each ( function ( ) { c += a ( this ) . outerWidth ( ) } ) , c } , getRight : function ( b ) { var c = 0 ; return b . prevAll ( ) . andSelf ( ) . each ( function ( ) { c += a ( this ) . outerWidth ( ) } ) , c - 1 } , getCellNum : function ( a ) { return a . prevAll ( ) . andSelf ( ) . size ( ) } , getColspan : function ( a ) { return a . attr ( "colspan" ) || 1 } , getStart : function ( b ) { var c = 1 ; return b . prevAll ( ) . each ( function ( ) { c += parseInt ( a ( this ) . attr ( "colspan" ) || 1 ) } ) , c } , getPageCoord : function ( a ) { for ( var b = { x : 0 , y : 0 } ; a ; ) b . x += a . offsetLeft , b . y += a . offsetTop , a = a . offsetParent ; return b } , getOffset : function ( b , c ) { var d , e , f , g , h , i ; return a . support . leadingWhitespace ? ( g = c . target , void 0 == g . offsetLeft && ( g = g . parentNode ) , h = this . getPageCoord ( g ) , i = { x : window . pageXOffset + c . clientX , y : window . pageYOffset + c . clientY } , f = { offsetX : i . x - h . x , offsetY : i . y - h . y } ) : ( d = b . offset ( ) , e = { offsetX : c . pageX || c . screenX , offsetY : c . pageY || c . screenY } , f = { offsetX : e . offsetX - d . left , offsetY : e . offsetY - d . top } ) } } ; return c } , b . prototype . resetWidth = function ( ) { var i , c = this . $element , d = c . width ( ) , e = c . find ( "table" ) , f = e && e . width ( ) , g = e . eq ( 0 ) && e . eq ( 0 ) . find ( "tr:first-child > th" ) , h = e . eq ( 1 ) && e . eq ( 1 ) . find ( "tr:first-child > td" ) ; e && d - f < b . SCROLLW && ( i = parseInt ( ( d - f ) / g . length ) , e . width ( d - b . SCROLLW ) , g . each ( function ( b ) { var c = parseInt ( a ( this ) . css ( "width" ) ) ; a ( this ) . width ( c + i ) , h . eq ( b ) && h . eq ( b ) . width ( c + i ) } ) ) } , b . prototype . init = function ( ) { var a , b ; this . $element . isTag ( "table" ) && ( this . $container = this . $element . parent ( ) . addClass ( "bjui-resizeGrid" ) , this . $fixed = void 0 , a = this . $container . width ( ) , b = this . options . height , this . $container . hasClass ( "tab-pane" ) && ( a = this . $container . parent ( ) . width ( ) - 20 ) , this . options . newWidth = "string" == typeof this . options . width && this . options . width . indexOf ( "%" ) ? a * ( this . options . width . replace ( "%" , "" ) / 100 ) : parseInt ( this . options . width ) , this . options . styles = [ ] , this . $element . wrap ( '<div class="bjui-tablefixed clearfix"></div>' ) , this . $fixed = this . $element . parent ( ) , this . initHead ( ) , this . initBody ( ) , this . resizeCol ( ) , this . resizeGrid ( ) , b && ! this . $fixed . closest ( ".tab-content" ) . length && this . $fixed . height ( b ) . addClass ( "fixedH" ) ) } , b . prototype . initHead = function ( ) { var g , h , i , j , k , l , m , n , o , c = this . options . styles = [ ] , d = this . $element . find ( "thead > tr" ) , e = d . eq ( 0 ) . find ( "> th" ) ; this . $element , g = 0 , h = [ ] , i = [ ] , j = - 1 , e . each ( function ( b ) { var k , c = a ( this ) , d = parseInt ( c . attr ( "colspan" ) || 1 ) , e = c . attr ( "width" ) , f = c . attr ( "align" ) , g = "" ; for ( k = 0 ; d > k ; k ++ ) 1 == d && e && ( g = ' width="' + e + '"' ) , f && c . removeAttr ( "align" ) . addClass ( f ) , h . push ( "<th" + g + "></th>" ) ; c . attr ( "colsNum" , j += d ) , i [ b ] = d } ) , k = h . length , l = a ( '<tr class="resize-head">' + h . join ( "" ) + "</tr>" ) , d . length > 1 && ( j = 0 , m = d . eq ( 1 ) . find ( "> th" ) , a . each ( i , function ( a , b ) { var c , d , f , g , h , i , k ; if ( b = parseInt ( b ) , b > 1 ) for ( c = parseInt ( e . eq ( a ) . attr ( "colsnum" ) ) , d = b - 1 ; d >= 0 ; d -- ) f = m . eq ( j ++ ) , g = c - d , h = f . attr ( "width" ) , i = f . attr ( "align" ) , k = l . find ( "> th" ) . eq ( g ) , f && f . length && f . attr ( "colsnum" , g ) , h && k . attr ( "width" , h ) , i && f . addClass ( i ) . removeAttr ( "align" ) } ) ) , this . $fixed . html ( this . $element . html ( ) ) , n = this . $fixed . find ( "thead" ) , n . prepend ( l ) , l . find ( "> th" ) . each ( function ( ) { var d = a ( this ) , e = [ ] , f = d . innerWidth ( ) ; e [ 0 ] = parseInt ( f ) , g += e [ 0 ] , c [ c . length ] = e } ) , g = parseInt ( ( this . options . newWidth - b . SCROLLW - g ) / k ) , o = n . find ( "> tr:eq(0) > th" ) , this . options . $ths = o , o . each ( function ( b ) { var d = a ( this ) , e = c [ b ] , f = d . attr ( "width" ) ; d . removeAttr ( "align" ) . width ( e [ 0 ] + g ) , e [ 0 ] = e [ 0 ] + g , f && ( e [ 0 ] = parseInt ( f ) , d . width ( f ) . removeAttr ( "width" ) ) } ) , n . find ( "> tr:gt(0) > th" ) . each ( function ( ) { var b = a ( this ) ; b . html ( '<div class="fixedtableCol">' + b . html ( ) + "</div>" ) } ) , n . wrap ( '<div class="fixedtableHeader" style="width:' + ( this . options . newWidth - b . SCROLLW ) + 'px;overflow:hidden;"><div class="fixedtableThead"><table class="table table-bordered" style="width:' + ( this . options . newWidth - b . SCROLLW ) + " px ; ma
/ * *
* B - JUI : bjui - tabledit . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . database . js ( author : ZhangHuihua @ msn . com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-tabledit.js
* /
+ function ( a ) { "use strict" ; function c ( c ) { var d = arguments , e = c ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , b . DEFAULTS , f . data ( ) , "object" == typeof c && c ) , h = f . data ( "bjui.tabledit" ) ; h || f . data ( "bjui.tabledit" , 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 , this . tools = this . TOOLS ( ) , this . $tbody = this . $element . find ( "> tbody" ) , this . $tbody . length || ( this . $tbody = a ( "<tbody></tbody>" ) , this . $element . append ( this . $tbody ) ) , this . $numAdd = this . $btnAdd = null } ; b . DEFAULTS = { singleNoindex : ! 0 } , b . EVENTS = { afterDelete : "afterdelete.bjui.tabledit" } , b . prototype . TOOLS = function ( ) { var c = this , d = { initSuffix : function ( b ) { var c = b . find ( "> tr" ) ; c . each ( function ( b ) { var c = a ( this ) ; c . find ( ":input, :file, a, label, div" ) . each ( function ( ) { var k , c = a ( this ) , d = c . attr ( "name" ) , e = c . val ( ) , f = c . attr ( "for" ) , g = c . attr ( "id" ) , h = c . attr ( "href" ) , i = c . attr ( "data-group" ) , j = c . attr ( "data-suffix" ) ; d && c . attr ( "name" , d . replaceSuffix ( b ) ) , f && c . attr ( "for" , f . replaceSuffix ( b ) ) , g && c . attr ( "id" , g . replaceSuffix ( b ) . replaceSuffix2 ( b ) ) , h && c . attr ( "href" , h . replaceSuffix ( b ) ) , i && c . attr ( "data-group" , i . replaceSuffix ( b ) ) , j && c . attr ( "data-suffix" , j . replaceSuffix ( b ) ) , e && e . indexOf ( "#index#" ) >= 0 && c . val ( e . replace ( "#index#" , b + 1 ) ) , c . hasClass ( "no" ) && ( k = c . data ( "prefix" ) ? c . data ( "prefix" ) : "" , c . val ( k + ( b + 1 ) ) ) } ) } ) } , initEnter : function ( b ) { var c = b . find ( ":text" ) ; c . each ( function ( b ) { a ( this ) . bind ( "keydown" , function ( a ) { if ( a . which == BJUI . keyCode . ENTER ) { var d = b + 1 ; c . eq ( d ) && c . eq ( d ) . focus ( ) , a . preventDefault ( ) } } ) } ) , this . initInput ( b ) } , initInput : function ( b ) { b . find ( "> tr > td" ) . each ( function ( ) { var b = a ( this ) . find ( ".input-hold" ) ; b . length || ( b = a ( '<span class="input-hold" style="display:block; padding:0 4px; height:0px; font-size:12px; visibility:hidden;"></span>' ) , a ( this ) . append ( b ) ) , a . support . leadingWhitespace ? a ( this ) . on ( "input" , ":text" , function ( ) { b . text ( a ( this ) . val ( ) ) } ) : a ( this ) . on ( "propertychange" , ":text" , function ( ) { b . text ( a ( this ) . val ( ) ) } ) } ) } , initTbody : function ( ) { function e ( b ) { b . removeClass ( "readonly" ) . find ( "> td *" ) . each ( function ( ) { var b = a ( this ) , c = b . closest ( "td" ) , d = c . data ( "val" ) , e = b . attr ( "data-toggle-old" ) , f = c . data ( "readonly" ) ; if ( "undefined" == typeof d && ( d = c . html ( ) ) , c . data ( "notread" ) ) return ! 0 ; if ( b . isTag ( "select" ) && b . val ( c . attr ( "data-val" ) ) . selectpicker ( "refresh" ) . nextAll ( ".bootstrap-select" ) . removeClass ( "readonly" ) . find ( "button" ) . removeClass ( "disabled" ) , b . is ( ":checkbox" ) && ( b . closest ( ".icheckbox_minimal-purple" ) . removeClass ( "disabled" ) , b . closest ( ".icheckbox_minimal-purple" ) . find ( "ins" ) . removeClass ( "readonly" ) ) , b . is ( ":radio" ) && ( b . closest ( ".iradio_minimal-purple" ) . removeClass ( "disabled" ) , b . closest ( ".iradio_minimal-purple" ) . find ( "ins" ) . removeClass ( "readonly" ) ) , e ) { if ( "dosave" == e ) return ! 0 ; b . removeAttr ( "data-toggle-old" ) . attr ( "data-toggle" , e ) , "spinner" == e && b . spinner ( "destroy" ) . spinner ( ) , "kindeditor" == e && c . initui ( ) } ( b . is ( ":text" ) || b . is ( "textarea" ) ) && ( b . off ( "keydown.readonly" ) , f && b . prop ( "readonly" , ! 0 ) ) , b . find ( ".bjui-lookup, .bjui-spinner, .bjui-upload" ) . show ( ) } ) , b . find ( '[data-toggle="doedit"]' ) . attr ( "data-toggle" , "dosave" ) . text ( "完成" ) } function f ( b ) { b . addClass ( "readonly" ) . find ( "> td *" ) . each ( function ( ) { var b = a ( this ) , c = b . closest ( "td" ) , d = b . attr ( "data-toggle" ) ; if ( c . data ( "notread" ) ) return ! 0 ; if ( b . isTag ( "select" ) && b . nextAll ( ".bootstrap-select" ) . addClass ( "readonly" ) . find ( "button" ) . addClass ( "disabled" ) , b . is ( ":checkbox" ) && ( b . closest ( ".icheckbox_minimal-purple" ) . addClass ( "disabled" ) , b . closest ( ".icheckbox_minimal-purple" ) . find ( "ins" ) . addClass ( "readonly" ) ) , b . is ( ":radio" ) && ( b . closest ( ".iradio_minimal-purple" ) . addClass ( "disabled" ) , b . closest ( ".iradio_minimal-purple" ) . find ( "ins" ) . addClass ( "readonly" ) ) , d ) { if ( "doedit" == d || "dosave" == d ) return ! 0 ; b . removeAttr ( "data-toggle" ) . attr ( "data-toggle-old" , d ) , "kindeditor" == d && KindEditor . remove ( b ) } ( b . is ( ":text" ) || b . is ( "textarea" ) ) && b . on ( "keydown.readonly" , function ( a ) { a . preventDefault ( ) } ) , b . find ( ".bjui-lookup, .bjui-spinner, .bjui-upload" ) . hide ( ) } ) , b . find ( '[data-toggle="dosave"]' ) . attr ( "data-toggle" , "doedit" ) . text ( "编辑" ) } var b = c . $element , d = c . $tbody ; d . find ( "> tr" ) . each ( function ( ) { var g = a ( this ) , h = g . find ( "> td" ) , i = b . da
/ * *
* B - JUI : bjui - spinner . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-spinner.js
* /
+ function ( a ) { "use strict" ; function c ( c ) { var d = arguments , e = c ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , b . DEFAULTS , f . data ( ) , "object" == typeof c && c ) , h = f . data ( "bjui.spinner" ) ; h || f . data ( "bjui.spinner" , 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 , this . tools = this . TOOLS ( ) , this . $spinner = null , this . height = this . $element . addClass ( "form-control" ) . innerHeight ( ) , this . ivalue = Number ( this . $element . val ( ) ) || 0 } ; b . DEFAULTS = { min : 0 , max : 100 , step : 1 , decimalPlace : 0 } , b . EVENTS = { afterChange : "afterchange.bjui.spinner" } , b . prototype . TOOLS = function ( ) { var a = this , c = { changeVal : function ( c ) { var d = a . $element , e = Number ( d . val ( ) ) || Number ( a . ivalue ) , f = c . data ( "add" ) || - 1 , g = a . options . min , h = a . options . max , i = a . options . step ; 1 == f ? h - i >= e && ( e += i ) : - 1 == f ? e >= g + i && ( e -= i ) : e > h ? e = h : g > e && ( e = g ) , a . options . decimalPlace && ( e = new String ( e . toFixed ( a . options . decimalPlace ) ) ) , a . ivalue = e , d . val ( e ) . trigger ( b . EVENTS . afterChange , { value : e } ) } } ; return c } , b . prototype . init = function ( ) { return this . $element , this . options , isNaN ( this . options . min ) || isNaN ( this . options . max ) || isNaN ( this . options . step ) ? ( BJUI . debug ( "Spinner Plugin: Parameter is non-numeric type!" ) , void 0 ) : ( this . addBtn ( ) , void 0 ) } , b . prototype . addBtn = function ( ) { var d , e , b = this , c = b . $element ; this . $lookBtn || c . parent ( ) . hasClass ( "wrap_bjui_btn_box" ) || ( this . $spinner = a ( FRAG . spinnerBtn ) , c . css ( { paddingRight : "13px" } ) . wrap ( '<span class="wrap_bjui_btn_box"></span>' ) , d = c . parent ( ) , d . css ( "position" , "relative" ) , this . $spinner . css ( { height : this . height } ) . appendTo ( d ) , this . $spinner . on ( "selectstart" , function ( ) { return ! 1 } ) , e = null , b . $spinner . find ( "li" ) . on ( "click" , function ( ) { b . tools . changeVal ( a ( this ) ) } ) . on ( "mousedown" , function ( ) { var c = a ( this ) ; e = setInterval ( function ( ) { b . tools . changeVal ( c ) } , 150 ) } ) . on ( "mouseup" , function ( ) { clearTimeout ( e ) } ) ) } , b . prototype . destroy = function ( ) { this . $element . parent ( ) . hasClass ( "wrap_bjui_btn_box" ) && ( this . $element . parent ( ) . find ( ".bjui-spinner" ) . remove ( ) , this . $element . unwrap ( ) ) } , d = a . fn . spinner , a . fn . spinner = c , a . fn . spinner . Constructor = b , a . fn . spinner . noConflict = function ( ) { return a . fn . spinner = d , this } , a ( document ) . on ( BJUI . eventType . initUI , function ( b ) { var d = a ( b . target ) . find ( 'input[data-toggle="spinner"]' ) ; d . length && c . call ( d ) } ) } ( jQuery ) ;
/ * *
* B - JUI : bjui - lookup . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from dwz . database . js ( author : ZhangHuihua @ msn . com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-lookup.js
* /
+ function ( a ) { "use strict" ; function f ( b ) { var c = arguments , d = b ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , e . DEFAULTS , f . data ( ) , "object" == typeof b && b ) , h = f . data ( "bjui.lookup" ) ; h ? f . data ( "newurl" ) && ( h . options . url = f . data ( "newurl" ) , f . data ( "bjui.dialog" , null ) ) : f . data ( "bjui.lookup" , h = new e ( this , g ) ) , "string" == typeof d && a . isFunction ( h [ d ] ) ? ( [ ] . shift . apply ( c ) , c ? h [ d ] . apply ( h , c ) : h [ d ] ( ) ) : h . init ( ) } ) } var b , c , d , g , e = function ( b , c ) { this . $element = a ( b ) , this . options = c , this . $lookBtn = null } ; e . DEFAULTS = { url : null , id : null , mask : ! 0 , width : 600 , height : 400 , title : "Lookup" , maxable : ! 0 , resizable : ! 0 } , e . EVENTS = { afterChange : "afterchange.bjui.lookup" } , e . prototype . init = function ( ) { var a = this , e = this . options ; return this . tools , e . url ? ( e . url = decodeURI ( e . url ) . replacePlh ( a . $element . closest ( ".unitBox" ) ) , e . url . isFinishedTm ( ) ? ( e . url = encodeURI ( e . url ) , b = this . options . group || null , c = this . options . suffix || null , d = this . $element , c && ( c = c . trim ( ) ) , this . open ( a . $element ) , void 0 ) : ( a . $element . alertmsg ( "error" , e . warn || FRAG . alertPlhMsg . replace ( "#plhmsg#" , BJUI . regional . plhmsg ) ) , BJUI . debug ( "Lookup Plugin: The lookup's url is incorrect, url:" + e . url ) , ! 1 ) ) : ( BJUI . debug ( "Lookup Plugin: Error trying open a lookup dialog, url is undefined!" ) , ! 1 ) } , e . prototype . addBtn = function ( ) { var d , e , b = this , c = b . $element ; this . $lookBtn || c . parent ( ) . hasClass ( "wrap_bjui_btn_box" ) || ( this . $lookBtn = a ( FRAG . lookupBtn ) , this . $element . css ( { paddingRight : "15px" } ) . wrap ( '<span class="wrap_bjui_btn_box"></span>' ) , d = this . $element . parent ( ) , e = this . $element . addClass ( "form-control" ) . innerHeight ( ) , d . css ( { position : "relative" , display : "inline-block" } ) , a . each ( b . options , function ( a , c ) { "toggle" != a && b . $lookBtn . data ( a , c ) } ) , this . $lookBtn . css ( { height : e , lineHeight : e + "px" } ) . appendTo ( d ) , this . $lookBtn . on ( "selectstart" , function ( ) { return ! 1 } ) ) } , e . prototype . open = function ( a ) { var c = this . options ; a . dialog ( { id : c . id || "lookup_dialog" , url : c . url , title : c . title , width : c . width , height : c . height , mask : c . mask , maxable : c . maxable , resizable : c . resizable } ) } , e . prototype . getField = function ( a ) { return ( b ? b + "." : "" ) + a + ( c ? c : "" ) } , e . prototype . setSingle = function ( a , b ) { "string" == typeof a && ( a = new Function ( "return " + a ) ( ) ) , this . setVal ( a , b ) } , e . prototype . setMult = function ( b , c ) { var d = { } , e = this . $element . closest ( ".unitBox" ) ; return e . find ( '[name="' + b + '"]' ) . filter ( ":checked" ) . each ( function ( ) { var c , e , b = new Function ( "return " + a ( this ) . val ( ) ) ( ) ; for ( c in b ) e = d [ c ] ? d [ c ] + "," : "" , d [ c ] = e + b [ c ] } ) , a . isEmptyObject ( d ) ? ( this . $element . alertmsg ( "error" , this . $element . data ( "warn" ) || FRAG . alertSelectMsg ) , void 0 ) : ( this . setVal ( d , c ) , void 0 ) } , e . prototype . setVal = function ( b , c ) { var h , f = this , g = d . closest ( ".unitBox" ) ; d . data ( "customEvent" ) ? d . trigger ( "customEvent.bjui.lookup" , [ b ] ) : g . find ( ":input" ) . each ( function ( ) { var i , j , d = a ( this ) , g = d . attr ( "name" ) ; for ( i in b ) if ( j = f . getField ( i ) , j == g ) { h = 1 == c ? d . val ( ) ? d . val ( ) + "," + b [ i ] : b [ i ] : b [ i ] , d . val ( h ) . trigger ( e . EVENTS . afterChange , { value : b [ i ] } ) ; break } } ) , this . $element . dialog ( "closeCurrent" ) } , g = a . fn . lookup , a . fn . lookup = f , a . fn . lookup . Constructor = e , a . fn . lookup . noConflict = function ( ) { return a . fn . lookup = g , this } , a ( document ) . on ( BJUI . eventType . initUI , function ( b ) { var c = a ( b . target ) . find ( '[data-toggle="lookup"]' ) ; c . length && f . call ( c , "addBtn" ) } ) , a ( document ) . on ( "click.bjui.lookup.data-api" , '[data-toggle="lookupbtn"]' , function ( b ) { var c = a ( this ) ; c . attr ( "href" ) && ! c . data ( "url" ) && c . attr ( "data-url" , c . attr ( "href" ) ) , c . data ( "title" ) || c . attr ( "data-title" , c . text ( ) ) , f . call ( c ) , b . preventDefault ( ) } ) , a ( document ) . on ( "click.bjui.lookupback.data-api" , '[data-toggle="lookupback"]' , function ( b ) { var c = a ( this ) , d = c . data ( "args" ) , e = c . data ( "lookupid" ) , g = a ( 'input[name="lookupType"]:checked' ) . val ( ) ; d ? f . call ( c , "setSingle" , d , g ) : e && f . call ( c , "setMult" , e , g ) , b . preventDefault ( ) } ) } ( jQuery ) ;
/ * *
* B - JUI : bjui - tags . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-tags.js
* /
+ function ( a ) { "use strict" ; function c ( c ) { var d = arguments , e = c ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , b . DEFAULTS , f . data ( ) , "object" == typeof c && c ) , h = f . data ( "bjui.tags" ) ; h || f . data ( "bjui.tags" , 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 ) . addClass ( "tag-input" ) , this . options = c , this . tools = this . TOOLS ( ) , this . $box = a ( this . $element . wrap ( '<div class="bjui-tags"></div>' ) ) . parent ( ) , this . timeout = null , this . $tagsArr = { } , this . tags = [ ] } ; b . DEFAULTS = { width : 300 , url : "" , global : ! 1 , type : "GET" , tagname : "tag" , max : 0 , clear : ! 1 , lightCls : "tags-highlight" } , b . EVENTS = { afterCreated : "aftercreated.bjui.tags" } , b . prototype . TOOLS = function ( ) { var c = this , d = this . options , e = { keyDown : function ( a ) { return 13 == a . which ? ! 1 : void 0 } , keyUp : function ( b ) { var e , f , g , h , i , j , k , l , m , n ; switch ( b . which ) { case BJUI . keyCode . BACKSPACE : if ( 0 == a . trim ( c . $element . val ( ) ) . length ) return c . tools . removeMenu ( ) , ! 1 ; break ; case BJUI . keyCode . ESC : c . tools . removeMenu ( ) ; break ; case BJUI . keyCode . DOWN : if ( ! c . $menu || ! c . $menu . length ) return ; return e = c . $menu . find ( "> ." + d . lightCls ) , f = c . $menu . find ( "> li:first-child" ) , e . length ? ( g = e . removeClass ( d . lightCls ) . next ( ) , g . length ? g . addClass ( d . lightCls ) : f . addClass ( d . lightCls ) ) : f . addClass ( d . lightCls ) , ! 1 ; case BJUI . keyCode . UP : if ( ! c . $menu || ! c . $menu . length ) return ; return e = c . $menu . find ( "> ." + d . lightCls ) , h = c . $menu . find ( "> li:last-child" ) , e . length ? ( i = e . removeClass ( d . lightCls ) . prev ( ) , i . length ? i . addClass ( d . lightCls ) : h . addClass ( d . lightCls ) ) : h . addClass ( d . lightCls ) , ! 1 ; case BJUI . keyCode . ENTER : if ( d . max > 0 && c . $tagsArr . length >= d . max ) return ! 1 ; if ( j = ! 1 , k = ! 1 , l = null , m = c . $menu && c . $menu . find ( "> ." + d . lightCls ) , m && m . length ) j = m . text ( ) , l = m . data ( "item" ) , k = l . value ; else { if ( j = a . trim ( c . $element . val ( ) ) , ! j . length ) return ! 1 ; if ( d . clear && - 1 == a . inArray ( j , c . tags ) ) return c . $element . val ( "" ) , ! 1 ; k = j } if ( ! j ) return ; return n = ! 1 , c . $tagsArr . length && c . $tagsArr . each ( function ( ) { return a ( this ) . val ( ) == k ? ( n = ! 0 , void 0 ) : void 0 } ) , n ? ( c . $element . val ( "" ) , ! 1 ) : ( c . tools . createTag ( j , k ) , c . tools . removeMenu ( ) , c . $element . val ( "" ) , a . proxy ( c . tools . onAfterCreated ( l , k ) , c ) , ! 1 ) } } , query : function ( ) { c . timeout && clearTimeout ( c . timeout ) , c . timeout = setTimeout ( c . tools . doQuery , 300 ) } , doQuery : function ( ) { var b , e , f , g , h ; d . max > 0 && c . $tagsArr . length >= d . max || ( b = c . $element . val ( ) , e = c . $box . find ( "> .tags-menu" ) , f = [ ] , g = null , h = c . $element . closest ( ".navtab-panel" ) . length ? a . CurrentNavtab : a . CurrentDialog , c . $element . closest ( ".bjui-layout" ) . length && ( h = c . $element . closest ( ".bjui-layout" ) ) , 0 != b . length && ( c . $element . one ( "ajaxStart" , function ( ) { h . trigger ( "bjui.ajaxStart" ) } ) . one ( "ajaxStop" , function ( ) { h . trigger ( "bjui.ajaxStop" ) } ) , a . ajax ( { url : d . url , global : d . global , type : d . type , data : { term : b } , dataType : "json" , success : function ( b ) { if ( 0 != b . length ) { e . length || ( e = a ( '<ul class="tags-menu"></ul>' ) ) , e . empty ( ) . hide ( ) . appendTo ( c . $box ) ; for ( var h = 0 ; h < b . length ; h ++ ) g = a ( '<li class="tags-item">' + b [ h ] . label + "</li>" ) . data ( "item" , b [ h ] ) , g . appendTo ( e ) , f . push ( b [ h ] . label ) ; c . tags = f , e . css ( { top : c . $element . position ( ) . top + c . $element . outerHeight ( ) , left : c . $element . position ( ) . left } ) . fadeIn ( ) . find ( "> li" ) . hover ( function ( ) { a ( this ) . addClass ( d . lightCls ) . siblings ( ) . removeClass ( d . lightCls ) } , function ( ) { a ( this ) . removeClass ( d . lightCls ) } ) . click ( function ( ) { var b = a ( this ) . text ( ) , d = a ( this ) . data ( "item" ) , f = d . value , g = ! 1 ; return c . $box . find ( "input:hidden" ) . each ( function ( ) { return a ( this ) . val ( ) == f ? ( g = ! 0 , void 0 ) : void 0 } ) , g ? ( c . $element . val ( "" ) , e . remove ( ) , void 0 ) : ( a . proxy ( c . tools . createTag ( b , f ) , c ) , e . remove ( ) , c . $element . val ( "" ) , a . proxy ( c . tools . onAfterCreated ( d , f ) , c ) , void 0 ) } ) , c . $menu = e } } } ) ) ) } , createTag : function ( b , d ) { var f , e = a ( '<span class="label label-tag" data-value="' + d + '" style="margin-left: 1px; margin-top: 1px;"><i class="fa fa-tag"></i> ' + b + ' <a href="#" class="close">×</a></span>' ) ; e . insertBefore ( c . $element ) . find ( "a.close" ) . click ( function ( ) { var b = e . data ( "value" ) ; c . $box . find ( "input:hidden" ) . each ( function ( ) { a ( this ) . val ( ) == b && a ( this ) . remove ( ) } ) , e . remove ( ) , c . $tagsArr = c . $box . find ( 'input[name="' + c . options . tagname + '"]' ) } ) , f = a ( '<input type="hidden" name="' + c . options . tagname + '">' ) . val ( d ) , f . appendTo ( c . $box ) , c . $tagsArr = c . $box . find ( ' i
/ * *
* B - JUI : bjui - upload . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* -- Modified from Huploadify 2.0 ( author : 吕大豹 )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-upload.js
* /
+ function ( a ) { "use strict" ; function c ( c ) { var d = arguments , e = c ; return window . FileReader ? this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , b . DEFAULTS , f . data ( ) , "object" == typeof c && c ) , h = f . data ( "bjui.upload" ) ; h || f . data ( "bjui.upload" , 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 ( ) } ) : ( this . each ( function ( ) { var b , c , d , e , f ; if ( a . fn . uploadify ) { if ( b = { swf : BJUI . PLUGINPATH + "uploadify/scripts/uploadify.swf" , fileTypeExts : "*.jpg;*.png" , id : "fileInput" , fileObjName : "file" , fileSizeLimit : 204800 , buttonText : "选择上传文件" , auto : ! 1 , multi : ! 1 , height : 24 } , c = a ( this ) , d = c . data ( ) , d . id || ( d . id = c . attr ( "id" ) ) , a . extend ( b , d ) , ! b . uploader ) return BJUI . debug ( "Upload Plugin: The options uploader is undefined!" ) , void 0 ; if ( b . uploader = decodeURI ( b . uploader ) . replacePlh ( c . closest ( ".unitBox" ) ) , ! b . uploader . isFinishedTm ( ) ) return c . alertmsg ( "error" , b . warn || FRAG . alertPlhMsg . replace ( "#plhmsg#" , BJUI . regional . plhmsg ) ) , BJUI . debug ( "Upload Plugin: The options uploader is incorrect: " + b . uploader ) , void 0 ; b . uploader = encodeURI ( b . uploader ) , "fileInput" == b . id && ( b . id = b . id + ( new Date ) . getTime ( ) ) , e = a ( '<input type="file" name="' + b . name + '" id="' + b . id + '">' ) , b . onInit && "string" == typeof b . onInit && ( b . onInit = b . onInit . toFunc ( ) ) , b . onCancel && "string" == typeof b . onCancel && ( b . onCancel = b . onCancel . toFunc ( ) ) , b . onSelect && "string" == typeof b . onSelect && ( b . onSelect = b . onSelect . toFunc ( ) ) , b . onUploadSuccess && "string" == typeof b . onUploadSuccess && ( b . onUploadSuccess = b . onUploadSuccess . toFunc ( ) ) , b . onUploadComplete && "string" == typeof b . onUploadComplete && ( b . onUploadComplete = b . onUploadComplete . toFunc ( ) ) , b . onUploadError && "string" == typeof b . onUploadError && ( b . onUploadError = b . onUploadError . toFunc ( ) ) , e . appendTo ( c ) , b . auto || ( f = a ( '<button class="btn btn-orange" data-icon="cloud-upload">开始上传</button>' ) , f . hide ( ) . insertAfter ( c ) . click ( function ( ) { e . uploadify ( "upload" , "*" ) , a ( this ) . hide ( ) } ) , b . onSelect = function ( ) { f . show ( ) } ) , e . uploadify ( b ) } } ) , void 0 ) } var d , b = function ( b , c ) { this . $element = a ( b ) , this . options = c , this . tools = this . TOOLS ( ) } ; b . DEFAULTS = { fileTypeExts : "*.jpg;*.png" , uploader : "" , auto : ! 1 , method : "POST" , multi : ! 1 , formData : { } , fileObjName : "file" , fileSizeLimit : 204800 , previewImg : ! 0 , previewLoadimg : null , dragDrop : ! 1 , showUploadedPercent : ! 0 , showUploadedSize : ! 0 , buttonText : "选择上传文件" , removeTimeout : 1e3 , itemTemplate : FRAG . uploadTemp , breakPoints : ! 1 , fileSplitSize : 1048576 , onUploadStart : null , onUploadSuccess : null , onUploadComplete : null , onUploadError : null , onInit : null , onCancel : null , onSelect : null } , b . MIMETYPES = { zip : [ "application/x-zip-compressed" ] , jpg : [ "image/jpeg" ] , png : [ "image/png" ] , gif : [ "image/gif" ] , swf : [ "application/x-shockwave-flash" ] , doc : [ "application/msword" ] , xls : [ "application/vnd.ms-excel" ] , docx : [ "application/vnd.openxmlformats-officedocument.wordprocessingml.document" ] , xlsx : [ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ] , ppt : [ "application/vnd.ms-powerpoint" ] , pptx : [ "application/vnd.openxmlformats-officedocument.presentationml.presentation" ] , mp3 : [ "audio/mpeg" ] , mp4 : [ "video/mp4" ] , pdf : [ "application/pdf" ] , txt : [ "text/plain" ] , xml : [ "text/xml" ] } , b . prototype . TOOLS = function ( ) { var c = this , d = this . options , e = { formatFileSize : function ( a , b ) { return a = a > 1048576 && ! b ? ( Math . round ( 100 * a / 1048576 ) / 100 ) . toString ( ) + "MB" : ( Math . round ( 100 * a / 1024 ) / 100 ) . toString ( ) + "KB" } , getFile : function ( a , b ) { for ( var c = 0 ; c < b . length ; c ++ ) if ( b [ c ] . index == a ) return b [ c ] ; return ! 1 } , getFileTypes : function ( a ) { var d , b = [ ] , c = a . split ( ";" ) ; for ( d = 0 ; d < c . length ; d ++ ) b . push ( c [ d ] . split ( "." ) . pop ( ) ) ; return b } , getMimetype : function ( a ) { return b . MIMETYPES [ a ] } , getAcceptString : function ( a ) { var d , e , b = this . getFileTypes ( a ) , c = [ ] ; for ( d = 0 ; d < b . length ; d ++ ) e = this . getMimetype ( b [ d ] ) , e ? c . push ( e ) : c . push ( "." + b [ d ] ) ; return c . join ( "," ) } , filter : function ( b ) { var g , h , e = [ ] , f = this . getFileTypes ( d . fileTypeExts ) ; if ( f . length > 0 ) for ( g = 0 ; g < b . length ; g ++ ) h = b [ g ] , parseInt ( this . formatFileSize ( h . size , ! 0 ) ) > d . fileSizeLimit ? c . $element . alertmsg ( "error" , '文件"' + h . name + '"大小超出限制!' ) : a . inArray ( h . name . split ( "." ) . pop ( ) . toLowerCase ( ) , f ) >= 0 ? e . push ( h ) : c . $element . alertmsg ( "error" , '文件"' + h . name + '"类型不允许!' ) ; return e } , getFiles : function ( a ) { var d , b = a . target . files || a . dat
/ * *
* B - JUI : bjui - theme . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-theme.js
* /
+ function ( a ) { "use strict" ; function e ( b ) { var c = arguments , e = b ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , d . DEFAULTS , f . data ( ) , "object" == typeof b && b ) , h = f . data ( "bjui.theme" ) ; h || f . data ( "bjui.theme" , h = new d ( this , g ) ) , "string" == typeof e && a . isFunction ( h [ e ] ) ? ( [ ] . shift . apply ( c ) , c ? h [ e ] . apply ( h , c ) : h [ e ] ( ) ) : h . init ( ) } ) } var b , c , d , f ; a ( function ( ) { var d = function ( ) { var d , e ; b = a ( "#bjui-link-theme" ) , c = a ( "#bjui-themes" ) , a . cookie && ( d = a . cookie ( "bjui_theme" ) || "blue" , e = c . find ( "a.theme_" + d ) , e . theme ( { } ) ) } ; d ( ) } ) , d = function ( b , c ) { this . $element = a ( b ) , this . options = c } , d . DEFAULTS = { theme : "purple" } , d . prototype . init = function ( ) { var a , d , e ; b . length && ( a = b . attr ( "href" ) , a = a . substring ( 0 , a . lastIndexOf ( "/" ) ) , a = a . substring ( 0 , a . lastIndexOf ( "/" ) ) , a += "/" + this . options . theme + "/core.css" , b . attr ( "href" , a ) , d = this . $element . closest ( "ul" ) . prev ( ) , e = d . attr ( "class" ) , e = e . replace ( /(theme[\s][a-z]*)/g , "" ) , d . removeClass ( ) . addClass ( e ) . addClass ( "theme" ) . addClass ( this . options . theme ) , c . find ( "li" ) . removeClass ( "active" ) , this . $element . parent ( ) . addClass ( "active" ) , this . cookie ( ) ) } , d . prototype . setTheme = function ( a ) { c . find ( "a.theme_" + a ) . trigger ( "click" ) } , d . prototype . cookie = function ( ) { var b = this . options . theme ; a . cookie && a . cookie ( "bjui_theme" , b , { path : "/" , expires : 30 } ) } , f = a . fn . theme , a . fn . theme = e , a . fn . theme . Constructor = d , a . fn . theme . noConflict = function ( ) { return a . fn . theme = f , this } , a ( document ) . on ( "click.bjui.theme.data-api" , '[data-toggle="theme"]' , function ( b ) { e . call ( a ( this ) ) , b . preventDefault ( ) } ) } ( jQuery ) ;
/ * *
* B - JUI : bjui - initui . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-initui.js
* /
+ function ( a ) { "use strict" ; function c ( c ) { var d = arguments , e = c ; return this . each ( function ( ) { var f = a ( this ) , g = a . extend ( { } , b . DEFAULTS , f . data ( ) , "object" == typeof c && c ) , h = f . data ( "bjui.initui" ) ; h || f . data ( "bjui.initui" , 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 , e , f , b = function ( b , c ) { this . $element = a ( b ) , this . options = c } ; b . DEFAULTS = { } , b . prototype . init = function ( ) { var b = this , c = b . $element ; a . when ( b . initUI ( ) ) . done ( function ( ) { c . trigger ( BJUI . eventType . afterInitUI ) } ) } , b . prototype . initUI = function ( ) { var b = this . $element ; a . when ( b . trigger ( BJUI . eventType . beforeInitUI ) ) . done ( function ( ) { b . trigger ( BJUI . eventType . initUI ) } ) } , d = a . fn . initui , a . fn . initui = c , a . fn . initui . Constructor = b , a . fn . initui . noConflict = function ( ) { return a . fn . initui = d , this } , a ( document ) . on ( "click.bjui.initui.data-api" , '[data-toggle="initui"]' , function ( a ) { c . call ( $this , $this . data ( ) ) , a . preventDefault ( ) } ) , a ( document ) . on ( BJUI . eventType . beforeInitUI , function ( b ) { var c = a ( b . target ) , d = [ ] , e = c . find ( "[data-noinit]" ) ; c . find ( "> .bjui-maskProgress" ) . find ( ".progress" ) . stop ( ) . animate ( { width : "85%" } , "fast" ) , e . each ( function ( ) { var c = a ( this ) , e = { } ; e . $target = c , e . $next = c . next ( ) , e . $prev = c . prev ( ) , e . $parent = c . parent ( ) , e . visible = c . is ( ":visible" ) ? ! 0 : ! 1 , d . push ( e ) , c . remove ( ) } ) , c . data ( "bjui.noinit" , d ) } ) , a ( document ) . on ( BJUI . eventType . initUI , function ( b ) { var c = a ( b . target ) ; c . find ( "> .bjui-maskProgress" ) . find ( ".progress" ) . stop ( ) . animate ( { width : "95%" } , "fast" ) } ) , a ( document ) . on ( BJUI . eventType . afterInitUI , function ( b ) { var c = a ( b . target ) , d = c . data ( "bjui.noinit" ) , e = c . find ( "> .bjui-pageContent" ) . find ( "form" ) ; d && a . each ( d , function ( a , b ) { b . $next . length ? b . $next . before ( b . $target ) : b . $prev . length ? b . $prev . after ( b . $target ) : b . $parent . length && b . $parent . append ( b . $target ) , b . visible && b . $target . show ( ) , c . removeData ( "bjui.noinit" ) } ) , c . resizePageH ( ) , e . length && c . find ( "> .bjui-pageFooter" ) . find ( ":submit" ) . on ( "click.bjui.submit" , function ( a ) { a . preventDefault ( ) , e . submit ( ) } ) , c . find ( ".bjui-maskProgress" ) . find ( ".progress" ) . stop ( ) . animate ( { width : "100%" } , "fast" , function ( ) { c . find ( ".bjui-ajax-mask" ) . fadeOut ( "normal" , function ( ) { a ( this ) . remove ( ) } ) } ) } ) , a ( document ) . one ( BJUI . eventType . afterInitUI , function ( ) { var c = a ( "#bjui-hnav-navbar" ) , d = c . find ( "> li.active" ) ; d . length && d . find ( "> .items" ) . length && d . find ( "> a" ) . trigger ( "click" ) } ) , e = function ( b ) { var f , g , h , c = b , d = c , e = c . css ( "position" ) ; return "static" == e && ( d = c . offsetParent ( ) ) , f = parseInt ( d . css ( "zIndex" ) ) || 0 , g = c . find ( "> .bjui-maskBackground" ) , h = c . find ( "> .bjui-maskProgress" ) , g . length || ( g = a ( FRAG . maskBackground ) , h = a ( FRAG . maskProgress . replace ( "#msg#" , BJUI . regional . progressmsg ) ) , c . prepend ( g ) . prepend ( h ) ) , parseInt ( g . css ( "zIndex" ) ) || 0 , parseInt ( h . css ( "zIndex" ) ) || 0 , g . css ( "zIndex" , f + 1 ) , h . css ( "zIndex" , f + 2 ) , { $bg : g , $pr : h } } , a ( document ) . on ( "bjui.ajaxStart" , function ( b , c , d ) { var f = e ( a ( b . target ) ) ; f . $bg . fadeIn ( ) , f . $pr . fadeIn ( ) , f . $pr . find ( ".progress" ) . animate ( { width : "80%" } , c || 500 ) , d && setTimeout ( function ( ) { d . toFunc ( ) . call ( this ) } , 25 ) } ) . on ( "bjui.ajaxStop" , function ( b ) { var c = e ( a ( b . target ) ) ; c . $pr . find ( ".progress" ) . animate ( { width : "100%" } , "fast" , function ( ) { c . $bg . remove ( ) , c . $pr . remove ( ) } ) } ) . on ( "bjui.ajaxError" , function ( b ) { var c = e ( a ( b . target ) ) ; c . $bg . remove ( ) , c . $pr . remove ( ) } ) , a ( document ) . on ( BJUI . eventType . ajaxStatus , function ( b ) { var c = a ( b . target ) , d = e ( c ) ; c . one ( "ajaxStart" , function ( ) { d . $bg . fadeIn ( ) , d . $pr . fadeIn ( ) , d . $pr . find ( ".progress" ) . animate ( { width : "10%" } , "fast" ) } ) . one ( "ajaxStop" , function ( ) { } ) . one ( "ajaxError" , function ( ) { d . $bg . remove ( ) , d . $pr . remove ( ) } ) } ) , f = function ( a ) { a . find ( 'select[data-toggle="selectpicker"]' ) . selectpicker ( "destroyMenu" ) , a . find ( '[data-toggle="selectztree"]' ) . trigger ( "destroy.bjui.selectztree" ) } , a ( document ) . on ( BJUI . eventType . beforeLoadDialog , function ( ) { } ) . on ( BJUI . eventType . beforeAjaxLoad , function ( b ) { f ( a ( b . target ) ) } ) . on ( BJUI . eventType . beforeCloseNavtab , function ( b ) { f ( a ( b . target ) ) } ) . on ( BJUI . eventType . beforeCloseDialog , function ( b ) { f ( a ( b . target ) ) } ) , a ( function ( ) { a ( document ) . on ( "keydown keyup" , function ( a ) { a . which === BJUI . keyCode . CTRL && ( BJUI . KeyPressed . ctrl = "keydown" == a . type ? ! 0 : ! 1 ) , a . which === BJUI . keyCode . SHIFT && ( BJUI . KeyPressed . shift = "keydown" == a . type ? ! 0 : ! 1 ) } ) } ) } ( jQuery ) ;
/ * *
* B - JUI : bjui - plugins . js v1 . 2
* @ author K ' naan ( xknaan @ 163. com )
* http : //git.oschina.net/xknaan/B-JUI/blob/master/BJUI/js/bjui-plugins.js
* /
2015-10-23 23:19:11 +08:00
+ function ( a ) { "use strict" ; a ( document ) . on ( BJUI . eventType . initUI , function ( b ) { var e , f , g , h , i , c = a ( b . target ) , d = c . find ( '[data-toggle="icheck"]' ) ; d . each ( function ( ) { var c = a ( this ) , d = c . attr ( "id" ) , e = c . attr ( "name" ) , f = c . data ( "label" ) ; f && c . after ( '<label for="' + d + '" class="ilabel">' + f + "</label>" ) , c . on ( "ifCreated" , function ( ) { var c = a ( this ) . closest ( "div" ) , f = c . next ( '[for="' + d + '"]' ) ; c . attr ( "data-icheck" , e ) , f . attr ( "data-icheck" , e ) } ) . iCheck ( { checkboxClass : "icheckbox_minimal-purple" , radioClass : "iradio_minimal-purple" , increaseArea : "20%" } ) . on ( "ifChanged" , function ( ) { a ( this ) . trigger ( "validate" ) } ) , c . prop ( "disabled" ) && c . iCheck ( "disable" ) } ) , d . filter ( ".checkboxCtrl" ) . on ( "ifChanged" , function ( b ) { var d = 1 == b . target . checked ? "check" : "uncheck" , e = a ( this ) . data ( "group" ) ; c . find ( ':checkbox[name="' + e + '"]' ) . iCheck ( d ) } ) , c . find ( ":text, :password, textarea, :button, a.btn" ) . each ( function ( ) { var d , f , g , h , i , j , b = a ( this ) , c = b . closest ( "table.bjui-tabledit" ) ; if ( ( b . is ( ":text" ) || b . is ( ":password" ) || b . isTag ( "textarea" ) ) && ! b . hasClass ( "form-control" ) && b . addClass ( "form-control" ) , b . is ( ":button" ) && ( d = b . data ( "icon" ) , b . data ( "large" ) , f = b . attr ( "class" ) , b . hasClass ( "btn" ) || b . removeClass ( ) . addClass ( "btn" ) . addClass ( f ) , d && ( g = "fa-" + d . replace ( "fa-" , "" ) , b . data ( "bjui.icon" ) || b . html ( '<i class="fa ' + g + '"></i> ' + b . html ( ) ) . data ( "bjui.icon" , ! 0 ) ) ) , b . isTag ( "a" ) && ( d = b . data ( "icon" ) , b . data ( "large" ) , d && ( g = "fa-" + d . replace ( "fa-" , "" ) , b . data ( "bjui.icon" ) || b . html ( '<i class="fa ' + g + '"></i> ' + b . html ( ) ) . data ( "bjui.icon" , ! 0 ) ) ) , b . isTag ( "textarea" ) && ( h = b . data ( "toggle" ) , h && "autoheight" == h && a . fn . autosize && b . addClass ( "autosize" ) . autosize ( ) ) , ! c . length ) { if ( i = b . attr ( "size" ) || b . attr ( "cols" ) , j = 10 * i , ! i ) return ; j && b . css ( "width" , j ) } } ) , c . find ( 'form[data-toggle="validate"]' ) . each ( function ( ) { var b = a ( this ) , c = "undefined" == typeof b . data ( "alertmsg" ) ? ! 0 : b . data ( "alertmsg" ) ; a ( this ) . validator ( { valid : function ( b ) { a ( b ) . bjuiajax ( "ajaxForm" , a ( b ) . data ( ) ) } , validClass : "ok" , theme : "red_right_effect" } ) . on ( "invalid.form" , function ( b , d , e ) { c && a ( d ) . alertmsg ( "error" , FRAG . validateErrorMsg . replace ( "#validatemsg#" , BJUI . regional . validatemsg ) . replaceMsg ( e . length ) ) } ) } ) , c . find ( '[data-toggle="moresearch"]' ) . each ( function ( ) { var b = a ( this ) , c = b . closest ( ".bjui-pageHeader" ) , d = c && c . find ( ".bjui-moreSearch" ) , e = b . data ( "name" ) ; b . attr ( "title" ) || b . attr ( "title" , "更多查询条件" ) , b . click ( function ( f ) { return d . length ? ( d . css ( "top" , c . outerHeight ( ) - 1 ) , d . is ( ":visible" ) ? ( b . html ( '<i class="fa fa-angle-double-down"></i>' ) , e && a ( "body" ) . data ( "moresearch." + e , ! 1 ) ) : ( b . html ( '<i class="fa fa-angle-double-up"></i>' ) , e && a ( "body" ) . data ( "moresearch." + e , ! 0 ) ) , d . fadeToggle ( "slow" , "linear" ) , f . preventDefault ( ) , void 0 ) : ( BJUI . debug ( "Not created 'moresearch' box[class=\"bjui-moreSearch\"]!" ) , void 0 ) } ) , e && a ( "body" ) . data ( "moresearch." + e ) && ( d . css ( "top" , c . outerHeight ( ) - 1 ) . fadeIn ( ) , b . html ( '<i class="fa fa-angle-double-up"></i>' ) ) } ) , e = c . find ( 'select[data-toggle="selectpicker"]' ) , f = function ( b , c ) { var f , g , d = b . data ( "refurl" ) , e = function ( b ) { var d , c = a ( b . data ( "nextselect" ) ) ; c && c . length && ( d = c . data ( "emptytxt" ) || " " , c . html ( "<option>" + d + "</option>" ) . selectpicker ( "refresh" ) , e ( c ) ) } ; c && c . length && d && ( f = b . data ( "val" ) , g = c . data ( "val" ) , "undefined" == typeof f && ( f = b . val ( ) ) , a . ajax ( { type : "POST" , dataType : "json" , url : d . replace ( "{value}" , encodeURIComponent ( f ) ) , cache : ! 1 , data : { } , success : function ( d ) { if ( d ) { var f = "" , h = "" ; a . each ( d , function ( a ) { var b , c ; d [ a ] && d [ a ] . length ? ( b = d [ a ] [ 0 ] , c = d [ a ] [ 1 ] ) : ( b = d [ a ] . value , c = d [ a ] . label ) , "undefined" != typeof g && ( h = b == g ? " selected" : "" ) , f += '<option value="' + b + '"' + h + ">" + c + "</option>" } ) , b . removeAttr ( "data-val" ) . removeData ( "val" ) , c . removeAttr ( "data-val" ) . removeData ( "val" ) , f || ( f = c . data ( "emptytxt" ) || " " , f = "<option>" + f + "</option>" ) , c . html ( f ) . selectpicker ( "refresh" ) , e ( c ) } } , error : BJUI . ajaxError } ) ) } , e . each ( function ( ) { var b = a ( this ) , c = b . data ( ) , d = a ( c . nextselect ) ; b . addClass ( "show-tick" ) , c . style || b . data ( "style" , "btn-default" ) , c . width || b . data ( "width" , "auto" ) , c . container ? 1 == c . container && b . attr ( "data-container" , "false" ) . data ( "container" , ! 1 ) : b . data ( "container" , "body" ) , b . selectpicker ( ) , d && d . length && "undefined" != typeof d . data ( "val" ) && f ( b , d ) } ) , e . change ( function ( ) { var b = a ( this ) , c = a ( b . data ( "nextselect" ) ) ; f ( b , c ) , b . attr ( " aria - require