Browse Source

Merge pull request #233744 in DEC/fineui from feature/x to bugfix/11.0

* commit '0afdc4aa7133ce60c8000ff2f08a846abcac991e': (30 commits)
  auto upgrade version to 2.0.20230413101426
  auto upgrade version to 2.0.20230413093600
  auto upgrade version to 2.0.20230412174452
  BI-124805 fix: revert BI-122401
  BI-124559 fix: 升级BI6版本后,老版本火狐浏览器无法打开仪表板
  auto upgrade version to 2.0.20230411181532
  auto upgrade version to 2.0.20230411180538
  auto upgrade version to 2.0.20230411093545
  BI-124616 更新字体文件
  auto upgrade version to 2.0.20230410093737
  无JIRA fix: 书写错误_isOverflowY判断
  无JIRA fix: 国际组反馈, 多语言环境word-break问题
  auto upgrade version to 2.0.20230407135454
  auto upgrade version to 2.0.20230406204420
  auto upgrade version to 2.0.20230406155618
  BI-123725 fix: 使用统一的高亮cls
  auto upgrade version to 2.0.20230406144639
  无JIRA fix: simple下的边框圆角控制
  FDL-4442 fix: downListCombo单边框时去掉圆角
  auto upgrade version to 2.0.20230403115702
  ...
research/test
superman 2 years ago
parent
commit
f9bfd1733a
  1. 2
      package.json
  2. 2
      src/base/collection/collection.js
  3. 8
      src/base/combination/group.combo.js
  4. 38
      src/base/combination/loader.js
  5. 2
      src/base/combination/searcher.js
  6. 16
      src/base/pager/pager.js
  7. 6
      src/base/single/input/input.js
  8. 14
      src/case/layer/pane.list.js
  9. 26
      src/case/loader/loader.list.js
  10. 2
      src/case/trigger/trigger.editor.js
  11. 1
      src/component/allvaluechooser/combo.allvaluechooser.js
  12. 20
      src/core/2.base.js
  13. 6
      src/core/4.widget.js
  14. 40
      src/core/5.inject.js
  15. 4
      src/core/6.plugin.js
  16. 2
      src/core/controller/controller.layer.js
  17. 2
      src/core/listener/listener.show.js
  18. 7
      src/core/platform/web/dom.js
  19. 15
      src/core/structure/tree.js
  20. 4
      src/core/wrapper/layout/adapt/absolute.leftrightvertical.js
  21. 18
      src/core/wrapper/layout/adapt/adapt.leftrightvertical.js
  22. 2
      src/core/wrapper/layout/fill/float.fill.horizontal.js
  23. 2
      src/core/wrapper/layout/flex/flex.leftrightvertical.center.js
  24. 4
      src/core/wrapper/layout/float/float.absolute.leftrightvertical.js
  25. 2
      src/core/wrapper/layout/layout.border.js
  26. 6
      src/core/wrapper/layout/layout.card.js
  27. 4
      src/core/wrapper/layout/layout.division.js
  28. 2
      src/core/wrapper/layout/layout.grid.js
  29. 4
      src/core/wrapper/layout/layout.tape.js
  30. 4
      src/core/wrapper/layout/layout.window.js
  31. 2
      src/core/wrapper/layout/middle/middle.center.js
  32. 2
      src/core/wrapper/layout/middle/middle.float.center.js
  33. 2
      src/core/wrapper/layout/middle/middle.horizontal.js
  34. 2
      src/core/wrapper/layout/middle/middle.vertical.js
  35. 5
      src/less/base/single/text.less
  36. 38
      src/widget/multiselect/loader.js
  37. 2
      src/widget/textvaluedownlistcombo/combo.textvaluedownlist.js
  38. 2
      webpack/webpack.prod.js

2
package.json

