调整文件结构,为全面优化javascript代码做准备
@ -1 +0,0 @@
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 378 B After Width: | Height: | Size: 378 B |
Before Width: | Height: | Size: 367 B After Width: | Height: | Size: 367 B |
Before Width: | Height: | Size: 366 B After Width: | Height: | Size: 366 B |
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 198 B |
Before Width: | Height: | Size: 366 B After Width: | Height: | Size: 366 B |
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 373 B |
Before Width: | Height: | Size: 366 B After Width: | Height: | Size: 366 B |
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 373 B |
Before Width: | Height: | Size: 367 B After Width: | Height: | Size: 367 B |
Before Width: | Height: | Size: 179 KiB After Width: | Height: | Size: 179 KiB |
Before Width: | Height: | Size: 421 KiB After Width: | Height: | Size: 421 KiB |
Before Width: | Height: | Size: 243 KiB After Width: | Height: | Size: 243 KiB |
Before Width: | Height: | Size: 233 KiB After Width: | Height: | Size: 233 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
@ -1,313 +1,313 @@
|
||||
/*
|
||||
* jssha256 version 0.1 - Copyright 2006 B. Poettering
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
* 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* http://point-at-infinity.org/jssha256/
|
||||
*
|
||||
* This is a JavaScript implementation of the SHA256 secure hash function
|
||||
* and the HMAC-SHA256 message authentication code (MAC).
|
||||
*
|
||||
* The routines' well-functioning has been verified with the test vectors
|
||||
* given in FIPS-180-2, Appendix B and IETF RFC 4231. The HMAC algorithm
|
||||
* conforms to IETF RFC 2104.
|
||||
*
|
||||
* The following code example computes the hash value of the string "abc".
|
||||
*
|
||||
* SHA256_init();
|
||||
* SHA256_write("abc");
|
||||
* digest = SHA256_finalize();
|
||||
* digest_hex = array_to_hex_string(digest);
|
||||
*
|
||||
* Get the same result by calling the shortcut function SHA256_hash:
|
||||
*
|
||||
* digest_hex = SHA256_hash("abc");
|
||||
*
|
||||
* In the following example the calculation of the HMAC of the string "abc"
|
||||
* using the key "secret key" is shown:
|
||||
*
|
||||
* HMAC_SHA256_init("secret key");
|
||||
* HMAC_SHA256_write("abc");
|
||||
* mac = HMAC_SHA256_finalize();
|
||||
* mac_hex = array_to_hex_string(mac);
|
||||
*
|
||||
* Again, the same can be done more conveniently:
|
||||
*
|
||||
* mac_hex = HMAC_SHA256_MAC("secret key", "abc");
|
||||
*
|
||||
* Note that the internal state of the hash function is held in global
|
||||
* variables. Therefore one hash value calculation has to be completed
|
||||
* before the next is begun. The same applies the the HMAC routines.
|
||||
*
|
||||
* Report bugs to: jssha256 AT point-at-infinity.org
|
||||
*
|
||||
*/
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
/* Two all purpose helper functions follow */
|
||||
|
||||
/* string_to_array: convert a string to a character (byte) array */
|
||||
|
||||
function string_to_array(str) {
|
||||
var len = str.length;
|
||||
var res = new Array(len);
|
||||
for(var i = 0; i < len; i++)
|
||||
res[i] = str.charCodeAt(i);
|
||||
return res;
|
||||
}
|
||||
|
||||
/* array_to_hex_string: convert a byte array to a hexadecimal string */
|
||||
|
||||
function array_to_hex_string(ary) {
|
||||
var res = "";
|
||||
for(var i = 0; i < ary.length; i++)
|
||||
res += SHA256_hexchars[ary[i] >> 4] + SHA256_hexchars[ary[i] & 0x0f];
|
||||
return res;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
/* The following are the SHA256 routines */
|
||||
|
||||
/*
|
||||
SHA256_init: initialize the internal state of the hash function. Call this
|
||||
function before calling the SHA256_write function.
|
||||
*/
|
||||
|
||||
function SHA256_init() {
|
||||
SHA256_H = new Array(0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
|
||||
0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19);
|
||||
SHA256_buf = new Array();
|
||||
SHA256_len = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
SHA256_write: add a message fragment to the hash function's internal state.
|
||||
'msg' may be given as string or as byte array and may have arbitrary length.
|
||||
|
||||
*/
|
||||
|
||||
function SHA256_write(msg) {
|
||||
if (typeof(msg) == "string")
|
||||
SHA256_buf = SHA256_buf.concat(string_to_array(msg));
|
||||
else
|
||||
SHA256_buf = SHA256_buf.concat(msg);
|
||||
for(var i = 0; i + 64 <= SHA256_buf.length; i += 64)
|
||||
SHA256_Hash_Byte_Block(SHA256_H, SHA256_buf.slice(i, i + 64));
|
||||
SHA256_buf = SHA256_buf.slice(i);
|
||||
SHA256_len += msg.length;
|
||||
}
|
||||
|
||||
/*
|
||||
SHA256_finalize: finalize the hash value calculation. Call this function
|
||||
after the last call to SHA256_write. An array of 32 bytes (= 256 bits)
|
||||
is returned.
|
||||
*/
|
||||
|
||||
function SHA256_finalize() {
|
||||
SHA256_buf[SHA256_buf.length] = 0x80;
|
||||
|
||||
if (SHA256_buf.length > 64 - 8) {
|
||||
for(var i = SHA256_buf.length; i < 64; i++)
|
||||
SHA256_buf[i] = 0;
|
||||
SHA256_Hash_Byte_Block(SHA256_H, SHA256_buf);
|
||||
SHA256_buf.length = 0;
|
||||
}
|
||||
|
||||
for(var i = SHA256_buf.length; i < 64 - 5; i++)
|
||||
SHA256_buf[i] = 0;
|
||||
SHA256_buf[59] = (SHA256_len >>> 29) & 0xff;
|
||||
SHA256_buf[60] = (SHA256_len >>> 21) & 0xff;
|
||||
SHA256_buf[61] = (SHA256_len >>> 13) & 0xff;
|
||||
SHA256_buf[62] = (SHA256_len >>> 5) & 0xff;
|
||||
SHA256_buf[63] = (SHA256_len << 3) & 0xff;
|
||||
SHA256_Hash_Byte_Block(SHA256_H, SHA256_buf);
|
||||
|
||||
var res = new Array(32);
|
||||
for(var i = 0; i < 8; i++) {
|
||||
res[4 * i + 0] = SHA256_H[i] >>> 24;
|
||||
res[4 * i + 1] = (SHA256_H[i] >> 16) & 0xff;
|
||||
res[4 * i + 2] = (SHA256_H[i] >> 8) & 0xff;
|
||||
res[4 * i + 3] = SHA256_H[i] & 0xff;
|
||||
}
|
||||
|
||||
delete SHA256_H;
|
||||
delete SHA256_buf;
|
||||
delete SHA256_len;
|
||||
return res;
|
||||
}
|
||||
|
||||
/*
|
||||
SHA256_hash: calculate the hash value of the string or byte array 'msg'
|
||||
and return it as hexadecimal string. This shortcut function may be more
|
||||
convenient than calling SHA256_init, SHA256_write, SHA256_finalize
|
||||
and array_to_hex_string explicitly.
|
||||
*/
|
||||
|
||||
function SHA256_hash(msg) {
|
||||
var res;
|
||||
SHA256_init();
|
||||
SHA256_write(msg);
|
||||
res = SHA256_finalize();
|
||||
return array_to_hex_string(res);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
/* The following are the HMAC-SHA256 routines */
|
||||
|
||||
/*
|
||||
HMAC_SHA256_init: initialize the MAC's internal state. The MAC key 'key'
|
||||
may be given as string or as byte array and may have arbitrary length.
|
||||
*/
|
||||
|
||||
function HMAC_SHA256_init(key) {
|
||||
if (typeof(key) == "string")
|
||||
HMAC_SHA256_key = string_to_array(key);
|
||||
else
|
||||
HMAC_SHA256_key = new Array().concat(key);
|
||||
|
||||
if (HMAC_SHA256_key.length > 64) {
|
||||
SHA256_init();
|
||||
SHA256_write(HMAC_SHA256_key);
|
||||
HMAC_SHA256_key = SHA256_finalize();
|
||||
}
|
||||
|
||||
for(var i = HMAC_SHA256_key.length; i < 64; i++)
|
||||
HMAC_SHA256_key[i] = 0;
|
||||
for(var i = 0; i < 64; i++)
|
||||
HMAC_SHA256_key[i] ^= 0x36;
|
||||
SHA256_init();
|
||||
SHA256_write(HMAC_SHA256_key);
|
||||
}
|
||||
|
||||
/*
|
||||
HMAC_SHA256_write: process a message fragment. 'msg' may be given as
|
||||
string or as byte array and may have arbitrary length.
|
||||
*/
|
||||
|
||||
function HMAC_SHA256_write(msg) {
|
||||
SHA256_write(msg);
|
||||
}
|
||||
|
||||
/*
|
||||
HMAC_SHA256_finalize: finalize the HMAC calculation. An array of 32 bytes
|
||||
(= 256 bits) is returned.
|
||||
*/
|
||||
|
||||
function HMAC_SHA256_finalize() {
|
||||
var md = SHA256_finalize();
|
||||
for(var i = 0; i < 64; i++)
|
||||
HMAC_SHA256_key[i] ^= 0x36 ^ 0x5c;
|
||||
SHA256_init();
|
||||
SHA256_write(HMAC_SHA256_key);
|
||||
SHA256_write(md);
|
||||
for(var i = 0; i < 64; i++)
|
||||
HMAC_SHA256_key[i] = 0;
|
||||
delete HMAC_SHA256_key;
|
||||
return SHA256_finalize();
|
||||
}
|
||||
|
||||
/*
|
||||
HMAC_SHA256_MAC: calculate the HMAC value of message 'msg' under key 'key'
|
||||
(both may be of type string or byte array); return the MAC as hexadecimal
|
||||
string. This shortcut function may be more convenient than calling
|
||||
HMAC_SHA256_init, HMAC_SHA256_write, HMAC_SHA256_finalize and
|
||||
array_to_hex_string explicitly.
|
||||
*/
|
||||
|
||||
function HMAC_SHA256_MAC(key, msg) {
|
||||
var res;
|
||||
HMAC_SHA256_init(key);
|
||||
HMAC_SHA256_write(msg);
|
||||
res = HMAC_SHA256_finalize();
|
||||
return array_to_hex_string(res);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
/* The following lookup tables and functions are for internal use only! */
|
||||
|
||||
SHA256_hexchars = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
|
||||
'a', 'b', 'c', 'd', 'e', 'f');
|
||||
|
||||
SHA256_K = new Array(
|
||||
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,
|
||||
0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
|
||||
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,
|
||||
0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
||||
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
|
||||
0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
|
||||
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,
|
||||
0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
||||
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,
|
||||
0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
|
||||
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
||||
);
|
||||
|
||||
function SHA256_sigma0(x) {
|
||||
return ((x >>> 7) | (x << 25)) ^ ((x >>> 18) | (x << 14)) ^ (x >>> 3);
|
||||
}
|
||||
|
||||
function SHA256_sigma1(x) {
|
||||
return ((x >>> 17) | (x << 15)) ^ ((x >>> 19) | (x << 13)) ^ (x >>> 10);
|
||||
}
|
||||
|
||||
function SHA256_Sigma0(x) {
|
||||
return ((x >>> 2) | (x << 30)) ^ ((x >>> 13) | (x << 19)) ^
|
||||
((x >>> 22) | (x << 10));
|
||||
}
|
||||
|
||||
function SHA256_Sigma1(x) {
|
||||
return ((x >>> 6) | (x << 26)) ^ ((x >>> 11) | (x << 21)) ^
|
||||
((x >>> 25) | (x << 7));
|
||||
}
|
||||
|
||||
function SHA256_Ch(x, y, z) {
|
||||
return z ^ (x & (y ^ z));
|
||||
}
|
||||
|
||||
function SHA256_Maj(x, y, z) {
|
||||
return (x & y) ^ (z & (x ^ y));
|
||||
}
|
||||
|
||||
function SHA256_Hash_Word_Block(H, W) {
|
||||
for(var i = 16; i < 64; i++)
|
||||
W[i] = (SHA256_sigma1(W[i - 2]) + W[i - 7] +
|
||||
SHA256_sigma0(W[i - 15]) + W[i - 16]) & 0xffffffff;
|
||||
var state = new Array().concat(H);
|
||||
for(var i = 0; i < 64; i++) {
|
||||
var T1 = state[7] + SHA256_Sigma1(state[4]) +
|
||||
SHA256_Ch(state[4], state[5], state[6]) + SHA256_K[i] + W[i];
|
||||
var T2 = SHA256_Sigma0(state[0]) + SHA256_Maj(state[0], state[1], state[2]);
|
||||
state.pop();
|
||||
state.unshift((T1 + T2) & 0xffffffff);
|
||||
state[4] = (state[4] + T1) & 0xffffffff;
|
||||
}
|
||||
for(var i = 0; i < 8; i++)
|
||||
H[i] = (H[i] + state[i]) & 0xffffffff;
|
||||
}
|
||||
|
||||
function SHA256_Hash_Byte_Block(H, w) {
|
||||
var W = new Array(16);
|
||||
for(var i = 0; i < 16; i++)
|
||||
W[i] = w[4 * i + 0] << 24 | w[4 * i + 1] << 16 |
|
||||
w[4 * i + 2] << 8 | w[4 * i + 3];
|
||||
SHA256_Hash_Word_Block(H, W);
|
||||
}
|
||||
/*
|
||||
* jssha256 version 0.1 - Copyright 2006 B. Poettering
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
* 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* http://point-at-infinity.org/jssha256/
|
||||
*
|
||||
* This is a JavaScript implementation of the SHA256 secure hash function
|
||||
* and the HMAC-SHA256 message authentication code (MAC).
|
||||
*
|
||||
* The routines' well-functioning has been verified with the test vectors
|
||||
* given in FIPS-180-2, Appendix B and IETF RFC 4231. The HMAC algorithm
|
||||
* conforms to IETF RFC 2104.
|
||||
*
|
||||
* The following code example computes the hash value of the string "abc".
|
||||
*
|
||||
* SHA256_init();
|
||||
* SHA256_write("abc");
|
||||
* digest = SHA256_finalize();
|
||||
* digest_hex = array_to_hex_string(digest);
|
||||
*
|
||||
* Get the same result by calling the shortcut function SHA256_hash:
|
||||
*
|
||||
* digest_hex = SHA256_hash("abc");
|
||||
*
|
||||
* In the following example the calculation of the HMAC of the string "abc"
|
||||
* using the key "secret key" is shown:
|
||||
*
|
||||
* HMAC_SHA256_init("secret key");
|
||||
* HMAC_SHA256_write("abc");
|
||||
* mac = HMAC_SHA256_finalize();
|
||||
* mac_hex = array_to_hex_string(mac);
|
||||
*
|
||||
* Again, the same can be done more conveniently:
|
||||
*
|
||||
* mac_hex = HMAC_SHA256_MAC("secret key", "abc");
|
||||
*
|
||||
* Note that the internal state of the hash function is held in global
|
||||
* variables. Therefore one hash value calculation has to be completed
|
||||
* before the next is begun. The same applies the the HMAC routines.
|
||||
*
|
||||
* Report bugs to: jssha256 AT point-at-infinity.org
|
||||
*
|
||||
*/
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
/* Two all purpose helper functions follow */
|
||||
|
||||
/* string_to_array: convert a string to a character (byte) array */
|
||||
|
||||
function string_to_array(str) {
|
||||
var len = str.length;
|
||||
var res = new Array(len);
|
||||
for(var i = 0; i < len; i++)
|
||||
res[i] = str.charCodeAt(i);
|
||||
return res;
|
||||
}
|
||||
|
||||
/* array_to_hex_string: convert a byte array to a hexadecimal string */
|
||||
|
||||
function array_to_hex_string(ary) {
|
||||
var res = "";
|
||||
for(var i = 0; i < ary.length; i++)
|
||||
res += SHA256_hexchars[ary[i] >> 4] + SHA256_hexchars[ary[i] & 0x0f];
|
||||
return res;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
/* The following are the SHA256 routines */
|
||||
|
||||
/*
|
||||
SHA256_init: initialize the internal state of the hash function. Call this
|
||||
function before calling the SHA256_write function.
|
||||
*/
|
||||
|
||||
function SHA256_init() {
|
||||
SHA256_H = new Array(0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
|
||||
0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19);
|
||||
SHA256_buf = new Array();
|
||||
SHA256_len = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
SHA256_write: add a message fragment to the hash function's internal state.
|
||||
'msg' may be given as string or as byte array and may have arbitrary length.
|
||||
|
||||
*/
|
||||
|
||||
function SHA256_write(msg) {
|
||||
if (typeof(msg) == "string")
|
||||
SHA256_buf = SHA256_buf.concat(string_to_array(msg));
|
||||
else
|
||||
SHA256_buf = SHA256_buf.concat(msg);
|
||||
for(var i = 0; i + 64 <= SHA256_buf.length; i += 64)
|
||||
SHA256_Hash_Byte_Block(SHA256_H, SHA256_buf.slice(i, i + 64));
|
||||
SHA256_buf = SHA256_buf.slice(i);
|
||||
SHA256_len += msg.length;
|
||||
}
|
||||
|
||||
/*
|
||||
SHA256_finalize: finalize the hash value calculation. Call this function
|
||||
after the last call to SHA256_write. An array of 32 bytes (= 256 bits)
|
||||
is returned.
|
||||
*/
|
||||
|
||||
function SHA256_finalize() {
|
||||
SHA256_buf[SHA256_buf.length] = 0x80;
|
||||
|
||||
if (SHA256_buf.length > 64 - 8) {
|
||||
for(var i = SHA256_buf.length; i < 64; i++)
|
||||
SHA256_buf[i] = 0;
|
||||
SHA256_Hash_Byte_Block(SHA256_H, SHA256_buf);
|
||||
SHA256_buf.length = 0;
|
||||
}
|
||||
|
||||
for(var i = SHA256_buf.length; i < 64 - 5; i++)
|
||||
SHA256_buf[i] = 0;
|
||||
SHA256_buf[59] = (SHA256_len >>> 29) & 0xff;
|
||||
SHA256_buf[60] = (SHA256_len >>> 21) & 0xff;
|
||||
SHA256_buf[61] = (SHA256_len >>> 13) & 0xff;
|
||||
SHA256_buf[62] = (SHA256_len >>> 5) & 0xff;
|
||||
SHA256_buf[63] = (SHA256_len << 3) & 0xff;
|
||||
SHA256_Hash_Byte_Block(SHA256_H, SHA256_buf);
|
||||
|
||||
var res = new Array(32);
|
||||
for(var i = 0; i < 8; i++) {
|
||||
res[4 * i + 0] = SHA256_H[i] >>> 24;
|
||||
res[4 * i + 1] = (SHA256_H[i] >> 16) & 0xff;
|
||||
res[4 * i + 2] = (SHA256_H[i] >> 8) & 0xff;
|
||||
res[4 * i + 3] = SHA256_H[i] & 0xff;
|
||||
}
|
||||
|
||||
delete SHA256_H;
|
||||
delete SHA256_buf;
|
||||
delete SHA256_len;
|
||||
return res;
|
||||
}
|
||||
|
||||
/*
|
||||
SHA256_hash: calculate the hash value of the string or byte array 'msg'
|
||||
and return it as hexadecimal string. This shortcut function may be more
|
||||
convenient than calling SHA256_init, SHA256_write, SHA256_finalize
|
||||
and array_to_hex_string explicitly.
|
||||
*/
|
||||
|
||||
function SHA256_hash(msg) {
|
||||
var res;
|
||||
SHA256_init();
|
||||
SHA256_write(msg);
|
||||
res = SHA256_finalize();
|
||||
return array_to_hex_string(res);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
/* The following are the HMAC-SHA256 routines */
|
||||
|
||||
/*
|
||||
HMAC_SHA256_init: initialize the MAC's internal state. The MAC key 'key'
|
||||
may be given as string or as byte array and may have arbitrary length.
|
||||
*/
|
||||
|
||||
function HMAC_SHA256_init(key) {
|
||||
if (typeof(key) == "string")
|
||||
HMAC_SHA256_key = string_to_array(key);
|
||||
else
|
||||
HMAC_SHA256_key = new Array().concat(key);
|
||||
|
||||
if (HMAC_SHA256_key.length > 64) {
|
||||
SHA256_init();
|
||||
SHA256_write(HMAC_SHA256_key);
|
||||
HMAC_SHA256_key = SHA256_finalize();
|
||||
}
|
||||
|
||||
for(var i = HMAC_SHA256_key.length; i < 64; i++)
|
||||
HMAC_SHA256_key[i] = 0;
|
||||
for(var i = 0; i < 64; i++)
|
||||
HMAC_SHA256_key[i] ^= 0x36;
|
||||
SHA256_init();
|
||||
SHA256_write(HMAC_SHA256_key);
|
||||
}
|
||||
|
||||
/*
|
||||
HMAC_SHA256_write: process a message fragment. 'msg' may be given as
|
||||
string or as byte array and may have arbitrary length.
|
||||
*/
|
||||
|
||||
function HMAC_SHA256_write(msg) {
|
||||
SHA256_write(msg);
|
||||
}
|
||||
|
||||
/*
|
||||
HMAC_SHA256_finalize: finalize the HMAC calculation. An array of 32 bytes
|
||||
(= 256 bits) is returned.
|
||||
*/
|
||||
|
||||
function HMAC_SHA256_finalize() {
|
||||
var md = SHA256_finalize();
|
||||
for(var i = 0; i < 64; i++)
|
||||
HMAC_SHA256_key[i] ^= 0x36 ^ 0x5c;
|
||||
SHA256_init();
|
||||
SHA256_write(HMAC_SHA256_key);
|
||||
SHA256_write(md);
|
||||
for(var i = 0; i < 64; i++)
|
||||
HMAC_SHA256_key[i] = 0;
|
||||
delete HMAC_SHA256_key;
|
||||
return SHA256_finalize();
|
||||
}
|
||||
|
||||
/*
|
||||
HMAC_SHA256_MAC: calculate the HMAC value of message 'msg' under key 'key'
|
||||
(both may be of type string or byte array); return the MAC as hexadecimal
|
||||
string. This shortcut function may be more convenient than calling
|
||||
HMAC_SHA256_init, HMAC_SHA256_write, HMAC_SHA256_finalize and
|
||||
array_to_hex_string explicitly.
|
||||
*/
|
||||
|
||||
function HMAC_SHA256_MAC(key, msg) {
|
||||
var res;
|
||||
HMAC_SHA256_init(key);
|
||||
HMAC_SHA256_write(msg);
|
||||
res = HMAC_SHA256_finalize();
|
||||
return array_to_hex_string(res);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
/* The following lookup tables and functions are for internal use only! */
|
||||
|
||||
SHA256_hexchars = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
|
||||
'a', 'b', 'c', 'd', 'e', 'f');
|
||||
|
||||
SHA256_K = new Array(
|
||||
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,
|
||||
0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
|
||||
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,
|
||||
0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
||||
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
|
||||
0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
|
||||
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,
|
||||
0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
||||
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,
|
||||
0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
|
||||
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
||||
);
|
||||
|
||||
function SHA256_sigma0(x) {
|
||||
return ((x >>> 7) | (x << 25)) ^ ((x >>> 18) | (x << 14)) ^ (x >>> 3);
|
||||
}
|
||||
|
||||
function SHA256_sigma1(x) {
|
||||
return ((x >>> 17) | (x << 15)) ^ ((x >>> 19) | (x << 13)) ^ (x >>> 10);
|
||||
}
|
||||
|
||||
function SHA256_Sigma0(x) {
|
||||
return ((x >>> 2) | (x << 30)) ^ ((x >>> 13) | (x << 19)) ^
|
||||
((x >>> 22) | (x << 10));
|
||||
}
|
||||
|
||||
function SHA256_Sigma1(x) {
|
||||
return ((x >>> 6) | (x << 26)) ^ ((x >>> 11) | (x << 21)) ^
|
||||
((x >>> 25) | (x << 7));
|
||||
}
|
||||
|
||||
function SHA256_Ch(x, y, z) {
|
||||
return z ^ (x & (y ^ z));
|
||||
}
|
||||
|
||||
function SHA256_Maj(x, y, z) {
|
||||
return (x & y) ^ (z & (x ^ y));
|
||||
}
|
||||
|
||||
function SHA256_Hash_Word_Block(H, W) {
|
||||
for(var i = 16; i < 64; i++)
|
||||
W[i] = (SHA256_sigma1(W[i - 2]) + W[i - 7] +
|
||||
SHA256_sigma0(W[i - 15]) + W[i - 16]) & 0xffffffff;
|
||||
var state = new Array().concat(H);
|
||||
for(var i = 0; i < 64; i++) {
|
||||
var T1 = state[7] + SHA256_Sigma1(state[4]) +
|
||||
SHA256_Ch(state[4], state[5], state[6]) + SHA256_K[i] + W[i];
|
||||
var T2 = SHA256_Sigma0(state[0]) + SHA256_Maj(state[0], state[1], state[2]);
|
||||
state.pop();
|
||||
state.unshift((T1 + T2) & 0xffffffff);
|
||||
state[4] = (state[4] + T1) & 0xffffffff;
|
||||
}
|
||||
for(var i = 0; i < 8; i++)
|
||||
H[i] = (H[i] + state[i]) & 0xffffffff;
|
||||
}
|
||||
|
||||
function SHA256_Hash_Byte_Block(H, w) {
|
||||
var W = new Array(16);
|
||||
for(var i = 0; i < 16; i++)
|
||||
W[i] = w[4 * i + 0] << 24 | w[4 * i + 1] << 16 |
|
||||
w[4 * i + 2] << 8 | w[4 * i + 3];
|
||||
SHA256_Hash_Word_Block(H, W);
|
||||
}
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 348 KiB After Width: | Height: | Size: 348 KiB |
7118
OpenAuth.Mvc/Content/BJUI/themes/css/bootstrap.css
vendored
Normal file
@ -1,6 +1,6 @@
|
||||
/*IE 7及以下*/
|
||||
#errorie {position: fixed; top: 0; z-index: 100000; height: 30px; background: #FCF8E3;}
|
||||
#errorie div {width: 900px; margin: 0 auto; line-height: 30px; color: orange; font-size: 14px; text-align: center;}
|
||||
#errorie div a {color: #459f79;font-size: 14px;}
|
||||
#errorie div a:hover {text-decoration: underline;}
|
||||
|
||||
/*IE 7及以下*/
|
||||
#errorie {position: fixed; top: 0; z-index: 100000; height: 30px; background: #FCF8E3;}
|
||||
#errorie div {width: 900px; margin: 0 auto; line-height: 30px; color: orange; font-size: 14px; text-align: center;}
|
||||
#errorie div a {color: #459f79;font-size: 14px;}
|
||||
#errorie div a:hover {text-decoration: underline;}
|
||||
|
Before Width: | Height: | Size: 946 B After Width: | Height: | Size: 946 B |
Before Width: | Height: | Size: 601 B After Width: | Height: | Size: 601 B |
Before Width: | Height: | Size: 580 B After Width: | Height: | Size: 580 B |
Before Width: | Height: | Size: 570 B After Width: | Height: | Size: 570 B |
Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 762 B |
Before Width: | Height: | Size: 399 B After Width: | Height: | Size: 399 B |
Before Width: | Height: | Size: 710 B After Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 432 B After Width: | Height: | Size: 432 B |
Before Width: | Height: | Size: 534 B After Width: | Height: | Size: 534 B |
Before Width: | Height: | Size: 529 B After Width: | Height: | Size: 529 B |
Before Width: | Height: | Size: 467 B After Width: | Height: | Size: 467 B |
Before Width: | Height: | Size: 1003 B After Width: | Height: | Size: 1003 B |
Before Width: | Height: | Size: 45 B After Width: | Height: | Size: 45 B |
Before Width: | Height: | Size: 933 B After Width: | Height: | Size: 933 B |
Before Width: | Height: | Size: 381 B After Width: | Height: | Size: 381 B |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
@ -1,229 +1,229 @@
|
||||
@charset "utf-8";
|
||||
body{background:#f4f4f4;}
|
||||
/*a{color:#222; text-decoration:none;}
|
||||
a:hover{color:#000; text-decoration:underline;}*/
|
||||
fieldset{border-color:#dfdfdf;}
|
||||
/* ------------- bootstrap ------------- */
|
||||
/*.btn-default{border-color:#dfdfdf;}
|
||||
.btn-default.selectpicker{background-color:#fff;}
|
||||
.btn-default:hover,
|
||||
.btn-default:focus,
|
||||
.btn-default:active,
|
||||
.btn-default.active,
|
||||
.open > .dropdown-toggle.btn-default{color:#FFF; background-color:#515151; border-color:#dfdfdf;}*/
|
||||
.btn-close, .btn-red, .btn-blue, .btn-green, .btn-blue, .btn-orange{background:#f4f4f4;}
|
||||
.dropdown-menu > li.active > a,
|
||||
.dropdown-menu > li.active > a:hover,
|
||||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus{color:#262626; text-decoration:none; background-color:#eaeaea;}
|
||||
.form-control{color:#515151; background-color:#ffffff; background-image:none; border:1px solid #cccccc;}
|
||||
.form-control:focus{border-color:#515151; -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(81,81,81, 0.6); box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(81,81,81, 0.6);}
|
||||
.panel-main .panel-heading a:hover{color:#515151;}
|
||||
.panel-main .panel-heading:hover{color:#515151; background-color:#FFF; border-left-color:#515151;}
|
||||
.panel-main .panel-heading.active{color:#515151; background-color:#FFF; border-left-color:#515151;}
|
||||
.nav-tabs{border-bottom-color:#dfdfdf;}
|
||||
.nav-tabs > li > a{background-color:#f4f4f4; border-bottom-color:#dfdfdf;}
|
||||
.nav-tabs > li > a:hover,
|
||||
.nav-tabs > li.active > a,
|
||||
.nav-tabs > li.active > a:hover,
|
||||
.nav-tabs > li.active > a:focus{border-color:#dfdfdf; border-bottom-color:#FFF;}
|
||||
.tab-content{border-color:#dfdfdf;}
|
||||
.table > thead > tr > th{background:#f9f9f9; border-bottom-color:#dfdfdf;}
|
||||
.table-hover > tbody > tr:hover > td,
|
||||
.table-hover > tbody > tr:hover > th{background-color:#eaeaea;}
|
||||
.table > thead > tr > th.orderby a.order{color:#CCC;}
|
||||
.table > thead > tr > th.orderby.asc a.order.asc,
|
||||
.table > thead > tr > th.orderby.desc a.order.desc,
|
||||
.table > thead > tr > th.orderby a.order:hover{color:#FFF!important; background:#515151;}
|
||||
.table > tbody > tr.selected > td{background-color:#dedede;}
|
||||
/* Main */
|
||||
#bjui-header{background:#dfdfdf url(topbg.png); border-bottom:2px #515151 solid;}
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:focus,
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:hover{background:#515151;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li{border-right:1px #927ea6 solid;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li > a:hover{background:#515151;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li{background-color:#eaeaea; border-top:1px #fff solid; border-right:1px #ccc solid; border-left:1px #f4f4f4 solid;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover{background-color:#f4f4f4;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open > a{color:#fff !important;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active a{color:#fff; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover a{color:#222; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open:hover,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active:hover{background-color:#515151; border-color:#515151;}
|
||||
#bjui-sidebar.shadown{box-shadow:2px 0 5px rgba(81,81,81, 0.5);}
|
||||
#bjui-sidebar{background:#f4f4f4; border-color:#dfdfdf; border-bottom:1px #dfdfdf solid;}
|
||||
#bjui-sidebar > .toggleCollapse{background:#eaeaea;}
|
||||
#bjui-sidebar > .toggleCollapse .lock{color:#515151; background:#eaeaea;}
|
||||
#bjui-sidebar > .toggleCollapse .lock:hover{color:#f4f4f4; background:#515151;}
|
||||
#bjui-sidebar-s > .collapse{background:#f4f4f4; border:1px #dfdfdf solid;}
|
||||
#bjui-sidebar-s > .collapse:hover{background:#515151; border-color:#515151;}
|
||||
#bjui-splitBar{background:#f4f4f4;}
|
||||
#bjui-splitBarProxy{border-color:#c0c0c0; background:#f4f4f4;}
|
||||
/* Left menus */
|
||||
.menu-items li > a{color:#222;}
|
||||
.menu-items li > a:hover{background-color:#f4f4f4;}
|
||||
.menu-items li.active{background-color:#fafafa;}
|
||||
.menu-items li.active > a{color:#222;}
|
||||
.menu-items li.active.switch > a{font-weight:bold; background-color:#eaeaea;}
|
||||
.menu-items li.open > a{color:#515151;}
|
||||
/* Pages */
|
||||
.bjui-pageHeader{background:#eaeaea; border-bottom:1px #dfdfdf solid;}
|
||||
.bjui-pageHeader .bjui-moreSearch{background:#f4f4f4; border-bottom:1px #dfdfdf solid;}
|
||||
.bjui-pageHeader .showMoreSearch:hover{color:#515151;}
|
||||
.bjui-pageFooter{background:#eaeaea; border-top:1px #dfdfdf solid;}
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > a,
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > span{color:#fff; background-color:#515151; border-color:#eaeaea;}
|
||||
/* MaskProgress */
|
||||
.bjui-maskProgress{color:#515151; background:#FAFAFA; border:2px solid #dfdfdf;}
|
||||
/* Navtab */
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore{background-color:#f4f4f4; border:1px #dfdfdf solid;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore:hover{color:#f4f4f4; background-color:#515151;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled{color:#999; border-color:#dedede; border-bottom-color:#dfdfdf;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled:hover{background:#f4f4f4;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav{border-bottom-color:#dfdfdf;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a{color:#515151; background-color:#f4f4f4; border-color:#dedede; border-bottom-color:#dfdfdf;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a:hover{color:#515151; background:#eaeaea; border-color:#dfdfdf; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.active > a{color:#515151; font-weight:bold; background:#FFF; border-color:#dfdfdf; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.navtab-drag > a{background:#eaeaea;}
|
||||
#bjui-navtab > .tabsMoreList{background:#f4f4f4; border-color:#dfdfdf;}
|
||||
#bjui-navtab > .tabsMoreList > li > a:hover{color:#515151; background:#eaeaea;}
|
||||
#bjui-navtab > .tabsMoreList > li.active > a{font-weight:bold; background:#eaeaea;}
|
||||
#bjui-navtab > .tabsPageContent{background:#fefefe; border-color:#dfdfdf;}
|
||||
/* Dialog */
|
||||
.bjui-dialog{background:#f4f4f4; border:1px #DDD solid;}
|
||||
.bjui-dialog.dialogShadow{-webkit-box-shadow:0 3px 9px rgba(81,81,81, 0.9); box-shadow:0 3px 9px rgba(81,81,81, 0.9);}
|
||||
.bjui-dialog > .dialogHeader{background:#eaeaea; border-bottom:1px #dfdfdf solid;}
|
||||
.bjui-dialog > .dialogHeader a{color:#515151 !important;}
|
||||
.bjui-dialog > .dialogHeader a:hover{color:#515151 !important;}
|
||||
.bjui-dialog > .dialogHeader h1{color:#515151;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageHeader{margin-bottom:0; border:1px #dfdfdf solid; border-bottom:none;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageContent{background-color:#fff; border:1px #dfdfdf solid;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageFooter{border:1px #dfdfdf solid; border-top:none;}
|
||||
/* Dialog resizable */
|
||||
.bjui-resizable{border-color:#dfdfdf; background:#f4f4f4;}
|
||||
/* Taskbar */
|
||||
#bjui-taskbar{background:#515151;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li{background:#f4f4f4;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .taskbutton{color:#515151;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover{background:#eaeaea;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected > .taskbutton,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover > .taskbutton{color:#515151;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close{color:#dfdfdf;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close:hover{color:#FF0000;}
|
||||
#bjui-taskbar > .taskbarLeft, #bjui-taskbar > .taskbarRight{background:#f4f4f4;}
|
||||
#bjui-taskbar > .taskbarLeft:hover,
|
||||
#bjui-taskbar > .taskbarRight:hover{color:#FFF; background:#515151;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled,
|
||||
#bjui-taskbar > .taskbarRight.disabled{color:#999; background:#f4f4f4;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled:hover,
|
||||
#bjui-taskbar > .taskbarRight.disabled:hover{color:#999; background:#f4f4f4;}
|
||||
/* datagrid */
|
||||
.bjui-datagrid .datagrid-title{color:#515151; background-color:#eaeaea;}
|
||||
.bjui-datagrid .datagrid-toolbar{background-color:#f4f4f4;}
|
||||
.bjui-datagrid .table > thead > tr > th:first-child{border-left-color:#f4f4f4;}
|
||||
.bjui-datagrid .datagrid-box-h{background-color:#f9f9f9; border-bottom-color:#dfdfdf;}
|
||||
.bjui-datagrid .datagrid-box-f{background-color:#f9f9f9;}
|
||||
.bjui-datagrid .datagrid-box-f .table > thead > tr > th .datagrid-calcbox{color:#515151; background-color:#eaeaea;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td,
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-linenumber-td{color:#515151;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td:hover{background-color:#dedede;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-hover > td{background-color:#eaeaea;}
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn.active,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:focus{background-color:#515151;}
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{color:#515151;}
|
||||
.bjui-datagrid .table > thead > tr > th.filter-active > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{background-color:#515151;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th:hover{background-color:#eaeaea;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th > div > .datagrid-label > i{color:#515151;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a{color:#515151;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.sort-active a{color:#515151;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a:hover,
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.active > a{background-color:#dfdfdf;}
|
||||
.bjui-datagrid .datagrid-filter-box fieldset > span input{border-color:#dfdfdf;}
|
||||
.datagrid-showhide-box > li > a{color:#515151;}
|
||||
.datagrid-showhide-box > li > a:hover{background-color:#dfdfdf;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-sortable:hover a:hover{background-color:#515151;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-selected-tr > td{background-color:#dedede !important;}
|
||||
.bjui-datagrid > .datagrid-paging-box{background-color:#f9f9f9; border-top:1px #dfdfdf solid;}
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:focus,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:hover{background-color:#dfdfdf;}
|
||||
.bjui-datagrid > .resizeProxy{background-color:#515151;}
|
||||
.datagrid-dialog-edit-form > p:hover{background-color:#f4f4f4;}
|
||||
/* Tablefixed */
|
||||
.bjui-tablefixed > .resizeMarker,
|
||||
.bjui-tablefixed > .resizeProxy{background:#dfdfdf;}
|
||||
/* Tabledit */
|
||||
.bjui-tabledit > thead .row-add:hover{color:#FFF; background:#515151;}
|
||||
/* Alertmsg */
|
||||
.bjui-alert{background:#f4f4f4;}
|
||||
.bjui-alert > .alertContent .alertInner > .msg{border-top: 1px #fefefe solid;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner{border-color:#dfdfdf;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner > h1{color:#515151; background-color:#eaeaea; border-bottom:1px #dfdfdf solid;}
|
||||
/* Contextmenu */
|
||||
#bjui-contextmenu ul{background-color:#f4f4f4; border:1px solid #dfdfdf;}
|
||||
#bjui-contextmenu li{color:#515151; background-color:transparent;}
|
||||
#bjui-contextmenu li:hover{color:#fff; background-color:#dfdfdf;}
|
||||
#bjui-contextmenu li.disabled{color:#999;}
|
||||
#bjui-contextmenu li.disabled:hover{cursor:default; background-color:transparent;}
|
||||
#bjui-contextmenu li.diver{ border-left:none; border-right:none;}
|
||||
#bjui-contextmenu li.diver:hover{background-color:transparent !important; cursor:default;}
|
||||
/* Calendar */
|
||||
#bjui-calendar{border:1px solid #dfdfdf;}
|
||||
#bjui-calendar > .main > a.close{color:#dfdfdf;}
|
||||
#bjui-calendar > .main > a.close:hover{color:#FF0000;}
|
||||
#bjui-calendar > .main > .head{background:#eaeaea; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body{border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .foot{background:#f4f4f4; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body > .days > dd.slt{background:#eaeaea; border:1px solid #dfdfdf;}
|
||||
#bjui-calendar > .main > .body > .days > dd:hover{border:1px solid #dfdfdf;}
|
||||
#bjui-calendar > .main > .body > .days > dd.other{color:#dedede;}
|
||||
#bjui-calendar > .main > .foot > .time td{border:1px solid #dfdfdf;}
|
||||
#bjui-calendar > .main > .foot > .time .up:hover,
|
||||
#bjui-calendar > .main > .foot > .time .down:hover{color:#FFF; background:#515151;}
|
||||
#bjui-calendar > .main > .tm > ul{background-color:#f4f4f4; border:1px solid #dfdfdf;}
|
||||
#bjui-calendar > .main > .tm > ul > li:hover{background:#eaeaea;}
|
||||
/* Spinner */
|
||||
.bjui-spinner{border-left-color:#ccc;}
|
||||
.bjui-spinner .up, .bjui-spinner .down{color:#515151;}
|
||||
.bjui-spinner .up:hover, .bjui-spinner .down:hover{color:#FFF; background:#515151;}
|
||||
/* Lookup */
|
||||
.bjui-lookup:hover{color:#FFF; background:#515151;}
|
||||
/* Tags */
|
||||
.bjui-tags > .label-tag{color:#dfdfdf; background-color:#f4f4f4;}
|
||||
.bjui-tags > .label-tag:hover,
|
||||
.bjui-tags > .label-tag:focus{background-color:#eaeaea;}
|
||||
.bjui-tags > .tags-menu > .tags-highlight{background-color:#eaeaea;}
|
||||
/* Upload */
|
||||
.bjui-upload > .queue > .item{background-color:#f4f4f4;}
|
||||
|
||||
/* ------- plugins ------- */
|
||||
/* iCheck */
|
||||
.icheckbox_minimal-purple,
|
||||
.iradio_minimal-purple{background:url(purple.png) no-repeat;}
|
||||
.icheckbox_minimal-purple{background-position:0 0;} .icheckbox_minimal-purple.hover{background-position:-20px 0;} .icheckbox_minimal-purple.checked{background-position:-40px 0;} .icheckbox_minimal-purple.disabled{background-position:-60px 0; cursor:default;} .icheckbox_minimal-purple.checked.disabled{background-position:-80px 0;}
|
||||
.iradio_minimal-purple{background-position:-100px 0;} .iradio_minimal-purple.hover{background-position:-120px 0;} .iradio_minimal-purple.checked{background-position:-140px 0;} .iradio_minimal-purple.disabled{background-position:-160px 0; cursor:default;} .iradio_minimal-purple.checked.disabled{background-position:-180px 0;}
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (-moz-min-device-pixel-ratio:1.5), only screen and (-o-min-device-pixel-ratio:1.5), only screen and (min-device-pixel-ratio:1.5){.icheckbox_minimal-purple, .iradio_minimal-purple{background-image:url(purple@2x.png); -webkit-background-size:200px 20px; background-size:200px 20px;}}
|
||||
/* zTree */
|
||||
.ztree li a.faicon{color:#515151;}
|
||||
.ztree li a:hover{color:#515151;}
|
||||
span.tmpzTreeMove_arrow,.ztree .tree_add, .ztree .tree_del,
|
||||
.ztree li span.button{background-image:url(zTreeStandard.png);}
|
||||
.ztree li a.curSelectedNode{background-color:#eaeaea; color:black; border:1px #dfdfdf solid;}
|
||||
.ztree li a.curSelectedNode_Edit{background-color:#eaeaea; color:black; border:1px #dfdfdf solid;}
|
||||
.ztree li a.tmpTargetNode_inner{background-color:#eaeaea; color:white; border:1px #dfdfdf solid;}
|
||||
ul.ztree.zTreeDragUL{background-color:#cfcfcf; border:1px #dfdfdf dotted;}
|
||||
ul.tmpTargetzTree{background-color:#eaeaea;}
|
||||
/* uploadify */
|
||||
.uploadify-button{color:#515151 !important; background-color:#f4f4f4 !important; border-color:#dfdfdf !important;}
|
||||
@charset "utf-8";
|
||||
body{background:#f4f4f4;}
|
||||
/*a{color:#222; text-decoration:none;}
|
||||
a:hover{color:#000; text-decoration:underline;}*/
|
||||
fieldset{border-color:#dfdfdf;}
|
||||
/* ------------- bootstrap ------------- */
|
||||
/*.btn-default{border-color:#dfdfdf;}
|
||||
.btn-default.selectpicker{background-color:#fff;}
|
||||
.btn-default:hover,
|
||||
.btn-default:focus,
|
||||
.btn-default:active,
|
||||
.btn-default.active,
|
||||
.open > .dropdown-toggle.btn-default{color:#FFF; background-color:#515151; border-color:#dfdfdf;}*/
|
||||
.btn-close, .btn-red, .btn-blue, .btn-green, .btn-blue, .btn-orange{background:#f4f4f4;}
|
||||
.dropdown-menu > li.active > a,
|
||||
.dropdown-menu > li.active > a:hover,
|
||||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus{color:#262626; text-decoration:none; background-color:#eaeaea;}
|
||||
.form-control{color:#515151; background-color:#ffffff; background-image:none; border:1px solid #cccccc;}
|
||||
.form-control:focus{border-color:#515151; -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(81,81,81, 0.6); box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(81,81,81, 0.6);}
|
||||
.panel-main .panel-heading a:hover{color:#515151;}
|
||||
.panel-main .panel-heading:hover{color:#515151; background-color:#FFF; border-left-color:#515151;}
|
||||
.panel-main .panel-heading.active{color:#515151; background-color:#FFF; border-left-color:#515151;}
|
||||
.nav-tabs{border-bottom-color:#dfdfdf;}
|
||||
.nav-tabs > li > a{background-color:#f4f4f4; border-bottom-color:#dfdfdf;}
|
||||
.nav-tabs > li > a:hover,
|
||||
.nav-tabs > li.active > a,
|
||||
.nav-tabs > li.active > a:hover,
|
||||
.nav-tabs > li.active > a:focus{border-color:#dfdfdf; border-bottom-color:#FFF;}
|
||||
.tab-content{border-color:#dfdfdf;}
|
||||
.table > thead > tr > th{background:#f9f9f9; border-bottom-color:#dfdfdf;}
|
||||
.table-hover > tbody > tr:hover > td,
|
||||
.table-hover > tbody > tr:hover > th{background-color:#eaeaea;}
|
||||
.table > thead > tr > th.orderby a.order{color:#CCC;}
|
||||
.table > thead > tr > th.orderby.asc a.order.asc,
|
||||
.table > thead > tr > th.orderby.desc a.order.desc,
|
||||
.table > thead > tr > th.orderby a.order:hover{color:#FFF!important; background:#515151;}
|
||||
.table > tbody > tr.selected > td{background-color:#dedede;}
|
||||
/* Main */
|
||||
#bjui-header{background:#dfdfdf url(topbg.png); border-bottom:2px #515151 solid;}
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:focus,
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:hover{background:#515151;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li{border-right:1px #927ea6 solid;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li > a:hover{background:#515151;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li{background-color:#eaeaea; border-top:1px #fff solid; border-right:1px #ccc solid; border-left:1px #f4f4f4 solid;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover{background-color:#f4f4f4;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open > a{color:#fff !important;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active a{color:#fff; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover a{color:#222; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open:hover,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active:hover{background-color:#515151; border-color:#515151;}
|
||||
#bjui-sidebar.shadown{box-shadow:2px 0 5px rgba(81,81,81, 0.5);}
|
||||
#bjui-sidebar{background:#f4f4f4; border-color:#dfdfdf; border-bottom:1px #dfdfdf solid;}
|
||||
#bjui-sidebar > .toggleCollapse{background:#eaeaea;}
|
||||
#bjui-sidebar > .toggleCollapse .lock{color:#515151; background:#eaeaea;}
|
||||
#bjui-sidebar > .toggleCollapse .lock:hover{color:#f4f4f4; background:#515151;}
|
||||
#bjui-sidebar-s > .collapse{background:#f4f4f4; border:1px #dfdfdf solid;}
|
||||
#bjui-sidebar-s > .collapse:hover{background:#515151; border-color:#515151;}
|
||||
#bjui-splitBar{background:#f4f4f4;}
|
||||
#bjui-splitBarProxy{border-color:#c0c0c0; background:#f4f4f4;}
|
||||
/* Left menus */
|
||||
.menu-items li > a{color:#222;}
|
||||
.menu-items li > a:hover{background-color:#f4f4f4;}
|
||||
.menu-items li.active{background-color:#fafafa;}
|
||||
.menu-items li.active > a{color:#222;}
|
||||
.menu-items li.active.switch > a{font-weight:bold; background-color:#eaeaea;}
|
||||
.menu-items li.open > a{color:#515151;}
|
||||
/* Pages */
|
||||
.bjui-pageHeader{background:#eaeaea; border-bottom:1px #dfdfdf solid;}
|
||||
.bjui-pageHeader .bjui-moreSearch{background:#f4f4f4; border-bottom:1px #dfdfdf solid;}
|
||||
.bjui-pageHeader .showMoreSearch:hover{color:#515151;}
|
||||
.bjui-pageFooter{background:#eaeaea; border-top:1px #dfdfdf solid;}
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > a,
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > span{color:#fff; background-color:#515151; border-color:#eaeaea;}
|
||||
/* MaskProgress */
|
||||
.bjui-maskProgress{color:#515151; background:#FAFAFA; border:2px solid #dfdfdf;}
|
||||
/* Navtab */
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore{background-color:#f4f4f4; border:1px #dfdfdf solid;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore:hover{color:#f4f4f4; background-color:#515151;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled{color:#999; border-color:#dedede; border-bottom-color:#dfdfdf;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled:hover{background:#f4f4f4;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav{border-bottom-color:#dfdfdf;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a{color:#515151; background-color:#f4f4f4; border-color:#dedede; border-bottom-color:#dfdfdf;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a:hover{color:#515151; background:#eaeaea; border-color:#dfdfdf; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.active > a{color:#515151; font-weight:bold; background:#FFF; border-color:#dfdfdf; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.navtab-drag > a{background:#eaeaea;}
|
||||
#bjui-navtab > .tabsMoreList{background:#f4f4f4; border-color:#dfdfdf;}
|
||||
#bjui-navtab > .tabsMoreList > li > a:hover{color:#515151; background:#eaeaea;}
|
||||
#bjui-navtab > .tabsMoreList > li.active > a{font-weight:bold; background:#eaeaea;}
|
||||
#bjui-navtab > .tabsPageContent{background:#fefefe; border-color:#dfdfdf;}
|
||||
/* Dialog */
|
||||
.bjui-dialog{background:#f4f4f4; border:1px #DDD solid;}
|
||||
.bjui-dialog.dialogShadow{-webkit-box-shadow:0 3px 9px rgba(81,81,81, 0.9); box-shadow:0 3px 9px rgba(81,81,81, 0.9);}
|
||||
.bjui-dialog > .dialogHeader{background:#eaeaea; border-bottom:1px #dfdfdf solid;}
|
||||
.bjui-dialog > .dialogHeader a{color:#515151 !important;}
|
||||
.bjui-dialog > .dialogHeader a:hover{color:#515151 !important;}
|
||||
.bjui-dialog > .dialogHeader h1{color:#515151;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageHeader{margin-bottom:0; border:1px #dfdfdf solid; border-bottom:none;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageContent{background-color:#fff; border:1px #dfdfdf solid;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageFooter{border:1px #dfdfdf solid; border-top:none;}
|
||||
/* Dialog resizable */
|
||||
.bjui-resizable{border-color:#dfdfdf; background:#f4f4f4;}
|
||||
/* Taskbar */
|
||||
#bjui-taskbar{background:#515151;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li{background:#f4f4f4;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .taskbutton{color:#515151;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover{background:#eaeaea;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected > .taskbutton,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover > .taskbutton{color:#515151;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close{color:#dfdfdf;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close:hover{color:#FF0000;}
|
||||
#bjui-taskbar > .taskbarLeft, #bjui-taskbar > .taskbarRight{background:#f4f4f4;}
|
||||
#bjui-taskbar > .taskbarLeft:hover,
|
||||
#bjui-taskbar > .taskbarRight:hover{color:#FFF; background:#515151;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled,
|
||||
#bjui-taskbar > .taskbarRight.disabled{color:#999; background:#f4f4f4;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled:hover,
|
||||
#bjui-taskbar > .taskbarRight.disabled:hover{color:#999; background:#f4f4f4;}
|
||||
/* datagrid */
|
||||
.bjui-datagrid .datagrid-title{color:#515151; background-color:#eaeaea;}
|
||||
.bjui-datagrid .datagrid-toolbar{background-color:#f4f4f4;}
|
||||
.bjui-datagrid .table > thead > tr > th:first-child{border-left-color:#f4f4f4;}
|
||||
.bjui-datagrid .datagrid-box-h{background-color:#f9f9f9; border-bottom-color:#dfdfdf;}
|
||||
.bjui-datagrid .datagrid-box-f{background-color:#f9f9f9;}
|
||||
.bjui-datagrid .datagrid-box-f .table > thead > tr > th .datagrid-calcbox{color:#515151; background-color:#eaeaea;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td,
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-linenumber-td{color:#515151;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td:hover{background-color:#dedede;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-hover > td{background-color:#eaeaea;}
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn.active,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:focus{background-color:#515151;}
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{color:#515151;}
|
||||
.bjui-datagrid .table > thead > tr > th.filter-active > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{background-color:#515151;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th:hover{background-color:#eaeaea;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th > div > .datagrid-label > i{color:#515151;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a{color:#515151;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.sort-active a{color:#515151;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a:hover,
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.active > a{background-color:#dfdfdf;}
|
||||
.bjui-datagrid .datagrid-filter-box fieldset > span input{border-color:#dfdfdf;}
|
||||
.datagrid-showhide-box > li > a{color:#515151;}
|
||||
.datagrid-showhide-box > li > a:hover{background-color:#dfdfdf;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-sortable:hover a:hover{background-color:#515151;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-selected-tr > td{background-color:#dedede !important;}
|
||||
.bjui-datagrid > .datagrid-paging-box{background-color:#f9f9f9; border-top:1px #dfdfdf solid;}
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:focus,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:hover{background-color:#dfdfdf;}
|
||||
.bjui-datagrid > .resizeProxy{background-color:#515151;}
|
||||
.datagrid-dialog-edit-form > p:hover{background-color:#f4f4f4;}
|
||||
/* Tablefixed */
|
||||
.bjui-tablefixed > .resizeMarker,
|
||||
.bjui-tablefixed > .resizeProxy{background:#dfdfdf;}
|
||||
/* Tabledit */
|
||||
.bjui-tabledit > thead .row-add:hover{color:#FFF; background:#515151;}
|
||||
/* Alertmsg */
|
||||
.bjui-alert{background:#f4f4f4;}
|
||||
.bjui-alert > .alertContent .alertInner > .msg{border-top: 1px #fefefe solid;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner{border-color:#dfdfdf;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner > h1{color:#515151; background-color:#eaeaea; border-bottom:1px #dfdfdf solid;}
|
||||
/* Contextmenu */
|
||||
#bjui-contextmenu ul{background-color:#f4f4f4; border:1px solid #dfdfdf;}
|
||||
#bjui-contextmenu li{color:#515151; background-color:transparent;}
|
||||
#bjui-contextmenu li:hover{color:#fff; background-color:#dfdfdf;}
|
||||
#bjui-contextmenu li.disabled{color:#999;}
|
||||
#bjui-contextmenu li.disabled:hover{cursor:default; background-color:transparent;}
|
||||
#bjui-contextmenu li.diver{ border-left:none; border-right:none;}
|
||||
#bjui-contextmenu li.diver:hover{background-color:transparent !important; cursor:default;}
|
||||
/* Calendar */
|
||||
#bjui-calendar{border:1px solid #dfdfdf;}
|
||||
#bjui-calendar > .main > a.close{color:#dfdfdf;}
|
||||
#bjui-calendar > .main > a.close:hover{color:#FF0000;}
|
||||
#bjui-calendar > .main > .head{background:#eaeaea; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body{border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .foot{background:#f4f4f4; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body > .days > dd.slt{background:#eaeaea; border:1px solid #dfdfdf;}
|
||||
#bjui-calendar > .main > .body > .days > dd:hover{border:1px solid #dfdfdf;}
|
||||
#bjui-calendar > .main > .body > .days > dd.other{color:#dedede;}
|
||||
#bjui-calendar > .main > .foot > .time td{border:1px solid #dfdfdf;}
|
||||
#bjui-calendar > .main > .foot > .time .up:hover,
|
||||
#bjui-calendar > .main > .foot > .time .down:hover{color:#FFF; background:#515151;}
|
||||
#bjui-calendar > .main > .tm > ul{background-color:#f4f4f4; border:1px solid #dfdfdf;}
|
||||
#bjui-calendar > .main > .tm > ul > li:hover{background:#eaeaea;}
|
||||
/* Spinner */
|
||||
.bjui-spinner{border-left-color:#ccc;}
|
||||
.bjui-spinner .up, .bjui-spinner .down{color:#515151;}
|
||||
.bjui-spinner .up:hover, .bjui-spinner .down:hover{color:#FFF; background:#515151;}
|
||||
/* Lookup */
|
||||
.bjui-lookup:hover{color:#FFF; background:#515151;}
|
||||
/* Tags */
|
||||
.bjui-tags > .label-tag{color:#dfdfdf; background-color:#f4f4f4;}
|
||||
.bjui-tags > .label-tag:hover,
|
||||
.bjui-tags > .label-tag:focus{background-color:#eaeaea;}
|
||||
.bjui-tags > .tags-menu > .tags-highlight{background-color:#eaeaea;}
|
||||
/* Upload */
|
||||
.bjui-upload > .queue > .item{background-color:#f4f4f4;}
|
||||
|
||||
/* ------- plugins ------- */
|
||||
/* iCheck */
|
||||
.icheckbox_minimal-purple,
|
||||
.iradio_minimal-purple{background:url(purple.png) no-repeat;}
|
||||
.icheckbox_minimal-purple{background-position:0 0;} .icheckbox_minimal-purple.hover{background-position:-20px 0;} .icheckbox_minimal-purple.checked{background-position:-40px 0;} .icheckbox_minimal-purple.disabled{background-position:-60px 0; cursor:default;} .icheckbox_minimal-purple.checked.disabled{background-position:-80px 0;}
|
||||
.iradio_minimal-purple{background-position:-100px 0;} .iradio_minimal-purple.hover{background-position:-120px 0;} .iradio_minimal-purple.checked{background-position:-140px 0;} .iradio_minimal-purple.disabled{background-position:-160px 0; cursor:default;} .iradio_minimal-purple.checked.disabled{background-position:-180px 0;}
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (-moz-min-device-pixel-ratio:1.5), only screen and (-o-min-device-pixel-ratio:1.5), only screen and (min-device-pixel-ratio:1.5){.icheckbox_minimal-purple, .iradio_minimal-purple{background-image:url(purple@2x.png); -webkit-background-size:200px 20px; background-size:200px 20px;}}
|
||||
/* zTree */
|
||||
.ztree li a.faicon{color:#515151;}
|
||||
.ztree li a:hover{color:#515151;}
|
||||
span.tmpzTreeMove_arrow,.ztree .tree_add, .ztree .tree_del,
|
||||
.ztree li span.button{background-image:url(zTreeStandard.png);}
|
||||
.ztree li a.curSelectedNode{background-color:#eaeaea; color:black; border:1px #dfdfdf solid;}
|
||||
.ztree li a.curSelectedNode_Edit{background-color:#eaeaea; color:black; border:1px #dfdfdf solid;}
|
||||
.ztree li a.tmpTargetNode_inner{background-color:#eaeaea; color:white; border:1px #dfdfdf solid;}
|
||||
ul.ztree.zTreeDragUL{background-color:#cfcfcf; border:1px #dfdfdf dotted;}
|
||||
ul.tmpTargetzTree{background-color:#eaeaea;}
|
||||
/* uploadify */
|
||||
.uploadify-button{color:#515151 !important; background-color:#f4f4f4 !important; border-color:#dfdfdf !important;}
|
||||
.uploadify:hover .uploadify-button{color:#FFF !important; background-color:#dfdfdf !important; border-color:#dfdfdf !important;}
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 143 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
@ -1,229 +1,229 @@
|
||||
@charset "utf-8";
|
||||
body{background:#fff;}
|
||||
a{color:#225b16; text-decoration:none;}
|
||||
a:hover{color:#0f4c0f; text-decoration:underline;}
|
||||
fieldset{border-color:#b5d2b5;}
|
||||
/* ------------- bootstrap ------------- */
|
||||
.btn-default{border-color:#b5d2b5;}
|
||||
.btn-default.selectpicker{background-color:#fff;}
|
||||
.btn-default:hover,
|
||||
.btn-default:focus,
|
||||
.btn-default:active,
|
||||
.btn-default.active,
|
||||
.open > .dropdown-toggle.btn-default{background-color:#e8f6e8;}
|
||||
.btn-close, .btn-red, .btn-blue, .btn-green, .btn-blue, .btn-orange{background:#f5fdf5;}
|
||||
.dropdown-menu > li.active > a,
|
||||
.dropdown-menu > li.active > a:hover,
|
||||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus{color:#262626; text-decoration:none; background-color:#eef4ee;}
|
||||
.form-control{color:#0f4c0f; background-color:#ffffff; background-image:none; border:1px solid #cccccc;}
|
||||
.form-control:focus{border-color:#0f4c0f; -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(62,153,62, 0.6); box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(62,153,62, 0.6);}
|
||||
.panel-main .panel-heading a:hover{color:#0f4c0f;}
|
||||
.panel-main .panel-heading:hover{color:#0f4c0f; background-color:#FFF; border-left-color:#0f4c0f;}
|
||||
.panel-main .panel-heading.active{color:#0f4c0f; background-color:#FFF; border-left-color:#0f4c0f;}
|
||||
.nav-tabs{border-bottom-color:#b5d2b5;}
|
||||
.nav-tabs > li > a{background-color:#f5fdf5; border-bottom-color:#b5d2b5;}
|
||||
.nav-tabs > li > a:hover,
|
||||
.nav-tabs > li.active > a,
|
||||
.nav-tabs > li.active > a:hover,
|
||||
.nav-tabs > li.active > a:focus{border-color:#b5d2b5; border-bottom-color:#FFF;}
|
||||
.tab-content{border-color:#b5d2b5;}
|
||||
.table > thead > tr > th{background:#f9f9f9; border-bottom-color:#b5d2b5;}
|
||||
.table-hover > tbody > tr:hover > td,
|
||||
.table-hover > tbody > tr:hover > th{background-color:#eef4ee;}
|
||||
.table > thead > tr > th.orderby a.order{color:#CCC;}
|
||||
.table > thead > tr > th.orderby.asc a.order.asc{color:#225b16;}
|
||||
.table > thead > tr > th.orderby.desc a.order.desc{color:#225b16;}
|
||||
.table > thead > tr > th.orderby a.order:hover{color:#FFF!important; background:#225b16;}
|
||||
.table > tbody > tr.selected > td{background-color:#E5F3E5;}
|
||||
/* Main */
|
||||
#bjui-header{background:#b5d2b5 url(topbg.png); border-bottom:2px #225b16 solid;}
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:focus,
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:hover{background:#225b16;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li{border-right:1px #70a370 solid;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li > a:hover{background:#225b16;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li{background-color:#eef4ee; border-top:1px #fff solid; border-right:1px #ccc solid; border-left:1px #f5fdf5 solid;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover{background-color:#f5fdf5;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open > a{color:#fff !important;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active a{color:#fff; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover a{color:#222; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open:hover,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active:hover{background-color:#225b16; border-color:#225b16;}
|
||||
#bjui-sidebar.shadown{box-shadow:2px 0 5px rgba(62, 153, 62, 0.5);}
|
||||
#bjui-sidebar{background:#fafafa; border-color:#b5d2b5; border-bottom:1px #b5d2b5 solid;}
|
||||
#bjui-sidebar > .toggleCollapse{background:#eef4ee;}
|
||||
#bjui-sidebar > .toggleCollapse .lock{color:#225b16; background:#eef4ee;}
|
||||
#bjui-sidebar > .toggleCollapse .lock:hover{color:#f5fdf5; background:#225b16;}
|
||||
#bjui-sidebar-s > .collapse{background:#f5fdf5; border:1px #b5d2b5 solid;}
|
||||
#bjui-sidebar-s > .collapse:hover{background:#225b16; border-color:#225b16;}
|
||||
#bjui-splitBar{background:#f5fdf5;}
|
||||
#bjui-splitBarProxy{border-color:#c0c0c0; background:#f5fdf5;}
|
||||
/* Left menus */
|
||||
.menu-items li > a{color:#222;}
|
||||
.menu-items li > a:hover{background-color:#f5fdf5;}
|
||||
.menu-items li.active{background-color:#fafafa;}
|
||||
.menu-items li.active > a{color:#222;}
|
||||
.menu-items li.active.switch > a{font-weight:bold; background-color:#E5F3E5;}
|
||||
.menu-items li.open > a{color:#225b16;}
|
||||
/* Pages */
|
||||
.bjui-pageHeader{background:#eef4ee; border-bottom:1px #b5d2b5 solid;}
|
||||
.bjui-pageHeader .bjui-moreSearch{background:#f5fdf5; border-bottom:1px #b5d2b5 solid;}
|
||||
.bjui-pageHeader .showMoreSearch:hover{color:#225b16;}
|
||||
.bjui-pageFooter{background:#eef4ee; border-top:1px #b5d2b5 solid;}
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > a,
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > span{color:#ffffff; background-color:#b5d2b5; border-color:#eef4ee;}
|
||||
/* MaskProgress */
|
||||
.bjui-maskProgress{color:#0f4c0f; background:#FAFAFA; border:2px solid #b5d2b5;}
|
||||
/* Navtab */
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore{background-color:#f5fdf5; border:1px #b5d2b5 solid;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore:hover{color:#f5fdf5; background-color:#0f4c0f;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled{color:#999; border-color:#b5d2b5; border-bottom-color:#b5d2b5;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled:hover{background:#f5fdf5;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav{border-bottom-color:#b5d2b5;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a{color:#0f4c0f; background-color:#f5fdf5; border-color:#eee; border-bottom-color:#b5d2b5;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a:hover{color:#0f4c0f; background:#eef4ee; border-color:#b5d2b5; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.active > a{color:#0f4c0f; font-weight:bold; background:#FFF; border-color:#b5d2b5; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.navtab-drag > a{background:#eef4ee;}
|
||||
#bjui-navtab > .tabsMoreList{background:#f5fdf5; border-color:#b5d2b5;}
|
||||
#bjui-navtab > .tabsMoreList > li > a:hover{color:#0f4c0f; background:#eef4ee;}
|
||||
#bjui-navtab > .tabsMoreList > li.active > a{font-weight:bold; background:#eef4ee;}
|
||||
#bjui-navtab > .tabsPageContent{background:#fefefe; border-color:#b5d2b5;}
|
||||
/* Dialog */
|
||||
.bjui-dialog{background:#f5fdf5; border:1px #DDD solid;}
|
||||
.bjui-dialog.dialogShadow{-webkit-box-shadow:0 3px 9px rgba(62,153,62, 0.9); box-shadow:0 3px 9px rgba(62,153,62, 0.9);}
|
||||
.bjui-dialog > .dialogHeader{background:#eef4ee; border-bottom:1px #b5d2b5 solid;}
|
||||
.bjui-dialog > .dialogHeader a{color:#0f4c0f !important;}
|
||||
.bjui-dialog > .dialogHeader a:hover{color:#225b16 !important;}
|
||||
.bjui-dialog > .dialogHeader h1{color:#0f4c0f;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageHeader{margin-bottom:0; border:1px #b5d2b5 solid; border-bottom:none;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageContent{background-color:#fff; border:1px #b5d2b5 solid;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageFooter{border:1px #b5d2b5 solid; border-top:none;}
|
||||
/* Dialog resizable */
|
||||
.bjui-resizable{border-color:#b5d2b5; background:#f5fdf5;}
|
||||
/* Taskbar */
|
||||
#bjui-taskbar{background:#0f4c0f;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li{background:#f5fdf5;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .taskbutton{color:#0f4c0f;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover{background:#eef4ee;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected > .taskbutton,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover > .taskbutton{color:#225b16;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close{color:#b5d2b5;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close:hover{color:#FF0000;}
|
||||
#bjui-taskbar > .taskbarLeft, #bjui-taskbar > .taskbarRight{background:#f5fdf5;}
|
||||
#bjui-taskbar > .taskbarLeft:hover,
|
||||
#bjui-taskbar > .taskbarRight:hover{color:#FFF; background:#0f4c0f;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled,
|
||||
#bjui-taskbar > .taskbarRight.disabled{color:#999; background:#f5fdf5;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled:hover,
|
||||
#bjui-taskbar > .taskbarRight.disabled:hover{color:#999; background:#f5fdf5;}
|
||||
/* datagrid */
|
||||
.bjui-datagrid .datagrid-title{color:#0f4c0f; background-color:#eef4ee;}
|
||||
.bjui-datagrid .datagrid-toolbar{background-color:#f5fdf5;}
|
||||
.bjui-datagrid .table > thead > tr > th:first-child{border-left-color:#f5fdf5;}
|
||||
.bjui-datagrid .datagrid-box-h{background-color:#f9f9f9; border-bottom-color:#b5d2b5;}
|
||||
.bjui-datagrid .datagrid-box-f{background-color:#f9f9f9;}
|
||||
.bjui-datagrid .datagrid-box-f .table > thead > tr > th .datagrid-calcbox{color:#225b16; background-color:#eef4ee;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td,
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-linenumber-td{color:#225b16;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td:hover{background-color:#e7eee7;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-hover > td{background-color:#eef4ee;}
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn.active,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:focus{background-color:#225b16;}
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{color:#225b16;}
|
||||
.bjui-datagrid .table > thead > tr > th.filter-active > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{background-color:#225b16;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th:hover{background-color:#eef4ee;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th > div > .datagrid-label > i{color:#225b16;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a{color:#0f4c0f;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.sort-active a{color:#225b16;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a:hover,
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.active > a{background-color:#b5d2b5;}
|
||||
.bjui-datagrid .datagrid-filter-box fieldset > span input{border-color:#b5d2b5;}
|
||||
.datagrid-showhide-box > li > a{color:#0f4c0f;}
|
||||
.datagrid-showhide-box > li > a:hover{background-color:#b5d2b5;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-sortable:hover a:hover{background-color:#225b16;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-selected-tr > td{background-color:#e7eee7 !important;}
|
||||
.bjui-datagrid > .datagrid-paging-box{background-color:#f9f9f9; border-top:1px #b5d2b5 solid;}
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:focus,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:hover{background-color:#b5d2b5;}
|
||||
.bjui-datagrid > .resizeProxy{background-color:#225b16;}
|
||||
.datagrid-dialog-edit-form > p:hover{background-color:#f5fdf5;}
|
||||
/* Tablefixed */
|
||||
.bjui-tablefixed > .resizeMarker,
|
||||
.bjui-tablefixed > .resizeProxy{background:#b5d2b5;}
|
||||
/* Tabledit */
|
||||
.bjui-tabledit > thead .row-add:hover{color:#FFF; background:#0f4c0f;}
|
||||
/* Alertmsg */
|
||||
.bjui-alert{background:#fafafa;}
|
||||
.bjui-alert > .alertContent .alertInner > .msg{border-top: 1px #fefefe solid;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner{border-color:#b5d2b5;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner > h1{color:#0f4c0f; background-color:#f5fdf5; border-bottom:1px #b5d2b5 solid;}
|
||||
/* Contextmenu */
|
||||
#bjui-contextmenu ul{background-color:#f5fdf5; border:1px solid #b5d2b5;}
|
||||
#bjui-contextmenu li{color:#0f4c0f; background-color:transparent;}
|
||||
#bjui-contextmenu li:hover{color:#fff; background-color:#b5d2b5;}
|
||||
#bjui-contextmenu li.disabled{color:#999;}
|
||||
#bjui-contextmenu li.disabled:hover{cursor:default; background-color:transparent;}
|
||||
#bjui-contextmenu li.diver{ border-left:none; border-right:none;}
|
||||
#bjui-contextmenu li.diver:hover{background-color:transparent !important; cursor:default;}
|
||||
/* Calendar */
|
||||
#bjui-calendar{border:1px solid #b5d2b5;}
|
||||
#bjui-calendar > .main > a.close{color:#b5d2b5;}
|
||||
#bjui-calendar > .main > a.close:hover{color:#FF0000;}
|
||||
#bjui-calendar > .main > .head{background:#eef4ee; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body{border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .foot{background:#f5fdf5; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body > .days > dd.slt{background:#eef4ee; border:1px solid #b5d2b5;}
|
||||
#bjui-calendar > .main > .body > .days > dd:hover{border:1px solid #b5d2b5;}
|
||||
#bjui-calendar > .main > .body > .days > dd.other{color:#b5d2b5;}
|
||||
#bjui-calendar > .main > .foot > .time td{border:1px solid #b5d2b5;}
|
||||
#bjui-calendar > .main > .foot > .time .up:hover,
|
||||
#bjui-calendar > .main > .foot > .time .down:hover{color:#FFF; background:#0f4c0f;}
|
||||
#bjui-calendar > .main > .tm > ul{background-color:#f5fdf5; border:1px solid #b5d2b5;}
|
||||
#bjui-calendar > .main > .tm > ul > li:hover{background:#eef4ee;}
|
||||
/* Spinner */
|
||||
.bjui-spinner{border-left-color:#ccc;}
|
||||
.bjui-spinner .up, .bjui-spinner .down{color:#225b16;}
|
||||
.bjui-spinner .up:hover, .bjui-spinner .down:hover{color:#FFF; background:#0f4c0f;}
|
||||
/* Lookup */
|
||||
.bjui-lookup:hover{color:#FFF; background:#0f4c0f;}
|
||||
/* Tags */
|
||||
.bjui-tags > .label-tag{color:#b5d2b5; background-color:#f5fdf5;}
|
||||
.bjui-tags > .label-tag:hover,
|
||||
.bjui-tags > .label-tag:focus{background-color:#eef4ee;}
|
||||
.bjui-tags > .tags-menu > .tags-highlight{background-color:#eef4ee;}
|
||||
/* Upload */
|
||||
.bjui-upload > .queue > .item{background-color:#f5fdf5;}
|
||||
|
||||
/* ------- plugins ------- */
|
||||
/* iCheck */
|
||||
.icheckbox_minimal-purple,
|
||||
.iradio_minimal-purple{background:url(purple.png) no-repeat;}
|
||||
.icheckbox_minimal-purple{background-position:0 0;} .icheckbox_minimal-purple.hover{background-position:-20px 0;} .icheckbox_minimal-purple.checked{background-position:-40px 0;} .icheckbox_minimal-purple.disabled{background-position:-60px 0; cursor:default;} .icheckbox_minimal-purple.checked.disabled{background-position:-80px 0;}
|
||||
.iradio_minimal-purple{background-position:-100px 0;} .iradio_minimal-purple.hover{background-position:-120px 0;} .iradio_minimal-purple.checked{background-position:-140px 0;} .iradio_minimal-purple.disabled{background-position:-160px 0; cursor:default;} .iradio_minimal-purple.checked.disabled{background-position:-180px 0;}
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (-moz-min-device-pixel-ratio:1.5), only screen and (-o-min-device-pixel-ratio:1.5), only screen and (min-device-pixel-ratio:1.5){.icheckbox_minimal-purple, .iradio_minimal-purple{background-image:url(purple@2x.png); -webkit-background-size:200px 20px; background-size:200px 20px;}}
|
||||
/* zTree */
|
||||
.ztree li a.faicon{color:#0f4c0f;}
|
||||
.ztree li a:hover{color:#225b16;}
|
||||
span.tmpzTreeMove_arrow,.ztree .tree_add, .ztree .tree_del,
|
||||
.ztree li span.button{background-image:url(zTreeStandard.png);}
|
||||
.ztree li a.curSelectedNode{background-color:#eef4ee; color:black; border:1px #b5d2b5 solid;}
|
||||
.ztree li a.curSelectedNode_Edit{background-color:#eef4ee; color:black; border:1px #b5d2b5 solid;}
|
||||
.ztree li a.tmpTargetNode_inner{background-color:#eef4ee; color:white; border:1px #b5d2b5 solid;}
|
||||
ul.ztree.zTreeDragUL{background-color:#cfcfcf; border:1px #b5d2b5 dotted;}
|
||||
ul.tmpTargetzTree{background-color:#eef4ee;}
|
||||
/* uploadify */
|
||||
.uploadify-button{color:#0f4c0f !important; background-color:#f5fdf5 !important; border-color:#b5d2b5 !important;}
|
||||
@charset "utf-8";
|
||||
body{background:#fff;}
|
||||
a{color:#225b16; text-decoration:none;}
|
||||
a:hover{color:#0f4c0f; text-decoration:underline;}
|
||||
fieldset{border-color:#b5d2b5;}
|
||||
/* ------------- bootstrap ------------- */
|
||||
.btn-default{border-color:#b5d2b5;}
|
||||
.btn-default.selectpicker{background-color:#fff;}
|
||||
.btn-default:hover,
|
||||
.btn-default:focus,
|
||||
.btn-default:active,
|
||||
.btn-default.active,
|
||||
.open > .dropdown-toggle.btn-default{background-color:#e8f6e8;}
|
||||
.btn-close, .btn-red, .btn-blue, .btn-green, .btn-blue, .btn-orange{background:#f5fdf5;}
|
||||
.dropdown-menu > li.active > a,
|
||||
.dropdown-menu > li.active > a:hover,
|
||||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus{color:#262626; text-decoration:none; background-color:#eef4ee;}
|
||||
.form-control{color:#0f4c0f; background-color:#ffffff; background-image:none; border:1px solid #cccccc;}
|
||||
.form-control:focus{border-color:#0f4c0f; -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(62,153,62, 0.6); box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(62,153,62, 0.6);}
|
||||
.panel-main .panel-heading a:hover{color:#0f4c0f;}
|
||||
.panel-main .panel-heading:hover{color:#0f4c0f; background-color:#FFF; border-left-color:#0f4c0f;}
|
||||
.panel-main .panel-heading.active{color:#0f4c0f; background-color:#FFF; border-left-color:#0f4c0f;}
|
||||
.nav-tabs{border-bottom-color:#b5d2b5;}
|
||||
.nav-tabs > li > a{background-color:#f5fdf5; border-bottom-color:#b5d2b5;}
|
||||
.nav-tabs > li > a:hover,
|
||||
.nav-tabs > li.active > a,
|
||||
.nav-tabs > li.active > a:hover,
|
||||
.nav-tabs > li.active > a:focus{border-color:#b5d2b5; border-bottom-color:#FFF;}
|
||||
.tab-content{border-color:#b5d2b5;}
|
||||
.table > thead > tr > th{background:#f9f9f9; border-bottom-color:#b5d2b5;}
|
||||
.table-hover > tbody > tr:hover > td,
|
||||
.table-hover > tbody > tr:hover > th{background-color:#eef4ee;}
|
||||
.table > thead > tr > th.orderby a.order{color:#CCC;}
|
||||
.table > thead > tr > th.orderby.asc a.order.asc{color:#225b16;}
|
||||
.table > thead > tr > th.orderby.desc a.order.desc{color:#225b16;}
|
||||
.table > thead > tr > th.orderby a.order:hover{color:#FFF!important; background:#225b16;}
|
||||
.table > tbody > tr.selected > td{background-color:#E5F3E5;}
|
||||
/* Main */
|
||||
#bjui-header{background:#b5d2b5 url(topbg.png); border-bottom:2px #225b16 solid;}
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:focus,
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:hover{background:#225b16;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li{border-right:1px #70a370 solid;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li > a:hover{background:#225b16;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li{background-color:#eef4ee; border-top:1px #fff solid; border-right:1px #ccc solid; border-left:1px #f5fdf5 solid;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover{background-color:#f5fdf5;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open > a{color:#fff !important;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active a{color:#fff; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover a{color:#222; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open:hover,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active:hover{background-color:#225b16; border-color:#225b16;}
|
||||
#bjui-sidebar.shadown{box-shadow:2px 0 5px rgba(62, 153, 62, 0.5);}
|
||||
#bjui-sidebar{background:#fafafa; border-color:#b5d2b5; border-bottom:1px #b5d2b5 solid;}
|
||||
#bjui-sidebar > .toggleCollapse{background:#eef4ee;}
|
||||
#bjui-sidebar > .toggleCollapse .lock{color:#225b16; background:#eef4ee;}
|
||||
#bjui-sidebar > .toggleCollapse .lock:hover{color:#f5fdf5; background:#225b16;}
|
||||
#bjui-sidebar-s > .collapse{background:#f5fdf5; border:1px #b5d2b5 solid;}
|
||||
#bjui-sidebar-s > .collapse:hover{background:#225b16; border-color:#225b16;}
|
||||
#bjui-splitBar{background:#f5fdf5;}
|
||||
#bjui-splitBarProxy{border-color:#c0c0c0; background:#f5fdf5;}
|
||||
/* Left menus */
|
||||
.menu-items li > a{color:#222;}
|
||||
.menu-items li > a:hover{background-color:#f5fdf5;}
|
||||
.menu-items li.active{background-color:#fafafa;}
|
||||
.menu-items li.active > a{color:#222;}
|
||||
.menu-items li.active.switch > a{font-weight:bold; background-color:#E5F3E5;}
|
||||
.menu-items li.open > a{color:#225b16;}
|
||||
/* Pages */
|
||||
.bjui-pageHeader{background:#eef4ee; border-bottom:1px #b5d2b5 solid;}
|
||||
.bjui-pageHeader .bjui-moreSearch{background:#f5fdf5; border-bottom:1px #b5d2b5 solid;}
|
||||
.bjui-pageHeader .showMoreSearch:hover{color:#225b16;}
|
||||
.bjui-pageFooter{background:#eef4ee; border-top:1px #b5d2b5 solid;}
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > a,
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > span{color:#ffffff; background-color:#b5d2b5; border-color:#eef4ee;}
|
||||
/* MaskProgress */
|
||||
.bjui-maskProgress{color:#0f4c0f; background:#FAFAFA; border:2px solid #b5d2b5;}
|
||||
/* Navtab */
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore{background-color:#f5fdf5; border:1px #b5d2b5 solid;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore:hover{color:#f5fdf5; background-color:#0f4c0f;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled{color:#999; border-color:#b5d2b5; border-bottom-color:#b5d2b5;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled:hover{background:#f5fdf5;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav{border-bottom-color:#b5d2b5;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a{color:#0f4c0f; background-color:#f5fdf5; border-color:#eee; border-bottom-color:#b5d2b5;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a:hover{color:#0f4c0f; background:#eef4ee; border-color:#b5d2b5; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.active > a{color:#0f4c0f; font-weight:bold; background:#FFF; border-color:#b5d2b5; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.navtab-drag > a{background:#eef4ee;}
|
||||
#bjui-navtab > .tabsMoreList{background:#f5fdf5; border-color:#b5d2b5;}
|
||||
#bjui-navtab > .tabsMoreList > li > a:hover{color:#0f4c0f; background:#eef4ee;}
|
||||
#bjui-navtab > .tabsMoreList > li.active > a{font-weight:bold; background:#eef4ee;}
|
||||
#bjui-navtab > .tabsPageContent{background:#fefefe; border-color:#b5d2b5;}
|
||||
/* Dialog */
|
||||
.bjui-dialog{background:#f5fdf5; border:1px #DDD solid;}
|
||||
.bjui-dialog.dialogShadow{-webkit-box-shadow:0 3px 9px rgba(62,153,62, 0.9); box-shadow:0 3px 9px rgba(62,153,62, 0.9);}
|
||||
.bjui-dialog > .dialogHeader{background:#eef4ee; border-bottom:1px #b5d2b5 solid;}
|
||||
.bjui-dialog > .dialogHeader a{color:#0f4c0f !important;}
|
||||
.bjui-dialog > .dialogHeader a:hover{color:#225b16 !important;}
|
||||
.bjui-dialog > .dialogHeader h1{color:#0f4c0f;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageHeader{margin-bottom:0; border:1px #b5d2b5 solid; border-bottom:none;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageContent{background-color:#fff; border:1px #b5d2b5 solid;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageFooter{border:1px #b5d2b5 solid; border-top:none;}
|
||||
/* Dialog resizable */
|
||||
.bjui-resizable{border-color:#b5d2b5; background:#f5fdf5;}
|
||||
/* Taskbar */
|
||||
#bjui-taskbar{background:#0f4c0f;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li{background:#f5fdf5;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .taskbutton{color:#0f4c0f;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover{background:#eef4ee;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected > .taskbutton,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover > .taskbutton{color:#225b16;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close{color:#b5d2b5;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close:hover{color:#FF0000;}
|
||||
#bjui-taskbar > .taskbarLeft, #bjui-taskbar > .taskbarRight{background:#f5fdf5;}
|
||||
#bjui-taskbar > .taskbarLeft:hover,
|
||||
#bjui-taskbar > .taskbarRight:hover{color:#FFF; background:#0f4c0f;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled,
|
||||
#bjui-taskbar > .taskbarRight.disabled{color:#999; background:#f5fdf5;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled:hover,
|
||||
#bjui-taskbar > .taskbarRight.disabled:hover{color:#999; background:#f5fdf5;}
|
||||
/* datagrid */
|
||||
.bjui-datagrid .datagrid-title{color:#0f4c0f; background-color:#eef4ee;}
|
||||
.bjui-datagrid .datagrid-toolbar{background-color:#f5fdf5;}
|
||||
.bjui-datagrid .table > thead > tr > th:first-child{border-left-color:#f5fdf5;}
|
||||
.bjui-datagrid .datagrid-box-h{background-color:#f9f9f9; border-bottom-color:#b5d2b5;}
|
||||
.bjui-datagrid .datagrid-box-f{background-color:#f9f9f9;}
|
||||
.bjui-datagrid .datagrid-box-f .table > thead > tr > th .datagrid-calcbox{color:#225b16; background-color:#eef4ee;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td,
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-linenumber-td{color:#225b16;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td:hover{background-color:#e7eee7;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-hover > td{background-color:#eef4ee;}
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn.active,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:focus{background-color:#225b16;}
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{color:#225b16;}
|
||||
.bjui-datagrid .table > thead > tr > th.filter-active > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{background-color:#225b16;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th:hover{background-color:#eef4ee;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th > div > .datagrid-label > i{color:#225b16;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a{color:#0f4c0f;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.sort-active a{color:#225b16;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a:hover,
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.active > a{background-color:#b5d2b5;}
|
||||
.bjui-datagrid .datagrid-filter-box fieldset > span input{border-color:#b5d2b5;}
|
||||
.datagrid-showhide-box > li > a{color:#0f4c0f;}
|
||||
.datagrid-showhide-box > li > a:hover{background-color:#b5d2b5;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-sortable:hover a:hover{background-color:#225b16;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-selected-tr > td{background-color:#e7eee7 !important;}
|
||||
.bjui-datagrid > .datagrid-paging-box{background-color:#f9f9f9; border-top:1px #b5d2b5 solid;}
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:focus,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:hover{background-color:#b5d2b5;}
|
||||
.bjui-datagrid > .resizeProxy{background-color:#225b16;}
|
||||
.datagrid-dialog-edit-form > p:hover{background-color:#f5fdf5;}
|
||||
/* Tablefixed */
|
||||
.bjui-tablefixed > .resizeMarker,
|
||||
.bjui-tablefixed > .resizeProxy{background:#b5d2b5;}
|
||||
/* Tabledit */
|
||||
.bjui-tabledit > thead .row-add:hover{color:#FFF; background:#0f4c0f;}
|
||||
/* Alertmsg */
|
||||
.bjui-alert{background:#fafafa;}
|
||||
.bjui-alert > .alertContent .alertInner > .msg{border-top: 1px #fefefe solid;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner{border-color:#b5d2b5;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner > h1{color:#0f4c0f; background-color:#f5fdf5; border-bottom:1px #b5d2b5 solid;}
|
||||
/* Contextmenu */
|
||||
#bjui-contextmenu ul{background-color:#f5fdf5; border:1px solid #b5d2b5;}
|
||||
#bjui-contextmenu li{color:#0f4c0f; background-color:transparent;}
|
||||
#bjui-contextmenu li:hover{color:#fff; background-color:#b5d2b5;}
|
||||
#bjui-contextmenu li.disabled{color:#999;}
|
||||
#bjui-contextmenu li.disabled:hover{cursor:default; background-color:transparent;}
|
||||
#bjui-contextmenu li.diver{ border-left:none; border-right:none;}
|
||||
#bjui-contextmenu li.diver:hover{background-color:transparent !important; cursor:default;}
|
||||
/* Calendar */
|
||||
#bjui-calendar{border:1px solid #b5d2b5;}
|
||||
#bjui-calendar > .main > a.close{color:#b5d2b5;}
|
||||
#bjui-calendar > .main > a.close:hover{color:#FF0000;}
|
||||
#bjui-calendar > .main > .head{background:#eef4ee; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body{border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .foot{background:#f5fdf5; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body > .days > dd.slt{background:#eef4ee; border:1px solid #b5d2b5;}
|
||||
#bjui-calendar > .main > .body > .days > dd:hover{border:1px solid #b5d2b5;}
|
||||
#bjui-calendar > .main > .body > .days > dd.other{color:#b5d2b5;}
|
||||
#bjui-calendar > .main > .foot > .time td{border:1px solid #b5d2b5;}
|
||||
#bjui-calendar > .main > .foot > .time .up:hover,
|
||||
#bjui-calendar > .main > .foot > .time .down:hover{color:#FFF; background:#0f4c0f;}
|
||||
#bjui-calendar > .main > .tm > ul{background-color:#f5fdf5; border:1px solid #b5d2b5;}
|
||||
#bjui-calendar > .main > .tm > ul > li:hover{background:#eef4ee;}
|
||||
/* Spinner */
|
||||
.bjui-spinner{border-left-color:#ccc;}
|
||||
.bjui-spinner .up, .bjui-spinner .down{color:#225b16;}
|
||||
.bjui-spinner .up:hover, .bjui-spinner .down:hover{color:#FFF; background:#0f4c0f;}
|
||||
/* Lookup */
|
||||
.bjui-lookup:hover{color:#FFF; background:#0f4c0f;}
|
||||
/* Tags */
|
||||
.bjui-tags > .label-tag{color:#b5d2b5; background-color:#f5fdf5;}
|
||||
.bjui-tags > .label-tag:hover,
|
||||
.bjui-tags > .label-tag:focus{background-color:#eef4ee;}
|
||||
.bjui-tags > .tags-menu > .tags-highlight{background-color:#eef4ee;}
|
||||
/* Upload */
|
||||
.bjui-upload > .queue > .item{background-color:#f5fdf5;}
|
||||
|
||||
/* ------- plugins ------- */
|
||||
/* iCheck */
|
||||
.icheckbox_minimal-purple,
|
||||
.iradio_minimal-purple{background:url(purple.png) no-repeat;}
|
||||
.icheckbox_minimal-purple{background-position:0 0;} .icheckbox_minimal-purple.hover{background-position:-20px 0;} .icheckbox_minimal-purple.checked{background-position:-40px 0;} .icheckbox_minimal-purple.disabled{background-position:-60px 0; cursor:default;} .icheckbox_minimal-purple.checked.disabled{background-position:-80px 0;}
|
||||
.iradio_minimal-purple{background-position:-100px 0;} .iradio_minimal-purple.hover{background-position:-120px 0;} .iradio_minimal-purple.checked{background-position:-140px 0;} .iradio_minimal-purple.disabled{background-position:-160px 0; cursor:default;} .iradio_minimal-purple.checked.disabled{background-position:-180px 0;}
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (-moz-min-device-pixel-ratio:1.5), only screen and (-o-min-device-pixel-ratio:1.5), only screen and (min-device-pixel-ratio:1.5){.icheckbox_minimal-purple, .iradio_minimal-purple{background-image:url(purple@2x.png); -webkit-background-size:200px 20px; background-size:200px 20px;}}
|
||||
/* zTree */
|
||||
.ztree li a.faicon{color:#0f4c0f;}
|
||||
.ztree li a:hover{color:#225b16;}
|
||||
span.tmpzTreeMove_arrow,.ztree .tree_add, .ztree .tree_del,
|
||||
.ztree li span.button{background-image:url(zTreeStandard.png);}
|
||||
.ztree li a.curSelectedNode{background-color:#eef4ee; color:black; border:1px #b5d2b5 solid;}
|
||||
.ztree li a.curSelectedNode_Edit{background-color:#eef4ee; color:black; border:1px #b5d2b5 solid;}
|
||||
.ztree li a.tmpTargetNode_inner{background-color:#eef4ee; color:white; border:1px #b5d2b5 solid;}
|
||||
ul.ztree.zTreeDragUL{background-color:#cfcfcf; border:1px #b5d2b5 dotted;}
|
||||
ul.tmpTargetzTree{background-color:#eef4ee;}
|
||||
/* uploadify */
|
||||
.uploadify-button{color:#0f4c0f !important; background-color:#f5fdf5 !important; border-color:#b5d2b5 !important;}
|
||||
.uploadify:hover .uploadify-button{color:#FFF !important; background-color:#b5d2b5 !important; border-color:#b5d2b5 !important;}
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 138 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
@ -1,229 +1,229 @@
|
||||
@charset "utf-8";
|
||||
body{background:#fff;}
|
||||
a{color:#ff6601; text-decoration:none;}
|
||||
a:hover{color:#222; text-decoration:underline;}
|
||||
fieldset{border-color:#fdd5bc;}
|
||||
/* ------------- bootstrap ------------- */
|
||||
.btn-default{border-color:#fdd5bc;}
|
||||
.btn-default.selectpicker{background-color:#fff;}
|
||||
.btn-default:hover,
|
||||
.btn-default:focus,
|
||||
.btn-default:active,
|
||||
.btn-default.active,
|
||||
.open > .dropdown-toggle.btn-default{background-color:#FDE4CB;}
|
||||
.btn-close, .btn-red, .btn-blue, .btn-green, .btn-blue, .btn-orange{background:#fff9f3;}
|
||||
.dropdown-menu > li.active > a,
|
||||
.dropdown-menu > li.active > a:hover,
|
||||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus{color:#262626; text-decoration:none; background-color:#fff6ed;}
|
||||
.form-control{color:#222; background-color:#ffffff; background-image:none; border:1px solid #cccccc;}
|
||||
.form-control:focus{border-color:#ff6601; -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255,102,1, 0.6); box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255,102,1, 0.6);}
|
||||
.panel-main .panel-heading a:hover{color:#ff6601;}
|
||||
.panel-main .panel-heading:hover{color:#ff6601; background-color:#FFF; border-left-color:#ff6601;}
|
||||
.panel-main .panel-heading.active{color:#ff6601; background-color:#FFF; border-left-color:#ff6601;}
|
||||
.nav-tabs{border-bottom-color:#fdd5bc;}
|
||||
.nav-tabs > li > a{background-color:#fff9f3; border-bottom-color:#fdd5bc;}
|
||||
.nav-tabs > li > a:hover,
|
||||
.nav-tabs > li.active > a,
|
||||
.nav-tabs > li.active > a:hover,
|
||||
.nav-tabs > li.active > a:focus{border-color:#fdd5bc; border-bottom-color:#FFF;}
|
||||
.tab-content{border-color:#fdd5bc;}
|
||||
.table > thead > tr > th{background:#f9f9f9; border-bottom-color:#fdd5bc;}
|
||||
.table-hover > tbody > tr:hover > td,
|
||||
.table-hover > tbody > tr:hover > th{background-color:#fff6ed;}
|
||||
.table > thead > tr > th.orderby a.order{color:#CCC;}
|
||||
.table > thead > tr > th.orderby.asc a.order.asc,
|
||||
.table > thead > tr > th.orderby.desc a.order.desc,
|
||||
.table > thead > tr > th.orderby a.order:hover{color:#FFF!important; background:#ff6601;}
|
||||
.table > tbody > tr.selected > td{background-color:#fedcc7;}
|
||||
/* Main */
|
||||
#bjui-header{background:#fdd5bc url(topbg.png); border-bottom:2px #ff6601 solid;}
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:focus,
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:hover{background:#ff6601;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li{border-right:1px #DC8E70 solid;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li > a:hover{background:#ff6601;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li{background-color:#fff6ed; border-top:1px #fff solid; border-right:1px #ccc solid; border-left:1px #fff9f3 solid;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover{background-color:#fff9f3;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open > a{color:#fff !important;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active a{color:#fff; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover a{color:#222; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open:hover,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active:hover{background-color:#ff6601; border-color:#ff6601;}
|
||||
#bjui-sidebar.shadown{box-shadow:2px 0 5px rgba(255,102,1, 0.5);}
|
||||
#bjui-sidebar{background:#fafafa; border-color:#fdd5bc; border-bottom:1px #fdd5bc solid;}
|
||||
#bjui-sidebar > .toggleCollapse{background:#fff6ed;}
|
||||
#bjui-sidebar > .toggleCollapse .lock{color:#ff6601; background:#fff6ed;}
|
||||
#bjui-sidebar > .toggleCollapse .lock:hover{color:#fff9f3; background:#ff6601;}
|
||||
#bjui-sidebar-s > .collapse{background:#fff9f3; border:1px #fdd5bc solid;}
|
||||
#bjui-sidebar-s > .collapse:hover{background:#ff6601; border-color:#ff6601;}
|
||||
#bjui-splitBar{background:#fff9f3;}
|
||||
#bjui-splitBarProxy{border-color:#c0c0c0; background:#fff9f3;}
|
||||
/* Left menus */
|
||||
.menu-items li > a{color:#222;}
|
||||
.menu-items li > a:hover{background-color:#fff9f3;}
|
||||
.menu-items li.active{background-color:#fafafa;}
|
||||
.menu-items li.active > a{color:#222;}
|
||||
.menu-items li.active.switch > a{font-weight:bold; background-color:#fff6ed;}
|
||||
.menu-items li.open > a{color:#ff6601;}
|
||||
/* Pages */
|
||||
.bjui-pageHeader{background:#fff6ed; border-bottom:1px #fdd5bc solid;}
|
||||
.bjui-pageHeader .bjui-moreSearch{background:#fff9f3; border-bottom:1px #fdd5bc solid;}
|
||||
.bjui-pageHeader .showMoreSearch:hover{color:#ff6601;}
|
||||
.bjui-pageFooter{background:#fff6ed; border-top:1px #fdd5bc solid;}
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > a,
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > span{color:#ffffff; background-color:#ff6601; border-color:#fff6ed;}
|
||||
/* MaskProgress */
|
||||
.bjui-maskProgress{color:#222; background:#FAFAFA; border:2px solid #fdd5bc;}
|
||||
/* Navtab */
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore{background-color:#fff9f3; border:1px #fdd5bc solid;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore:hover{color:#fff9f3; background-color:#222;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled{color:#999; border-color:#fedcc7; border-bottom-color:#fdd5bc;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled:hover{background:#fff9f3;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav{border-bottom-color:#fdd5bc;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a{color:#222; background-color:#fff9f3; border-color:#eee; border-bottom-color:#fdd5bc;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a:hover{color:#222; background:#fff6ed; border-color:#fdd5bc; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.active > a{color:#222; font-weight:bold; background:#FFF; border-color:#fdd5bc; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.navtab-drag > a{background:#fff6ed;}
|
||||
#bjui-navtab > .tabsMoreList{background:#fff9f3; border-color:#fdd5bc;}
|
||||
#bjui-navtab > .tabsMoreList > li > a:hover{color:#222; background:#fff6ed;}
|
||||
#bjui-navtab > .tabsMoreList > li.active > a{font-weight:bold; background:#fff6ed;}
|
||||
#bjui-navtab > .tabsPageContent{background:#fefefe; border-color:#fdd5bc;}
|
||||
/* Dialog */
|
||||
.bjui-dialog{background:#fff9f3; border:1px #DDD solid;}
|
||||
.bjui-dialog.dialogShadow{-webkit-box-shadow:0 3px 9px rgba(255,102,1, 0.9); box-shadow:0 3px 9px rgba(255,102,1, 0.9);}
|
||||
.bjui-dialog > .dialogHeader{background:#fff6ed; border-bottom:1px #fdd5bc solid;}
|
||||
.bjui-dialog > .dialogHeader a{color:#222 !important;}
|
||||
.bjui-dialog > .dialogHeader a:hover{color:#ff6601 !important;}
|
||||
.bjui-dialog > .dialogHeader h1{color:#222;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageHeader{margin-bottom:0; border:1px #fdd5bc solid; border-bottom:none;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageContent{background-color:#fff; border:1px #fdd5bc solid;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageFooter{border:1px #fdd5bc solid; border-top:none;}
|
||||
/* Dialog resizable */
|
||||
.bjui-resizable{border-color:#fdd5bc; background:#fff9f3;}
|
||||
/* Taskbar */
|
||||
#bjui-taskbar{background:#222;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li{background:#fff9f3;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .taskbutton{color:#222;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover{background:#fff6ed;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected > .taskbutton,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover > .taskbutton{color:#ff6601;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close{color:#fdd5bc;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close:hover{color:#FF0000;}
|
||||
#bjui-taskbar > .taskbarLeft, #bjui-taskbar > .taskbarRight{background:#fff9f3;}
|
||||
#bjui-taskbar > .taskbarLeft:hover,
|
||||
#bjui-taskbar > .taskbarRight:hover{color:#FFF; background:#222;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled,
|
||||
#bjui-taskbar > .taskbarRight.disabled{color:#999; background:#fff9f3;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled:hover,
|
||||
#bjui-taskbar > .taskbarRight.disabled:hover{color:#999; background:#fff9f3;}
|
||||
/* datagrid */
|
||||
.bjui-datagrid .datagrid-title{color:#222; background-color:#fff6ed;}
|
||||
.bjui-datagrid .datagrid-toolbar{background-color:#fff9f3;}
|
||||
.bjui-datagrid .table > thead > tr > th:first-child{border-left-color:#fff9f3;}
|
||||
.bjui-datagrid .datagrid-box-h{background-color:#f9f9f9; border-bottom-color:#fdd5bc;}
|
||||
.bjui-datagrid .datagrid-box-f{background-color:#f9f9f9;}
|
||||
.bjui-datagrid .datagrid-box-f .table > thead > tr > th .datagrid-calcbox{color:#ff6601; background-color:#fff6ed;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td,
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-linenumber-td{color:#ff6601;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td:hover{background-color:#fedcc7;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-hover > td{background-color:#fff6ed;}
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn.active,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:focus{background-color:#ff6601;}
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{color:#ff6601;}
|
||||
.bjui-datagrid .table > thead > tr > th.filter-active > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{background-color:#ff6601;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th:hover{background-color:#fff6ed;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th > div > .datagrid-label > i{color:#ff6601;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a{color:#222;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.sort-active a{color:#ff6601;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a:hover,
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.active > a{background-color:#fdd5bc;}
|
||||
.bjui-datagrid .datagrid-filter-box fieldset > span input{border-color:#fdd5bc;}
|
||||
.datagrid-showhide-box > li > a{color:#222;}
|
||||
.datagrid-showhide-box > li > a:hover{background-color:#fdd5bc;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-sortable:hover a:hover{background-color:#ff6601;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-selected-tr > td{background-color:#fedcc7 !important;}
|
||||
.bjui-datagrid > .datagrid-paging-box{background-color:#f9f9f9; border-top:1px #fdd5bc solid;}
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:focus,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:hover{background-color:#ff6601;}
|
||||
.bjui-datagrid > .resizeProxy{background-color:#ff6601;}
|
||||
.datagrid-dialog-edit-form > p:hover{background-color:#fff9f3;}
|
||||
/* Tablefixed */
|
||||
.bjui-tablefixed > .resizeMarker,
|
||||
.bjui-tablefixed > .resizeProxy{background:#fdd5bc;}
|
||||
/* Tabledit */
|
||||
.bjui-tabledit > thead .row-add:hover{color:#FFF; background:#222;}
|
||||
/* Alertmsg */
|
||||
.bjui-alert{background:#fff9f3;}
|
||||
.bjui-alert > .alertContent .alertInner > .msg{border-top: 1px #fefefe solid;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner{border-color:#fdd5bc;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner > h1{color:#222; background-color:#fff6ed; border-bottom:1px #fdd5bc solid;}
|
||||
/* Contextmenu */
|
||||
#bjui-contextmenu ul{background-color:#fff9f3; border:1px solid #fdd5bc;}
|
||||
#bjui-contextmenu li{color:#222; background-color:transparent;}
|
||||
#bjui-contextmenu li:hover{color:#fff; background-color:#fdd5bc;}
|
||||
#bjui-contextmenu li.disabled{color:#999;}
|
||||
#bjui-contextmenu li.disabled:hover{cursor:default; background-color:transparent;}
|
||||
#bjui-contextmenu li.diver{ border-left:none; border-right:none;}
|
||||
#bjui-contextmenu li.diver:hover{background-color:transparent !important; cursor:default;}
|
||||
/* Calendar */
|
||||
#bjui-calendar{border:1px solid #fdd5bc;}
|
||||
#bjui-calendar > .main > a.close{color:#fdd5bc;}
|
||||
#bjui-calendar > .main > a.close:hover{color:#FF0000;}
|
||||
#bjui-calendar > .main > .head{background:#fff6ed; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body{border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .foot{background:#fff9f3; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body > .days > dd.slt{background:#fff6ed; border:1px solid #fdd5bc;}
|
||||
#bjui-calendar > .main > .body > .days > dd:hover{border:1px solid #fdd5bc;}
|
||||
#bjui-calendar > .main > .body > .days > dd.other{color:#fedcc7;}
|
||||
#bjui-calendar > .main > .foot > .time td{border:1px solid #fdd5bc;}
|
||||
#bjui-calendar > .main > .foot > .time .up:hover,
|
||||
#bjui-calendar > .main > .foot > .time .down:hover{color:#FFF; background:#222;}
|
||||
#bjui-calendar > .main > .tm > ul{background-color:#fff9f3; border:1px solid #fdd5bc;}
|
||||
#bjui-calendar > .main > .tm > ul > li:hover{background:#fff6ed;}
|
||||
/* Spinner */
|
||||
.bjui-spinner{border-left-color:#ccc;}
|
||||
.bjui-spinner .up, .bjui-spinner .down{color:#ff6601;}
|
||||
.bjui-spinner .up:hover, .bjui-spinner .down:hover{color:#FFF; background:#222;}
|
||||
/* Lookup */
|
||||
.bjui-lookup:hover{color:#FFF; background:#222;}
|
||||
/* Tags */
|
||||
.bjui-tags > .label-tag{color:#fdd5bc; background-color:#fff9f3;}
|
||||
.bjui-tags > .label-tag:hover,
|
||||
.bjui-tags > .label-tag:focus{background-color:#fff6ed;}
|
||||
.bjui-tags > .tags-menu > .tags-highlight{background-color:#fff6ed;}
|
||||
/* Upload */
|
||||
.bjui-upload > .queue > .item{background-color:#fff9f3;}
|
||||
|
||||
/* ------- plugins ------- */
|
||||
/* iCheck */
|
||||
.icheckbox_minimal-purple,
|
||||
.iradio_minimal-purple{background:url(purple.png) no-repeat;}
|
||||
.icheckbox_minimal-purple{background-position:0 0;} .icheckbox_minimal-purple.hover{background-position:-20px 0;} .icheckbox_minimal-purple.checked{background-position:-40px 0;} .icheckbox_minimal-purple.disabled{background-position:-60px 0; cursor:default;} .icheckbox_minimal-purple.checked.disabled{background-position:-80px 0;}
|
||||
.iradio_minimal-purple{background-position:-100px 0;} .iradio_minimal-purple.hover{background-position:-120px 0;} .iradio_minimal-purple.checked{background-position:-140px 0;} .iradio_minimal-purple.disabled{background-position:-160px 0; cursor:default;} .iradio_minimal-purple.checked.disabled{background-position:-180px 0;}
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (-moz-min-device-pixel-ratio:1.5), only screen and (-o-min-device-pixel-ratio:1.5), only screen and (min-device-pixel-ratio:1.5){.icheckbox_minimal-purple, .iradio_minimal-purple{background-image:url(purple@2x.png); -webkit-background-size:200px 20px; background-size:200px 20px;}}
|
||||
/* zTree */
|
||||
.ztree li a.faicon{color:#222;}
|
||||
.ztree li a:hover{color:#ff6601;}
|
||||
span.tmpzTreeMove_arrow,.ztree .tree_add, .ztree .tree_del,
|
||||
.ztree li span.button{background-image:url(zTreeStandard.png);}
|
||||
.ztree li a.curSelectedNode{background-color:#fff6ed; color:black; border:1px #fdd5bc solid;}
|
||||
.ztree li a.curSelectedNode_Edit{background-color:#fff6ed; color:black; border:1px #fdd5bc solid;}
|
||||
.ztree li a.tmpTargetNode_inner{background-color:#fff6ed; color:white; border:1px #fdd5bc solid;}
|
||||
ul.ztree.zTreeDragUL{background-color:#cfcfcf; border:1px #fdd5bc dotted;}
|
||||
ul.tmpTargetzTree{background-color:#fff6ed;}
|
||||
/* uploadify */
|
||||
.uploadify-button{color:#222 !important; background-color:#fff9f3 !important; border-color:#fdd5bc !important;}
|
||||
@charset "utf-8";
|
||||
body{background:#fff;}
|
||||
a{color:#ff6601; text-decoration:none;}
|
||||
a:hover{color:#222; text-decoration:underline;}
|
||||
fieldset{border-color:#fdd5bc;}
|
||||
/* ------------- bootstrap ------------- */
|
||||
.btn-default{border-color:#fdd5bc;}
|
||||
.btn-default.selectpicker{background-color:#fff;}
|
||||
.btn-default:hover,
|
||||
.btn-default:focus,
|
||||
.btn-default:active,
|
||||
.btn-default.active,
|
||||
.open > .dropdown-toggle.btn-default{background-color:#FDE4CB;}
|
||||
.btn-close, .btn-red, .btn-blue, .btn-green, .btn-blue, .btn-orange{background:#fff9f3;}
|
||||
.dropdown-menu > li.active > a,
|
||||
.dropdown-menu > li.active > a:hover,
|
||||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus{color:#262626; text-decoration:none; background-color:#fff6ed;}
|
||||
.form-control{color:#222; background-color:#ffffff; background-image:none; border:1px solid #cccccc;}
|
||||
.form-control:focus{border-color:#ff6601; -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255,102,1, 0.6); box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255,102,1, 0.6);}
|
||||
.panel-main .panel-heading a:hover{color:#ff6601;}
|
||||
.panel-main .panel-heading:hover{color:#ff6601; background-color:#FFF; border-left-color:#ff6601;}
|
||||
.panel-main .panel-heading.active{color:#ff6601; background-color:#FFF; border-left-color:#ff6601;}
|
||||
.nav-tabs{border-bottom-color:#fdd5bc;}
|
||||
.nav-tabs > li > a{background-color:#fff9f3; border-bottom-color:#fdd5bc;}
|
||||
.nav-tabs > li > a:hover,
|
||||
.nav-tabs > li.active > a,
|
||||
.nav-tabs > li.active > a:hover,
|
||||
.nav-tabs > li.active > a:focus{border-color:#fdd5bc; border-bottom-color:#FFF;}
|
||||
.tab-content{border-color:#fdd5bc;}
|
||||
.table > thead > tr > th{background:#f9f9f9; border-bottom-color:#fdd5bc;}
|
||||
.table-hover > tbody > tr:hover > td,
|
||||
.table-hover > tbody > tr:hover > th{background-color:#fff6ed;}
|
||||
.table > thead > tr > th.orderby a.order{color:#CCC;}
|
||||
.table > thead > tr > th.orderby.asc a.order.asc,
|
||||
.table > thead > tr > th.orderby.desc a.order.desc,
|
||||
.table > thead > tr > th.orderby a.order:hover{color:#FFF!important; background:#ff6601;}
|
||||
.table > tbody > tr.selected > td{background-color:#fedcc7;}
|
||||
/* Main */
|
||||
#bjui-header{background:#fdd5bc url(topbg.png); border-bottom:2px #ff6601 solid;}
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:focus,
|
||||
#bjui-header > .bjui-navbar-header > .bjui-navbar-toggle:hover{background:#ff6601;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li{border-right:1px #DC8E70 solid;}
|
||||
#bjui-header > #bjui-navbar-collapse > .bjui-navbar-right > li > a:hover{background:#ff6601;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li{background-color:#fff6ed; border-top:1px #fff solid; border-right:1px #ccc solid; border-left:1px #fff9f3 solid;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover{background-color:#fff9f3;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open > a{color:#fff !important;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active a{color:#fff; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li:hover a{color:#222; -webkit-transition:none; -moz-transition:none; -o-transition:none; transition:none;}
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.open:hover,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active,
|
||||
#bjui-hnav #bjui-hnav-navbar > li.active:hover{background-color:#ff6601; border-color:#ff6601;}
|
||||
#bjui-sidebar.shadown{box-shadow:2px 0 5px rgba(255,102,1, 0.5);}
|
||||
#bjui-sidebar{background:#fafafa; border-color:#fdd5bc; border-bottom:1px #fdd5bc solid;}
|
||||
#bjui-sidebar > .toggleCollapse{background:#fff6ed;}
|
||||
#bjui-sidebar > .toggleCollapse .lock{color:#ff6601; background:#fff6ed;}
|
||||
#bjui-sidebar > .toggleCollapse .lock:hover{color:#fff9f3; background:#ff6601;}
|
||||
#bjui-sidebar-s > .collapse{background:#fff9f3; border:1px #fdd5bc solid;}
|
||||
#bjui-sidebar-s > .collapse:hover{background:#ff6601; border-color:#ff6601;}
|
||||
#bjui-splitBar{background:#fff9f3;}
|
||||
#bjui-splitBarProxy{border-color:#c0c0c0; background:#fff9f3;}
|
||||
/* Left menus */
|
||||
.menu-items li > a{color:#222;}
|
||||
.menu-items li > a:hover{background-color:#fff9f3;}
|
||||
.menu-items li.active{background-color:#fafafa;}
|
||||
.menu-items li.active > a{color:#222;}
|
||||
.menu-items li.active.switch > a{font-weight:bold; background-color:#fff6ed;}
|
||||
.menu-items li.open > a{color:#ff6601;}
|
||||
/* Pages */
|
||||
.bjui-pageHeader{background:#fff6ed; border-bottom:1px #fdd5bc solid;}
|
||||
.bjui-pageHeader .bjui-moreSearch{background:#fff9f3; border-bottom:1px #fdd5bc solid;}
|
||||
.bjui-pageHeader .showMoreSearch:hover{color:#ff6601;}
|
||||
.bjui-pageFooter{background:#fff6ed; border-top:1px #fdd5bc solid;}
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > a,
|
||||
.bjui-pageFooter > .pagination-box > ul > .selected > span{color:#ffffff; background-color:#ff6601; border-color:#fff6ed;}
|
||||
/* MaskProgress */
|
||||
.bjui-maskProgress{color:#222; background:#FAFAFA; border:2px solid #fdd5bc;}
|
||||
/* Navtab */
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore{background-color:#fff9f3; border:1px #fdd5bc solid;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsMore:hover{color:#fff9f3; background-color:#222;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled{color:#999; border-color:#fedcc7; border-bottom-color:#fdd5bc;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsLeft.tabsLeftDisabled:hover,
|
||||
#bjui-navtab > .tabsPageHeader > .tabsRight.tabsRightDisabled:hover{background:#fff9f3;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav{border-bottom-color:#fdd5bc;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a{color:#222; background-color:#fff9f3; border-color:#eee; border-bottom-color:#fdd5bc;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li > a:hover{color:#222; background:#fff6ed; border-color:#fdd5bc; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.active > a{color:#222; font-weight:bold; background:#FFF; border-color:#fdd5bc; border-bottom-color:transparent;}
|
||||
#bjui-navtab > .tabsPageHeader > .tabsPageHeaderContent > .nav > li.navtab-drag > a{background:#fff6ed;}
|
||||
#bjui-navtab > .tabsMoreList{background:#fff9f3; border-color:#fdd5bc;}
|
||||
#bjui-navtab > .tabsMoreList > li > a:hover{color:#222; background:#fff6ed;}
|
||||
#bjui-navtab > .tabsMoreList > li.active > a{font-weight:bold; background:#fff6ed;}
|
||||
#bjui-navtab > .tabsPageContent{background:#fefefe; border-color:#fdd5bc;}
|
||||
/* Dialog */
|
||||
.bjui-dialog{background:#fff9f3; border:1px #DDD solid;}
|
||||
.bjui-dialog.dialogShadow{-webkit-box-shadow:0 3px 9px rgba(255,102,1, 0.9); box-shadow:0 3px 9px rgba(255,102,1, 0.9);}
|
||||
.bjui-dialog > .dialogHeader{background:#fff6ed; border-bottom:1px #fdd5bc solid;}
|
||||
.bjui-dialog > .dialogHeader a{color:#222 !important;}
|
||||
.bjui-dialog > .dialogHeader a:hover{color:#ff6601 !important;}
|
||||
.bjui-dialog > .dialogHeader h1{color:#222;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageHeader{margin-bottom:0; border:1px #fdd5bc solid; border-bottom:none;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageContent{background-color:#fff; border:1px #fdd5bc solid;}
|
||||
.bjui-dialog > .dialogContent .bjui-pageFooter{border:1px #fdd5bc solid; border-top:none;}
|
||||
/* Dialog resizable */
|
||||
.bjui-resizable{border-color:#fdd5bc; background:#fff9f3;}
|
||||
/* Taskbar */
|
||||
#bjui-taskbar{background:#222;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li{background:#fff9f3;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .taskbutton{color:#222;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover{background:#fff6ed;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li.selected > .taskbutton,
|
||||
#bjui-taskbar > .taskbarContent > ul > li:hover > .taskbutton{color:#ff6601;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close{color:#fdd5bc;}
|
||||
#bjui-taskbar > .taskbarContent > ul > li > .close:hover{color:#FF0000;}
|
||||
#bjui-taskbar > .taskbarLeft, #bjui-taskbar > .taskbarRight{background:#fff9f3;}
|
||||
#bjui-taskbar > .taskbarLeft:hover,
|
||||
#bjui-taskbar > .taskbarRight:hover{color:#FFF; background:#222;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled,
|
||||
#bjui-taskbar > .taskbarRight.disabled{color:#999; background:#fff9f3;}
|
||||
#bjui-taskbar > .taskbarLeft.disabled:hover,
|
||||
#bjui-taskbar > .taskbarRight.disabled:hover{color:#999; background:#fff9f3;}
|
||||
/* datagrid */
|
||||
.bjui-datagrid .datagrid-title{color:#222; background-color:#fff6ed;}
|
||||
.bjui-datagrid .datagrid-toolbar{background-color:#fff9f3;}
|
||||
.bjui-datagrid .table > thead > tr > th:first-child{border-left-color:#fff9f3;}
|
||||
.bjui-datagrid .datagrid-box-h{background-color:#f9f9f9; border-bottom-color:#fdd5bc;}
|
||||
.bjui-datagrid .datagrid-box-f{background-color:#f9f9f9;}
|
||||
.bjui-datagrid .datagrid-box-f .table > thead > tr > th .datagrid-calcbox{color:#ff6601; background-color:#fff6ed;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td,
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-linenumber-td{color:#ff6601;}
|
||||
.bjui-datagrid .table > tbody > tr > td.datagrid-child-td:hover{background-color:#fedcc7;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-hover > td{background-color:#fff6ed;}
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn.active,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:hover,
|
||||
.bjui-datagrid .table > thead > tr > th > div > .datagrid-cell > .datagrid-column-menu-btn > .btn:focus{background-color:#ff6601;}
|
||||
.bjui-datagrid .table > thead > tr > th:hover > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{color:#ff6601;}
|
||||
.bjui-datagrid .table > thead > tr > th.filter-active > div > .datagrid-cell > .datagrid-column-menu-btn > .btn{background-color:#ff6601;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th:hover{background-color:#fff6ed;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-quicksort-th > div > .datagrid-label > i{color:#ff6601;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a{color:#222;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.sort-active a{color:#ff6601;}
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li > a:hover,
|
||||
.bjui-datagrid > .datagrid-menu-box > ul > li.active > a{background-color:#fdd5bc;}
|
||||
.bjui-datagrid .datagrid-filter-box fieldset > span input{border-color:#fdd5bc;}
|
||||
.datagrid-showhide-box > li > a{color:#222;}
|
||||
.datagrid-showhide-box > li > a:hover{background-color:#fdd5bc;}
|
||||
.bjui-datagrid .table > thead > tr > th.datagrid-sortable:hover a:hover{background-color:#ff6601;}
|
||||
.bjui-datagrid .table > tbody > tr.datagrid-selected-tr > td{background-color:#fedcc7 !important;}
|
||||
.bjui-datagrid > .datagrid-paging-box{background-color:#f9f9f9; border-top:1px #fdd5bc solid;}
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:focus,
|
||||
.bjui-datagrid > .datagrid-paging-box > .paging-content > .datagrid-paging > .pagination > li.active > a:hover{background-color:#ff6601;}
|
||||
.bjui-datagrid > .resizeProxy{background-color:#ff6601;}
|
||||
.datagrid-dialog-edit-form > p:hover{background-color:#fff9f3;}
|
||||
/* Tablefixed */
|
||||
.bjui-tablefixed > .resizeMarker,
|
||||
.bjui-tablefixed > .resizeProxy{background:#fdd5bc;}
|
||||
/* Tabledit */
|
||||
.bjui-tabledit > thead .row-add:hover{color:#FFF; background:#222;}
|
||||
/* Alertmsg */
|
||||
.bjui-alert{background:#fff9f3;}
|
||||
.bjui-alert > .alertContent .alertInner > .msg{border-top: 1px #fefefe solid;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner{border-color:#fdd5bc;}
|
||||
.bjui-alert > .alertContent > .info > .alertInner > h1{color:#222; background-color:#fff6ed; border-bottom:1px #fdd5bc solid;}
|
||||
/* Contextmenu */
|
||||
#bjui-contextmenu ul{background-color:#fff9f3; border:1px solid #fdd5bc;}
|
||||
#bjui-contextmenu li{color:#222; background-color:transparent;}
|
||||
#bjui-contextmenu li:hover{color:#fff; background-color:#fdd5bc;}
|
||||
#bjui-contextmenu li.disabled{color:#999;}
|
||||
#bjui-contextmenu li.disabled:hover{cursor:default; background-color:transparent;}
|
||||
#bjui-contextmenu li.diver{ border-left:none; border-right:none;}
|
||||
#bjui-contextmenu li.diver:hover{background-color:transparent !important; cursor:default;}
|
||||
/* Calendar */
|
||||
#bjui-calendar{border:1px solid #fdd5bc;}
|
||||
#bjui-calendar > .main > a.close{color:#fdd5bc;}
|
||||
#bjui-calendar > .main > a.close:hover{color:#FF0000;}
|
||||
#bjui-calendar > .main > .head{background:#fff6ed; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body{border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .foot{background:#fff9f3; border:1px solid #e3dced;}
|
||||
#bjui-calendar > .main > .body > .days > dd.slt{background:#fff6ed; border:1px solid #fdd5bc;}
|
||||
#bjui-calendar > .main > .body > .days > dd:hover{border:1px solid #fdd5bc;}
|
||||
#bjui-calendar > .main > .body > .days > dd.other{color:#fedcc7;}
|
||||
#bjui-calendar > .main > .foot > .time td{border:1px solid #fdd5bc;}
|
||||
#bjui-calendar > .main > .foot > .time .up:hover,
|
||||
#bjui-calendar > .main > .foot > .time .down:hover{color:#FFF; background:#222;}
|
||||
#bjui-calendar > .main > .tm > ul{background-color:#fff9f3; border:1px solid #fdd5bc;}
|
||||
#bjui-calendar > .main > .tm > ul > li:hover{background:#fff6ed;}
|
||||
/* Spinner */
|
||||
.bjui-spinner{border-left-color:#ccc;}
|
||||
.bjui-spinner .up, .bjui-spinner .down{color:#ff6601;}
|
||||
.bjui-spinner .up:hover, .bjui-spinner .down:hover{color:#FFF; background:#222;}
|
||||
/* Lookup */
|
||||
.bjui-lookup:hover{color:#FFF; background:#222;}
|
||||
/* Tags */
|
||||
.bjui-tags > .label-tag{color:#fdd5bc; background-color:#fff9f3;}
|
||||
.bjui-tags > .label-tag:hover,
|
||||
.bjui-tags > .label-tag:focus{background-color:#fff6ed;}
|
||||
.bjui-tags > .tags-menu > .tags-highlight{background-color:#fff6ed;}
|
||||
/* Upload */
|
||||
.bjui-upload > .queue > .item{background-color:#fff9f3;}
|
||||
|
||||
/* ------- plugins ------- */
|
||||
/* iCheck */
|
||||
.icheckbox_minimal-purple,
|
||||
.iradio_minimal-purple{background:url(purple.png) no-repeat;}
|
||||
.icheckbox_minimal-purple{background-position:0 0;} .icheckbox_minimal-purple.hover{background-position:-20px 0;} .icheckbox_minimal-purple.checked{background-position:-40px 0;} .icheckbox_minimal-purple.disabled{background-position:-60px 0; cursor:default;} .icheckbox_minimal-purple.checked.disabled{background-position:-80px 0;}
|
||||
.iradio_minimal-purple{background-position:-100px 0;} .iradio_minimal-purple.hover{background-position:-120px 0;} .iradio_minimal-purple.checked{background-position:-140px 0;} .iradio_minimal-purple.disabled{background-position:-160px 0; cursor:default;} .iradio_minimal-purple.checked.disabled{background-position:-180px 0;}
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (-moz-min-device-pixel-ratio:1.5), only screen and (-o-min-device-pixel-ratio:1.5), only screen and (min-device-pixel-ratio:1.5){.icheckbox_minimal-purple, .iradio_minimal-purple{background-image:url(purple@2x.png); -webkit-background-size:200px 20px; background-size:200px 20px;}}
|
||||
/* zTree */
|
||||
.ztree li a.faicon{color:#222;}
|
||||
.ztree li a:hover{color:#ff6601;}
|
||||
span.tmpzTreeMove_arrow,.ztree .tree_add, .ztree .tree_del,
|
||||
.ztree li span.button{background-image:url(zTreeStandard.png);}
|
||||
.ztree li a.curSelectedNode{background-color:#fff6ed; color:black; border:1px #fdd5bc solid;}
|
||||
.ztree li a.curSelectedNode_Edit{background-color:#fff6ed; color:black; border:1px #fdd5bc solid;}
|
||||
.ztree li a.tmpTargetNode_inner{background-color:#fff6ed; color:white; border:1px #fdd5bc solid;}
|
||||
ul.ztree.zTreeDragUL{background-color:#cfcfcf; border:1px #fdd5bc dotted;}
|
||||
ul.tmpTargetzTree{background-color:#fff6ed;}
|
||||
/* uploadify */
|
||||
.uploadify-button{color:#222 !important; background-color:#fff9f3 !important; border-color:#fdd5bc !important;}
|
||||
.uploadify:hover .uploadify-button{color:#FFF !important; background-color:#fdd5bc !important; border-color:#fdd5bc !important;}
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 136 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
@ -1,370 +1,370 @@
|
||||
// jQuery List DragSort v0.5.1
|
||||
// Website: http://dragsort.codeplex.com/
|
||||
// License: http://dragsort.codeplex.com/license
|
||||
|
||||
(function($) {
|
||||
|
||||
$.fn.dragsort = function(options) {
|
||||
if (options == "destroy") {
|
||||
var $selector = ($(this.selector).length) ? $(this.selector) : $(this);
|
||||
$selector.trigger("dragsort-uninit");
|
||||
return;
|
||||
}
|
||||
|
||||
var opts = $.extend({}, $.fn.dragsort.defaults, options);
|
||||
var lists = [];
|
||||
var list = null, lastPos = null;
|
||||
|
||||
this.each(function(i, cont) {
|
||||
|
||||
//if list container is table, the browser automatically wraps rows in tbody if not specified so change list container to tbody so that children returns rows as user expected
|
||||
if ($(cont).is("table") && $(cont).children().size() == 1 && $(cont).children().is("tbody"))
|
||||
cont = $(cont).children().get(0);
|
||||
|
||||
var newList = {
|
||||
draggedItem: null,
|
||||
placeHolderItem: null,
|
||||
pos: null,
|
||||
offset: null,
|
||||
offsetLimit: null,
|
||||
scroll: null,
|
||||
container: cont,
|
||||
|
||||
init: function() {
|
||||
//set options to default values if not set
|
||||
var tagName = $(this.container).children().size() == 0 ? "li" : $(this.container).children(":first").get(0).tagName.toLowerCase();
|
||||
if (opts.itemSelector == "")
|
||||
opts.itemSelector = tagName;
|
||||
if (opts.dragSelector == "")
|
||||
opts.dragSelector = tagName;
|
||||
if (opts.placeHolderTemplate == "")
|
||||
opts.placeHolderTemplate = "<" + tagName + "> </" + tagName + ">";
|
||||
|
||||
//listidx allows reference back to correct list variable instance
|
||||
$(this.container).attr("data-listidx", i).mousedown(this.grabItem).bind("dragsort-uninit", this.uninit);
|
||||
this.styleDragHandlers(true);
|
||||
},
|
||||
|
||||
uninit: function() {
|
||||
var list = lists[$(this).attr("data-listidx")];
|
||||
$(list.container).unbind("mousedown", list.grabItem).unbind("dragsort-uninit");
|
||||
list.styleDragHandlers(false);
|
||||
},
|
||||
|
||||
getItems: function() {
|
||||
return $(this.container).children(opts.itemSelector);
|
||||
},
|
||||
|
||||
styleDragHandlers: function(cursor) {
|
||||
this.getItems().map(function() { return $(this).is(opts.dragSelector) ? this : $(this).find(opts.dragSelector).get(); }).css("cursor", cursor ? "pointer" : "");
|
||||
},
|
||||
|
||||
grabItem: function(e) {
|
||||
//if not left click or if clicked on excluded element (e.g. text box) or not a moveable list item return
|
||||
if (e.which != 1 || $(e.target).is(opts.dragSelectorExclude) || $(e.target).closest(opts.dragSelectorExclude).size() > 0 || $(e.target).closest(opts.itemSelector).size() == 0)
|
||||
return;
|
||||
|
||||
//prevents selection, stops issue on Fx where dragging hyperlink doesn't work and on IE where it triggers mousemove even though mouse hasn't moved,
|
||||
//does also stop being able to click text boxes hence dragging on text boxes by default is disabled in dragSelectorExclude
|
||||
e.preventDefault();
|
||||
|
||||
//change cursor to move while dragging
|
||||
var dragHandle = e.target;
|
||||
while (!$(dragHandle).is(opts.dragSelector)) {
|
||||
if (dragHandle == this) return;
|
||||
dragHandle = dragHandle.parentNode;
|
||||
}
|
||||
$(dragHandle).attr("data-cursor", $(dragHandle).css("cursor"));
|
||||
$(dragHandle).css("cursor", "move");
|
||||
|
||||
//on mousedown wait for movement of mouse before triggering dragsort script (dragStart) to allow clicking of hyperlinks to work
|
||||
var list = lists[$(this).attr("data-listidx")];
|
||||
var item = this;
|
||||
var trigger = function() {
|
||||
list.dragStart.call(item, e);
|
||||
$(list.container).unbind("mousemove", trigger);
|
||||
};
|
||||
$(list.container).mousemove(trigger).mouseup(function() { $(list.container).unbind("mousemove", trigger); $(dragHandle).css("cursor", $(dragHandle).attr("data-cursor")); });
|
||||
},
|
||||
|
||||
dragStart: function(e) {
|
||||
if (list != null && list.draggedItem != null)
|
||||
list.dropItem();
|
||||
|
||||
list = lists[$(this).attr("data-listidx")];
|
||||
list.draggedItem = $(e.target).closest(opts.itemSelector);
|
||||
|
||||
//record current position so on dragend we know if the dragged item changed position or not
|
||||
list.draggedItem.attr("data-origpos", $(this).attr("data-listidx") + "-" + list.getItems().index(list.draggedItem));
|
||||
|
||||
//calculate mouse offset relative to draggedItem
|
||||
var mt = parseInt(list.draggedItem.css("marginTop"));
|
||||
var ml = parseInt(list.draggedItem.css("marginLeft"));
|
||||
list.offset = list.draggedItem.offset();
|
||||
list.offset.top = e.pageY - list.offset.top + (isNaN(mt) ? 0 : mt) - 1;
|
||||
list.offset.left = e.pageX - list.offset.left + (isNaN(ml) ? 0 : ml) - 1;
|
||||
|
||||
//calculate box the dragged item can't be dragged outside of
|
||||
if (!opts.dragBetween) {
|
||||
var containerHeight = $(list.container).outerHeight() == 0 ? Math.max(1, Math.round(0.5 + list.getItems().size() * list.draggedItem.outerWidth() / $(list.container).outerWidth())) * list.draggedItem.outerHeight() : $(list.container).outerHeight();
|
||||
list.offsetLimit = $(list.container).offset();
|
||||
list.offsetLimit.right = list.offsetLimit.left + $(list.container).outerWidth() - list.draggedItem.outerWidth();
|
||||
list.offsetLimit.bottom = list.offsetLimit.top + containerHeight - list.draggedItem.outerHeight();
|
||||
}
|
||||
|
||||
//create placeholder item
|
||||
var h = list.draggedItem.height();
|
||||
var w = list.draggedItem.width();
|
||||
if (opts.itemSelector == "tr") {
|
||||
list.draggedItem.children().each(function() { $(this).width($(this).width()); });
|
||||
list.placeHolderItem = list.draggedItem.clone().attr("data-placeholder", true);
|
||||
list.draggedItem.after(list.placeHolderItem);
|
||||
list.placeHolderItem.children().each(function() { $(this).css({ borderWidth:0, width: $(this).width() + 1, height: $(this).height() + 1 }).html(" "); });
|
||||
} else {
|
||||
list.draggedItem.after(opts.placeHolderTemplate);
|
||||
list.placeHolderItem = list.draggedItem.next().css({ height: h, width: w }).attr("data-placeholder", true);
|
||||
}
|
||||
|
||||
if (opts.itemSelector == "td") {
|
||||
var listTable = list.draggedItem.closest("table").get(0);
|
||||
$("<table id='" + listTable.id + "' style='border-width: 0px;' class='dragSortItem " + listTable.className + "'><tr></tr></table>").appendTo("body").children().append(list.draggedItem);
|
||||
}
|
||||
|
||||
//style draggedItem while dragging
|
||||
var orig = list.draggedItem.attr("style");
|
||||
list.draggedItem.attr("data-origstyle", orig ? orig : "");
|
||||
list.draggedItem.css({ position: "absolute", opacity: 0.8, "z-index": 999, height: h, width: w });
|
||||
|
||||
//auto-scroll setup
|
||||
list.scroll = { moveX: 0, moveY: 0, maxX: $(document).width() - $(window).width(), maxY: $(document).height() - $(window).height() };
|
||||
list.scroll.scrollY = window.setInterval(function() {
|
||||
if (opts.scrollContainer != window) {
|
||||
$(opts.scrollContainer).scrollTop($(opts.scrollContainer).scrollTop() + list.scroll.moveY);
|
||||
return;
|
||||
}
|
||||
var t = $(opts.scrollContainer).scrollTop();
|
||||
if (list.scroll.moveY > 0 && t < list.scroll.maxY || list.scroll.moveY < 0 && t > 0) {
|
||||
$(opts.scrollContainer).scrollTop(t + list.scroll.moveY);
|
||||
list.draggedItem.css("top", list.draggedItem.offset().top + list.scroll.moveY + 1);
|
||||
}
|
||||
}, 10);
|
||||
list.scroll.scrollX = window.setInterval(function() {
|
||||
if (opts.scrollContainer != window) {
|
||||
$(opts.scrollContainer).scrollLeft($(opts.scrollContainer).scrollLeft() + list.scroll.moveX);
|
||||
return;
|
||||
}
|
||||
var l = $(opts.scrollContainer).scrollLeft();
|
||||
if (list.scroll.moveX > 0 && l < list.scroll.maxX || list.scroll.moveX < 0 && l > 0) {
|
||||
$(opts.scrollContainer).scrollLeft(l + list.scroll.moveX);
|
||||
list.draggedItem.css("left", list.draggedItem.offset().left + list.scroll.moveX + 1);
|
||||
}
|
||||
}, 10);
|
||||
|
||||
//misc
|
||||
$(lists).each(function(i, l) { l.createDropTargets(); l.buildPositionTable(); });
|
||||
list.setPos(e.pageX, e.pageY);
|
||||
$(document).bind("mousemove", list.swapItems);
|
||||
$(document).bind("mouseup", list.dropItem);
|
||||
if (opts.scrollContainer != window)
|
||||
$(window).bind("DOMMouseScroll mousewheel", list.wheel);
|
||||
},
|
||||
|
||||
//set position of draggedItem
|
||||
setPos: function(x, y) {
|
||||
//remove mouse offset so mouse cursor remains in same place on draggedItem instead of top left corner
|
||||
var top = y - this.offset.top;
|
||||
var left = x - this.offset.left;
|
||||
|
||||
//limit top, left to within box draggedItem can't be dragged outside of
|
||||
if (!opts.dragBetween) {
|
||||
top = Math.min(this.offsetLimit.bottom, Math.max(top, this.offsetLimit.top));
|
||||
left = Math.min(this.offsetLimit.right, Math.max(left, this.offsetLimit.left));
|
||||
}
|
||||
|
||||
//adjust top, left calculations to parent element instead of window if it's relative or absolute
|
||||
this.draggedItem.parents().each(function() {
|
||||
if ($(this).css("position") != "static" && (!$.browser.mozilla || $(this).css("display") != "table")) {
|
||||
var offset = $(this).offset();
|
||||
top -= offset.top;
|
||||
left -= offset.left;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
//set x or y auto-scroll amount
|
||||
if (opts.scrollContainer == window) {
|
||||
y -= $(window).scrollTop();
|
||||
x -= $(window).scrollLeft();
|
||||
y = Math.max(0, y - $(window).height() + 5) + Math.min(0, y - 5);
|
||||
x = Math.max(0, x - $(window).width() + 5) + Math.min(0, x - 5);
|
||||
} else {
|
||||
var cont = $(opts.scrollContainer);
|
||||
var offset = cont.offset();
|
||||
y = Math.max(0, y - cont.height() - offset.top) + Math.min(0, y - offset.top);
|
||||
x = Math.max(0, x - cont.width() - offset.left) + Math.min(0, x - offset.left);
|
||||
}
|
||||
|
||||
list.scroll.moveX = x == 0 ? 0 : x * opts.scrollSpeed / Math.abs(x);
|
||||
list.scroll.moveY = y == 0 ? 0 : y * opts.scrollSpeed / Math.abs(y);
|
||||
|
||||
//move draggedItem to new mouse cursor location
|
||||
this.draggedItem.css({ top: top, left: left });
|
||||
},
|
||||
|
||||
//if scroll container is a div allow mouse wheel to scroll div instead of window when mouse is hovering over
|
||||
wheel: function(e) {
|
||||
if (($.browser.safari || $.browser.mozilla) && list && opts.scrollContainer != window) {
|
||||
var cont = $(opts.scrollContainer);
|
||||
var offset = cont.offset();
|
||||
if (e.pageX > offset.left && e.pageX < offset.left + cont.width() && e.pageY > offset.top && e.pageY < offset.top + cont.height()) {
|
||||
var delta = e.detail ? e.detail * 5 : e.wheelDelta / -2;
|
||||
cont.scrollTop(cont.scrollTop() + delta);
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
//build a table recording all the positions of the moveable list items
|
||||
buildPositionTable: function() {
|
||||
var pos = [];
|
||||
this.getItems().not([list.draggedItem[0], list.placeHolderItem[0]]).each(function(i) {
|
||||
var loc = $(this).offset();
|
||||
loc.right = loc.left + $(this).outerWidth();
|
||||
loc.bottom = loc.top + $(this).outerHeight();
|
||||
loc.elm = this;
|
||||
pos[i] = loc;
|
||||
});
|
||||
this.pos = pos;
|
||||
},
|
||||
|
||||
dropItem: function() {
|
||||
if (list.draggedItem == null)
|
||||
return;
|
||||
|
||||
//list.draggedItem.attr("style", "") doesn't work on IE8 and jQuery 1.5 or lower
|
||||
//list.draggedItem.removeAttr("style") doesn't work on chrome and jQuery 1.6 (works jQuery 1.5 or lower)
|
||||
var orig = list.draggedItem.attr("data-origstyle");
|
||||
list.draggedItem.attr("style", orig);
|
||||
if (orig == "")
|
||||
list.draggedItem.removeAttr("style");
|
||||
list.draggedItem.removeAttr("data-origstyle");
|
||||
|
||||
list.styleDragHandlers(true);
|
||||
|
||||
list.placeHolderItem.before(list.draggedItem);
|
||||
list.placeHolderItem.remove();
|
||||
|
||||
$("[data-droptarget], .dragSortItem").remove();
|
||||
|
||||
window.clearInterval(list.scroll.scrollY);
|
||||
window.clearInterval(list.scroll.scrollX);
|
||||
|
||||
//if position changed call dragEnd
|
||||
if (list.draggedItem.attr("data-origpos") != $(lists).index(list) + "-" + list.getItems().index(list.draggedItem))
|
||||
opts.dragEnd.apply(list.draggedItem);
|
||||
list.draggedItem.removeAttr("data-origpos");
|
||||
|
||||
list.draggedItem = null;
|
||||
$(document).unbind("mousemove", list.swapItems);
|
||||
$(document).unbind("mouseup", list.dropItem);
|
||||
if (opts.scrollContainer != window)
|
||||
$(window).unbind("DOMMouseScroll mousewheel", list.wheel);
|
||||
return false;
|
||||
},
|
||||
|
||||
//swap the draggedItem (represented visually by placeholder) with the list item the it has been dragged on top of
|
||||
swapItems: function(e) {
|
||||
if (list.draggedItem == null)
|
||||
return false;
|
||||
|
||||
//move draggedItem to mouse location
|
||||
list.setPos(e.pageX, e.pageY);
|
||||
|
||||
//retrieve list and item position mouse cursor is over
|
||||
var ei = list.findPos(e.pageX, e.pageY);
|
||||
var nlist = list;
|
||||
for (var i = 0; ei == -1 && opts.dragBetween && i < lists.length; i++) {
|
||||
ei = lists[i].findPos(e.pageX, e.pageY);
|
||||
nlist = lists[i];
|
||||
}
|
||||
|
||||
//if not over another moveable list item return
|
||||
if (ei == -1)
|
||||
return false;
|
||||
|
||||
//save fixed items locations
|
||||
var children = function() { return $(nlist.container).children().not(nlist.draggedItem); };
|
||||
var fixed = children().not(opts.itemSelector).each(function(i) { this.idx = children().index(this); });
|
||||
|
||||
//if moving draggedItem up or left place placeHolder before list item the dragged item is hovering over otherwise place it after
|
||||
if (lastPos == null || lastPos.top > list.draggedItem.offset().top || lastPos.left > list.draggedItem.offset().left)
|
||||
$(nlist.pos[ei].elm).before(list.placeHolderItem);
|
||||
else
|
||||
$(nlist.pos[ei].elm).after(list.placeHolderItem);
|
||||
|
||||
//restore fixed items location
|
||||
fixed.each(function() {
|
||||
var elm = children().eq(this.idx).get(0);
|
||||
if (this != elm && children().index(this) < this.idx)
|
||||
$(this).insertAfter(elm);
|
||||
else if (this != elm)
|
||||
$(this).insertBefore(elm);
|
||||
});
|
||||
|
||||
//misc
|
||||
$(lists).each(function(i, l) { l.createDropTargets(); l.buildPositionTable(); });
|
||||
lastPos = list.draggedItem.offset();
|
||||
return false;
|
||||
},
|
||||
|
||||
//returns the index of the list item the mouse is over
|
||||
findPos: function(x, y) {
|
||||
for (var i = 0; i < this.pos.length; i++) {
|
||||
if (this.pos[i].left < x && this.pos[i].right > x && this.pos[i].top < y && this.pos[i].bottom > y)
|
||||
return i;
|
||||
}
|
||||
return -1;
|
||||
},
|
||||
|
||||
//create drop targets which are placeholders at the end of other lists to allow dragging straight to the last position
|
||||
createDropTargets: function() {
|
||||
if (!opts.dragBetween)
|
||||
return;
|
||||
|
||||
$(lists).each(function() {
|
||||
var ph = $(this.container).find("[data-placeholder]");
|
||||
var dt = $(this.container).find("[data-droptarget]");
|
||||
if (ph.size() > 0 && dt.size() > 0)
|
||||
dt.remove();
|
||||
else if (ph.size() == 0 && dt.size() == 0) {
|
||||
if (opts.itemSelector == "td")
|
||||
$(opts.placeHolderTemplate).attr("data-droptarget", true).appendTo(this.container);
|
||||
else
|
||||
//list.placeHolderItem.clone().removeAttr("data-placeholder") crashes in IE7 and jquery 1.5.1 (doesn't in jquery 1.4.2 or IE8)
|
||||
$(this.container).append(list.placeHolderItem.removeAttr("data-placeholder").clone().attr("data-droptarget", true));
|
||||
|
||||
list.placeHolderItem.attr("data-placeholder", true);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
newList.init();
|
||||
lists.push(newList);
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
$.fn.dragsort.defaults = {
|
||||
itemSelector: "",
|
||||
dragSelector: "",
|
||||
dragSelectorExclude: "input, textarea",
|
||||
dragEnd: function() { },
|
||||
dragBetween: false,
|
||||
placeHolderTemplate: "",
|
||||
scrollContainer: window,
|
||||
scrollSpeed: 5
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
// jQuery List DragSort v0.5.1
|
||||
// Website: http://dragsort.codeplex.com/
|
||||
// License: http://dragsort.codeplex.com/license
|
||||
|
||||
(function($) {
|
||||
|
||||
$.fn.dragsort = function(options) {
|
||||
if (options == "destroy") {
|
||||
var $selector = ($(this.selector).length) ? $(this.selector) : $(this);
|
||||
$selector.trigger("dragsort-uninit");
|
||||
return;
|
||||
}
|
||||
|
||||
var opts = $.extend({}, $.fn.dragsort.defaults, options);
|
||||
var lists = [];
|
||||
var list = null, lastPos = null;
|
||||
|
||||
this.each(function(i, cont) {
|
||||
|
||||
//if list container is table, the browser automatically wraps rows in tbody if not specified so change list container to tbody so that children returns rows as user expected
|
||||
if ($(cont).is("table") && $(cont).children().size() == 1 && $(cont).children().is("tbody"))
|
||||
cont = $(cont).children().get(0);
|
||||
|
||||
var newList = {
|
||||
draggedItem: null,
|
||||
placeHolderItem: null,
|
||||
pos: null,
|
||||
offset: null,
|
||||
offsetLimit: null,
|
||||
scroll: null,
|
||||
container: cont,
|
||||
|
||||
init: function() {
|
||||
//set options to default values if not set
|
||||
var tagName = $(this.container).children().size() == 0 ? "li" : $(this.container).children(":first").get(0).tagName.toLowerCase();
|
||||
if (opts.itemSelector == "")
|
||||
opts.itemSelector = tagName;
|
||||
if (opts.dragSelector == "")
|
||||
opts.dragSelector = tagName;
|
||||
if (opts.placeHolderTemplate == "")
|
||||
opts.placeHolderTemplate = "<" + tagName + "> </" + tagName + ">";
|
||||
|
||||
//listidx allows reference back to correct list variable instance
|
||||
$(this.container).attr("data-listidx", i).mousedown(this.grabItem).bind("dragsort-uninit", this.uninit);
|
||||
this.styleDragHandlers(true);
|
||||
},
|
||||
|
||||
uninit: function() {
|
||||
var list = lists[$(this).attr("data-listidx")];
|
||||
$(list.container).unbind("mousedown", list.grabItem).unbind("dragsort-uninit");
|
||||
list.styleDragHandlers(false);
|
||||
},
|
||||
|
||||
getItems: function() {
|
||||
return $(this.container).children(opts.itemSelector);
|
||||
},
|
||||
|
||||
styleDragHandlers: function(cursor) {
|
||||
this.getItems().map(function() { return $(this).is(opts.dragSelector) ? this : $(this).find(opts.dragSelector).get(); }).css("cursor", cursor ? "pointer" : "");
|
||||
},
|
||||
|
||||
grabItem: function(e) {
|
||||
//if not left click or if clicked on excluded element (e.g. text box) or not a moveable list item return
|
||||
if (e.which != 1 || $(e.target).is(opts.dragSelectorExclude) || $(e.target).closest(opts.dragSelectorExclude).size() > 0 || $(e.target).closest(opts.itemSelector).size() == 0)
|
||||
return;
|
||||
|
||||
//prevents selection, stops issue on Fx where dragging hyperlink doesn't work and on IE where it triggers mousemove even though mouse hasn't moved,
|
||||
//does also stop being able to click text boxes hence dragging on text boxes by default is disabled in dragSelectorExclude
|
||||
e.preventDefault();
|
||||
|
||||
//change cursor to move while dragging
|
||||
var dragHandle = e.target;
|
||||
while (!$(dragHandle).is(opts.dragSelector)) {
|
||||
if (dragHandle == this) return;
|
||||
dragHandle = dragHandle.parentNode;
|
||||
}
|
||||
$(dragHandle).attr("data-cursor", $(dragHandle).css("cursor"));
|
||||
$(dragHandle).css("cursor", "move");
|
||||
|
||||
//on mousedown wait for movement of mouse before triggering dragsort script (dragStart) to allow clicking of hyperlinks to work
|
||||
var list = lists[$(this).attr("data-listidx")];
|
||||
var item = this;
|
||||
var trigger = function() {
|
||||
list.dragStart.call(item, e);
|
||||
$(list.container).unbind("mousemove", trigger);
|
||||
};
|
||||
$(list.container).mousemove(trigger).mouseup(function() { $(list.container).unbind("mousemove", trigger); $(dragHandle).css("cursor", $(dragHandle).attr("data-cursor")); });
|
||||
},
|
||||
|
||||
dragStart: function(e) {
|
||||
if (list != null && list.draggedItem != null)
|
||||
list.dropItem();
|
||||
|
||||
list = lists[$(this).attr("data-listidx")];
|
||||
list.draggedItem = $(e.target).closest(opts.itemSelector);
|
||||
|
||||
//record current position so on dragend we know if the dragged item changed position or not
|
||||
list.draggedItem.attr("data-origpos", $(this).attr("data-listidx") + "-" + list.getItems().index(list.draggedItem));
|
||||
|
||||
//calculate mouse offset relative to draggedItem
|
||||
var mt = parseInt(list.draggedItem.css("marginTop"));
|
||||
var ml = parseInt(list.draggedItem.css("marginLeft"));
|
||||
list.offset = list.draggedItem.offset();
|
||||
list.offset.top = e.pageY - list.offset.top + (isNaN(mt) ? 0 : mt) - 1;
|
||||
list.offset.left = e.pageX - list.offset.left + (isNaN(ml) ? 0 : ml) - 1;
|
||||
|
||||
//calculate box the dragged item can't be dragged outside of
|
||||
if (!opts.dragBetween) {
|
||||
var containerHeight = $(list.container).outerHeight() == 0 ? Math.max(1, Math.round(0.5 + list.getItems().size() * list.draggedItem.outerWidth() / $(list.container).outerWidth())) * list.draggedItem.outerHeight() : $(list.container).outerHeight();
|
||||
list.offsetLimit = $(list.container).offset();
|
||||
list.offsetLimit.right = list.offsetLimit.left + $(list.container).outerWidth() - list.draggedItem.outerWidth();
|
||||
list.offsetLimit.bottom = list.offsetLimit.top + containerHeight - list.draggedItem.outerHeight();
|
||||
}
|
||||
|
||||
//create placeholder item
|
||||
var h = list.draggedItem.height();
|
||||
var w = list.draggedItem.width();
|
||||
if (opts.itemSelector == "tr") {
|
||||
list.draggedItem.children().each(function() { $(this).width($(this).width()); });
|
||||
list.placeHolderItem = list.draggedItem.clone().attr("data-placeholder", true);
|
||||
list.draggedItem.after(list.placeHolderItem);
|
||||
list.placeHolderItem.children().each(function() { $(this).css({ borderWidth:0, width: $(this).width() + 1, height: $(this).height() + 1 }).html(" "); });
|
||||
} else {
|
||||
list.draggedItem.after(opts.placeHolderTemplate);
|
||||
list.placeHolderItem = list.draggedItem.next().css({ height: h, width: w }).attr("data-placeholder", true);
|
||||
}
|
||||
|
||||
if (opts.itemSelector == "td") {
|
||||
var listTable = list.draggedItem.closest("table").get(0);
|
||||
$("<table id='" + listTable.id + "' style='border-width: 0px;' class='dragSortItem " + listTable.className + "'><tr></tr></table>").appendTo("body").children().append(list.draggedItem);
|
||||
}
|
||||
|
||||
//style draggedItem while dragging
|
||||
var orig = list.draggedItem.attr("style");
|
||||
list.draggedItem.attr("data-origstyle", orig ? orig : "");
|
||||
list.draggedItem.css({ position: "absolute", opacity: 0.8, "z-index": 999, height: h, width: w });
|
||||
|
||||
//auto-scroll setup
|
||||
list.scroll = { moveX: 0, moveY: 0, maxX: $(document).width() - $(window).width(), maxY: $(document).height() - $(window).height() };
|
||||
list.scroll.scrollY = window.setInterval(function() {
|
||||
if (opts.scrollContainer != window) {
|
||||
$(opts.scrollContainer).scrollTop($(opts.scrollContainer).scrollTop() + list.scroll.moveY);
|
||||
return;
|
||||
}
|
||||
var t = $(opts.scrollContainer).scrollTop();
|
||||
if (list.scroll.moveY > 0 && t < list.scroll.maxY || list.scroll.moveY < 0 && t > 0) {
|
||||
$(opts.scrollContainer).scrollTop(t + list.scroll.moveY);
|
||||
list.draggedItem.css("top", list.draggedItem.offset().top + list.scroll.moveY + 1);
|
||||
}
|
||||
}, 10);
|
||||
list.scroll.scrollX = window.setInterval(function() {
|
||||
if (opts.scrollContainer != window) {
|
||||
$(opts.scrollContainer).scrollLeft($(opts.scrollContainer).scrollLeft() + list.scroll.moveX);
|
||||
return;
|
||||
}
|
||||
var l = $(opts.scrollContainer).scrollLeft();
|
||||
if (list.scroll.moveX > 0 && l < list.scroll.maxX || list.scroll.moveX < 0 && l > 0) {
|
||||
$(opts.scrollContainer).scrollLeft(l + list.scroll.moveX);
|
||||
list.draggedItem.css("left", list.draggedItem.offset().left + list.scroll.moveX + 1);
|
||||
}
|
||||
}, 10);
|
||||
|
||||
//misc
|
||||
$(lists).each(function(i, l) { l.createDropTargets(); l.buildPositionTable(); });
|
||||
list.setPos(e.pageX, e.pageY);
|
||||
$(document).bind("mousemove", list.swapItems);
|
||||
$(document).bind("mouseup", list.dropItem);
|
||||
if (opts.scrollContainer != window)
|
||||
$(window).bind("DOMMouseScroll mousewheel", list.wheel);
|
||||
},
|
||||
|
||||
//set position of draggedItem
|
||||
setPos: function(x, y) {
|
||||
//remove mouse offset so mouse cursor remains in same place on draggedItem instead of top left corner
|
||||
var top = y - this.offset.top;
|
||||
var left = x - this.offset.left;
|
||||
|
||||
//limit top, left to within box draggedItem can't be dragged outside of
|
||||
if (!opts.dragBetween) {
|
||||
top = Math.min(this.offsetLimit.bottom, Math.max(top, this.offsetLimit.top));
|
||||
left = Math.min(this.offsetLimit.right, Math.max(left, this.offsetLimit.left));
|
||||
}
|
||||
|
||||
//adjust top, left calculations to parent element instead of window if it's relative or absolute
|
||||
this.draggedItem.parents().each(function() {
|
||||
if ($(this).css("position") != "static" && (!$.browser.mozilla || $(this).css("display") != "table")) {
|
||||
var offset = $(this).offset();
|
||||
top -= offset.top;
|
||||
left -= offset.left;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
//set x or y auto-scroll amount
|
||||
if (opts.scrollContainer == window) {
|
||||
y -= $(window).scrollTop();
|
||||
x -= $(window).scrollLeft();
|
||||
y = Math.max(0, y - $(window).height() + 5) + Math.min(0, y - 5);
|
||||
x = Math.max(0, x - $(window).width() + 5) + Math.min(0, x - 5);
|
||||
} else {
|
||||
var cont = $(opts.scrollContainer);
|
||||
var offset = cont.offset();
|
||||
y = Math.max(0, y - cont.height() - offset.top) + Math.min(0, y - offset.top);
|
||||
x = Math.max(0, x - cont.width() - offset.left) + Math.min(0, x - offset.left);
|
||||
}
|
||||
|
||||
list.scroll.moveX = x == 0 ? 0 : x * opts.scrollSpeed / Math.abs(x);
|
||||
list.scroll.moveY = y == 0 ? 0 : y * opts.scrollSpeed / Math.abs(y);
|
||||
|
||||
//move draggedItem to new mouse cursor location
|
||||
this.draggedItem.css({ top: top, left: left });
|
||||
},
|
||||
|
||||
//if scroll container is a div allow mouse wheel to scroll div instead of window when mouse is hovering over
|
||||
wheel: function(e) {
|
||||
if (($.browser.safari || $.browser.mozilla) && list && opts.scrollContainer != window) {
|
||||
var cont = $(opts.scrollContainer);
|
||||
var offset = cont.offset();
|
||||
if (e.pageX > offset.left && e.pageX < offset.left + cont.width() && e.pageY > offset.top && e.pageY < offset.top + cont.height()) {
|
||||
var delta = e.detail ? e.detail * 5 : e.wheelDelta / -2;
|
||||
cont.scrollTop(cont.scrollTop() + delta);
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
//build a table recording all the positions of the moveable list items
|
||||
buildPositionTable: function() {
|
||||
var pos = [];
|
||||
this.getItems().not([list.draggedItem[0], list.placeHolderItem[0]]).each(function(i) {
|
||||
var loc = $(this).offset();
|
||||
loc.right = loc.left + $(this).outerWidth();
|
||||
loc.bottom = loc.top + $(this).outerHeight();
|
||||
loc.elm = this;
|
||||
pos[i] = loc;
|
||||
});
|
||||
this.pos = pos;
|
||||
},
|
||||
|
||||
dropItem: function() {
|
||||
if (list.draggedItem == null)
|
||||
return;
|
||||
|
||||
//list.draggedItem.attr("style", "") doesn't work on IE8 and jQuery 1.5 or lower
|
||||
//list.draggedItem.removeAttr("style") doesn't work on chrome and jQuery 1.6 (works jQuery 1.5 or lower)
|
||||
var orig = list.draggedItem.attr("data-origstyle");
|
||||
list.draggedItem.attr("style", orig);
|
||||
if (orig == "")
|
||||
list.draggedItem.removeAttr("style");
|
||||
list.draggedItem.removeAttr("data-origstyle");
|
||||
|
||||
list.styleDragHandlers(true);
|
||||
|
||||
list.placeHolderItem.before(list.draggedItem);
|
||||
list.placeHolderItem.remove();
|
||||
|
||||
$("[data-droptarget], .dragSortItem").remove();
|
||||
|
||||
window.clearInterval(list.scroll.scrollY);
|
||||
window.clearInterval(list.scroll.scrollX);
|
||||
|
||||
//if position changed call dragEnd
|
||||
if (list.draggedItem.attr("data-origpos") != $(lists).index(list) + "-" + list.getItems().index(list.draggedItem))
|
||||
opts.dragEnd.apply(list.draggedItem);
|
||||
list.draggedItem.removeAttr("data-origpos");
|
||||
|
||||
list.draggedItem = null;
|
||||
$(document).unbind("mousemove", list.swapItems);
|
||||
$(document).unbind("mouseup", list.dropItem);
|
||||
if (opts.scrollContainer != window)
|
||||
$(window).unbind("DOMMouseScroll mousewheel", list.wheel);
|
||||
return false;
|
||||
},
|
||||
|
||||
//swap the draggedItem (represented visually by placeholder) with the list item the it has been dragged on top of
|
||||
swapItems: function(e) {
|
||||
if (list.draggedItem == null)
|
||||
return false;
|
||||
|
||||
//move draggedItem to mouse location
|
||||
list.setPos(e.pageX, e.pageY);
|
||||
|
||||
//retrieve list and item position mouse cursor is over
|
||||
var ei = list.findPos(e.pageX, e.pageY);
|
||||
var nlist = list;
|
||||
for (var i = 0; ei == -1 && opts.dragBetween && i < lists.length; i++) {
|
||||
ei = lists[i].findPos(e.pageX, e.pageY);
|
||||
nlist = lists[i];
|
||||
}
|
||||
|
||||
//if not over another moveable list item return
|
||||
if (ei == -1)
|
||||
return false;
|
||||
|
||||
//save fixed items locations
|
||||
var children = function() { return $(nlist.container).children().not(nlist.draggedItem); };
|
||||
var fixed = children().not(opts.itemSelector).each(function(i) { this.idx = children().index(this); });
|
||||
|
||||
//if moving draggedItem up or left place placeHolder before list item the dragged item is hovering over otherwise place it after
|
||||
if (lastPos == null || lastPos.top > list.draggedItem.offset().top || lastPos.left > list.draggedItem.offset().left)
|
||||
$(nlist.pos[ei].elm).before(list.placeHolderItem);
|
||||
else
|
||||
$(nlist.pos[ei].elm).after(list.placeHolderItem);
|
||||
|
||||
//restore fixed items location
|
||||
fixed.each(function() {
|
||||
var elm = children().eq(this.idx).get(0);
|
||||
if (this != elm && children().index(this) < this.idx)
|
||||
$(this).insertAfter(elm);
|
||||
else if (this != elm)
|
||||
$(this).insertBefore(elm);
|
||||
});
|
||||
|
||||
//misc
|
||||
$(lists).each(function(i, l) { l.createDropTargets(); l.buildPositionTable(); });
|
||||
lastPos = list.draggedItem.offset();
|
||||
return false;
|
||||
},
|
||||
|
||||
//returns the index of the list item the mouse is over
|
||||
findPos: function(x, y) {
|
||||
for (var i = 0; i < this.pos.length; i++) {
|
||||
if (this.pos[i].left < x && this.pos[i].right > x && this.pos[i].top < y && this.pos[i].bottom > y)
|
||||
return i;
|
||||
}
|
||||
return -1;
|
||||
},
|
||||
|
||||
//create drop targets which are placeholders at the end of other lists to allow dragging straight to the last position
|
||||
createDropTargets: function() {
|
||||
if (!opts.dragBetween)
|
||||
return;
|
||||
|
||||
$(lists).each(function() {
|
||||
var ph = $(this.container).find("[data-placeholder]");
|
||||
var dt = $(this.container).find("[data-droptarget]");
|
||||
if (ph.size() > 0 && dt.size() > 0)
|
||||
dt.remove();
|
||||
else if (ph.size() == 0 && dt.size() == 0) {
|
||||
if (opts.itemSelector == "td")
|
||||
$(opts.placeHolderTemplate).attr("data-droptarget", true).appendTo(this.container);
|
||||
else
|
||||
//list.placeHolderItem.clone().removeAttr("data-placeholder") crashes in IE7 and jquery 1.5.1 (doesn't in jquery 1.4.2 or IE8)
|
||||
$(this.container).append(list.placeHolderItem.removeAttr("data-placeholder").clone().attr("data-droptarget", true));
|
||||
|
||||
list.placeHolderItem.attr("data-placeholder", true);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
newList.init();
|
||||
lists.push(newList);
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
$.fn.dragsort.defaults = {
|
||||
itemSelector: "",
|
||||
dragSelector: "",
|
||||
dragSelectorExclude: "input, textarea",
|
||||
dragEnd: function() { },
|
||||
dragBetween: false,
|
||||
placeHolderTemplate: "",
|
||||
scrollContainer: window,
|
||||
scrollSpeed: 5
|
||||
};
|
||||
|
||||
})(jQuery);
|