This commit is contained in:
2021-09-05 20:17:36 +03:00
parent 7310d04755
commit 6297c67201
28 changed files with 2676 additions and 1591 deletions
+20 -5
View File
@@ -1,9 +1,6 @@
/**
* @class kit
* @property {kit.bsCore}
* @property {kit.toolkit}
* @property {kit.Modal}
* @property {kit.cookie}
* @class kitCore
* @extends kitCorePlugins
*/
window.kit = window.kit || {};
(function(global){
@@ -52,6 +49,12 @@ window.kit = window.kit || {};
return this;
};
/**
*
* @param pluginId
* @param {kitModuleTypeLoader|{}} config
* @return {boolean}
*/
__proto.register = function (pluginId, config = {}) {
//console.warn('PluginManager.register: plugin ' + pluginId + ' ('+(this.plugins[pluginId]?this.plugins[pluginId].state:'0')+')');
var defaultPlugin = {
@@ -427,6 +430,12 @@ window.kit = window.kit || {};
return this;
};
/**
* @name kitPluginManagerRequire
* @param {string} pluginId
* @param {callback} callback
* @return {boolean}
*/
__proto.require = function (pluginId, callback) {
//console.warn('PluginManager.require: plugin ' + pluginId + ' ('+(this.plugins[pluginId]?this.plugins[pluginId].state:'0')+')');
@@ -584,11 +593,15 @@ window.kit = window.kit || {};
return undefined;
};
/**
* @class kitConfig
*/
var defaultConfig = {
assetsPath: '',
requiredDependencies: [],
autoloadPluginList: [],
debug: false,
defaultPhoneMask: '+7 (999) 999-99-99',
};
var manager = new PluginManager(global);
manager.register('PluginManager', {
@@ -613,5 +626,7 @@ window.kit = window.kit || {};
global.ready = manager.ready.bind(manager);
global.exec = manager.exec.bind(manager);
global.require = manager.require.bind(manager);
/** @type {kitCore} */
window.__pmGlobal__ = global;
})(kit);
+27 -10
View File
@@ -29,21 +29,12 @@ __PluginManager__.registerPlugins({
type: 'loader',
alias: '$',
},
tooltip: {
path: __pmConfig__.assetsPath + '/tooltip',
module: '/tooltip.js',
type: 'loader',
css: '/tooltip.css',
onInstall: function(){
kit.$('[data-toggle="tooltip"]').tooltip();
},
deps: ['popper', 'bsCore'],
},
popper: {
path: __pmConfig__.assetsPath + '/popper',
alias: 'popper.js',
module: '/popper.js',
type: 'loader',
css: '/popper.css',
},
bsCore: {
path: __pmConfig__.assetsPath + '/bsCore',
@@ -53,6 +44,32 @@ __PluginManager__.registerPlugins({
'/bsCore.css'
]
},
Tooltip: {
path: __pmConfig__.assetsPath + '/tooltip',
module: '/tooltip.js',
type: 'loader',
css: '/tooltip.css',
onInstall: function(){
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new __pmGlobal__.Tooltip(tooltipTriggerEl, {sanitize: false});
});
},
deps: ['popper', 'bsCore'],
},
Popover: {
path: __pmConfig__.assetsPath + '/popover',
module: '/popover.js',
type: 'loader',
css: '/popover.css',
onInstall: function(){
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
return new __pmGlobal__.Popover(popoverTriggerEl);
});
},
deps: ['popper', 'bsCore'],
},
mask: {
path: __pmConfig__.assetsPath + '/mask',
module: '/mask.js',
+20
View File
@@ -0,0 +1,20 @@
/**
* @typedef kitModuleTypeLoader
* @param module {{exports: Object}}
* @param exports {Object}
* @param require {kitPluginManagerRequire}
* @param global {kitCore}
*/
/**
* @typedef {Object} kitCorePlugins
* @property {kitPluginManagerRequire} require
* @property {kitBsCore} bsCore
* @property {kitToolkit} toolkit
* @property {kitModal} Modal
* @property {kitCookie} cookie
* @property {kitConfig} config
* @property {kitTooltip} tooltip
* @property {kitPopover} popover
* @property {kitPopper} popper
*/