mirror of
https://bitbucket.org/bellord13/kit.git
synced 2026-11-13 19:06:11 +03:00
fix
This commit is contained in:
@@ -36,72 +36,16 @@ var __PluginManagerConfigHandler__ = function() {
|
||||
type: 'HMD',
|
||||
},
|
||||
jQueryProxy: {
|
||||
path: root + '/jquery/proxy',
|
||||
js: '/jquery-proxy.min.js',
|
||||
type: 'HMD',
|
||||
handler: function(require, exports, module, global){
|
||||
init = function(c, prop = '$', args = []){
|
||||
c.push([prop, args]);
|
||||
alias: [],
|
||||
deps: [],
|
||||
onInstall: function(plugin){
|
||||
var jQueryPlugin = __pmGlobal__.pm.plugins.jQuery
|
||||
if(jQueryPlugin.isInstalled()){
|
||||
|
||||
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.onJQueryRegister = function(plugin){
|
||||
if(!this.hasJQuery()){
|
||||
(function(w){
|
||||
w.$ = w.jQuery = J;
|
||||
plugin.module.initer = J;
|
||||
})(window);
|
||||
}
|
||||
};
|
||||
JQueryProxy.prototype.onJQueryInstall = function(plugin){
|
||||
var self = this;
|
||||
if(!plugin.module.initer){
|
||||
return;
|
||||
}
|
||||
(function(w){
|
||||
var q = plugin.module.initer.queue;
|
||||
if(self.hasJQueryIniter()){
|
||||
w.$ = w.jQuery = plugin.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();
|
||||
},
|
||||
},
|
||||
jQuery: {
|
||||
@@ -114,13 +58,16 @@ var __PluginManagerConfigHandler__ = function() {
|
||||
plugin.module.exports = window.jQuery;
|
||||
plugin.config.module = '';
|
||||
} else {
|
||||
plugin.proxy = kit.require('jQueryProxy');
|
||||
plugin.proxy.onJQueryRegister(plugin);
|
||||
var jQueryProxyPlugin = __pmGlobal__.pm.plugins.jQueryProxy;
|
||||
if(jQueryProxyPlugin.isInstalled()){
|
||||
jQueryProxyPlugin.module.exports.onJQueryRegister(plugin);
|
||||
}
|
||||
}
|
||||
},
|
||||
onInstall: function(plugin){
|
||||
if(plugin.proxy){
|
||||
plugin.proxy.onJQueryInstall(plugin);
|
||||
var jQueryProxyPlugin = __pmGlobal__.pm.plugins.jQueryProxy;
|
||||
if(jQueryProxyPlugin.isInstalled()){
|
||||
jQueryProxyPlugin.module.exports.onJQueryInstall(plugin);
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user