This commit is contained in:
2021-10-03 20:06:12 +03:00
parent dee5c19f48
commit a0a6a9b710
11 changed files with 459 additions and 168 deletions
+18 -7
View File
@@ -436,12 +436,13 @@ window.kit = window.kit || {};
* @return {boolean}
*/
__proto.require = function (pluginId, callback) {
//console.warn('PluginManager.require: plugin ' + pluginId + ' ('+(this.plugins[pluginId]?this.plugins[pluginId].state:'0')+')');
var plugin = this.__getPlugin(pluginId);
if(plugin) {
pluginId = plugin.id;
if(!plugin) {
console.warn('PluginManager.require: plugin ' + pluginId + ' not found ('+(this.plugins[pluginId]?this.plugins[pluginId].state:'0')+')');
return undefined;
}
pluginId = plugin.id;
var module = plugin.module;
if(!this.__checkState(pluginId, stateList.registered)) {
@@ -578,15 +579,25 @@ window.kit = window.kit || {};
if(this.plugins.hasOwnProperty(pluginId)) {
return this.plugins[pluginId];
}
var _pluginId;
var _pluginId, alias;
for (_pluginId in this.plugins) {
if(this.plugins.hasOwnProperty(_pluginId) && this.plugins[_pluginId].config.alias.indexOf(pluginId) !== -1) {
return this.plugins[_pluginId];
}
}
_pluginId = pluginId[0].toUpperCase() + pluginId.slice(1);
if(_pluginId !== pluginId) {
return this.__getPlugin(_pluginId);
var pluginIdLowerCase = pluginId.toLowerCase();
for (_pluginId in this.plugins) {
if(!this.plugins.hasOwnProperty(_pluginId)) {
continue;
}
if(pluginIdLowerCase === _pluginId.toLowerCase()) {
return this.plugins[_pluginId];
}
for(alias of this.plugins[_pluginId].config.alias) {
if(pluginIdLowerCase === alias.toLowerCase()) {
return this.plugins[_pluginId];
}
}
}
return undefined;
};
+19 -4
View File
@@ -6,7 +6,7 @@ __PluginManager__.registerPlugins({
'/menu.css'
],
type: 'loader',
deps: ['lib', 'align', 'utils', 'animations']
deps: ['lib', 'align', 'dataStructures', 'animations']
},
lib: {
path: __pmConfig__.assetsPath + '/lib',
@@ -18,9 +18,9 @@ __PluginManager__.registerPlugins({
module: '/align.js',
type: 'loader',
},
utils: {
path: __pmConfig__.assetsPath + '/utils',
module: '/utils.js',
support: {
path: __pmConfig__.assetsPath + '/support',
module: '/support.js',
type: 'loader',
},
jquery: {
@@ -147,6 +147,21 @@ __PluginManager__.registerPlugins({
module: '/animations.js',
type: 'loader',
},
Collection: {
path: __pmConfig__.assetsPath + '/collection',
module: '/collection.js',
type: 'loader',
},
dataStructures: {
path: __pmConfig__.assetsPath + '/dataStructures',
module: '/dataStructures.js',
type: 'loader',
},
UserActionManager: {
path: __pmConfig__.assetsPath + '/UserActionManager',
module: '/UserActionManager.js',
type: 'loader',
},
});