mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-05-09 07:08:01 +08:00
212 lines
8.9 KiB
JavaScript
212 lines
8.9 KiB
JavaScript
/*!
|
|
* 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-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
|
|
* ========================================================================
|
|
* Copyright 2014 K'naan.
|
|
* Licensed under Apache (http://www.apache.org/licenses/LICENSE-2.0)
|
|
* ======================================================================== */
|
|
|
|
+function ($) {
|
|
'use strict';
|
|
|
|
var BJUI = {
|
|
JSPATH : 'BJUI/',
|
|
PLUGINPATH : 'BJUI/plugins/',
|
|
IS_DEBUG : false,
|
|
KeyPressed : { //key press state
|
|
ctrl : false,
|
|
shift : false
|
|
},
|
|
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', // When document load completed or ajax load completed, B-JUI && Plugins init
|
|
beforeInitUI : 'bjui.beforeInitUI', // If your DOM do not init [add to DOM attribute 'data-noinit="true"']
|
|
afterInitUI : 'bjui.afterInitUI', //
|
|
ajaxStatus : 'bjui.ajaxStatus', // When performing ajax request, display or hidden progress bar
|
|
resizeGrid : 'bjui.resizeGrid', // When the window or dialog resize completed
|
|
beforeAjaxLoad : 'bjui.beforeAjaxLoad', // When perform '$.fn.ajaxUrl', to do something...
|
|
|
|
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: 6000}, //alertmsg display position && close timeout
|
|
ajaxTimeout: 30000,
|
|
statusCode: {ok:200, error:300, timeout:301},
|
|
keys: {statusCode:'statusCode', message:'message'},
|
|
ui: {
|
|
windowWidth : 0,
|
|
showSlidebar : true, // After the B-JUI initialization, display slidebar
|
|
clientPaging : true, // Response paging and sorting information on the client
|
|
overwriteHomeTab : false // When open an undefined id of navtab, whether overwrite the home navtab
|
|
},
|
|
debug: function(msg) {
|
|
if (this.IS_DEBUG) {
|
|
if (typeof(console) != 'undefined') console.log(msg)
|
|
else alert(msg)
|
|
}
|
|
},
|
|
loginInfo: {
|
|
url : 'login.html',
|
|
title : 'Login',
|
|
width : 420,
|
|
height : 260,
|
|
mask : true
|
|
},
|
|
loadLogin: function() {
|
|
var login = this.loginInfo
|
|
|
|
$('body').dialog({id:'bjui-login', url:login.url, title:login.title, width:login.width, height:login.height, mask:login.mask})
|
|
},
|
|
init: function(options) {
|
|
var op = $.extend({}, options)
|
|
|
|
$.extend(BJUI.statusCode, op.statusCode)
|
|
$.extend(BJUI.pageInfo, op.pageInfo)
|
|
$.extend(BJUI.alertMsg, op.alertMsg)
|
|
$.extend(BJUI.loginInfo, op.loginInfo)
|
|
$.extend(BJUI.ui, op.ui)
|
|
|
|
if (op.JSPATH) this.JSPATH = op.JSPATH
|
|
if (op.PLUGINPATH) this.PLUGINPATH = op.PLUGINPATH
|
|
if (op.ajaxTimeout) this.ajaxTimeout = op.ajaxTimeout
|
|
|
|
this.IS_DEBUG = op.debug || false
|
|
this.initEnv()
|
|
|
|
if ((!$.cookie || !$.cookie('bjui_theme')) && op.theme) $(this).theme('setTheme', op.theme)
|
|
},
|
|
initEnv: function() {
|
|
$(window).resize(function() {
|
|
var ww = $(this).width()
|
|
|
|
if (BJUI.ui.windowWidth) {
|
|
if (BJUI.ui.windowWidth > 600 && BJUI.ui.windowWidth < ww)
|
|
ww = BJUI.ui.windowWidth
|
|
}
|
|
|
|
BJUI.initLayout(ww)
|
|
setTimeout(function() {$(this).trigger(BJUI.eventType.resizeGrid)}, 30)
|
|
})
|
|
|
|
setTimeout(function() {
|
|
var ww = $(window).width()
|
|
|
|
if (BJUI.ui.windowWidth) {
|
|
if (BJUI.ui.windowWidth > 600 && BJUI.ui.windowWidth < ww)
|
|
ww = BJUI.ui.windowWidth
|
|
}
|
|
|
|
BJUI.initLayout(ww)
|
|
$(document).initui()
|
|
}, 10)
|
|
},
|
|
initLayout: function(ww) {
|
|
var iContentW = ww - (BJUI.ui.showSlidebar ? $('#bjui-sidebar').width() + 6 : 6),
|
|
iContentH = $(window).height() - $('#bjui-header').height() - $('#bjui-footer').outerHeight(),
|
|
navtabH = $('#bjui-navtab').find('.tabsPageHeader').height()
|
|
|
|
if (BJUI.ui.windowWidth) $('#bjui-window').width(ww)
|
|
BJUI.windowWidth = ww
|
|
|
|
$('#bjui-container').height(iContentH)
|
|
$('#bjui-navtab').width(iContentW)
|
|
$('#bjui-leftside, #bjui-sidebar, #bjui-sidebar-s, #bjui-splitBar, #bjui-splitBarProxy').css({height:'100%'})
|
|
$('#bjui-navtab .tabsPageContent').height(iContentH - navtabH)
|
|
|
|
/* fixed pageFooter */
|
|
setTimeout(function() {
|
|
$('#bjui-navtab > .tabsPageContent > .navtabPage').resizePageH()
|
|
$('#bjui-navtab > .tabsPageContent > .navtabPage').find('.bjui-layout').resizePageH()
|
|
}, 10)
|
|
|
|
/* header navbar */
|
|
var navbarWidth = $('body').data('bjui.navbar.width'),
|
|
$header = $('#bjui-header'), $toggle = $header.find('.bjui-navbar-toggle'), $logo = $header.find('.bjui-navbar-logo'), $navbar = $('#bjui-navbar-collapse'), $nav = $navbar.find('.bjui-navbar-right')
|
|
|
|
if (!navbarWidth) {
|
|
navbarWidth = {logoW:$logo.outerWidth(), navW:$nav.outerWidth()}
|
|
$('body').data('bjui.navbar.width', navbarWidth)
|
|
}
|
|
if (navbarWidth) {
|
|
if (ww - navbarWidth.logoW < navbarWidth.navW) {
|
|
$toggle.show()
|
|
$navbar.addClass('collapse menu')
|
|
} else {
|
|
$toggle.hide()
|
|
$navbar.removeClass('collapse menu in')
|
|
}
|
|
}
|
|
/* horizontal navbar */
|
|
var $hnavbox = $('#bjui-hnav-navbar-box'),
|
|
$hnavbar = $hnavbox.find('> #bjui-hnav-navbar'),
|
|
$hmoreL = $hnavbox.prev(),
|
|
$hmoreR = $hnavbox.next(),
|
|
hboxWidth = $hnavbox.width(),
|
|
liW = 0
|
|
|
|
$hnavbar.find('> li').each(function(i) {
|
|
var $li = $(this)
|
|
|
|
liW += $li.outerWidth()
|
|
|
|
if (liW > hboxWidth) {
|
|
$hmoreR.show()
|
|
$hnavbox.data('hnav.move', true).data('hnav.liw', liW)
|
|
} else {
|
|
$hmoreL.hide()
|
|
$hmoreR.hide()
|
|
$hnavbox.removeData('hnav.move')
|
|
}
|
|
})
|
|
},
|
|
regional: {},
|
|
setRegional: function(key, value) {
|
|
BJUI.regional[key] = value
|
|
},
|
|
getRegional : function(key) {
|
|
if (String(key).indexOf('.') >= 0) {
|
|
var msg, arr = String(key).split('.')
|
|
|
|
for (var i = 0; i < arr.length; i++) {
|
|
if (!msg) msg = BJUI.regional[arr[i]]
|
|
else msg = msg[arr[i]]
|
|
}
|
|
|
|
return msg
|
|
} else {
|
|
return BJUI.regional[key]
|
|
}
|
|
},
|
|
doRegional: function(frag, regional) {
|
|
$.each(regional, function(k, v) {
|
|
frag = frag.replaceAll('#'+ k +'#', v)
|
|
})
|
|
|
|
return frag
|
|
}
|
|
}
|
|
|
|
window.BJUI = BJUI
|
|
|
|
}(jQuery); |