From 7def0a8f811a0e62ceeee5c4acc0a42bfcecb3a3 Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 24 Jun 2022 12:03:55 +0800 Subject: [PATCH] =?UTF-8?q?feature:=20=E9=80=89=E4=B8=AD=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/base/combination/group.button.js | 6 ++++++ src/case/layer/pane.list.js | 12 +++++++++++- src/case/list/list.select.js | 10 +++++++--- src/widget/multiselect/loader.js | 5 +++++ 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/base/combination/group.button.js b/src/base/combination/group.button.js index b88033487..68dd3e5d0 100644 --- a/src/base/combination/group.button.js +++ b/src/base/combination/group.button.js @@ -244,6 +244,12 @@ BI.ButtonGroup = BI.inherit(BI.Widget, { }); }, + setAllSelected: function (v) { + BI.each(this.getAllButtons(), function (i, btn) { + (btn.setSelected || btn.setAllSelected).apply(btn, [v]); + }); + }, + getNotSelectedValue: function () { var v = []; BI.each(this.buttons, function (i, item) { diff --git a/src/case/layer/pane.list.js b/src/case/layer/pane.list.js index efeb8c8fb..fcc8492f5 100644 --- a/src/case/layer/pane.list.js +++ b/src/case/layer/pane.list.js @@ -150,6 +150,16 @@ BI.ListPane = BI.inherit(BI.Pane, { this.button_group.setValue.apply(this.button_group, arguments); }, + setAllSelected: function (v) { + if (this.button_group.setAllSelected) { + this.button_group.setAllSelected(v); + } else { + BI.each(this.getAllButtons(), function (i, btn) { + (btn.setSelected || btn.setAllSelected).apply(btn, [v]); + }); + } + }, + getValue: function () { return this.button_group.getValue.apply(this.button_group, arguments); }, @@ -183,4 +193,4 @@ BI.ListPane = BI.inherit(BI.Pane, { } }); BI.ListPane.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.list_pane", BI.ListPane); \ No newline at end of file +BI.shortcut("bi.list_pane", BI.ListPane); diff --git a/src/case/list/list.select.js b/src/case/list/list.select.js index bab4a15af..a1c77107c 100644 --- a/src/case/list/list.select.js +++ b/src/case/list/list.select.js @@ -113,9 +113,13 @@ BI.SelectList = BI.inherit(BI.Widget, { }, setAllSelected: function (v) { - BI.each(this.getAllButtons(), function (i, btn) { - (btn.setSelected || btn.setAllSelected).apply(btn, [v]); - }); + if (this.list.setAllSelected) { + this.list.setAllSelected(v); + } else { + BI.each(this.getAllButtons(), function (i, btn) { + (btn.setSelected || btn.setAllSelected).apply(btn, [v]); + }); + } this.allSelected = !!v; this.toolbar.setSelected(v); this.toolbar.setHalfSelected(false); diff --git a/src/widget/multiselect/loader.js b/src/widget/multiselect/loader.js index cdedd7f71..0150dd728 100644 --- a/src/widget/multiselect/loader.js +++ b/src/widget/multiselect/loader.js @@ -204,6 +204,11 @@ BI.MultiSelectInnerLoader = BI.inherit(BI.Widget, { return this.cachGroup.getNotSelectedValue(); }, + setAllSelected: function (v) { + this.button_group.setAllSelected(v); + this.cachGroup.setAllSelected(v); + }, + setValue: function (value) { var map = BI.makeObject(value); this.cachGroup.setValueMap.call(this.cachGroup, map);