Browse Source

Pull request #1404: 无JIRA任务 同步insert_combo的代码

Merge in VISUAL/fineui from ~WINDY/fui:master to master

* commit '83104257560490f3443b8e01a54ec24194ca3445':
  REPORT-35605 fix: 月份无法选择
  无JIRA任务 同步insert_combo的代码
es6
windy 4 years ago
parent
commit
4fc0ad2054
  1. 11
      src/widget/date/calendar/picker.date.js
  2. 24
      src/widget/multiselect/multiselect.combo.nobar.js

11
src/widget/date/calendar/picker.date.js

@ -141,9 +141,16 @@ BI.DatePicker = BI.inherit(BI.Widget, {
_getAllowMonths: function () {
var self = this, o = this.options;
var minDate = BI.parseDateTime(o.min, "%Y-%X-%d");
var maxDate = BI.parseDateTime(o.max, "%Y-%X-%d");
minDate.setDate(1);
maxDate.setDate(1);
var calcMin = BI.print(minDate, "%Y-%X-%d");
var calcMax = BI.print(maxDate, "%Y-%X-%d");
return BI.filter(BI.range(1, 13), function (idx, v) {
return !BI.checkDateVoid(self.year.getValue(), v, 1, o.min, o.max)[0];
})
return !BI.checkDateVoid(self.year.getValue(), v, 1, calcMin, calcMax)[0];
});
},
_checkLeftValid: function () {

24
src/widget/multiselect/multiselect.combo.nobar.js

@ -78,6 +78,11 @@ BI.MultiSelectNoBarCombo = BI.inherit(BI.Single, {
self._setStartValue("");
self.fireEvent(BI.MultiSelectNoBarCombo.EVENT_STOP);
});
this.trigger.on(BI.MultiSelectTrigger.EVENT_PAUSE, function () {
if (this.getSearcher().hasMatched()) {
self._addItem(assertShowValue);
}
});
this.trigger.on(BI.MultiSelectTrigger.EVENT_SEARCHING, function (keywords) {
var last = BI.last(keywords);
@ -272,6 +277,25 @@ BI.MultiSelectNoBarCombo = BI.inherit(BI.Single, {
});
},
_addItem: function (assertShowValue) {
var self = this;
var keyword = this.trigger.getSearcher().getKeyword();
this._join({
type: BI.Selection.Multi,
value: [keyword]
}, function () {
// 如果在不选的状态下直接把该值添加进来
if (self.storeValue.type === BI.Selection.Multi) {
BI.pushDistinct(self.storeValue.value, keyword);
}
self.combo.setValue(self.storeValue);
self._setStartValue(keyword);
assertShowValue();
self.populate();
self._setStartValue("");
});
},
_itemsCreator4Trigger: function (op, callback) {
var self = this, o = this.options;
o.itemsCreator(op, function (res) {

Loading…
Cancel
Save