diff --git a/.eslintrc b/.eslintrc index 56c26d0b0..c435e6b66 100644 --- a/.eslintrc +++ b/.eslintrc @@ -29,6 +29,8 @@ "files": ["src/*.js","src/**/*.js", "demo/*.js", "demo/**/*.js", "i18n/**/*.js", "i18n/*.js", "test/**/*.js", "test/*.js"], "extends": "plugin:@fui/es5", "rules": { + "no-param-reassign": "off", + "quotes": [2, "double"], "comma-dangle": ["error", "never"] // 多行对象字面量中要求拖尾逗号 } }, { diff --git a/dist/font/iconfont.eot b/dist/font/iconfont.eot index 096920073..9db044108 100644 Binary files a/dist/font/iconfont.eot and b/dist/font/iconfont.eot differ diff --git a/dist/font/iconfont.svg b/dist/font/iconfont.svg index 828e25e8c..5a40b7253 100644 --- a/dist/font/iconfont.svg +++ b/dist/font/iconfont.svg @@ -14,6 +14,10 @@ /> + + + + diff --git a/dist/font/iconfont.ttf b/dist/font/iconfont.ttf index 063794e17..2200c297f 100644 Binary files a/dist/font/iconfont.ttf and b/dist/font/iconfont.ttf differ diff --git a/dist/font/iconfont.woff b/dist/font/iconfont.woff index 710b16b2b..dfeba9b00 100644 Binary files a/dist/font/iconfont.woff and b/dist/font/iconfont.woff differ diff --git a/dist/font/iconfont.woff2 b/dist/font/iconfont.woff2 index 8cb81ad6c..d85feabbd 100644 Binary files a/dist/font/iconfont.woff2 and b/dist/font/iconfont.woff2 differ diff --git a/package.json b/package.json index 91c37d60f..11010334d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211026182157", + "version": "2.0.20211102161149", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", diff --git a/src/base/combination/combo.js b/src/base/combination/combo.js index 0798ceae2..64192fe29 100644 --- a/src/base/combination/combo.js +++ b/src/base/combination/combo.js @@ -312,7 +312,7 @@ delete needHideWhenAnotherComboOpen[this.getName()]; BI.Widget._renderEngine.createElement(document).unbind("mousedown." + this.getName()).unbind("mousewheel." + this.getName()); - o.hideWhenBlur && BI.Widget._renderEngine.createElement(window).unbind("blur." + this.getName()); + BI.EVENT_BLUR && o.hideWhenBlur && BI.Widget._renderEngine.createElement(window).unbind("blur." + this.getName()); this.fireEvent(BI.Combo.EVENT_AFTER_HIDEVIEW); }, @@ -336,10 +336,10 @@ this.element.addClass(this.options.comboClass); BI.Widget._renderEngine.createElement(document).unbind("mousedown." + this.getName()).unbind("mousewheel." + this.getName()); - o.hideWhenBlur && BI.Widget._renderEngine.createElement(window).unbind("blur." + this.getName()); + BI.EVENT_BLUR && o.hideWhenBlur && BI.Widget._renderEngine.createElement(window).unbind("blur." + this.getName()); BI.Widget._renderEngine.createElement(document).bind("mousedown." + this.getName(), BI.bind(this._hideIf, this)).bind("mousewheel." + this.getName(), BI.bind(this._hideIf, this)); - o.hideWhenBlur && BI.Widget._renderEngine.createElement(window).bind("blur." + this.getName(), BI.bind(this._hideIf, this)); + BI.EVENT_BLUR && o.hideWhenBlur && BI.Widget._renderEngine.createElement(window).bind("blur." + this.getName(), BI.bind(this._hideIf, this)); this.fireEvent(BI.Combo.EVENT_AFTER_POPUPVIEW); }, diff --git a/src/base/list/virtualgrouplist.js b/src/base/list/virtualgrouplist.js index 56dd68bb1..95ed647e0 100644 --- a/src/base/list/virtualgrouplist.js +++ b/src/base/list/virtualgrouplist.js @@ -55,8 +55,16 @@ BI.VirtualGroupList = BI.inherit(BI.Widget, { mounted: function () { var self = this, o = this.options; this._populate(); + this._debounceRelease = BI.debounce(function () { + self._scrollLock = false; + }, 30); this.element.scroll(function (e) { + if (self._scrollLock === true) { + return; + } + self._scrollLock = true; o.scrollTop = self.element.scrollTop(); + self._debounceRelease(); self._calculateBlocksToRender(); }); BI.ResizeDetector.addResizeListener(this, function () { diff --git a/src/base/single/input/input.js b/src/base/single/input/input.js index 837d6d205..31c1ea296 100644 --- a/src/base/single/input/input.js +++ b/src/base/single/input/input.js @@ -24,7 +24,7 @@ BI.Input = BI.inherit(BI.Single, { var _keydown = BI.debounce(function (keyCode) { self.onKeyDown(keyCode, ctrlKey); self._keydown_ = false; - }, 300); + }, BI.EVENT_RESPONSE_TIME); var _clk = BI.debounce(BI.bind(this._click, this), BI.EVENT_RESPONSE_TIME, { "leading": true, "trailing": false @@ -95,11 +95,7 @@ BI.Input = BI.inherit(BI.Single, { _blur: function () { var self = this; - if (self._keydown_ === true) { - BI.delay(blur, 300); - } else { - blur(); - } + blur(); function blur () { if (!self.isValid() && self.options.quitChecker.apply(self, [BI.trim(self.getValue())]) !== false) { diff --git a/src/case/calendar/calendar.date.item.js b/src/case/calendar/calendar.date.item.js index b8ee105c6..9da26c663 100644 --- a/src/case/calendar/calendar.date.item.js +++ b/src/case/calendar/calendar.date.item.js @@ -21,8 +21,8 @@ BI.CalendarDateItem = BI.inherit(BI.BasicButton, { }, left: o.lgap, right: o.rgap, - top: 0, - bottom: 0 + top: o.tgap, + bottom: o.rgap }] }; }, @@ -50,4 +50,4 @@ BI.CalendarDateItem = BI.inherit(BI.BasicButton, { return this.text.getValue(); } }); -BI.shortcut("bi.calendar_date_item", BI.CalendarDateItem); \ No newline at end of file +BI.shortcut("bi.calendar_date_item", BI.CalendarDateItem); diff --git a/src/case/calendar/calendar.js b/src/case/calendar/calendar.js index fb762da7e..ddc12c071 100644 --- a/src/case/calendar/calendar.js +++ b/src/case/calendar/calendar.js @@ -100,8 +100,7 @@ BI.Calendar = BI.inherit(BI.Widget, { columns: 7, rows: 6, columnSize: [1 / 7, 1 / 7, 1 / 7, 1 / 7, 1 / 7, 1 / 7, 1 / 7], - rowSize: BI.SIZE_CONSANTS.LIST_ITEM_HEIGHT, - vgap: 10 + rowSize: BI.SIZE_CONSANTS.LIST_ITEM_HEIGHT + 10 }))] }); this.days.on(BI.Controller.EVENT_CHANGE, function () { @@ -111,7 +110,10 @@ BI.Calendar = BI.inherit(BI.Widget, { element: this }, BI.LogicFactory.createLogic("vertical", BI.extend({}, o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("top", title, this.days) + items: BI.LogicFactory.createLogicItemsByDirection("top", title, { + el: this.days, + tgap: -5 + }) })))); }, @@ -159,11 +161,13 @@ BI.Calendar = BI.inherit(BI.Widget, { whiteSpace: "normal", once: false, forceSelected: true, - height: BI.SIZE_CONSANTS.LIST_ITEM_HEIGHT, + height: BI.SIZE_CONSANTS.LIST_ITEM_HEIGHT + 10, value: o.year + "-" + month + "-" + td.text, disabled: td.lastMonth || td.nextMonth || td.disabled, lgap: 5, - rgap: 5 + rgap: 5, + tgap: 5, + bgap: 5 // selected: td.currentDay }); }); @@ -231,4 +235,4 @@ BI.extend(BI.Calendar, { } }); -BI.shortcut("bi.calendar", BI.Calendar); \ No newline at end of file +BI.shortcut("bi.calendar", BI.Calendar); diff --git a/src/core/9.popper.js b/src/core/8.popper.js similarity index 100% rename from src/core/9.popper.js rename to src/core/8.popper.js diff --git a/src/core/10.worker.js b/src/core/9.worker.js similarity index 100% rename from src/core/10.worker.js rename to src/core/9.worker.js diff --git a/src/core/constant/var.js b/src/core/constant/var.js index a5bad8f77..cc767737b 100644 --- a/src/core/constant/var.js +++ b/src/core/constant/var.js @@ -6,6 +6,7 @@ _.extend(BI, { MAX: 0xfffffffffffffff, MIN: -0xfffffffffffffff, EVENT_RESPONSE_TIME: 200, + EVENT_BLUR: true, zIndex_layer: 1e5, zIndex_popover: 1e6, zIndex_popup: 1e7, diff --git a/src/less/base/segment/button.segment.less b/src/less/base/segment/button.segment.less index fa24f8331..4a5597ce6 100644 --- a/src/less/base/segment/button.segment.less +++ b/src/less/base/segment/button.segment.less @@ -2,14 +2,14 @@ .bi-segment-button { color: @color-bi-text-highlight; - &.active { - &:active { - color: @color-bi-text; - background-color: @color-bi-background-highlight; - } - } - &:active { - color: @color-bi-text-highlight; - .background-color(@color-bi-background-highlight, 10%); - } -} \ No newline at end of file + //&.active { + // &:active { + // color: @color-bi-text; + // background-color: @color-bi-background-highlight; + // } + //} + //&:active { + // color: @color-bi-text-highlight; + // .background-color(@color-bi-background-highlight, 10%); + //} +} diff --git a/src/less/core/utils/list-item.less b/src/less/core/utils/list-item.less index f6e1a4549..8964830cd 100644 --- a/src/less/core/utils/list-item.less +++ b/src/less/core/utils/list-item.less @@ -337,13 +337,69 @@ } } +// hover的时候背景变化 -- 变灰 +// active的时候文字高亮背景变化 -- 变灰 +.bi-list-item-active3, .bi-list-item-select3 { + &:hover, &.hover { + background-color: @color-bi-background-normal; + } + &:active, &.active { + color: @color-bi-text-highlight; + & .bi-input { + color: @color-bi-text-highlight; + } + & .bi-textarea { + color: @color-bi-text-highlight; + } + background-color: @color-bi-background-normal; + } + &.disabled { + &:hover, &.hover, &:active, &.active { + background-color: @color-bi-background-default !important; + } + } +} + +.bi-theme-dark { + .bi-list-item-active3, .bi-list-item-select3 { + &:hover, &.hover { + background-color: @color-bi-background-normal-theme-dark; + } + &:active, &.active { + color: @color-bi-text-highlight; + & .bi-input { + color: @color-bi-text-highlight; + } + & .bi-textarea { + color: @color-bi-text-highlight; + } + background-color: @color-bi-background-normal-theme-dark; + } + &.disabled { + &:hover, &.hover, &:active, &.active { + background-color: @color-bi-background-default-theme-dark !important; + } + } + } +} + // hover的时候背景变化 // active的时候背景高亮 .bi-list-item-select { &:hover, &.hover { .background-color(@color-bi-background-highlight, 10%); } - &:active, &.active { + &:active { + color: @color-bi-text-highlight; + & .bi-input { + color: @color-bi-text-highlight; + } + & .bi-textarea { + color: @color-bi-text-highlight; + } + .background-color(@color-bi-background-highlight, 15%); + } + &.active { color: @color-bi-text; & .bi-input { color: @color-bi-text; @@ -471,7 +527,17 @@ } .background-color(@color-bi-background-default, 5%); } - &:active, &.active { + &:active { + color: @color-bi-text; + & .bi-input { + color: @color-bi-text; + } + & .bi-textarea { + color: @color-bi-text; + } + .background-color(@color-bi-background-default, 5%); + } + &.active { color: @color-bi-text; & .bi-input { color: @color-bi-text; @@ -600,52 +666,6 @@ } } -// hover的时候背景变化 -- 变灰 -// active的时候文字高亮背景变化 -- 变灰 -.bi-list-item-select3 { - &:hover, &.hover { - background-color: @color-bi-background-normal; - } - &:active, &.active { - color: @color-bi-text-highlight; - & .bi-input { - color: @color-bi-text-highlight; - } - & .bi-textarea { - color: @color-bi-text-highlight; - } - background-color: @color-bi-background-normal; - } - &.disabled { - &:hover, &.hover, &:active, &.active { - background-color: @color-bi-background-default !important; - } - } -} - -.bi-theme-dark { - .bi-list-item-select3 { - &:hover, &.hover { - background-color: @color-bi-background-normal-theme-dark; - } - &:active, &.active { - color: @color-bi-text-highlight; - & .bi-input { - color: @color-bi-text-highlight; - } - & .bi-textarea { - color: @color-bi-text-highlight; - } - background-color: @color-bi-background-normal-theme-dark; - } - &.disabled { - &:hover, &.hover, &:active, &.active { - background-color: @color-bi-background-default-theme-dark !important; - } - } - } -} - // 去掉list-item效果 .bi-list-item-none { &:hover, &.hover { diff --git a/src/widget/date/calendar/picker.date.js b/src/widget/date/calendar/picker.date.js index 458da3d7d..369982dfa 100644 --- a/src/widget/date/calendar/picker.date.js +++ b/src/widget/date/calendar/picker.date.js @@ -11,31 +11,32 @@ BI.DatePicker = BI.inherit(BI.Widget, { baseCls: "bi-date-picker", height: 40, min: "1900-01-01", // 最小日期 - max: "2099-12-31", // 最大日期 + max: "2099-12-31" // 最大日期 }); }, _init: function () { BI.DatePicker.superclass._init.apply(this, arguments); - var self = this; var o = this.options; + var self = this; + var o = this.options; this._year = BI.getDate().getFullYear(); this._month = BI.getDate().getMonth() + 1; this.left = BI.createWidget({ type: "bi.icon_button", cls: "pre-page-h-font", width: 24, - height: 24, + height: 24 }); this.left.on(BI.IconButton.EVENT_CHANGE, function () { if (self._month === 1) { self.setValue({ year: (self.year.getValue() - 1) || (BI.getDate().getFullYear() - 1), - month: 12, + month: 12 }); } else { self.setValue({ year: self.year.getValue() || BI.getDate().getFullYear(), - month: (self.month.getValue() - 1) || BI.getDate().getMonth(), + month: (self.month.getValue() - 1) || BI.getDate().getMonth() }); } self.fireEvent(BI.DatePicker.EVENT_CHANGE); @@ -47,19 +48,19 @@ BI.DatePicker = BI.inherit(BI.Widget, { type: "bi.icon_button", cls: "next-page-h-font", width: 24, - height: 24, + height: 24 }); this.right.on(BI.IconButton.EVENT_CHANGE, function () { if (self._month === 12) { self.setValue({ year: (self.year.getValue() + 1) || (BI.getDate().getFullYear() + 1), - month: 1, + month: 1 }); } else { self.setValue({ year: self.year.getValue() || BI.getDate().getFullYear(), - month: (self.month.getValue() + 1) || (BI.getDate().getMonth() + 2), + month: (self.month.getValue() + 1) || (BI.getDate().getMonth() + 2) }); } self.fireEvent(BI.DatePicker.EVENT_CHANGE); @@ -71,7 +72,7 @@ BI.DatePicker = BI.inherit(BI.Widget, { type: "bi.year_date_combo", behaviors: o.behaviors, min: o.min, - max: o.max, + max: o.max }); this.year.on(BI.YearDateCombo.EVENT_CHANGE, function () { self.setValue({ @@ -91,7 +92,7 @@ BI.DatePicker = BI.inherit(BI.Widget, { this.month.on(BI.MonthDateCombo.EVENT_CHANGE, function () { self.setValue({ year: self.year.getValue() || self._year, - month: self.month.getValue(), + month: self.month.getValue() }); self.fireEvent(BI.DatePicker.EVENT_CHANGE); }); @@ -105,33 +106,26 @@ BI.DatePicker = BI.inherit(BI.Widget, { items: [{ el: { type: "bi.center_adapt", - items: [this.left], + items: [this.left] }, - width: 24, + width: 24 }, { - type: "bi.center_adapt", - items: [{ - el: { - type: "bi.horizontal", - width: 120, - rgap: 10, - items: [{ - el: this.year, - lgap: 10, - }, this.month], - }, - }], + el: { + type: "bi.center_adapt", + hgap: 10, + items: [this.year, this.month] + } }, { el: { type: "bi.center_adapt", - items: [this.right], + items: [this.right] }, - width: 24, - }], + width: 24 + }] }); this.setValue({ year: this._year, - month: this._month, + month: this._month }); }, @@ -177,7 +171,7 @@ BI.DatePicker = BI.inherit(BI.Widget, { return valid; }, - _getCheckMinMaxDate: function() { + _getCheckMinMaxDate: function () { var o = this.options; var minDate = BI.parseDateTime(o.min, "%Y-%X-%d"); var maxDate = BI.parseDateTime(o.max, "%Y-%X-%d"); @@ -219,9 +213,9 @@ BI.DatePicker = BI.inherit(BI.Widget, { getValue: function () { return { year: this.year.getValue(), - month: this.month.getValue(), + month: this.month.getValue() }; - }, + } }); BI.DatePicker.EVENT_CHANGE = "EVENT_CHANGE"; BI.DatePicker.EVENT_BEFORE_YEAR_MONTH_POPUPVIEW = "EVENT_BEFORE_YEAR_MONTH_POPUPVIEW"; diff --git a/src/widget/date/calendar/popup.calendar.date.js b/src/widget/date/calendar/popup.calendar.date.js index 9ddf99649..1a353afef 100644 --- a/src/widget/date/calendar/popup.calendar.date.js +++ b/src/widget/date/calendar/popup.calendar.date.js @@ -88,7 +88,7 @@ BI.DateCalendarPopup = BI.inherit(BI.Widget, { items: [{ el: this.calendar, hgap: 5, - bgap: 12 + bgap: 7 }] }, { type: "bi.absolute", @@ -148,4 +148,4 @@ BI.DateCalendarPopup = BI.inherit(BI.Widget, { }); BI.DateCalendarPopup.EVENT_CHANGE = "EVENT_CHANGE"; BI.DateCalendarPopup.EVENT_BEFORE_YEAR_MONTH_POPUPVIEW = "EVENT_BEFORE_YEAR_MONTH_POPUPVIEW"; -BI.shortcut("bi.date_calendar_popup", BI.DateCalendarPopup); \ No newline at end of file +BI.shortcut("bi.date_calendar_popup", BI.DateCalendarPopup); diff --git a/src/widget/multiselect/check/multiselect.check.pane.js b/src/widget/multiselect/check/multiselect.check.pane.js index d9b2b8b9c..958375876 100644 --- a/src/widget/multiselect/check/multiselect.check.pane.js +++ b/src/widget/multiselect/check/multiselect.check.pane.js @@ -39,6 +39,7 @@ BI.MultiSelectCheckPane = BI.inherit(BI.Widget, { callback({ items: BI.map(self.storeValue.value, function (i, v) { var txt = opts.valueFormatter(v) || v; + return { text: txt, value: v, @@ -46,6 +47,7 @@ BI.MultiSelectCheckPane = BI.inherit(BI.Widget, { }; }) }); + return; } opts.itemsCreator(op, callback); @@ -54,6 +56,7 @@ BI.MultiSelectCheckPane = BI.inherit(BI.Widget, { this.continueSelect = BI.createWidget({ type: "bi.text_button", + title: BI.i18nText("BI-Continue_Select"), text: BI.i18nText("BI-Continue_Select"), cls: "multi-select-check-selected bi-high-light" }); @@ -69,18 +72,20 @@ BI.MultiSelectCheckPane = BI.inherit(BI.Widget, { height: this.constants.height, el: { type: "bi.vertical_adapt", + columnSize: ["auto", "auto"], cls: "multi-select-continue-select", items: [ { el: { type: "bi.label", + title: BI.i18nText("BI-Selected_Data"), text: BI.i18nText("BI-Selected_Data") }, lgap: this.constants.lgap }, { el: this.continueSelect, - lgap: this.constants.lgap + hgap: this.constants.lgap }] }, tgap: this.constants.tgap @@ -105,4 +110,4 @@ BI.MultiSelectCheckPane = BI.inherit(BI.Widget, { } }); -BI.shortcut("bi.multi_select_check_pane", BI.MultiSelectCheckPane); \ No newline at end of file +BI.shortcut("bi.multi_select_check_pane", BI.MultiSelectCheckPane); diff --git a/src/widget/multiselect/multiselect.insert.combo.nobar.js b/src/widget/multiselect/multiselect.insert.combo.nobar.js index 226cc5260..fe1293a5c 100644 --- a/src/widget/multiselect/multiselect.insert.combo.nobar.js +++ b/src/widget/multiselect/multiselect.insert.combo.nobar.js @@ -401,7 +401,7 @@ BI.MultiSelectInsertNoBarCombo = BI.inherit(BI.Single, { callback(); function adjust () { if (self.wants2Quit === true) { - self.fireEvent(BI.MultiSelectInsertNoBarCombo.EVENT_CONFIRM); + self._dataChange && self.fireEvent(BI.MultiSelectInsertNoBarCombo.EVENT_CONFIRM); self.wants2Quit = false; } self.requesting = false; diff --git a/src/widget/multitree/check/multi.tree.check.pane.js b/src/widget/multitree/check/multi.tree.check.pane.js index b73f8d1ec..598a19f21 100644 --- a/src/widget/multitree/check/multi.tree.check.pane.js +++ b/src/widget/multitree/check/multi.tree.check.pane.js @@ -30,6 +30,7 @@ BI.MultiTreeCheckPane = BI.inherit(BI.Pane, { var continueSelect = BI.createWidget({ type: "bi.text_button", + title: BI.i18nText("BI-Continue_Select"), text: BI.i18nText("BI-Continue_Select"), cls: "multi-tree-check-selected" }); @@ -41,12 +42,14 @@ BI.MultiTreeCheckPane = BI.inherit(BI.Pane, { }); var backToPopup = BI.createWidget({ - type: "bi.left", + type: "bi.vertical_adapt", + columnSize: ["auto", "auto"], cls: "multi-tree-continue-select", items: [ { el: { type: "bi.label", + title: BI.i18nText("BI-Selected_Data"), text: BI.i18nText("BI-Selected_Data") }, lgap: this.constants.lgap, @@ -54,7 +57,7 @@ BI.MultiTreeCheckPane = BI.inherit(BI.Pane, { }, { el: continueSelect, - lgap: this.constants.lgap, + hgap: this.constants.lgap, tgap: this.constants.tgap }] }); @@ -92,7 +95,6 @@ BI.MultiTreeCheckPane = BI.inherit(BI.Pane, { el: this.display }] }); - }, empty: function () { @@ -116,4 +118,4 @@ BI.MultiTreeCheckPane = BI.inherit(BI.Pane, { BI.MultiTreeCheckPane.EVENT_CONTINUE_CLICK = "EVENT_CONTINUE_CLICK"; -BI.shortcut("bi.multi_tree_check_pane", BI.MultiTreeCheckPane); \ No newline at end of file +BI.shortcut("bi.multi_tree_check_pane", BI.MultiTreeCheckPane); diff --git a/src/widget/searchmultitextvaluecombo/multitextvalue.combo.search.js b/src/widget/searchmultitextvaluecombo/multitextvalue.combo.search.js index def624c1b..cb7fddf9a 100644 --- a/src/widget/searchmultitextvaluecombo/multitextvalue.combo.search.js +++ b/src/widget/searchmultitextvaluecombo/multitextvalue.combo.search.js @@ -333,7 +333,7 @@ BI.SearchMultiTextValueCombo = BI.inherit(BI.Single, { self._updateAllValue(); self._checkError(); if (self.wants2Quit === true) { - self.fireEvent(BI.SearchMultiTextValueCombo.EVENT_CONFIRM); + self._dataChange && self.fireEvent(BI.SearchMultiTextValueCombo.EVENT_CONFIRM); self.wants2Quit = false; } self.requesting = false; diff --git a/src/widget/singleselect/singleselect.combo.js b/src/widget/singleselect/singleselect.combo.js index 00f3ec366..729b666ef 100644 --- a/src/widget/singleselect/singleselect.combo.js +++ b/src/widget/singleselect/singleselect.combo.js @@ -64,6 +64,7 @@ BI.SingleSelectCombo = BI.inherit(BI.Single, { self.fireEvent(BI.SingleSelectCombo.EVENT_STOP); }); this.trigger.on(BI.SingleSelectTrigger.EVENT_SEARCHING, function () { + self._dataChange = true; self.fireEvent(BI.SingleSelectCombo.EVENT_SEARCHING); }); @@ -71,6 +72,7 @@ BI.SingleSelectCombo = BI.inherit(BI.Single, { self.storeValue = this.getValue(); assertShowValue(); self._defaultState(); + self._dataChange = true; }); this.trigger.on(BI.SingleSelectTrigger.EVENT_COUNTER_CLICK, function () { if (!self.combo.isViewVisible()) { @@ -95,6 +97,7 @@ BI.SingleSelectCombo = BI.inherit(BI.Single, { listeners: [{ eventName: BI.SingleSelectPopupView.EVENT_CHANGE, action: function () { + self._dataChange = true; self.storeValue = this.getValue(); self._adjust(function () { assertShowValue(); @@ -120,6 +123,9 @@ BI.SingleSelectCombo = BI.inherit(BI.Single, { }); this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { + if (!this.isViewVisible()) { + self._dataChange = false;// 标记数据是否发生变化 + } this.setValue(self.storeValue); BI.nextTick(function () { self.populate(); @@ -133,7 +139,7 @@ BI.SingleSelectCombo = BI.inherit(BI.Single, { if (self.requesting === true) { self.wants2Quit = true; } else { - self.fireEvent(BI.SingleSelectCombo.EVENT_CONFIRM); + self._dataChange && self.fireEvent(BI.SingleSelectCombo.EVENT_CONFIRM); } }); @@ -173,7 +179,8 @@ BI.SingleSelectCombo = BI.inherit(BI.Single, { this.combo.hideView(); }, - _assertValue: function (val) {}, + _assertValue: function (val) { + }, _makeMap: function (values) { return BI.makeObject(values || []); @@ -220,7 +227,7 @@ BI.SingleSelectCombo = BI.inherit(BI.Single, { function adjust () { if (self.wants2Quit === true) { - self.fireEvent(BI.SingleSelectCombo.EVENT_CONFIRM); + self._dataChange && self.fireEvent(BI.SingleSelectCombo.EVENT_CONFIRM); self.wants2Quit = false; } self.requesting = false; diff --git a/src/widget/singleselect/singleselect.insert.combo.js b/src/widget/singleselect/singleselect.insert.combo.js index d94f97197..fc5d7db7a 100644 --- a/src/widget/singleselect/singleselect.insert.combo.js +++ b/src/widget/singleselect/singleselect.insert.combo.js @@ -75,6 +75,7 @@ BI.SingleSelectInsertCombo = BI.inherit(BI.Single, { self._defaultState(); }); this.trigger.on(BI.SingleSelectTrigger.EVENT_SEARCHING, function () { + self._dataChange = true; self.fireEvent(BI.SingleSelectInsertCombo.EVENT_SEARCHING); }); @@ -82,6 +83,7 @@ BI.SingleSelectInsertCombo = BI.inherit(BI.Single, { self.storeValue = this.getValue(); assertShowValue(); self._defaultState(); + self._dataChange = true; }); this.trigger.on(BI.SingleSelectTrigger.EVENT_COUNTER_CLICK, function () { if (!self.combo.isViewVisible()) { @@ -106,6 +108,7 @@ BI.SingleSelectInsertCombo = BI.inherit(BI.Single, { listeners: [{ eventName: BI.SingleSelectPopupView.EVENT_CHANGE, action: function () { + self._dataChange = true; self.storeValue = this.getValue(); self._adjust(function () { assertShowValue(); @@ -131,6 +134,9 @@ BI.SingleSelectInsertCombo = BI.inherit(BI.Single, { }); this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { + if (!this.isViewVisible()) { + self._dataChange = false;// 标记数据是否发生变化 + } this.setValue(self.storeValue); BI.nextTick(function () { self.populate(); @@ -144,7 +150,7 @@ BI.SingleSelectInsertCombo = BI.inherit(BI.Single, { if (self.requesting === true) { self.wants2Quit = true; } else { - self.fireEvent(BI.SingleSelectInsertCombo.EVENT_CONFIRM); + self._dataChange && self.fireEvent(BI.SingleSelectInsertCombo.EVENT_CONFIRM); } }); @@ -198,7 +204,7 @@ BI.SingleSelectInsertCombo = BI.inherit(BI.Single, { function adjust () { if (self.wants2Quit === true) { - self.fireEvent(BI.SingleSelectInsertCombo.EVENT_CONFIRM); + self._dataChange && self.fireEvent(BI.SingleSelectInsertCombo.EVENT_CONFIRM); self.wants2Quit = false; } self.requesting = false; @@ -237,4 +243,4 @@ BI.SingleSelectInsertCombo.EVENT_SEARCHING = "EVENT_SEARCHING"; BI.SingleSelectInsertCombo.EVENT_CLICK_ITEM = "EVENT_CLICK_ITEM"; BI.SingleSelectInsertCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.shortcut("bi.single_select_insert_combo", BI.SingleSelectInsertCombo); \ No newline at end of file +BI.shortcut("bi.single_select_insert_combo", BI.SingleSelectInsertCombo); diff --git a/src/widget/timeinterval/dateinterval.js b/src/widget/timeinterval/dateinterval.js index 69a5b9c87..ca6895301 100644 --- a/src/widget/timeinterval/dateinterval.js +++ b/src/widget/timeinterval/dateinterval.js @@ -73,6 +73,7 @@ BI.DateInterval = BI.inherit(BI.Single, { minDate: o.minDate, maxDate: o.maxDate, behaviors: o.behaviors, + watermark: o.watermark, value: v, height: o.height, listeners: [{ diff --git a/src/widget/timeinterval/timeinterval.js b/src/widget/timeinterval/timeinterval.js index 14367889f..56a9df8fb 100644 --- a/src/widget/timeinterval/timeinterval.js +++ b/src/widget/timeinterval/timeinterval.js @@ -73,6 +73,7 @@ BI.TimeInterval = BI.inherit(BI.Single, { minDate: o.minDate, maxDate: o.maxDate, behaviors: o.behaviors, + watermark: o.watermark, value: v, height: o.height, }); diff --git a/typescript/base/a/a.ts b/typescript/base/a/a.ts index 91e778dfd..08b76a5f9 100644 --- a/typescript/base/a/a.ts +++ b/typescript/base/a/a.ts @@ -4,5 +4,6 @@ export declare class A extends Text { static xtype: string; props: { href: string; + el: Obj; } & Text['props']; } diff --git a/typescript/widget/timeinterval/dateinterval.ts b/typescript/widget/timeinterval/dateinterval.ts index c8a1f5cd7..31001fe6a 100644 --- a/typescript/widget/timeinterval/dateinterval.ts +++ b/typescript/widget/timeinterval/dateinterval.ts @@ -12,6 +12,7 @@ export declare class DateInterval extends Single { minDate?: string; maxDate?: string; supportDynamic?: boolean; + watermark?: string; } & Single['props'] getValue(): { diff --git a/typescript/widget/timeinterval/timeinterval.ts b/typescript/widget/timeinterval/timeinterval.ts index 41c19660f..3f57695a4 100644 --- a/typescript/widget/timeinterval/timeinterval.ts +++ b/typescript/widget/timeinterval/timeinterval.ts @@ -11,6 +11,7 @@ export declare class TimeInterval extends Single { minDate?: string; maxDate?: string; supportDynamic?: boolean; + watermark?: string; } & Single['props'] getValue(): { diff --git a/webpack/attachments.js b/webpack/attachments.js index faacd3d7a..b463f5ee9 100644 --- a/webpack/attachments.js +++ b/webpack/attachments.js @@ -161,7 +161,7 @@ const fineuiProxy = [].concat( const fineuiWithoutJqueryAndPolyfillJs = [].concat( sync([ - "src/core/foundation.js", + "src/core/0.foundation.js", lodashJs, "src/core/**/*.js", "src/data/**/*.js",