guy
5 years ago
34 changed files with 809 additions and 369 deletions
@ -0,0 +1,193 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2019/9/23 |
||||
*/ |
||||
describe("value_chooser_insert_combo", function () { |
||||
|
||||
var items = BI.map(BI.makeArray(1000, null), function(idx, v) { |
||||
return { |
||||
text: idx, |
||||
value: idx, |
||||
title: idx |
||||
}; |
||||
}); |
||||
|
||||
var itemSelectorGetter = function (array) { |
||||
return BI.map(array, function (idx, num) { |
||||
return ".bi-multi-select-popup-view .bi-loader .bi-button-group .bi-multi-select-item:nth-child(" + num + ")"; |
||||
}); |
||||
}; |
||||
|
||||
var searchItemSelectorGetter = function (array) { |
||||
return BI.map(array, function (idx, num) { |
||||
return ".bi-multi-select-search-pane .bi-loader .bi-button-group .bi-multi-select-item:nth-child(" + num + ")"; |
||||
}); |
||||
}; |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("setValue", function () { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_insert_combo", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
} |
||||
}); |
||||
widget.setValue({ |
||||
type: 1, |
||||
value: [1, 2] |
||||
}); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 1, |
||||
value: [1, 2] |
||||
}); |
||||
widget.destroy(); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("getValue", function () { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_insert_combo", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
}, |
||||
value: { |
||||
type: 2, |
||||
value: [1, 2, 3] |
||||
} |
||||
}); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 2, |
||||
value: [1, 2, 3] |
||||
}); |
||||
widget.destroy(); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("点选选值", function (done) { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_insert_combo", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
} |
||||
}); |
||||
widget.element.find(".bi-multi-select-trigger").click(); |
||||
// 为什么要delay 300呢,因为按钮有debounce
|
||||
BI.delay(function () { |
||||
// 点选1、2、3
|
||||
BI.each(itemSelectorGetter([1,2,3]), function (idx, selector) { |
||||
widget.element.find(selector).click(); |
||||
}); |
||||
// 点全选
|
||||
widget.element.find(".bi-multi-select-popup-view .bi-label:contains(全选)").click(); |
||||
// 取消勾选1、2、3
|
||||
BI.delay(function () { |
||||
BI.each(itemSelectorGetter([1,2,3]), function (idx, selector) { |
||||
widget.element.find(selector).click(); |
||||
}); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 2, |
||||
value: [0, 1, 2] |
||||
}); |
||||
widget.destroy(); |
||||
done(); |
||||
}, 300); |
||||
}, 300); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("搜索选值", function (done) { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_insert_combo", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
} |
||||
}); |
||||
BI.nextTick(function () { |
||||
widget.element.find(".bi-multi-select-trigger .tip-text-style").click(); |
||||
// 这边为啥要加呢,因为input的setValue中有nextTick
|
||||
BI.nextTick(function () { |
||||
BI.Test.triggerKeyDown(widget.element.find(".bi-multi-select-trigger .bi-input"), "2", 50, function () { |
||||
BI.nextTick(function () { |
||||
BI.each(searchItemSelectorGetter([1,2]), function (idx, selector) { |
||||
widget.element.find(selector).click(); |
||||
}); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 1, |
||||
value: [2, 12] |
||||
}); |
||||
widget.destroy(); |
||||
done(); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("新增值", function (done) { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_insert_combo", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
} |
||||
}); |
||||
BI.nextTick(function () { |
||||
widget.element.find(".bi-multi-select-trigger .tip-text-style").click(); |
||||
// 这边为啥要加呢,因为input的setValue中有nextTick
|
||||
BI.nextTick(function () { |
||||
BI.Test.triggerKeyDown(widget.element.find(".bi-multi-select-trigger .bi-input"), "z", 50, function () { |
||||
BI.nextTick(function () { |
||||
widget.element.find(".bi-text-button:contains(+点击新增\"z\")").click(); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 1, |
||||
value: ["z"] |
||||
}); |
||||
widget.destroy(); |
||||
done(); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("查看已选", function (done) { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_insert_combo", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
}, |
||||
value: { |
||||
type: 1, |
||||
value: [1, 2] |
||||
} |
||||
}); |
||||
BI.nextTick(function () { |
||||
widget.element.find(".bi-multi-select-check-selected-button").click(); |
||||
BI.delay(function () { |
||||
expect(widget.element.find(".display-list-item").length).to.equal(2); |
||||
widget.destroy(); |
||||
done(); |
||||
}, 300); |
||||
}); |
||||
}); |
||||
}); |
@ -0,0 +1,163 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2019/9/23 |
||||
*/ |
||||
describe("value_chooser_combo", function () { |
||||
|
||||
var items = BI.map(BI.makeArray(1000, null), function(idx, v) { |
||||
return { |
||||
text: idx, |
||||
value: idx, |
||||
title: idx |
||||
}; |
||||
}); |
||||
|
||||
var itemSelectorGetter = function (array) { |
||||
return BI.map(array, function (idx, num) { |
||||
return ".bi-multi-select-popup-view .bi-loader .bi-button-group .bi-multi-select-item:nth-child(" + num + ")"; |
||||
}); |
||||
}; |
||||
|
||||
var searchItemSelectorGetter = function (array) { |
||||
return BI.map(array, function (idx, num) { |
||||
return ".bi-multi-select-search-pane .bi-loader .bi-button-group .bi-multi-select-item:nth-child(" + num + ")"; |
||||
}); |
||||
}; |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("setValue", function () { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_combo", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
} |
||||
}); |
||||
widget.setValue({ |
||||
type: 1, |
||||
value: [1, 2] |
||||
}); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 1, |
||||
value: [1, 2] |
||||
}); |
||||
widget.destroy(); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("getValue", function () { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_combo", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
}, |
||||
value: { |
||||
type: 2, |
||||
value: [1, 2, 3] |
||||
} |
||||
}); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 2, |
||||
value: [1, 2, 3] |
||||
}); |
||||
widget.destroy(); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("点选选值", function (done) { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_combo", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
} |
||||
}); |
||||
widget.element.find(".bi-multi-select-trigger").click(); |
||||
// 为什么要delay 300呢,因为按钮有debounce
|
||||
BI.delay(function () { |
||||
// 点选1、2、3
|
||||
BI.each(itemSelectorGetter([1,2,3]), function (idx, selector) { |
||||
widget.element.find(selector).click(); |
||||
}); |
||||
// 点全选
|
||||
widget.element.find(".bi-multi-select-popup-view .bi-label:contains(全选)").click(); |
||||
// 取消勾选1、2、3
|
||||
BI.delay(function () { |
||||
BI.each(itemSelectorGetter([1,2,3]), function (idx, selector) { |
||||
widget.element.find(selector).click(); |
||||
}); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 2, |
||||
value: [0, 1, 2] |
||||
}); |
||||
widget.destroy(); |
||||
done(); |
||||
}, 300); |
||||
}, 300); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("搜索选值", function (done) { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_combo", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
} |
||||
}); |
||||
BI.nextTick(function () { |
||||
widget.element.find(".bi-multi-select-trigger .tip-text-style").click(); |
||||
// 这边为啥要加呢,因为input的setValue中有nextTick
|
||||
BI.nextTick(function () { |
||||
BI.Test.triggerKeyDown(widget.element.find(".bi-multi-select-trigger .bi-input"), "2", 50, function () { |
||||
BI.nextTick(function () { |
||||
BI.each(searchItemSelectorGetter([1,2]), function (idx, selector) { |
||||
widget.element.find(selector).click(); |
||||
}); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 1, |
||||
value: [2, 12] |
||||
}); |
||||
widget.destroy(); |
||||
done(); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("查看已选", function (done) { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_combo", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
}, |
||||
value: { |
||||
type: 1, |
||||
value: [1, 2] |
||||
} |
||||
}); |
||||
BI.nextTick(function () { |
||||
widget.element.find(".bi-multi-select-check-selected-button").click(); |
||||
BI.delay(function () { |
||||
expect(widget.element.find(".display-list-item").length).to.equal(2); |
||||
widget.destroy(); |
||||
done(); |
||||
}, 300); |
||||
}); |
||||
}); |
||||
}); |
@ -0,0 +1,111 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2019/9/23 |
||||
*/ |
||||
|
||||
describe("value_chooser_pane", function () { |
||||
|
||||
var items = BI.map(BI.makeArray(1000, null), function(idx, v) { |
||||
return { |
||||
text: idx, |
||||
value: idx, |
||||
title: idx |
||||
}; |
||||
}); |
||||
|
||||
var itemSelectorGetter = function (array) { |
||||
return BI.map(array, function (idx, num) { |
||||
return ".popup-multi-select-list .bi-loader .bi-button-group .bi-multi-select-item:nth-child(" + num + ")"; |
||||
}); |
||||
}; |
||||
|
||||
var searchItemSelectorGetter = function (array) { |
||||
return BI.map(array, function (idx, num) { |
||||
return ".bi-multi-select-search-pane .bi-loader .bi-button-group .bi-multi-select-item:nth-child(" + num + ")"; |
||||
}); |
||||
}; |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("setValue", function () { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_pane", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
} |
||||
}); |
||||
widget.setValue({ |
||||
type: 1, |
||||
value: [1, 2] |
||||
}); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 1, |
||||
value: [1, 2] |
||||
}); |
||||
widget.destroy(); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("点选选值", function (done) { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_pane", |
||||
width: 220, |
||||
items: items |
||||
}); |
||||
BI.nextTick(function () { |
||||
// 点选1、2、3
|
||||
BI.each(itemSelectorGetter([1,2,3]), function (idx, selector) { |
||||
widget.element.find(selector).click(); |
||||
}); |
||||
// 点全选
|
||||
widget.element.find(".popup-multi-select-list .bi-label:contains(全选)").click(); |
||||
// 取消勾选1、2、3
|
||||
BI.delay(function () { |
||||
BI.each(itemSelectorGetter([1,2,3]), function (idx, selector) { |
||||
widget.element.find(selector).click(); |
||||
}); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 2, |
||||
value: [0, 1, 2] |
||||
}); |
||||
widget.destroy(); |
||||
done(); |
||||
}, 300); |
||||
}); |
||||
}); |
||||
|
||||
/** |
||||
* test_author_windy |
||||
**/ |
||||
it("搜索选值", function (done) { |
||||
var widget = BI.Test.createWidget({ |
||||
type: "bi.value_chooser_pane", |
||||
width: 220, |
||||
itemsCreator: function (op, callback) { |
||||
callback(items); |
||||
} |
||||
}); |
||||
widget.element.find(".bi-water-mark").click(); |
||||
// 这边为啥要加呢,因为input的setValue中有nextTick
|
||||
BI.nextTick(function () { |
||||
BI.Test.triggerKeyDown(widget.element.find(".bi-input"), "2", 50, function () { |
||||
BI.nextTick(function () { |
||||
BI.each(searchItemSelectorGetter([1,2]), function (idx, selector) { |
||||
widget.element.find(selector).click(); |
||||
}); |
||||
expect(widget.getValue()).to.deep.equal({ |
||||
type: 1, |
||||
value: [2, 12] |
||||
}); |
||||
widget.destroy(); |
||||
done(); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
@ -0,0 +1,3 @@
|
||||
.bi-popover { |
||||
border: 1px solid transparent; |
||||
} |
@ -1,4 +1,5 @@
|
||||
@import "../../index"; |
||||
|
||||
.bi-popover { |
||||
border: 1px solid transparent; |
||||
} |
@ -0,0 +1,12 @@
|
||||
import { _Widget } from "../core/widget"; |
||||
|
||||
export interface _Pane extends _Widget { |
||||
_assertTip: (..._args: any[]) => void; |
||||
loading: (..._args: any[]) => void; |
||||
loaded: (..._args: any[]) => void; |
||||
check: (..._args: any[]) => void; |
||||
} |
||||
|
||||
export interface _PaneStatic { |
||||
EVENT_LOADED: "EVENT_LOADED"; |
||||
} |
@ -0,0 +1,5 @@
|
||||
import { _Pane } from "../../base/pane"; |
||||
|
||||
export interface _LoadingPane extends _Pane { |
||||
__loaded: (...args: any[]) => void; |
||||
} |
Loading…
Reference in new issue