mirror of
https://bitbucket.org/bellord13/kit.git
synced 2026-11-13 19:06:11 +03:00
fix
This commit is contained in:
@@ -2,14 +2,60 @@
|
|||||||
## is a dependency wt.core [](https://bitbucket.org/andreyleoua/wt.core/)
|
## is a dependency wt.core [](https://bitbucket.org/andreyleoua/wt.core/)
|
||||||
|
|
||||||
|
|
||||||
Заполнится по ходу
|
Предназначен для асинхронной работы с ресурсами используемыми на веб-проектах.
|
||||||
|
|
||||||
Dillinger is a cloud-enabled, mobile-ready, offline-storage compatible,
|
|
||||||
AngularJS-powered HTML5 Markdown editor.
|
|
||||||
|
|
||||||
- Type some Markdown on the left
|
## Термины и определения в контексте фреймворка
|
||||||
- See HTML in the right
|
`Плагин` - сущность включающая в себя модуль, js-, css-файлы, шрифты.
|
||||||
- ✨Magic ✨
|
|
||||||
|
`Модуль` - составляющая плагина, определяемая как основной файл плагина (его наличие не обязательно в плагине)
|
||||||
|
|
||||||
|
`PluginManager` - класс для работы с плагинами
|
||||||
|
|
||||||
|
## Базовые принципы
|
||||||
|
|
||||||
|
Работа с плагином сводится к 5 остновным пунктам:
|
||||||
|
|
||||||
|
| этап | метод |
|
||||||
|
| ------ | ------ |
|
||||||
|
| Регистрация | registerPlugin(`pluginId`, `config`) или registerPlugins(`object`) |
|
||||||
|
| Загрузка | load(`pluginId`, `callback`) |
|
||||||
|
| Установка | install(`pluginId`, `callback`) |
|
||||||
|
| Запрос | require(`pluginId`, `callback`) |
|
||||||
|
|
||||||
|
Запуск исполняемого кода с готовыми зависимостями:
|
||||||
|
|
||||||
|
|
||||||
|
## Пример конфигурации
|
||||||
|
|
||||||
|
```sh
|
||||||
|
kit.PluginManager.registerPlugin('menu', {
|
||||||
|
path: kit.config.defaultPath + '/menu',
|
||||||
|
module: '/menu.js',
|
||||||
|
type: 'loader',
|
||||||
|
css: [
|
||||||
|
'/menu.css'
|
||||||
|
],
|
||||||
|
deps: ['lib', 'align', 'utils']
|
||||||
|
}
|
||||||
|
);
|
||||||
|
```
|
||||||
|
|
||||||
|
## Использование
|
||||||
|
|
||||||
|
```sh
|
||||||
|
PluginManager.exec(deps, callback, argArr, context)
|
||||||
|
```
|
||||||
|
|
||||||
|
Запуск исполняемого кода с готовыми зависимостями после DOMContentLoaded или при загруженной странице :
|
||||||
|
|
||||||
|
```sh
|
||||||
|
PluginManager.ready(deps, callback)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
✨ Magic ✨
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
|
|||||||
+25
-4
@@ -462,14 +462,17 @@ window.kit = window.kit || {};
|
|||||||
return module.exports;
|
return module.exports;
|
||||||
};
|
};
|
||||||
|
|
||||||
__proto.exec = function (deps, callback, argArr = []) {
|
__proto.exec = function (deps, callback, argArr = [], context = undefined) {
|
||||||
|
|
||||||
if(typeof deps === 'function') {
|
if(typeof deps === 'function') {
|
||||||
|
context = argArr;
|
||||||
argArr = callback;
|
argArr = callback;
|
||||||
callback = deps;
|
callback = deps;
|
||||||
deps = [];
|
deps = [];
|
||||||
}
|
}
|
||||||
|
if(context === undefined) {
|
||||||
|
context = this;
|
||||||
|
}
|
||||||
if(!Array.isArray(deps) ) {
|
if(!Array.isArray(deps) ) {
|
||||||
deps = [deps];
|
deps = [deps];
|
||||||
}
|
}
|
||||||
@@ -497,10 +500,10 @@ window.kit = window.kit || {};
|
|||||||
|
|
||||||
if(depsPromise) {
|
if(depsPromise) {
|
||||||
depsPromise.then(function(){
|
depsPromise.then(function(){
|
||||||
callback.apply(this, getArgArr());
|
callback.apply(context, getArgArr());
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
callback.apply(this, getArgArr())
|
callback.apply(context, getArgArr())
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -545,6 +548,23 @@ window.kit = window.kit || {};
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
__proto.ready = function(deps, callback) {
|
||||||
|
if(typeof deps === 'function') {
|
||||||
|
callback = deps;
|
||||||
|
deps = [];
|
||||||
|
}
|
||||||
|
if (/complete|interactive|loaded/.test(document.readyState)) {
|
||||||
|
// In case the document has finished parsing, document's readyState will
|
||||||
|
// be one of "complete", "interactive" or (non-standard) "loaded".
|
||||||
|
this.exec(deps, callback);
|
||||||
|
} else {
|
||||||
|
// The document is not ready yet, so wait for the DOMContentLoaded event
|
||||||
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
this.exec(deps, callback);
|
||||||
|
}.bind(this));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
__proto.__getPlugin = function (pluginId) {
|
__proto.__getPlugin = function (pluginId) {
|
||||||
if(this.plugins.hasOwnProperty(pluginId)) {
|
if(this.plugins.hasOwnProperty(pluginId)) {
|
||||||
return this.plugins[pluginId];
|
return this.plugins[pluginId];
|
||||||
@@ -582,6 +602,7 @@ window.kit = window.kit || {};
|
|||||||
manager.install('config');
|
manager.install('config');
|
||||||
|
|
||||||
global.PluginManager = manager;
|
global.PluginManager = manager;
|
||||||
|
global.ready = manager.ready.bind(manager);
|
||||||
global.exec = manager.exec.bind(manager);
|
global.exec = manager.exec.bind(manager);
|
||||||
global.require = manager.require.bind(manager);
|
global.require = manager.require.bind(manager);
|
||||||
})(kit || window);
|
})(kit || window);
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ kit.PluginManager.registerPlugins({
|
|||||||
],
|
],
|
||||||
deps: ['bsCore'],
|
deps: ['bsCore'],
|
||||||
onRegister: function (plugin) {
|
onRegister: function (plugin) {
|
||||||
kit.PluginManager.install('collapse')
|
//kit.PluginManager.install('collapse')
|
||||||
},
|
},
|
||||||
onInstall: function (plugin) {
|
onInstall: function (plugin) {
|
||||||
},
|
},
|
||||||
@@ -114,7 +114,7 @@ kit.PluginManager.registerPlugins({
|
|||||||
],
|
],
|
||||||
deps: ['jquery'],
|
deps: ['jquery'],
|
||||||
onRegister: function (plugin) {
|
onRegister: function (plugin) {
|
||||||
kit.PluginManager.install(plugin.id)
|
//kit.PluginManager.install(plugin.id)
|
||||||
},
|
},
|
||||||
onInstall: function (plugin) {
|
onInstall: function (plugin) {
|
||||||
},
|
},
|
||||||
@@ -122,23 +122,16 @@ kit.PluginManager.registerPlugins({
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
kit.exec([], function () {
|
kit.config.debug && (function(){
|
||||||
|
console.log('%ckit.reg', 'color:#2053ff');
|
||||||
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
console.log('%cDOMContentLoaded', 'color:#2053ff');
|
||||||
|
});
|
||||||
|
kit.exec(function () {
|
||||||
|
console.log('%ckit.exec', 'color:#2053ff');
|
||||||
|
});
|
||||||
|
kit.ready(function () {
|
||||||
|
console.log('%ckit.ready', 'color:#2053ff');
|
||||||
|
});
|
||||||
|
}());
|
||||||
|
|
||||||
function _init(){
|
|
||||||
console.log('%ckit._init', 'color:#2053ff');
|
|
||||||
kit.PluginManager.install('jquery');
|
|
||||||
kit.PluginManager.install('toolkit');
|
|
||||||
kit.PluginManager.install('tooltip');
|
|
||||||
kit.PluginManager.install('bsCore');
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (/complete|interactive|loaded/.test(document.readyState)) {
|
|
||||||
// In case the document has finished parsing, document's readyState will
|
|
||||||
// be one of "complete", "interactive" or (non-standard) "loaded".
|
|
||||||
_init();
|
|
||||||
} else {
|
|
||||||
// The document is not ready yet, so wait for the DOMContentLoaded event
|
|
||||||
document.addEventListener("DOMContentLoaded", _init);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
<?require( $_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");?>
|
<?require( $_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");?>
|
||||||
|
<?
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
<div class="kit-wrapper">
|
<div class="kit-wrapper">
|
||||||
|
|
||||||
<h1 style="text-align: center;">BX.KIT FRONT-END FRAMEWORK</h1>
|
<h1 style="text-align: center;">BX.KIT FRONT-END FRAMEWORK</h1>
|
||||||
|
|||||||
Reference in New Issue
Block a user