forked from fanruan/fineui
windy
5 years ago
14 changed files with 435 additions and 505 deletions
@ -0,0 +1,85 @@
|
||||
/** |
||||
* 月份展示面板 |
||||
* |
||||
* Created by GUY on 2015/9/2. |
||||
* @class BI.MonthPopup |
||||
* @extends BI.Trigger |
||||
*/ |
||||
BI.MonthPopup = BI.inherit(BI.Widget, { |
||||
|
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.MonthPopup.superclass._defaultConfig.apply(this, arguments), { |
||||
baseCls: "bi-month-popup", |
||||
behaviors: {} |
||||
}); |
||||
}, |
||||
|
||||
_init: function () { |
||||
BI.MonthPopup.superclass._init.apply(this, arguments); |
||||
var self = this, o = this.options; |
||||
|
||||
// 纵向排列月
|
||||
var month = [1, 7, 2, 8, 3, 9, 4, 10, 5, 11, 6, 12]; |
||||
var items = []; |
||||
items.push(month.slice(0, 2)); |
||||
items.push(month.slice(2, 4)); |
||||
items.push(month.slice(4, 6)); |
||||
items.push(month.slice(6, 8)); |
||||
items.push(month.slice(8, 10)); |
||||
items.push(month.slice(10, 12)); |
||||
items = BI.map(items, function (i, item) { |
||||
return BI.map(item, function (j, td) { |
||||
return { |
||||
type: "bi.text_item", |
||||
cls: "bi-list-item-select", |
||||
textAlign: "center", |
||||
whiteSpace: "nowrap", |
||||
once: false, |
||||
forceSelected: true, |
||||
height: 23, |
||||
width: 38, |
||||
value: td, |
||||
text: td |
||||
}; |
||||
}); |
||||
}); |
||||
|
||||
this.month = BI.createWidget({ |
||||
type: "bi.button_group", |
||||
element: this, |
||||
behaviors: o.behaviors, |
||||
items: BI.createItems(items, {}), |
||||
layouts: [BI.LogicFactory.createLogic("table", BI.extend({ |
||||
dynamic: true |
||||
}, { |
||||
columns: 2, |
||||
rows: 6, |
||||
columnSize: [1 / 2, 1 / 2], |
||||
rowSize: 25 |
||||
})), { |
||||
type: "bi.center_adapt", |
||||
vgap: 1, |
||||
hgap: 2 |
||||
}], |
||||
value: o.value |
||||
}); |
||||
|
||||
this.month.on(BI.Controller.EVENT_CHANGE, function (type) { |
||||
self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); |
||||
if (type === BI.Events.CLICK) { |
||||
self.fireEvent(BI.MonthPopup.EVENT_CHANGE); |
||||
} |
||||
}); |
||||
}, |
||||
|
||||
getValue: function () { |
||||
return this.month.getValue()[0]; |
||||
}, |
||||
|
||||
setValue: function (v) { |
||||
v = BI.parseInt(v); |
||||
this.month.setValue([v]); |
||||
} |
||||
}); |
||||
BI.MonthPopup.EVENT_CHANGE = "EVENT_CHANGE"; |
||||
BI.shortcut("bi.month_popup", BI.MonthPopup); |
@ -1,31 +0,0 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2019/9/12 |
||||
*/ |
||||
|
||||
|
||||
describe("month", function () { |
||||
|
||||
/** |
||||
* test_author_windy |
||||
*/ |
||||
it("setValue", function () { |
||||
var combo = BI.Test.createWidget({ |
||||
type: "bi.month_combo", |
||||
}); |
||||
combo.setValue(11); |
||||
expect(combo.getValue()).to.equal(11); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
*/ |
||||
it("getValue", function () { |
||||
var combo = BI.Test.createWidget({ |
||||
type: "bi.month_combo", |
||||
value: 1 |
||||
}); |
||||
expect(combo.getValue()).to.equal(1); |
||||
}); |
||||
}); |
@ -1,92 +0,0 @@
|
||||
/** |
||||
* 月份下拉框 |
||||
* |
||||
* Created by GUY on 2015/8/28. |
||||
* @class BI.MonthCombo |
||||
* @extends BI.Trigger |
||||
*/ |
||||
BI.MonthCombo = BI.inherit(BI.Widget, { |
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.MonthCombo.superclass._defaultConfig.apply(this, arguments), { |
||||
baseCls: "bi-month-combo", |
||||
behaviors: {}, |
||||
height: 24 |
||||
}); |
||||
}, |
||||
_init: function () { |
||||
BI.MonthCombo.superclass._init.apply(this, arguments); |
||||
var self = this, o = this.options; |
||||
|
||||
this.trigger = BI.createWidget({ |
||||
type: "bi.month_trigger", |
||||
value: o.value |
||||
}); |
||||
|
||||
this.trigger.on(BI.MonthTrigger.EVENT_CONFIRM, function (v) { |
||||
if (self.combo.isViewVisible()) { |
||||
return; |
||||
} |
||||
if (this.getKey() && this.getKey() !== self.storeValue) { |
||||
self.setValue(this.getValue()); |
||||
} else if (!this.getKey()) { |
||||
self.setValue(); |
||||
} |
||||
self.fireEvent(BI.MonthCombo.EVENT_CONFIRM); |
||||
}); |
||||
this.trigger.on(BI.MonthTrigger.EVENT_FOCUS, function () { |
||||
self.storeValue = this.getKey(); |
||||
}); |
||||
this.trigger.on(BI.MonthTrigger.EVENT_START, function () { |
||||
self.combo.hideView(); |
||||
}); |
||||
this.trigger.on(BI.MonthTrigger.EVENT_STOP, function () { |
||||
if (!self.combo.isViewVisible()) { |
||||
self.combo.showView(); |
||||
} |
||||
}); |
||||
|
||||
this.popup = BI.createWidget({ |
||||
type: "bi.month_popup", |
||||
behaviors: o.behaviors, |
||||
value: o.value |
||||
}); |
||||
this.popup.on(BI.MonthPopup.EVENT_CHANGE, function () { |
||||
self.setValue(self.popup.getValue()); |
||||
self.combo.hideView(); |
||||
self.fireEvent(BI.MonthCombo.EVENT_CONFIRM); |
||||
}); |
||||
|
||||
this.combo = BI.createWidget({ |
||||
type: "bi.combo", |
||||
container: o.container, |
||||
element: this, |
||||
isNeedAdjustHeight: false, |
||||
isNeedAdjustWidth: false, |
||||
el: this.trigger, |
||||
popup: { |
||||
minWidth: 85, |
||||
el: this.popup |
||||
} |
||||
}); |
||||
this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { |
||||
self.fireEvent(BI.MonthCombo.EVENT_BEFORE_POPUPVIEW); |
||||
}); |
||||
}, |
||||
|
||||
setValue: function (v) { |
||||
this.trigger.setValue(v); |
||||
this.popup.setValue(v); |
||||
}, |
||||
|
||||
getValue: function () { |
||||
if (BI.isNull(this.popup)) { |
||||
return this.options.value || ""; |
||||
} else { |
||||
return this.popup.getValue() || ""; |
||||
} |
||||
} |
||||
}); |
||||
|
||||
BI.MonthCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; |
||||
BI.MonthCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; |
||||
BI.shortcut("bi.month_combo", BI.MonthCombo); |
@ -1,110 +0,0 @@
|
||||
/** |
||||
* 月份trigger |
||||
* |
||||
* Created by GUY on 2015/8/21. |
||||
* @class BI.MonthTrigger |
||||
* @extends BI.Trigger |
||||
*/ |
||||
BI.MonthTrigger = BI.inherit(BI.Trigger, { |
||||
_const: { |
||||
hgap: 4, |
||||
vgap: 2 |
||||
}, |
||||
|
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.MonthTrigger.superclass._defaultConfig.apply(this, arguments), { |
||||
extraCls: "bi-month-trigger bi-border", |
||||
height: 24 |
||||
}); |
||||
}, |
||||
_init: function () { |
||||
BI.MonthTrigger.superclass._init.apply(this, arguments); |
||||
var self = this, o = this.options, c = this._const; |
||||
this.editor = BI.createWidget({ |
||||
type: "bi.sign_editor", |
||||
height: o.height, |
||||
validationChecker: function (v) { |
||||
return v === "" || (BI.isPositiveInteger(v) && v >= 1 && v <= 12); |
||||
}, |
||||
quitChecker: function (v) { |
||||
return false; |
||||
}, |
||||
hgap: c.hgap, |
||||
vgap: c.vgap, |
||||
allowBlank: true, |
||||
errorText: BI.i18nText("BI-Month_Trigger_Error_Text") |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_FOCUS, function () { |
||||
self.fireEvent(BI.MonthTrigger.EVENT_FOCUS); |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_CHANGE, function () { |
||||
self.fireEvent(BI.MonthTrigger.EVENT_CHANGE); |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_CONFIRM, function () { |
||||
var value = self.editor.getValue(); |
||||
if (BI.isNotNull(value)) { |
||||
self.editor.setValue(value); |
||||
self.editor.setTitle(value); |
||||
} |
||||
self.fireEvent(BI.MonthTrigger.EVENT_CONFIRM); |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_SPACE, function () { |
||||
if (self.editor.isValid()) { |
||||
self.editor.blur(); |
||||
} |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_START, function () { |
||||
self.fireEvent(BI.MonthTrigger.EVENT_START); |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_STOP, function () { |
||||
self.fireEvent(BI.MonthTrigger.EVENT_STOP); |
||||
}); |
||||
BI.createWidget({ |
||||
element: this, |
||||
type: "bi.htape", |
||||
items: [ |
||||
{ |
||||
el: this.editor |
||||
}, { |
||||
el: { |
||||
type: "bi.text_button", |
||||
text: BI.i18nText("BI-Multi_Date_Month"), |
||||
baseCls: "bi-trigger-month-text", |
||||
width: o.height |
||||
}, |
||||
width: o.height |
||||
}, { |
||||
el: { |
||||
type: "bi.trigger_icon_button", |
||||
width: o.height |
||||
}, |
||||
width: o.height |
||||
} |
||||
] |
||||
}); |
||||
this.setValue(o.value); |
||||
}, |
||||
setValue: function (v) { |
||||
if(BI.isNotNull(v)) { |
||||
this.editor.setState(v + 1); |
||||
this.editor.setValue(v + 1); |
||||
this.editor.setTitle(v + 1); |
||||
return; |
||||
} |
||||
this.editor.setState(""); |
||||
this.editor.setValue(""); |
||||
this.editor.setTitle(""); |
||||
}, |
||||
getKey: function () { |
||||
return this.editor.getValue() | 0; |
||||
}, |
||||
getValue: function () { |
||||
return this.editor.getValue() - 1; |
||||
} |
||||
}); |
||||
BI.MonthTrigger.EVENT_FOCUS = "EVENT_FOCUS"; |
||||
BI.MonthTrigger.EVENT_CONFIRM = "EVENT_CONFIRM"; |
||||
BI.MonthTrigger.EVENT_START = "EVENT_START"; |
||||
BI.MonthTrigger.EVENT_STOP = "EVENT_STOP"; |
||||
BI.MonthTrigger.EVENT_CHANGE = "EVENT_CHANGE"; |
||||
BI.shortcut("bi.month_trigger", BI.MonthTrigger); |
@ -0,0 +1,62 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2019/9/18 |
||||
*/ |
||||
describe("multi_layer_down_list_combo", function () { |
||||
|
||||
/** |
||||
* test_author_windy |
||||
*/ |
||||
it("defaultValue", function () { |
||||
var downListCombo = BI.Test.createWidget({ |
||||
type: "bi.multi_layer_down_list_combo", |
||||
items: [[{"el":{"text":"column 1111","iconCls1":"dot-e-font","value":12},"children":[{"text":"column 1.1","value":21,"cls":"dot-e-font"},{"text":"column 1.2","value":22,"cls":"dot-e-font"}]}],[{"el":{"text":"column 1111","iconCls1":"dot-e-font","value":11},"children":[{"text":"column 1.1","value":21,"cls":"dot-e-font", children: [{"text":"column 1.1","value":21,"cls":"dot-e-font"}]},{"text":"column 1.2","value":22,"cls":"dot-e-font"}]}]] |
||||
}); |
||||
downListCombo.setValue([{value: 12, childValue: 21}]); |
||||
expect(downListCombo.getValue()).to.deep.equal([ { childValue: 21, value: 12 } ]); |
||||
downListCombo.destroy(); |
||||
}); |
||||
|
||||
|
||||
/** |
||||
* test_author_windy |
||||
*/ |
||||
it("点击父亲选值", function (done) { |
||||
var downListCombo = BI.Test.createWidget({ |
||||
type: "bi.multi_layer_down_list_combo", |
||||
height: 30, |
||||
width: 30, |
||||
items: [[{"el":{"text":"column 1111","iconCls1":"dot-e-font","value":12},"children":[{"text":"column 1.1","value":21,"cls":"dot-e-font"},{"text":"column 1.2","value":22,"cls":"dot-e-font"}]}],[{"el":{"text":"column 1111","iconCls1":"dot-e-font","value":11},"children":[{"text":"column 1.1","value":21,"cls":"dot-e-font"},{"text":"column 1.2","value":22,"cls":"dot-e-font"}]}], [{"text": "column 1122", value: 32}, {"text": "column 1133", value: 33}]] |
||||
}); |
||||
downListCombo.element.children(".pull-down-font").click(); |
||||
BI.nextTick(function () { |
||||
downListCombo.element.find(".bi-down-list-group:last-child .bi-down-list-item").click(); |
||||
expect(downListCombo.getValue()).to.deep.equal([ { value: 33 } ]); |
||||
done(); |
||||
}); |
||||
}); |
||||
|
||||
|
||||
/** |
||||
* test_author_windy |
||||
*/ |
||||
it("点击儿子选值", function (done) { |
||||
var downListCombo = BI.Test.createWidget({ |
||||
type: "bi.multi_layer_down_list_combo", |
||||
height: 30, |
||||
width: 30, |
||||
items: [[{"el":{"text":"column 1111","iconCls1":"dot-e-font","value":12},"children":[{"text":"column 1.1","value":21,"cls":"dot-e-font"},{"text":"column 1.2","value":22,"cls":"dot-e-font"}]}],[{"el":{"text":"column 1111","iconCls1":"dot-e-font","value":11},"children":[{"text":"column 1.1","value":21,"cls":"dot-e-font"},{"text":"column 1.2","value":22,"cls":"dot-e-font"}]}]] |
||||
}); |
||||
downListCombo.element.children(".pull-down-font").click(); |
||||
BI.Test.triggerMouseover(downListCombo.element.find(".bi-down-list-group:first-child .bi-down-list-group-item"), function () { |
||||
BI.nextTick(function () { |
||||
downListCombo.element.find(".child-down-list-item:first-child").click(); |
||||
expect(downListCombo.getValue()).to.deep.equal([ { childValue: 21, value: 12 } ]); |
||||
downListCombo.destroy(); |
||||
done(); |
||||
}); |
||||
}); |
||||
}); |
||||
|
||||
}); |
@ -0,0 +1,135 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2019/9/18 |
||||
*/ |
||||
|
||||
describe("multilayer_select_tree", function () { |
||||
|
||||
var items = [{id: -1, pId: -2, value: "根目录", text: "根目录"}, |
||||
{id: 1, pId: -1, value: "第一级目录1", text: "第一级目录1"}, |
||||
{id: 11, pId: 1, value: "第二级文件1", text: "第二级文件1"}, |
||||
{id: 12, pId: 1, value: "第二级目录2", text: "第二级目录2"}, |
||||
{id: 121, pId: 12, value: "第三级目录1", text: "第三级目录1"}, |
||||
{id: 122, pId: 12, value: "第三级文件1", text: "第三级文件1"}, |
||||
{id: 1211, pId: 121, value: "第四级目录1", text: "第四级目录1"}, |
||||
{ |
||||
id: 12111, |
||||
pId: 1211, |
||||
value: "第五级文件1", |
||||
text: "第五级文件111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" |
||||
}, |
||||
{id: 2, pId: -1, value: "第一级目录2", text: "第一级目录2"}, |
||||
{id: 21, pId: 2, value: "第二级目录3", text: "第二级目录3"}, |
||||
{id: 22, pId: 2, value: "第二级文件2", text: "第二级文件2"}, |
||||
{id: 211, pId: 21, value: "第三级目录2", text: "第三级目录2"}, |
||||
{id: 212, pId: 21, value: "第三级文件2", text: "第三级文件2"}, |
||||
{id: 2111, pId: 211, value: "第四级文件1", text: "第四级文件1"}]; |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("defaultValue_allowEdit", function () { |
||||
var tree = BI.Test.createWidget({ |
||||
type: "bi.multilayer_select_tree_combo", |
||||
width: 300, |
||||
height: 24, |
||||
allowEdit: true, |
||||
items: BI.deepClone(items), |
||||
value: "第一级目录2" |
||||
}); |
||||
expect(tree.getValue()).to.equal("第一级目录2"); |
||||
tree.destroy(); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("defaultValue_not_allowEdit", function () { |
||||
var tree = BI.Test.createWidget({ |
||||
type: "bi.multilayer_select_tree_combo", |
||||
width: 300, |
||||
height: 24, |
||||
items: BI.deepClone(items), |
||||
value: "第一级目录2" |
||||
}); |
||||
expect(tree.getValue()).to.equal("第一级目录2"); |
||||
tree.destroy(); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("点选选值", function (done) { |
||||
var tree = BI.Test.createWidget({ |
||||
type: "bi.multilayer_select_tree_combo", |
||||
width: 300, |
||||
height: 24, |
||||
allowEdit: true, |
||||
items: BI.deepClone(items), |
||||
value: "第一级目录2" |
||||
}); |
||||
tree.element.find(".bi-multi-layer-select-tree-trigger").click(); |
||||
BI.nextTick(function () { |
||||
tree.element.find(".bi-select-tree-plus-group-node").click(); |
||||
expect(tree.getValue()[0]).to.equal("根目录"); |
||||
tree.destroy(); |
||||
done(); |
||||
}); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("搜索选值", function (done) { |
||||
var tree = BI.Test.createWidget({ |
||||
type: "bi.multilayer_select_tree_combo", |
||||
width: 300, |
||||
height: 24, |
||||
allowEdit: true, |
||||
items: BI.deepClone(items) |
||||
}); |
||||
BI.nextTick(function () { |
||||
tree.element.find(".bi-multi-layer-select-tree-trigger .tip-text-style").click(); |
||||
// 这边为啥要加呢,因为input的setValue中有nextTick
|
||||
BI.nextTick(function () { |
||||
BI.Test.triggerKeyDown(tree.element.find(".bi-multi-layer-select-tree-trigger .bi-input"), "2", 50, function () { |
||||
BI.nextTick(function () { |
||||
tree.element.find(".bi-select-tree-mid-plus-group-node").click(); |
||||
expect(tree.getValue()[0]).to.equal("第一级目录2"); |
||||
tree.destroy(); |
||||
done(); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("新增值", function (done) { |
||||
var tree = BI.Test.createWidget({ |
||||
type: "bi.multilayer_select_tree_combo", |
||||
width: 300, |
||||
height: 24, |
||||
allowEdit: true, |
||||
allowInsertValue: true, |
||||
items: BI.deepClone(items) |
||||
}); |
||||
BI.nextTick(function () { |
||||
tree.element.find(".bi-multi-layer-select-tree-trigger .tip-text-style").click(); |
||||
// 这边为啥要加呢,因为input的setValue中有nextTick
|
||||
BI.nextTick(function () { |
||||
BI.Test.triggerKeyDown(tree.element.find(".bi-multi-layer-select-tree-trigger .bi-input"), "z", 50, function () { |
||||
BI.nextTick(function () { |
||||
tree.element.find(".bi-text-button:contains(+点击新增\"z\")").click(); |
||||
expect(tree.getValue()[0]).to.equal("z"); |
||||
tree.destroy(); |
||||
done(); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
@ -0,0 +1,133 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2019/9/18 |
||||
*/ |
||||
describe("multilayer_single_tree", function () { |
||||
|
||||
var items = [{id: -1, pId: -2, value: "根目录", text: "根目录", open: true}, |
||||
{id: 1, pId: -1, value: "第一级目录1", text: "第一级目录1", open: true}, |
||||
{id: 11, pId: 1, value: "第二级文件1", text: "第二级文件1"}, |
||||
{id: 12, pId: 1, value: "第二级目录2", text: "第二级目录2", open: true}, |
||||
{id: 121, pId: 12, value: "第三级目录1", text: "第三级目录1", open: true}, |
||||
{id: 122, pId: 12, value: "第三级文件1", text: "第三级文件1"}, |
||||
{id: 1211, pId: 121, value: "第四级目录1", text: "第四级目录1", open: true}, |
||||
{ |
||||
id: 12111, |
||||
pId: 1211, |
||||
value: "第五级文件1", |
||||
text: "第五级文件111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" |
||||
}, |
||||
{id: 2, pId: -1, value: "第一级目录2", text: "第一级目录2", open: true}, |
||||
{id: 21, pId: 2, value: "第二级目录3", text: "第二级目录3", open: true}, |
||||
{id: 22, pId: 2, value: "第二级文件2", text: "第二级文件2"}, |
||||
{id: 211, pId: 21, value: "第三级目录2", text: "第三级目录2", open: true}, |
||||
{id: 212, pId: 21, value: "第三级文件2", text: "第三级文件2"}, |
||||
{id: 2111, pId: 211, value: "第四级文件1", text: "第四级文件1"}]; |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("defaultValue_allowEdit", function () { |
||||
var tree = BI.Test.createWidget({ |
||||
type: "bi.multilayer_single_tree_combo", |
||||
width: 300, |
||||
height: 24, |
||||
allowEdit: true, |
||||
items: BI.deepClone(items), |
||||
value: "第二级文件1" |
||||
}); |
||||
expect(tree.getValue()).to.equal("第二级文件1"); |
||||
tree.destroy(); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("defaultValue_not_allowEdit", function () { |
||||
var tree = BI.Test.createWidget({ |
||||
type: "bi.multilayer_single_tree_combo", |
||||
width: 300, |
||||
height: 24, |
||||
items: BI.deepClone(items), |
||||
value: "第二级文件1" |
||||
}); |
||||
expect(tree.getValue()).to.equal("第二级文件1"); |
||||
tree.destroy(); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("点选选值", function (done) { |
||||
var tree = BI.Test.createWidget({ |
||||
type: "bi.multilayer_single_tree_combo", |
||||
width: 300, |
||||
height: 24, |
||||
allowEdit: true, |
||||
items: BI.deepClone(items) |
||||
}); |
||||
tree.element.find(".bi-multi-layer-single-tree-trigger").click(); |
||||
BI.nextTick(function () { |
||||
tree.element.find(".bi-multilayer-single-tree-mid-tree-leaf-item").click(); |
||||
expect(tree.getValue()[0]).to.equal("第二级文件1"); |
||||
tree.destroy(); |
||||
done(); |
||||
}); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("搜索选值", function (done) { |
||||
var tree = BI.Test.createWidget({ |
||||
type: "bi.multilayer_single_tree_combo", |
||||
width: 300, |
||||
height: 24, |
||||
allowEdit: true, |
||||
items: BI.deepClone(items) |
||||
}); |
||||
BI.nextTick(function () { |
||||
tree.element.find(".bi-multi-layer-single-tree-trigger .tip-text-style").click(); |
||||
// 这边为啥要加呢,因为input的setValue中有nextTick
|
||||
BI.nextTick(function () { |
||||
BI.Test.triggerKeyDown(tree.element.find(".bi-multi-layer-single-tree-trigger .bi-input"), "2", 50, function () { |
||||
BI.nextTick(function () { |
||||
tree.element.find(".bi-multilayer-single-tree-mid-tree-leaf-item").click(); |
||||
expect(tree.getValue()[0]).to.equal("第二级文件1"); |
||||
tree.destroy(); |
||||
done(); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("新增值", function (done) { |
||||
var tree = BI.Test.createWidget({ |
||||
type: "bi.multilayer_single_tree_combo", |
||||
width: 300, |
||||
height: 24, |
||||
allowEdit: true, |
||||
allowInsertValue: true, |
||||
items: BI.deepClone(items) |
||||
}); |
||||
BI.nextTick(function () { |
||||
tree.element.find(".bi-multi-layer-single-tree-trigger .tip-text-style").click(); |
||||
// 这边为啥要加呢,因为input的setValue中有nextTick
|
||||
BI.nextTick(function () { |
||||
BI.Test.triggerKeyDown(tree.element.find(".bi-multi-layer-single-tree-trigger .bi-input"), "z", 50, function () { |
||||
BI.nextTick(function () { |
||||
tree.element.find(".bi-text-button:contains(+点击新增\"z\")").click(); |
||||
expect(tree.getValue()[0]).to.equal("z"); |
||||
tree.destroy(); |
||||
done(); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
@ -0,0 +1,5 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2019/9/18 |
||||
*/ |
@ -0,0 +1,5 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2019/9/18 |
||||
*/ |
@ -0,0 +1,5 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2019/9/18 |
||||
*/ |
@ -0,0 +1,5 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2019/9/18 |
||||
*/ |
@ -1,92 +0,0 @@
|
||||
/** |
||||
* 季度下拉框 |
||||
* |
||||
* Created by GUY on 2015/8/28. |
||||
* @class BI.QuarterCombo |
||||
* @extends BI.Widget |
||||
*/ |
||||
BI.QuarterCombo = BI.inherit(BI.Widget, { |
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.QuarterCombo.superclass._defaultConfig.apply(this, arguments), { |
||||
baseCls: "bi-quarter-combo", |
||||
behaviors: {}, |
||||
height: 25 |
||||
}); |
||||
}, |
||||
_init: function () { |
||||
BI.QuarterCombo.superclass._init.apply(this, arguments); |
||||
var self = this, o = this.options; |
||||
this.storeValue = ""; |
||||
this.trigger = BI.createWidget({ |
||||
type: "bi.quarter_trigger", |
||||
value: o.value |
||||
}); |
||||
|
||||
this.trigger.on(BI.QuarterTrigger.EVENT_FOCUS, function () { |
||||
self.storeValue = this.getKey(); |
||||
}); |
||||
this.trigger.on(BI.QuarterTrigger.EVENT_START, function () { |
||||
self.combo.isViewVisible() && self.combo.hideView(); |
||||
}); |
||||
this.trigger.on(BI.QuarterTrigger.EVENT_STOP, function () { |
||||
if (!self.combo.isViewVisible()) { |
||||
self.combo.showView(); |
||||
} |
||||
}); |
||||
this.trigger.on(BI.QuarterTrigger.EVENT_CONFIRM, function () { |
||||
if (self.combo.isViewVisible()) { |
||||
return; |
||||
} |
||||
if (this.getKey() && this.getKey() !== self.storeValue) { |
||||
self.setValue(this.getKey()); |
||||
} else if (!this.getKey()) { |
||||
self.setValue(); |
||||
} |
||||
self.fireEvent(BI.QuarterCombo.EVENT_CONFIRM); |
||||
}); |
||||
this.popup = BI.createWidget({ |
||||
type: "bi.quarter_popup", |
||||
behaviors: o.behaviors, |
||||
value: o.value |
||||
}); |
||||
|
||||
this.popup.on(BI.QuarterPopup.EVENT_CHANGE, function () { |
||||
self.setValue(self.popup.getValue()); |
||||
self.combo.hideView(); |
||||
self.fireEvent(BI.QuarterCombo.EVENT_CONFIRM); |
||||
}); |
||||
|
||||
this.combo = BI.createWidget({ |
||||
type: "bi.combo", |
||||
container: o.container, |
||||
element: this, |
||||
isNeedAdjustHeight: false, |
||||
isNeedAdjustWidth: false, |
||||
el: this.trigger, |
||||
popup: { |
||||
minWidth: 85, |
||||
el: this.popup |
||||
} |
||||
}); |
||||
this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { |
||||
self.fireEvent(BI.QuarterCombo.EVENT_BEFORE_POPUPVIEW); |
||||
}); |
||||
}, |
||||
|
||||
setValue: function (v) { |
||||
this.trigger.setValue(v); |
||||
this.popup.setValue(v); |
||||
}, |
||||
|
||||
getValue: function () { |
||||
if (BI.isNull(this.popup)) { |
||||
return this.options.value || ""; |
||||
} else { |
||||
return this.popup.getValue() || ""; |
||||
} |
||||
} |
||||
}); |
||||
|
||||
BI.QuarterCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; |
||||
BI.QuarterCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; |
||||
BI.shortcut("bi.quarter_combo", BI.QuarterCombo); |
@ -1,74 +0,0 @@
|
||||
/** |
||||
* 季度展示面板 |
||||
* |
||||
* Created by GUY on 2015/9/2. |
||||
* @class BI.QuarterPopup |
||||
* @extends BI.Trigger |
||||
*/ |
||||
BI.QuarterPopup = BI.inherit(BI.Widget, { |
||||
|
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.QuarterPopup.superclass._defaultConfig.apply(this, arguments), { |
||||
baseCls: "bi-quarter-popup", |
||||
behaviors: {} |
||||
}); |
||||
}, |
||||
|
||||
_init: function () { |
||||
BI.QuarterPopup.superclass._init.apply(this, arguments); |
||||
var self = this, o = this.options; |
||||
|
||||
var items = [{ |
||||
text: BI.Date._QN[1], |
||||
value: 1 |
||||
}, { |
||||
text: BI.Date._QN[2], |
||||
value: 2 |
||||
}, { |
||||
text: BI.Date._QN[3], |
||||
value: 3 |
||||
}, { |
||||
text: BI.Date._QN[4], |
||||
value: 4 |
||||
}]; |
||||
items = BI.map(items, function (j, item) { |
||||
return BI.extend(item, { |
||||
type: "bi.text_item", |
||||
cls: "bi-list-item-active", |
||||
textAlign: "left", |
||||
whiteSpace: "nowrap", |
||||
once: false, |
||||
forceSelected: true, |
||||
height: 25 |
||||
}); |
||||
}); |
||||
|
||||
this.quarter = BI.createWidget({ |
||||
type: "bi.button_group", |
||||
element: this, |
||||
behaviors: o.behaviors, |
||||
items: BI.createItems(items, {}), |
||||
layouts: [{ |
||||
type: "bi.vertical" |
||||
}], |
||||
value: o.value |
||||
}); |
||||
|
||||
this.quarter.on(BI.Controller.EVENT_CHANGE, function (type) { |
||||
self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); |
||||
if (type === BI.Events.CLICK) { |
||||
self.fireEvent(BI.MonthPopup.EVENT_CHANGE); |
||||
} |
||||
}); |
||||
}, |
||||
|
||||
getValue: function () { |
||||
return this.quarter.getValue()[0]; |
||||
}, |
||||
|
||||
setValue: function (v) { |
||||
this.quarter.setValue([v]); |
||||
} |
||||
}); |
||||
BI.QuarterPopup.EVENT_CHANGE = "EVENT_CHANGE"; |
||||
BI.shortcut("bi.quarter_popup", BI.QuarterPopup); |
@ -1,106 +0,0 @@
|
||||
/** |
||||
* 季度trigger |
||||
* |
||||
* Created by GUY on 2015/8/21. |
||||
* @class BI.QuarterTrigger |
||||
* @extends BI.Trigger |
||||
*/ |
||||
BI.QuarterTrigger = BI.inherit(BI.Trigger, { |
||||
_const: { |
||||
hgap: 4, |
||||
vgap: 2, |
||||
textWidth: 40 |
||||
}, |
||||
|
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.QuarterTrigger.superclass._defaultConfig.apply(this, arguments), { |
||||
extraCls: "bi-quarter-trigger bi-border", |
||||
height: 24 |
||||
}); |
||||
}, |
||||
_init: function () { |
||||
BI.QuarterTrigger.superclass._init.apply(this, arguments); |
||||
var self = this, o = this.options, c = this._const; |
||||
this.editor = BI.createWidget({ |
||||
type: "bi.sign_editor", |
||||
height: o.height, |
||||
validationChecker: function (v) { |
||||
return v === "" || (BI.isPositiveInteger(v) && v >= 1 && v <= 4); |
||||
}, |
||||
quitChecker: function (v) { |
||||
return false; |
||||
}, |
||||
hgap: c.hgap, |
||||
vgap: c.vgap, |
||||
allowBlank: true, |
||||
errorText: BI.i18nText("BI-Quarter_Trigger_Error_Text") |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_FOCUS, function () { |
||||
self.fireEvent(BI.QuarterTrigger.EVENT_FOCUS); |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_CHANGE, function () { |
||||
self.fireEvent(BI.QuarterTrigger.EVENT_CHANGE); |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_CONFIRM, function () { |
||||
var value = self.editor.getValue(); |
||||
if (BI.isNotNull(value)) { |
||||
self.editor.setValue(value); |
||||
self.editor.setTitle(value); |
||||
} |
||||
self.fireEvent(BI.QuarterTrigger.EVENT_CONFIRM); |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_SPACE, function () { |
||||
if (self.editor.isValid()) { |
||||
self.editor.blur(); |
||||
} |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_START, function () { |
||||
self.fireEvent(BI.QuarterTrigger.EVENT_START); |
||||
}); |
||||
this.editor.on(BI.SignEditor.EVENT_STOP, function () { |
||||
self.fireEvent(BI.QuarterTrigger.EVENT_STOP); |
||||
}); |
||||
|
||||
BI.createWidget({ |
||||
element: this, |
||||
type: "bi.htape", |
||||
items: [ |
||||
{ |
||||
el: this.editor |
||||
}, { |
||||
el: { |
||||
type: "bi.text_button", |
||||
baseCls: "bi-trigger-quarter-text", |
||||
text: BI.i18nText("BI-Multi_Date_Quarter"), |
||||
width: c.textWidth |
||||
}, |
||||
width: c.textWidth |
||||
}, { |
||||
el: { |
||||
type: "bi.trigger_icon_button", |
||||
width: o.height |
||||
}, |
||||
width: o.height |
||||
} |
||||
] |
||||
}); |
||||
this.setValue(o.value); |
||||
}, |
||||
|
||||
setValue: function (v) { |
||||
v = v || ""; |
||||
this.editor.setState(v); |
||||
this.editor.setValue(v); |
||||
this.editor.setTitle(v); |
||||
}, |
||||
|
||||
getKey: function () { |
||||
return this.editor.getValue(); |
||||
} |
||||
}); |
||||
BI.QuarterTrigger.EVENT_FOCUS = "EVENT_FOCUS"; |
||||
BI.QuarterTrigger.EVENT_CHANGE = "EVENT_CHANGE"; |
||||
BI.QuarterTrigger.EVENT_START = "EVENT_START"; |
||||
BI.QuarterTrigger.EVENT_STOP = "EVENT_STOP"; |
||||
BI.QuarterTrigger.EVENT_CONFIRM = "EVENT_CONFIRM"; |
||||
BI.shortcut("bi.quarter_trigger", BI.QuarterTrigger); |
Loading…
Reference in new issue