Browse Source

Merge branch 'master' of ssh://code.fineres.com:7999/~teller/fineui

es6
iapyang 3 years ago
parent
commit
8bb1876aca
  1. 1
      changelog.md
  2. 26
      dist/fix/fix.compact.js
  3. 127
      dist/fix/fix.js
  4. 932
      dist/fix/fix.proxy.js
  5. 72
      dist/fix/worker.compact.js
  6. BIN
      dist/font/iconfont.eot
  7. 16
      dist/font/iconfont.svg
  8. BIN
      dist/font/iconfont.ttf
  9. BIN
      dist/font/iconfont.woff
  10. BIN
      dist/font/iconfont.woff2
  11. BIN
      dist/images/1x/background/marker.png
  12. BIN
      dist/images/1x/background/mask.png
  13. BIN
      dist/images/1x/background/wheel.png
  14. BIN
      dist/images/2x/background/marker.png
  15. BIN
      dist/images/2x/background/mask.png
  16. BIN
      dist/images/2x/background/wheel.png
  17. 4
      examples/demo.worker.js
  18. 1
      examples/worker.html
  19. 2
      package.json
  20. 4
      src/base/single/button/listitem/icontexticonitem.js
  21. 4
      src/core/4.widget.js
  22. 99
      src/core/5.inject.js
  23. 98
      src/core/5.shortcut.js
  24. 0
      src/core/plugin.js
  25. 0
      src/core/popper.js
  26. 9
      src/core/system.js
  27. 6
      src/core/worker.js
  28. 15
      src/less/base/colorchooser/farbtastic/farbtastic.less
  29. 8
      src/less/base/foundation/bi.message.less
  30. 23
      src/less/base/tree/ztree.less
  31. 23
      src/less/core/normalize2.less
  32. 4
      src/less/lib/background.less
  33. 32
      src/less/resource/background.less
  34. 30
      src/less/visual.less
  35. 6
      typescript/case/button/icon/iconhalf/icon.half.image.ts
  36. 6
      typescript/case/button/icon/iconhalf/icon.half.ts
  37. 2
      webpack/attachments.js

1
changelog.md

@ -1,5 +1,6 @@
# 更新日志 # 更新日志
2.0(2021-12) 2.0(2021-12)
- BI.point支持widget添加埋点
- childContext废弃,替换成provide - childContext废弃,替换成provide
- 支持BI.useContext获取上下文环境 - 支持BI.useContext获取上下文环境
- BI.Msg.alert支持message传json格式 - BI.Msg.alert支持message传json格式

26
dist/fix/fix.compact.js vendored

