Files
kit/assets/core/core.plugins.config.js
T
2024-07-04 20:19:16 +03:00

453 lines
15 KiB
JavaScript

var __PluginManagerConfigHandler__ = function() {
var root = __pmConfig__.assetsPath;
var hasJQuery = function(){
return window.hasOwnProperty('jQuery') && window.jQuery.hasOwnProperty('fn');
}
return {
menu: {
path: root + '/menu',
module: '/menu.js',
css: [
'/menu.css'
],
type: 'HMD',
deps: ['lib', 'align', 'dataStructures', 'animations', 'userAction', 'Collection', 'support', 'ActionCollection', 'Action', 'Viewer']
},
lib: {
path: root + '/lib',
module: '/lib.js',
type: 'HMD',
},
align: {
path: root + '/align',
module: '/align.js',
type: 'HMD',
deps: ['support']
},
flexKit: {
path: root + '/flex-kit',
css: '/flex-kit.css'
},
support: {
path: root + '/support',
module: '/support.min.js',
type: 'HMD',
},
jqueryProxy: {
type: 'HMD',
handler: function(require, exports, module, global){
init = function(c, prop = '$', args = []){
c.push([prop, args]);
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: {
path: root + '/jquery',
module: '/jquery.min.js',
type: 'UMD',
alias: ['$', 'jQuery'],
onRegister: function (plugin) {
if(hasJQuery()){
plugin.module.exports = window.jQuery;
plugin.config.module = '';
} else {
plugin.proxy = kit.require('jqueryProxy');
plugin.proxy.onJQueryRegister(plugin);
}
},
onInstall: function(plugin){
if(plugin.proxy){
proxy.onJQueryInstall(plugin);
}
},
},
popper: {
path: root + '/popper',
alias: 'popper.js',
module: '/popper.js',
type: 'HMD',
css: '/popper.css',
},
bsCore: {
path: root + '/bsCore',
module: '/bsCore.min.js',
type: 'HMD',
css: [
'/bsCore.css'
]
},
bsToast: {
path: root + '/bsToast',
module: '/bsToast.js',
type: 'HMD',
deps: ['bsCore'],
},
bsToastService: {
path: root + '/bsToastService',
module: '/bsToastService.js',
type: 'HMD',
css: [
'/bsToastService.css'
],
deps: ['bsToast', 'support', 'Collection'],
},
Tooltip: {
path: root + '/tooltip',
module: '/tooltip.js',
type: 'HMD',
css: '/tooltip.css',
onInstall: function (plugin) {
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return __pmGlobal__.Tooltip.getOrCreateInstance(tooltipTriggerEl, {sanitize: false});
});
},
deps: ['popper', 'bsCore'],
},
Tooltip2: {
path: root + '/tooltip2',
module: '/tooltip2.js',
type: 'HMD',
css: '/tooltip2.css',
onInstall: function (plugin) {
console.log('tt2 install');
document.addEventListener('mouseover', function (event) {
// console.log(event);
// console.log(event.target);
if (!(event.target && event.target.dataset.kitTooltip2 === 'autoload')) {
return;
}
// console.log(1);
if (kit.support.getNodeData(event.target, 'tooltip2')) {
return;
}
// console.log(2);
var tooltip = new __pmGlobal__.Tooltip2(event.target);
tooltip.run();
tooltip.show();
});
// var elements = [].slice.call(document.querySelectorAll('[data-kit-tooltip2="autoload"]'));
// elements.map(function (element) {
// var tooltip = new __pmGlobal__.Tooltip2(element);
// tooltip.run();
// console.log(tooltip);
// });
},
deps: ['Viewer', 'support', 'ActionCollection', 'Action', 'userAction', 'align', 'Collection', 'animations'],
},
Popover: {
path: root + '/popover',
module: '/popover.js',
type: 'HMD',
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', 'Tooltip'],
},
mask: {
path: root + '/mask',
module: '/mask.js',
type: 'HMD',
deps: ['jQuery'],
},
toolkit: {
path: root + '/toolkit',
module: '/toolkit.min.js',
type: 'HMD',
css: ['/toolkit.css'],
deps: ['jQuery', 'mask', 'support'],
},
Modal: {
path: root + '/modal',
module: '/modal.min.js',
type: 'HMD',
css: [
'/modal.css',
],
deps: ['bsCore'],
onRegister: function (plugin) {
plugin.onLoadConditionHandler = function (event) {
if (event.target && event.target.dataset && event.target.dataset.bsTarget && event.target.dataset.bsToggle === 'modal') {
kit.exec(plugin.id, function () {
var newEvent = new Event("click");
event.target.dispatchEvent(newEvent);
});
}
};
window.addEventListener('click', plugin.onLoadConditionHandler, false);
},
onInstall: function (plugin) {
if (plugin.onLoadConditionHandler) {
window.removeEventListener('click', plugin.onLoadConditionHandler, false);
}
},
},
collapse: {
path: root + '/collapse',
module: '/collapse.min.js',
type: 'HMD',
css: [
'/collapse.css',
],
deps: ['bsCore'],
},
datepicker: {
path: root + '/datepicker',
module: '/js/datepicker.js',
type: 'HMD',
css: [
'/css/datepicker.css',
],
deps: ['jQuery'],
},
cookie: {
path: root + '/cookie',
module: '/cookie.min.js',
type: 'HMD',
},
animations: {
path: root + '/animations',
css: '/animations.css',
module: '/animations.js',
type: 'HMD',
},
Collection: {
path: root + '/collection',
module: '/collection.js',
type: 'HMD',
deps: ['support'],
},
dataStructures: {
path: root + '/dataStructures',
module: '/dataStructures.min.js',
type: 'HMD',
},
userAction: {
path: root + '/userAction',
module: '/userAction.js',
type: 'HMD',
deps: ['support', 'ActionCollection', 'Action', 'Viewer'],
},
Viewer: {
path: root + '/Viewer',
module: '/Viewer.js',
type: 'HMD',
deps: ['Collection', 'support', 'ActionCollection', 'Action'],
},
ActionCollection: {
path: root + '/ActionCollection',
module: '/ActionCollection.js',
type: 'HMD',
deps: ['Collection', 'support', 'Action'],
},
Action: {
path: root + '/Action',
module: '/Action.js',
type: 'HMD',
deps: ['support'],
},
date: {
path: root + '/date',
module: '/date.js',
type: 'HMD',
deps: [],
},
testing: {
path: root + '/testing',
module: '/testing.js',
type: 'module',
deps: ['log'],
},
log: {
path: root + '/log',
module: '/log.js',
css: '/log.css',
type: 'HMD',
deps: ['support', 'Collection', 'lib']
},
fancybox: {
path: root + '/fancybox',
css: '/fancybox.css',
js: '/fancybox.umd.js',
},
lightGallery: {
path: root + '/lightGallery',
css: '/lightGallery.css',
js: '/lightGallery.js',
deps: ['jQuery'],
},
owlCarousel: {
path: root + '/owlCarousel',
css: '/owlCarousel.css',
js: '/owlCarousel.js',
deps: ['jQuery'],
},
Chosen: {
path: root + '/chosen',
css: '/chosen.css',
js: '/chosen.jquery.js',
deps: ['jQuery'],
},
makeCSSAnimations: {
path: root + '/makeCSSAnimations',
js: '/makeCSSAnimations.js',
deps: ['jQuery', 'support'],
},
mCustomScrollbar: {
path: root + '/mCustomScrollbar',
alias: 'malihu-custom-scrollbar-plugin',
js: '/mCustomScrollbar.js',
css: '/jquery.mCustomScrollbar.css',
deps: ['jQuery', 'jqueryMousewheel'],
onInstall: function (plugin) {
plugin.module.exports(kit.require('jQuery'));
}
},
jqueryMousewheel: {
path: root + '/jqueryMousewheel',
alias: 'jquery-mousewheel',
js: '/jquery.mousewheel.js',
deps: ['jQuery'],
onInstall: function (plugin) {
plugin.module.exports(kit.require('jQuery'));
}
},
jqueryLazy: {
path: root + '/jquery-lazy',
alias: 'jquery-lazy',
js: [
'/jquery.lazy.min.js',
'/jquery.lazy.plugins.min.js',
],
deps: ['jQuery'],
},
slickCarousel: {
path: root + '/slickCarousel',
alias: ['slick', 'slick-carousel'],
js: '/slick.min.js',
css: [
'/slick.css',
'/slick-theme.css',
],
deps: ['jQuery'],
},
mustache: {
path: root + '/mustache',
alias: ['mustache.js'],
js: '/mustache.js',
deps: [],
},
bxSlider: {
path: root + '/bxSlider',
module: '/jquery.bxslider.min.js',
css: [
'/jquery.bxslider.min.css',
],
type: 'default',
deps: ['jQuery'],
},
selectric: {
path: root + '/selectric',
module: '/jquery.selectric.min.js',
css: [
'/selectric.css',
],
type: 'UMD',
alias: ['jquerySelectric'],
deps: ['jQuery'],
},
jBox: {
path: root + '/jBox',
module: '/jBox.min.js',
css: [
'/jBox.min.css',
],
type: 'UMD',
deps: ['jQuery'],
},
intlTelInput: {
path: root + '/intl-tel-input',
module: '/js/intlTelInput.min.js',
css: [
'/css/intlTelInput.min.css',
],
type: 'UMD',
alias: ['intl-tel-input'],
},
autoComplete: {
path: root + '/autoComplete',
module: '/autoComplete.min.js',
css: [
'/css/autoComplete.css',
],
type: 'HMD',
},
};
};