Browse Source

KERNEL-1646 refactor: 去掉config中传的options

master
Kira 5 years ago
parent
commit
eaaca33db2
  1. 1
      src/core/base.js
  2. 25
      src/core/inject.js
  3. 5
      src/core/shortcut.js

1
src/core/base.js

@ -456,6 +456,7 @@ if (!_global.BI) {
while (BI.prepares && BI.prepares.length > 0) { while (BI.prepares && BI.prepares.length > 0) {
BI.prepares.shift()(); BI.prepares.shift()();
} }
BI.initialized = true;
}, },
has: function (obj, keys) { has: function (obj, keys) {

25
src/core/inject.js

@ -48,7 +48,7 @@
}; };
var configFunctions = {}; var configFunctions = {};
BI.config = function (type, configFn, options) { BI.config = function (type, configFn) {
if (BI.initialized) { if (BI.initialized) {
if (constantInjection[type]) { if (constantInjection[type]) {
return (constantInjection[type] = configFn(constantInjection[type])); return (constantInjection[type] = configFn(constantInjection[type]));
@ -64,36 +64,25 @@
if (!configFunctions[type]) { if (!configFunctions[type]) {
configFunctions[type] = []; configFunctions[type] = [];
BI.prepares.push(function () { BI.prepares.push(function () {
var stack = [], head, count, index; var queue = configFunctions[type];
for (count = configFunctions[type].length, index = count - 1; index >= 0; index--) { for (var i = 0; i < queue.length; i++) {
head = configFunctions[type][index];
stack.push(index);
if (head.options && head.options.prevent) {
break;
}
}
for (count = stack.length, index = count - 1; index >= 0; index--) {
head = configFunctions[type][stack[index]];
if (constantInjection[type]) { if (constantInjection[type]) {
constantInjection[type] = head.fn(constantInjection[type]); constantInjection[type] = queue[i](constantInjection[type]);
continue; continue;
} }
if (providerInjection[type]) { if (providerInjection[type]) {
if (!providers[type]) { if (!providers[type]) {
providers[type] = new providerInjection[type](); providers[type] = new providerInjection[type]();
} }
head.fn(providers[type]); queue[i](providers[type]);
continue; continue;
} }
BI.Plugin.configWidget(type, head.fn); BI.Plugin.configWidget(type, queue[i]);
} }
configFunctions[type] = null; configFunctions[type] = null;
}); });
} }
configFunctions[type].push({ configFunctions[type].push(configFn);
fn: configFn,
options: options
})
}; };
var actions = {}; var actions = {};

5
src/core/shortcut.js

@ -22,10 +22,7 @@
BI.createWidget = function (item, options, context) { BI.createWidget = function (item, options, context) {
// 先把准备环境准备好 // 先把准备环境准备好
while (BI.prepares && BI.prepares.length > 0) { BI.init();
BI.prepares.shift()();
}
BI.initialized = true;
var el, w; var el, w;
item || (item = {}); item || (item = {});
if (BI.isWidget(options)) { if (BI.isWidget(options)) {

Loading…
Cancel
Save