@ -99,23 +99,13 @@
} }
} }
// _.each(["populate", "addItems", "prependItems"], function (name) {
// var old = BI.Loader.prototype[name];
// BI.Loader.prototype[name] = function () {
// BI.Widget.pushContext(this);
// try {
// var result = old.apply(this, arguments);
// } catch (e) {
// console.error(e);
// }
// BI.Widget.popContext();
// return result;
// };
// });
function createStore () { function createStore () {
var needPop = false; var needPop = false;
if (_global.Fix && this._store) { var workerMode = BI.Providers.getProvider("bi.provider.system").getWorkerMode();
if (workerMode && this._worker) {
return;
}
if (this._store) {
var store = findStore(this.options.context || this._parent || this.options.element || this._context); var store = findStore(this.options.context || this._parent || this.options.element || this._context);
if (store) { if (store) {
pushTarget(store); pushTarget(store);
@ -151,7 +141,11 @@
var __initWatch = BI.Widget.prototype.__initWatch; var __initWatch = BI.Widget.prototype.__initWatch;
BI.Widget.prototype.__initWatch = function () { BI.Widget.prototype.__initWatch = function () {
__initWatch.apply(this, arguments); __initWatch.apply(this, arguments);
if (_global.Fix && this._store) { var workerMode = BI.Providers.getProvider("bi.provider.system").getWorkerMode();
if (workerMode && this._worker) {
return;
}
if (this._store) {
initWatch(this, this.watch); initWatch(this, this.watch);
} }
}; };

127
dist/fix/fix.js vendored

@ -90,12 +90,13 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
} }
} }
var bailRE = /[^\w.$]/; // const bailRE = /[^\w.$]/
function parsePath(path) { function parsePath(path) {
if (bailRE.test(path)) { // 正常表达式比较慢,能不要的就不要了
return; // if (bailRE.test(path)) {
} // return
// }
var segments = path.split('.'); var segments = path.split('.');
return function (obj) { return function (obj) {
for (var i = 0; i < segments.length; i++) { for (var i = 0; i < segments.length; i++) {
@ -975,7 +976,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
options = options || {}; options = options || {};
options.user = true; options.user = true;
var exps = void 0; var exps = void 0;
if (_.isFunction(expOrFn) || !(exps = expOrFn.match(/[a-zA-Z0-9_.*]+|[|][|]|[&][&]|[(]|[)]/g)) || exps.length === 1 && !/\*/.test(expOrFn)) { if (_.isFunction(expOrFn) || !(exps = expOrFn.match(/[a-zA-Z0-9_.*]+|[|][|]|[&][&]|[(]|[)]/g)) || exps.length === 1 && expOrFn.indexOf("*") < 0) {
var watcher = new Watcher(model, expOrFn, cb, options); var watcher = new Watcher(model, expOrFn, cb, options);
if (options.immediate) { if (options.immediate) {
cb(watcher.value); cb(watcher.value);
@ -1016,9 +1017,10 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
if (_.has(operators, exp)) { if (_.has(operators, exp)) {
return; return;
} }
if (exp.indexOf("*") >= 0) {
//a.**或a.*形式 //a.**或a.*形式
if (/^[1-9a-zA-Z.]+(\*\*$|\*$)/.test(exp) || exp === "**") { if (/^[1-9a-zA-Z.]+(\*\*$|\*$)/.test(exp) || exp === "**" || exp === "*") {
var isGlobal = /\*\*$/.test(exp); var isGlobal = exp.indexOf("**") >= 0;
if (isGlobal) { if (isGlobal) {
//a.**的形式 //a.**的形式
exp = exp.replace(".**", ""); exp = exp.replace(".**", "");
@ -1026,115 +1028,114 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
//a.*的形式 //a.*的形式
exp = exp.replace(".*", ""); exp = exp.replace(".*", "");
} }
var getter = exp === "**" ? function (m) { var getter = exp === "**" || exp === "*" ? function (m) {
return m; return m;
} : parsePath(exp); } : parsePath(exp);
var v = getter.call(model, model); var v = getter.call(model, model);
var dep = new Dep(); var _dep = new Dep();
if (isGlobal) { if (isGlobal) {
(v.__ob__._scopeDeps || (v.__ob__._scopeDeps = [])).push(dep); (v.__ob__._scopeDeps || (v.__ob__._scopeDeps = [])).push(_dep);
} else { } else {
(v.__ob__._deps || (v.__ob__._deps = [])).push(dep); (v.__ob__._deps || (v.__ob__._deps = [])).push(_dep);
} }
var w = new Watcher(model, function () { var _w = new Watcher(model, function () {
dep.depend(); _dep.depend();
return NaN; return NaN;
}, function (newValue, oldValue, attrs) { }, function (newValue, oldValue, attrs) {
callback(i, newValue, oldValue, _.extend({ index: i }, attrs)); callback(i, newValue, oldValue, _.extend({ index: i }, attrs));
}, options); }, options);
watchers.push(function unwatchFn() { watchers.push(function unwatchFn() {
w.teardown(); _w.teardown();
v.__ob__._scopeDeps && remove(v.__ob__._scopeDeps, dep); v.__ob__._scopeDeps && remove(v.__ob__._scopeDeps, _dep);
v.__ob__._deps && remove(v.__ob__._deps, dep); v.__ob__._deps && remove(v.__ob__._deps, _dep);
}); });
return; return;
} }
// **.a.**的情况,场景:a.b.c, 如果用b.**监听, a被重新赋值b上的_scopeDes就不存在了 // **.a.**的情况,场景:a.b.c, 如果用b.**监听, a被重新赋值b上的_scopeDes就不存在了
if (/^(\*\*\.)+[1-9a-zA-Z]+(\.\*\*$)/.test(exp)) { if (/^(\*\*\.)+[1-9a-zA-Z]+(\.\*\*$)/.test(exp)) {
//先获取到能获取到的对象 //先获取到能获取到的对象
var paths = exp.split("."); var _paths = exp.split(".");
var currentModel = model[paths[1]]; var _currentModel = model[_paths[1]];
exp = paths[1] + ".**"; exp = _paths[1] + ".**";
//补全路径 //补全路径
var parent = currentModel.__ob__.parent, var _parent = _currentModel.__ob__.parent,
root = currentModel.__ob__; _root = _currentModel.__ob__;
while (parent) { while (_parent) {
exp = '*.' + exp; exp = '*.' + exp;
root = parent; _root = _parent;
parent = parent.parent; _parent = _parent.parent;
} }
var regStr = routeToRegExp(exp); var _regStr = routeToRegExp(exp);
var _dep = new Dep(); var _dep2 = new Dep();
root._globalDeps || (root._globalDeps = {}); _root._globalDeps || (_root._globalDeps = {});
if (_.isArray(root._globalDeps[regStr])) { if (_.isArray(_root._globalDeps[_regStr])) {
root._globalDeps[regStr].push(_dep); _root._globalDeps[_regStr].push(_dep2);
} else { } else {
root._globalDeps[regStr] = [_dep]; _root._globalDeps[_regStr] = [_dep2];
} }
var _w = new Watcher(currentModel, function () { var _w2 = new Watcher(_currentModel, function () {
_dep.depend(); _dep2.depend();
return NaN; return NaN;
}, function (newValue, oldValue, attrs) { }, function (newValue, oldValue, attrs) {
callback(i, newValue, oldValue, _.extend({ index: i }, attrs)); callback(i, newValue, oldValue, _.extend({ index: i }, attrs));
}, options); }, options);
watchers.push(function unwatchFn() { watchers.push(function unwatchFn() {
if (root._globalDeps) { if (_root._globalDeps) {
remove(root._globalDeps[regStr], _dep); remove(_root._globalDeps[_regStr], _dep2);
if (root._globalDeps[regStr].length === 0) { if (_root._globalDeps[_regStr].length === 0) {
delete root._globalDeps[regStr]; delete _root._globalDeps[_regStr];
_w.teardown(); _w2.teardown();
} }
} }
}); });
return; return;
} }
if (/\*\*$|\*$/.test(exp)) { // 再有结尾有*的就不支持了
if (exp[exp.length - 1] === "*") {
throw new Error('not support'); throw new Error('not support');
} }
//其他含有*的情况,如*.a,*.*.a,a.*.a //其他含有*的情况,如*.a,*.*.a,a.*.a
if (/\*/.test(exp)) { var currentModel = model;
var _currentModel = model;
//先获取到能获取到的对象 //先获取到能获取到的对象
var _paths = exp.split("."); var paths = exp.split(".");
for (var _i = 0, len = _paths.length; _i < len; _i++) { for (var _i = 0, len = paths.length; _i < len; _i++) {
if (_paths[_i] === "*") { if (paths[_i] === "*") {
break; break;
} }
_currentModel = model[_paths[_i]]; currentModel = model[paths[_i]];
} }
exp = exp.substr(exp.indexOf("*")); exp = exp.substr(exp.indexOf("*"));
//补全路径 //补全路径
var _parent = _currentModel.__ob__.parent, var parent = currentModel.__ob__.parent,
_root = _currentModel.__ob__; root = currentModel.__ob__;
while (_parent) { while (parent) {
exp = '*.' + exp; exp = '*.' + exp;
_root = _parent; root = parent;
_parent = _parent.parent; parent = parent.parent;
} }
var _regStr = routeToRegExp(exp); var regStr = routeToRegExp(exp);
var _dep2 = new Dep(); var dep = new Dep();
_root._globalDeps || (_root._globalDeps = {}); root._globalDeps || (root._globalDeps = {});
if (_.isArray(_root._globalDeps[_regStr])) { if (_.isArray(root._globalDeps[regStr])) {
_root._globalDeps[_regStr].push(_dep2); root._globalDeps[regStr].push(dep);
} else { } else {
_root._globalDeps[_regStr] = [_dep2]; root._globalDeps[regStr] = [dep];
} }
var _w2 = new Watcher(_currentModel, function () { var w = new Watcher(currentModel, function () {
_dep2.depend(); dep.depend();
return NaN; return NaN;
}, function (newValue, oldValue, attrs) { }, function (newValue, oldValue, attrs) {
callback(i, newValue, oldValue, _.extend({ index: i }, attrs)); callback(i, newValue, oldValue, _.extend({ index: i }, attrs));
}, options); }, options);
watchers.push(function unwatchFn() { watchers.push(function unwatchFn() {
if (_root._globalDeps) { if (root._globalDeps) {
remove(_root._globalDeps[_regStr], _dep2); remove(root._globalDeps[regStr], dep);
if (root._globalDeps[regStr].length === 0) {
if (_root._globalDeps[_regStr].length === 0) { delete root._globalDeps[regStr];
delete _root._globalDeps[_regStr]; w.teardown();
_w2.teardown();
} }
} }
}); });

932
dist/fix/fix.proxy.js vendored

File diff suppressed because it is too large Load Diff

72
dist/fix/worker.compact.js vendored

@ -1,10 +1,17 @@
;(function () { ;(function () {
var contexts = {}; var contexts = {};
var init = false;
var WORKER; var WORKER;
BI.useWorker = function (wk) {
WORKER = wk;
var enableWorker = function () {
if (init) {
return init;
}
// 开启Worker模式
BI.config("bi.provider.system", function (provider) {
provider.setWorkerMode(true);
});
var _init = BI.Widget.prototype._init; var _init = BI.Widget.prototype._init;
BI.Widget.prototype._init = function () { BI.Widget.prototype._init = function () {
this.$destroyWorker = createWorker.call(this); this.$destroyWorker = createWorker.call(this);
@ -46,7 +53,16 @@
console.error(e); console.error(e);
} }
}; };
init = postMessage;
return postMessage;
};
BI.useWorker = function (wk) {
if (!_global.Worker || !_global.Proxy) {
return;
}
var postMessage = enableWorker();
WORKER = wk;
if (WORKER) { if (WORKER) {
WORKER.addEventListener("message", function (e) { WORKER.addEventListener("message", function (e) {
var data = e.data; var data = e.data;
@ -72,7 +88,7 @@
name: name, name: name,
eventType: "create", eventType: "create",
options: options, options: options,
watches: BI.map(this.watch, function (key) { watches: BI.map(this.$watch || this.watch, function (key) {
return key; return key;
}) })
}); });
@ -101,57 +117,7 @@
eventType: "destroy" eventType: "destroy"
}); });
}; };
} else {
this.store = BI.Models.getModel(modelType, options);
this.store && (this.store._widget = this);
if (this.store instanceof Fix.Model) {
this.model = this.store.model;
} else {
this.model = this.store;
}
initWatch(this, this.watch);
return function () {
this.store && BI.isFunction(this.store.destroy) && this.store.destroy();
BI.each(this._watchers, function (i, unwatches) {
unwatches = BI.isArray(unwatches) ? unwatches : [unwatches];
BI.each(unwatches, function (j, unwatch) {
unwatch();
});
});
this._watchers && (this._watchers = []);
if (this.store) {
this.store._parent && (this.store._parent = null);
this.store._widget && (this.store._widget = null);
this.store = null;
}
};
} }
}
}
function initWatch (vm, watch) {
vm._watchers || (vm._watchers = []);
for (var key in watch) {
var handler = watch[key];
if (BI.isArray(handler)) {
for (var i = 0; i < handler.length; i++) {
vm._watchers.push(createWatcher(vm, key, handler[i]));
}
} else {
vm._watchers.push(createWatcher(vm, key, handler));
}
}
}
function createWatcher (vm, keyOrFn, cb, options) {
if (BI.isPlainObject(cb)) {
options = cb;
cb = cb.handler;
} }
options = options || {};
return Fix.watch(vm.model, keyOrFn, _.bind(cb, vm), BI.extend(options, {
store: vm.store
}));
} }
}()); }());

BIN
dist/font/iconfont.eot vendored

Binary file not shown.

16
dist/font/iconfont.svg vendored

@ -14,6 +14,18 @@
/> />
<missing-glyph /> <missing-glyph />
<glyph glyph-name="a-xiangxingtu3x" unicode="&#59525;" d="M341.333333 555.733333H279.466667V598.485333h-42.666667v-42.752H170.666667v-299.221333h66.133333v-85.504h42.666667v85.504H341.333333V555.733333zM596.010667 682.666667h-63.018667V768h-41.984v-85.333333H427.946667v-256h63.018666v-42.666667h41.984v42.666667h63.018667V682.666667z m-42.026667-213.333334h-83.968V640h83.968v-170.666667zM874.666667 1.322667h-725.333334a21.333333 21.333333 0 0 0 0 42.666666h725.333334a21.333333 21.333333 0 0 0 0-42.666666M789.333333 643.413333H853.333333v-171.008h-64v-130.389333h-42.666666V472.405333H682.666667V643.370667h64v40.618666h42.666666v-40.618666z" horiz-adv-x="1024" />
<glyph glyph-name="a-sangjitu3x-1" unicode="&#59526;" d="M152.490667 582.229333c3.669333 3.456 37.546667 34.090667 94.72 48.341334 76.032 19.029333 155.562667 0.810667 236.373333-54.144 69.546667-47.274667 141.653333-71.509333 214.272-71.978667h2.218667c66.133333 0 120.234667 19.541333 156.885333 38.229333l3.498667-70.912L960 637.866667l-194.688 6.826666 63.573333-44.458666c-56.448-29.738667-170.368-64.384-308.906666 29.781333-54.144 36.821333-109.397333 59.776-164.181334 68.266667a309.12 309.12 0 0 1-130.261333-7.381334c-73.130667-20.138667-117.333333-61.397333-117.717333-61.781333a32.426667 32.426667 0 0 1-1.024-45.653333 32.426667 32.426667 0 0 1 45.696-1.194667z m713.472-175.573333c-6.101333-5.290667-152.149333-127.573333-347.008 4.906667-54.186667 36.778667-109.397333 59.733333-164.224 68.266666a309.077333 309.077333 0 0 1-130.218667-7.381333c-73.685333-20.352-117.290667-61.44-117.717333-61.824a32.170667 32.170667 0 0 1-0.938667-45.738667 32.128 32.128 0 0 1 45.738667-0.981333c0.341333 0.341333 34.261333 32.213333 93.098666 47.274667 75.861333 19.413333 158.122667 1.024 237.866667-53.162667 69.546667-47.317333 141.653333-71.509333 214.272-72.021333h2.176c125.098667 0 208.64 71.125333 209.493333 71.808a32.384 32.384 0 0 1-42.538666 48.853333z m-1.024-220.373333c-6.101333-5.248-152.149333-127.530667-347.008 4.949333-154.026667 104.704-280.618667 74.24-351.189334 39.210667l-3.2 64.725333L64 129.109333l194.688-6.826666-68.608 47.914666a245.717333 245.717333 0 0 0 53.205333 20.565334c52.992 13.653333 137.344 15.530667 238.250667-53.077334 68.949333-46.848 140.373333-71.082667 212.352-71.978666h4.096c123.861333 0 205.952 68.778667 209.493333 71.765333a32.426667 32.426667 0 0 1-42.496 48.810667z" horiz-adv-x="1024" />
<glyph glyph-name="a-sangjitu3x" unicode="&#59527;" d="M169.898667 123.989333l-1.92 152.746667 1.92-76.373333-1.92 76.373333c1.92 0 154.794667 5.674667 299.989333 112.597333 64.981333 47.701333 112.725333 97.322667 154.752 141.226667 68.778667 72.533333 128 133.632 221.653333 137.429333l7.637334-152.704c-34.389333-1.877333-66.901333-34.346667-120.362667-91.605333-43.946667-45.824-99.370667-103.082667-173.866667-158.421333-187.264-137.429333-380.245333-141.226667-387.84-141.226667zM128 768h76.8v-768H128V768z m691.2 0H896v-768h-76.8V768zM835.328 250.154667c-66.944 0-254.293333 13.44-378.581333 141.653333-103.253333 107.221333-286.848 111.061333-288.768 111.061333l1.92 153.130667c9.557333 0 248.576-3.84 399.658666-156.970667 101.333333-105.301333 282.965333-93.781333 282.965334-93.781333l11.477333-153.173333c-3.84-1.92-13.397333-1.92-28.672-1.92z m5.717333-130.133334c-61.184 0-225.621333 11.477333-336.512 124.416-120.448 124.416-328.874667 128.256-330.794666 128.256v38.272c9.557333 0 225.621333-1.92 357.546666-139.733333 120.490667-124.416 326.997333-111.018667 328.874667-111.018667l1.92-38.314666c1.92-1.877333-7.68-1.877333-21.034667-1.877334z" horiz-adv-x="1024" />
<glyph glyph-name="baocun" unicode="&#59043;" d="M160 800h704a64 64 0 0 0 64-64v-704a64 64 0 0 0-64-64h-704a64 64 0 0 0-64 64v704a64 64 0 0 0 64 64z m128-64h-128v-704h704v704h-128v-256a64 64 0 0 0-64-64h-320a64 64 0 0 0-64 64v256z m64 0v-256h320v256h-320z m256-32a32 32 0 0 0 32-32v-128a32 32 0 0 0-64 0v128a32 32 0 0 0 32 32z" horiz-adv-x="1024" />
<glyph glyph-name="baocunbinggengxin" unicode="&#59326;" d="M576 0a32 32 0 0 0-32-32h-384a64 64 0 0 0-64 64v704a64 64 0 0 0 64 64h704a64 64 0 0 0 64-64v-320a32 32 0 1 0-64 0v320h-128l-5.12-257.28a64 64 0 0 0-64-62.72H352a64 64 0 0 0-64 64v256h-128v-704h384a32 32 0 0 0 32-32zM352 736v-256h320v256h-320z m454.4-608v-153.6a38.4 38.4 0 1 0-76.8 0V128h-128a12.8 12.8 0 0 0-10.24 20.48l166.4 221.888a12.8 12.8 0 0 0 20.48 0l166.4-221.888a12.8 12.8 0 0 0-10.24-20.48h-128zM608 704a32 32 0 0 0 32-32v-128a32 32 0 0 0-64 0v128a32 32 0 0 0 32 32z" horiz-adv-x="1024" />
<glyph glyph-name="zitiguanli" unicode="&#59524;" d="M298.944 768a64 64 0 0 0 44.288-17.792l86.848-83.2a64 64 0 0 1 44.288-17.92H896a64 64 0 0 0 64-64V0a64 64 0 0 0-64-64H128a64 64 0 0 0-64 64V704a64 64 0 0 0 64 64h170.944z m0-64H128v-704h768V585.152H474.368a128 128 0 0 0-80.384 28.352L385.728 620.8 298.944 704zM232 100.736l37.44 103.104h172.224l37.44-103.104h72L393.856 512H317.248L160 100.736h72z m189.504 158.4H289.6l65.088 180.288h2.304l64.512-180.288zM721.024 414.336c43.776 0 76.608-10.944 97.344-32.832 18.432-19.008 27.648-46.656 27.648-82.944v-197.824h-61.056v46.912c-11.52-14.976-25.92-25.92-42.624-33.984a161.6 161.6 0 0 0-67.392-13.248c-31.104 0-55.296 8.064-73.152 23.616a77.44 77.44 0 0 0-27.648 61.056c0 33.408 12.672 59.328 39.168 77.184 24.192 17.28 58.176 26.496 101.952 27.648l65.088 1.728v11.52c0 39.168-21.312 58.176-63.936 58.176-18.432 0-32.832-2.88-43.776-9.792a51.712 51.712 0 0 1-24.768-34.56l-65.088 5.184c6.336 32.832 22.464 57.024 48.384 72 21.888 13.824 51.84 20.16 89.856 20.16z m59.328-169.92l-60.48-1.728c-52.416-1.152-78.336-19.584-78.336-55.296a30.72 30.72 0 0 1 13.248-25.92 56.768 56.768 0 0 1 35.136-10.944c25.344 0 46.656 7.488 63.936 21.888 17.28 14.976 26.496 33.984 26.496 57.024v14.976z" horiz-adv-x="1024" />
<glyph glyph-name="jianbiaoyuju" unicode="&#59523;" d="M320 768h64v-768h-64zM608 256h64v-256H608zM128 191.68v64h768v-64zM128 480V544h192v-64zM543.744 832a32 32 0 0 0 5.76-63.488l-5.76-0.512H160a32 32 0 0 1-31.488-26.24L128 736v-704a32 32 0 0 1 26.24-31.488L160 0h704a32 32 0 0 1 31.488 26.24L896 32V415.872a32 32 0 0 0 63.488 5.76l0.512-5.76V32a96 96 0 0 0-86.784-95.552L864-64H160a96 96 0 0 0-95.552 86.784L64 32V736A96 96 0 0 0 150.784 831.552L160 832h383.744zM512 640m32 0l384 0q32 0 32-32l0 0q0-32-32-32l-384 0q-32 0-32 32l0 0q0 32 32 32ZM704 384m0 32l0 384q0 32 32 32l0 0q32 0 32-32l0-384q0-32-32-32l0 0q-32 0-32 32Z" horiz-adv-x="1024" /> <glyph glyph-name="jianbiaoyuju" unicode="&#59523;" d="M320 768h64v-768h-64zM608 256h64v-256H608zM128 191.68v64h768v-64zM128 480V544h192v-64zM543.744 832a32 32 0 0 0 5.76-63.488l-5.76-0.512H160a32 32 0 0 1-31.488-26.24L128 736v-704a32 32 0 0 1 26.24-31.488L160 0h704a32 32 0 0 1 31.488 26.24L896 32V415.872a32 32 0 0 0 63.488 5.76l0.512-5.76V32a96 96 0 0 0-86.784-95.552L864-64H160a96 96 0 0 0-95.552 86.784L64 32V736A96 96 0 0 0 150.784 831.552L160 832h383.744zM512 640m32 0l384 0q32 0 32-32l0 0q0-32-32-32l-384 0q-32 0-32 32l0 0q0 32 32 32ZM704 384m0 32l0 384q0 32 32 32l0 0q32 0 32-32l0-384q0-32-32-32l0 0q-32 0-32 32Z" horiz-adv-x="1024" />
<glyph glyph-name="canshufuzhi1" unicode="&#59513;" d="M910.2336 839.099733c31.402667 0 56.900267-25.463467 56.900267-56.900266V327.099733H910.2336V782.199467H113.800533V-14.233600000000024H568.900267v-56.900267H113.800533C82.397867-71.13386700000001 56.900267-45.636266999999975 56.900267-14.233600000000024V782.199467C56.900267 813.602133 82.363733 839.099733 113.800533 839.099733H910.2336zM910.2336 839.099733c31.402667 0 56.900267-25.463467 56.900267-56.900266v-227.5328H56.900267V782.199467C56.900267 813.602133 82.363733 839.099733 113.800533 839.099733H910.2336zM170.666667 440.866133m28.433066 0l512.034134 0q28.433067 0 28.433066-28.433066l0-0.034134q0-28.433067-28.433066-28.433066l-512.034134 0q-28.433067 0-28.433066 28.433066l0 0.034134q0 28.433067 28.433066 28.433066ZM170.666667 213.33333300000004m28.433066 0l341.367467 0q28.433067 0 28.433067-28.433066l0-0.034134q0-28.433067-28.433067-28.433066l-341.367467 0q-28.433067 0-28.433066 28.433066l0 0.034134q0 28.433067 28.433066 28.433066ZM540.4672 497.7664a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m0-56.900267a28.433067 28.433067 0 1 1 0-56.866133 28.433067 28.433067 0 0 1 0 56.866133zM540.4672 440.866133a28.433067 28.433067 0 1 1 0-56.866133 28.433067 28.433067 0 0 1 0 56.866133zM312.900267 270.199467a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m0-56.866134A28.433067 28.433067 0 1 1 312.900267 156.43306700000005a28.433067 28.433067 0 0 1 0 56.900266zM312.900267 213.33333300000004A28.433067 28.433067 0 1 1 312.900267 156.43306700000005a28.433067 28.433067 0 0 1 0 56.900266zM698.641067-71.13386700000001l28.091733 77.550934h135.9872l29.696-77.550934h74.717867l-136.192 341.333334h-72.669867l-132.471467-341.333334H698.606933z m141.994666 135.0656h-92.808533L793.770667 190.56640000000004l46.8992-126.634667z" horiz-adv-x="1024" /> <glyph glyph-name="canshufuzhi1" unicode="&#59513;" d="M910.2336 839.099733c31.402667 0 56.900267-25.463467 56.900267-56.900266V327.099733H910.2336V782.199467H113.800533V-14.233600000000024H568.900267v-56.900267H113.800533C82.397867-71.13386700000001 56.900267-45.636266999999975 56.900267-14.233600000000024V782.199467C56.900267 813.602133 82.363733 839.099733 113.800533 839.099733H910.2336zM910.2336 839.099733c31.402667 0 56.900267-25.463467 56.900267-56.900266v-227.5328H56.900267V782.199467C56.900267 813.602133 82.363733 839.099733 113.800533 839.099733H910.2336zM170.666667 440.866133m28.433066 0l512.034134 0q28.433067 0 28.433066-28.433066l0-0.034134q0-28.433067-28.433066-28.433066l-512.034134 0q-28.433067 0-28.433066 28.433066l0 0.034134q0 28.433067 28.433066 28.433066ZM170.666667 213.33333300000004m28.433066 0l341.367467 0q28.433067 0 28.433067-28.433066l0-0.034134q0-28.433067-28.433067-28.433066l-341.367467 0q-28.433067 0-28.433066 28.433066l0 0.034134q0 28.433067 28.433066 28.433066ZM540.4672 497.7664a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m0-56.900267a28.433067 28.433067 0 1 1 0-56.866133 28.433067 28.433067 0 0 1 0 56.866133zM540.4672 440.866133a28.433067 28.433067 0 1 1 0-56.866133 28.433067 28.433067 0 0 1 0 56.866133zM312.900267 270.199467a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m0-56.866134A28.433067 28.433067 0 1 1 312.900267 156.43306700000005a28.433067 28.433067 0 0 1 0 56.900266zM312.900267 213.33333300000004A28.433067 28.433067 0 1 1 312.900267 156.43306700000005a28.433067 28.433067 0 0 1 0 56.900266zM698.641067-71.13386700000001l28.091733 77.550934h135.9872l29.696-77.550934h74.717867l-136.192 341.333334h-72.669867l-132.471467-341.333334H698.606933z m141.994666 135.0656h-92.808533L793.770667 190.56640000000004l46.8992-126.634667z" horiz-adv-x="1024" />
@ -414,8 +426,6 @@
<glyph glyph-name="yulangongjulan_tupianchicun" unicode="&#59327;" d="M416 544h192a64 64 0 0 0 64-64v-192a64 64 0 0 0-64-64h-192a64 64 0 0 0-64 64v192a64 64 0 0 0 64 64z m0-64v-192h192v192h-192zM64 576V640h192V832h64v-192a64 64 0 0 0-64-64H64z m896 0h-192a64 64 0 0 0-64 64V832h64v-192h192v-64zM64 192h192a64 64 0 0 0 64-64v-192H256v192H64v64z m896 0v-64h-192v-192h-64v192a64 64 0 0 0 64 64h192z" horiz-adv-x="1024" /> <glyph glyph-name="yulangongjulan_tupianchicun" unicode="&#59327;" d="M416 544h192a64 64 0 0 0 64-64v-192a64 64 0 0 0-64-64h-192a64 64 0 0 0-64 64v192a64 64 0 0 0 64 64z m0-64v-192h192v192h-192zM64 576V640h192V832h64v-192a64 64 0 0 0-64-64H64z m896 0h-192a64 64 0 0 0-64 64V832h64v-192h192v-64zM64 192h192a64 64 0 0 0 64-64v-192H256v192H64v64z m896 0v-64h-192v-192h-64v192a64 64 0 0 0 64 64h192z" horiz-adv-x="1024" />
<glyph glyph-name="baocunbinggengxin" unicode="&#59326;" d="M576 0a32 32 0 0 0-32-32h-384a64 64 0 0 0-64 64v704a64 64 0 0 0 64 64h704a64 64 0 0 0 64-64v-320a32 32 0 1 0-64 0v320h-128l-5.12-257.28a64 64 0 0 0-64-62.72H352a64 64 0 0 0-64 64v256h-128v-704h384a32 32 0 0 0 32-32zM352 736v-256h320v256h-320z m454.4-608v-153.6a38.4 38.4 0 1 0-76.8 0V128h-128a12.8 12.8 0 0 0-10.24 20.48l166.4 221.888a12.8 12.8 0 0 0 20.48 0l166.4-221.888a12.8 12.8 0 0 0-10.24-20.48h-128zM608 704a32 32 0 0 0 32-32v-128a32 32 0 0 0-64 0v128a32 32 0 0 0 32 32z" horiz-adv-x="1024" />
<glyph glyph-name="bukeliandong" unicode="&#59229;" d="M192 832h640a128 128 0 0 0 128-128v-640a128 128 0 0 0-128-128H192a128 128 0 0 0-128 128V704a128 128 0 0 0 128 128z m0-64a64 64 0 0 1-64-64v-640a64 64 0 0 1 64-64h640a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H192z" horiz-adv-x="1024" /> <glyph glyph-name="bukeliandong" unicode="&#59229;" d="M192 832h640a128 128 0 0 0 128-128v-640a128 128 0 0 0-128-128H192a128 128 0 0 0-128 128V704a128 128 0 0 0 128 128z m0-64a64 64 0 0 1-64-64v-640a64 64 0 0 1 64-64h640a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H192z" horiz-adv-x="1024" />
<glyph glyph-name="bukeliandong_kedanxiangliandong" unicode="&#59321;" d="M557.248 139.00800000000004H928a32 32 0 1 0 0-64H557.248l81.152-81.152a32 32 0 1 0-45.248-45.248l-135.808 135.744a32 32 0 0 0 0 45.248l135.808 135.744a32 32 0 1 0 45.248-45.248l-81.152-81.088zM960 320h-64V704a64 64 0 0 1-64 64H192a64 64 0 0 1-64-64v-640a64 64 0 0 1 64-64h192v-64H192a128 128 0 0 0-128 128V704a128 128 0 0 0 128 128h640a128 128 0 0 0 128-128v-384z" horiz-adv-x="1024" /> <glyph glyph-name="bukeliandong_kedanxiangliandong" unicode="&#59321;" d="M557.248 139.00800000000004H928a32 32 0 1 0 0-64H557.248l81.152-81.152a32 32 0 1 0-45.248-45.248l-135.808 135.744a32 32 0 0 0 0 45.248l135.808 135.744a32 32 0 1 0 45.248-45.248l-81.152-81.088zM960 320h-64V704a64 64 0 0 1-64 64H192a64 64 0 0 1-64-64v-640a64 64 0 0 1 64-64h192v-64H192a128 128 0 0 0-128 128V704a128 128 0 0 0 128 128h640a128 128 0 0 0 128-128v-384z" horiz-adv-x="1024" />
@ -522,8 +532,6 @@
<glyph glyph-name="zujianyoushangjiao_huanyuan" unicode="&#59044;" d="M818.624 544l-137.6-137.6a32 32 0 1 1 45.248-45.248l192.384 192.32a32 32 0 0 1 0 45.248L726.272 791.04a32 32 0 1 1-45.248-45.248L818.88 608H383.232a288 288 0 1 1 0-576h319.872a32 32 0 1 1 0 64H383.232a224 224 0 0 0 0 448h435.392z" horiz-adv-x="1024" /> <glyph glyph-name="zujianyoushangjiao_huanyuan" unicode="&#59044;" d="M818.624 544l-137.6-137.6a32 32 0 1 1 45.248-45.248l192.384 192.32a32 32 0 0 1 0 45.248L726.272 791.04a32 32 0 1 1-45.248-45.248L818.88 608H383.232a288 288 0 1 1 0-576h319.872a32 32 0 1 1 0 64H383.232a224 224 0 0 0 0 448h435.392z" horiz-adv-x="1024" />
<glyph glyph-name="baocun" unicode="&#59043;" d="M160 800h704a64 64 0 0 0 64-64v-704a64 64 0 0 0-64-64h-704a64 64 0 0 0-64 64v704a64 64 0 0 0 64 64z m128-64h-128v-704h704v704h-128v-256a64 64 0 0 0-64-64h-320a64 64 0 0 0-64 64v256z m64 0v-256h320v256h-320z m256-32a32 32 0 0 0 32-32v-128a32 32 0 0 0-64 0v128a32 32 0 0 0 32 32z" horiz-adv-x="1024" />
<glyph glyph-name="gouxuan" unicode="&#59041;" d="M826.157176 699.904l-63.849411-63.879529A375.265882 375.265882 0 0 1 496.941176 745.411765C289.008941 745.411765 120.470588 576.873412 120.470588 368.941176S289.008941-7.529412 496.941176-7.529412 873.411765 161.008941 873.411765 368.941176c0 4.939294-0.090353 9.878588-0.301177 14.757648l80.865883 80.865882c6.415059-30.870588 9.788235-62.855529 9.788235-95.62353C963.764706 111.134118 754.748235-97.882353 496.941176-97.882353 239.134118-97.882353 30.117647 111.134118 30.117647 368.941176 30.117647 626.748235 239.134118 835.764706 496.941176 835.764706c128.481882 0 244.826353-51.892706 329.216-135.860706z m90.654118-37.496471a45.176471 45.176471 0 1 0 63.548235-64.240941L543.804235 166.008471a45.176471 45.176471 0 0 0-63.759059 0.210823l-211.305411 211.937882a45.176471 45.176471 0 1 0 64 63.789177l179.501176-180.043294L916.811294 662.407529z" horiz-adv-x="1024" /> <glyph glyph-name="gouxuan" unicode="&#59041;" d="M826.157176 699.904l-63.849411-63.879529A375.265882 375.265882 0 0 1 496.941176 745.411765C289.008941 745.411765 120.470588 576.873412 120.470588 368.941176S289.008941-7.529412 496.941176-7.529412 873.411765 161.008941 873.411765 368.941176c0 4.939294-0.090353 9.878588-0.301177 14.757648l80.865883 80.865882c6.415059-30.870588 9.788235-62.855529 9.788235-95.62353C963.764706 111.134118 754.748235-97.882353 496.941176-97.882353 239.134118-97.882353 30.117647 111.134118 30.117647 368.941176 30.117647 626.748235 239.134118 835.764706 496.941176 835.764706c128.481882 0 244.826353-51.892706 329.216-135.860706z m90.654118-37.496471a45.176471 45.176471 0 1 0 63.548235-64.240941L543.804235 166.008471a45.176471 45.176471 0 0 0-63.759059 0.210823l-211.305411 211.937882a45.176471 45.176471 0 1 0 64 63.789177l179.501176-180.043294L916.811294 662.407529z" horiz-adv-x="1024" />
<glyph glyph-name="jiaonangxiala_jisuanfangxiang" unicode="&#59042;" d="M288.64 107.648v51.264a32 32 0 0 0 32 32h160a32 32 0 1 0 0-64h-128V32a32 32 0 0 0-54.336-22.976L54.848 245.376a32 32 0 0 0-0.32 45.632l243.456 243.2a32 32 0 0 0 54.656-22.656v-95.936l351.744 0.32a32 32 0 0 0 32-32v-51.84l165.632 165.44L736.448 659.2v-51.968a32 32 0 0 0-32-32h-161.92a32 32 0 1 0 0 64h129.92V735.104a32 32 0 0 0 54.336 22.848l243.136-237.248a32 32 0 0 0 0.256-45.504l-243.136-242.944a32 32 0 0 0-54.592 22.656V351.872l-351.808-0.256a32 32 0 0 0-32 32v50.752L122.752 268.672l165.888-161.024z" horiz-adv-x="1024" /> <glyph glyph-name="jiaonangxiala_jisuanfangxiang" unicode="&#59042;" d="M288.64 107.648v51.264a32 32 0 0 0 32 32h160a32 32 0 1 0 0-64h-128V32a32 32 0 0 0-54.336-22.976L54.848 245.376a32 32 0 0 0-0.32 45.632l243.456 243.2a32 32 0 0 0 54.656-22.656v-95.936l351.744 0.32a32 32 0 0 0 32-32v-51.84l165.632 165.44L736.448 659.2v-51.968a32 32 0 0 0-32-32h-161.92a32 32 0 1 0 0 64h129.92V735.104a32 32 0 0 0 54.336 22.848l243.136-237.248a32 32 0 0 0 0.256-45.504l-243.136-242.944a32 32 0 0 0-54.592 22.656V351.872l-351.808-0.256a32 32 0 0 0-32 32v50.752L122.752 268.672l165.888-161.024z" horiz-adv-x="1024" />

Before

Width:  |  Height:  |  Size: 451 KiB

After

Width:  |  Height:  |  Size: 456 KiB

BIN
dist/font/iconfont.ttf vendored

Binary file not shown.

BIN
dist/font/iconfont.woff vendored

Binary file not shown.

BIN
dist/font/iconfont.woff2 vendored

Binary file not shown.

BIN
dist/images/1x/background/marker.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 652 B

BIN
dist/images/1x/background/mask.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

BIN
dist/images/1x/background/wheel.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
dist/images/2x/background/marker.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 652 B

BIN
dist/images/2x/background/mask.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

BIN
dist/images/2x/background/wheel.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

4
examples/demo.worker.js

@ -1,6 +1,6 @@
if (this.importScripts) { if (this.importScripts) {
importScripts("../dist/fineui_without_jquery_polyfill.js"); importScripts("https://fanruan.design/fineui/fineui_without_jquery_polyfill.js");
BI.initWorker(); BI.useInWorker();
} }
var Model = BI.inherit(Fix.Model, { var Model = BI.inherit(Fix.Model, {
state: function () { state: function () {

1
examples/worker.html

@ -6,7 +6,6 @@
<script src="../dist/2.0/fineui.js"></script> --> <script src="../dist/2.0/fineui.js"></script> -->
<link rel="stylesheet" type="text/css" href="http://fanruan.design/fineui/2.0/fineui.min.css" /> <link rel="stylesheet" type="text/css" href="http://fanruan.design/fineui/2.0/fineui.min.css" />
<script src="http://fanruan.design/fineui/2.0/fineui.min.js"></script> <script src="http://fanruan.design/fineui/2.0/fineui.min.js"></script>
<script src="../dist/fix/worker.compact.js"></script>
<script src="demo.worker.js"></script> <script src="demo.worker.js"></script>
</head> </head>
<body> <body>

2
package.json

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

4
src/base/single/button/listitem/icontexticonitem.js

@ -44,7 +44,7 @@ BI.IconTextIconItem = BI.inherit(BI.BasicButton, {
var icon1 = BI.createWidget({ var icon1 = BI.createWidget({
type: "bi.icon_label", type: "bi.icon_label",
cls: o.iconCls1, cls: o.iconCls1,
width: o.leftIconWrapperWidth, width: o.leftIconWrapperWidth || o.height,
height: o.height, height: o.height,
iconWidth: o.iconWidth, iconWidth: o.iconWidth,
iconHeight: o.iconHeight iconHeight: o.iconHeight
@ -60,7 +60,7 @@ BI.IconTextIconItem = BI.inherit(BI.BasicButton, {
el: { el: {
type: "bi.icon_label", type: "bi.icon_label",
cls: o.iconCls2, cls: o.iconCls2,
width: o.rightIconWrapperWidth, width: o.rightIconWrapperWidth || o.height,
height: o.height, height: o.height,
iconWidth: o.iconWidth, iconWidth: o.iconWidth,
iconHeight: o.iconHeight iconHeight: o.iconHeight

4
src/core/4.widget.js

@ -326,7 +326,9 @@
_initElement: function () { _initElement: function () {
var self = this; var self = this;
this.__isMounting = true; this.__isMounting = true;
var render = BI.isFunction(this.options.render) ? this.options.render : this.render; // 当开启worker模式时,可以通过$render来实现另一种效果
var workerMode = BI.Providers.getProvider("bi.provider.system").getWorkerMode();
var render = BI.isFunction(this.options.render) ? this.options.render : (workerMode ? (this.$render || this.render) : this.render);
var els = render && render.call(this); var els = render && render.call(this);
els = BI.Plugin.getRender(this.options.type, els); els = BI.Plugin.getRender(this.options.type, els);
if (BI.isPlainObject(els)) { if (BI.isPlainObject(els)) {

99
src/core/6.inject.js → src/core/5.inject.js

@ -92,7 +92,7 @@
}; };
var configFunctions = {}; var configFunctions = {};
var runConfigFunction = BI.runConfigFunction = function (type) { var runConfigFunction = function (type) {
if (!type || !configFunctions[type]) { if (!type || !configFunctions[type]) {
return false; return false;
} }
@ -371,6 +371,103 @@
} }
}; };
var kv = {};
BI.shortcut = BI.component = BI.shortcut || function (xtype, cls) {
if (kv[xtype] != null) {
_global.console && console.error("组件: [" + xtype + "] 已经注册过了");
}
if (cls) {
cls["xtype"] = xtype;
}
kv[xtype] = cls;
};
// 根据配置属性生成widget
var createWidget = function (config, context, lazy) {
var cls = kv[config.type];
if (!cls) {
throw new Error("组件: [" + config.type + "] 未定义");
}
var pushed = false;
var widget = new cls();
widget._context = BI.Widget.context || context;
if (!BI.Widget.context && context) {
pushed = true;
BI.Widget.pushContext(context);
}
callPoint(widget, config.type);
widget._initProps(config);
widget._initRoot();
widget._constructed();
// if (!lazy || config.element || config.root) {
widget._lazyConstructor();
// }
pushed && BI.Widget.popContext();
return widget;
};
BI.createWidget = BI.createWidget || function (item, options, context, lazy) {
item || (item = {});
if (BI.isWidget(options)) {
context = options;
options = {};
} else {
options || (options = {});
}
var el, w;
if (item.type || options.type) {
el = BI.extend({}, options, item);
} else if (item.el && (item.el.type || options.type)) {
el = BI.extend({}, options, item.el);
}
if (el) {
runConfigFunction(el.type);
}
// 先把准备环境准备好
BI.init();
if (BI.isEmpty(item) && BI.isEmpty(options)) {
return BI.createWidget({
type: "bi.layout"
});
}
if (BI.isWidget(item)) {
return item;
}
if (el) {
w = BI.Plugin.getWidget(el.type, el);
if (w.type === el.type) {
if (BI.Plugin.hasObject(el.type)) {
w.listeners = (w.listeners || []).concat([{
eventName: BI.Events.MOUNT,
action: function () {
BI.Plugin.getObject(el.type, this);
}
}]);
}
return createWidget(w, context, lazy);
}
return BI.createWidget(w, options, context, lazy);
}
if (BI.isWidget(item.el)) {
return item.el;
}
throw new Error("组件:无法根据item创建组件", item);
};
BI._lazyCreateWidget = BI._lazyCreateWidget || function (item, options, context) {
return BI.createWidget(item, options, context, true);
};
BI.createElement = BI.createElement || function () {
var widget = BI.createWidget.apply(this, arguments);
return widget.element;
};
BI.getResource = BI.getResource || function (type, config) { BI.getResource = BI.getResource || function (type, config) {
if (BI.isNotNull(constantInjection[type])) { if (BI.isNotNull(constantInjection[type])) {
return BI.Constants.getConstant(type); return BI.Constants.getConstant(type);

98
src/core/5.shortcut.js

@ -1,98 +0,0 @@
(function () {
var kv = {};
BI.shortcut = BI.component = BI.shortcut || function (xtype, cls) {
if (kv[xtype] != null) {
_global.console && console.error("组件: [" + xtype + "] 已经注册过了");
}
if (cls) {
cls["xtype"] = xtype;
}
kv[xtype] = cls;
};
// 根据配置属性生成widget
var createWidget = function (config, context, lazy) {
var cls = kv[config.type];
if (!cls) {
throw new Error("组件: [" + config.type + "] 未定义");
}
var pushed = false;
var widget = new cls();
widget._context = BI.Widget.context || context;
if (!BI.Widget.context && context) {
pushed = true;
BI.Widget.pushContext(context);
}
widget._initProps(config);
widget._initRoot();
widget._constructed();
// if (!lazy || config.element || config.root) {
widget._lazyConstructor();
// }
pushed && BI.Widget.popContext();
return widget;
};
BI.createWidget = BI.createWidget || function (item, options, context, lazy) {
item || (item = {});
if (BI.isWidget(options)) {
context = options;
options = {};
} else {
options || (options = {});
}
var el, w;
if (item.type || options.type) {
el = BI.extend({}, options, item);
} else if (item.el && (item.el.type || options.type)) {
el = BI.extend({}, options, item.el);
}
if (el) {
BI.runConfigFunction(el.type);
}
// 先把准备环境准备好
BI.init();
if (BI.isEmpty(item) && BI.isEmpty(options)) {
return BI.createWidget({
type: "bi.layout"
});
}
if (BI.isWidget(item)) {
return item;
}
if (el) {
w = BI.Plugin.getWidget(el.type, el);
if (w.type === el.type) {
if (BI.Plugin.hasObject(el.type)) {
w.listeners = (w.listeners || []).concat([{
eventName: BI.Events.MOUNT,
action: function () {
BI.Plugin.getObject(el.type, this);
}
}]);
}
return createWidget(w, context, lazy);
}
return BI.createWidget(w, options, context, lazy);
}
if (BI.isWidget(item.el)) {
return item.el;
}
throw new Error("组件:无法根据item创建组件", item);
};
BI._lazyCreateWidget = BI._lazyCreateWidget || function (item, options, context) {
return BI.createWidget(item, options, context, true);
};
BI.createElement = BI.createElement || function () {
var widget = BI.createWidget.apply(this, arguments);
return widget.element;
};
})();

0
src/core/7.plugin.js → src/core/plugin.js

0
src/core/8.popper.js → src/core/popper.js

9
src/core/system.js

@ -8,6 +8,7 @@
var system = { var system = {
dependencies: {}, dependencies: {},
responsiveMode: false, responsiveMode: false,
workerMode: false,
size: { // 尺寸 size: { // 尺寸
TOOL_BAR_HEIGHT: 24, TOOL_BAR_HEIGHT: 24,
LIST_ITEM_HEIGHT: 24, LIST_ITEM_HEIGHT: 24,
@ -28,6 +29,10 @@
system.responsiveMode = !!mode; system.responsiveMode = !!mode;
}; };
this.setWorkerMode = function (mode) {
system.workerMode = !!mode;
};
this.addDependency = function (moduleId, minVersion, maxVersion) { this.addDependency = function (moduleId, minVersion, maxVersion) {
system.dependencies[moduleId] = { system.dependencies[moduleId] = {
min: minVersion, min: minVersion,
@ -50,6 +55,10 @@
return system.responsiveMode; return system.responsiveMode;
}, },
getWorkerMode: function () {
return system.workerMode;
},
getDependencies: function () { getDependencies: function () {
return system.dependencies; return system.dependencies;
} }

6
src/core/9.worker.js → src/core/worker.js

@ -1,6 +1,10 @@
!(function () { !(function () {
BI.initWorker = function () { BI.useInWorker = function () {
function createWatcher (model, keyOrFn, cb, options) { function createWatcher (model, keyOrFn, cb, options) {
if (BI.isPlainObject(cb)) {
options = cb;
cb = cb.handler;
}
options = options || {}; options = options || {};
return Fix.watch(model, keyOrFn, cb, BI.extend(options, { return Fix.watch(model, keyOrFn, cb, BI.extend(options, {
store: model store: model

15
src/less/base/colorchooser/farbtastic/farbtastic.less

File diff suppressed because one or more lines are too long

8
src/less/base/foundation/bi.message.less

@ -1,21 +1,21 @@
@import "../../index"; @import "../../index";
.bi-message-title { .bi-message-title {
font-size: 14px; font-size: @font-size-14;
cursor: pointer; cursor: pointer;
} }
.bi-message-text { .bi-message-text {
font-size: 16px; font-size: @font-size-16;
.user-select-enable(); .user-select-enable();
} }
.bi-message-content { .bi-message-content {
font-size: 16px; font-size: @font-size-16;
} }
.bi-message-close { .bi-message-close {
font-size: 16px; font-size: @font-size-16;
} }
.bi-message-animate { .bi-message-animate {

23
src/less/base/tree/ztree.less

@ -25,6 +25,29 @@
padding: 0 0 0 18px padding: 0 0 0 18px
} }
// 此处不用2倍图,改用css画虚线
// z-tree的line是一整块子节点区域,所以不能使用background-size: contain
// 使用1倍图太模糊,这边就使用css自己画了,calc属性支持IE9, IE8反正会走hack, 不影响
.ztree li ul.line {
position: relative;
&:before {
position: absolute;
content: '';
border-left: 1px dashed @border-color-dark-gray-line;
height: calc(~"100% - 3px");
left: 11px;
margin-top: 1px;
}
}
.bi-theme-dark {
.ztree li ul.line {
&:before {
border-left: 1px dashed @border-color-dark-gray-line;
}
}
}
.ztree li a { .ztree li a {
padding: 1px 3px 0 0; padding: 1px 3px 0 0;
margin: 0; margin: 0;

23
src/less/core/normalize2.less

@ -1,20 +1,5 @@
@import "../index"; @import "../index";
html,
body,
div,
ul,
ol,
li,
img,
a,
span,
p,
* {
margin: 0;
padding: 0;
}
a { a {
outline: none; outline: none;
text-decoration: none; text-decoration: none;
@ -48,14 +33,6 @@ textarea {
outline: none; outline: none;
} }
ul {
list-style: disc;
}
li {
list-style-type: none;
}
i { i {
//font-style: normal; //font-style: normal;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;

4
src/less/lib/background.less

@ -8,7 +8,3 @@
@background-trans-color-disabled: "background/trans_disable.png"; @background-trans-color-disabled: "background/trans_disable.png";
@background-auto-color-square-normal: "icon/auto_square_normal.png"; @background-auto-color-square-normal: "icon/auto_square_normal.png";
@background-auto-color-no-square-normal: "icon/auto_no_square_normal.png"; @background-auto-color-no-square-normal: "icon/auto_no_square_normal.png";
@background-farbtastic-wheel:"background/wheel.png";
@background-farbtastic-overlay:"background/mask.png";
@background-farbtastic-marker:"background/marker.png";

32
src/less/resource/background.less

@ -2,18 +2,6 @@
@import "../lib/icon"; @import "../lib/icon";
@import "../lib/background"; @import "../lib/background";
.bi-farbtastic .wheel {
.imagePath(@background-farbtastic-wheel);
}
.bi-farbtastic .overlay {
.imagePath(@background-farbtastic-overlay);
}
.bi-farbtastic .marker {
.imagePath(@background-farbtastic-marker);
}
.bi-display-tree { .bi-display-tree {
& .ztree li span.button.switch.center_open { & .ztree li span.button.switch.center_open {
.image2xPath(@icon-tree-vertical-line-3); .image2xPath(@icon-tree-vertical-line-3);
@ -40,31 +28,11 @@
} }
} }
// 此处不用2倍图,改用css画虚线
// z-tree的line是一整块子节点区域,所以不能使用background-size: contain
// 使用1倍图太模糊,这边就使用css自己画了,calc属性支持IE9, IE8反正会走hack, 不影响
.ztree li ul.line {
position: relative;
&:before {
position: absolute;
content: '';
border-left: 1px dashed #D0D4DA;
height: calc(~"100% - 3px");
left: 11px;
margin-top: 1px;
}
}
.ztree.hack li ul.line { .ztree.hack li ul.line {
.imagePath(@icon-tree-vertical-line-1, 0, 1px, repeat-y); .imagePath(@icon-tree-vertical-line-1, 0, 1px, repeat-y);
} }
.bi-theme-dark { .bi-theme-dark {
.ztree li ul.line {
&:before {
border-left: 1px dashed #606479;
}
}
.ztree.hack li ul.line { .ztree.hack li ul.line {
.imagePath(@icon-tree-vertical-line-1-theme-dark, 0, 1px, repeat-y); .imagePath(@icon-tree-vertical-line-1-theme-dark, 0, 1px, repeat-y);
} }

30
src/less/visual.less

@ -1,19 +1,19 @@
.text-shadow(none) { .text-shadow(none) {
text-shadow: none;
-moz-text-shadow: none;
-webkit-text-shadow: none; -webkit-text-shadow: none;
-moz-text-shadow: none;
text-shadow: none;
} }
.text-shadow(@x, @y, @blur, @color) when not (@x = none) { .text-shadow(@x, @y, @blur, @color) when not (@x = none) {
text-shadow: @arguments;
-moz-text-shadow: @arguments;
-webkit-text-shadow: @arguments; -webkit-text-shadow: @arguments;
-moz-text-shadow: @arguments;
text-shadow: @arguments;
} }
.box-shadow(none) { .box-shadow(none) {
box-shadow: none;
-webkit-box-shadow: none; -webkit-box-shadow: none;
-moz-box-shadow: none; -moz-box-shadow: none;
box-shadow: none;
} }
.box-shadow(@style, @c) when (iscolor(@c)) { .box-shadow(@style, @c) when (iscolor(@c)) {
@ -23,15 +23,15 @@
} }
.box-shadow(@x, @y, @blur, @spreed: 0px, @color, @inset: outset) when (iscolor(@color)) and (isnumber(unit(@spreed))){ .box-shadow(@x, @y, @blur, @spreed: 0px, @color, @inset: outset) when (iscolor(@color)) and (isnumber(unit(@spreed))){
box-shadow: @arguments;
-webkit-box-shadow: @arguments; -webkit-box-shadow: @arguments;
-moz-box-shadow: @arguments; -moz-box-shadow: @arguments;
box-shadow: @arguments;
} }
.box-shadows(@shadow1, @shadow2, @shadow3) { .box-shadows(@shadow1, @shadow2, @shadow3) {
box-shadow: @shadow1, @shadow2, @shadow3;
-webkit-box-shadow: @shadow1, @shadow2, @shadow3; -webkit-box-shadow: @shadow1, @shadow2, @shadow3;
-moz-box-shadow: @shadow1, @shadow2, @shadow3; -moz-box-shadow: @shadow1, @shadow2, @shadow3;
box-shadow: @shadow1, @shadow2, @shadow3;
} }
.background-color(@color, @alpha) { .background-color(@color, @alpha) {
@ -97,40 +97,40 @@
} }
.border-corner-top-radius(@leftTop, @rightTop) { .border-corner-top-radius(@leftTop, @rightTop) {
-moz-border-radius-topleft: @leftTop;
-webkit-border-top-left-radius: @leftTop; -webkit-border-top-left-radius: @leftTop;
-moz-border-radius-topright: @rightTop; -moz-border-radius-topleft: @leftTop;
-webkit-border-top-right-radius: @rightTop; -webkit-border-top-right-radius: @rightTop;
-moz-border-radius-topright: @rightTop;
border-top-left-radius: @leftTop; border-top-left-radius: @leftTop;
border-top-right-radius: @rightTop; border-top-right-radius: @rightTop;
} }
.border-corner-bottom-radius(@leftBottom, @rightBottom) { .border-corner-bottom-radius(@leftBottom, @rightBottom) {
-moz-border-radius-bottomleft: @rightBottom;
-webkit-border-bottom-left-radius: @rightBottom; -webkit-border-bottom-left-radius: @rightBottom;
-moz-border-radius-bottomright: @leftBottom; -moz-border-radius-bottomleft: @rightBottom;
-webkit-border-bottom-right-radius: @rightBottom; -webkit-border-bottom-right-radius: @rightBottom;
-moz-border-radius-bottomright: @leftBottom;
border-bottom-right-radius: @rightBottom; border-bottom-right-radius: @rightBottom;
border-bottom-left-radius: @leftBottom; border-bottom-left-radius: @leftBottom;
} }
.border-corner-left-radius(@leftTop, @leftBottom) { .border-corner-left-radius(@leftTop, @leftBottom) {
-moz-border-radius-topleft: @leftTop;
-webkit-border-top-left-radius: @leftTop; -webkit-border-top-left-radius: @leftTop;
-moz-border-radius-bottomleft: @leftBottom; -moz-border-radius-topleft: @leftTop;
-webkit-border-bottom-left-radius: @leftBottom; -webkit-border-bottom-left-radius: @leftBottom;
-moz-border-radius-bottomleft: @leftBottom;
border-top-left-radius: @leftTop; border-top-left-radius: @leftTop;
border-bottom-left-radius: @leftBottom; border-bottom-left-radius: @leftBottom;
} }
.border-corner-right-radius(@rightTop, @rightBottom) { .border-corner-right-radius(@rightTop, @rightBottom) {
-moz-border-radius-topright: @rightTop;
-webkit-border-top-right-radius: @rightTop; -webkit-border-top-right-radius: @rightTop;
-moz-border-radius-bottomright: @rightBottom; -moz-border-radius-topright: @rightTop;
-webkit-border-bottom-right-radius: @rightBottom; -webkit-border-bottom-right-radius: @rightBottom;
-moz-border-radius-bottomright: @rightBottom;
border-top-right-radius: @rightTop; border-top-right-radius: @rightTop;
border-bottom-right-radius: @rightBottom; border-bottom-right-radius: @rightBottom;

6
typescript/case/button/icon/iconhalf/icon.half.image.ts

@ -0,0 +1,6 @@
import { IconButton } from "../../../../base/single/button/buttons/button.icon";
export declare class HalfIconButton extends IconButton {
static xtype: string;
static EVENT_CHANGE: string;
}

6
typescript/case/button/icon/iconhalf/icon.half.ts

@ -0,0 +1,6 @@
import { BasicButton } from "../../../../base/single/button/button.basic";
export declare class HalfButton extends BasicButton {
static xtype: string;
static EVENT_CHANGE: string;
}

2
webpack/attachments.js

@ -60,7 +60,7 @@ const basicAttachmentMap = {
"src/core/func/**/*.js", "src/core/func/**/*.js",
"src/core/2.base.js", "src/core/2.base.js",
"src/core/3.ob.js", "src/core/3.ob.js",
"src/core/6.inject.js", "src/core/5.inject.js",
"src/core/utils/*.js", "src/core/utils/*.js",
"i18n/i18n.cn.js", "i18n/i18n.cn.js",
"_mobile/date.i18n.cn.js", "_mobile/date.i18n.cn.js",

Loading…
Cancel
Save