From 75e428531ceb6ae1eaa740a024ea5f25c047c50e Mon Sep 17 00:00:00 2001 From: Kira Date: Mon, 29 Nov 2021 18:30:48 +0800 Subject: [PATCH 01/38] =?UTF-8?q?fix:=20=E6=89=93=E5=8C=85=E6=8A=A5?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/less/modern.less | 1 - 1 file changed, 1 deletion(-) diff --git a/src/less/modern.less b/src/less/modern.less index 7899aad05..9703cc17b 100644 --- a/src/less/modern.less +++ b/src/less/modern.less @@ -18,7 +18,6 @@ //base case @import "base/pane.less"; -@import "base/calendar/calendar.year.less"; @import "base/colorchooser/colorchooser.trigger.less"; @import "base/colorchooser/colorchooser.popup.less"; @import "base/colorchooser/colorpicker/button.colorpicker.less"; From 7be8309be8306e2c168316a78ee2e0e75c2df556 Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 30 Nov 2021 00:25:51 +0800 Subject: [PATCH 02/38] update --- src/base/single/button/button.basic.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/base/single/button/button.basic.js b/src/base/single/button/button.basic.js index de0ec5ebe..76ffb77ad 100644 --- a/src/base/single/button/button.basic.js +++ b/src/base/single/button/button.basic.js @@ -31,13 +31,7 @@ BI.BasicButton = BI.inherit(BI.Single, { _init: function () { BI.BasicButton.superclass._init.apply(this, arguments); var opts = this.options; - if (opts.selected === true) { - BI.nextTick(BI.bind(function () { - this.setSelected(opts.selected); - }, this)); - } - BI.nextTick(BI.bind(this.bindEvent, this)); - + if (opts.shadow) { this._createShadow(); } @@ -46,6 +40,14 @@ BI.BasicButton = BI.inherit(BI.Single, { } }, + _initRef: function () { + if (this.options.selected === true) { + this.setSelected(true); + } + this.bindEvent(); + BI.BasicButton.superclass._initRef.apply(this, arguments); + }, + // 默认render方法 render: function () { return this.options.el; From a6b305208e806b0da9ab693e52b3068173fe736e Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 30 Nov 2021 00:32:19 +0800 Subject: [PATCH 03/38] update --- src/base/single/button/button.node.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/base/single/button/button.node.js b/src/base/single/button/button.node.js index b8fda221f..a2baef060 100644 --- a/src/base/single/button/button.node.js +++ b/src/base/single/button/button.node.js @@ -15,12 +15,9 @@ BI.NodeButton = BI.inherit(BI.BasicButton, { }); }, - _init: function () { - BI.NodeButton.superclass._init.apply(this, arguments); - var self = this; - BI.nextTick(function () { - self.setOpened(self.isOpened()); - }); + _initRef: function () { + self.setOpened(self.isOpened()); + BI.BasicButton.superclass._initRef.apply(this, arguments); }, doClick: function () { From c465a7f2ca32141d78679f942d6a0278b90820c7 Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 30 Nov 2021 00:32:44 +0800 Subject: [PATCH 04/38] update --- src/base/single/button/button.node.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/base/single/button/button.node.js b/src/base/single/button/button.node.js index a2baef060..553ab850f 100644 --- a/src/base/single/button/button.node.js +++ b/src/base/single/button/button.node.js @@ -16,8 +16,8 @@ BI.NodeButton = BI.inherit(BI.BasicButton, { }, _initRef: function () { - self.setOpened(self.isOpened()); - BI.BasicButton.superclass._initRef.apply(this, arguments); + this.setOpened(this.isOpened()); + BI.NodeButton.superclass._initRef.apply(this, arguments); }, doClick: function () { From dfc24e2089196eba9e00e9af86379ddc09aa33b9 Mon Sep 17 00:00:00 2001 From: data Date: Tue, 30 Nov 2021 09:32:29 +0800 Subject: [PATCH 05/38] auto upgrade version to 2.0.20211130093207 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e1322a19e..966d01e0a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211124201415", + "version": "2.0.20211130093207", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From e2cd48d0caeac3ad050d53db6e580ece128987d3 Mon Sep 17 00:00:00 2001 From: windy <1374721899@qq.com> Date: Tue, 30 Nov 2021 14:20:03 +0800 Subject: [PATCH 06/38] =?UTF-8?q?BI-96264=20=E5=A4=8D=E9=80=89=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E6=A1=86=E4=B8=80=E6=AC=A1=E7=B2=98=E8=B4=B4=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=80=BC=E4=B8=AA=E6=95=B0=E6=9C=80=E5=A4=A7=E4=B8=BA?= =?UTF-8?q?2000?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelog.md | 4 ++++ i18n/i18n.cn.js | 3 ++- src/widget/multiselect/multiselect.insert.combo.js | 3 ++- src/widget/multiselect/multiselect.insert.combo.nobar.js | 3 ++- src/widget/multiselectlist/multiselectlist.insert.js | 3 ++- src/widget/multiselectlist/multiselectlist.insert.nobar.js | 3 ++- 6 files changed, 14 insertions(+), 5 deletions(-) diff --git a/changelog.md b/changelog.md index 74d3a0360..bbbb0f3c5 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,10 @@ # 更新日志 +2.0(2021-11) +- 限制了复选下拉框一次粘贴添加值个数最大2000 + 2.0(2021-10) - combo增加window.blur事件触发隐藏 + 2.0(2021-09) - 支持自动watch - 支持h函数传递left、right,优化left_right_vertical_adapt布局的jsx写法 diff --git a/i18n/i18n.cn.js b/i18n/i18n.cn.js index 77db2c53d..9a43ca507 100644 --- a/i18n/i18n.cn.js +++ b/i18n/i18n.cn.js @@ -197,5 +197,6 @@ BI.i18n = { "BI-Basic_Year_Month_Range_Error": "请选择{R1}年{R2}月-{R3}年{R4}月的日期", "BI-Basic_Year_Quarter_Range_Error": "请选择{R1}年{R2}季度-{R3}年{R4}季度的日期", "BI-Basic_Search_And_Patch_Paste": "搜索,支持批量粘贴、粘贴值通过换行识别", - "BI-Basic_Recommend_Color": "推荐色" + "BI-Basic_Recommend_Color": "推荐色", + "BI-Basic_Too_Much_Value_Get_Two_Thousand": "粘贴的值过多,只能识别出前2000个值" }; \ No newline at end of file diff --git a/src/widget/multiselect/multiselect.insert.combo.js b/src/widget/multiselect/multiselect.insert.combo.js index 35d005cd6..c77953401 100644 --- a/src/widget/multiselect/multiselect.insert.combo.js +++ b/src/widget/multiselect/multiselect.insert.combo.js @@ -81,7 +81,7 @@ BI.MultiSelectInsertCombo = BI.inherit(BI.Single, { var last = BI.last(keywords); keywords = BI.initial(keywords || []); if (keywords.length > 0) { - self._joinKeywords(keywords, function () { + self._joinKeywords(keywords.slice(0, 2000), function () { if (BI.endWith(last, BI.BlankSplitChar)) { self.combo.setValue(self.storeValue); assertShowValue(); @@ -93,6 +93,7 @@ BI.MultiSelectInsertCombo = BI.inherit(BI.Single, { } self._dataChange = true; }); + keywords.length > 2000 && BI.Msg.alert(BI.i18nText("BI-Basic_Prompt"), BI.i18nText("BI-Basic_Too_Much_Value_Get_Two_Thousand")); } self.fireEvent(BI.MultiSelectInsertCombo.EVENT_SEARCHING); }); diff --git a/src/widget/multiselect/multiselect.insert.combo.nobar.js b/src/widget/multiselect/multiselect.insert.combo.nobar.js index fe1293a5c..28065441e 100644 --- a/src/widget/multiselect/multiselect.insert.combo.nobar.js +++ b/src/widget/multiselect/multiselect.insert.combo.nobar.js @@ -76,7 +76,7 @@ BI.MultiSelectInsertNoBarCombo = BI.inherit(BI.Single, { var last = BI.last(keywords); keywords = BI.initial(keywords || []); if (keywords.length > 0) { - self._joinKeywords(keywords, function () { + self._joinKeywords(keywords.slice(0, 2000), function () { if (BI.endWith(last, BI.BlankSplitChar)) { self.combo.setValue(self.storeValue); assertShowValue(); @@ -88,6 +88,7 @@ BI.MultiSelectInsertNoBarCombo = BI.inherit(BI.Single, { } self._dataChange = true; }); + keywords.length > 2000 && BI.Msg.alert(BI.i18nText("BI-Basic_Prompt"), BI.i18nText("BI-Basic_Too_Much_Value_Get_Two_Thousand")); } }); diff --git a/src/widget/multiselectlist/multiselectlist.insert.js b/src/widget/multiselectlist/multiselectlist.insert.js index 2fe856a8e..b27d1271b 100644 --- a/src/widget/multiselectlist/multiselectlist.insert.js +++ b/src/widget/multiselectlist/multiselectlist.insert.js @@ -126,7 +126,7 @@ BI.MultiSelectInsertList = BI.inherit(BI.Single, { var last = BI.last(keywords); keywords = BI.initial(keywords || []); if (keywords.length > 0) { - self._joinKeywords(keywords, function () { + self._joinKeywords(keywords.slice(0, 2000), function () { if (BI.endWith(last, BI.BlankSplitChar)) { self.adapter.setValue(self.storeValue); assertShowValue(); @@ -138,6 +138,7 @@ BI.MultiSelectInsertList = BI.inherit(BI.Single, { } self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE); }); + keywords.length > 2000 && BI.Msg.alert(BI.i18nText("BI-Basic_Prompt"), BI.i18nText("BI-Basic_Too_Much_Value_Get_Two_Thousand")); } } }, { diff --git a/src/widget/multiselectlist/multiselectlist.insert.nobar.js b/src/widget/multiselectlist/multiselectlist.insert.nobar.js index e4b74eff3..6e5f1d65b 100644 --- a/src/widget/multiselectlist/multiselectlist.insert.nobar.js +++ b/src/widget/multiselectlist/multiselectlist.insert.nobar.js @@ -129,7 +129,7 @@ BI.MultiSelectInsertNoBarList = BI.inherit(BI.Single, { var last = BI.last(keywords); keywords = BI.initial(keywords || []); if (keywords.length > 0) { - self._joinKeywords(keywords, function () { + self._joinKeywords(keywords.slice(0, 2000), function () { if (BI.endWith(last, BI.BlankSplitChar)) { self.adapter.setValue(self.storeValue); assertShowValue(); @@ -141,6 +141,7 @@ BI.MultiSelectInsertNoBarList = BI.inherit(BI.Single, { } self.fireEvent(BI.MultiSelectInsertNoBarList.EVENT_CHANGE); }); + keywords.length > 2000 && BI.Msg.alert(BI.i18nText("BI-Basic_Prompt"), BI.i18nText("BI-Basic_Too_Much_Value_Get_Two_Thousand")); } } }, { From c4b1e2275a510810425d13c9a08a474ff282fbcb Mon Sep 17 00:00:00 2001 From: freddy Date: Tue, 30 Nov 2021 17:51:14 +0800 Subject: [PATCH 07/38] =?UTF-8?q?REPORT-60473=20fix:=E6=B0=B4=E5=8D=B0?= =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/case/editor/editor.sign.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/case/editor/editor.sign.js b/src/case/editor/editor.sign.js index 35ed78e4b..920e76c61 100644 --- a/src/case/editor/editor.sign.js +++ b/src/case/editor/editor.sign.js @@ -176,6 +176,7 @@ BI.SignEditor = BI.inherit(BI.Widget, { setWaterMark: function (v) { this.options.watermark = v; + this.text.setValue(v); this.editor.setWaterMark(v); }, From a3920385e14cb883cc336592629a5379a63204ca Mon Sep 17 00:00:00 2001 From: freddy Date: Tue, 30 Nov 2021 19:24:26 +0800 Subject: [PATCH 08/38] =?UTF-8?q?REPORT-60473=20fix:=E6=B0=B4=E5=8D=B0?= =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/case/editor/editor.sign.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/case/editor/editor.sign.js b/src/case/editor/editor.sign.js index 920e76c61..78029885e 100644 --- a/src/case/editor/editor.sign.js +++ b/src/case/editor/editor.sign.js @@ -176,7 +176,7 @@ BI.SignEditor = BI.inherit(BI.Widget, { setWaterMark: function (v) { this.options.watermark = v; - this.text.setValue(v); + this._checkText(); this.editor.setWaterMark(v); }, From 8463168cde760374da09b7a5f9f3fce166e760e7 Mon Sep 17 00:00:00 2001 From: data Date: Wed, 1 Dec 2021 11:08:11 +0800 Subject: [PATCH 09/38] auto upgrade version to 2.0.20211201110755 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 966d01e0a..f76a3972a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211130093207", + "version": "2.0.20211201110755", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From f2694e4de236edba093858eba1211bfd4aba3732 Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 2 Dec 2021 00:18:14 +0800 Subject: [PATCH 10/38] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/base/single/input/radio/radio.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/base/single/input/radio/radio.js b/src/base/single/input/radio/radio.js index 61096af65..f17e79e9e 100644 --- a/src/base/single/input/radio/radio.js +++ b/src/base/single/input/radio/radio.js @@ -19,7 +19,6 @@ BI.Radio = BI.inherit(BI.BasicButton, { var self = this, o = this.options; return { type: "bi.center_adapt", - element: this.element, items: [{ type: "bi.layout", cls: "radio-content", From 46d15297e6a94a598bba9ed62f6a4e966043f06c Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 2 Dec 2021 00:31:29 +0800 Subject: [PATCH 11/38] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/case/ztree/0.treeview.js | 2 +- src/widget/numberinterval/numberinterval.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/case/ztree/0.treeview.js b/src/case/ztree/0.treeview.js index f67c9291b..f9dd56f50 100644 --- a/src/case/ztree/0.treeview.js +++ b/src/case/ztree/0.treeview.js @@ -55,7 +55,7 @@ BI.TreeView = BI.inherit(BI.Pane, { }); BI.createWidget({ type: "bi.default", - element: this.element, + element: this, items: [this.tree] }); }, diff --git a/src/widget/numberinterval/numberinterval.js b/src/widget/numberinterval/numberinterval.js index b0b5579b5..9e2df9825 100644 --- a/src/widget/numberinterval/numberinterval.js +++ b/src/widget/numberinterval/numberinterval.js @@ -66,7 +66,7 @@ BI.NumberInterval = BI.inherit(BI.Single, { }); BI.createWidget({ type: "bi.absolute", - element: this.smallEditor.element, + element: this.smallEditor, items: [{ el: this.smallTip, top: 0, @@ -104,7 +104,7 @@ BI.NumberInterval = BI.inherit(BI.Single, { }); BI.createWidget({ type: "bi.absolute", - element: this.bigEditor.element, + element: this.bigEditor, items: [{ el: this.bigTip, top: 0, @@ -548,4 +548,4 @@ BI.NumberInterval.EVENT_CHANGE = "EVENT_CHANGE"; BI.NumberInterval.EVENT_CONFIRM = "EVENT_CONFIRM"; BI.NumberInterval.EVENT_VALID = "EVENT_VALID"; BI.NumberInterval.EVENT_ERROR = "EVENT_ERROR"; -BI.shortcut("bi.number_interval", BI.NumberInterval); \ No newline at end of file +BI.shortcut("bi.number_interval", BI.NumberInterval); From ebffd4322c7deb73f009368aad2d536b35294325 Mon Sep 17 00:00:00 2001 From: data Date: Thu, 2 Dec 2021 09:05:21 +0800 Subject: [PATCH 12/38] auto upgrade version to 2.0.20211202090501 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f76a3972a..f3fafdda1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211201110755", + "version": "2.0.20211202090501", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From a3161038d90bfe5d02cebb21b45183c2f22e0cd1 Mon Sep 17 00:00:00 2001 From: windy <1374721899@qq.com> Date: Fri, 3 Dec 2021 15:06:34 +0800 Subject: [PATCH 13/38] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?=E5=9B=9E=E6=BB=9A=E5=88=B0=E5=8E=9F=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/base/single/input/input.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/base/single/input/input.js b/src/base/single/input/input.js index 44605fc78..837d6d205 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; - }, BI.EVENT_RESPONSE_TIME); + }, 300); var _clk = BI.debounce(BI.bind(this._click, this), BI.EVENT_RESPONSE_TIME, { "leading": true, "trailing": false @@ -33,7 +33,10 @@ BI.Input = BI.inherit(BI.Single, { "leading": true, "trailing": false }); - this._blurDebounce = BI.debounce(BI.bind(this._blur, this), BI.EVENT_RESPONSE_TIME); + this._blurDebounce = BI.debounce(BI.bind(this._blur, this), BI.EVENT_RESPONSE_TIME, { + "leading": true, + "trailing": false + }); this.element .keydown(function (e) { inputEventValid = false; @@ -92,7 +95,11 @@ BI.Input = BI.inherit(BI.Single, { _blur: function () { var self = this; - blur(); + if (self._keydown_ === true) { + BI.delay(blur, 300); + } else { + blur(); + } function blur () { if (!self.isValid() && self.options.quitChecker.apply(self, [BI.trim(self.getValue())]) !== false) { From 5cc1422f358b62f7ff926a9fe2c728c9a5714633 Mon Sep 17 00:00:00 2001 From: data Date: Fri, 3 Dec 2021 15:25:12 +0800 Subject: [PATCH 14/38] auto upgrade version to 2.0.20211203152451 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f3fafdda1..628919d8d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211202090501", + "version": "2.0.20211203152451", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From 51e18e0fcfd615983337029b61cd80eddf60b2cd Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 3 Dec 2021 18:20:12 +0800 Subject: [PATCH 15/38] =?UTF-8?q?=E4=BD=BF=E7=94=A8BI.Model=E5=B0=B1?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E4=BA=86=EF=BC=8C=E4=B8=8D=E7=94=A8Fix.Model?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/fix/fix.compact.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dist/fix/fix.compact.js b/dist/fix/fix.compact.js index a2df708a6..35a642878 100644 --- a/dist/fix/fix.compact.js +++ b/dist/fix/fix.compact.js @@ -55,6 +55,8 @@ Fix.Model.target = target = targetStack.pop(); } + BI.Model = Fix.Model; + var oldWatch = Fix.watch; Fix.watch = function (model, expOrFn, cb, options) { if (BI.isPlainObject(cb)) { From b65f7337b0ccd70123dc16f4d5207bcd9693c797 Mon Sep 17 00:00:00 2001 From: data Date: Fri, 3 Dec 2021 20:13:42 +0800 Subject: [PATCH 16/38] auto upgrade version to 2.0.20211203201329 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 628919d8d..2456c0aa8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211203152451", + "version": "2.0.20211203201329", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From b71cae0184191c676956732f0101767c7649040c Mon Sep 17 00:00:00 2001 From: guy Date: Sat, 4 Dec 2021 15:16:07 +0800 Subject: [PATCH 17/38] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/base/single/button/button.node.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/base/single/button/button.node.js b/src/base/single/button/button.node.js index 553ab850f..8e17a4ea5 100644 --- a/src/base/single/button/button.node.js +++ b/src/base/single/button/button.node.js @@ -9,14 +9,16 @@ BI.NodeButton = BI.inherit(BI.BasicButton, { _defaultConfig: function () { var conf = BI.NodeButton.superclass._defaultConfig.apply(this, arguments); - return BI.extend( conf, { + return BI.extend(conf, { _baseCls: (conf._baseCls || "") + " bi-node", open: false }); }, _initRef: function () { - this.setOpened(this.isOpened()); + if (this.isOpened()) { + this.setOpened(this.isOpened()); + } BI.NodeButton.superclass._initRef.apply(this, arguments); }, @@ -38,14 +40,14 @@ BI.NodeButton = BI.inherit(BI.BasicButton, { }, triggerCollapse: function () { - if(this.isOpened()) { + if (this.isOpened()) { this.setOpened(false); this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, this.getValue(), this); } }, triggerExpand: function () { - if(!this.isOpened()) { + if (!this.isOpened()) { this.setOpened(true); this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, this.getValue(), this); } From e02a9cd5469401f738af1d05b2b017d349ed937d Mon Sep 17 00:00:00 2001 From: data Date: Sat, 4 Dec 2021 15:23:44 +0800 Subject: [PATCH 18/38] auto upgrade version to 2.0.20211204152331 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2456c0aa8..79b825607 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211203201329", + "version": "2.0.20211204152331", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From 16bfbf86a8c39c1e082a400413d5bb391644cf1b Mon Sep 17 00:00:00 2001 From: guy Date: Sat, 4 Dec 2021 22:25:56 +0800 Subject: [PATCH 19/38] =?UTF-8?q?=E5=93=8D=E5=BA=94=E5=BC=8F=E5=B8=83?= =?UTF-8?q?=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/dev.html | 445 ++++++++++++++++-- src/core/wrapper/layout.js | 51 +- src/core/wrapper/layout/layout.flow.js | 12 +- src/core/wrapper/layout/layout.td.js | 21 +- .../responsive/responsive.flex.horizontal.js | 70 +-- .../responsive.flex.wrapper.horizontal.js | 72 +-- .../layout/responsive/responsive.inline..js | 81 ++-- src/less/core/wrapper/flex.horizontal.less | 11 - .../core/wrapper/flex.wrapper.horizontal.less | 13 - 9 files changed, 580 insertions(+), 196 deletions(-) diff --git a/examples/dev.html b/examples/dev.html index 74f0eccdb..17bfd951b 100644 --- a/examples/dev.html +++ b/examples/dev.html @@ -1,46 +1,419 @@ - - - - + + + + + PullRequest | Code Review as a Service + + + - - -
- - + element: "#wrapper", + }); + + diff --git a/src/core/wrapper/layout.js b/src/core/wrapper/layout.js index 04ffa4fa4..08c60b681 100644 --- a/src/core/wrapper/layout.js +++ b/src/core/wrapper/layout.js @@ -267,26 +267,69 @@ BI.Layout = BI.inherit(BI.Widget, { this.options.items.splice(index, 1); }, + _clearGap: function (w) { + w.element.css({ + "margin-top": "", + "margin-bottom": "", + "margin-left": "", + "margin-right": "", + }) + }, + _handleGap: function (w, item, hIndex, vIndex) { var o = this.options; if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { + var top = ((BI.isNull(vIndex) || vIndex === 0) ? o.vgap : 0) + o.tgap + (item.tgap || 0) + (item.vgap || 0); w.element.css({ - "margin-top": (((BI.isNull(vIndex) || vIndex === 0) ? o.vgap : 0) + o.tgap + (item.tgap || 0) + (item.vgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-top": top >= 1 ? top / BI.pixRatio + BI.pixUnit : (top * 100).toFixed(1) + "%" }); } if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { + var left = ((BI.isNull(hIndex) || hIndex === 0) ? o.hgap : 0) + o.lgap + (item.lgap || 0) + (item.hgap || 0); w.element.css({ - "margin-left": (((BI.isNull(hIndex) || hIndex === 0) ? o.hgap : 0) + o.lgap + (item.lgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-left": left >= 1 ? left / BI.pixRatio + BI.pixUnit : (left * 100).toFixed(1) + "%" }); } if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { + var right = o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0); w.element.css({ - "margin-right": (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-right": right >= 1 ? right / BI.pixRatio + BI.pixUnit : (right * 100).toFixed(1) + "%" }); } if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { + var bottom = o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0); + w.element.css({ + "margin-bottom": bottom >= 1 ? bottom / BI.pixRatio + BI.pixUnit : (bottom * 100).toFixed(1) + "%" + }); + } + }, + + // 横向换纵向 + _handleReverseGap: function (w, item, index) { + var o = this.options; + if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { + var top = (index === 0 ? o.vgap : 0) + o.tgap + (item.tgap || 0) + (item.vgap || 0); + w.element.css({ + "margin-top": top >= 1 ? top / BI.pixRatio + BI.pixUnit : (top * 100).toFixed(1) + "%" + }); + } + if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { + var left = o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0); + w.element.css({ + "margin-left": left >= 1 ? left / BI.pixRatio + BI.pixUnit : (left * 100).toFixed(1) + "%" + }); + } + if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { + var right = o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0); + w.element.css({ + "margin-right": right >= 1 ? right / BI.pixRatio + BI.pixUnit : (right * 100).toFixed(1) + "%" + }); + } + // 这里的代码是关键 + if (o.vgap + o.hgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { + var bottom = (index === o.items.length - 1 ? o.vgap : o.hgap) + o.bgap + (item.bgap || 0) + (item.vgap || 0); w.element.css({ - "margin-bottom": (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-bottom": bottom >= 1 ? bottom / BI.pixRatio + BI.pixUnit : (bottom * 100).toFixed(1) + "%" }); } }, diff --git a/src/core/wrapper/layout/layout.flow.js b/src/core/wrapper/layout/layout.flow.js index 2061b4513..bf4403e84 100644 --- a/src/core/wrapper/layout/layout.flow.js +++ b/src/core/wrapper/layout/layout.flow.js @@ -42,23 +42,27 @@ BI.FloatLeftLayout = BI.inherit(BI.Layout, { w.element.css({bottom: BI.isNumber(item.bottom) ? item.bottom / BI.pixRatio + BI.pixUnit : item.bottom}); } if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { + var top = o.vgap / 2 + o.tgap + (item.tgap || 0) + (item.vgap || 0); w.element.css({ - "margin-top": (o.vgap / 2 + o.tgap + (item.tgap || 0) + (item.vgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-top": top >= 1 ? top / BI.pixRatio + BI.pixUnit : (top * 100).toFixed(1) + "%" }); } if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { + var left = o.hgap / 2 + o.lgap + (item.lgap || 0) + (item.hgap || 0); w.element.css({ - "margin-left": (o.hgap / 2 + o.lgap + (item.lgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-left": left >= 1 ? left / BI.pixRatio + BI.pixUnit : (left * 100).toFixed(1) + "%" }); } if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { + var right = o.hgap / 2 + o.rgap + (item.rgap || 0) + (item.hgap || 0); w.element.css({ - "margin-right": (o.hgap / 2 + o.rgap + (item.rgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-right": right >= 1 ? right / BI.pixRatio + BI.pixUnit : (right * 100).toFixed(1) + "%" }); } if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { + var bottom = o.vgap / 2 + o.bgap + (item.bgap || 0) + (item.vgap || 0); w.element.css({ - "margin-bottom": (o.vgap / 2 + o.bgap + (item.bgap || 0) + (item.vgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-bottom": bottom >= 1 ? bottom / BI.pixRatio + BI.pixUnit : (bottom * 100).toFixed(1) + "%" }); } return w; diff --git a/src/core/wrapper/layout/layout.td.js b/src/core/wrapper/layout/layout.td.js index ba5b2adef..ffd58a4ea 100644 --- a/src/core/wrapper/layout/layout.td.js +++ b/src/core/wrapper/layout/layout.td.js @@ -96,26 +96,7 @@ BI.TdLayout = BI.inherit(BI.Layout, { } w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"}); var item = arr[i]; - if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { - w.element.css({ - "margin-top": (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0)) / BI.pixRatio + BI.pixUnit - }); - } - if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { - w.element.css({ - "margin-left": ((i === 0 ? o.hgap : 0) + o.lgap + (item.lgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit - }); - } - if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { - w.element.css({ - "margin-right": (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit - }); - } - if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { - w.element.css({ - "margin-bottom": (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0)) / BI.pixRatio + BI.pixUnit - }); - } + this._handleGap(w, item, i); first(w, this.rows++, i); var width = ""; var columnSize = o.columnSize.length > 0 ? o.columnSize[i] : item.width; diff --git a/src/core/wrapper/layout/responsive/responsive.flex.horizontal.js b/src/core/wrapper/layout/responsive/responsive.flex.horizontal.js index 4d5fa2b27..70d7ddddb 100644 --- a/src/core/wrapper/layout/responsive/responsive.flex.horizontal.js +++ b/src/core/wrapper/layout/responsive/responsive.flex.horizontal.js @@ -6,42 +6,52 @@ * @extends BI.FlexHorizontalLayout */ BI.ResponsiveFlexHorizontalLayout = BI.inherit(BI.FlexHorizontalLayout, { - props: function () { - return BI.extend(BI.ResponsiveFlexHorizontalLayout.superclass.props.apply(this, arguments), { - extraCls: "bi-responsive-f-h" - }); - }, + // props: function () { + // return BI.extend(BI.ResponsiveFlexHorizontalLayout.superclass.props.apply(this, arguments), { + // // extraCls: "bi-responsive-f-h" + // }); + // }, - _addElement: function (i, item) { - var w = BI.ResponsiveFlexHorizontalLayout.superclass._addElement.apply(this, arguments); - var o = this.options; - var columnSize = o.columnSize.length > 0 ? o.columnSize[i] : item.width >= 1 ? null : item.width; - if (o.columnSize.length > 0) { - if (item.width >= 1 && o.columnSize[i] >= 1 && o.columnSize[i] !== item.width) { - columnSize = null; - } + mounted: function () { + var self = this, o = this.options; + if (o.horizontalAlign !== BI.HorizontalAlign.Center){ + return; } - if (columnSize === "fill") { - // 给自适应列设置一个min-width - var length = 0; - var fillCount = 0, autoCount = 0; - for (var k = 0, len = o.columnSize.length || o.items.length; k < len; k++) { - var cz = o.columnSize.length > 0 ? o.columnSize[k] : o.items[k].width; - if (cz === "fill") { - fillCount++; - cz = 0; - } else if (cz === "" || BI.isNull(cz)) { - autoCount++; - cz = 0; + var defaultResize = function () { + if (o.scrollable !== true && o.scrollx !== true) { + var clientWidth = document.body.clientWidth; + if(self.element.width() > 2/3 * clientWidth){ + if (clientWidth <= 768) { + BI.each(self._children, function (i, child) { + self._clearGap(child); + self._handleReverseGap(child, o.items[i], i | 0); + }); + self.element.css("flex-direction", "column"); + } } - length += cz; } - var count = (o.columnSize.length || o.items.length) - fillCount - autoCount; - if (count > 0) { - w.element.css("min-width", length / count / BI.pixRatio + BI.pixUnit); + } + var resize = function () { + defaultResize(); + if (o.scrollable !== true && o.scrollx !== true) { + var clientWidth = document.body.clientWidth; + if(self.element.width() > 2/3 * clientWidth){ + if (clientWidth > 768) { + BI.each(self._children, function (i, child) { + self._clearGap(child); + }) + self.resize(); + self.element.css("flex-direction", "row"); + } + } } } - return w; + this.unResize = BI.Resizers.add(this.getName(), resize); + defaultResize(); + }, + + destroyed: function () { + this.unResize(); } }); BI.shortcut("bi.responsive_flex_horizontal", BI.ResponsiveFlexHorizontalLayout); diff --git a/src/core/wrapper/layout/responsive/responsive.flex.wrapper.horizontal.js b/src/core/wrapper/layout/responsive/responsive.flex.wrapper.horizontal.js index 58869e51d..5e8fcfd95 100644 --- a/src/core/wrapper/layout/responsive/responsive.flex.wrapper.horizontal.js +++ b/src/core/wrapper/layout/responsive/responsive.flex.wrapper.horizontal.js @@ -6,42 +6,54 @@ * @extends BI.FlexWrapperHorizontalLayout */ BI.ResponsiveFlexWrapperHorizontalLayout = BI.inherit(BI.FlexWrapperHorizontalLayout, { - props: function () { - return BI.extend(BI.ResponsiveFlexWrapperHorizontalLayout.superclass.props.apply(this, arguments), { - extraCls: "bi-responsive-f-h" - }); - }, + // props: function () { + // return BI.extend(BI.ResponsiveFlexWrapperHorizontalLayout.superclass.props.apply(this, arguments), { + // extraCls: "bi-responsive-f-h" + // }); + // }, - _addElement: function (i, item) { - var w = BI.ResponsiveFlexHorizontalLayout.superclass._addElement.apply(this, arguments); - var o = this.options; - var columnSize = o.columnSize.length > 0 ? o.columnSize[i] : item.width >= 1 ? null : item.width; - if (o.columnSize.length > 0) { - if (item.width >= 1 && o.columnSize[i] >= 1 && o.columnSize[i] !== item.width) { - columnSize = null; - } + mounted: function () { + var self = this, o = this.options; + if (o.horizontalAlign !== BI.HorizontalAlign.Center){ + return; } - if (columnSize === "fill") { - // 给自适应列设置一个min-width - var length = 0; - var fillCount = 0, autoCount = 0; - for (var k = 0, len = o.columnSize.length || o.items.length; k < len; k++) { - var cz = o.columnSize.length > 0 ? o.columnSize[k] : o.items[k].width; - if (cz === "fill") { - fillCount++; - cz = 0; - } else if (cz === "" || BI.isNull(cz)) { - autoCount++; - cz = 0; + var defaultResize = function () { + if (o.scrollable !== true && o.scrollx !== true) { + var clientWidth = document.body.clientWidth; + if(self.element.width() > 2/3 * clientWidth){ + if (clientWidth <= 768) { + BI.each(self._children, function (i, child) { + self._clearGap(child); + self._handleReverseGap(child, o.items[i], i | 0); + }); + self.element.css("flex-direction", "column"); + self.$wrapper.element.css("flex-direction", "column"); + } } - length += cz; } - var count = (o.columnSize.length || o.items.length) - fillCount - autoCount; - if (count > 0) { - w.element.css("min-width", length / count / BI.pixRatio + BI.pixUnit); + } + var resize = function () { + defaultResize(); + if (o.scrollable !== true && o.scrollx !== true) { + var clientWidth = document.body.clientWidth; + if(self.element.width() > 2/3 * clientWidth){ + if (clientWidth > 768) { + BI.each(self._children, function (i, child) { + self._clearGap(child); + }) + self.resize(); + self.element.css("flex-direction", "row"); + self.$wrapper.element.css("flex-direction", "row"); + } + } } } - return w; + this.unResize = BI.Resizers.add(this.getName(), resize); + defaultResize(); + }, + + destroyed: function () { + this.unResize(); } }); BI.shortcut("bi.responsive_flex_scrollable_horizontal", BI.ResponsiveFlexWrapperHorizontalLayout); diff --git a/src/core/wrapper/layout/responsive/responsive.inline..js b/src/core/wrapper/layout/responsive/responsive.inline..js index 7b6e97e5b..08f27fcfc 100644 --- a/src/core/wrapper/layout/responsive/responsive.inline..js +++ b/src/core/wrapper/layout/responsive/responsive.inline..js @@ -6,60 +6,45 @@ * @extends BI.InlineLayout */ BI.ResponsiveInlineLayout = BI.inherit(BI.InlineLayout, { - _addElement: function (i, item) { - var o = this.options; - var w = BI.InlineLayout.superclass._addElement.apply(this, arguments); - var columnSize = o.columnSize.length > 0 ? o.columnSize[i] : item.width >= 1 ? null : item.width; - if (o.columnSize.length > 0) { - if (item.width >= 1 && o.columnSize[i] >= 1 && o.columnSize[i] !== item.width) { - columnSize = null; - } - } - if (columnSize > 0) { - w.element.width(columnSize < 1 ? ((columnSize * 100).toFixed(1) + "%") : (columnSize / BI.pixRatio + BI.pixUnit)); + mounted: function () { + var self = this, o = this.options; + if (o.horizontalAlign !== BI.HorizontalAlign.Center){ + return; } - w.element.css({ - position: "relative", - "vertical-align": o.verticalAlign - }); - w.element.addClass("i-item"); - if (columnSize === "fill" || columnSize === "") { - var length = o.hgap, czs = 0; - var fillCount = 0, autoCount = 0; - for (var k = 0, len = o.columnSize.length || o.items.length; k < len; k++) { - var cz = o.columnSize.length > 0 ? o.columnSize[k] : o.items[k].width; - if (cz === "fill") { - fillCount++; - cz = 0; - } else if (cz === "" || BI.isNull(cz)) { - autoCount++; - cz = 0; - } - length += o.hgap + o.lgap + o.rgap + (o.items[k].lgap || 0) + (o.items[k].rgap || 0) + (o.items[k].hgap || 0) + cz; - czs += cz; - } - if (columnSize === "fill") { - var count = (o.columnSize.length || o.items.length) - fillCount - autoCount; - if (count > 0) { - w.element.css("min-width", czs / count / BI.pixRatio + BI.pixUnit); + var defaultResize = function () { + if (o.scrollable !== true && o.scrollx !== true) { + var clientWidth = document.body.clientWidth; + if(self.element.width() > 2/3 * clientWidth){ + if (clientWidth <= 768) { + BI.each(self._children, function (i, child) { + self._clearGap(child); + self._handleReverseGap(child, o.items[i], i | 0); + child.elemenet.css("display", ""); + }); + } } - w.element.css("width", "calc((100% - " + (length / BI.pixRatio + BI.pixUnit) + ")" + (fillCount > 1 ? "/" + fillCount : "") + ")"); } - if (o.horizontalAlign === BI.HorizontalAlign.Stretch || !(o.scrollable === true || o.scrollx === true)) { - if (columnSize === "fill") { - w.element.css("max-width", "calc((100% - " + (length / BI.pixRatio + BI.pixUnit) + ")" + (fillCount > 1 ? "/" + fillCount : "") + ")"); - } else { - w.element.css("max-width", "calc((100% - " + (length / BI.pixRatio + BI.pixUnit) + ")" + (autoCount > 1 ? "/" + autoCount : "") + ")"); + } + var resize = function () { + defaultResize(); + if (o.scrollable !== true && o.scrollx !== true) { + var clientWidth = document.body.clientWidth; + if(self.element.width() > 2/3 * clientWidth){ + if (clientWidth > 768) { + BI.each(self._children, function (i, child) { + self._clearGap(child); + }) + self.resize(); + } } } } - this._handleGap(w, item, i); - if (o.verticalAlign === BI.VerticalAlign.Stretch && BI.isNull(item.height)) { - var top = o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0), - bottom = o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0); - w.element.css("height", "calc(100% - " + ((top + bottom) / BI.pixRatio + BI.pixUnit) + ")"); - } - return w; + this.unResize = BI.Resizers.add(this.getName(), resize); + defaultResize(); + }, + + destroyed: function () { + this.unResize(); } }); BI.shortcut("bi.responsive_inline", BI.ResponsiveInlineLayout); diff --git a/src/less/core/wrapper/flex.horizontal.less b/src/less/core/wrapper/flex.horizontal.less index 933df5b33..b58fe25c4 100644 --- a/src/less/core/wrapper/flex.horizontal.less +++ b/src/less/core/wrapper/flex.horizontal.less @@ -62,17 +62,6 @@ -o-flex-wrap: nowrap; flex-wrap: nowrap; - &.bi-responsive-f-h { - /* 09版 */ - /*-webkit-box-lines: multiple;*/ - /* 12版 */ - -webkit-flex-wrap: wrap; - -moz-flex-wrap: wrap; - -ms-flex-wrap: wrap; - -o-flex-wrap: wrap; - flex-wrap: wrap; - } - &.v-middle { /* 09版 */ -webkit-box-align: center; diff --git a/src/less/core/wrapper/flex.wrapper.horizontal.less b/src/less/core/wrapper/flex.wrapper.horizontal.less index 420676ea7..a54b68075 100644 --- a/src/less/core/wrapper/flex.wrapper.horizontal.less +++ b/src/less/core/wrapper/flex.wrapper.horizontal.less @@ -269,17 +269,4 @@ flex-grow: 1; } } - - &.bi-responsive-f-h { - & .f-s-h-w { - /* 09版 */ - /*-webkit-box-lines: multiple;*/ - /* 12版 */ - -webkit-flex-wrap: wrap; - -moz-flex-wrap: wrap; - -ms-flex-wrap: wrap; - -o-flex-wrap: wrap; - flex-wrap: wrap; - } - } } From f31f6541ac7647529b9d5ca532d05a89b81fc4be Mon Sep 17 00:00:00 2001 From: guy Date: Sat, 4 Dec 2021 22:28:34 +0800 Subject: [PATCH 20/38] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/config-render.html | 6 +- examples/effect.html | 6 +- examples/hooks.html | 6 +- examples/loader-context.html | 6 +- examples/resize.html | 6 +- examples/style.html | 6 +- examples/tab-context.html | 6 +- examples/test-id.html | 6 +- examples/virtual-group.html | 6 +- examples/visible.html | 6 +- examples/worker.html | 6 +- examples/响应式布局.html | 419 ++++++++++++++++++++++++++++++++++ examples/插件设计.html | 8 +- 13 files changed, 467 insertions(+), 26 deletions(-) create mode 100644 examples/响应式布局.html diff --git a/examples/config-render.html b/examples/config-render.html index ed1f38dc6..41545d3b4 100644 --- a/examples/config-render.html +++ b/examples/config-render.html @@ -2,8 +2,10 @@ - - + + +
diff --git a/examples/effect.html b/examples/effect.html index 65ebd4530..34bae9199 100644 --- a/examples/effect.html +++ b/examples/effect.html @@ -2,8 +2,10 @@ - - + + +
diff --git a/examples/hooks.html b/examples/hooks.html index 66afa9f83..c9302a0d5 100644 --- a/examples/hooks.html +++ b/examples/hooks.html @@ -2,8 +2,10 @@ - - + + +
diff --git a/examples/loader-context.html b/examples/loader-context.html index 72695cc9f..a8ba36a96 100644 --- a/examples/loader-context.html +++ b/examples/loader-context.html @@ -2,8 +2,10 @@ - - + + +
diff --git a/examples/resize.html b/examples/resize.html index 5bd99a35d..dda9edda3 100644 --- a/examples/resize.html +++ b/examples/resize.html @@ -2,8 +2,10 @@ - - + + +
diff --git a/examples/style.html b/examples/style.html index 81063b19c..339f14365 100644 --- a/examples/style.html +++ b/examples/style.html @@ -2,8 +2,10 @@ - - + + +
diff --git a/examples/tab-context.html b/examples/tab-context.html index 9e7cf33ea..6a0a2d130 100644 --- a/examples/tab-context.html +++ b/examples/tab-context.html @@ -2,8 +2,10 @@ - - + + +
diff --git a/examples/test-id.html b/examples/test-id.html index 351cfec20..7eec9e549 100644 --- a/examples/test-id.html +++ b/examples/test-id.html @@ -2,8 +2,10 @@ - - + + +
diff --git a/examples/virtual-group.html b/examples/virtual-group.html index a2e664ea4..a21a37fe6 100644 --- a/examples/virtual-group.html +++ b/examples/virtual-group.html @@ -2,8 +2,10 @@ - - + + +
diff --git a/examples/visible.html b/examples/visible.html index e2ef18d34..790d091c1 100644 --- a/examples/visible.html +++ b/examples/visible.html @@ -2,8 +2,10 @@ - - + + +
diff --git a/examples/worker.html b/examples/worker.html index e9045ab56..03cdc5be6 100644 --- a/examples/worker.html +++ b/examples/worker.html @@ -2,8 +2,10 @@ - - + + + diff --git a/examples/响应式布局.html b/examples/响应式布局.html new file mode 100644 index 000000000..6409fae87 --- /dev/null +++ b/examples/响应式布局.html @@ -0,0 +1,419 @@ + + + + + + PullRequest | Code Review as a Service + + + + + + + + + +
+ + + diff --git a/examples/插件设计.html b/examples/插件设计.html index 3c167f45f..91c2b29c8 100644 --- a/examples/插件设计.html +++ b/examples/插件设计.html @@ -2,10 +2,10 @@ - - - - + + +
From 0890304c22d3a3da3d5892ae9341a81ac38e78ac Mon Sep 17 00:00:00 2001 From: data Date: Sat, 4 Dec 2021 22:44:48 +0800 Subject: [PATCH 21/38] auto upgrade version to 2.0.20211204224429 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 79b825607..56016bc71 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211204152331", + "version": "2.0.20211204224429", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From d2d9cdd0b22e71a60b8373802127b8533faf9001 Mon Sep 17 00:00:00 2001 From: guy Date: Sat, 4 Dec 2021 23:34:30 +0800 Subject: [PATCH 22/38] update --- src/core/wrapper/layout.js | 16 ++++++++-------- src/core/wrapper/layout/layout.flow.js | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/core/wrapper/layout.js b/src/core/wrapper/layout.js index 08c60b681..edb3b6799 100644 --- a/src/core/wrapper/layout.js +++ b/src/core/wrapper/layout.js @@ -281,25 +281,25 @@ BI.Layout = BI.inherit(BI.Widget, { if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { var top = ((BI.isNull(vIndex) || vIndex === 0) ? o.vgap : 0) + o.tgap + (item.tgap || 0) + (item.vgap || 0); w.element.css({ - "margin-top": top >= 1 ? top / BI.pixRatio + BI.pixUnit : (top * 100).toFixed(1) + "%" + "margin-top": top > 0 && top < 1 ? (top * 100).toFixed(1) + "%" : top / BI.pixRatio + BI.pixUnit }); } if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { var left = ((BI.isNull(hIndex) || hIndex === 0) ? o.hgap : 0) + o.lgap + (item.lgap || 0) + (item.hgap || 0); w.element.css({ - "margin-left": left >= 1 ? left / BI.pixRatio + BI.pixUnit : (left * 100).toFixed(1) + "%" + "margin-left": left > 0 && left < 1 ? (left * 100).toFixed(1) + "%" : left / BI.pixRatio + BI.pixUnit }); } if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { var right = o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0); w.element.css({ - "margin-right": right >= 1 ? right / BI.pixRatio + BI.pixUnit : (right * 100).toFixed(1) + "%" + "margin-right": right > 0 && right < 1 ? (right * 100).toFixed(1) + "%" : right / BI.pixRatio + BI.pixUnit }); } if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { var bottom = o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0); w.element.css({ - "margin-bottom": bottom >= 1 ? bottom / BI.pixRatio + BI.pixUnit : (bottom * 100).toFixed(1) + "%" + "margin-bottom": bottom > 0 && bottom < 1 ? (bottom * 100).toFixed(1) + "%" : bottom / BI.pixRatio + BI.pixUnit }); } }, @@ -310,26 +310,26 @@ BI.Layout = BI.inherit(BI.Widget, { if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { var top = (index === 0 ? o.vgap : 0) + o.tgap + (item.tgap || 0) + (item.vgap || 0); w.element.css({ - "margin-top": top >= 1 ? top / BI.pixRatio + BI.pixUnit : (top * 100).toFixed(1) + "%" + "margin-top": top > 0 && top < 1 ? (top * 100).toFixed(1) + "%" : top / BI.pixRatio + BI.pixUnit }); } if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { var left = o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0); w.element.css({ - "margin-left": left >= 1 ? left / BI.pixRatio + BI.pixUnit : (left * 100).toFixed(1) + "%" + "margin-left": left > 0 && left < 1 ? (left * 100).toFixed(1) + "%" : left / BI.pixRatio + BI.pixUnit }); } if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { var right = o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0); w.element.css({ - "margin-right": right >= 1 ? right / BI.pixRatio + BI.pixUnit : (right * 100).toFixed(1) + "%" + "margin-right": right > 0 && right < 1 ? (right * 100).toFixed(1) + "%" : right / BI.pixRatio + BI.pixUnit }); } // 这里的代码是关键 if (o.vgap + o.hgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { var bottom = (index === o.items.length - 1 ? o.vgap : o.hgap) + o.bgap + (item.bgap || 0) + (item.vgap || 0); w.element.css({ - "margin-bottom": bottom >= 1 ? bottom / BI.pixRatio + BI.pixUnit : (bottom * 100).toFixed(1) + "%" + "margin-bottom": bottom > 0 && bottom < 1 ? (bottom * 100).toFixed(1) + "%" : bottom / BI.pixRatio + BI.pixUnit }); } }, diff --git a/src/core/wrapper/layout/layout.flow.js b/src/core/wrapper/layout/layout.flow.js index bf4403e84..ffee9f914 100644 --- a/src/core/wrapper/layout/layout.flow.js +++ b/src/core/wrapper/layout/layout.flow.js @@ -44,25 +44,25 @@ BI.FloatLeftLayout = BI.inherit(BI.Layout, { if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { var top = o.vgap / 2 + o.tgap + (item.tgap || 0) + (item.vgap || 0); w.element.css({ - "margin-top": top >= 1 ? top / BI.pixRatio + BI.pixUnit : (top * 100).toFixed(1) + "%" + "margin-top": top > 0 && top < 1 ? (top * 100).toFixed(1) + "%" : top / BI.pixRatio + BI.pixUnit }); } if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { var left = o.hgap / 2 + o.lgap + (item.lgap || 0) + (item.hgap || 0); w.element.css({ - "margin-left": left >= 1 ? left / BI.pixRatio + BI.pixUnit : (left * 100).toFixed(1) + "%" + "margin-left": left > 0 && left < 1 ? (left * 100).toFixed(1) + "%" : left / BI.pixRatio + BI.pixUnit }); } if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { var right = o.hgap / 2 + o.rgap + (item.rgap || 0) + (item.hgap || 0); w.element.css({ - "margin-right": right >= 1 ? right / BI.pixRatio + BI.pixUnit : (right * 100).toFixed(1) + "%" + "margin-right": right > 0 && right < 1 ? (right * 100).toFixed(1) + "%" : right / BI.pixRatio + BI.pixUnit }); } if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { var bottom = o.vgap / 2 + o.bgap + (item.bgap || 0) + (item.vgap || 0); w.element.css({ - "margin-bottom": bottom >= 1 ? bottom / BI.pixRatio + BI.pixUnit : (bottom * 100).toFixed(1) + "%" + "margin-bottom": bottom > 0 && bottom < 1 ? (bottom * 100).toFixed(1) + "%" : bottom / BI.pixRatio + BI.pixUnit }); } return w; From 82ad2d0f8ae46f54d347b1ebc502bb3dd3df9102 Mon Sep 17 00:00:00 2001 From: data Date: Sat, 4 Dec 2021 23:43:52 +0800 Subject: [PATCH 23/38] auto upgrade version to 2.0.20211204234339 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 56016bc71..280cd00ed 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211204224429", + "version": "2.0.20211204234339", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From 79affbf4d415b3ce762882f680da9c6a110ee583 Mon Sep 17 00:00:00 2001 From: guy Date: Sun, 5 Dec 2021 00:57:43 +0800 Subject: [PATCH 24/38] update --- examples/响应式布局.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/响应式布局.html b/examples/响应式布局.html index 6409fae87..b0148d2b4 100644 --- a/examples/响应式布局.html +++ b/examples/响应式布局.html @@ -53,13 +53,13 @@ box-shadow: 0 2px 5px rgb(0 0 0 / 16%), 0 2px 10px rgb(0 0 0 / 12%); } .nav-logo { - background-image: url(https://www.pullrequest.com/images/pullrequest-logo.svg); + background-image: url(https://qn.wangchuan.cc/pullrequest-logo.svg); background-repeat: no-repeat; background-position: 50%; background-size: contain; } .image { - background-image: url(https://www.pullrequest.com/images/figures/home/hero-graphic.png); + background-image: url(https://qn.wangchuan.cc/hero-graphic.png); background-repeat: no-repeat; background-size: contain; } @@ -79,7 +79,7 @@ border: 1px solid #4aa4e0; } .wave { - background-image: url(https://www.pullrequest.com/images/textures/home/wave1.png); + background-image: url(https://qn.wangchuan.cc/wave.png); background-size: cover; background-repeat: repeat-x; } @@ -205,7 +205,7 @@ maxWidth: "100%", maxHeight: "100%", }, - src: "https://www.pullrequest.com/images/figures/home/hero-graphic.png", + src: "https://qn.wangchuan.cc/hero-graphic.png", width: "auto", height: "auto", }, @@ -318,7 +318,7 @@ maxWidth: "100%", maxHeight: "100%", }, - src: "https://www.pullrequest.com/images/figures/home/velocity.png", + src: "https://qn.wangchuan.cc/velocity.png", width: "auto", height: "auto", }, @@ -358,7 +358,7 @@ maxWidth: "100%", maxHeight: "100%", }, - src: "https://www.pullrequest.com/images/figures/home/secure.png", + src: "https://qn.wangchuan.cc/secure.png", width: "auto", height: "auto", }, From 94564271eb156389eab76086cd2a466754a4f68c Mon Sep 17 00:00:00 2001 From: guy Date: Sun, 5 Dec 2021 13:15:05 +0800 Subject: [PATCH 25/38] =?UTF-8?q?=E5=B8=83=E5=B1=80=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E7=99=BE=E5=88=86=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/wrapper/layout.js | 24 ++++--- .../wrapper/layout/adapt/absolute.center.js | 8 +-- src/core/wrapper/layout/adapt/adapt.table.js | 11 ++- .../layout/fill/float.fill.horizontal.js | 14 ++-- .../wrapper/layout/flex/flex.horizontal.js | 2 +- src/core/wrapper/layout/flex/flex.vertical.js | 2 +- .../flex/wrapper/flex.wrapper.horizontal.js | 2 +- .../flex/wrapper/flex.wrapper.vertical.js | 2 +- src/core/wrapper/layout/layout.absolute.js | 28 ++++---- src/core/wrapper/layout/layout.adaptive.js | 12 ++-- src/core/wrapper/layout/layout.border.js | 40 +++++------ src/core/wrapper/layout/layout.card.js | 8 ++- src/core/wrapper/layout/layout.flow.js | 16 ++--- src/core/wrapper/layout/layout.inline.js | 16 +++-- src/core/wrapper/layout/layout.table.js | 14 ++-- src/core/wrapper/layout/layout.tape.js | 72 +++++++------------ src/core/wrapper/layout/layout.td.js | 18 ++--- src/core/wrapper/layout/layout.window.js | 16 ++--- .../wrapper/layout/middle/middle.center.js | 8 +-- .../layout/middle/middle.float.center.js | 8 +-- .../layout/middle/middle.horizontal.js | 8 +-- .../wrapper/layout/middle/middle.vertical.js | 8 +-- 22 files changed, 160 insertions(+), 177 deletions(-) diff --git a/src/core/wrapper/layout.js b/src/core/wrapper/layout.js index edb3b6799..92a836ddf 100644 --- a/src/core/wrapper/layout.js +++ b/src/core/wrapper/layout.js @@ -276,30 +276,34 @@ BI.Layout = BI.inherit(BI.Widget, { }) }, + _optimiseGap: function (gap) { + return gap > 0 && gap < 1 ? (gap * 100).toFixed(1) + "%" : gap / BI.pixRatio + BI.pixUnit; + }, + _handleGap: function (w, item, hIndex, vIndex) { var o = this.options; if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { var top = ((BI.isNull(vIndex) || vIndex === 0) ? o.vgap : 0) + o.tgap + (item.tgap || 0) + (item.vgap || 0); w.element.css({ - "margin-top": top > 0 && top < 1 ? (top * 100).toFixed(1) + "%" : top / BI.pixRatio + BI.pixUnit + "margin-top": this._optimiseGap(top) }); } if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { var left = ((BI.isNull(hIndex) || hIndex === 0) ? o.hgap : 0) + o.lgap + (item.lgap || 0) + (item.hgap || 0); w.element.css({ - "margin-left": left > 0 && left < 1 ? (left * 100).toFixed(1) + "%" : left / BI.pixRatio + BI.pixUnit + "margin-left": this._optimiseGap(left) }); } if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { var right = o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0); w.element.css({ - "margin-right": right > 0 && right < 1 ? (right * 100).toFixed(1) + "%" : right / BI.pixRatio + BI.pixUnit + "margin-right": this._optimiseGap(right) }); } if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { var bottom = o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0); w.element.css({ - "margin-bottom": bottom > 0 && bottom < 1 ? (bottom * 100).toFixed(1) + "%" : bottom / BI.pixRatio + BI.pixUnit + "margin-bottom": this._optimiseGap(bottom) }); } }, @@ -308,28 +312,28 @@ BI.Layout = BI.inherit(BI.Widget, { _handleReverseGap: function (w, item, index) { var o = this.options; if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { - var top = (index === 0 ? o.vgap : 0) + o.tgap + (item.tgap || 0) + (item.vgap || 0); + var top = (index === 0 ? o.vgap : 0) + (index === 0 ? o.tgap : 0) + (item.tgap || 0) + (item.vgap || 0); w.element.css({ - "margin-top": top > 0 && top < 1 ? (top * 100).toFixed(1) + "%" : top / BI.pixRatio + BI.pixUnit + "margin-top": this._optimiseGap(top) }); } if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { var left = o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0); w.element.css({ - "margin-left": left > 0 && left < 1 ? (left * 100).toFixed(1) + "%" : left / BI.pixRatio + BI.pixUnit + "margin-left": this._optimiseGap(left) }); } if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { var right = o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0); w.element.css({ - "margin-right": right > 0 && right < 1 ? (right * 100).toFixed(1) + "%" : right / BI.pixRatio + BI.pixUnit + "margin-right": this._optimiseGap(right) }); } // 这里的代码是关键 if (o.vgap + o.hgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { - var bottom = (index === o.items.length - 1 ? o.vgap : o.hgap) + o.bgap + (item.bgap || 0) + (item.vgap || 0); + var bottom = (index === o.items.length - 1 ? o.vgap : o.hgap) + (index === o.items.length - 1 ? o.bgap : 0) + (item.bgap || 0) + (item.vgap || 0); w.element.css({ - "margin-bottom": bottom > 0 && bottom < 1 ? (bottom * 100).toFixed(1) + "%" : bottom / BI.pixRatio + BI.pixUnit + "margin-bottom": this._optimiseGap(bottom) }); } }, diff --git a/src/core/wrapper/layout/adapt/absolute.center.js b/src/core/wrapper/layout/adapt/absolute.center.js index f5da01bbc..fd4881975 100644 --- a/src/core/wrapper/layout/adapt/absolute.center.js +++ b/src/core/wrapper/layout/adapt/absolute.center.js @@ -26,10 +26,10 @@ BI.AbsoluteCenterLayout = BI.inherit(BI.Layout, { var w = BI.AbsoluteCenterLayout.superclass._addElement.apply(this, arguments); w.element.css({ position: "absolute", - left: (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit, - right: (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit, - top: (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0)) / BI.pixRatio + BI.pixUnit, - bottom: (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0)) / BI.pixRatio + BI.pixUnit, + left: this._optimiseGap(o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0)), + right: this._optimiseGap(o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0)), + top: this._optimiseGap(o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0)), + bottom: this._optimiseGap(o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0)), margin: "auto" }); return w; diff --git a/src/core/wrapper/layout/adapt/adapt.table.js b/src/core/wrapper/layout/adapt/adapt.table.js index daed0c33d..8c0b82590 100644 --- a/src/core/wrapper/layout/adapt/adapt.table.js +++ b/src/core/wrapper/layout/adapt/adapt.table.js @@ -48,9 +48,7 @@ BI.TableAdaptLayout = BI.inherit(BI.Layout, { var td, width = ""; var columnSize = o.columnSize.length > 0 ? o.columnSize[i] : item.width; if (columnSize > 0) { - width = columnSize < 1 ? - ((columnSize * 100).toFixed(1) + "%") - : (columnSize + (i === 0 ? o.hgap : 0) + o.hgap + o.lgap + o.rgap); + width = this._optimiseGap(columnSize + (i === 0 ? o.hgap : 0) + o.hgap + o.lgap + o.rgap); } if ((BI.isNull(columnSize) || columnSize === "") && this._hasFill()) { width = 2; @@ -71,17 +69,16 @@ BI.TableAdaptLayout = BI.inherit(BI.Layout, { if (o.verticalAlign === BI.VerticalAlign.Stretch) { var top = o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0), bottom = o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0); - w.element.css("height", "calc(100% - " + ((top + bottom) / BI.pixRatio + BI.pixUnit) + ")"); + w.element.css("height", "calc(100% - " + this._optimiseGap(top + bottom) + ")"); } // 对于表现为td的元素设置最大宽度,有几点需要注意 // 1、由于直接对td设置最大宽度是在规范中未定义的, 所以要使用类似td:firstChild来迂回实现 // 2、不能给多个td设置最大宽度,这样只会平分宽度 // 3、多百分比宽度就算了 if (columnSize > 0) { - columnSize = columnSize < 1 ? width : width / BI.pixRatio + BI.pixUnit; td.element.css({ - "max-width": columnSize, - "min-width": columnSize + "max-width": width, + "min-width": width }); } if (i === 0) { diff --git a/src/core/wrapper/layout/fill/float.fill.horizontal.js b/src/core/wrapper/layout/fill/float.fill.horizontal.js index b9d234660..988b8c061 100644 --- a/src/core/wrapper/layout/fill/float.fill.horizontal.js +++ b/src/core/wrapper/layout/fill/float.fill.horizontal.js @@ -43,42 +43,42 @@ BI.FloatHorizontalFillLayout = BI.inherit(BI.Layout, { } if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { w.element.css({ - "margin-top": (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-top": self._optimiseGap(o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0)) }); } if (desc) { if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { w.element.css({ - "margin-right": ((i === o.items.length - 1 ? o.hgap : 0) + o.rgap + (item.rgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-right": self._optimiseGap((i === o.items.length - 1 ? o.hgap : 0) + o.rgap + (item.rgap || 0) + (item.hgap || 0)) }); } if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { w.element.css({ - "margin-left": (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-left": self._optimiseGap(o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0)) }); } } else { if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { w.element.css({ - "margin-left": ((i === 0 ? o.hgap : 0) + o.lgap + (item.lgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-left": self._optimiseGap((i === 0 ? o.hgap : 0) + o.lgap + (item.lgap || 0) + (item.hgap || 0)) }); } if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { w.element.css({ - "margin-right": (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-right": self._optimiseGap(o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0)) }); } } if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { w.element.css({ - "margin-bottom": (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0)) / BI.pixRatio + BI.pixUnit + "margin-bottom": self._optimiseGap(o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0)) }); } var top = o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0), bottom = o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0); if (o.verticalAlign === BI.VerticalAlign.Stretch && BI.isNull(item.height)) { w.element.css({ - height: "calc(100% - " + ((top + bottom) / BI.pixRatio + BI.pixUnit) + ")" + height: "calc(100% - " + self._optimiseGap(top + bottom) + ")" }); } w.element.css({ diff --git a/src/core/wrapper/layout/flex/flex.horizontal.js b/src/core/wrapper/layout/flex/flex.horizontal.js index c6877c383..f1390b1f0 100644 --- a/src/core/wrapper/layout/flex/flex.horizontal.js +++ b/src/core/wrapper/layout/flex/flex.horizontal.js @@ -74,7 +74,7 @@ BI.FlexHorizontalLayout = BI.inherit(BI.Layout, { } } if (columnSize > 0) { - w.element.width(columnSize < 1 ? ((columnSize * 100).toFixed(1) + "%") : (columnSize / BI.pixRatio + BI.pixUnit)); + w.element.width(this._optimiseGap(columnSize)); } if (columnSize === "fill") { w.element.addClass("f-f"); diff --git a/src/core/wrapper/layout/flex/flex.vertical.js b/src/core/wrapper/layout/flex/flex.vertical.js index f5fa620aa..f2b9aa19f 100644 --- a/src/core/wrapper/layout/flex/flex.vertical.js +++ b/src/core/wrapper/layout/flex/flex.vertical.js @@ -73,7 +73,7 @@ BI.FlexVerticalLayout = BI.inherit(BI.Layout, { } } if (rowSize > 0) { - w.element.height(rowSize < 1 ? ((rowSize * 100).toFixed(1) + "%") : (rowSize / BI.pixRatio + BI.pixUnit)); + w.element.height(this._optimiseGap(rowSize)); } if (rowSize === "fill") { w.element.addClass("f-f"); diff --git a/src/core/wrapper/layout/flex/wrapper/flex.wrapper.horizontal.js b/src/core/wrapper/layout/flex/wrapper/flex.wrapper.horizontal.js index f0715b150..2a4c9706f 100644 --- a/src/core/wrapper/layout/flex/wrapper/flex.wrapper.horizontal.js +++ b/src/core/wrapper/layout/flex/wrapper/flex.wrapper.horizontal.js @@ -70,7 +70,7 @@ BI.FlexWrapperHorizontalLayout = BI.inherit(BI.Layout, { } } if (columnSize > 0) { - w.element.width(columnSize < 1 ? ((columnSize * 100).toFixed(1) + "%") : (columnSize / BI.pixRatio + BI.pixUnit)); + w.element.width(this._optimiseGap(columnSize)); } if (columnSize === "fill") { w.element.addClass("f-f"); diff --git a/src/core/wrapper/layout/flex/wrapper/flex.wrapper.vertical.js b/src/core/wrapper/layout/flex/wrapper/flex.wrapper.vertical.js index c46f8c222..621dee46d 100644 --- a/src/core/wrapper/layout/flex/wrapper/flex.wrapper.vertical.js +++ b/src/core/wrapper/layout/flex/wrapper/flex.wrapper.vertical.js @@ -70,7 +70,7 @@ BI.FlexWrapperVerticalLayout = BI.inherit(BI.Layout, { } } if (rowSize > 0) { - w.element.height(rowSize < 1 ? ((rowSize * 100).toFixed(1) + "%") : (rowSize / BI.pixRatio + BI.pixUnit)); + w.element.height(this._optimiseGap(rowSize)); } if (rowSize === "fill") { w.element.addClass("f-f"); diff --git a/src/core/wrapper/layout/layout.absolute.js b/src/core/wrapper/layout/layout.absolute.js index 6a59eb133..fa61028c1 100644 --- a/src/core/wrapper/layout/layout.absolute.js +++ b/src/core/wrapper/layout/layout.absolute.js @@ -25,57 +25,57 @@ BI.AbsoluteLayout = BI.inherit(BI.Layout, { var w = BI.AbsoluteLayout.superclass._addElement.apply(this, arguments); var left = 0, right = 0, top = 0, bottom = 0; if (BI.isNotNull(item.left)) { - w.element.css({left: BI.isNumber(item.left) ? item.left / BI.pixRatio + BI.pixUnit : item.left}); + w.element.css({left: BI.isNumber(item.left) ? this._optimiseGap(item.left) : item.left}); left += item.left; } if (BI.isNotNull(item.right)) { - w.element.css({right: BI.isNumber(item.right) ? item.right / BI.pixRatio + BI.pixUnit : item.right}); + w.element.css({right: BI.isNumber(item.right) ? this._optimiseGap(item.right) : item.right}); right += item.right; } if (BI.isNotNull(item.top)) { - w.element.css({top: BI.isNumber(item.top) ? item.top / BI.pixRatio + BI.pixUnit : item.top}); + w.element.css({top: BI.isNumber(item.top) ? this._optimiseGap(item.top) : item.top}); top += item.top; } if (BI.isNotNull(item.bottom)) { - w.element.css({bottom: BI.isNumber(item.bottom) ? item.bottom / BI.pixRatio + BI.pixUnit : item.bottom}); + w.element.css({bottom: BI.isNumber(item.bottom) ? this._optimiseGap(item.bottom) : item.bottom}); bottom += item.bottom; } if (BI.isNotNull(o.hgap)) { left += o.hgap; - w.element.css({left: left / BI.pixRatio + BI.pixUnit}); + w.element.css({left: this._optimiseGap(left)}); right += o.hgap; - w.element.css({right: right / BI.pixRatio + BI.pixUnit}); + w.element.css({right: this._optimiseGap(right)}); } if (BI.isNotNull(o.vgap)) { top += o.vgap; - w.element.css({top: top / BI.pixRatio + BI.pixUnit}); + w.element.css({top: this._optimiseGap(top)}); bottom += o.vgap; - w.element.css({bottom: bottom / BI.pixRatio + BI.pixUnit}); + w.element.css({bottom: this._optimiseGap(bottom)}); } if (BI.isNotNull(o.lgap)) { left += o.lgap; - w.element.css({left: left / BI.pixRatio + BI.pixUnit}); + w.element.css({left: this._optimiseGap(left)}); } if (BI.isNotNull(o.rgap)) { right += o.rgap; - w.element.css({right: right / BI.pixRatio + BI.pixUnit}); + w.element.css({right: this._optimiseGap(right)}); } if (BI.isNotNull(o.tgap)) { top += o.tgap; - w.element.css({top: top / BI.pixRatio + BI.pixUnit}); + w.element.css({top: this._optimiseGap(top)}); } if (BI.isNotNull(o.bgap)) { bottom += o.bgap; - w.element.css({bottom: bottom / BI.pixRatio + BI.pixUnit}); + w.element.css({bottom: this._optimiseGap(bottom)}); } if (BI.isNotNull(item.width)) { - w.element.css({width: BI.isNumber(item.width) ? item.width / BI.pixRatio + BI.pixUnit : item.width}); + w.element.css({width: BI.isNumber(item.width) ? this._optimiseGap(item.width) : item.width}); } if (BI.isNotNull(item.height)) { - w.element.css({height: BI.isNumber(item.height) ? item.height / BI.pixRatio + BI.pixUnit : item.height}); + w.element.css({height: BI.isNumber(item.height) ? this._optimiseGap(item.height) : item.height}); } w.element.css({position: "absolute"}); return w; diff --git a/src/core/wrapper/layout/layout.adaptive.js b/src/core/wrapper/layout/layout.adaptive.js index 7c19e1928..3fd67f566 100644 --- a/src/core/wrapper/layout/layout.adaptive.js +++ b/src/core/wrapper/layout/layout.adaptive.js @@ -21,32 +21,32 @@ BI.AdaptiveLayout = BI.inherit(BI.Layout, { w.element.css({position: "relative"}); if (BI.isNotNull(item.left)) { w.element.css({ - left: BI.isNumber(item.left) ? item.left / BI.pixRatio + BI.pixUnit : item.left + left: BI.isNumber(item.left) ? this._optimiseGap(item.left) : item.left }); } if (BI.isNotNull(item.right)) { w.element.css({ - right: BI.isNumber(item.right) ? item.right / BI.pixRatio + BI.pixUnit : item.right + right: BI.isNumber(item.right) ? this._optimiseGap(item.right) : item.right }); } if (BI.isNotNull(item.top)) { w.element.css({ - top: BI.isNumber(item.top) ? item.top / BI.pixRatio + BI.pixUnit : item.top + top: BI.isNumber(item.top) ? this._optimiseGap(item.top) : item.top }); } if (BI.isNotNull(item.bottom)) { w.element.css({ - bottom: BI.isNumber(item.bottom) ? item.bottom / BI.pixRatio + BI.pixUnit : item.bottom + bottom: BI.isNumber(item.bottom) ? this._optimiseGap(item.bottom) : item.bottom }); } this._handleGap(w, item); if (BI.isNotNull(item.width)) { - w.element.css({width: BI.isNumber(item.width) ? item.width / BI.pixRatio + BI.pixUnit : item.width}); + w.element.css({width: BI.isNumber(item.width) ? this._optimiseGap(item.width) : item.width}); } if (BI.isNotNull(item.height)) { - w.element.css({height: BI.isNumber(item.height) ? item.height / BI.pixRatio + BI.pixUnit : item.height}); + w.element.css({height: BI.isNumber(item.height) ? this._optimiseGap(item.height) : item.height}); } return w; }, diff --git a/src/core/wrapper/layout/layout.border.js b/src/core/wrapper/layout/layout.border.js index 212c545d4..eda061892 100644 --- a/src/core/wrapper/layout/layout.border.js +++ b/src/core/wrapper/layout/layout.border.js @@ -35,12 +35,12 @@ BI.BorderLayout = BI.inherit(BI.Layout, { var w = BI._lazyCreateWidget(item); this.addWidget(this._getChildName("north"), w); } - this.getWidgetByName(this._getChildName("north")).element.height(item.height / BI.pixRatio + BI.pixUnit) + this.getWidgetByName(this._getChildName("north")).element.height(this._optimiseGap(item.height)) .css({ position: "absolute", - top: (item.top || 0) / BI.pixRatio + BI.pixUnit, - left: (item.left || 0) / BI.pixRatio + BI.pixUnit, - right: (item.right || 0) / BI.pixRatio + BI.pixUnit, + top: this._optimiseGap(item.top || 0), + left: this._optimiseGap(item.left || 0), + right: this._optimiseGap(item.right || 0), bottom: "initial" }); } @@ -55,12 +55,12 @@ BI.BorderLayout = BI.inherit(BI.Layout, { var w = BI._lazyCreateWidget(item); this.addWidget(this._getChildName("south"), w); } - this.getWidgetByName(this._getChildName("south")).element.height(item.height / BI.pixRatio + BI.pixUnit) + this.getWidgetByName(this._getChildName("south")).element.height(this._optimiseGap(item.height)) .css({ position: "absolute", - bottom: (item.bottom || 0) / BI.pixRatio + BI.pixUnit, - left: (item.left || 0) / BI.pixRatio + BI.pixUnit, - right: (item.right || 0) / BI.pixRatio + BI.pixUnit, + bottom: this._optimiseGap(item.bottom || 0), + left: this._optimiseGap(item.left || 0), + right: this._optimiseGap(item.right || 0), top: "initial" }); } @@ -75,12 +75,12 @@ BI.BorderLayout = BI.inherit(BI.Layout, { var w = BI._lazyCreateWidget(item); this.addWidget(this._getChildName("west"), w); } - this.getWidgetByName(this._getChildName("west")).element.width(item.width / BI.pixRatio + BI.pixUnit) + this.getWidgetByName(this._getChildName("west")).element.width(this._optimiseGap(item.width)) .css({ position: "absolute", - left: (item.left || 0) / BI.pixRatio + BI.pixUnit, - top: top / BI.pixRatio + BI.pixUnit, - bottom: bottom / BI.pixRatio + BI.pixUnit, + left: this._optimiseGap(item.left || 0), + top: this._optimiseGap(top), + bottom: this._optimiseGap(bottom), right: "initial" }); } @@ -95,12 +95,12 @@ BI.BorderLayout = BI.inherit(BI.Layout, { var w = BI._lazyCreateWidget(item); this.addWidget(this._getChildName("east"), w); } - this.getWidgetByName(this._getChildName("east")).element.width(item.width / BI.pixRatio + BI.pixUnit) + this.getWidgetByName(this._getChildName("east")).element.width(this._optimiseGap(item.width)) .css({ position: "absolute", - right: (item.right || 0) / BI.pixRatio + BI.pixUnit, - top: top / BI.pixRatio + BI.pixUnit, - bottom: bottom / BI.pixRatio + BI.pixUnit, + right: this._optimiseGap(item.right || 0), + top: this._optimiseGap(top), + bottom: this._optimiseGap(bottom), left: "initial" }); } @@ -117,10 +117,10 @@ BI.BorderLayout = BI.inherit(BI.Layout, { this.getWidgetByName(this._getChildName("center")).element .css({ position: "absolute", - top: top / BI.pixRatio + BI.pixUnit, - bottom: bottom / BI.pixRatio + BI.pixUnit, - left: left / BI.pixRatio + BI.pixUnit, - right: right / BI.pixRatio + BI.pixUnit + top: this._optimiseGap(top), + bottom: this._optimiseGap(bottom), + left: this._optimiseGap(left), + right: this._optimiseGap(right) }); } } diff --git a/src/core/wrapper/layout/layout.card.js b/src/core/wrapper/layout/layout.card.js index 5ca2bec63..dd50a7b17 100644 --- a/src/core/wrapper/layout/layout.card.js +++ b/src/core/wrapper/layout/layout.card.js @@ -38,7 +38,13 @@ BI.CardLayout = BI.inherit(BI.Layout, { } else { var w = self.getWidgetByName(self._getChildName(item.cardName)); } - w.element.css({position: "absolute", top: "0", right: "0", bottom: "0", left: "0"}); + w.element.css({ + position: "relative", + top: "0", + left: "0", + width: "100%", + height: "100%" + }); w.setVisible(false); } }); diff --git a/src/core/wrapper/layout/layout.flow.js b/src/core/wrapper/layout/layout.flow.js index ffee9f914..47e23bf42 100644 --- a/src/core/wrapper/layout/layout.flow.js +++ b/src/core/wrapper/layout/layout.flow.js @@ -30,39 +30,39 @@ BI.FloatLeftLayout = BI.inherit(BI.Layout, { var w = BI.FloatLeftLayout.superclass._addElement.apply(this, arguments); w.element.css({position: "relative", float: "left"}); if (BI.isNotNull(item.left)) { - w.element.css({left: BI.isNumber(item.left) ? item.left / BI.pixRatio + BI.pixUnit : item.left}); + w.element.css({left: BI.isNumber(item.left) ? this._optimiseGap(item.left) : item.left}); } if (BI.isNotNull(item.right)) { - w.element.css({right: BI.isNumber(item.right) ? item.right / BI.pixRatio + BI.pixUnit : item.right}); + w.element.css({right: BI.isNumber(item.right) ? this._optimiseGap(item.right) : item.right}); } if (BI.isNotNull(item.top)) { - w.element.css({top: BI.isNumber(item.top) ? item.top / BI.pixRatio + BI.pixUnit : item.top}); + w.element.css({top: BI.isNumber(item.top) ? this._optimiseGap(item.top) : item.top}); } if (BI.isNotNull(item.bottom)) { - w.element.css({bottom: BI.isNumber(item.bottom) ? item.bottom / BI.pixRatio + BI.pixUnit : item.bottom}); + w.element.css({bottom: BI.isNumber(item.bottom) ? this._optimiseGap(item.bottom) : item.bottom}); } if (o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0) !== 0) { var top = o.vgap / 2 + o.tgap + (item.tgap || 0) + (item.vgap || 0); w.element.css({ - "margin-top": top > 0 && top < 1 ? (top * 100).toFixed(1) + "%" : top / BI.pixRatio + BI.pixUnit + "margin-top": this._optimiseGap(top) }); } if (o.hgap + o.lgap + (item.lgap || 0) + (item.hgap || 0) !== 0) { var left = o.hgap / 2 + o.lgap + (item.lgap || 0) + (item.hgap || 0); w.element.css({ - "margin-left": left > 0 && left < 1 ? (left * 100).toFixed(1) + "%" : left / BI.pixRatio + BI.pixUnit + "margin-left": this._optimiseGap(left) }); } if (o.hgap + o.rgap + (item.rgap || 0) + (item.hgap || 0) !== 0) { var right = o.hgap / 2 + o.rgap + (item.rgap || 0) + (item.hgap || 0); w.element.css({ - "margin-right": right > 0 && right < 1 ? (right * 100).toFixed(1) + "%" : right / BI.pixRatio + BI.pixUnit + "margin-right": this._optimiseGap(right) }); } if (o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0) !== 0) { var bottom = o.vgap / 2 + o.bgap + (item.bgap || 0) + (item.vgap || 0); w.element.css({ - "margin-bottom": bottom > 0 && bottom < 1 ? (bottom * 100).toFixed(1) + "%" : bottom / BI.pixRatio + BI.pixUnit + "margin-bottom": this._optimiseGap(bottom) }); } return w; diff --git a/src/core/wrapper/layout/layout.inline.js b/src/core/wrapper/layout/layout.inline.js index 9e3b35470..51c2a5e01 100644 --- a/src/core/wrapper/layout/layout.inline.js +++ b/src/core/wrapper/layout/layout.inline.js @@ -52,7 +52,7 @@ BI.InlineLayout = BI.inherit(BI.Layout, { }); w.element.addClass("i-item"); if (columnSize === "fill" || columnSize === "") { - var length = o.hgap; + var length = 0, gap = o.hgap; var fillCount = 0, autoCount = 0; for (var k = 0, len = o.columnSize.length || o.items.length; k < len; k++) { var cz = o.columnSize.length > 0 ? o.columnSize[k] : o.items[k].width; @@ -63,16 +63,19 @@ BI.InlineLayout = BI.inherit(BI.Layout, { autoCount++; cz = 0; } - length += o.hgap + o.lgap + o.rgap + (o.items[k].lgap || 0) + (o.items[k].rgap || 0) + (o.items[k].hgap || 0) + cz; + gap += o.hgap + o.lgap + o.rgap + (o.items[k].lgap || 0) + (o.items[k].rgap || 0) + (o.items[k].hgap || 0); + length += cz; } + length = length > 0 && length < 1 ? (length * 100).toFixed(1) + "%" : length / BI.pixRatio + BI.pixUnit; + gap = gap > 0 && gap < 1 ? (gap * 100).toFixed(1) + "%" : gap / BI.pixRatio + BI.pixUnit; if (columnSize === "fill") { - w.element.css("min-width", "calc((100% - " + (length / BI.pixRatio + BI.pixUnit) + ")" + (fillCount > 1 ? "/" + fillCount : "") + ")"); + w.element.css("min-width", "calc((100% - " + length + " - " + gap + ")" + (fillCount > 1 ? "/" + fillCount : "") + ")"); } if (o.horizontalAlign === BI.HorizontalAlign.Stretch || !(o.scrollable === true || o.scrollx === true)) { if (columnSize === "fill") { - w.element.css("max-width", "calc((100% - " + (length / BI.pixRatio + BI.pixUnit) + ")" + (fillCount > 1 ? "/" + fillCount : "") + ")"); + w.element.css("max-width", "calc((100% - " + length + " - " + gap + ")" + (fillCount > 1 ? "/" + fillCount : "") + ")"); } else { - w.element.css("max-width", "calc((100% - " + (length / BI.pixRatio + BI.pixUnit) + ")" + (autoCount > 1 ? "/" + autoCount : "") + ")"); + w.element.css("max-width", "calc((100% - " + length + " - " + gap + ")" + (autoCount > 1 ? "/" + autoCount : "") + ")"); } } } @@ -80,7 +83,8 @@ BI.InlineLayout = BI.inherit(BI.Layout, { if (o.verticalAlign === BI.VerticalAlign.Stretch && BI.isNull(item.height)) { var top = o.vgap + o.tgap + (item.tgap || 0) + (item.vgap || 0), bottom = o.vgap + o.bgap + (item.bgap || 0) + (item.vgap || 0); - w.element.css("height", "calc(100% - " + ((top + bottom) / BI.pixRatio + BI.pixUnit) + ")"); + var gap = (top + bottom) > 0 && (top + bottom) < 1 ? ((top + bottom) * 100).toFixed(1) + "%" : (top + bottom) / BI.pixRatio + BI.pixUnit; + w.element.css("height", "calc(100% - " + gap + ")"); } return w; }, diff --git a/src/core/wrapper/layout/layout.table.js b/src/core/wrapper/layout/layout.table.js index 82ffd3973..e577f822d 100644 --- a/src/core/wrapper/layout/layout.table.js +++ b/src/core/wrapper/layout/layout.table.js @@ -69,8 +69,8 @@ BI.TableLayout = BI.inherit(BI.Layout, { abs.push(BI.extend({ top: 0, bottom: 0, - left: o.columnSize[i] < 1 ? (left * 100).toFixed(1) + "%" : left, - width: o.columnSize[i] < 1 ? (o.columnSize[i] * 100).toFixed(1) + "%" : o.columnSize[i] + left: this._optimiseGap(left), + width: this._optimiseGap(o.columnSize[i]) }, arr[i])); left += o.columnSize[i] + (o.columnSize[i] < 1 ? 0 : o.hgap); } else { @@ -83,8 +83,8 @@ BI.TableLayout = BI.inherit(BI.Layout, { abs.push(BI.extend({ top: 0, bottom: 0, - right: o.columnSize[j] < 1 ? (right * 100).toFixed(1) + "%" : right, - width: o.columnSize[j] < 1 ? (o.columnSize[j] * 100).toFixed(1) + "%" : o.columnSize[j] + right: this._optimiseGap(right), + width: this._optimiseGap(o.columnSize[j]) }, arr[j])); right += o.columnSize[j] + (o.columnSize[j] < 1 ? 0 : o.hgap); } else { @@ -96,8 +96,8 @@ BI.TableLayout = BI.inherit(BI.Layout, { abs.push(BI.extend({ top: 0, bottom: 0, - left: left < 1 ? (left * 100).toFixed(1) + "%" : left, - right: right < 1 ? (right * 100).toFixed(1) + "%" : right + left: this._optimiseGap(left), + right: this._optimiseGap(right) }, arr[i])); } var w = BI._lazyCreateWidget({ @@ -107,7 +107,7 @@ BI.TableLayout = BI.inherit(BI.Layout, { }); if (this.rows > 0) { this.getWidgetByName(this._getChildName(this.rows - 1)).element.css({ - "margin-bottom": o.vgap / BI.pixRatio + BI.pixUnit + "margin-bottom": this._optimiseGap(o.vgap) }); } w.element.css({ diff --git a/src/core/wrapper/layout/layout.tape.js b/src/core/wrapper/layout/layout.tape.js index 5723f3461..4d3cb202f 100644 --- a/src/core/wrapper/layout/layout.tape.js +++ b/src/core/wrapper/layout/layout.tape.js @@ -43,8 +43,8 @@ BI.HTapeLayout = BI.inherit(BI.Layout, { } w.element.css({ position: "absolute", - top: ((item.vgap || 0) + (item.tgap || 0) + o.vgap + o.tgap) / BI.pixRatio + BI.pixUnit, - bottom: ((item.bgap || 0) + (item.vgap || 0) + o.vgap + o.bgap) / BI.pixRatio + BI.pixUnit + top: self._optimiseGap((item.vgap || 0) + (item.tgap || 0) + o.vgap + o.tgap), + bottom: self._optimiseGap((item.bgap || 0) + (item.vgap || 0) + o.vgap + o.bgap) }); if (o.verticalAlign === BI.VerticalAlign.Middle) { w.element.css({ @@ -77,17 +77,11 @@ BI.HTapeLayout = BI.inherit(BI.Layout, { var preColumnSize = o.columnSize.length > 0 ? o.columnSize[i - 1] : items[i - 1].width; left[i] = left[i - 1] + preColumnSize + (items[i - 1].lgap || 0) + (items[i - 1].rgap || 0) + 2 * (items[i - 1].hgap || 0) + o.hgap + o.lgap + o.rgap; } - if (columnSize < 1 && columnSize > 0) { - w.element.css({ - left: (left[i] * 100).toFixed(1) + "%", - width: (columnSize * 100).toFixed(1) + "%" - }); - } else { - w.element.css({ - left: (left[i] + (item.lgap || 0) + (item.hgap || 0) + o.hgap + o.lgap) / BI.pixRatio + BI.pixUnit, - width: BI.isNumber(columnSize) ? columnSize / BI.pixRatio + BI.pixUnit : "" - }); - } + w.element.css({ + left: self._optimiseGap(left[i] + (item.lgap || 0) + (item.hgap || 0) + o.hgap + o.lgap), + width: BI.isNumber(columnSize) ? self._optimiseGap(columnSize) : "" + }); + if (columnSize === "" || columnSize === "fill") { return true; } @@ -102,17 +96,11 @@ BI.HTapeLayout = BI.inherit(BI.Layout, { var nextColumnSize = o.columnSize.length > 0 ? o.columnSize[i + 1] : items[i + 1].width; right[i] = right[i + 1] + nextColumnSize + (items[i + 1].lgap || 0) + (items[i + 1].rgap || 0) + 2 * (items[i + 1].hgap || 0) + o.hgap + o.lgap + o.rgap; } - if (columnSize < 1 && columnSize > 0) { - w.element.css({ - right: (right[i] * 100).toFixed(1) + "%", - width: (columnSize * 100).toFixed(1) + "%" - }); - } else { - w.element.css({ - right: (right[i] + (item.rgap || 0) + (item.hgap || 0) + o.hgap + o.rgap) / BI.pixRatio + BI.pixUnit, - width: BI.isNumber(columnSize) ? columnSize / BI.pixRatio + BI.pixUnit : "" - }); - } + w.element.css({ + right: self._optimiseGap(right[i] + (item.rgap || 0) + (item.hgap || 0) + o.hgap + o.rgap), + width: BI.isNumber(columnSize) ? self._optimiseGap(columnSize) : "" + }); + if (columnSize === "" || columnSize === "fill") { return true; } @@ -175,8 +163,8 @@ BI.VTapeLayout = BI.inherit(BI.Layout, { } w.element.css({ position: "absolute", - left: ((item.lgap || 0) + (item.hgap || 0) + o.hgap + o.lgap) / BI.pixRatio + BI.pixUnit, - right: ((item.hgap || 0) + (item.rgap || 0) + o.hgap + o.rgap) / BI.pixRatio + BI.pixUnit + left: self._optimiseGap((item.lgap || 0) + (item.hgap || 0) + o.hgap + o.lgap), + right: self._optimiseGap((item.hgap || 0) + (item.rgap || 0) + o.hgap + o.rgap) }); if (o.horizontalAlign === BI.HorizontalAlign.Center) { w.element.css({ @@ -209,17 +197,11 @@ BI.VTapeLayout = BI.inherit(BI.Layout, { var preRowSize = o.rowSize.length > 0 ? o.rowSize[i - 1] : items[i - 1].height; top[i] = top[i - 1] + preRowSize + (items[i - 1].tgap || 0) + (items[i - 1].bgap || 0) + 2 * (items[i - 1].vgap || 0) + o.vgap + o.tgap + o.bgap; } - if (rowSize < 1 && rowSize > 0) { - w.element.css({ - top: (top[i] * 100).toFixed(1) + "%", - height: (rowSize * 100).toFixed(1) + "%" - }); - } else { - w.element.css({ - top: (top[i] + (item.vgap || 0) + (item.tgap || 0) + o.vgap + o.tgap) / BI.pixRatio + BI.pixUnit, - height: BI.isNumber(rowSize) ? rowSize / BI.pixRatio + BI.pixUnit : "" - }); - } + w.element.css({ + top: self._optimiseGap(top[i] + (item.vgap || 0) + (item.tgap || 0) + o.vgap + o.tgap), + height: BI.isNumber(rowSize) ? self._optimiseGap(rowSize) : "" + }); + if (rowSize === "" || rowSize === "fill") { return true; } @@ -234,17 +216,11 @@ BI.VTapeLayout = BI.inherit(BI.Layout, { var nextRowSize = o.rowSize.length > 0 ? o.rowSize[i + 1] : items[i + 1].height; bottom[i] = bottom[i + 1] + nextRowSize + (items[i + 1].tgap || 0) + (items[i + 1].bgap || 0) + 2 * (items[i + 1].vgap || 0) + o.vgap + o.tgap + o.bgap; } - if (rowSize < 1 && rowSize > 0) { - w.element.css({ - bottom: (bottom[i] * 100).toFixed(1) + "%", - height: (rowSize * 100).toFixed(1) + "%" - }); - } else { - w.element.css({ - bottom: (bottom[i] + (item.vgap || 0) + (item.bgap || 0) + o.vgap + o.bgap) / BI.pixRatio + BI.pixUnit, - height: BI.isNumber(rowSize) ? rowSize / BI.pixRatio + BI.pixUnit : "" - }); - } + w.element.css({ + bottom: self._optimiseGap(bottom[i] + (item.vgap || 0) + (item.bgap || 0) + o.vgap + o.bgap), + height: BI.isNumber(rowSize) ? self._optimiseGap(rowSize) : "" + }); + if (rowSize === "" || rowSize === "fill") { return true; } diff --git a/src/core/wrapper/layout/layout.td.js b/src/core/wrapper/layout/layout.td.js index ffd58a4ea..340b347bf 100644 --- a/src/core/wrapper/layout/layout.td.js +++ b/src/core/wrapper/layout/layout.td.js @@ -75,15 +75,14 @@ BI.TdLayout = BI.inherit(BI.Layout, { } } - var height = o.rowSize[idx] === "" ? "" : (o.rowSize[idx] < 1 ? ((o.rowSize[idx] * 100).toFixed(1) + "%") : o.rowSize[idx]); - var rowHeight = BI.isNumber(o.rowSize[idx]) ? (o.rowSize[idx] <= 1 ? height : height / BI.pixRatio + BI.pixUnit) : height; + var height = o.rowSize[idx] === "" ? "" : this._optimiseGap(o.rowSize[idx]); var tr = BI._lazyCreateWidget({ type: "bi.default", tagName: "tr", height: height, css: { - "max-height": rowHeight, - "min-height": rowHeight + "max-height": height, + "min-height": height } }); @@ -92,7 +91,7 @@ BI.TdLayout = BI.inherit(BI.Layout, { if (o.verticalAlign === BI.VerticalAlign.Stretch) { var top = o.vgap + o.tgap + (arr[i].tgap || 0) + (arr[i].vgap || 0), bottom = o.vgap + o.bgap + (arr[i].bgap || 0) + (arr[i].vgap || 0); - w.element.css("height", "calc(100% - " + ((top + bottom) / BI.pixRatio + BI.pixUnit) + ")"); + w.element.css("height", "calc(100% - " + this._optimiseGap(top + bottom) + ")"); } w.element.css({position: "relative", top: "0", left: "0", margin: "0px auto"}); var item = arr[i]; @@ -101,9 +100,7 @@ BI.TdLayout = BI.inherit(BI.Layout, { var width = ""; var columnSize = o.columnSize.length > 0 ? o.columnSize[i] : item.width; if (columnSize > 0) { - width = columnSize < 1 ? - ((columnSize * 100).toFixed(1) + "%") - : (columnSize + (i === 0 ? o.hgap : 0) + o.hgap + o.lgap + o.rgap); + width = this._optimiseGap(columnSize + (i === 0 ? o.hgap : 0) + o.hgap + o.lgap + o.rgap); } function hasFill() { if (o.columnSize.length > 0) { @@ -129,10 +126,9 @@ BI.TdLayout = BI.inherit(BI.Layout, { // 2、不能给多个td设置最大宽度,这样只会平分宽度 // 3、多百分比宽度就算了 if (columnSize > 0) { - columnSize = columnSize < 1 ? width : width / BI.pixRatio + BI.pixUnit; td.element.css({ - "max-width": columnSize, - "min-width": columnSize + "max-width": width, + "min-width": width }); } td.element.css({ diff --git a/src/core/wrapper/layout/layout.window.js b/src/core/wrapper/layout/layout.window.js index 7094bb7ee..95a87ba97 100644 --- a/src/core/wrapper/layout/layout.window.js +++ b/src/core/wrapper/layout/layout.window.js @@ -100,9 +100,9 @@ BI.WindowLayout = BI.inherit(BI.Layout, { if (BI.isNull(top[i])) { top[i] = top[i - 1] + (o.rowSize[i - 1] < 1 ? o.rowSize[i - 1] : o.rowSize[i - 1] + o.vgap + o.bgap); } - var t = top[i] <= 1 ? (top[i] * 100).toFixed(1) + "%" : (top[i] + o.vgap + o.tgap) / BI.pixRatio + BI.pixUnit, h = ""; + var t = this._optimiseGap(top[i] + o.vgap + o.tgap), h = ""; if (BI.isNumber(o.rowSize[i])) { - h = o.rowSize[i] <= 1 ? (o.rowSize[i] * 100).toFixed(1) + "%" : o.rowSize[i] / BI.pixRatio + BI.pixUnit; + h = this._optimiseGap(o.rowSize[i]); } wi.element.css({top: t, height: h}); first(wi, i, j); @@ -118,9 +118,9 @@ BI.WindowLayout = BI.inherit(BI.Layout, { if (BI.isNull(bottom[i])) { bottom[i] = bottom[i + 1] + (o.rowSize[i + 1] < 1 ? o.rowSize[i + 1] : o.rowSize[i + 1] + o.vgap + o.tgap); } - var b = bottom[i] <= 1 ? (bottom[i] * 100).toFixed(1) + "%" : (bottom[i] + o.vgap + o.bgap) / BI.pixRatio + BI.pixUnit, h = ""; + var b = this._optimiseGap(bottom[i] + o.vgap + o.bgap), h = ""; if (BI.isNumber(o.rowSize[i])) { - h = o.rowSize[i] <= 1 ? (o.rowSize[i] * 100).toFixed(1) + "%" : o.rowSize[i] / BI.pixRatio + BI.pixUnit; + h = this._optimiseGap(o.rowSize[i]); } wi.element.css({bottom: b, height: h}); first(wi, i, j); @@ -136,9 +136,9 @@ BI.WindowLayout = BI.inherit(BI.Layout, { if (BI.isNull(left[j])) { left[j] = left[j - 1] + (o.columnSize[j - 1] < 1 ? o.columnSize[j - 1] : o.columnSize[j - 1] + o.hgap + o.rgap); } - var l = left[j] <= 1 ? (left[j] * 100).toFixed(1) + "%" : (left[j] + o.hgap + o.lgap) / BI.pixRatio + BI.pixUnit, w = ""; + var l = this._optimiseGap(left[j] + o.hgap + o.lgap), w = ""; if (BI.isNumber(o.columnSize[j])) { - w = o.columnSize[j] <= 1 ? (o.columnSize[j] * 100).toFixed(1) + "%" : o.columnSize[j] / BI.pixRatio + BI.pixUnit; + w = this._optimiseGap(o.columnSize[j]); } wi.element.css({left: l, width: w}); first(wi, i, j); @@ -154,9 +154,9 @@ BI.WindowLayout = BI.inherit(BI.Layout, { if (BI.isNull(right[j])) { right[j] = right[j + 1] + (o.columnSize[j + 1] < 1 ? o.columnSize[j + 1] : o.columnSize[j + 1] + o.hgap + o.lgap); } - var r = right[j] <= 1 ? (right[j] * 100).toFixed(1) + "%" : (right[j] + o.hgap + o.rgap) / BI.pixRatio + BI.pixUnit, w = ""; + var r = this._optimiseGap(right[j] + o.hgap + o.rgap), w = ""; if (BI.isNumber(o.columnSize[j])) { - w = o.columnSize[j] <= 1 ? (o.columnSize[j] * 100).toFixed(1) + "%" : o.columnSize[j] / BI.pixRatio + BI.pixUnit; + w = this._optimiseGap(o.columnSize[j]); } wi.element.css({right: r, width: w}); first(wi, i, j); diff --git a/src/core/wrapper/layout/middle/middle.center.js b/src/core/wrapper/layout/middle/middle.center.js index a21472d72..9d80a094f 100644 --- a/src/core/wrapper/layout/middle/middle.center.js +++ b/src/core/wrapper/layout/middle/middle.center.js @@ -35,10 +35,10 @@ BI.CenterLayout = BI.inherit(BI.Layout, { var w = BI._lazyCreateWidget(item); w.element.css({ position: "absolute", - left: (o.hgap + o.lgap) / BI.pixRatio + BI.pixUnit, - right: (o.hgap + o.rgap) / BI.pixRatio + BI.pixUnit, - top: (o.vgap + o.tgap) / BI.pixRatio + BI.pixUnit, - bottom: (o.vgap + o.bgap) / BI.pixRatio + BI.pixUnit, + left: self._optimiseGap(o.hgap + o.lgap), + right: self._optimiseGap(o.hgap + o.rgap), + top: self._optimiseGap(o.vgap + o.tgap), + bottom: self._optimiseGap(o.vgap + o.bgap), width: "auto", height: "auto" }); diff --git a/src/core/wrapper/layout/middle/middle.float.center.js b/src/core/wrapper/layout/middle/middle.float.center.js index b5edb61fc..d1e2a4695 100644 --- a/src/core/wrapper/layout/middle/middle.float.center.js +++ b/src/core/wrapper/layout/middle/middle.float.center.js @@ -36,10 +36,10 @@ BI.FloatCenterLayout = BI.inherit(BI.Layout, { var w = BI._lazyCreateWidget(item); w.element.css({ position: "absolute", - left: (o.hgap + o.lgap) / BI.pixRatio + BI.pixUnit, - right: (o.hgap + o.rgap) / BI.pixRatio + BI.pixUnit, - top: (o.vgap + o.tgap) / BI.pixRatio + BI.pixUnit, - bottom: (o.vgap + o.bgap) / BI.pixRatio + BI.pixUnit, + left: self._optimiseGap(o.hgap + o.lgap), + right: self._optimiseGap(o.hgap + o.rgap), + top: self._optimiseGap(o.vgap + o.tgap), + bottom: self._optimiseGap(o.vgap + o.bgap), width: "auto", height: "auto" }); diff --git a/src/core/wrapper/layout/middle/middle.horizontal.js b/src/core/wrapper/layout/middle/middle.horizontal.js index f54f32996..c42fde9c0 100644 --- a/src/core/wrapper/layout/middle/middle.horizontal.js +++ b/src/core/wrapper/layout/middle/middle.horizontal.js @@ -34,10 +34,10 @@ BI.HorizontalCenterLayout = BI.inherit(BI.Layout, { var w = BI._lazyCreateWidget(item); w.element.css({ position: "absolute", - left: (o.hgap + o.lgap) / BI.pixRatio + BI.pixUnit, - right: (o.hgap + o.rgap) / BI.pixRatio + BI.pixUnit, - top: (o.vgap + o.tgap) / BI.pixRatio + BI.pixUnit, - bottom: (o.vgap + o.bgap) / BI.pixRatio + BI.pixUnit, + left: self._optimiseGap(o.hgap + o.lgap), + right: self._optimiseGap(o.hgap + o.rgap), + top: self._optimiseGap(o.vgap + o.tgap), + bottom: self._optimiseGap(o.vgap + o.bgap), width: "auto" }); list[i].el.addItem(w); diff --git a/src/core/wrapper/layout/middle/middle.vertical.js b/src/core/wrapper/layout/middle/middle.vertical.js index bedb60a22..b835bc4f6 100644 --- a/src/core/wrapper/layout/middle/middle.vertical.js +++ b/src/core/wrapper/layout/middle/middle.vertical.js @@ -35,10 +35,10 @@ BI.VerticalCenterLayout = BI.inherit(BI.Layout, { var w = BI._lazyCreateWidget(item); w.element.css({ position: "absolute", - left: (o.hgap + o.lgap) / BI.pixRatio + BI.pixUnit, - right: (o.hgap + o.rgap) / BI.pixRatio + BI.pixUnit, - top: (o.vgap + o.tgap) / BI.pixRatio + BI.pixUnit, - bottom: (o.vgap + o.bgap) / BI.pixRatio + BI.pixUnit, + left: self._optimiseGap(o.hgap + o.lgap), + right: self._optimiseGap(o.hgap + o.rgap), + top: self._optimiseGap(o.vgap + o.tgap), + bottom: self._optimiseGap(o.vgap + o.bgap), height: "auto" }); list[i].el.addItem(w); From e11c269cc8e379e4522ff3b3755e74de0ed59893 Mon Sep 17 00:00:00 2001 From: data Date: Sun, 5 Dec 2021 13:44:53 +0800 Subject: [PATCH 26/38] auto upgrade version to 2.0.20211205134355 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 280cd00ed..b5e12f507 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211204234339", + "version": "2.0.20211205134355", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From e4e18b4df99f4f9d5587a56dae1caf41d17db658 Mon Sep 17 00:00:00 2001 From: guy Date: Sun, 5 Dec 2021 14:15:53 +0800 Subject: [PATCH 27/38] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=A4=84=E7=90=86?= =?UTF-8?q?=EF=BC=9Aactive=E7=9A=84=E6=A0=B7=E5=BC=8F=E4=B9=8Bswitch?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/less/base/single/button/switch.less | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/less/base/single/button/switch.less b/src/less/base/single/button/switch.less index 9093c84d7..7a65f2889 100644 --- a/src/less/base/single/button/switch.less +++ b/src/less/base/single/button/switch.less @@ -3,7 +3,7 @@ .bi-switch{ .border-radius(40px 40px 40px 40px); background-color: @color-bi-background-dark-gray; - &:active, &.active { + &.active { background-color: @color-bi-background-highlight; } & .circle-button{ @@ -11,23 +11,17 @@ } &.disabled { background-color: @color-bi-background-disabled; - &:active { - background-color: @color-bi-background-disabled; - } } } .bi-theme-dark { .bi-switch{ background-color: @color-bi-background-dark-gray-theme-dark; - &:active, &.active { + &.active { background-color: @color-bi-background-highlight; } &.disabled { background-color: @color-bi-background-disabled-theme-dark; - &:active { - background-color: @color-bi-background-disabled-theme-dark; - } } } } \ No newline at end of file From cb6ac28d9b3fdef2882261207537121982b246d0 Mon Sep 17 00:00:00 2001 From: data Date: Sun, 5 Dec 2021 14:24:29 +0800 Subject: [PATCH 28/38] auto upgrade version to 2.0.20211205142413 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b5e12f507..b2ba0c838 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211205134355", + "version": "2.0.20211205142413", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From fa271d8a45bc2c44e21830890f32b09dd6da23c9 Mon Sep 17 00:00:00 2001 From: guy Date: Sun, 5 Dec 2021 20:07:52 +0800 Subject: [PATCH 29/38] update --- src/core/platform/web/config.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/platform/web/config.js b/src/core/platform/web/config.js index e8001d87f..2aedd70c0 100644 --- a/src/core/platform/web/config.js +++ b/src/core/platform/web/config.js @@ -162,7 +162,7 @@ BI.prepares.push(function () { }); BI.Plugin.configWidget("bi.flex_horizontal", function (ob) { if (ob.scrollable === true || ob.scrollx !== false) { - if (ob.hgap > 0 || ob.rgap > 0) {// flex中最后一个margin-right不生效 + if (ob.hgap > 0 || ob.lgap > 0 || ob.rgap > 0) { if (BI.Providers.getProvider("bi.provider.system").getResponsiveMode()) { return BI.extend({}, ob, {type: "bi.responsive_flex_scrollable_horizontal"}); } @@ -175,7 +175,7 @@ BI.prepares.push(function () { }); BI.Plugin.configWidget("bi.flex_vertical", function (ob) { if (ob.scrollable === true || ob.scrollx === true) { - if (ob.hgap > 0 || ob.rgap > 0) {// flex中最后一个margin-right不生效 + if (ob.hgap > 0 || ob.lgap > 0 || ob.rgap > 0) { return BI.extend({}, ob, {type: "bi.flex_scrollable_vertical"}); } } From 66efea0a560a91c04dcd55fb5745d4481113ab5c Mon Sep 17 00:00:00 2001 From: youki Date: Mon, 6 Dec 2021 13:44:50 +0800 Subject: [PATCH 30/38] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1=20style:?= =?UTF-8?q?=20=E6=9B=B4=E6=96=B0=E5=AD=97=E4=BD=93=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/font/iconfont.eot | Bin 148516 -> 153776 bytes dist/font/iconfont.svg | 30 ++++++++++++++++++++++++++++++ dist/font/iconfont.ttf | Bin 148348 -> 153608 bytes dist/font/iconfont.woff | Bin 73736 -> 76808 bytes dist/font/iconfont.woff2 | Bin 58832 -> 61208 bytes 5 files changed, 30 insertions(+) diff --git a/dist/font/iconfont.eot b/dist/font/iconfont.eot index 9db044108bbe1213e2f16243295e1e6f008b5612..44a04d8c3ea20e4849f08b8eb4dec0b798d5671b 100644 GIT binary patch delta 15429 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�`jcB)<~MGk>2=G zaQs_5=N^;G6&9lIeWT-^-~)T~{2`ui-!a^P&c=-yX3Y7zb?jqM-j?y)ia|@m8Afo! z7Mx!J`?HJ~iJNiWP8S~Ka`Uh?H4U|BcH%!H>Apq}2qTp@FEh$C_`7X&Mt65gid~C`4XCYRpT!5LpGOF-z^@{ZUq1q~*KA7AspU zA%{;zTEm_DUp8BrLn61MMd(hZI)n^`nA~+WjEr;e9-yawD}p}8)lgGj_u8-D3iV?Y z;l?(3cEvzK#%vhX;g0rSZZuTOxm}gZH5(RRU2Irr|_7V@Ze&--1NUT z`TsB5!VUV0uQgsVhIc83LOltfbIVOhMnU0U&3{;v0(ct*pu?dFUKUQk`@C|z5?hY@ zPpqEMz#s=R7@gVg#wZmXB>K(HY(Uv0=mOHiTeE&#z&G?9M~*l4zu$_ov+Lfs5j<^p zObP7O(+3Di4(Zj^;W0J1R4L0sQT2aVOKFBF5fXxgy$d^} z8}uZK&bPXzVREGq6Drl!=^YAV!mBZ{(!{(NH0G_fIRD=_{QG*dl!Eabh zwz5g1%g0O_J#F6Xve~w=qswQO&Ym!Pe(9w4w#wP%lgcKIABQirw+`snyA8fNZOr)c zh*_}SZNm6+e9?+M%4W}+Rz7jeZ2RQ#GfO9x&K^AJ>;+q>*tpEHPKA177eBwL}GIh=$J?W;(vE!%cT;`Wz3l3X3$vkD!c)cZT TbQ`FA{_OT0Uc1GsK1==|{J6le delta 10244 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 M1P5-^HCO%r54KmTM*si- diff --git a/dist/font/iconfont.svg b/dist/font/iconfont.svg index 5a40b7253..c642b62c8 100644 --- a/dist/font/iconfont.svg +++ b/dist/font/iconfont.svg @@ -14,6 +14,36 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/font/iconfont.ttf b/dist/font/iconfont.ttf index 2200c297f89e5194573c2f0db7ef1671487c66ba..6b017337259a251623823d78b824e92d097653f0 100644 GIT binary patch delta 15415 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 F{~vA3sZ#&| diff --git a/dist/font/iconfont.woff b/dist/font/iconfont.woff index dfeba9b00012c4274831ca960f047d7e6a63345a..2a7a2de4045f7686be6635899aeb6dda6c6304db 100644 GIT binary patch literal 76808 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 NlJHHN{trRl^mLRT$tnN< literal 73736 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

L7i=$+1XTUh)PG@W4;iU*6rT35r%4M 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 z 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 Date: Mon, 6 Dec 2021 14:43:59 +0800 Subject: [PATCH 31/38] auto upgrade version to 2.0.20211206144344 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b2ba0c838..21f381dd6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211205142413", + "version": "2.0.20211206144344", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From 1ab1c2e8d73555a5dfd243788822e4e0338bb0c5 Mon Sep 17 00:00:00 2001 From: guy Date: Mon, 6 Dec 2021 22:47:08 +0800 Subject: [PATCH 32/38] =?UTF-8?q?number.js=E7=A7=BB=E5=88=B0polyfill?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/{core/proto => polyfill}/number.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{core/proto => polyfill}/number.js (100%) diff --git a/src/core/proto/number.js b/src/polyfill/number.js similarity index 100% rename from src/core/proto/number.js rename to src/polyfill/number.js From b599b3745127ea9fd2a2c6b4b01970a30327cd5c Mon Sep 17 00:00:00 2001 From: guy Date: Mon, 6 Dec 2021 22:49:00 +0800 Subject: [PATCH 33/38] =?UTF-8?q?=E5=88=A0=E9=99=A4snabbdom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/snabbdom/element2Snabbdom.js | 49 -- src/snabbdom/snabbdom.js | 1052 ------------------------------ 2 files changed, 1101 deletions(-) delete mode 100644 src/snabbdom/element2Snabbdom.js delete mode 100644 src/snabbdom/snabbdom.js diff --git a/src/snabbdom/element2Snabbdom.js b/src/snabbdom/element2Snabbdom.js deleted file mode 100644 index 1a99bdc53..000000000 --- a/src/snabbdom/element2Snabbdom.js +++ /dev/null @@ -1,49 +0,0 @@ -!function () { - var patch = BI.Snabbdom.init([BI.Snabbdom.attributesModule, BI.Snabbdom.classModule, BI.Snabbdom.datasetModule, BI.Snabbdom.propsModule, BI.Snabbdom.styleModule, BI.Snabbdom.eventListenersModule]); - BI.Element2Vnode = function (parentNode) { - if (parentNode.nodeType === 3) { - return BI.Snabbdom.vnode(undefined, undefined, undefined, parentNode.textContent, parentNode); - } - var data = BI.jQuery._data(parentNode); - var on = {}; - BI.each(data && data.events, function (eventName, events) { - on[eventName] = function () { - var ob = this, args = arguments; - BI.each(events, function (i, ev) { - ev.handler.apply(ob, args); - }); - }; - }); - var attrs = {}; - var elmAttrs = parentNode.attributes; - var elmChildren = parentNode.childNodes; - var key = parentNode.getAttribute("key"); - for (var i = 0, n = elmAttrs.length; i < n; i++) { - var name = elmAttrs[i].nodeName; - if (name !== "id" && name !== "class") { - attrs[name] = elmAttrs[i].nodeValue; - } - } - var vnode = BI.Snabbdom.vnode(parentNode.nodeName, { - class: BI.makeObject(parentNode.classList), - attrs: attrs, - key: key, - on: on, - hook: { - create: function () { - BI.each(BI.Widget._renderEngine.createElement(parentNode).data("__widgets"), function (i, w) { - w.element = BI.Widget._renderEngine.createElement(vnode.elm); - }); - } - } - }, BI.map(elmChildren, function (i, childNode) { - return BI.Element2Vnode(childNode); - }), undefined, parentNode); - return vnode; - }; - - BI.patchVNode = function (element, node) { - patch(element, node); - }; -}(); - diff --git a/src/snabbdom/snabbdom.js b/src/snabbdom/snabbdom.js deleted file mode 100644 index 4965fcad5..000000000 --- a/src/snabbdom/snabbdom.js +++ /dev/null @@ -1,1052 +0,0 @@ -(function (global, factory) { - factory(BI.Snabbdom = BI.Snabbdom || {}); -})(this, function (exports) { - 'use strict'; - - function createElement(tagName) { - return document.createElement(tagName); - } - function createElementNS(namespaceURI, qualifiedName) { - return document.createElementNS(namespaceURI, qualifiedName); - } - function createTextNode(text) { - return document.createTextNode(text); - } - function createComment(text) { - return document.createComment(text); - } - function insertBefore(parentNode, newNode, referenceNode) { - parentNode.insertBefore(newNode, referenceNode); - } - function removeChild(node, child) { - node.removeChild(child); - } - function appendChild(node, child) { - node.appendChild(child); - } - function parentNode(node) { - return node.parentNode; - } - function nextSibling(node) { - return node.nextSibling; - } - function tagName(elm) { - return elm.tagName; - } - function setTextContent(node, text) { - node.textContent = text; - } - function getTextContent(node) { - return node.textContent; - } - function isElement(node) { - return node.nodeType === 1; - } - function isText(node) { - return node.nodeType === 3; - } - function isComment(node) { - return node.nodeType === 8; - } - var htmlDomApi = { - createElement: createElement, - createElementNS: createElementNS, - createTextNode: createTextNode, - createComment: createComment, - insertBefore: insertBefore, - removeChild: removeChild, - appendChild: appendChild, - parentNode: parentNode, - nextSibling: nextSibling, - tagName: tagName, - setTextContent: setTextContent, - getTextContent: getTextContent, - isElement: isElement, - isText: isText, - isComment: isComment - }; - - function vnode(sel, data, children, text, elm) { - var key = data === undefined ? undefined : data.key; - return { sel: sel, data: data, children: children, text: text, elm: elm, key: key }; - } - - var array = Array.isArray; - function primitive(s) { - return typeof s === "string" || typeof s === "number"; - } - - function isUndef(s) { - return s === undefined; - } - function isDef(s) { - return s !== undefined; - } - var emptyNode = vnode("", {}, [], undefined, undefined); - function sameVnode(vnode1, vnode2) { - return vnode1.key === vnode2.key && vnode1.sel === vnode2.sel; - } - function isVnode(vnode) { - return vnode.sel !== undefined; - } - function createKeyToOldIdx(children, beginIdx, endIdx) { - var _a; - var map = {}; - for (var i = beginIdx; i <= endIdx; ++i) { - var key = (_a = children[i]) === null || _a === void 0 ? void 0 : _a.key; - if (key !== undefined) { - map[key] = i; - } - } - return map; - } - var hooks = ["create", "update", "remove", "destroy", "pre", "post"]; - function init(modules, domApi) { - var i = void 0; - var j = void 0; - var cbs = { - create: [], - update: [], - remove: [], - destroy: [], - pre: [], - post: [] - }; - var api = domApi !== undefined ? domApi : htmlDomApi; - for (i = 0; i < hooks.length; ++i) { - cbs[hooks[i]] = []; - for (j = 0; j < modules.length; ++j) { - var hook = modules[j][hooks[i]]; - if (hook !== undefined) { - cbs[hooks[i]].push(hook); - } - } - } - function emptyNodeAt(elm) { - var id = elm.id ? "#" + elm.id : ""; - var c = elm.className ? "." + elm.className.split(" ").join(".") : ""; - return vnode(api.tagName(elm).toLowerCase() + id + c, {}, [], undefined, elm); - } - function createRmCb(childElm, listeners) { - return function rmCb() { - if (--listeners === 0) { - var parent = api.parentNode(childElm); - api.removeChild(parent, childElm); - } - }; - } - function createElm(vnode, insertedVnodeQueue) { - var _a, _b; - var i = void 0; - var data = vnode.data; - if (data !== undefined) { - var _init = (_a = data.hook) === null || _a === void 0 ? void 0 : _a.init; - if (isDef(_init)) { - _init(vnode); - data = vnode.data; - } - } - var children = vnode.children; - var sel = vnode.sel; - if (sel === "!") { - if (isUndef(vnode.text)) { - vnode.text = ""; - } - vnode.elm = api.createComment(vnode.text); - } else if (sel !== undefined) { - // Parse selector - var hashIdx = sel.indexOf("#"); - var dotIdx = sel.indexOf(".", hashIdx); - var hash = hashIdx > 0 ? hashIdx : sel.length; - var dot = dotIdx > 0 ? dotIdx : sel.length; - var tag = hashIdx !== -1 || dotIdx !== -1 ? sel.slice(0, Math.min(hash, dot)) : sel; - var elm = vnode.elm = isDef(data) && isDef(i = data.ns) ? api.createElementNS(i, tag) : api.createElement(tag); - if (hash < dot) elm.setAttribute("id", sel.slice(hash + 1, dot)); - if (dotIdx > 0) elm.setAttribute("class", sel.slice(dot + 1).replace(/\./g, " ")); - for (i = 0; i < cbs.create.length; ++i) { - cbs.create[i](emptyNode, vnode); - }if (array(children)) { - for (i = 0; i < children.length; ++i) { - var ch = children[i]; - if (ch != null) { - api.appendChild(elm, createElm(ch, insertedVnodeQueue)); - } - } - } else if (primitive(vnode.text)) { - api.appendChild(elm, api.createTextNode(vnode.text)); - } - var _hook = vnode.data.hook; - if (isDef(_hook)) { - (_b = _hook.create) === null || _b === void 0 ? void 0 : _b.call(_hook, emptyNode, vnode); - if (_hook.insert) { - insertedVnodeQueue.push(vnode); - } - } - } else { - vnode.elm = api.createTextNode(vnode.text); - } - return vnode.elm; - } - function addVnodes(parentElm, before, vnodes, startIdx, endIdx, insertedVnodeQueue) { - for (; startIdx <= endIdx; ++startIdx) { - var ch = vnodes[startIdx]; - if (ch != null) { - api.insertBefore(parentElm, createElm(ch, insertedVnodeQueue), before); - } - } - } - function invokeDestroyHook(vnode) { - var _a, _b; - var data = vnode.data; - if (data !== undefined) { - (_b = (_a = data === null || data === void 0 ? void 0 : data.hook) === null || _a === void 0 ? void 0 : _a.destroy) === null || _b === void 0 ? void 0 : _b.call(_a, vnode); - for (var _i = 0; _i < cbs.destroy.length; ++_i) { - cbs.destroy[_i](vnode); - }if (vnode.children !== undefined) { - for (var _j = 0; _j < vnode.children.length; ++_j) { - var child = vnode.children[_j]; - if (child != null && typeof child !== "string") { - invokeDestroyHook(child); - } - } - } - } - } - function removeVnodes(parentElm, vnodes, startIdx, endIdx) { - var _a, _b; - for (; startIdx <= endIdx; ++startIdx) { - var listeners = void 0; - var rm = void 0; - var ch = vnodes[startIdx]; - if (ch != null) { - if (isDef(ch.sel)) { - invokeDestroyHook(ch); - listeners = cbs.remove.length + 1; - rm = createRmCb(ch.elm, listeners); - for (var _i2 = 0; _i2 < cbs.remove.length; ++_i2) { - cbs.remove[_i2](ch, rm); - }var removeHook = (_b = (_a = ch === null || ch === void 0 ? void 0 : ch.data) === null || _a === void 0 ? void 0 : _a.hook) === null || _b === void 0 ? void 0 : _b.remove; - if (isDef(removeHook)) { - removeHook(ch, rm); - } else { - rm(); - } - } else { - // Text node - api.removeChild(parentElm, ch.elm); - } - } - } - } - function updateChildren(parentElm, oldCh, newCh, insertedVnodeQueue) { - var oldStartIdx = 0; - var newStartIdx = 0; - var oldEndIdx = oldCh.length - 1; - var oldStartVnode = oldCh[0]; - var oldEndVnode = oldCh[oldEndIdx]; - var newEndIdx = newCh.length - 1; - var newStartVnode = newCh[0]; - var newEndVnode = newCh[newEndIdx]; - var oldKeyToIdx = void 0; - var idxInOld = void 0; - var elmToMove = void 0; - var before = void 0; - while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) { - if (oldStartVnode == null) { - oldStartVnode = oldCh[++oldStartIdx]; // Vnode might have been moved left - } else if (oldEndVnode == null) { - oldEndVnode = oldCh[--oldEndIdx]; - } else if (newStartVnode == null) { - newStartVnode = newCh[++newStartIdx]; - } else if (newEndVnode == null) { - newEndVnode = newCh[--newEndIdx]; - } else if (sameVnode(oldStartVnode, newStartVnode)) { - patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue); - oldStartVnode = oldCh[++oldStartIdx]; - newStartVnode = newCh[++newStartIdx]; - } else if (sameVnode(oldEndVnode, newEndVnode)) { - patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue); - oldEndVnode = oldCh[--oldEndIdx]; - newEndVnode = newCh[--newEndIdx]; - } else if (sameVnode(oldStartVnode, newEndVnode)) { - // Vnode moved right - patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue); - api.insertBefore(parentElm, oldStartVnode.elm, api.nextSibling(oldEndVnode.elm)); - oldStartVnode = oldCh[++oldStartIdx]; - newEndVnode = newCh[--newEndIdx]; - } else if (sameVnode(oldEndVnode, newStartVnode)) { - // Vnode moved left - patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue); - api.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm); - oldEndVnode = oldCh[--oldEndIdx]; - newStartVnode = newCh[++newStartIdx]; - } else { - if (oldKeyToIdx === undefined) { - oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); - } - idxInOld = oldKeyToIdx[newStartVnode.key]; - if (isUndef(idxInOld)) { - // New element - api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm); - } else { - elmToMove = oldCh[idxInOld]; - if (elmToMove.sel !== newStartVnode.sel) { - api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm); - } else { - patchVnode(elmToMove, newStartVnode, insertedVnodeQueue); - oldCh[idxInOld] = undefined; - api.insertBefore(parentElm, elmToMove.elm, oldStartVnode.elm); - } - } - newStartVnode = newCh[++newStartIdx]; - } - } - if (oldStartIdx <= oldEndIdx || newStartIdx <= newEndIdx) { - if (oldStartIdx > oldEndIdx) { - before = newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].elm; - addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx, insertedVnodeQueue); - } else { - removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx); - } - } - } - function patchVnode(oldVnode, vnode, insertedVnodeQueue) { - var _a, _b, _c, _d, _e; - var hook = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.hook; - (_b = hook === null || hook === void 0 ? void 0 : hook.prepatch) === null || _b === void 0 ? void 0 : _b.call(hook, oldVnode, vnode); - var elm = vnode.elm = oldVnode.elm; - var oldCh = oldVnode.children; - var ch = vnode.children; - if (oldVnode === vnode) return; - if (vnode.data !== undefined) { - for (var _i3 = 0; _i3 < cbs.update.length; ++_i3) { - cbs.update[_i3](oldVnode, vnode); - }(_d = (_c = vnode.data.hook) === null || _c === void 0 ? void 0 : _c.update) === null || _d === void 0 ? void 0 : _d.call(_c, oldVnode, vnode); - } - if (isUndef(vnode.text)) { - if (isDef(oldCh) && isDef(ch)) { - if (oldCh !== ch) updateChildren(elm, oldCh, ch, insertedVnodeQueue); - } else if (isDef(ch)) { - if (isDef(oldVnode.text)) api.setTextContent(elm, ""); - addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue); - } else if (isDef(oldCh)) { - removeVnodes(elm, oldCh, 0, oldCh.length - 1); - } else if (isDef(oldVnode.text)) { - api.setTextContent(elm, ""); - } - } else if (oldVnode.text !== vnode.text) { - if (isDef(oldCh)) { - removeVnodes(elm, oldCh, 0, oldCh.length - 1); - } - api.setTextContent(elm, vnode.text); - } - (_e = hook === null || hook === void 0 ? void 0 : hook.postpatch) === null || _e === void 0 ? void 0 : _e.call(hook, oldVnode, vnode); - } - return function patch(oldVnode, vnode) { - var i = void 0, - elm = void 0, - parent = void 0; - var insertedVnodeQueue = []; - for (i = 0; i < cbs.pre.length; ++i) { - cbs.pre[i](); - }if (!isVnode(oldVnode)) { - oldVnode = emptyNodeAt(oldVnode); - } - if (sameVnode(oldVnode, vnode)) { - patchVnode(oldVnode, vnode, insertedVnodeQueue); - } else { - elm = oldVnode.elm; - parent = api.parentNode(elm); - createElm(vnode, insertedVnodeQueue); - if (parent !== null) { - api.insertBefore(parent, vnode.elm, api.nextSibling(elm)); - removeVnodes(parent, [oldVnode], 0, 0); - } - } - for (i = 0; i < insertedVnodeQueue.length; ++i) { - insertedVnodeQueue[i].data.hook.insert(insertedVnodeQueue[i]); - } - for (i = 0; i < cbs.post.length; ++i) { - cbs.post[i](); - }return vnode; - }; - } - - function addNS(data, children, sel) { - data.ns = "http://www.w3.org/2000/svg"; - if (sel !== "foreignObject" && children !== undefined) { - for (var i = 0; i < children.length; ++i) { - var childData = children[i].data; - if (childData !== undefined) { - addNS(childData, children[i].children, children[i].sel); - } - } - } - } - function h(sel, b, c) { - var data = {}; - var children = void 0; - var text = void 0; - var i = void 0; - if (c !== undefined) { - if (b !== null) { - data = b; - } - if (array(c)) { - children = c; - } else if (primitive(c)) { - text = c; - } else if (c && c.sel) { - children = [c]; - } - } else if (b !== undefined && b !== null) { - if (array(b)) { - children = b; - } else if (primitive(b)) { - text = b; - } else if (b && b.sel) { - children = [b]; - } else { - data = b; - } - } - if (children !== undefined) { - for (i = 0; i < children.length; ++i) { - if (primitive(children[i])) children[i] = vnode(undefined, undefined, undefined, children[i], undefined); - } - } - if (sel[0] === "s" && sel[1] === "v" && sel[2] === "g" && (sel.length === 3 || sel[3] === "." || sel[3] === "#")) { - addNS(data, children, sel); - } - return vnode(sel, data, children, text, undefined); - } - - function copyToThunk(vnode, thunk) { - vnode.data.fn = thunk.data.fn; - vnode.data.args = thunk.data.args; - thunk.data = vnode.data; - thunk.children = vnode.children; - thunk.text = vnode.text; - thunk.elm = vnode.elm; - } - function init$1(thunk) { - var cur = thunk.data; - var vnode = cur.fn.apply(undefined, cur.args); - copyToThunk(vnode, thunk); - } - function prepatch(oldVnode, thunk) { - var i = void 0; - var old = oldVnode.data; - var cur = thunk.data; - var oldArgs = old.args; - var args = cur.args; - if (old.fn !== cur.fn || oldArgs.length !== args.length) { - copyToThunk(cur.fn.apply(undefined, args), thunk); - return; - } - for (i = 0; i < args.length; ++i) { - if (oldArgs[i] !== args[i]) { - copyToThunk(cur.fn.apply(undefined, args), thunk); - return; - } - } - copyToThunk(oldVnode, thunk); - } - var thunk = function thunk(sel, key, fn, args) { - if (args === undefined) { - args = fn; - fn = key; - key = undefined; - } - return h(sel, { - key: key, - hook: { init: init$1, prepatch: prepatch }, - fn: fn, - args: args - }); - }; - - function pre(vnode, newVnode) { - var attachData = vnode.data.attachData; - // Copy created placeholder and real element from old vnode - newVnode.data.attachData.placeholder = attachData.placeholder; - newVnode.data.attachData.real = attachData.real; - // Mount real element in vnode so the patch process operates on it - vnode.elm = vnode.data.attachData.real; - } - function post(_, vnode) { - // Mount dummy placeholder in vnode so potential reorders use it - vnode.elm = vnode.data.attachData.placeholder; - } - function destroy(vnode) { - // Remove placeholder - if (vnode.elm !== undefined) { - vnode.elm.parentNode.removeChild(vnode.elm); - } - // Remove real element from where it was inserted - vnode.elm = vnode.data.attachData.real; - } - function create(_, vnode) { - var real = vnode.elm; - var attachData = vnode.data.attachData; - var placeholder = document.createElement("span"); - // Replace actual element with dummy placeholder - // Snabbdom will then insert placeholder instead - vnode.elm = placeholder; - attachData.target.appendChild(real); - attachData.real = real; - attachData.placeholder = placeholder; - } - function attachTo(target, vnode) { - if (vnode.data === undefined) vnode.data = {}; - if (vnode.data.hook === undefined) vnode.data.hook = {}; - var data = vnode.data; - var hook = vnode.data.hook; - data.attachData = { target: target, placeholder: undefined, real: undefined }; - hook.create = create; - hook.prepatch = pre; - hook.postpatch = post; - hook.destroy = destroy; - return vnode; - } - - function toVNode(node, domApi) { - var api = domApi !== undefined ? domApi : htmlDomApi; - var text = void 0; - if (api.isElement(node)) { - var id = node.id ? "#" + node.id : ""; - var cn = node.getAttribute("class"); - var c = cn ? "." + cn.split(" ").join(".") : ""; - var sel = api.tagName(node).toLowerCase() + id + c; - var attrs = {}; - var children = []; - var name = void 0; - var i = void 0, - n = void 0; - var elmAttrs = node.attributes; - var elmChildren = node.childNodes; - for (i = 0, n = elmAttrs.length; i < n; i++) { - name = elmAttrs[i].nodeName; - if (name !== "id" && name !== "class") { - attrs[name] = elmAttrs[i].nodeValue; - } - } - for (i = 0, n = elmChildren.length; i < n; i++) { - children.push(toVNode(elmChildren[i], domApi)); - } - return vnode(sel, { attrs: attrs }, children, undefined, node); - } else if (api.isText(node)) { - text = api.getTextContent(node); - return vnode(undefined, undefined, undefined, text, node); - } else if (api.isComment(node)) { - text = api.getTextContent(node); - return vnode("!", {}, [], text, node); - } else { - return vnode("", {}, [], undefined, node); - } - } - - var xlinkNS = "http://www.w3.org/1999/xlink"; - var xmlNS = "http://www.w3.org/XML/1998/namespace"; - var colonChar = 58; - var xChar = 120; - function updateAttrs(oldVnode, vnode) { - var key = void 0; - var elm = vnode.elm; - var oldAttrs = oldVnode.data.attrs; - var attrs = vnode.data.attrs; - if (!oldAttrs && !attrs) return; - if (oldAttrs === attrs) return; - oldAttrs = oldAttrs || {}; - attrs = attrs || {}; - // update modified attributes, add new attributes - for (key in attrs) { - var cur = attrs[key]; - var old = oldAttrs[key]; - if (old !== cur) { - if (cur === true) { - elm.setAttribute(key, ""); - } else if (cur === false) { - elm.removeAttribute(key); - } else { - if (key.charCodeAt(0) !== xChar) { - elm.setAttribute(key, cur); - } else if (key.charCodeAt(3) === colonChar) { - // Assume xml namespace - elm.setAttributeNS(xmlNS, key, cur); - } else if (key.charCodeAt(5) === colonChar) { - // Assume xlink namespace - elm.setAttributeNS(xlinkNS, key, cur); - } else { - elm.setAttribute(key, cur); - } - } - } - } - // remove removed attributes - // use `in` operator since the previous `for` iteration uses it (.i.e. add even attributes with undefined value) - // the other option is to remove all attributes with value == undefined - for (key in oldAttrs) { - if (!(key in attrs)) { - elm.removeAttribute(key); - } - } - } - var attributesModule = { create: updateAttrs, update: updateAttrs }; - - function updateClass(oldVnode, vnode) { - var cur = void 0; - var name = void 0; - var elm = vnode.elm; - var oldClass = oldVnode.data["class"]; - var klass = vnode.data["class"]; - if (!oldClass && !klass) return; - if (oldClass === klass) return; - oldClass = oldClass || {}; - klass = klass || {}; - for (name in oldClass) { - if (oldClass[name] && !Object.prototype.hasOwnProperty.call(klass, name)) { - // was `true` and now not provided - elm.classList.remove(name); - } - } - for (name in klass) { - cur = klass[name]; - if (cur !== oldClass[name]) { - elm.classList[cur ? "add" : "remove"](name); - } - } - } - var classModule = { create: updateClass, update: updateClass }; - - var CAPS_REGEX = /[A-Z]/g; - function updateDataset(oldVnode, vnode) { - var elm = vnode.elm; - var oldDataset = oldVnode.data.dataset; - var dataset = vnode.data.dataset; - var key = void 0; - if (!oldDataset && !dataset) return; - if (oldDataset === dataset) return; - oldDataset = oldDataset || {}; - dataset = dataset || {}; - var d = elm.dataset; - for (key in oldDataset) { - if (!dataset[key]) { - if (d) { - if (key in d) { - delete d[key]; - } - } else { - elm.removeAttribute("data-" + key.replace(CAPS_REGEX, "-$&").toLowerCase()); - } - } - } - for (key in dataset) { - if (oldDataset[key] !== dataset[key]) { - if (d) { - d[key] = dataset[key]; - } else { - elm.setAttribute("data-" + key.replace(CAPS_REGEX, "-$&").toLowerCase(), dataset[key]); - } - } - } - } - var datasetModule = { create: updateDataset, update: updateDataset }; - - function invokeHandler(handler, vnode, event) { - if (typeof handler === "function") { - // call function handler - handler.call(vnode, event, vnode); - } else if (typeof handler === "object") { - // call multiple handlers - for (var i = 0; i < handler.length; i++) { - invokeHandler(handler[i], vnode, event); - } - } - } - function handleEvent(event, vnode) { - var name = event.type; - var on = vnode.data.on; - // call event handler(s) if exists - if (on && on[name]) { - invokeHandler(on[name], vnode, event); - } - } - function createListener() { - return function handler(event) { - handleEvent(event, handler.vnode); - }; - } - function updateEventListeners(oldVnode, vnode) { - var oldOn = oldVnode.data.on; - var oldListener = oldVnode.listener; - var oldElm = oldVnode.elm; - var on = vnode && vnode.data.on; - var elm = vnode && vnode.elm; - var name = void 0; - // optimization for reused immutable handlers - if (oldOn === on) { - return; - } - // remove existing listeners which no longer used - if (oldOn && oldListener) { - // if element changed or deleted we remove all existing listeners unconditionally - if (!on) { - for (name in oldOn) { - // remove listener if element was changed or existing listeners removed - oldElm.removeEventListener(name, oldListener, false); - } - } else { - for (name in oldOn) { - // remove listener if existing listener removed - if (!on[name]) { - oldElm.removeEventListener(name, oldListener, false); - } - } - } - } - // add new listeners which has not already attached - if (on) { - // reuse existing listener or create new - var listener = vnode.listener = oldVnode.listener || createListener(); - // update vnode for listener - listener.vnode = vnode; - // if element changed or added we add all needed listeners unconditionally - if (!oldOn) { - for (name in on) { - // add listener if element was changed or new listeners added - elm.addEventListener(name, listener, false); - } - } else { - for (name in on) { - // add listener if new listener added - if (!oldOn[name]) { - elm.addEventListener(name, listener, false); - } - } - } - } - } - var eventListenersModule = { - create: updateEventListeners, - update: updateEventListeners, - destroy: updateEventListeners - }; - - var raf = typeof window !== "undefined" && window.requestAnimationFrame || setTimeout; - var nextFrame = function nextFrame(fn) { - raf(function () { - raf(fn); - }); - }; - function setNextFrame(obj, prop, val) { - nextFrame(function () { - obj[prop] = val; - }); - } - function getTextNodeRect(textNode) { - var rect = void 0; - if (document.createRange) { - var range = document.createRange(); - range.selectNodeContents(textNode); - if (range.getBoundingClientRect) { - rect = range.getBoundingClientRect(); - } - } - return rect; - } - function calcTransformOrigin(isTextNode, textRect, boundingRect) { - if (isTextNode) { - if (textRect) { - // calculate pixels to center of text from left edge of bounding box - var relativeCenterX = textRect.left + textRect.width / 2 - boundingRect.left; - var relativeCenterY = textRect.top + textRect.height / 2 - boundingRect.top; - return relativeCenterX + "px " + relativeCenterY + "px"; - } - } - return "0 0"; // top left - } - function getTextDx(oldTextRect, newTextRect) { - if (oldTextRect && newTextRect) { - return oldTextRect.left + oldTextRect.width / 2 - (newTextRect.left + newTextRect.width / 2); - } - return 0; - } - function getTextDy(oldTextRect, newTextRect) { - if (oldTextRect && newTextRect) { - return oldTextRect.top + oldTextRect.height / 2 - (newTextRect.top + newTextRect.height / 2); - } - return 0; - } - function isTextElement(elm) { - return elm.childNodes.length === 1 && elm.childNodes[0].nodeType === 3; - } - var removed = void 0; - var created = void 0; - function pre$1() { - removed = {}; - created = []; - } - function create$1(oldVnode, vnode) { - var hero = vnode.data.hero; - if (hero && hero.id) { - created.push(hero.id); - created.push(vnode); - } - } - function destroy$1(vnode) { - var hero = vnode.data.hero; - if (hero && hero.id) { - var elm = vnode.elm; - vnode.isTextNode = isTextElement(elm); // is this a text node? - vnode.boundingRect = elm.getBoundingClientRect(); // save the bounding rectangle to a new property on the vnode - vnode.textRect = vnode.isTextNode ? getTextNodeRect(elm.childNodes[0]) : null; // save bounding rect of inner text node - var computedStyle = window.getComputedStyle(elm, undefined); // get current styles (includes inherited properties) - vnode.savedStyle = JSON.parse(JSON.stringify(computedStyle)); // save a copy of computed style values - removed[hero.id] = vnode; - } - } - function post$1() { - var i = void 0, - id = void 0, - newElm = void 0, - oldVnode = void 0, - oldElm = void 0, - hRatio = void 0, - wRatio = void 0, - oldRect = void 0, - newRect = void 0, - dx = void 0, - dy = void 0, - origTransform = void 0, - origTransition = void 0, - newStyle = void 0, - oldStyle = void 0, - newComputedStyle = void 0, - isTextNode = void 0, - newTextRect = void 0, - oldTextRect = void 0; - for (i = 0; i < created.length; i += 2) { - id = created[i]; - newElm = created[i + 1].elm; - oldVnode = removed[id]; - if (oldVnode) { - isTextNode = oldVnode.isTextNode && isTextElement(newElm); // Are old & new both text? - newStyle = newElm.style; - newComputedStyle = window.getComputedStyle(newElm, undefined); // get full computed style for new element - oldElm = oldVnode.elm; - oldStyle = oldElm.style; - // Overall element bounding boxes - newRect = newElm.getBoundingClientRect(); - oldRect = oldVnode.boundingRect; // previously saved bounding rect - // Text node bounding boxes & distances - if (isTextNode) { - newTextRect = getTextNodeRect(newElm.childNodes[0]); - oldTextRect = oldVnode.textRect; - dx = getTextDx(oldTextRect, newTextRect); - dy = getTextDy(oldTextRect, newTextRect); - } else { - // Calculate distances between old & new positions - dx = oldRect.left - newRect.left; - dy = oldRect.top - newRect.top; - } - hRatio = newRect.height / Math.max(oldRect.height, 1); - wRatio = isTextNode ? hRatio : newRect.width / Math.max(oldRect.width, 1); // text scales based on hRatio - // Animate new element - origTransform = newStyle.transform; - origTransition = newStyle.transition; - if (newComputedStyle.display === "inline") { - // inline elements cannot be transformed - newStyle.display = "inline-block"; // this does not appear to have any negative side effects - } - newStyle.transition = origTransition + "transform 0s"; - newStyle.transformOrigin = calcTransformOrigin(isTextNode, newTextRect, newRect); - newStyle.opacity = "0"; - newStyle.transform = origTransform + "translate(" + dx + "px, " + dy + "px) " + "scale(" + 1 / wRatio + ", " + 1 / hRatio + ")"; - setNextFrame(newStyle, "transition", origTransition); - setNextFrame(newStyle, "transform", origTransform); - setNextFrame(newStyle, "opacity", "1"); - // Animate old element - for (var key in oldVnode.savedStyle) { - // re-apply saved inherited properties - if (String(parseInt(key)) !== key) { - var ms = key.substring(0, 2) === "ms"; - var moz = key.substring(0, 3) === "moz"; - var webkit = key.substring(0, 6) === "webkit"; - if (!ms && !moz && !webkit) { - // ignore prefixed style properties - oldStyle[key] = oldVnode.savedStyle[key]; - } - } - } - oldStyle.position = "absolute"; - oldStyle.top = oldRect.top + "px"; // start at existing position - oldStyle.left = oldRect.left + "px"; - oldStyle.width = oldRect.width + "px"; // Needed for elements who were sized relative to their parents - oldStyle.height = oldRect.height + "px"; // Needed for elements who were sized relative to their parents - oldStyle.margin = "0"; // Margin on hero element leads to incorrect positioning - oldStyle.transformOrigin = calcTransformOrigin(isTextNode, oldTextRect, oldRect); - oldStyle.transform = ""; - oldStyle.opacity = "1"; - document.body.appendChild(oldElm); - setNextFrame(oldStyle, "transform", "translate(" + -dx + "px, " + -dy + "px) scale(" + wRatio + ", " + hRatio + ")"); // scale must be on far right for translate to be correct - setNextFrame(oldStyle, "opacity", "0"); - oldElm.addEventListener("transitionend", function (ev) { - if (ev.propertyName === "transform") { - document.body.removeChild(ev.target); - } - }); - } - } - removed = created = undefined; - } - var heroModule = { - pre: pre$1, - create: create$1, - destroy: destroy$1, - post: post$1 - }; - - function updateProps(oldVnode, vnode) { - var key = void 0; - var cur = void 0; - var old = void 0; - var elm = vnode.elm; - var oldProps = oldVnode.data.props; - var props = vnode.data.props; - if (!oldProps && !props) return; - if (oldProps === props) return; - oldProps = oldProps || {}; - props = props || {}; - for (key in props) { - cur = props[key]; - old = oldProps[key]; - if (old !== cur && (key !== "value" || elm[key] !== cur)) { - elm[key] = cur; - } - } - } - var propsModule = { create: updateProps, update: updateProps }; - - // Bindig `requestAnimationFrame` like this fixes a bug in IE/Edge. See #360 and #409. - var raf$1 = typeof window !== "undefined" && (window.requestAnimationFrame && window.requestAnimationFrame.bind(window)) || setTimeout; - var nextFrame$1 = function nextFrame$1(fn) { - raf$1(function () { - raf$1(fn); - }); - }; - var reflowForced = false; - function setNextFrame$1(obj, prop, val) { - nextFrame$1(function () { - obj[prop] = val; - }); - } - function updateStyle(oldVnode, vnode) { - var cur = void 0; - var name = void 0; - var elm = vnode.elm; - var oldStyle = oldVnode.data.style; - var style = vnode.data.style; - if (!oldStyle && !style) return; - if (oldStyle === style) return; - oldStyle = oldStyle || {}; - style = style || {}; - var oldHasDel = "delayed" in oldStyle; - for (name in oldStyle) { - if (!style[name]) { - if (name[0] === "-" && name[1] === "-") { - elm.style.removeProperty(name); - } else { - elm.style[name] = ""; - } - } - } - for (name in style) { - cur = style[name]; - if (name === "delayed" && style.delayed) { - for (var name2 in style.delayed) { - cur = style.delayed[name2]; - if (!oldHasDel || cur !== oldStyle.delayed[name2]) { - setNextFrame$1(elm.style, name2, cur); - } - } - } else if (name !== "remove" && cur !== oldStyle[name]) { - if (name[0] === "-" && name[1] === "-") { - elm.style.setProperty(name, cur); - } else { - elm.style[name] = cur; - } - } - } - } - function applyDestroyStyle(vnode) { - var style = void 0; - var name = void 0; - var elm = vnode.elm; - var s = vnode.data.style; - if (!s || !(style = s.destroy)) return; - for (name in style) { - elm.style[name] = style[name]; - } - } - function applyRemoveStyle(vnode, rm) { - var s = vnode.data.style; - if (!s || !s.remove) { - rm(); - return; - } - if (!reflowForced) { - // eslint-disable-next-line @typescript-eslint/no-unused-expressions - vnode.elm.offsetLeft; - reflowForced = true; - } - var name = void 0; - var elm = vnode.elm; - var i = 0; - var style = s.remove; - var amount = 0; - var applied = []; - for (name in style) { - applied.push(name); - elm.style[name] = style[name]; - } - var compStyle = getComputedStyle(elm); - var props = compStyle["transition-property"].split(", "); - for (; i < props.length; ++i) { - if (applied.indexOf(props[i]) !== -1) amount++; - } - elm.addEventListener("transitionend", function (ev) { - if (ev.target === elm) --amount; - if (amount === 0) rm(); - }); - } - function forceReflow() { - reflowForced = false; - } - var styleModule = { - pre: forceReflow, - create: updateStyle, - update: updateStyle, - destroy: applyDestroyStyle, - remove: applyRemoveStyle - }; - - exports.array = array; - exports.attachTo = attachTo; - exports.attributesModule = attributesModule; - exports.classModule = classModule; - exports.datasetModule = datasetModule; - exports.eventListenersModule = eventListenersModule; - exports.h = h; - exports.heroModule = heroModule; - exports.htmlDomApi = htmlDomApi; - exports.init = init; - exports.primitive = primitive; - exports.propsModule = propsModule; - exports.styleModule = styleModule; - exports.thunk = thunk; - exports.toVNode = toVNode; - exports.vnode = vnode; - - exports.__esModule = true; -}); From 43eda824edd82d6cbc60dd927293befdb89ff5eb Mon Sep 17 00:00:00 2001 From: data Date: Mon, 6 Dec 2021 23:05:35 +0800 Subject: [PATCH 34/38] auto upgrade version to 2.0.20211206230519 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 21f381dd6..64a746966 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211206144344", + "version": "2.0.20211206230519", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From b692a207854cb230014a67a88dae3124d347d93a Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 7 Dec 2021 10:15:37 +0800 Subject: [PATCH 35/38] =?UTF-8?q?=E6=94=AF=E6=8C=81BI.config(function(){})?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E7=B3=BB=E7=BB=9F=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/6.inject.js | 82 +++----------------------------------------- 1 file changed, 4 insertions(+), 78 deletions(-) diff --git a/src/core/6.inject.js b/src/core/6.inject.js index e4ccbf665..1ef56c1d1 100644 --- a/src/core/6.inject.js +++ b/src/core/6.inject.js @@ -151,6 +151,10 @@ }; BI.config = BI.config || function (type, configFn, opt) { opt = opt || {}; + if (BI.isFunction(type)) { + configFn = type; + type = "bi.provider.system"; + } // 系统配置直接执行 if ("bi.provider.system" === type) { @@ -171,84 +175,6 @@ fn: configFn, opt: opt }); - - // // 初始化过或者系统配置需要立刻执行 - // if (BI.initialized || "bi.provider.system" === type) { - // if (constantInjection[type]) { - // return (constantInjection[type] = configFn(constantInjection[type])); - // } - // if (providerInjection[type]) { - // if (!providers[type]) { - // providers[type] = new providerInjection[type](); - // } - // // 如果config被重新配置的话,需要删除掉之前的实例 - // if (providerInstance[type]) { - // delete providerInstance[type]; - // } - // return configFn(providers[type]); - // } - // return BI.Plugin.configWidget(type, configFn, opt); - // } - // if (!configFunctions[type]) { - // configFunctions[type] = []; - // BI.prepares.push(function () { - // var queue = configFunctions[type]; - // var dependencies = BI.Providers.getProvider("bi.provider.system").getDependencies(); - // var modules = moduleInjectionMap.components[type] - // || moduleInjectionMap.constants[type] - // || moduleInjectionMap.services[type] - // || moduleInjectionMap.stores[type] - // || moduleInjectionMap.models[type] - // || moduleInjectionMap.providers[type]; - // for (var i = 0; i < queue.length; i++) { - // var conf = queue[i]; - // var version = conf.opt.version; - // var fn = conf.fn; - // if (modules && version) { - // var findVersion = false; - // for (var j = 0; j < modules.length; j++) { - // var module = modules[i]; - // if (module && dependencies[module.moduleId] && module.version === version) { - // var minVersion = dependencies[module.moduleId].minVersion, - // maxVersion = dependencies[module.moduleId].maxVersion; - // if (minVersion && (moduleInjection[module.moduleId].version || version) < minVersion) { - // findVersion = true; - // break; - // } - // if (maxVersion && (moduleInjection[module.moduleId].version || version) > maxVersion) { - // findVersion = true; - // break; - // } - // } - // } - // if (findVersion === true) { - // _global.console && console.error("moduleId: [" + module.moduleId + "] 接口: [" + type + "] 接口版本: [" + version + "] 已过期,版本要求为:", dependencies[module.moduleId], "=>", moduleInjection[module.moduleId]); - // continue; - // } - // } - // if (constantInjection[type]) { - // constantInjection[type] = fn(constantInjection[type]); - // continue; - // } - // if (providerInjection[type]) { - // if (!providers[type]) { - // providers[type] = new providerInjection[type](); - // } - // if (providerInstance[type]) { - // delete providerInstance[type]; - // } - // fn(providers[type]); - // continue; - // } - // BI.Plugin.configWidget(type, fn); - // } - // configFunctions[type] = null; - // }); - // } - // configFunctions[type].push({ - // fn: configFn, - // opt: opt - // }); }; BI.getReference = BI.getReference || function (type, fn) { From ce4f270d6dec7b36bd9b19f91c2df127354fd56f Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 7 Dec 2021 10:18:41 +0800 Subject: [PATCH 36/38] =?UTF-8?q?=E6=94=AF=E6=8C=81BI.config(function(){})?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E7=B3=BB=E7=BB=9F=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/6.inject.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/6.inject.js b/src/core/6.inject.js index 1ef56c1d1..e86c925d8 100644 --- a/src/core/6.inject.js +++ b/src/core/6.inject.js @@ -150,11 +150,12 @@ } }; BI.config = BI.config || function (type, configFn, opt) { - opt = opt || {}; if (BI.isFunction(type)) { + opt = configFn; configFn = type; type = "bi.provider.system"; } + opt = opt || {}; // 系统配置直接执行 if ("bi.provider.system" === type) { From ba18381fcd4615b40d1ce32c7ea7ed83a05dc5e1 Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 7 Dec 2021 10:19:51 +0800 Subject: [PATCH 37/38] =?UTF-8?q?=E6=94=AF=E6=8C=81BI.config(function(){})?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E7=B3=BB=E7=BB=9F=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelog.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/changelog.md b/changelog.md index bbbb0f3c5..a00c12798 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,7 @@ # 更新日志 +2.0(2021-12) +- 支持BI.config(function(){})进行系统配置 + 2.0(2021-11) - 限制了复选下拉框一次粘贴添加值个数最大2000 From 8630649d965d918423d74553e45a7ca4e35c2233 Mon Sep 17 00:00:00 2001 From: data Date: Tue, 7 Dec 2021 10:43:05 +0800 Subject: [PATCH 38/38] auto upgrade version to 2.0.20211207104248 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 64a746966..380687bf8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211206230519", + "version": "2.0.20211207104248", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts",