new files
This commit is contained in:
678
vue3-element-admin-thin/public/vender/date97/WdatePicker.js
Normal file
678
vue3-element-admin-thin/public/vender/date97/WdatePicker.js
Normal file
@ -0,0 +1,678 @@
|
||||
/*
|
||||
* My97 DatePicker 4.8.5
|
||||
* License: http://www.my97.net/license.asp
|
||||
*/
|
||||
var $dp, WdatePicker;
|
||||
(function () {
|
||||
var Config = {
|
||||
$langList: [{
|
||||
name: 'en',
|
||||
charset: 'UTF-8'
|
||||
},
|
||||
{
|
||||
name: 'zh-cn',
|
||||
charset: 'gb2312'
|
||||
},
|
||||
{
|
||||
name: 'zh-tw',
|
||||
charset: 'GBK'
|
||||
}
|
||||
],
|
||||
$skinList: [{
|
||||
name: 'default',
|
||||
charset: 'gb2312'
|
||||
},
|
||||
{
|
||||
name: 'whyGreen',
|
||||
charset: 'gb2312'
|
||||
},
|
||||
{
|
||||
name: 'blue',
|
||||
charset: 'gb2312'
|
||||
},
|
||||
{
|
||||
name: 'green',
|
||||
charset: 'gb2312'
|
||||
},
|
||||
{
|
||||
name: 'simple',
|
||||
charset: 'gb2312'
|
||||
},
|
||||
{
|
||||
name: 'ext',
|
||||
charset: 'gb2312'
|
||||
},
|
||||
{
|
||||
name: 'blueFresh',
|
||||
charset: 'gb2312'
|
||||
},
|
||||
{
|
||||
name: 'twoer',
|
||||
charset: 'gb2312'
|
||||
},
|
||||
{
|
||||
name: 'YcloudRed',
|
||||
charset: 'gb2312'
|
||||
},
|
||||
{
|
||||
name: 'thinkpap',
|
||||
charset: 'gb2312'
|
||||
}
|
||||
],
|
||||
$wdate: false,
|
||||
$crossFrame: false,
|
||||
$preLoad: false,
|
||||
$dpPath: '',
|
||||
doubleCalendar: false,
|
||||
enableKeyboard: true,
|
||||
enableInputMask: true,
|
||||
autoUpdateOnChanged: null,
|
||||
weekMethod: 'MSExcel',
|
||||
position: {},
|
||||
lang: 'auto',
|
||||
skin: 'default',
|
||||
dateFmt: 'yyyy年MM月dd日 HH时mm分',
|
||||
realDateFmt: 'yyyy-MM-dd',
|
||||
realTimeFmt: 'HH:mm:ss',
|
||||
realFullFmt: '%Date %Time',
|
||||
minDate: '0001-01-01 00:00:00',
|
||||
maxDate: '9999-12-31 23:59:59',
|
||||
minTime: '00:00:00',
|
||||
maxTime: '23:59:59',
|
||||
startDate: '',
|
||||
alwaysUseStartDate: false,
|
||||
yearOffset: 1911,
|
||||
firstDayOfWeek: 0,
|
||||
isShowWeek: false,
|
||||
highLineWeekDay: true,
|
||||
isShowClear: true,
|
||||
isShowToday: true,
|
||||
isShowOK: true,
|
||||
isShowOthers: true,
|
||||
readOnly: false,
|
||||
errDealMode: 0,
|
||||
autoPickDate: null,
|
||||
qsEnabled: true,
|
||||
autoShowQS: false,
|
||||
hmsMenuCfg: {
|
||||
H: [1, 6],
|
||||
m: [5, 6],
|
||||
s: [15, 4]
|
||||
},
|
||||
|
||||
opposite: false,
|
||||
specialDates: null,
|
||||
specialDays: null,
|
||||
disabledDates: null,
|
||||
disabledDays: null,
|
||||
onpicking: null,
|
||||
onpicked: null,
|
||||
onclearing: null,
|
||||
oncleared: null,
|
||||
ychanging: null,
|
||||
ychanged: null,
|
||||
Mchanging: null,
|
||||
Mchanged: null,
|
||||
dchanging: null,
|
||||
dchanged: null,
|
||||
Hchanging: null,
|
||||
Hchanged: null,
|
||||
mchanging: null,
|
||||
mchanged: null,
|
||||
schanging: null,
|
||||
schanged: null,
|
||||
eCont: null,
|
||||
vel: null,
|
||||
elProp: '',
|
||||
errMsg: '',
|
||||
quickSel: [],
|
||||
has: {},
|
||||
getRealLang: function () {
|
||||
var arr = Config.$langList;
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
if (arr[i].name == this.lang) {
|
||||
return arr[i]
|
||||
}
|
||||
}
|
||||
return arr[0]
|
||||
}
|
||||
};
|
||||
WdatePicker = main;
|
||||
var w = window,
|
||||
emptyEl = {
|
||||
innerHTML: ''
|
||||
},
|
||||
d = 'document',
|
||||
de = 'documentElement',
|
||||
tag = 'getElementsByTagName',
|
||||
dptop, jsPath, $IE, $FF, $OPERA;
|
||||
var ua = navigator.userAgent,
|
||||
isTablet = /(?:iPad|PlayBook)/.test(ua) || (/(?:Android)/.test(ua) && !/(?:Mobile)/.test(ua)),
|
||||
isPhone = /(?:iPhone)/.test(ua) || /(?:Android)/.test(ua) && /(?:Mobile)/.test(ua);
|
||||
var appName = navigator.appName;
|
||||
if (appName == 'Microsoft Internet Explorer') $IE = true;
|
||||
else if (appName == 'Opera') $OPERA = true;
|
||||
else $FF = true;
|
||||
jsPath = Config.$dpPath || getJsPath();
|
||||
if (Config.$wdate) {
|
||||
loadCSS(jsPath + 'skin/WdatePicker.css')
|
||||
}
|
||||
dptop = w;
|
||||
if (Config.$crossFrame) {
|
||||
try {
|
||||
while (dptop.parent != dptop && dptop.parent[d][tag]('frameset').length == 0) {
|
||||
dptop = dptop.parent
|
||||
}
|
||||
} catch (e) {}
|
||||
}
|
||||
if (!dptop.$dp) {
|
||||
dptop.$dp = {
|
||||
ff: $FF,
|
||||
ie: $IE,
|
||||
opera: $OPERA,
|
||||
status: 0,
|
||||
defMinDate: Config.minDate,
|
||||
defMaxDate: Config.maxDate,
|
||||
isTablet: isTablet,
|
||||
isPhone: isPhone,
|
||||
isTouch: isTablet || isPhone
|
||||
}
|
||||
}
|
||||
initTopDP();
|
||||
if (Config.$preLoad && $dp.status == 0) {
|
||||
dpAttachEvent(w, 'onload', function () {
|
||||
main(null, true)
|
||||
})
|
||||
}
|
||||
var docEventName = $dp.isTouch ? 'ontouchstart' : 'onmousedown';
|
||||
if (!w[d].docMD) {
|
||||
dpAttachEvent(w[d], docEventName, disposeDP, true);
|
||||
w[d].docMD = true
|
||||
}
|
||||
if (!dptop[d].docMD) {
|
||||
dpAttachEvent(dptop[d], docEventName, disposeDP, true);
|
||||
dptop[d].docMD = true
|
||||
}
|
||||
dpAttachEvent(w, 'onunload', function () {
|
||||
if ($dp.dd) {
|
||||
display($dp.dd, "none")
|
||||
}
|
||||
});
|
||||
|
||||
function initTopDP() {
|
||||
try {
|
||||
dptop[d], dptop.$dp = dptop.$dp || {}
|
||||
} catch (e) {
|
||||
dptop = w;
|
||||
$dp = $dp || {}
|
||||
}
|
||||
var obj = {
|
||||
win: w,
|
||||
$: function (el) {
|
||||
return (typeof el == 'string') ? w[d].getElementById(el) : el
|
||||
},
|
||||
$D: function (id, arg) {
|
||||
return this.$DV(this.$(id).value, arg)
|
||||
},
|
||||
$DV: function (v, arg) {
|
||||
if (v != '') {
|
||||
this.dt = $dp.cal.splitDate(v, $dp.cal.dateFmt);
|
||||
if (arg) {
|
||||
for (var p in arg) {
|
||||
if (this.dt[p] === undefined) {
|
||||
this.errMsg = 'invalid property:' + p
|
||||
} else {
|
||||
this.dt[p] += arg[p];
|
||||
if (p == 'M') {
|
||||
var offset = arg['M'] > 0 ? 1 : 0;
|
||||
var tmpday = new Date(this.dt['y'], this.dt['M'], 0).getDate();
|
||||
this.dt['d'] = Math.min(tmpday + offset, this.dt['d'])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.dt.refresh()) {
|
||||
return this.dt
|
||||
}
|
||||
}
|
||||
return ''
|
||||
},
|
||||
show: function () {
|
||||
var divs = dptop[d].getElementsByTagName('div'),
|
||||
maxZIndex = 1e5;
|
||||
for (var i = 0; i < divs.length; i++) {
|
||||
var curZ = parseInt(divs[i].style.zIndex);
|
||||
if (curZ > maxZIndex) {
|
||||
maxZIndex = curZ
|
||||
}
|
||||
}
|
||||
this.dd.style.zIndex = maxZIndex + 2;
|
||||
display(this.dd, "block");
|
||||
display(this.dd.firstChild, "")
|
||||
},
|
||||
unbind: function (el) {
|
||||
el = this.$(el);
|
||||
if (el.initcfg) {
|
||||
dpDetachEvent(el, 'onclick', function () {
|
||||
main(el.initcfg)
|
||||
});
|
||||
dpDetachEvent(el, 'onfocus', function () {
|
||||
main(el.initcfg)
|
||||
})
|
||||
}
|
||||
},
|
||||
hide: function () {
|
||||
display(this.dd, "none")
|
||||
},
|
||||
attachEvent: dpAttachEvent
|
||||
};
|
||||
for (var p in obj) {
|
||||
dptop.$dp[p] = obj[p];
|
||||
}
|
||||
$dp = dptop.$dp
|
||||
}
|
||||
|
||||
function dpAttachEvent(o, sType, fHandler, useCapture) {
|
||||
if (o.addEventListener) {
|
||||
var shortTypeName = sType.replace(/on/, "");
|
||||
fHandler._ieEmuEventHandler = function (e) {
|
||||
return fHandler(e)
|
||||
};
|
||||
o.addEventListener(shortTypeName, fHandler._ieEmuEventHandler, useCapture)
|
||||
} else {
|
||||
o.attachEvent(sType, fHandler)
|
||||
}
|
||||
}
|
||||
|
||||
function dpDetachEvent(o, sType, fHandler) {
|
||||
if (o.removeEventListener) {
|
||||
var shortTypeName = sType.replace(/on/, "");
|
||||
fHandler._ieEmuEventHandler = function (e) {
|
||||
return fHandler(e)
|
||||
};
|
||||
o.removeEventListener(shortTypeName, fHandler._ieEmuEventHandler, false)
|
||||
} else {
|
||||
o.detachEvent(sType, fHandler)
|
||||
}
|
||||
}
|
||||
|
||||
function compareCfg(o1, o2, issub) {
|
||||
if (typeof o1 != typeof o2) return false;
|
||||
if (typeof o1 == 'object') {
|
||||
if (!issub) {
|
||||
for (var o in o1) {
|
||||
if (typeof o2[o] == 'undefined') return false;
|
||||
if (!compareCfg(o1[o], o2[o], true)) return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
} else if (typeof o1 == 'function' && typeof o2 == 'function') {
|
||||
return o1.toString() == o2.toString()
|
||||
} else {
|
||||
return o1 == o2
|
||||
}
|
||||
}
|
||||
|
||||
function getJsPath() {
|
||||
var path, tmp, scripts = w[d][tag]("script");
|
||||
for (var i = 0; i < scripts.length; i++) {
|
||||
path = scripts[i].getAttribute('src') || '';
|
||||
path = path.substr(0, path.toLowerCase().indexOf('wdatepicker.js'));
|
||||
var tmp = path.lastIndexOf("/");
|
||||
if (tmp > 0) path = path.substring(0, tmp + 1);
|
||||
if (path) break
|
||||
}
|
||||
return path
|
||||
}
|
||||
|
||||
function loadCSS(path, title, charset) {
|
||||
var head = w[d][tag]('HEAD').item(0),
|
||||
style = w[d].createElement('link');
|
||||
if (head) {
|
||||
style.href = path;
|
||||
style.rel = 'stylesheet';
|
||||
style.type = 'text/css';
|
||||
if (title) style.title = title;
|
||||
if (charset) style.charset = charset;
|
||||
head.appendChild(style)
|
||||
}
|
||||
}
|
||||
|
||||
function getAbsM(w) {
|
||||
w = w || dptop;
|
||||
var lm = 0,
|
||||
tm = 0;
|
||||
while (w != dptop) {
|
||||
var ifs = w.parent[d][tag]('iframe');
|
||||
for (var i = 0; i < ifs.length; i++) {
|
||||
try {
|
||||
if (ifs[i].contentWindow == w) {
|
||||
var rc = getBound(ifs[i]);
|
||||
lm += rc.left;
|
||||
tm += rc.top;
|
||||
break
|
||||
}
|
||||
} catch (e) {}
|
||||
}
|
||||
w = w.parent
|
||||
}
|
||||
return {
|
||||
'leftM': lm,
|
||||
'topM': tm
|
||||
}
|
||||
}
|
||||
|
||||
function getBound(o, ignoreScr) {
|
||||
if (o.getBoundingClientRect) {
|
||||
return o.getBoundingClientRect()
|
||||
} else {
|
||||
var patterns = {
|
||||
ROOT_TAG: /^body|html$/i,
|
||||
OP_SCROLL: /^(?:inline|table-row)$/i
|
||||
};
|
||||
var hssFixed = false,
|
||||
win = null,
|
||||
t = o.offsetTop,
|
||||
l = o.offsetLeft,
|
||||
r = o.offsetWidth,
|
||||
b = o.offsetHeight;
|
||||
var parentNode = o.offsetParent;
|
||||
if (parentNode != o) {
|
||||
while (parentNode) {
|
||||
l += parentNode.offsetLeft;
|
||||
t += parentNode.offsetTop;
|
||||
if (getStyle(parentNode, 'position').toLowerCase() == 'fixed') hssFixed = true;
|
||||
else if (parentNode.tagName.toLowerCase() == "body") win = parentNode.ownerDocument.defaultView;
|
||||
parentNode = parentNode.offsetParent
|
||||
}
|
||||
}
|
||||
parentNode = o.parentNode;
|
||||
while (parentNode.tagName && !patterns.ROOT_TAG.test(parentNode.tagName)) {
|
||||
if (parentNode.scrollTop || parentNode.scrollLeft) {
|
||||
if (!patterns.OP_SCROLL.test(display(parentNode))) {
|
||||
if (!$OPERA || parentNode.style.overflow !== 'visible') {
|
||||
l -= parentNode.scrollLeft;
|
||||
t -= parentNode.scrollTop
|
||||
}
|
||||
}
|
||||
}
|
||||
parentNode = parentNode.parentNode
|
||||
}
|
||||
if (!hssFixed) {
|
||||
var scr = getScroll(win);
|
||||
l -= scr.left;
|
||||
t -= scr.top
|
||||
}
|
||||
r += l;
|
||||
b += t;
|
||||
return {
|
||||
'left': l,
|
||||
'top': t,
|
||||
'right': r,
|
||||
'bottom': b
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getWH(w) {
|
||||
w = w || dptop;
|
||||
var doc = w[d],
|
||||
width = (w.innerWidth) ? w.innerWidth : (doc[de] && doc[de].clientWidth) ? doc[de].clientWidth : doc.body.offsetWidth,
|
||||
height = (w.innerHeight) ? w.innerHeight : (doc[de] && doc[de].clientHeight) ? doc[de].clientHeight : doc.body.offsetHeight;
|
||||
return {
|
||||
'width': width,
|
||||
'height': height
|
||||
}
|
||||
}
|
||||
|
||||
function getScroll(w) {
|
||||
w = w || dptop;
|
||||
var doc = w[d],
|
||||
doce = doc[de],
|
||||
db = doc.body;
|
||||
doc = (doce && doce.scrollTop != null && (doce.scrollTop > db.scrollTop || doce.scrollLeft > db.scrollLeft)) ? doce : db;
|
||||
return {
|
||||
'top': doc.scrollTop,
|
||||
'left': doc.scrollLeft
|
||||
}
|
||||
}
|
||||
|
||||
function disposeDP(e) {
|
||||
try {
|
||||
var src = e ? (e.srcElement || e.target) : null;
|
||||
if ($dp.cal && !$dp.eCont && $dp.dd && src != $dp.el && $dp.dd.style.display == 'block') {
|
||||
$dp.cal.close()
|
||||
}
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
function dpLoaded() {
|
||||
$dp.status = 2
|
||||
}
|
||||
var isDptopReady, dptopInterval;
|
||||
|
||||
function main(initcfg, preLoad) {
|
||||
if (!$dp) return;
|
||||
initcfg.el = initcfg.el || w[d].activeElement;
|
||||
if ($dp.isTouch) {
|
||||
try {
|
||||
initcfg.el.readOnly = true;
|
||||
initcfg.el.blur()
|
||||
} catch (e) {}
|
||||
}
|
||||
initTopDP();
|
||||
var cfg = {};
|
||||
for (var p in initcfg) {
|
||||
cfg[p] = initcfg[p]
|
||||
}
|
||||
for (var p in Config) {
|
||||
if (p.substring(0, 1) != '$' && cfg[p] === undefined) {
|
||||
cfg[p] = Config[p]
|
||||
}
|
||||
}
|
||||
if (preLoad) {
|
||||
if (!dptopReady()) {
|
||||
dptopInterval = dptopInterval || setInterval(function () {
|
||||
if (dptop[d].readyState == 'complete') {
|
||||
clearInterval(dptopInterval);
|
||||
}
|
||||
main(null, true)
|
||||
}, 50);
|
||||
return
|
||||
}
|
||||
if ($dp.status == 0) {
|
||||
$dp.status = 1;
|
||||
cfg.el = emptyEl;
|
||||
showPicker(cfg, true)
|
||||
} else {
|
||||
return
|
||||
}
|
||||
} else if (cfg.eCont) {
|
||||
cfg.eCont = $dp.$(cfg.eCont);
|
||||
cfg.el = emptyEl;
|
||||
cfg.autoPickDate = true;
|
||||
cfg.qsEnabled = false;
|
||||
showPicker(cfg)
|
||||
} else {
|
||||
if (Config.$preLoad && $dp.status != 2) return;
|
||||
if (!cfg.el) {
|
||||
var evt = SearchEvent();
|
||||
if (w.event === evt || evt) {
|
||||
cfg.srcEl = evt.srcElement || evt.target;
|
||||
evt.cancelBubble = true
|
||||
}
|
||||
}
|
||||
cfg.el = cfg.el = $dp.$(cfg.el || cfg.srcEl);
|
||||
if (cfg.el == null) {
|
||||
alert('WdatePicker:el is null!\nexample:onclick="WdatePicker({el:this})"');
|
||||
return
|
||||
}
|
||||
try {
|
||||
if (!cfg.el || cfg.el['My97Mark'] === true || cfg.el.disabled || ($dp.dd && display($dp.dd) != 'none' && $dp.dd.style.left != '-970px')) {
|
||||
if (cfg.el['My97Mark']) cfg.el['My97Mark'] = false;
|
||||
return
|
||||
}
|
||||
} catch (e) {}
|
||||
if (evt && cfg.el.nodeType == 1 && !compareCfg(cfg.el.initcfg, initcfg)) {
|
||||
$dp.unbind(cfg.el);
|
||||
dpAttachEvent(cfg.el, evt.type == 'focus' ? 'onclick' : 'onfocus', function () {
|
||||
main(initcfg)
|
||||
});
|
||||
cfg.el.initcfg = initcfg;
|
||||
}
|
||||
showPicker(cfg)
|
||||
}
|
||||
|
||||
function dptopReady() {
|
||||
if ($IE && dptop != w && dptop[d].readyState != 'complete') return false;
|
||||
return true
|
||||
}
|
||||
|
||||
function SearchEvent() {
|
||||
if ($FF) {
|
||||
try {
|
||||
var count = 0;
|
||||
func = SearchEvent.caller;
|
||||
while (func != null) {
|
||||
var arg0 = func.arguments[0];
|
||||
if (arg0 && (arg0 + '').indexOf('Event') >= 0 || (count++) > 97) {
|
||||
return arg0
|
||||
}
|
||||
func = func.caller
|
||||
}
|
||||
} catch (e) {}
|
||||
return null
|
||||
}
|
||||
return event
|
||||
}
|
||||
}
|
||||
|
||||
function getStyle(obj, attribute) {
|
||||
return obj.currentStyle ? obj.currentStyle[attribute] : document.defaultView.getComputedStyle(obj, false)[attribute]
|
||||
}
|
||||
|
||||
function display(obj, value) {
|
||||
if (obj) {
|
||||
if (value != null) obj.style.display = value;
|
||||
else return getStyle(obj, 'display')
|
||||
}
|
||||
}
|
||||
|
||||
function showPicker(cfg, preLoad) {
|
||||
var nodeName = cfg.el ? cfg.el.nodeName : 'INPUT';
|
||||
if (preLoad || cfg.eCont || new RegExp(/input|textarea|div|field|span|p|a/ig).test(nodeName)) {
|
||||
cfg.elProp = cfg.elProp || nodeName == 'INPUT' ? 'value' : 'innerHTML'
|
||||
} else {
|
||||
return
|
||||
}
|
||||
if (cfg.lang == 'auto') {
|
||||
cfg.lang = $IE ? navigator.browserLanguage.toLowerCase() : navigator.language.toLowerCase()
|
||||
}
|
||||
if (!cfg.eCont) {
|
||||
for (var p in cfg) {
|
||||
$dp[p] = cfg[p]
|
||||
}
|
||||
}
|
||||
if (!$dp.dd || cfg.eCont || ($dp.dd && (cfg.getRealLang().name != $dp.dd.lang || cfg.skin != $dp.dd.skin))) {
|
||||
if (cfg.eCont) {
|
||||
ddInit(cfg.eCont, cfg)
|
||||
} else {
|
||||
$dp.dd = dptop[d].createElement("DIV");
|
||||
$dp.dd.style.cssText = 'position:absolute';
|
||||
dptop[d].body.appendChild($dp.dd);
|
||||
ddInit($dp.dd, cfg);
|
||||
if (preLoad) {
|
||||
$dp.dd.style.left = $dp.dd.style.top = '-970px'
|
||||
} else {
|
||||
$dp.show();
|
||||
setPos($dp)
|
||||
}
|
||||
}
|
||||
} else if ($dp.cal) {
|
||||
$dp.show();
|
||||
$dp.cal.init();
|
||||
if (!$dp.eCont) setPos($dp)
|
||||
}
|
||||
|
||||
function ddInit(cont, cfg) {
|
||||
var dm = dptop[d].domain,
|
||||
isCross = false,
|
||||
defHtml = '<iframe hideFocus=true width=9 height=7 frameborder=0 border=0 scrolling=no src="about:blank"></iframe>';
|
||||
cont.innerHTML = defHtml;
|
||||
var langList = Config.$langList,
|
||||
skinList = Config.$skinList,
|
||||
doc;
|
||||
try {
|
||||
doc = cont.lastChild.contentWindow[d]
|
||||
} catch (e) {
|
||||
isCross = true;
|
||||
cont.removeChild(cont.lastChild);
|
||||
var ifr = dptop[d].createElement("iframe");
|
||||
ifr.hideFocus = true;
|
||||
ifr.frameBorder = 0;
|
||||
ifr.scrolling = 'no';
|
||||
ifr.src = "javascript:(function(){var d=document;d.open();d.domain='" + dm + "';})()";
|
||||
cont.appendChild(ifr);
|
||||
setTimeout(function () {
|
||||
doc = cont.lastChild.contentWindow[d];
|
||||
ddWrite()
|
||||
}, 97);
|
||||
return
|
||||
}
|
||||
ddWrite();
|
||||
|
||||
function ddWrite() {
|
||||
var realLang = cfg.getRealLang(),
|
||||
ver = '4.9.0b3';
|
||||
cont.lang = realLang.name;
|
||||
cont.skin = cfg.skin;
|
||||
var h = ['<head><script>', '', 'var doc=document, $d, $dp, $cfg=doc.cfg, $pdp = parent.$dp, $dt, $tdt, $sdt, $lastInput, $IE=$pdp.ie, $FF = $pdp.ff,$OPERA=$pdp.opera, $ny, $cMark = false;', 'if($cfg.eCont){$dp = {};for(var p in $pdp)$dp[p]=$pdp[p];}else{$dp=$pdp;};for(var p in $cfg){$dp[p]=$cfg[p];}', 'if(!$dp.isTouch)doc.oncontextmenu=function(){try{$c._fillQS(!$dp.has.d,1);showB($d.qsDivSel);}catch(e){};return false;};', '</script><script src=', jsPath, 'lang/', realLang.name, '.js?' + ver + ' charset=', realLang.charset, '></script>'];
|
||||
if (isCross) h[1] = 'document.domain="' + dm + '";';
|
||||
for (var i = 0; i < skinList.length; i++) {
|
||||
if (skinList[i].name == cfg.skin) {
|
||||
h.push('<link rel="stylesheet" type="text/css" href="' + jsPath + 'skin/' + skinList[i].name + '/datepicker.css?');
|
||||
h.push(ver);
|
||||
h.push('" charset="' + skinList[i].charset + '"/>')
|
||||
}
|
||||
}
|
||||
h.push('<script src="' + jsPath + 'calendar.js?');
|
||||
h.push(ver);
|
||||
h.push('"></script>');
|
||||
h.push('</head><body leftmargin="0" topmargin="0" tabindex=0></body></html>');
|
||||
h.push('<script>var t;t=t||setInterval(function(){if((typeof(doc.ready)=="boolean"&&doc.ready)||doc.readyState=="complete"){new My97DP();$cfg.onload();$c.autoSize();$cfg.setPos($dp);clearInterval(t);}},20);</script>');
|
||||
cfg.setPos = setPos;
|
||||
cfg.onload = dpLoaded;
|
||||
doc.write('<html>');
|
||||
doc.cfg = cfg;
|
||||
doc.write(h.join(''));
|
||||
doc.close()
|
||||
}
|
||||
}
|
||||
|
||||
function setPos(dp) {
|
||||
var l = dp.position.left,
|
||||
t = dp.position.top,
|
||||
el = dp.el;
|
||||
if (el == emptyEl) return;
|
||||
if (el != dp.srcEl && (display(el) == 'none' || el.type == 'hidden')) el = dp.srcEl;
|
||||
var objxy = getBound(el),
|
||||
mm = getAbsM(w),
|
||||
currWH = getWH(dptop),
|
||||
scr = getScroll(dptop),
|
||||
ddHeight = $dp.dd.offsetHeight,
|
||||
ddWidth = $dp.dd.offsetWidth;
|
||||
if (isNaN(t)) t = 0;
|
||||
if ((mm.topM + objxy.bottom + ddHeight > currWH.height) && (mm.topM + objxy.top - ddHeight > 0)) {
|
||||
t += scr.top + mm.topM + objxy.top - ddHeight - 2
|
||||
} else {
|
||||
t += scr.top + mm.topM + objxy.bottom;
|
||||
var offsetT = t - scr.top + ddHeight - currWH.height;
|
||||
if (offsetT > 0) t -= offsetT
|
||||
}
|
||||
if (isNaN(l)) l = 0;
|
||||
l += scr.left + Math.min(mm.leftM + objxy.left, currWH.width - ddWidth - 5) - ($IE ? 2 : 0);
|
||||
dp.dd.style.top = (t + 2) + 'px';
|
||||
dp.dd.style.left = l + 'px'
|
||||
}
|
||||
}
|
||||
})();
|
Reference in New Issue
Block a user