@ -1,6 +1,6 @@
{
"name": "fineui",
"version": "2.0.20230314171452",
"version": "2.0.20230413101426",
"description": "fineui",
"main": "dist/fineui_without_conflict.min.js",
"types": "dist/lib/index.d.ts",

2
src/base/collection/collection.js

@ -300,7 +300,7 @@ BI.CollectionView = BI.inherit(BI.Widget, {
var o = this.options;
// 兼容一下
var scrollable = o.scrollable, scrolly = o.scrolly;
if (o.overflowX === false) {
if (o.overflowY === false) {
return false;
}
if (scrolly) {

8
src/base/combination/group.combo.js

@ -22,9 +22,11 @@ BI.ComboGroup = BI.inherit(BI.Widget, {
el: {
type: "bi.button_tree",
chooseType: 0,
layouts: [{
layouts: [
{
type: "bi.vertical",
}],
}
],
},
},
});
@ -38,7 +40,7 @@ BI.ComboGroup = BI.inherit(BI.Widget, {
var self = this, o = this.options;
var children = o.items;
if (BI.isEmpty(children)) {
throw new Error("ComboGroup构造错误");
throw new Error("ComboGroup create items error");
}
BI.each(children, function (i, ch) {
var son = BI.formatEL(ch).el.children;

38
src/base/combination/loader.js

@ -38,19 +38,23 @@ BI.Loader = BI.inherit(BI.Widget, {
_prevLoad: function () {
var self = this, o = this.options;
this.prev.setLoading();
o.itemsCreator.apply(this, [{ times: --this.times }, function () {
o.itemsCreator.apply(this, [
{ times: --this.times }, function () {
self.prev.setLoaded();
self.prependItems.apply(self, arguments);
}]);
}
]);
},
_nextLoad: function () {
var self = this, o = this.options;
this.next.setLoading();
o.itemsCreator.apply(this, [{ times: ++this.times }, function () {
o.itemsCreator.apply(this, [
{ times: ++this.times }, function () {
self.next.setLoaded();
self.addItems.apply(self, arguments);
}]);
}
]);
},
render: function () {
@ -75,9 +79,11 @@ BI.Loader = BI.inherit(BI.Widget, {
chooseType: 0,
items: o.items,
behaviors: {},
layouts: [{
layouts: [
{
type: "bi.vertical",
}],
}
],
value: o.value,
});
this.button_group.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) {
@ -123,10 +129,12 @@ BI.Loader = BI.inherit(BI.Widget, {
return this.count < o.count;
}
return !!o.hasPrev.apply(this, [{
return !!o.hasPrev.apply(this, [
{
times: this.times,
count: this.count,
}]);
}
]);
},
hasNext: function () {
@ -135,10 +143,12 @@ BI.Loader = BI.inherit(BI.Widget, {
return this.count < o.count;
}
return !!o.hasNext.apply(this, [{
return !!o.hasNext.apply(this, [
{
times: this.times,
count: this.count,
}]);
}
]);
},
prependItems: function (items) {
@ -170,13 +180,15 @@ BI.Loader = BI.inherit(BI.Widget, {
_populate: function (items) {
var self = this, o = this.options;
if (arguments.length === 0 && (BI.isFunction(o.itemsCreator))) {
o.itemsCreator.apply(this, [{ times: 1 }, function () {
o.itemsCreator.apply(this, [
{ times: 1 }, function () {
if (arguments.length === 0) {
throw new Error("参数不能为空");
throw new Error("Parameter cannot be empty");
}
self.populate.apply(self, arguments);
o.onLoaded();
}]);
}
]);
return false;
}

2
src/base/combination/searcher.js

@ -230,7 +230,7 @@ BI.Searcher = BI.inherit(BI.Widget, {
this.editor.blur();
} catch (e) {
if (!this.editor.blur) {
throw new Error("editor没有实现blur方法");
throw new Error("The editor does not implement the blur method ");
}
} finally {
this.editor.setValue("");

16
src/base/pager/pager.js

@ -10,11 +10,13 @@ BI.Pager = BI.inherit(BI.Widget, {
return BI.extend(BI.Pager.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-pager",
behaviors: {},
layouts: [{
layouts: [
{
type: "bi.horizontal",
hgap: 10,
vgap: 0,
}],
}
],
dynamicShow: true, // 是否动态显示上一页、下一页、首页、尾页, 若为false,则指对其设置使能状态
// dynamicShow为false时以下两个有用
@ -28,8 +30,8 @@ BI.Pager = BI.inherit(BI.Widget, {
jump: BI.emptyFn, // 分页的回调函数
first: false, // 是否显示首页
last: false, // 是否显示尾页
prev: "上一页",
next: "下一页",
prev: BI.i18nText("BI-Previous_Page"),
next: BI.i18nText("BI-Next_Page"),
firstPage: 1,
lastPage: function () { // 在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法
@ -217,10 +219,12 @@ BI.Pager = BI.inherit(BI.Widget, {
self.currPage = v;
break;
}
o.jump.apply(self, [{
o.jump.apply(self, [
{
pages: pages,
curr: self.currPage,
}]);
}
]);
self._populate();
self.fireEvent(BI.Pager.EVENT_CHANGE, obj);
}

6
src/base/single/input/input.js

@ -236,7 +236,7 @@ BI.Input = BI.inherit(BI.Single, {
focus: function () {
if (!this.element.is(":visible")) {
throw new Error("input输入框在不可见下不能focus");
throw new Error("input cannot be focus when it's invisible");
}
if (!this._isEditing === true) {
this.element.focus();
@ -246,7 +246,7 @@ BI.Input = BI.inherit(BI.Single, {
blur: function () {
if (!this.element.is(":visible")) {
throw new Error("input输入框在不可见下不能blur");
throw new Error("input cannot be blur when it's invisible");
}
if (this._isEditing === true) {
this.element.blur();
@ -256,7 +256,7 @@ BI.Input = BI.inherit(BI.Single, {
selectAll: function () {
if (!this.element.is(":visible")) {
throw new Error("input输入框在不可见下不能select");
throw new Error("input cannot be select when it's invisible");
}
this.element.select();
this._isEditing = true;

14
src/case/layer/pane.list.js

@ -60,9 +60,11 @@ BI.ListPane = BI.inherit(BI.Pane, {
});
},
hasNext: o.hasNext,
layouts: [{
layouts: [
{
type: "bi.vertical"
}]
}
]
});
this.button_group.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) {
@ -118,12 +120,14 @@ BI.ListPane = BI.inherit(BI.Pane, {
populate: function (items) {
var self = this, o = this.options;
if (arguments.length === 0 && (BI.isFunction(this.button_group.attr("itemsCreator")))) {// 接管loader的populate方法
this.button_group.attr("itemsCreator").apply(this, [{ times: 1 }, function () {
this.button_group.attr("itemsCreator").apply(this, [
{ times: 1 }, function () {
if (arguments.length === 0) {
throw new Error("参数不能为空");
throw new Error("Parameter cannot be empty");
}
self.populate.apply(self, arguments);
}]);
}
]);
return;
}

26
src/case/loader/loader.list.js

@ -31,10 +31,12 @@ BI.ListLoader = BI.inherit(BI.Widget, {
_nextLoad: function () {
var self = this, o = this.options;
this.next.setLoading();
o.itemsCreator.apply(this, [{times: ++this.times}, function () {
o.itemsCreator.apply(this, [
{ times: ++this.times }, function () {
self.next.setLoaded();
self.addItems.apply(self, arguments);
}]);
}
]);
},
_init: function () {
@ -50,9 +52,11 @@ BI.ListLoader = BI.inherit(BI.Widget, {
chooseType: 0,
items: o.items,
behaviors: {},
layouts: [{
layouts: [
{
type: "bi.vertical"
}]
}
]
});
this.button_group.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) {
self.fireEvent(BI.Controller.EVENT_CHANGE, arguments);
@ -91,10 +95,12 @@ BI.ListLoader = BI.inherit(BI.Widget, {
if (BI.isNumber(o.count)) {
return this.count < o.count;
}
return !!o.hasNext.apply(this, [{
return !!o.hasNext.apply(this, [
{
times: this.times,
count: this.count
}]);
}
]);
},
addItems: function (items) {
@ -114,13 +120,15 @@ BI.ListLoader = BI.inherit(BI.Widget, {
populate: function (items) {
var self = this, o = this.options;
if (arguments.length === 0 && (BI.isFunction(o.itemsCreator))) {
o.itemsCreator.apply(this, [{times: 1}, function () {
o.itemsCreator.apply(this, [
{ times: 1 }, function () {
if (arguments.length === 0) {
throw new Error("参数不能为空");
throw new Error("Parameter cannot be empty");
}
self.populate.apply(self, arguments);
o.onLoaded();
}]);
}
]);
return;
}
this.options.items = items;

2
src/case/trigger/trigger.editor.js

@ -9,7 +9,7 @@ BI.EditorTrigger = BI.inherit(BI.Trigger, {
_defaultConfig: function (config) {
var conf = BI.EditorTrigger.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-editor-trigger bi-border-radius " + (config.simple ? "bi-border-bottom" : "bi-border"),
baseCls: (conf.baseCls || "") + " bi-editor-trigger " + (config.simple ? "bi-border-bottom" : "bi-border bi-border-radius"),
height: 24,
validationChecker: BI.emptyFn,
quitChecker: BI.emptyFn,

1
src/component/allvaluechooser/combo.allvaluechooser.js

@ -34,6 +34,7 @@ BI.AllValueChooserCombo = BI.inherit(BI.AbstractAllValueChooser, {
valueFormatter: BI.bind(this._valueFormatter, this),
width: o.width,
height: o.height,
defaultText: o.defaultText,
value: this._assertValue({
type: BI.Selection.Multi,
value: o.value || []

20
src/core/2.base.js

@ -61,7 +61,7 @@
createWidgets: function (items, options, context) {
if (!BI.isArray(items)) {
throw new Error("items必须是数组", items);
throw new Error("items must be array", items);
}
if (BI.isWidget(options)) {
context = options;
@ -149,8 +149,10 @@
BI._.each(["where", "findWhere", "invoke", "pluck", "shuffle", "sample", "toArray", "size"], function (name) {
BI[name] = _apply(name);
});
BI._.each(["get", "set", "each", "map", "reduce", "reduceRight", "find", "filter", "reject", "every", "all", "some", "any", "max", "min",
"sortBy", "groupBy", "indexBy", "countBy", "partition", "clamp"], function (name) {
BI._.each([
"get", "set", "each", "map", "reduce", "reduceRight", "find", "filter", "reject", "every", "all", "some", "any", "max", "min",
"sortBy", "groupBy", "indexBy", "countBy", "partition", "clamp"
], function (name) {
if (name === "any") {
BI[name] = _applyFunc("some");
} else {
@ -347,8 +349,10 @@
});
// 数组相关的方法
BI._.each(["first", "initial", "last", "rest", "compact", "flatten", "without", "union", "intersection",
"difference", "zip", "unzip", "object", "indexOf", "lastIndexOf", "sortedIndex", "range", "take", "takeRight", "uniqBy"], function (name) {
BI._.each([
"first", "initial", "last", "rest", "compact", "flatten", "without", "union", "intersection",
"difference", "zip", "unzip", "object", "indexOf", "lastIndexOf", "sortedIndex", "range", "take", "takeRight", "uniqBy"
], function (name) {
BI[name] = _apply(name);
});
BI._.each(["findIndex", "findLastIndex"], function (name) {
@ -412,10 +416,12 @@
});
// 对象相关方法
BI._.each(["keys", "allKeys", "values", "pairs", "invert", "create", "functions", "extend", "extendOwn",
BI._.each([
"keys", "allKeys", "values", "pairs", "invert", "create", "functions", "extend", "extendOwn",
"defaults", "clone", "property", "propertyOf", "matcher", "isEqual", "isMatch", "isEmpty",
"isElement", "isNumber", "isString", "isArray", "isObject", "isPlainObject", "isArguments", "isFunction", "isFinite",
"isBoolean", "isDate", "isRegExp", "isError", "isNaN", "isUndefined", "zipObject", "cloneDeep"], function (name) {
"isBoolean", "isDate", "isRegExp", "isError", "isNaN", "isUndefined", "zipObject", "cloneDeep"
], function (name) {
BI[name] = _apply(name);
});
BI._.each(["mapObject", "findKey", "pick", "omit", "tap"], function (name) {

6
src/core/4.widget.js

@ -129,7 +129,7 @@
function init() {
// 加个保险
if (initCallbackCalled === true) {
_global.console && console.error("组件: 请检查beforeInit内部的写法,callback只能执行一次");
_global.console && console.error("widget:please check the beforeInit method. The callback can only be executed once");
return;
}
initCallbackCalled = true;
@ -137,7 +137,7 @@
function render() {
// 加个保险
if (renderCallbackCalled === true) {
_global.console && console.error("组件: 请检查beforeRender内部的写法,callback只能执行一次");
_global.console && console.error("widget:please check the beforeRender method. The callback can only be executed once");
return;
}
renderCallbackCalled = true;
@ -607,7 +607,7 @@
}
name = name || widget.getName() || BI.uniqueId("widget");
if (this._children[name]) {
throw new Error("组件:组件名已存在,不能进行添加");
throw new Error("widget:widget name already exists, cannot be added ");
}
widget._setParent && widget._setParent(this);
widget.on(BI.Events.DESTROY, function () {

40
src/core/5.inject.js

@ -9,7 +9,7 @@
};
BI.module = BI.module || function (xtype, cls) {
if (moduleInjection[xtype] != null) {
_global.console && console.error("module: [" + xtype + "] 已经注册过了");
_global.console && console.error("module: [" + xtype + "] already registered");
} else {
if (BI.isFunction(cls)) {
cls = cls();
@ -41,7 +41,7 @@
var constantInjection = {};
BI.constant = BI.constant || function (xtype, cls) {
if (constantInjection[xtype] != null) {
_global.console && console.error("constant: [" + xtype + "]已经注册过了");
_global.console && console.error("constant: [" + xtype + "]already registered");
} else {
constantInjection[xtype] = cls;
}
@ -54,7 +54,7 @@
var modelInjection = {};
BI.model = BI.model || function (xtype, cls) {
if (modelInjection[xtype] != null) {
_global.console && console.error("model: [" + xtype + "] 已经注册过了");
_global.console && console.error("model: [" + xtype + "] already registered");
} else {
modelInjection[xtype] = cls;
}
@ -67,7 +67,7 @@
var storeInjection = {};
BI.store = BI.store || function (xtype, cls) {
if (storeInjection[xtype] != null) {
_global.console && console.error("store: [" + xtype + "] 已经注册过了");
_global.console && console.error("store: [" + xtype + "] already registered");
} else {
storeInjection[xtype] = cls;
}
@ -80,7 +80,7 @@
var serviceInjection = {};
BI.service = BI.service || function (xtype, cls) {
if (serviceInjection[xtype] != null) {
_global.console && console.error("service: [" + xtype + "] 已经注册过了");
_global.console && console.error("service: [" + xtype + "] already registered");
}
serviceInjection[xtype] = cls;
@ -93,7 +93,7 @@
var providerInjection = {};
BI.provider = BI.provider || function (xtype, cls) {
if (providerInjection[xtype] != null) {
_global.console && console.error("provider: [" + xtype + "] 已经注册过了");
_global.console && console.error("provider: [" + xtype + "] already registered");
} else {
providerInjection[xtype] = cls;
}
@ -151,7 +151,7 @@
}
}
if (findVersion === true) {
_global.console && console.error("moduleId: [" + module.moduleId + "] 接口: [" + type + "] 接口版本: [" + version + "] 已过期,版本要求为:", dependencies[module.moduleId], "=>", moduleInjection[module.moduleId]);
_global.console && console.error("moduleId: [" + module.moduleId + "] interface : [" + type + "] version: [" + version + "] has expired,The version requirement is:", dependencies[module.moduleId], "=>", moduleInjection[module.moduleId]);
continue;
}
}
@ -251,7 +251,7 @@
BI.Modules = BI.Modules || {
getModule: function (type) {
if (!moduleInjection[type]) {
_global.console && console.error("module: [" + type + "] 未定义");
_global.console && console.error("module: [" + type + "] undefined");
}
return moduleInjection[type];
},
@ -263,7 +263,7 @@
BI.Constants = BI.Constants || {
getConstant: function (type) {
if (BI.isNull(constantInjection[type])) {
_global.console && console.error("constant: [" + type + "] 未定义");
_global.console && console.error("constant: [" + type + "] undefined");
}
runConfigFunction(type);
return BI.isFunction(constantInjection[type]) ? constantInjection[type]() : constantInjection[type];
@ -311,7 +311,7 @@
BI.Models = BI.Models || {
getModel: function (type, config) {
if (!modelInjection[type]) {
_global.console && console.error("model: [" + type + "] 未定义");
_global.console && console.error("model: [" + type + "] undefined");
}
runConfigFunction(type);
var inst = new modelInjection[type](config);
@ -327,7 +327,7 @@
BI.Stores = BI.Stores || {
getStore: function (type, config) {
if (!storeInjection[type]) {
_global.console && console.error("store: [" + type + "] 未定义");
_global.console && console.error("store: [" + type + "] undefined");
}
if (stores[type]) {
return stores[type];
@ -346,7 +346,7 @@
BI.Services = BI.Services || {
getService: function (type, config) {
if (!serviceInjection[type]) {
_global.console && console.error("service: [" + type + "] 未定义");
_global.console && console.error("service: [" + type + "] undefined");
}
if (services[type]) {
return services[type];
@ -363,7 +363,7 @@
BI.Providers = BI.Providers || {
getProvider: function (type, config) {
if (!providerInjection[type]) {
_global.console && console.error("provider: [" + type + "] 未定义");
_global.console && console.error("provider: [" + type + "] undefined");
}
runConfigFunction(type);
if (!providers[type]) {
@ -401,7 +401,7 @@
var kv = {};
BI.shortcut = BI.component = BI.shortcut || function (xtype, cls) {
if (kv[xtype] != null) {
_global.console && console.error("组件: [" + xtype + "] 已经注册过了");
_global.console && console.error("widget: [" + xtype + "] already registered");
}
if (cls) {
cls["xtype"] = xtype;
@ -414,7 +414,7 @@
var cls = BI.isFunction(config.type) ? config.type : kv[config.type];
if (!cls) {
throw new Error("组件: [" + config.type + "] 未定义");
throw new Error("widget: [" + config.type + "] undefined");
}
var pushed = false;
var widget = new cls();
@ -472,12 +472,14 @@
if (wType === elType) {
if (BI.Plugin.hasObject(elType)) {
if (!w.listeners || BI.isArray(w.listeners)) {
w.listeners = (w.listeners || []).concat([{
w.listeners = (w.listeners || []).concat([
{
eventName: BI.Events.MOUNT,
action: function () {
BI.Plugin.getObject(elType, this);
}
}]);
}
]);
} else {
w.listeners[BI.Events.MOUNT] = [
function () {
@ -493,7 +495,7 @@
if (BI.isWidget(item.el)) {
return item.el;
}
throw new Error("组件:无法根据item创建组件", item);
throw new Error("widget: Unable to create widget from item ", item);
};
BI._lazyCreateWidget = BI._lazyCreateWidget || function (item, options, context) {
@ -521,6 +523,6 @@
if (providerInjection[type]) {
return BI.Providers.getProvider(type, config);
}
throw new Error("未知类型: [" + type + "] 未定义");
throw new Error("unknown type: [" + type + "] undefined");
};
})();

4
src/core/6.plugin.js

@ -73,7 +73,7 @@ BI.Plugin = BI.Plugin || {};
_WidgetsPlugin[type] = [];
}
if (_WidgetsPlugin[type].length > 0) {
console.log("组件已经注册过了!");
console.log("widget already registered!");
}
_WidgetsPlugin[type].push(fn);
},
@ -111,7 +111,7 @@ BI.Plugin = BI.Plugin || {};
_ObjectPlugin[type] = [];
}
if (_ObjectPlugin[type].length > 0) {
console.log("对象已经注册过了!");
console.log("object already registered!");
}
_ObjectPlugin[type].push(fn);
},

2
src/core/controller/controller.layer.js

@ -141,7 +141,7 @@ BI.LayerController = BI.inherit(BI.Controller, {
add: function (name, layer, layout) {
if (this.has(name)) {
throw new Error("不能创建同名的Layer");
throw new Error("can not create Layers with the same name");
}
layout.setVisible(false);
this.layerManager[name] = layer;

2
src/core/listener/listener.show.js

@ -27,7 +27,7 @@ BI.ShowListener = BI.inherit(BI.OB, {
v = v || o.eventObj.getValue();
v = BI.isArray(v) ? (v.length > 1 ? v.toString() : v[0]) : v;
if (BI.isNull(v)) {
throw new Error("不能为null");
throw new Error("canot be null");
}
var cardName = o.cardNameCreator(v);
if (!o.cardLayout.isCardExisted(cardName)) {

7
src/core/platform/web/dom.js

@ -23,7 +23,7 @@
});
var fromChildren = fromElement.children(), toChildren = toElement.children();
if (fromChildren.length !== toChildren.length) {
throw new Error("不匹配");
throw new Error("don't match");
}
BI.each(fromChildren, function (i, child) {
BI.DOM.patchProps(BI.jQuery(child), BI.jQuery(toChildren[i]));
@ -108,12 +108,13 @@
},
// 获取滚动条的宽度,页面display: none时候获取到的为0
getScrollWidth: function () {
getScrollWidth: function (css) {
if (BI.isNull(this._scrollWidth) || this._scrollWidth === 0) {
var ul = BI.Widget._renderEngine.createElement("<div>").width(50).height(50).css({
position: "absolute",
top: "-9999px",
overflow: "scroll"
overflow: "scroll",
...css
}).appendTo("body");
this._scrollWidth = ul[0].offsetWidth - ul[0].clientWidth;
ul.destroy();

15
src/core/structure/tree.js

@ -30,23 +30,26 @@
initTree: function (nodes) {
var self = this;
this.clear();
var queue = [];
var queue = new Set();
BI.each(nodes, function (i, node) {
var n = new BI.Node(node);
n.set("data", node);
self.addNode(n);
queue.push(n);
queue.add(n);
});
while (!BI.isEmpty(queue)) {
var parent = queue.shift();
queue.forEach(parent => {
queue.delete(parent);
var node = parent.get("data");
BI.each(node.children, function (i, child) {
var n = new BI.Node(child);
n.set("data", child);
queue.push(n);
queue.add(n);
self.addNode(parent, n);
});
}
});
},
_toJSON: function (node) {

4
src/core/wrapper/layout/adapt/absolute.leftrightvertical.js

@ -98,7 +98,7 @@ BI.AbsoluteLeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
addItem: function () {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {
@ -149,7 +149,7 @@ BI.AbsoluteRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
addItem: function () {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {

18
src/core/wrapper/layout/adapt/adapt.leftrightvertical.js

@ -36,7 +36,8 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
type: "bi.left",
lgap: o.innerHgap,
vgap: o.innerVgap,
items: [{
items: [
{
el: {
type: "bi.vertical_adapt",
ref: function (_ref) {
@ -51,7 +52,8 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
bgap: o.lbgap,
vgap: o.lvgap
}
}]
}
]
});
}
if (leftRight.right || "right" in o.items) {
@ -59,7 +61,8 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
type: "bi.right",
rgap: o.innerHgap,
vgap: o.innerVgap,
items: [{
items: [
{
el: {
type: "bi.vertical_adapt",
ref: function (_ref) {
@ -74,7 +77,8 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
bgap: o.rbgap,
vgap: o.rvgap
}
}]
}
]
});
}
return layoutArray;
@ -106,7 +110,7 @@ BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
addItem: function () {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {
@ -162,7 +166,7 @@ BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, {
addItem: function () {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {
@ -216,7 +220,7 @@ BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, {
addItem: function () {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {

2
src/core/wrapper/layout/fill/float.fill.horizontal.js

@ -25,7 +25,7 @@ BI.FloatHorizontalFillLayout = BI.inherit(BI.Layout, {
addItem: function (item) {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
stroke: function (items) {

2
src/core/wrapper/layout/flex/flex.leftrightvertical.center.js

@ -94,7 +94,7 @@ BI.FlexLeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
addItem: function () {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {

4
src/core/wrapper/layout/float/float.absolute.leftrightvertical.js

@ -115,7 +115,7 @@ BI.FloatAbsoluteLeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
addItem: function () {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {
@ -179,7 +179,7 @@ BI.FloatAbsoluteRightVerticalAdaptLayout = BI.inherit(BI.Layout, {
addItem: function () {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {

2
src/core/wrapper/layout/layout.border.js

@ -22,7 +22,7 @@ BI.BorderLayout = BI.inherit(BI.Layout, {
addItem: function (item) {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
stroke: function (regions) {

6
src/core/wrapper/layout/layout.card.js

@ -81,7 +81,7 @@ BI.CardLayout = BI.inherit(BI.Layout, {
getCardByName: function (cardName) {
if (!this.isCardExisted(cardName)) {
throw new Error("cardName不存在", cardName);
throw new Error("cardName not exist", cardName);
}
return this._children[this._getChildName(cardName)];
},
@ -98,7 +98,7 @@ BI.CardLayout = BI.inherit(BI.Layout, {
deleteCardByName: function (cardName) {
if (!this.isCardExisted(cardName)) {
throw new Error("cardName不存在", cardName);
throw new Error("cardName not exist", cardName);
}
var child = this._children[this._getChildName(cardName)];
@ -108,7 +108,7 @@ BI.CardLayout = BI.inherit(BI.Layout, {
addCardByName: function (cardName, cardItem) {
if (this.isCardExisted(cardName)) {
throw new Error("cardName 已存在", cardName);
throw new Error("cardName already exist", cardName);
}
var widget = BI._lazyCreateWidget(cardItem, this);
widget.element.css({

4
src/core/wrapper/layout/layout.division.js

@ -24,7 +24,7 @@ BI.DivisionLayout = BI.inherit(BI.Layout, {
addItem: function (item) {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
stroke: function (items) {
@ -77,7 +77,7 @@ BI.DivisionLayout = BI.inherit(BI.Layout, {
var totalW = 0;
for (var j = 0; j < columns; j++) {
if (!map[i][j]) {
throw new Error("item(" + i + "" + j + ") 必须", map);
throw new Error("item(" + i + "" + j + ") must exist", map);
}
if (!this.hasWidget(this._getChildName(i + "_" + j))) {
var w = BI._lazyCreateWidget(map[i][j]);

2
src/core/wrapper/layout/layout.grid.js

@ -24,7 +24,7 @@ BI.GridLayout = BI.inherit(BI.Layout, {
addItem: function () {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
stroke: function (items) {

4
src/core/wrapper/layout/layout.tape.js

@ -29,7 +29,7 @@ BI.HTapeLayout = BI.inherit(BI.Layout, {
addItem: function (item) {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
stroke: function (items) {
@ -154,7 +154,7 @@ BI.VTapeLayout = BI.inherit(BI.Layout, {
addItem: function (item) {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
stroke: function (items) {

4
src/core/wrapper/layout/layout.window.js

@ -31,7 +31,7 @@ BI.WindowLayout = BI.inherit(BI.Layout, {
addItem: function (item) {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
stroke: function (items) {
@ -70,7 +70,7 @@ BI.WindowLayout = BI.inherit(BI.Layout, {
for (var i = 0; i < o.rows; i++) {
for (var j = 0; j < o.columns; j++) {
if (!o.items[i][j]) {
throw new Error("构造错误", o.items);
throw new Error("create items error", o.items);
}
if (!this.hasWidget(this._getChildName(i + "_" + j))) {
var w = BI._lazyCreateWidget(o.items[i][j]);

2
src/core/wrapper/layout/middle/middle.center.js

@ -62,7 +62,7 @@ BI.CenterLayout = BI.inherit(BI.Layout, {
addItem: function (item) {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {

2
src/core/wrapper/layout/middle/middle.float.center.js

@ -61,7 +61,7 @@ BI.FloatCenterLayout = BI.inherit(BI.Layout, {
addItem: function (item) {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {

2
src/core/wrapper/layout/middle/middle.horizontal.js

@ -60,7 +60,7 @@ BI.HorizontalCenterLayout = BI.inherit(BI.Layout, {
addItem: function (item) {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {

2
src/core/wrapper/layout/middle/middle.vertical.js

@ -61,7 +61,7 @@ BI.VerticalCenterLayout = BI.inherit(BI.Layout, {
addItem: function (item) {
// do nothing
throw new Error("不能添加子组件");
throw new Error("Cannot add subwidget");
},
populate: function (items) {

5
src/less/base/single/text.less

@ -3,5 +3,8 @@
.bi-text {
.overflow-hidden();
.box-sizing(border-box);
word-break: break-all;
// https://developer.mozilla.org/en-US/docs/Web/CSS/word-break 参考mdn最标准的规范. 不再接受任何质疑
word-break: normal;
overflow-wrap: anywhere;
}

38
src/widget/multiselect/loader.js

@ -26,9 +26,11 @@ BI.MultiSelectInnerLoader = BI.inherit(BI.Widget, {
return true;
}
},
layouts: [{
layouts: [
{
type: "bi.vertical"
}]
}
]
},
items: [],
@ -53,10 +55,12 @@ BI.MultiSelectInnerLoader = BI.inherit(BI.Widget, {
this.cachItems = this.cachItems.slice(100);
return;
}
o.itemsCreator.apply(this, [{times: ++this.times}, function () {
o.itemsCreator.apply(this, [
{ times: ++this.times }, function () {
self.next.setLoaded();
self.addItems.apply(self, arguments);
}]);
}
]);
},
render: function () {
@ -69,9 +73,11 @@ BI.MultiSelectInnerLoader = BI.inherit(BI.Widget, {
chooseType: 0,
items: o.items,
behaviors: {},
layouts: [{
layouts: [
{
type: "bi.vertical"
}],
}
],
value: o.value
});
this.button_group.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) {
@ -95,9 +101,11 @@ BI.MultiSelectInnerLoader = BI.inherit(BI.Widget, {
chooseType: 0,
items: o.items,
behaviors: {},
layouts: [{
layouts: [
{
type: "bi.vertical"
}],
}
],
value: o.value
});
BI.Widget.registerRenderEngine(renderEngine);
@ -132,10 +140,12 @@ BI.MultiSelectInnerLoader = BI.inherit(BI.Widget, {
if (this.cachItems && this.cachItems.length > 0) {
return true;
}
return !!o.hasNext.apply(this, [{
return !!o.hasNext.apply(this, [
{
times: this.times,
count: this.count
}]);
}
]);
},
addItems: function (items) {
@ -158,13 +168,15 @@ BI.MultiSelectInnerLoader = BI.inherit(BI.Widget, {
_populate: function (items) {
var self = this, o = this.options;
if (arguments.length === 0 && (BI.isFunction(o.itemsCreator))) {
o.itemsCreator.apply(this, [{times: 1}, function (items, keyword) {
o.itemsCreator.apply(this, [
{ times: 1 }, function (items, keyword) {
if (arguments.length === 0) {
throw new Error("参数不能为空");
throw new Error("Parameter cannot be empty");
}
self.populate.apply(self, arguments);
o.onLoaded();
}]);
}
]);
return false;
}
this.options.items = (items || []).slice(0, 100 + (items || []).length % 100);

2
src/widget/textvaluedownlistcombo/combo.textvaluedownlist.js

@ -5,7 +5,7 @@
BI.TextValueDownListCombo = BI.inherit(BI.Widget, {
_defaultConfig: function (config) {
return BI.extend(BI.TextValueDownListCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-text-value-down-list-combo bi-border-radius " + (config.simple ? "bi-border-bottom" : "bi-border"),
baseCls: "bi-text-value-down-list-combo " + (config.simple ? "bi-border-bottom" : "bi-border bi-border-radius"),
height: 24,
});
},

2
webpack/webpack.prod.js

@ -72,7 +72,7 @@ module.exports = merge.smart(common, {
}
}),
new webpack.BannerPlugin({
banner: `time: ${new Date().toLocaleString()}; branch: ${git(
banner: `time: ${new Date().toLocaleString("en-US")}; branch: ${git(
'name-rev --name-only HEAD'
)} commit: ${git(
'rev-parse HEAD'

Loading…
Cancel
Save