windy 8 years ago
parent
commit
b43893adf4
  1. 5
      bi/base.js
  2. 173
      bi/widget.js
  3. 8
      demo/js/config/widget.js
  4. 66
      demo/js/widget/tree/demo.multilayer_select_tree_combo.js
  5. 5
      docs/base.js
  6. 75
      docs/demo.js
  7. 173
      docs/widget.js
  8. 5
      src/base/combination/switcher.js
  9. 67
      src/widget/multiselect/multiselect.combo.js
  10. 5
      src/widget/multiselect/multiselect.trigger.js
  11. 4
      src/widget/multiselect/trigger/searcher.multiselect.js
  12. 4
      src/widget/multiselect/trigger/switcher.checkselected.js
  13. 89
      src/widget/multitree/multi.tree.combo.js
  14. 4
      src/widget/multitree/trigger/searcher.multi.tree.js

5
bi/base.js

@ -4642,6 +4642,11 @@ BI.Switcher = BI.inherit(BI.Widget, {
return this.popupView ? this.popupView.getValue() : [];
},
setAdapter: function (adapter) {
this.options.adapter = adapter;
BI.Maskers.remove(this.getName());
},
isViewVisible: function () {
return this.isEnabled() && this.switcher.isEnabled() &&
(this.options.adapter ? BI.Maskers.isVisible(this.getName()) : (this.popupView && this.popupView.isVisible()));

173
bi/widget.js

@ -9559,38 +9559,11 @@ BI.MultiSelectCombo = BI.inherit(BI.Single, {
self.trigger.getCounter().setButtonChecked(self.storeValue);
};
this.storeValue = {};
this.popup = BI.createWidget({
type: 'bi.multi_select_popup_view',
itemsCreator: o.itemsCreator,
valueFormatter: o.valueFormatter,
onLoaded: function () {
BI.nextTick(function () {
self.combo.adjustWidth();
self.combo.adjustHeight();
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
});
this.popup.on(BI.MultiSelectPopupView.EVENT_CHANGE, function () {
self.storeValue = this.getValue();
self._adjust(function () {
assertShowValue();
});
});
this.popup.on(BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM, function () {
self._defaultState();
});
this.popup.on(BI.MultiSelectPopupView.EVENT_CLICK_CLEAR, function () {
self.setValue();
self._defaultState();
});
this.trigger = BI.createWidget({
type: "bi.multi_select_trigger",
height: o.height,
adapter: this.popup,
// adapter: this.popup,
masker: {
offset: {
left: 1,
@ -9675,7 +9648,43 @@ BI.MultiSelectCombo = BI.inherit(BI.Single, {
toggle: false,
el: this.trigger,
adjustLength: 1,
popup: this.popup,
popup: {
type: 'bi.multi_select_popup_view',
ref: function () {
self.popup = this;
self.trigger.setAdapter(this);
},
listeners: [{
eventName: BI.MultiSelectPopupView.EVENT_CHANGE,
action: function () {
self.storeValue = this.getValue();
self._adjust(function () {
assertShowValue();
});
}
}, {
eventName: BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM,
action: function () {
self._defaultState();
}
}, {
eventName: BI.MultiSelectPopupView.EVENT_CLICK_CLEAR,
action: function () {
self.setValue();
self._defaultState();
}
}],
itemsCreator: o.itemsCreator,
valueFormatter: o.valueFormatter,
onLoaded: function () {
BI.nextTick(function () {
self.combo.adjustWidth();
self.combo.adjustHeight();
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
},
hideChecker: function (e) {
return triggerBtn.element.find(e.target).length === 0;
}
@ -10272,6 +10281,11 @@ BI.MultiSelectTrigger = BI.inherit(BI.Trigger, {
this.numberCounter.hideView();
},
setAdapter: function (adapter) {
this.searcher.setAdapter(adapter);
this.numberCounter.setAdapter(adapter);
},
setValue: function (ob) {
this.searcher.setValue(ob);
this.numberCounter.setValue(ob);
@ -10816,6 +10830,10 @@ BI.MultiSelectSearcher = BI.inherit(BI.Widget, {
return this.searcher.getView() && this.searcher.getView().hasChecked();
},
setAdapter: function (adapter) {
this.searcher.setAdapter(adapter);
},
setState: function (ob) {
var o = this.options;
ob || (ob = {});
@ -10937,6 +10955,10 @@ BI.MultiSelectCheckSelectedSwitcher = BI.inherit(BI.Widget, {
this.switcher.hideView();
},
setAdapter: function (adapter) {
this.switcher.setAdapter(adapter);
},
setValue: function (v) {
this.switcher.setValue(v);
},
@ -11406,7 +11428,6 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
}
},
_defaultConfig: function () {
return BI.extend(BI.MultiTreeCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: 'bi-multi-tree-combo',
@ -11420,31 +11441,13 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
var self = this, o = this.options;
this.popup = BI.createWidget({
type: 'bi.multi_tree_popup_view',
itemsCreator: o.itemsCreator,
onLoaded: function () {
BI.nextTick(function () {
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
});
var isInit = false;
var want2showCounter = false;
this.popup.on(BI.MultiTreePopup.EVENT_AFTERINIT, function () {
self.trigger.getCounter().adjustView();
isInit = true;
if (want2showCounter === true) {
showCounter();
}
});
this.trigger = BI.createWidget({
type: "bi.multi_select_trigger",
height: o.height,
adapter: this.popup,
// adapter: this.popup,
masker: {
offset: this.constants.offset
},
@ -11469,7 +11472,53 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
toggle: false,
el: this.trigger,
adjustLength: 1,
popup: this.popup
popup: {
type: 'bi.multi_tree_popup_view',
ref: function () {
self.popup = this;
self.trigger.setAdapter(this);
},
listeners: [{
eventName: BI.MultiTreePopup.EVENT_AFTERINIT,
action: function () {
self.trigger.getCounter().adjustView();
isInit = true;
if (want2showCounter === true) {
showCounter();
}
}
}, {
eventName: BI.MultiTreePopup.EVENT_CHANGE,
action: function () {
change = true;
var val = {
type: BI.Selection.Multi,
value: this.hasChecked() ? {1: 1} : {}
};
self.trigger.getSearcher().setState(val);
self.trigger.getCounter().setButtonChecked(val);
}
}, {
eventName: BI.MultiTreePopup.EVENT_CLICK_CONFIRM,
action: function () {
self._defaultState();
}
}, {
eventName: BI.MultiTreePopup.EVENT_CLICK_CLEAR,
action: function () {
clear = true;
self.setValue();
self._defaultState();
}
}],
itemsCreator: o.itemsCreator,
onLoaded: function () {
BI.nextTick(function () {
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
}
});
this.storeValue = {value: {}};
@ -11532,24 +11581,6 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
this.getSearcher().setState(val);
this.getCounter().setButtonChecked(val);
});
this.popup.on(BI.MultiTreePopup.EVENT_CHANGE, function () {
change = true;
var val = {
type: BI.Selection.Multi,
value: this.hasChecked() ? {1: 1} : {}
};
self.trigger.getSearcher().setState(val);
self.trigger.getCounter().setButtonChecked(val);
});
this.popup.on(BI.MultiTreePopup.EVENT_CLICK_CONFIRM, function () {
self._defaultState();
});
this.popup.on(BI.MultiTreePopup.EVENT_CLICK_CLEAR, function () {
clear = true;
self.setValue();
self._defaultState();
});
this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
if (isSearching()) {
@ -11618,7 +11649,7 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
this.combo.hideView();
},
setEnable: function(v){
setEnable: function (v) {
this.combo.setEnable(v);
},
@ -11956,6 +11987,10 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, {
this.searcher.adjustView();
},
setAdapter: function (adapter) {
this.searcher.setAdapter(adapter);
},
isSearching: function () {
return this.searcher.isSearching();
},

8
demo/js/config/widget.js

@ -21,6 +21,14 @@ Demo.WIDGET_CONFIG = [{
pId: 401,
text: "bi.page_table",
value: "demo.page_table"
}, {
id: 402,
pId: 4,
text: "tree"
}, {
pId: 402,
text: "bi.multilayer_select_tree_combo",
value: "demo.multilayer_select_tree_combo"
}, {
pId: 4,
text: "bi.multi_select_combo",

66
demo/js/widget/tree/demo.multilayer_select_tree_combo.js

@ -0,0 +1,66 @@
/**
* Created by User on 2017/3/22.
*/
Demo.MultiSelectCombo = BI.inherit(BI.Widget, {
props: {},
render: function (vessel) {
var TREEWITHCHILDREN = [{
id: -1, value: "根目录", text: "根目录", children: [
{
id: 1, value: "第一级目录1", text: "第一级目录1", children: [
{id: 11, value: "第二级文件1", text: "第二级文件1"},
{
id: 12, value: "第二级目录2", text: "第二级目录2", children: [
{
id: 121, value: "第三级目录1", text: "第三级目录1", children: [
{
id: 1211, value: "第四级目录1", text: "第四级目录1", children: [
{id: 12111, value: "第五级文件1", text: "第五级文件1"}
]
}
]
},
{id: 122, value: "第三级文件1", text: "第三级文件1"}
]
}
]
},
{
id: 2, value: "第一级目录2", text: "第一级目录2", children: [
{
id: 21, value: "第二级目录3", text: "第二级目录3", children: [
{
id: 211, value: "第三级目录2", text: "第三级目录2", children: [
{id: 2111, value: "第四级文件1", text: "第四级文件1"}
]
},
{id: 212, value: "第三级文件2", text: "第三级文件2"}
]
},
{id: 22, value: "第二级文件2", text: "第二级文件2"}
]
}
]
}];
var items = BI.deepClone(TREEWITHCHILDREN);
var combo = BI.createWidget({
type: "bi.multilayer_select_tree_combo",
});
combo.populate(items);
return {
type: "bi.vertical",
items: [combo, {
type: "bi.button",
width: 100,
text: "getValue",
handler: function () {
BI.Msg.alert("", JSON.stringify(combo.getValue()));
}
}],
vgap: 100
}
}
});
BI.shortcut("demo.multilayer_select_tree_combo", Demo.MultiSelectCombo);

5
docs/base.js

@ -4642,6 +4642,11 @@ BI.Switcher = BI.inherit(BI.Widget, {
return this.popupView ? this.popupView.getValue() : [];
},
setAdapter: function (adapter) {
this.options.adapter = adapter;
BI.Maskers.remove(this.getName());
},
isViewVisible: function () {
return this.isEnabled() && this.switcher.isEnabled() &&
(this.options.adapter ? BI.Maskers.isVisible(this.getName()) : (this.popupView && this.popupView.isVisible()));

75
docs/demo.js

@ -3112,6 +3112,14 @@ Demo.COMPONENT_CONFIG = [{
pId: 401,
text: "bi.page_table",
value: "demo.page_table"
}, {
id: 402,
pId: 4,
text: "tree"
}, {
pId: 402,
text: "bi.multilayer_select_tree_combo",
value: "demo.multilayer_select_tree_combo"
}, {
pId: 4,
text: "bi.multi_select_combo",
@ -6725,7 +6733,72 @@ BI.shortcut("demo.responsive_table", Demo.Func);Demo.Func = BI.inherit(BI.Widget
})
}
});
BI.shortcut("demo.sequence_table", Demo.Func);Demo.CONFIG = Demo.CORE_CONFIG.concat(Demo.BASE_CONFIG).concat(Demo.CASE_CONFIG).concat(Demo.WIDGET_CONFIG).concat(Demo.COMPONENT_CONFIG).concat(Demo.CHART_CONFIG);
BI.shortcut("demo.sequence_table", Demo.Func);/**
* Created by User on 2017/3/22.
*/
Demo.MultiSelectCombo = BI.inherit(BI.Widget, {
props: {},
render: function (vessel) {
var TREEWITHCHILDREN = [{
id: -1, value: "根目录", text: "根目录", children: [
{
id: 1, value: "第一级目录1", text: "第一级目录1", children: [
{id: 11, value: "第二级文件1", text: "第二级文件1"},
{
id: 12, value: "第二级目录2", text: "第二级目录2", children: [
{
id: 121, value: "第三级目录1", text: "第三级目录1", children: [
{
id: 1211, value: "第四级目录1", text: "第四级目录1", children: [
{id: 12111, value: "第五级文件1", text: "第五级文件1"}
]
}
]
},
{id: 122, value: "第三级文件1", text: "第三级文件1"}
]
}
]
},
{
id: 2, value: "第一级目录2", text: "第一级目录2", children: [
{
id: 21, value: "第二级目录3", text: "第二级目录3", children: [
{
id: 211, value: "第三级目录2", text: "第三级目录2", children: [
{id: 2111, value: "第四级文件1", text: "第四级文件1"}
]
},
{id: 212, value: "第三级文件2", text: "第三级文件2"}
]
},
{id: 22, value: "第二级文件2", text: "第二级文件2"}
]
}
]
}];
var items = BI.deepClone(TREEWITHCHILDREN);
var combo = BI.createWidget({
type: "bi.multilayer_select_tree_combo",
});
combo.populate(items);
return {
type: "bi.vertical",
items: [combo, {
type: "bi.button",
width: 100,
text: "getValue",
handler: function () {
BI.Msg.alert("", JSON.stringify(combo.getValue()));
}
}],
vgap: 100
}
}
});
BI.shortcut("demo.multilayer_select_tree_combo", Demo.MultiSelectCombo);Demo.CONFIG = Demo.CORE_CONFIG.concat(Demo.BASE_CONFIG).concat(Demo.CASE_CONFIG).concat(Demo.WIDGET_CONFIG).concat(Demo.COMPONENT_CONFIG).concat(Demo.CHART_CONFIG);
Demo.CONSTANTS = {

173
docs/widget.js

@ -9559,38 +9559,11 @@ BI.MultiSelectCombo = BI.inherit(BI.Single, {
self.trigger.getCounter().setButtonChecked(self.storeValue);
};
this.storeValue = {};
this.popup = BI.createWidget({
type: 'bi.multi_select_popup_view',
itemsCreator: o.itemsCreator,
valueFormatter: o.valueFormatter,
onLoaded: function () {
BI.nextTick(function () {
self.combo.adjustWidth();
self.combo.adjustHeight();
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
});
this.popup.on(BI.MultiSelectPopupView.EVENT_CHANGE, function () {
self.storeValue = this.getValue();
self._adjust(function () {
assertShowValue();
});
});
this.popup.on(BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM, function () {
self._defaultState();
});
this.popup.on(BI.MultiSelectPopupView.EVENT_CLICK_CLEAR, function () {
self.setValue();
self._defaultState();
});
this.trigger = BI.createWidget({
type: "bi.multi_select_trigger",
height: o.height,
adapter: this.popup,
// adapter: this.popup,
masker: {
offset: {
left: 1,
@ -9675,7 +9648,43 @@ BI.MultiSelectCombo = BI.inherit(BI.Single, {
toggle: false,
el: this.trigger,
adjustLength: 1,
popup: this.popup,
popup: {
type: 'bi.multi_select_popup_view',
ref: function () {
self.popup = this;
self.trigger.setAdapter(this);
},
listeners: [{
eventName: BI.MultiSelectPopupView.EVENT_CHANGE,
action: function () {
self.storeValue = this.getValue();
self._adjust(function () {
assertShowValue();
});
}
}, {
eventName: BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM,
action: function () {
self._defaultState();
}
}, {
eventName: BI.MultiSelectPopupView.EVENT_CLICK_CLEAR,
action: function () {
self.setValue();
self._defaultState();
}
}],
itemsCreator: o.itemsCreator,
valueFormatter: o.valueFormatter,
onLoaded: function () {
BI.nextTick(function () {
self.combo.adjustWidth();
self.combo.adjustHeight();
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
},
hideChecker: function (e) {
return triggerBtn.element.find(e.target).length === 0;
}
@ -10272,6 +10281,11 @@ BI.MultiSelectTrigger = BI.inherit(BI.Trigger, {
this.numberCounter.hideView();
},
setAdapter: function (adapter) {
this.searcher.setAdapter(adapter);
this.numberCounter.setAdapter(adapter);
},
setValue: function (ob) {
this.searcher.setValue(ob);
this.numberCounter.setValue(ob);
@ -10816,6 +10830,10 @@ BI.MultiSelectSearcher = BI.inherit(BI.Widget, {
return this.searcher.getView() && this.searcher.getView().hasChecked();
},
setAdapter: function (adapter) {
this.searcher.setAdapter(adapter);
},
setState: function (ob) {
var o = this.options;
ob || (ob = {});
@ -10937,6 +10955,10 @@ BI.MultiSelectCheckSelectedSwitcher = BI.inherit(BI.Widget, {
this.switcher.hideView();
},
setAdapter: function (adapter) {
this.switcher.setAdapter(adapter);
},
setValue: function (v) {
this.switcher.setValue(v);
},
@ -11406,7 +11428,6 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
}
},
_defaultConfig: function () {
return BI.extend(BI.MultiTreeCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: 'bi-multi-tree-combo',
@ -11420,31 +11441,13 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
var self = this, o = this.options;
this.popup = BI.createWidget({
type: 'bi.multi_tree_popup_view',
itemsCreator: o.itemsCreator,
onLoaded: function () {
BI.nextTick(function () {
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
});
var isInit = false;
var want2showCounter = false;
this.popup.on(BI.MultiTreePopup.EVENT_AFTERINIT, function () {
self.trigger.getCounter().adjustView();
isInit = true;
if (want2showCounter === true) {
showCounter();
}
});
this.trigger = BI.createWidget({
type: "bi.multi_select_trigger",
height: o.height,
adapter: this.popup,
// adapter: this.popup,
masker: {
offset: this.constants.offset
},
@ -11469,7 +11472,53 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
toggle: false,
el: this.trigger,
adjustLength: 1,
popup: this.popup
popup: {
type: 'bi.multi_tree_popup_view',
ref: function () {
self.popup = this;
self.trigger.setAdapter(this);
},
listeners: [{
eventName: BI.MultiTreePopup.EVENT_AFTERINIT,
action: function () {
self.trigger.getCounter().adjustView();
isInit = true;
if (want2showCounter === true) {
showCounter();
}
}
}, {
eventName: BI.MultiTreePopup.EVENT_CHANGE,
action: function () {
change = true;
var val = {
type: BI.Selection.Multi,
value: this.hasChecked() ? {1: 1} : {}
};
self.trigger.getSearcher().setState(val);
self.trigger.getCounter().setButtonChecked(val);
}
}, {
eventName: BI.MultiTreePopup.EVENT_CLICK_CONFIRM,
action: function () {
self._defaultState();
}
}, {
eventName: BI.MultiTreePopup.EVENT_CLICK_CLEAR,
action: function () {
clear = true;
self.setValue();
self._defaultState();
}
}],
itemsCreator: o.itemsCreator,
onLoaded: function () {
BI.nextTick(function () {
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
}
});
this.storeValue = {value: {}};
@ -11532,24 +11581,6 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
this.getSearcher().setState(val);
this.getCounter().setButtonChecked(val);
});
this.popup.on(BI.MultiTreePopup.EVENT_CHANGE, function () {
change = true;
var val = {
type: BI.Selection.Multi,
value: this.hasChecked() ? {1: 1} : {}
};
self.trigger.getSearcher().setState(val);
self.trigger.getCounter().setButtonChecked(val);
});
this.popup.on(BI.MultiTreePopup.EVENT_CLICK_CONFIRM, function () {
self._defaultState();
});
this.popup.on(BI.MultiTreePopup.EVENT_CLICK_CLEAR, function () {
clear = true;
self.setValue();
self._defaultState();
});
this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
if (isSearching()) {
@ -11618,7 +11649,7 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
this.combo.hideView();
},
setEnable: function(v){
setEnable: function (v) {
this.combo.setEnable(v);
},
@ -11956,6 +11987,10 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, {
this.searcher.adjustView();
},
setAdapter: function (adapter) {
this.searcher.setAdapter(adapter);
},
isSearching: function () {
return this.searcher.isSearching();
},

5
src/base/combination/switcher.js

@ -204,6 +204,11 @@ BI.Switcher = BI.inherit(BI.Widget, {
return this.popupView ? this.popupView.getValue() : [];
},
setAdapter: function (adapter) {
this.options.adapter = adapter;
BI.Maskers.remove(this.getName());
},
isViewVisible: function () {
return this.isEnabled() && this.switcher.isEnabled() &&
(this.options.adapter ? BI.Maskers.isVisible(this.getName()) : (this.popupView && this.popupView.isVisible()));

67
src/widget/multiselect/multiselect.combo.js

@ -24,38 +24,11 @@ BI.MultiSelectCombo = BI.inherit(BI.Single, {
self.trigger.getCounter().setButtonChecked(self.storeValue);
};
this.storeValue = {};
this.popup = BI.createWidget({
type: 'bi.multi_select_popup_view',
itemsCreator: o.itemsCreator,
valueFormatter: o.valueFormatter,
onLoaded: function () {
BI.nextTick(function () {
self.combo.adjustWidth();
self.combo.adjustHeight();
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
});
this.popup.on(BI.MultiSelectPopupView.EVENT_CHANGE, function () {
self.storeValue = this.getValue();
self._adjust(function () {
assertShowValue();
});
});
this.popup.on(BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM, function () {
self._defaultState();
});
this.popup.on(BI.MultiSelectPopupView.EVENT_CLICK_CLEAR, function () {
self.setValue();
self._defaultState();
});
this.trigger = BI.createWidget({
type: "bi.multi_select_trigger",
height: o.height,
adapter: this.popup,
// adapter: this.popup,
masker: {
offset: {
left: 1,
@ -140,7 +113,43 @@ BI.MultiSelectCombo = BI.inherit(BI.Single, {
toggle: false,
el: this.trigger,
adjustLength: 1,
popup: this.popup,
popup: {
type: 'bi.multi_select_popup_view',
ref: function () {
self.popup = this;
self.trigger.setAdapter(this);
},
listeners: [{
eventName: BI.MultiSelectPopupView.EVENT_CHANGE,
action: function () {
self.storeValue = this.getValue();
self._adjust(function () {
assertShowValue();
});
}
}, {
eventName: BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM,
action: function () {
self._defaultState();
}
}, {
eventName: BI.MultiSelectPopupView.EVENT_CLICK_CLEAR,
action: function () {
self.setValue();
self._defaultState();
}
}],
itemsCreator: o.itemsCreator,
valueFormatter: o.valueFormatter,
onLoaded: function () {
BI.nextTick(function () {
self.combo.adjustWidth();
self.combo.adjustHeight();
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
},
hideChecker: function (e) {
return triggerBtn.element.find(e.target).length === 0;
}

5
src/widget/multiselect/multiselect.trigger.js

@ -123,6 +123,11 @@ BI.MultiSelectTrigger = BI.inherit(BI.Trigger, {
this.numberCounter.hideView();
},
setAdapter: function (adapter) {
this.searcher.setAdapter(adapter);
this.numberCounter.setAdapter(adapter);
},
setValue: function (ob) {
this.searcher.setValue(ob);
this.numberCounter.setValue(ob);

4
src/widget/multiselect/trigger/searcher.multiselect.js

@ -98,6 +98,10 @@ BI.MultiSelectSearcher = BI.inherit(BI.Widget, {
return this.searcher.getView() && this.searcher.getView().hasChecked();
},
setAdapter: function (adapter) {
this.searcher.setAdapter(adapter);
},
setState: function (ob) {
var o = this.options;
ob || (ob = {});

4
src/widget/multiselect/trigger/switcher.checkselected.js

@ -72,6 +72,10 @@ BI.MultiSelectCheckSelectedSwitcher = BI.inherit(BI.Widget, {
this.switcher.hideView();
},
setAdapter: function (adapter) {
this.switcher.setAdapter(adapter);
},
setValue: function (v) {
this.switcher.setValue(v);
},

89
src/widget/multitree/multi.tree.combo.js

@ -15,7 +15,6 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
}
},
_defaultConfig: function () {
return BI.extend(BI.MultiTreeCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: 'bi-multi-tree-combo',
@ -29,31 +28,13 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
var self = this, o = this.options;
this.popup = BI.createWidget({
type: 'bi.multi_tree_popup_view',
itemsCreator: o.itemsCreator,
onLoaded: function () {
BI.nextTick(function () {
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
});
var isInit = false;
var want2showCounter = false;
this.popup.on(BI.MultiTreePopup.EVENT_AFTERINIT, function () {
self.trigger.getCounter().adjustView();
isInit = true;
if (want2showCounter === true) {
showCounter();
}
});
this.trigger = BI.createWidget({
type: "bi.multi_select_trigger",
height: o.height,
adapter: this.popup,
// adapter: this.popup,
masker: {
offset: this.constants.offset
},
@ -78,7 +59,53 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
toggle: false,
el: this.trigger,
adjustLength: 1,
popup: this.popup
popup: {
type: 'bi.multi_tree_popup_view',
ref: function () {
self.popup = this;
self.trigger.setAdapter(this);
},
listeners: [{
eventName: BI.MultiTreePopup.EVENT_AFTERINIT,
action: function () {
self.trigger.getCounter().adjustView();
isInit = true;
if (want2showCounter === true) {
showCounter();
}
}
}, {
eventName: BI.MultiTreePopup.EVENT_CHANGE,
action: function () {
change = true;
var val = {
type: BI.Selection.Multi,
value: this.hasChecked() ? {1: 1} : {}
};
self.trigger.getSearcher().setState(val);
self.trigger.getCounter().setButtonChecked(val);
}
}, {
eventName: BI.MultiTreePopup.EVENT_CLICK_CONFIRM,
action: function () {
self._defaultState();
}
}, {
eventName: BI.MultiTreePopup.EVENT_CLICK_CLEAR,
action: function () {
clear = true;
self.setValue();
self._defaultState();
}
}],
itemsCreator: o.itemsCreator,
onLoaded: function () {
BI.nextTick(function () {
self.trigger.getCounter().adjustView();
self.trigger.getSearcher().adjustView();
});
}
}
});
this.storeValue = {value: {}};
@ -141,24 +168,6 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
this.getSearcher().setState(val);
this.getCounter().setButtonChecked(val);
});
this.popup.on(BI.MultiTreePopup.EVENT_CHANGE, function () {
change = true;
var val = {
type: BI.Selection.Multi,
value: this.hasChecked() ? {1: 1} : {}
};
self.trigger.getSearcher().setState(val);
self.trigger.getCounter().setButtonChecked(val);
});
this.popup.on(BI.MultiTreePopup.EVENT_CLICK_CONFIRM, function () {
self._defaultState();
});
this.popup.on(BI.MultiTreePopup.EVENT_CLICK_CLEAR, function () {
clear = true;
self.setValue();
self._defaultState();
});
this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
if (isSearching()) {
@ -227,7 +236,7 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, {
this.combo.hideView();
},
setEnable: function(v){
setEnable: function (v) {
this.combo.setEnable(v);
},

4
src/widget/multitree/trigger/searcher.multi.tree.js

@ -76,6 +76,10 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, {
this.searcher.adjustView();
},
setAdapter: function (adapter) {
this.searcher.setAdapter(adapter);
},
isSearching: function () {
return this.searcher.isSearching();
},

Loading…
Cancel
Save