This commit is contained in:
Bellord
2026-09-02 17:02:57 +03:00
parent ca94090b05
commit 5f8bc945f8
8 changed files with 16 additions and 11 deletions
+6
View File
@@ -707,6 +707,7 @@ kit.config = kit.config || {};
* @typedef PluginManager.register * @typedef PluginManager.register
* @param pluginId * @param pluginId
* @param config * @param config
* @return Plugin
*/ */
PluginManager.prototype.register = function (pluginId, config = {}) { PluginManager.prototype.register = function (pluginId, config = {}) {
if(typeof pluginId !== 'string' || pluginId === ''){ if(typeof pluginId !== 'string' || pluginId === ''){
@@ -721,6 +722,7 @@ kit.config = kit.config || {};
plugin.setPluginManager(this); plugin.setPluginManager(this);
this.plugins[pluginId] = plugin; this.plugins[pluginId] = plugin;
} }
return plugin;
}; };
/** /**
@@ -1102,12 +1104,16 @@ kit.config = kit.config || {};
if(typeof window === 'object'){ if(typeof window === 'object'){
window.__pmConfig__ = global.config; window.__pmConfig__ = global.config;
} }
module.exports = global.config;
}, },
onInstall: function(plugin){ onInstall: function(plugin){
if(typeof window === 'object'){ if(typeof window === 'object'){
if(window.hasOwnProperty('__PluginManagerConfigHandler__') && typeof __PluginManagerConfigHandler__ === 'function'){ if(window.hasOwnProperty('__PluginManagerConfigHandler__') && typeof __PluginManagerConfigHandler__ === 'function'){
manager.registerPlugins(__PluginManagerConfigHandler__()); manager.registerPlugins(__PluginManagerConfigHandler__());
} }
if (Array.isArray(plugin?.module?.exports?.autoloadPluginList)) {
manager.exec(plugin.module.exports.autoloadPluginList);
}
} }
}, },
}); });
+1 -1
View File
File diff suppressed because one or more lines are too long
-3
View File
@@ -41,9 +41,6 @@ var __PluginManagerConfigHandler__ = function() {
type: 'HMD', type: 'HMD',
alias: ['jquery/proxy'], alias: ['jquery/proxy'],
deps: [], deps: [],
onInstall: function(plugin){
plugin.module.exports.onInstall(plugin);
},
}, },
jQuery: { jQuery: {
path: root + '/jquery', path: root + '/jquery',
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
kit.exec('jquery/proxy');
-1
View File
@@ -1 +0,0 @@
kit.exec("jquery/proxy");
+7 -3
View File
@@ -33,20 +33,21 @@ __PluginManager__.register('jQueryProxy',function(require, exports, module, glob
return window.hasOwnProperty('jQuery') && Object.is(window.jQuery, J); return window.hasOwnProperty('jQuery') && Object.is(window.jQuery, J);
}; };
JQueryProxy.prototype.onInstall = function(plugin){ JQueryProxy.prototype.onInstall = function(plugin){
var self = this;
if(!this.hasJQuery()){ if(!this.hasJQuery()){
(function(w){ (function(w){
w.$ = w.jQuery = J; w.$ = w.jQuery = J;
plugin.module.initer = J; self.initer = J;
})(window); })(window);
} }
}; };
JQueryProxy.prototype.onJQueryInstall = function(jQueryPlugin, jQueryProxyPlugin){ JQueryProxy.prototype.onJQueryInstall = function(jQueryPlugin, jQueryProxyPlugin){
var self = this; var self = this;
if(!jQueryProxyPlugin.module.initer){ if(!self?.initer){
return; return;
} }
(function(w){ (function(w){
var q = jQueryProxyPlugin.module.initer.queue; var q = self.initer.queue;
if(self.hasJQueryIniter()){ if(self.hasJQueryIniter()){
w.$ = w.jQuery = jQueryPlugin.module.exports; w.$ = w.jQuery = jQueryPlugin.module.exports;
for (var ch of q){ for (var ch of q){
@@ -65,4 +66,7 @@ __PluginManager__.register('jQueryProxy',function(require, exports, module, glob
}; };
module.exports = new JQueryProxy(); module.exports = new JQueryProxy();
}).install(function(){
var jQueryProxy = __PluginManager__.require('jQueryProxy');
jQueryProxy.onInstall();
}); });
+1 -1
View File
@@ -1 +1 @@
__PluginManager__.register("jQueryProxy",function(require,exports,module,global){var init=function(c,prop="$",args=[]){c.push([prop,args]);return new Proxy({},{get(target,prop){return function(){return init(c,prop,arguments)}}})};var J=function(){if(!J.init){J.init=true;__PluginManager__.ready("jQuery")}var c=[];J.queue.push(c);return init(c,"$",arguments)};J.queue=[];J.init=false;function JQueryProxy(){}JQueryProxy.prototype.J=J;JQueryProxy.prototype.hasJQuery=function(){return window.hasOwnProperty("jQuery")&&window.jQuery.hasOwnProperty("fn")};JQueryProxy.prototype.hasJQueryIniter=function(){return window.hasOwnProperty("jQuery")&&Object.is(window.jQuery,J)};JQueryProxy.prototype.onInstall=function(plugin){if(!this.hasJQuery()){(function(w){w.$=w.jQuery=J;plugin.module.initer=J})(window)}};JQueryProxy.prototype.onJQueryInstall=function(jQueryPlugin,jQueryProxyPlugin){var self=this;if(!jQueryProxyPlugin.module.initer){return}(function(w){var q=jQueryProxyPlugin.module.initer.queue;if(self.hasJQueryIniter()){w.$=w.jQuery=jQueryPlugin.module.exports;for(var ch of q){var root=w;for(var c of ch){try{root=root[c[0]].apply(root,c[1])}catch(e){console.warn(ch,e);break}}}}})(window)};module.exports=new JQueryProxy}); __PluginManager__.register("jQueryProxy",function(r,n,e,t){function o(){o.init||(o.init=!0,__PluginManager__.ready("jQuery"));var r=[];return o.queue.push(r),u(r,"$",arguments)}var u=function(e,r="$",n=[]){return e.push([r,n]),new Proxy({},{get(r,n){return function(){return u(e,n,arguments)}}})};function i(){}o.queue=[],o.init=!1,i.prototype.J=o,i.prototype.hasJQuery=function(){return window.hasOwnProperty("jQuery")&&window.jQuery.hasOwnProperty("fn")},i.prototype.hasJQueryIniter=function(){return window.hasOwnProperty("jQuery")&&Object.is(window.jQuery,o)},i.prototype.onInstall=function(r){var n,e=this;this.hasJQuery()||((n=window).$=n.jQuery=o,e.initer=o)},i.prototype.onJQueryInstall=function(r,n){var e=this;if(e?.initer){var t=window,o=e.initer.queue;if(e.hasJQueryIniter()){t.$=t.jQuery=r.module.exports;for(var u of o){var i,a=t;for(i of u)try{a=a[i[0]].apply(a,i[1])}catch(r){console.warn(u,r);break}}}}},e.exports=new i}).install(function(){__PluginManager__.require("jQueryProxy").onInstall()});