|
|
|
@ -106,7 +106,35 @@ window.console = window.console || (function () {
|
|
|
|
|
}; |
|
|
|
|
return c; |
|
|
|
|
})(); |
|
|
|
|
/* |
|
|
|
|
if (!Function.prototype.bind) { |
|
|
|
|
Function.prototype.bind = function(oThis) { |
|
|
|
|
if (typeof this !== 'function') { |
|
|
|
|
// closest thing possible to the ECMAScript 5
|
|
|
|
|
// internal IsCallable function
|
|
|
|
|
throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var aArgs = Array.prototype.slice.call(arguments, 1), |
|
|
|
|
fToBind = this, |
|
|
|
|
fNOP = function() {}, |
|
|
|
|
fBound = function() { |
|
|
|
|
return fToBind.apply(this instanceof fNOP |
|
|
|
|
? this |
|
|
|
|
: oThis, |
|
|
|
|
// 获取调用时(fBound)的传参.bind 返回的函数入参往往是这么传递的
|
|
|
|
|
aArgs.concat(Array.prototype.slice.call(arguments))); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// 维护原型关系
|
|
|
|
|
if (this.prototype) { |
|
|
|
|
// Function.prototype doesn't have a prototype property
|
|
|
|
|
fNOP.prototype = this.prototype; |
|
|
|
|
} |
|
|
|
|
fBound.prototype = new fNOP(); |
|
|
|
|
|
|
|
|
|
return fBound; |
|
|
|
|
}; |
|
|
|
|
}/* |
|
|
|
|
* 前端缓存 |
|
|
|
|
*/ |
|
|
|
|
window.localStorage || (window.localStorage = { |
|
|
|
@ -21488,7 +21516,46 @@ Date.parseDateTime = function (str, fmt) {
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
Date.getDate = function () { |
|
|
|
|
var dt = new (Function.prototype.bind.apply(Date, BI.concat([null], [].slice.apply(arguments))))(); |
|
|
|
|
var length = arguments.length; |
|
|
|
|
var args = arguments; |
|
|
|
|
var dt; |
|
|
|
|
switch (length) { |
|
|
|
|
// new Date()
|
|
|
|
|
case 0: |
|
|
|
|
dt = new Date(); |
|
|
|
|
break; |
|
|
|
|
// new Date(long)
|
|
|
|
|
case 1: |
|
|
|
|
dt = new Date(args[0]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month)
|
|
|
|
|
case 2: |
|
|
|
|
dt = new Date(args[0], args[1]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month, day)
|
|
|
|
|
case 3: |
|
|
|
|
dt = new Date(args[0], args[1], args[2]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month, day, hour)
|
|
|
|
|
case 4: |
|
|
|
|
dt = new Date(args[0], args[1], args[2], args[3]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month, day, hour, minute)
|
|
|
|
|
case 5: |
|
|
|
|
dt = new Date(args[0], args[1], args[2], args[3], args[4]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month, day, hour, minute, second)
|
|
|
|
|
case 6: |
|
|
|
|
dt = new Date(args[0], args[1], args[2], args[3], args[4], args[5]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month, day, hour, minute, second, millisecond)
|
|
|
|
|
case 7: |
|
|
|
|
dt = new Date(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
dt = new Date(); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
if(BI.isNotNull(Date.timeZone) && (arguments.length === 0 || (arguments.length === 1 && BI.isNumber(arguments[0])))) { |
|
|
|
|
var localTime = dt.getTime(); |
|
|
|
|
var localOffset = dt.getTimezoneOffset() * 60000; // 获得当地时间偏移的毫秒数
|
|
|
|
@ -21500,7 +21567,46 @@ Date.getDate = function () {
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
Date.getTime = function () { |
|
|
|
|
var dt = Function.prototype.bind.apply(Date.getDate, BI.concat([null], [].slice.apply(arguments)))(); |
|
|
|
|
var length = arguments.length; |
|
|
|
|
var args = arguments; |
|
|
|
|
var dt; |
|
|
|
|
switch (length) { |
|
|
|
|
// new Date()
|
|
|
|
|
case 0: |
|
|
|
|
dt = new Date(); |
|
|
|
|
break; |
|
|
|
|
// new Date(long)
|
|
|
|
|
case 1: |
|
|
|
|
dt = new Date(args[0]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month)
|
|
|
|
|
case 2: |
|
|
|
|
dt = new Date(args[0], args[1]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month, day)
|
|
|
|
|
case 3: |
|
|
|
|
dt = new Date(args[0], args[1], args[2]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month, day, hour)
|
|
|
|
|
case 4: |
|
|
|
|
dt = new Date(args[0], args[1], args[2], args[3]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month, day, hour, minute)
|
|
|
|
|
case 5: |
|
|
|
|
dt = new Date(args[0], args[1], args[2], args[3], args[4]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month, day, hour, minute, second)
|
|
|
|
|
case 6: |
|
|
|
|
dt = new Date(args[0], args[1], args[2], args[3], args[4], args[5]); |
|
|
|
|
break; |
|
|
|
|
// new Date(year, month, day, hour, minute, second, millisecond)
|
|
|
|
|
case 7: |
|
|
|
|
dt = new Date(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
dt = new Date(); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
if(BI.isNotNull(Date.timeZone)) { |
|
|
|
|
return dt.getTime() - Date.timeZone - dt.getTimezoneOffset() * 60000; |
|
|
|
|
} |
|
|
|
@ -69537,15 +69643,14 @@ BI.IconTextValueCombo = BI.inherit(BI.Widget, {
|
|
|
|
|
return BI.extend(BI.IconTextValueCombo.superclass._defaultConfig.apply(this, arguments), { |
|
|
|
|
baseClass: "bi-icon-text-value-combo", |
|
|
|
|
height: 30, |
|
|
|
|
value: "", |
|
|
|
|
el: {} |
|
|
|
|
value: "" |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
_init: function () { |
|
|
|
|
BI.IconTextValueCombo.superclass._init.apply(this, arguments); |
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
this.trigger = BI.createWidget(o.el, { |
|
|
|
|
this.trigger = BI.createWidget({ |
|
|
|
|
type: "bi.select_icon_text_trigger", |
|
|
|
|
items: o.items, |
|
|
|
|
height: o.height, |
|
|
|
@ -69742,7 +69847,7 @@ BI.TextValueCheckCombo = BI.inherit(BI.Widget, {
|
|
|
|
|
_init: function () { |
|
|
|
|
BI.TextValueCheckCombo.superclass._init.apply(this, arguments); |
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
this.trigger = BI.createWidget(o.el, { |
|
|
|
|
this.trigger = BI.createWidget({ |
|
|
|
|
type: "bi.select_text_trigger", |
|
|
|
|
items: o.items, |
|
|
|
|
height: o.height, |
|
|
|
@ -69940,15 +70045,14 @@ BI.TextValueCombo = BI.inherit(BI.Widget, {
|
|
|
|
|
height: 30, |
|
|
|
|
chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE, |
|
|
|
|
text: "", |
|
|
|
|
value: "", |
|
|
|
|
el: {} |
|
|
|
|
value: "" |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
_init: function () { |
|
|
|
|
BI.TextValueCombo.superclass._init.apply(this, arguments); |
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
this.trigger = BI.createWidget(o.el, { |
|
|
|
|
this.trigger = BI.createWidget({ |
|
|
|
|
type: "bi.select_text_trigger", |
|
|
|
|
items: o.items, |
|
|
|
|
height: o.height, |
|
|
|
@ -80559,6 +80663,7 @@ BI.shortcut("bi.date_combo", BI.DateCombo);BI.DateTrigger = BI.inherit(BI.Trigge
|
|
|
|
|
el: this.editor |
|
|
|
|
}] |
|
|
|
|
}); |
|
|
|
|
this.setValue(o.value); |
|
|
|
|
}, |
|
|
|
|
_dateCheck: function (date) { |
|
|
|
|
return Date.parseDateTime(date, "%Y-%x-%d").print("%Y-%x-%d") == date || Date.parseDateTime(date, "%Y-%X-%d").print("%Y-%X-%d") == date || Date.parseDateTime(date, "%Y-%x-%e").print("%Y-%x-%e") == date || Date.parseDateTime(date, "%Y-%X-%e").print("%Y-%X-%e") == date; |
|
|
|
@ -80835,6 +80940,7 @@ BI.DatePaneWidget = BI.inherit(BI.Widget, {
|
|
|
|
|
self.setValue(self.selectedTime); |
|
|
|
|
self.fireEvent(BI.DateCalendarPopup.EVENT_CHANGE); |
|
|
|
|
}); |
|
|
|
|
this.setValue(o.selectedTime); |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
@ -84572,7 +84678,8 @@ BI.MonthCombo = BI.inherit(BI.Widget, {
|
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
|
|
|
|
|
this.trigger = BI.createWidget({ |
|
|
|
|
type: "bi.month_trigger" |
|
|
|
|
type: "bi.month_trigger", |
|
|
|
|
value: o.value |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.trigger.on(BI.MonthTrigger.EVENT_CONFIRM, function (v) { |
|
|
|
@ -84600,7 +84707,8 @@ BI.MonthCombo = BI.inherit(BI.Widget, {
|
|
|
|
|
|
|
|
|
|
this.popup = BI.createWidget({ |
|
|
|
|
type: "bi.month_popup", |
|
|
|
|
behaviors: o.behaviors |
|
|
|
|
behaviors: o.behaviors, |
|
|
|
|
value: o.value |
|
|
|
|
}); |
|
|
|
|
this.popup.on(BI.MonthPopup.EVENT_CHANGE, function () { |
|
|
|
|
self.setValue(self.popup.getValue()); |
|
|
|
@ -84698,7 +84806,8 @@ BI.MonthPopup = BI.inherit(BI.Widget, {
|
|
|
|
|
type: "bi.center_adapt", |
|
|
|
|
vgap: 1, |
|
|
|
|
hgap: 2 |
|
|
|
|
}] |
|
|
|
|
}], |
|
|
|
|
value: o.value |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.month.on(BI.Controller.EVENT_CHANGE, function (type) { |
|
|
|
@ -84803,6 +84912,7 @@ BI.MonthTrigger = BI.inherit(BI.Trigger, {
|
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}); |
|
|
|
|
this.setValue(o.value); |
|
|
|
|
}, |
|
|
|
|
setValue: function (v) { |
|
|
|
|
if(BI.isNotNull(v)) { |
|
|
|
@ -85003,11 +85113,12 @@ BI.MultiDateCombo = BI.inherit(BI.Single, {
|
|
|
|
|
var self = this, opts = this.options; |
|
|
|
|
this.storeTriggerValue = ""; |
|
|
|
|
var date = Date.getDate(); |
|
|
|
|
this.storeValue = null; |
|
|
|
|
this.storeValue = opts.value; |
|
|
|
|
this.trigger = BI.createWidget({ |
|
|
|
|
type: "bi.date_trigger", |
|
|
|
|
min: this.constants.DATE_MIN_VALUE, |
|
|
|
|
max: this.constants.DATE_MAX_VALUE |
|
|
|
|
max: this.constants.DATE_MAX_VALUE, |
|
|
|
|
value: opts.value |
|
|
|
|
}); |
|
|
|
|
this.trigger.on(BI.DateTrigger.EVENT_KEY_DOWN, function () { |
|
|
|
|
if (self.combo.isViewVisible()) { |
|
|
|
@ -85061,7 +85172,8 @@ BI.MultiDateCombo = BI.inherit(BI.Single, {
|
|
|
|
|
this.popup = BI.createWidget({ |
|
|
|
|
type: "bi.multidate_popup", |
|
|
|
|
min: this.constants.DATE_MIN_VALUE, |
|
|
|
|
max: this.constants.DATE_MAX_VALUE |
|
|
|
|
max: this.constants.DATE_MAX_VALUE, |
|
|
|
|
value: opts.value |
|
|
|
|
}); |
|
|
|
|
this.popup.on(BI.MultiDatePopup.BUTTON_CLEAR_EVENT_CHANGE, function () { |
|
|
|
|
self.setValue(); |
|
|
|
@ -85155,6 +85267,8 @@ BI.MultiDateCombo = BI.inherit(BI.Single, {
|
|
|
|
|
self.comboWrapper = _ref; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this._checkDynamicValue(opts.value); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
_checkDynamicValue: function (v) { |
|
|
|
@ -85552,6 +85666,7 @@ BI.MultiDatePopup = BI.inherit(BI.Widget, {
|
|
|
|
|
height: 30 |
|
|
|
|
}] |
|
|
|
|
}); |
|
|
|
|
this.setValue(opts.value); |
|
|
|
|
}, |
|
|
|
|
_setInnerValue: function (obj) { |
|
|
|
|
if (this.dateTab.getSelect() === BI.MultiDateCombo.MULTI_DATE_YMD_CARD) { |
|
|
|
@ -91324,6 +91439,8 @@ BI.NumberInterval = BI.inherit(BI.Single, {
|
|
|
|
|
self._setComboValueChangedEvent(self.smallCombo); |
|
|
|
|
self._setEditorValueChangedEvent(self.bigEditor); |
|
|
|
|
self._setEditorValueChangedEvent(self.smallEditor); |
|
|
|
|
|
|
|
|
|
this.setValue(o.value); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
_checkValidation: function () { |
|
|
|
@ -92816,7 +92933,8 @@ BI.QuarterCombo = BI.inherit(BI.Widget, {
|
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
this.storeValue = ""; |
|
|
|
|
this.trigger = BI.createWidget({ |
|
|
|
|
type: "bi.quarter_trigger" |
|
|
|
|
type: "bi.quarter_trigger", |
|
|
|
|
value: o.value |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.trigger.on(BI.QuarterTrigger.EVENT_FOCUS, function () { |
|
|
|
@ -92843,7 +92961,8 @@ BI.QuarterCombo = BI.inherit(BI.Widget, {
|
|
|
|
|
}); |
|
|
|
|
this.popup = BI.createWidget({ |
|
|
|
|
type: "bi.quarter_popup", |
|
|
|
|
behaviors: o.behaviors |
|
|
|
|
behaviors: o.behaviors, |
|
|
|
|
value: o.value |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.popup.on(BI.QuarterPopup.EVENT_CHANGE, function () { |
|
|
|
@ -92901,7 +93020,7 @@ BI.QuarterPopup = BI.inherit(BI.Widget, {
|
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
|
|
|
|
|
var items = [{ |
|
|
|
|
text: Date._QN[01], |
|
|
|
|
text: Date._QN[1], |
|
|
|
|
value: 1 |
|
|
|
|
}, { |
|
|
|
|
text: Date._QN[2], |
|
|
|
@ -92932,7 +93051,8 @@ BI.QuarterPopup = BI.inherit(BI.Widget, {
|
|
|
|
|
items: BI.createItems(items, {}), |
|
|
|
|
layouts: [{ |
|
|
|
|
type: "bi.vertical" |
|
|
|
|
}] |
|
|
|
|
}], |
|
|
|
|
value: o.value |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.quarter.on(BI.Controller.EVENT_CHANGE, function (type) { |
|
|
|
@ -93039,6 +93159,7 @@ BI.QuarterTrigger = BI.inherit(BI.Trigger, {
|
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}); |
|
|
|
|
this.setValue(o.value); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
setValue: function (v) { |
|
|
|
@ -98770,11 +98891,12 @@ BI.TimeInterval = BI.inherit(BI.Single, {
|
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
_init: function () { |
|
|
|
|
var self = this; |
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
BI.TimeInterval.superclass._init.apply(this, arguments); |
|
|
|
|
|
|
|
|
|
this.left = this._createCombo(); |
|
|
|
|
this.right = this._createCombo(); |
|
|
|
|
o.value = o.value || {}; |
|
|
|
|
this.left = this._createCombo(o.value.start); |
|
|
|
|
this.right = this._createCombo(o.value.end); |
|
|
|
|
this.label = BI.createWidget({ |
|
|
|
|
type: "bi.label", |
|
|
|
|
height: this.constants.height, |
|
|
|
@ -98815,10 +98937,11 @@ BI.TimeInterval = BI.inherit(BI.Single, {
|
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
_createCombo: function () { |
|
|
|
|
_createCombo: function (v) { |
|
|
|
|
var self = this; |
|
|
|
|
var combo = BI.createWidget({ |
|
|
|
|
type: "bi.multidate_combo" |
|
|
|
|
type: "bi.multidate_combo", |
|
|
|
|
value: v |
|
|
|
|
}); |
|
|
|
|
combo.on(BI.MultiDateCombo.EVENT_ERROR, function () { |
|
|
|
|
self._clearTitle(); |
|
|
|
@ -98962,7 +99085,8 @@ BI.YearCombo = BI.inherit(BI.Widget, {
|
|
|
|
|
this.trigger = BI.createWidget({ |
|
|
|
|
type: "bi.year_trigger", |
|
|
|
|
min: o.min, |
|
|
|
|
max: o.max |
|
|
|
|
max: o.max, |
|
|
|
|
value: o.value || "" |
|
|
|
|
}); |
|
|
|
|
this.trigger.on(BI.YearTrigger.EVENT_FOCUS, function () { |
|
|
|
|
self.storeValue = this.getKey(); |
|
|
|
@ -99014,7 +99138,8 @@ BI.YearCombo = BI.inherit(BI.Widget, {
|
|
|
|
|
behaviors: o.behaviors, |
|
|
|
|
min: o.min, |
|
|
|
|
max: o.max |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
value: o.value || "" |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { |
|
|
|
@ -99077,7 +99202,7 @@ BI.YearPopup = BI.inherit(BI.Widget, {
|
|
|
|
|
|
|
|
|
|
_init: function () { |
|
|
|
|
BI.YearPopup.superclass._init.apply(this, arguments); |
|
|
|
|
var self = this; |
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
|
|
|
|
|
this.selectedYear = this._year = Date.getDate().getFullYear(); |
|
|
|
|
|
|
|
|
@ -99124,6 +99249,10 @@ BI.YearPopup = BI.inherit(BI.Widget, {
|
|
|
|
|
self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); |
|
|
|
|
self.fireEvent(BI.YearPopup.EVENT_CHANGE, self.selectedYear); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
if(BI.isKey(o.value)){ |
|
|
|
|
this.setValue(o.value); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
getValue: function () { |
|
|
|
@ -99184,7 +99313,8 @@ BI.YearTrigger = BI.inherit(BI.Trigger, {
|
|
|
|
|
hgap: c.hgap, |
|
|
|
|
vgap: c.vgap, |
|
|
|
|
allowBlank: true, |
|
|
|
|
errorText: c.errorText |
|
|
|
|
errorText: c.errorText, |
|
|
|
|
value: o.value |
|
|
|
|
}); |
|
|
|
|
this.editor.on(BI.SignEditor.EVENT_FOCUS, function () { |
|
|
|
|
self.fireEvent(BI.YearTrigger.EVENT_FOCUS); |
|
|
|
@ -99268,14 +99398,18 @@ BI.YearMonthCombo = BI.inherit(BI.Widget, {
|
|
|
|
|
BI.YearMonthCombo.superclass._init.apply(this, arguments); |
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
|
|
|
|
|
o.value = o.value || {}; |
|
|
|
|
|
|
|
|
|
this.year = BI.createWidget({ |
|
|
|
|
type: "bi.year_combo", |
|
|
|
|
behaviors: o.yearBehaviors |
|
|
|
|
behaviors: o.yearBehaviors, |
|
|
|
|
value: o.value.year |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.month = BI.createWidget({ |
|
|
|
|
type: "bi.month_combo", |
|
|
|
|
behaviors: o.monthBehaviors |
|
|
|
|
behaviors: o.monthBehaviors, |
|
|
|
|
value: o.value.month |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.year.on(BI.YearCombo.EVENT_CONFIRM, function () { |
|
|
|
@ -99335,14 +99469,18 @@ BI.YearQuarterCombo = BI.inherit(BI.Widget, {
|
|
|
|
|
BI.YearQuarterCombo.superclass._init.apply(this, arguments); |
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
|
|
|
|
|
o.value = o.value || {}; |
|
|
|
|
|
|
|
|
|
this.year = BI.createWidget({ |
|
|
|
|
type: "bi.year_combo", |
|
|
|
|
behaviors: o.yearBehaviors |
|
|
|
|
behaviors: o.yearBehaviors, |
|
|
|
|
value: o.value.year |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.quarter = BI.createWidget({ |
|
|
|
|
type: "bi.quarter_combo", |
|
|
|
|
behaviors: o.quarterBehaviors |
|
|
|
|
behaviors: o.quarterBehaviors, |
|
|
|
|
value: o.value.quarter |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.year.on(BI.YearCombo.EVENT_CONFIRM, function () { |
|
|
|
|