fineui是帆软报表和BI产品线所使用的前端框架。
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
!(function () {
|
|
|
|
BI.Test = {};
|
|
|
|
_.extend(BI.Test, {
|
|
|
|
createWidget: function (widgetJson) {
|
|
|
|
var widget = BI.createWidget(BI.extend(widgetJson, {
|
|
|
|
root: true
|
|
|
|
}));
|
|
|
|
widget.element.appendTo("body");
|
|
|
|
return widget;
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 模拟一次输入框的keydown事件
|
|
|
|
*/
|
|
|
|
triggerKeyDown: function (element, value, keyCode, callback) {
|
|
|
|
// keydown
|
|
|
|
var e = BI.$.Event("keydown");
|
|
|
|
e.keyCode = keyCode;
|
|
|
|
element.trigger(e);
|
|
|
|
|
|
|
|
// input
|
|
|
|
BI.isNotNull(value) && element.val(value);
|
|
|
|
var e1 = BI.$.Event("input");
|
|
|
|
e1.originalEvent = {};
|
|
|
|
e1.keyCode = keyCode;
|
|
|
|
element.trigger(e1);
|
|
|
|
|
|
|
|
// keyup 至少等300ms后触发
|
|
|
|
var e2 = BI.$.Event("keyup");
|
|
|
|
e2.keyCode = keyCode;
|
|
|
|
element.trigger(e2);
|
|
|
|
BI.delay(function () {
|
|
|
|
callback();
|
|
|
|
}, 300);
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 模拟一次鼠标hover
|
|
|
|
*/
|
|
|
|
triggerMouseover: function (element, callback) {
|
|
|
|
// keydown
|
|
|
|
var e = BI.$.Event("mouseover");
|
|
|
|
element.trigger(e);
|
|
|
|
callback && callback();
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})();
|