mirror of
https://bitbucket.org/bellord13/kit.git
synced 2026-11-13 19:06:11 +03:00
fix
This commit is contained in:
+61
-21
@@ -9,7 +9,7 @@ kit.config = kit.config || {};
|
||||
* @class kitConfig
|
||||
*/
|
||||
var defaultConfig = {
|
||||
version: '2.0',
|
||||
version: '2.1',
|
||||
assetsPath: '',
|
||||
requiredDependencies: [],
|
||||
autoloadPluginList: [],
|
||||
@@ -793,7 +793,7 @@ kit.config = kit.config || {};
|
||||
* @param callback
|
||||
* @param argArr
|
||||
* @param context
|
||||
* @returns {undefined}
|
||||
* @return {Promise}
|
||||
*/
|
||||
PluginManager.prototype.exec = function (deps, callback, argArr = [], context = undefined) {
|
||||
var self = this;
|
||||
@@ -813,7 +813,7 @@ kit.config = kit.config || {};
|
||||
argArr = [];
|
||||
}
|
||||
if(typeof callback !== 'function') {
|
||||
return undefined;
|
||||
callback = function(){};
|
||||
}
|
||||
|
||||
if(global.config && global.config.requiredDependencies) {
|
||||
@@ -823,11 +823,17 @@ kit.config = kit.config || {};
|
||||
var depsPromiseCallback = self.__getDepsPromiseCallback(deps);
|
||||
|
||||
if(depsPromiseCallback) {
|
||||
depsPromiseCallback().then(function(){
|
||||
callback.apply(context, argArr);
|
||||
return depsPromiseCallback().then(function(){
|
||||
return new Promise(function(resolve, reject){
|
||||
callback.apply(context, argArr)
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
} else {
|
||||
callback.apply(context, argArr)
|
||||
return new Promise(function(resolve, reject){
|
||||
callback.apply(context, argArr)
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
@@ -836,11 +842,20 @@ kit.config = kit.config || {};
|
||||
* @see https://requirejs.org/
|
||||
* @param deps
|
||||
* @param callback
|
||||
* @return {Promise}
|
||||
*/
|
||||
__proto.define = function (deps, callback) {
|
||||
var self = this;
|
||||
var context = this;
|
||||
|
||||
if(typeof deps === 'string'){
|
||||
deps = [deps];
|
||||
}
|
||||
|
||||
if(typeof callback !== 'function') {
|
||||
callback = function (){};
|
||||
}
|
||||
|
||||
var depsPromiseCallback = self.__getDepsPromiseCallback(deps);
|
||||
|
||||
var getArgArr = function () {
|
||||
@@ -857,11 +872,17 @@ kit.config = kit.config || {};
|
||||
}.bind(self);
|
||||
|
||||
if(depsPromiseCallback) {
|
||||
depsPromiseCallback().then(function(){
|
||||
callback.apply(context, getArgArr());
|
||||
return depsPromiseCallback().then(function(){
|
||||
return new Promise(function(resolve, reject){
|
||||
callback.apply(context, getArgArr());
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
} else {
|
||||
callback.apply(context, getArgArr())
|
||||
return new Promise(function(resolve, reject){
|
||||
callback.apply(context, getArgArr())
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
@@ -870,8 +891,9 @@ kit.config = kit.config || {};
|
||||
*
|
||||
* @param {(string|string[])} deps
|
||||
* @param {function} callback
|
||||
* @return {Promise}
|
||||
*/
|
||||
__proto.ready = function(deps, callback = undefined) {
|
||||
__proto.ready = function(deps = [], callback = undefined) {
|
||||
var self = this;
|
||||
if(typeof deps === 'function') {
|
||||
callback = deps;
|
||||
@@ -880,19 +902,28 @@ kit.config = kit.config || {};
|
||||
if(typeof callback !== 'function') {
|
||||
callback = function (){};
|
||||
}
|
||||
self.__ready(self.exec, [deps, callback], self);
|
||||
return self.__ready(self.exec, [deps, callback], self);
|
||||
};
|
||||
|
||||
__proto.__ready = function(fn, args = [], context = window) {
|
||||
var promise;
|
||||
var self = this;
|
||||
context = context || this;
|
||||
if (/complete|interactive|loaded/.test(document.readyState)) {
|
||||
fn.apply(context, args);
|
||||
} else {
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
promise = new Promise(function(resolve, reject){
|
||||
fn.apply(context, args);
|
||||
}.bind(this));
|
||||
resolve();
|
||||
});
|
||||
} else {
|
||||
promise = new Promise(function(resolve, reject){
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
resolve();
|
||||
}.bind(this));
|
||||
}).then(function(){
|
||||
return fn.apply(context, args);
|
||||
});
|
||||
}
|
||||
return promise;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -901,7 +932,7 @@ kit.config = kit.config || {};
|
||||
* @param {(string|string[])} deps
|
||||
* @param {function} callback
|
||||
*/
|
||||
__proto.loaded = function(deps, callback = undefined) {
|
||||
__proto.loaded = function(deps = [], callback = undefined) {
|
||||
var self = this;
|
||||
if(typeof deps === 'function') {
|
||||
callback = deps;
|
||||
@@ -910,19 +941,28 @@ kit.config = kit.config || {};
|
||||
if(typeof callback !== 'function') {
|
||||
callback = function (){};
|
||||
}
|
||||
self.__loaded(self.exec, [deps, callback], self);
|
||||
return self.__loaded(self.exec, [deps, callback], self);
|
||||
};
|
||||
|
||||
__proto.__loaded = function(fn, args = [], context = window) {
|
||||
var promise;
|
||||
var self = this;
|
||||
context = context || this;
|
||||
if (/complete|interactive|loaded/.test(document.readyState)) {
|
||||
fn.apply(context, args);
|
||||
} else {
|
||||
window.addEventListener("load", function () {
|
||||
promise = new Promise(function(resolve, reject){
|
||||
fn.apply(context, args);
|
||||
}.bind(this));
|
||||
resolve();
|
||||
});
|
||||
} else {
|
||||
promise = new Promise(function(resolve, reject){
|
||||
window.addEventListener("load", function () {
|
||||
resolve();
|
||||
}.bind(this));
|
||||
}).then(function(){
|
||||
return fn.apply(context, args);
|
||||
});
|
||||
}
|
||||
return promise;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user