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/)
|
||||
|
||||
|
||||
Заполнится по ходу
|
||||
Предназначен для асинхронной работы с ресурсами используемыми на веб-проектах.
|
||||
|
||||
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
|
||||
- ✨Magic ✨
|
||||
## Термины и определения в контексте фреймворка
|
||||
`Плагин` - сущность включающая в себя модуль, js-, css-файлы, шрифты.
|
||||
|
||||
`Модуль` - составляющая плагина, определяемая как основной файл плагина (его наличие не обязательно в плагине)
|
||||
|
||||
`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
|
||||
|
||||
|
||||
+25
-4
@@ -462,14 +462,17 @@ window.kit = window.kit || {};
|
||||
return module.exports;
|
||||
};
|
||||
|
||||
__proto.exec = function (deps, callback, argArr = []) {
|
||||
__proto.exec = function (deps, callback, argArr = [], context = undefined) {
|
||||
|
||||
if(typeof deps === 'function') {
|
||||
context = argArr;
|
||||
argArr = callback;
|
||||
callback = deps;
|
||||
deps = [];
|
||||
}
|
||||
|
||||
if(context === undefined) {
|
||||
context = this;
|
||||
}
|
||||
if(!Array.isArray(deps) ) {
|
||||
deps = [deps];
|
||||
}
|
||||
@@ -497,10 +500,10 @@ window.kit = window.kit || {};
|
||||
|
||||
if(depsPromise) {
|
||||
depsPromise.then(function(){
|
||||
callback.apply(this, getArgArr());
|
||||
callback.apply(context, getArgArr());
|
||||
});
|
||||
} 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) {
|
||||
if(this.plugins.hasOwnProperty(pluginId)) {
|
||||
return this.plugins[pluginId];
|
||||
@@ -582,6 +602,7 @@ window.kit = window.kit || {};
|
||||
manager.install('config');
|
||||
|
||||
global.PluginManager = manager;
|
||||
global.ready = manager.ready.bind(manager);
|
||||
global.exec = manager.exec.bind(manager);
|
||||
global.require = manager.require.bind(manager);
|
||||
})(kit || window);
|
||||
|
||||
@@ -100,7 +100,7 @@ kit.PluginManager.registerPlugins({
|
||||
],
|
||||
deps: ['bsCore'],
|
||||
onRegister: function (plugin) {
|
||||
kit.PluginManager.install('collapse')
|
||||
//kit.PluginManager.install('collapse')
|
||||
},
|
||||
onInstall: function (plugin) {
|
||||
},
|
||||
@@ -114,7 +114,7 @@ kit.PluginManager.registerPlugins({
|
||||
],
|
||||
deps: ['jquery'],
|
||||
onRegister: function (plugin) {
|
||||
kit.PluginManager.install(plugin.id)
|
||||
//kit.PluginManager.install(plugin.id)
|
||||
},
|
||||
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");?>
|
||||
<?
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<div class="kit-wrapper">
|
||||
|
||||
<h1 style="text-align: center;">BX.KIT FRONT-END FRAMEWORK</h1>
|
||||
|
||||
Reference in New Issue
Block a user