📄 datepicker.js
字号:
}
if (incYear && add(d, YEAR, 1) > this.endDate) {
incYear = false;
}
}
function enableControl(node, enabled) {
dojo.html.setVisibility(node, enabled ? "" : "hidden");
}
enableControl(this.decreaseWeekNode, decWeek);
enableControl(this.increaseWeekNode, incWeek);
enableControl(this.decreaseMonthNode, decMonth);
enableControl(this.increaseMonthNode, incMonth);
enableControl(this.previousYearLabelNode, decYear);
enableControl(this.nextYearLabelNode, incYear);
}, _incrementWeek:function (evt) {
var d = new Date(this.firstDay);
switch (evt.target) {
case this.increaseWeekNode.getElementsByTagName("img").item(0):
case this.increaseWeekNode:
var tmpDate = dojo.date.add(d, dojo.date.dateParts.WEEK, 1);
if (tmpDate < this.endDate) {
d = dojo.date.add(d, dojo.date.dateParts.WEEK, 1);
}
break;
case this.decreaseWeekNode.getElementsByTagName("img").item(0):
case this.decreaseWeekNode:
if (d >= this.startDate) {
d = dojo.date.add(d, dojo.date.dateParts.WEEK, -1);
}
break;
}
this._preInitUI(d, true, true);
}, _incrementMonth:function (evt) {
var d = new Date(this.curMonth);
var tmpDate = new Date(this.firstDay);
switch (evt.currentTarget) {
case this.increaseMonthNode.getElementsByTagName("img").item(0):
case this.increaseMonthNode:
tmpDate = dojo.date.add(tmpDate, dojo.date.dateParts.DAY, this.displayWeeks * 7);
if (tmpDate < this.endDate) {
d = dojo.date.add(d, dojo.date.dateParts.MONTH, 1);
} else {
var revertToEndDate = true;
}
break;
case this.decreaseMonthNode.getElementsByTagName("img").item(0):
case this.decreaseMonthNode:
if (tmpDate > this.startDate) {
d = dojo.date.add(d, dojo.date.dateParts.MONTH, -1);
} else {
var revertToStartDate = true;
}
break;
}
if (revertToStartDate) {
d = new Date(this.startDate);
} else {
if (revertToEndDate) {
d = new Date(this.endDate);
}
}
this._preInitUI(d, false, true);
}, _incrementYear:function (evt) {
var year = this.curMonth.getFullYear();
var tmpDate = new Date(this.firstDay);
switch (evt.target) {
case this.nextYearLabelNode:
tmpDate = dojo.date.add(tmpDate, dojo.date.dateParts.YEAR, 1);
if (tmpDate < this.endDate) {
year++;
} else {
var revertToEndDate = true;
}
break;
case this.previousYearLabelNode:
tmpDate = dojo.date.add(tmpDate, dojo.date.dateParts.YEAR, -1);
if (tmpDate > this.startDate) {
year--;
} else {
var revertToStartDate = true;
}
break;
}
var d;
if (revertToStartDate) {
d = new Date(this.startDate);
} else {
if (revertToEndDate) {
d = new Date(this.endDate);
} else {
d = new Date(year, this.curMonth.getMonth(), 1);
}
}
this._preInitUI(d, false, true);
}, onIncrementWeek:function (evt) {
evt.stopPropagation();
if (!this.staticDisplay) {
this._incrementWeek(evt);
}
}, onIncrementMonth:function (evt) {
evt.stopPropagation();
if (!this.staticDisplay) {
this._incrementMonth(evt);
}
}, onIncrementYear:function (evt) {
evt.stopPropagation();
if (!this.staticDisplay) {
this._incrementYear(evt);
}
}, _setMonthLabel:function (monthIndex) {
this.monthLabelNode.innerHTML = dojo.date.getNames("months", "wide", "standAlone", this.lang)[monthIndex];
}, _setYearLabels:function (year) {
var y = year - 1;
var that = this;
function f(n) {
that[n + "YearLabelNode"].innerHTML = dojo.date.format(new Date(y++, 0), {formatLength:"yearOnly", locale:that.lang});
}
f("previous");
f("current");
f("next");
}, _getDateClassName:function (date, monthState) {
var currentClassName = this.classNames[monthState];
if ((!this.selectedIsUsed && this.value) && (Number(date) == Number(this.value))) {
currentClassName = this.classNames.selectedDate + " " + currentClassName;
this.selectedIsUsed = true;
}
if ((!this.currentIsUsed) && (Number(date) == Number(this.today))) {
currentClassName = currentClassName + " " + this.classNames.currentDate;
this.currentIsUsed = true;
}
return currentClassName;
}, onClick:function (evt) {
dojo.event.browser.stopEvent(evt);
}, _handleUiClick:function (evt) {
var eventTarget = evt.target;
if (eventTarget.nodeType != dojo.dom.ELEMENT_NODE) {
eventTarget = eventTarget.parentNode;
}
dojo.event.browser.stopEvent(evt);
this.selectedIsUsed = this.todayIsUsed = false;
if (dojo.html.hasClass(eventTarget, this.classNames["disabledPrevious"]) || dojo.html.hasClass(eventTarget, this.classNames["disabledCurrent"]) || dojo.html.hasClass(eventTarget, this.classNames["disabledNext"])) {
return;
}
this.clickedNode = eventTarget;
this.setDate(new Date(Number(dojo.html.getAttribute(eventTarget, "djDateValue"))));
}, onValueChanged:function (date) {
}, _isDisabledDate:function (dateObj) {
if (dateObj < this.startDate || dateObj > this.endDate) {
return true;
}
return this.isDisabledDate(dateObj, this.lang);
}, isDisabledDate:function (dateObj, locale) {
return false;
}, _initFirstDay:function (dateObj, adj) {
var d = new Date(dateObj);
if (!adj) {
d.setDate(1);
}
d.setDate(d.getDate() - this._getAdjustedDay(d, this.weekStartsOn));
d.setHours(0, 0, 0, 0);
return d;
}, _getAdjustedDay:function (dateObj) {
var days = [0, 1, 2, 3, 4, 5, 6];
if (this.weekStartsOn > 0) {
for (var i = 0; i < this.weekStartsOn; i++) {
days.unshift(days.pop());
}
}
return days[dateObj.getDay()];
}, destroy:function () {
dojo.widget.DatePicker.superclass.destroy.apply(this, arguments);
dojo.html.destroyNode(this.weekTemplate);
}});
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -