From 5f8bc945f801324e240948e11b926848fb666baa Mon Sep 17 00:00:00 2001 From: Bellord Date: Wed, 2 Sep 2026 17:02:57 +0300 Subject: [PATCH] fix --- assets/core/core.js | 6 ++++++ assets/core/core.min.js | 2 +- assets/core/core.plugins.config.js | 3 --- assets/core/core.plugins.config.min.js | 2 +- assets/jquery/proxy/init.js | 1 - assets/jquery/proxy/init.min.js | 1 - assets/jquery/proxy/jquery-proxy.js | 10 +++++++--- assets/jquery/proxy/jquery-proxy.min.js | 2 +- 8 files changed, 16 insertions(+), 11 deletions(-) delete mode 100644 assets/jquery/proxy/init.js delete mode 100644 assets/jquery/proxy/init.min.js diff --git a/assets/core/core.js b/assets/core/core.js index 5218f4d..8e252da 100644 --- a/assets/core/core.js +++ b/assets/core/core.js @@ -707,6 +707,7 @@ kit.config = kit.config || {}; * @typedef PluginManager.register * @param pluginId * @param config + * @return Plugin */ PluginManager.prototype.register = function (pluginId, config = {}) { if(typeof pluginId !== 'string' || pluginId === ''){ @@ -721,6 +722,7 @@ kit.config = kit.config || {}; plugin.setPluginManager(this); this.plugins[pluginId] = plugin; } + return plugin; }; /** @@ -1102,12 +1104,16 @@ kit.config = kit.config || {}; if(typeof window === 'object'){ window.__pmConfig__ = global.config; } + module.exports = global.config; }, onInstall: function(plugin){ if(typeof window === 'object'){ if(window.hasOwnProperty('__PluginManagerConfigHandler__') && typeof __PluginManagerConfigHandler__ === 'function'){ manager.registerPlugins(__PluginManagerConfigHandler__()); } + if (Array.isArray(plugin?.module?.exports?.autoloadPluginList)) { + manager.exec(plugin.module.exports.autoloadPluginList); + } } }, }); diff --git a/assets/core/core.min.js b/assets/core/core.min.js index 3b2b9ac..841dc48 100644 --- a/assets/core/core.min.js +++ b/assets/core/core.min.js @@ -1 +1 @@ -var kit;kit=window.kit=window.kit||{};kit.service=kit.service||{};kit.config=kit.config||{};(function(global){var defaultConfig={version:"2.1",assetsPath:"",requiredDependencies:[],autoloadPluginList:[],debug:true};var stateList={undefined:0,registered:1,loading:3,loaded:4,installing:5,installed:6};var MD_TYPE={ES:"ES",UMD:"UMD",HMD:"HMD",default:"default"};function Plugin(pluginId,config={}){this.id=pluginId;this.state=stateList.undefined;this.state2=stateList.undefined;this.module={code:"",exports:{}};this.config={autoRequire:false,loadJsAfterModule:false,isSetTimestamp:true,path:"",module:"",type:"default",handler:undefined,onRegister:function(plugin){},onLoad:function(plugin){},onInstall:function(plugin){},js:[],css:[],alias:[],deps:[],debug:false};this.pluginManager=undefined,this.promise=new Promise(function(resolve,reject){resolve()});this.errors=[];this.register(config)}Plugin.prototype.setPluginManager=function(pluginManager){this.pluginManager=pluginManager};function isAssetLoaded(src){src=src.match(/^[^#?]*/)[0];return document.querySelector('script[src^="'+src+'"]')||document.querySelector('link[href^="'+src+'"]')||document.querySelector('meta[property="kit:file-load"][content="'+src+'"]')}function getUrlWithTimestamp(url){var t=((new Date).getTime()/1e3/3600>>0)*3600;try{var uri=new URL(url);uri.searchParams.append("__pm",String(t));url=uri.toString()}catch(e){url=String(url).split("?")[0];url=""+url+"?__pm"+t}return url}Plugin.prototype.queuePush=function(callbackPromise,argArr=[]){var self=this;if(typeof callbackPromise!=="function"){return}this.promise=this.promise.then(function(m){var p=callbackPromise.apply(this,argArr);if(p){return p}})};Plugin.prototype.__queue=function(admission,callback,argArr=[],context=undefined){var self=this;if(context===undefined){context=self}if(self.__checkState(admission)){callback.apply(context,argArr)}else{self.promise=self.promise.then(function(){return new Promise(function(resolve,reject){callback.apply(context,argArr);resolve()})}.bind(self))}};Plugin.prototype.__exec=function(admission,callback,argArr=[],context=undefined){var self=this;if(context===undefined){context=self}if(self.__checkState(admission)){callback.apply(context,argArr)}else{self.promise=self.promise.then(function(){callback.apply(context,argArr)}.bind(self))}};Plugin.prototype.__checkState=function(state,stateTo=undefined){if(stateTo===undefined){return this.state>=state}return this.state>=state&&this.state<=stateTo};Plugin.prototype.__check2State=function(state,stateTo=undefined){if(stateTo===undefined){return this.state2>=state}return this.state2>=state&&this.state2<=stateTo};Plugin.prototype.__getValidConfig=function(c={}){var config=Object.assign({},c);if(typeof config.onLoad!=="function"){config.onLoad=function(plugin){}}if(typeof config.onInstall!=="function"){config.onInstall=function(plugin){}}if(typeof config.onRegister!=="function"){config.onRegister=function(plugin){}}if(typeof config.path!=="string"){config.path=""}if(typeof config.js==="string"){config.js=[config.js]}else if(!Array.isArray(config.js)){config.js=[]}if(typeof config.css==="string"){config.css=[config.css]}else if(!Array.isArray(config.css)){config.css=[]}if(typeof config.alias==="string"){config.alias=[config.alias]}else if(!Array.isArray(config.alias)){config.alias=[]}config.autoRequire=config.hasOwnProperty("autoRequire")?!!config.autoRequire:false;config.loadJsAfterModule=config.hasOwnProperty("loadJsAfterModule")?!!config.loadJsAfterModule:false;config.isSetTimestamp=config.hasOwnProperty("isSetTimestamp")?!!config.isSetTimestamp:true;config.type=config.type||"default";if(typeof config.deps==="string"){config.deps=[config.deps]}else if(!Array.isArray(config.deps)){config.deps=[]}return config};Plugin.prototype.__setState=function(state,force=false){var self=this;if(force){self.state=state;return}if(self.__checkState(state)){self.state=state}};Plugin.prototype.register=function(config={}){var self=this;var pluginId=self.id;if(this.__checkState(stateList.installed)){throw new Error("Plugin "+pluginId+" уже невозможно конфигурировать ("+self.state+"/"+self.state2+")")}var handler;if(typeof config==="function"){handler=config;config=this.config;config.handler=handler;config.type=MD_TYPE.HMD}else{if(this.__checkState(stateList.loaded)||this.__check2State(stateList.loading)){throw new Error("Plugin "+pluginId+" уже невозможно конфигурировать ("+self.state+")")}if(typeof config==="object"){config=this.__getValidConfig(config)}else{throw new Error("Plugin.register: plugin "+pluginId+" is not a valid format")}Object.assign(this.config,config)}if(!this.__checkState(stateList.registered)){self.config.debug&&console.log(`Plugin ${self.id}: onRegister + event.`);this.state=stateList.registered;this.config.onRegister(this);var event=new CustomEvent("onRegister"+this.id+"Plugin",{detail:{plugin:this}});document.dispatchEvent(event)}if(config.autoRequire){}};Plugin.prototype.load=function(callback){var self=this;if(typeof callback!=="function"){callback=function(){}}var pluginId=self.id;if(!self.__checkState(stateList.registered)){console.warn(`Plugin.load(${pluginId}): is not register!.`);return self}if(self.__checkState(stateList.loaded)){callback();return self}if(self.__check2State(stateList.loading)){self.__exec(stateList.loaded,callback);return self}self.state2=stateList.loading;var config=self.config;var getModulePromiseCallback=function(){var src=config.path+config.module;if(typeof config.module==="string"&&config.module!==""&&config.type==="ES"){return function(){return self.getESModulePromise(src).then(function(m){m.__esModule=true;self.module.exports=m}.bind(self))}}else if(typeof config.module==="string"&&config.module!==""&&config.type==="UMD"){if(isAssetLoaded(src)){self.config.debug&&console.warn(`Plugin ${self.id}: Скрипт ${src} уже загружен!`);return}else{return function(){return self.httpGet(src).then(function(m){self.module.code=m}.bind(self))}}}else if(config.type==="HMD"&&!(config.hasOwnProperty("handler")&&typeof config.handler==="function")){return function(){return self.getScriptPromise(src)}}else if(typeof config.module==="string"&&config.module!==""&&config.type==="default"){if(isAssetLoaded(src)){self.config.debug&&console.warn(`Plugin ${self.id}: Скрипт ${src} уже загружен!`);return}else{return function(){return self.getScriptPromise(src)}}}return};config.css.forEach(function(item,i,array){self.getStylePromise(config.path+item)});var f0;if(self.pluginManager){f0=self.pluginManager.__getDepsPromiseCallback(self.config.deps);self.queuePush(f0)}var f1=getModulePromiseCallback();var f2=self.getJsAssetsPromiseCallback(config.js);if(config.loadJsAfterModule){self.queuePush(f1);self.queuePush(f2)}else{self.queuePush(f2);self.queuePush(f1)}if(!f0&&!f1&&!f2){self.state=stateList.loaded}self.__queue(stateList.loaded,function(){self.config.debug&&console.log(`Plugin ${self.id}: onLoad + event.`);if(!self.isLoaded()){self.state=stateList.loaded}config.onLoad.call(self,self);var event=new CustomEvent("onLoad"+self.id+"Plugin",{detail:{plugin:self}});document.dispatchEvent(event)});self.__exec(stateList.loaded,function(){callback()}.bind(self));return self};Plugin.prototype.install=function(callback){var self=this,global=self.pluginManager.global,require=self.pluginManager.require.bind(self.pluginManager);if(typeof callback!=="function"){callback=function(){}}var pluginId=self.id;if(!self.__checkState(stateList.registered)){console.warn(`Plugin ${pluginId}: is not register!`);return self}if(self.__checkState(stateList.installed)){callback();return self}if(self.__check2State(stateList.installing)){self.__exec(stateList.installed,callback);return self}if(!self.__checkState(stateList.loaded)){this.load()}self.state2=stateList.installing;var setGlobals=function(global,data){if(data===undefined){return}var pluginId=self.id;var aliasList=self.config.alias;if(!global.hasOwnProperty(pluginId)){global[pluginId]=data}if(Array.isArray(aliasList)&&aliasList.length){aliasList.forEach(function(alias){if(!global.hasOwnProperty(alias)){global[alias]=data}})}};var module=self.module;var installer=function(){var __exports=self.module.exports;if(self.config.type==="ES"&&typeof self.config.module==="string"&&self.config.module!==""){__exports=typeof self.module.exports==="object"&&self.module.exports.default!==undefined?self.module.exports.default:self.module.exports}else if(self.config.type==="UMD"&&typeof self.config.module==="string"&&self.config.module!==""){(function(require,exports,module,global){var self=global;eval(module.code)}).bind(global).call(global,require,self.module.exports,module,global);__exports=typeof self.module.exports==="object"&&self.module.exports.default!==undefined?self.module.exports.default:self.module.exports}else if(self.config.type==="HMD"&&typeof self.config.handler==="function"){__exports=self.config.handler.bind(global).call(global,require,self.module.exports,module,global);if(__exports===undefined&&self.module.exports){__exports=self.module.exports}}if(typeof global==="object"){setGlobals(global,__exports)}self.state=stateList.installed;console.log(`%cPlugin ${pluginId}: installed.`,"color: green;");self.config.onInstall.call(self,self);var event=new CustomEvent("onInstall"+self.id+"Plugin",{detail:{plugin:self}});document.dispatchEvent(event);return true}.bind(this);this.__queue(stateList.loaded,installer);this.__exec(stateList.loaded,function(){callback()});return self};Plugin.prototype.exec=function(callback,argArr=[],context=undefined){var self=this;if(context===undefined){context=self}if(!self.__checkState(stateList.installed)){self.load();self.install()}self.__exec(stateList.installed,callback,argArr,context)};Plugin.prototype.getESModulePromise=function(src){var self=this;return new Promise(function(resolve,reject){import(src).then(function(m){resolve(m)},function(error){self.errors.push(error);console.log(`%cPlugin ${self.id}: error import module!`,"color: red;");reject(error)})})};Plugin.prototype.httpGet=function(url){var self=this;return new Promise(function(resolve,reject){self.config.debug&&console.log(`Plugin ${self.id}: httpGet ${url}`);var url2=url;if(self.config.isSetTimestamp){url2=getUrlWithTimestamp(url)}p=fetch(url2,{method:"GET",redirect:"follow"}).then(function(response){if(response.ok){return response.text()}console.log(`%cPlugin.load(${self.id}): bad status ${response.status}!`,"color: red;");throw["bad status",response.status,response.statusText].filter().join(" ")},function(reason){reject("Network Error")}).then(function(data){resolve(data)},function(reason){reject(reason)})})};Plugin.prototype.getScriptPromise=function(src){var self=this;if(isAssetLoaded(src)){self.config.debug&&console.warn(`Plugin ${self.id}: Скрипт ${src} уже загружен!`);return undefined}return new Promise(function(resolve,reject){self.config.debug&&console.log(`Plugin ${self.id}: load script ${src}`);var script=document.createElement("script");script.async=true;script.onload=function(){resolve(script)};script.onerror=function(){var error=new Error(`Ошибка загрузки скрипта ${src}`);self.errors.push(error);console.log(`%cPlugin.load(${self.id}): error load script ${src}!`,"color: red;");reject(error)};script.src=src;if(self.config.isSetTimestamp){script.src=getUrlWithTimestamp(src)}document.head.append(script)})};Plugin.prototype.getStylePromise=function(src){var self=this;return new Promise(function(resolve,reject){if(isAssetLoaded(src)){self.config.debug&&console.warn(`Plugin ${self.id}: Стиль ${src} уже загружен`);resolve()}else{var link=document.createElement("link");link.rel="stylesheet";link.type="text/css";link.media="all";link.href=src;if(self.config.isSetTimestamp){link.href=getUrlWithTimestamp(src)}document.head.append(link);resolve(link)}})};Plugin.prototype.getAsyncScriptListPromise=function(list){var self=this;var pList=list.map(self.getScriptPromise.bind(self)).filter(p=>p!==undefined);if(pList.length){return Promise.all(pList)}return undefined};Plugin.prototype.getJsAssetsPromiseCallback=function(list=[]){var self=this;if(!list.length){return}return function(){var p=new Promise(function(resolve,reject){resolve()});list.forEach(function(item,i,array){if(Array.isArray(item)){p=p.then(function(){return self.getAsyncScriptListPromise(item.map(src=>self.config.path+src))})}else{p=p.then(function(){return self.getScriptPromise(self.config.path+item)})}});return p}};Plugin.prototype.__getRealId=function(pluginId){var self=this;var pluginIdLowerCase=pluginId.toLowerCase();if(self.id.toLowerCase()===pluginIdLowerCase){return self.id}var alias;for(alias of self.config.alias){if(pluginIdLowerCase===alias.toLowerCase()){return self.id}}return undefined};Plugin.prototype.__is=function(pluginId){var self=this;return self.id===self.__getRealId(pluginId)};Plugin.prototype.isLoaded=function(){var self=this;return self.__checkState(stateList.loaded)};Plugin.prototype.isInstalled=function(){var self=this;return self.__checkState(stateList.installed)};Plugin.prototype.require=function(){var self=this;if(!self.isInstalled()){self.config.debug&&console.warn(`Plugin ${self.id}: not instaled!`)}return self.module.exports};var PluginManager=function(global){this.plugins={};this.global=global};var __proto=PluginManager.prototype;PluginManager.prototype.registerPlugins=function(plugins){for(var pluginId in plugins){if(plugins.hasOwnProperty(pluginId)){this.register(pluginId,plugins[pluginId])}}return this};PluginManager.prototype.register=function(pluginId,config={}){if(typeof pluginId!=="string"||pluginId===""){console.warn(`Invalid pluginId!`,pluginId);return}var plugin=this.__getPlugin(pluginId);if(plugin){plugin.register(config)}else{plugin=new Plugin(pluginId,config);plugin.setPluginManager(this);this.plugins[pluginId]=plugin}};PluginManager.prototype.__getPlugin=function(pluginId){var self=this;var pid,plugin;for(pid in self.plugins){if(self.plugins.hasOwnProperty(pid)){plugin=self.plugins[pid];if(plugin.__is(pluginId)){return plugin}}}return undefined};PluginManager.prototype.__getDepsPromiseCallback=function(pluginIdList=[]){var self=this;var pList=pluginIdList.map(function(pluginId){var plugin=self.__getPlugin(pluginId);if(plugin){plugin.install();if(plugin.isInstalled()){return undefined}return plugin.promise}console.log(`%cPluginManager: plugin ${pluginId} not found!`,"color: red;");return undefined}).filter(p=>p!==undefined);if(!pList.length){return undefined}return function(){return Promise.all(pList)}};PluginManager.prototype.__getRealIdList=function(pluginIdList=[]){var self=this;var pList=pluginIdList.map(function(pluginId){var plugin=self.__getPlugin(pluginId);if(plugin){return plugin.id}return undefined});return pList};PluginManager.prototype.exec=function(deps,callback,argArr=[],context=undefined){var self=this;if(typeof deps==="function"){context=argArr;argArr=callback;callback=deps;deps=[]}if(typeof deps==="string"){deps=[deps]}if(context===undefined){context=self}if(typeof argArr==="undefined"){argArr=[]}if(typeof callback!=="function"){callback=function(){}}if(global.config&&global.config.requiredDependencies){deps=Array.from(new Set(deps.concat(global.config.requiredDependencies)))}var depsPromiseCallback=self.__getDepsPromiseCallback(deps);if(depsPromiseCallback){return depsPromiseCallback().then(function(){return new Promise(function(resolve,reject){callback.apply(context,argArr);resolve()})})}else{return new Promise(function(resolve,reject){callback.apply(context,argArr);resolve()})}};__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(){var argArr=[];deps.forEach(function(pluginId){var plugin=self.__getPlugin(pluginId);if(plugin){argArr.push(self.require(pluginId));return}argArr.push(undefined)}.bind(self));return argArr}.bind(self);if(depsPromiseCallback){return depsPromiseCallback().then(function(){return new Promise(function(resolve,reject){callback.apply(context,getArgArr());resolve()})})}else{return new Promise(function(resolve,reject){callback.apply(context,getArgArr());resolve()})}};__proto.ready=function(deps=[],callback=undefined){var self=this;if(typeof deps==="function"){callback=deps;deps=[]}if(typeof callback!=="function"){callback=function(){}}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)){promise=new Promise(function(resolve,reject){let result=fn.apply(context,args);if(result&&typeof result.then==="function"&&result instanceof Promise){result.then(function(){resolve()})}else{resolve()}})}else{promise=new Promise(function(resolve,reject){document.addEventListener("DOMContentLoaded",function(){resolve()}.bind(this))}).then(function(){return fn.apply(context,args)})}return promise};__proto.loaded=function(deps=[],callback=undefined){var self=this;if(typeof deps==="function"){callback=deps;deps=[]}if(typeof callback!=="function"){callback=function(){}}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)){promise=new Promise(function(resolve,reject){fn.apply(context,args);resolve()})}else{promise=new Promise(function(resolve,reject){window.addEventListener("load",function(){resolve()}.bind(this))}).then(function(){return fn.apply(context,args)})}return promise};__proto.require=function(pluginId,callback){var plugin=this.__getPlugin(pluginId);if(!plugin){console.warn("PluginManager.require: plugin "+pluginId+" not found!");return undefined}pluginId=plugin.id;var module=plugin.module;if(typeof callback!=="function"){callback=function(){}}plugin.install(callback);return module.exports};__proto.install=function(pluginId,callback){var plugin=this.__getPlugin(pluginId);if(!plugin){console.warn("PluginManager.install: plugin "+pluginId+" not found!");return undefined}pluginId=plugin.id;var module=plugin.module;plugin.install(callback)};function init(global){document.addEventListener("DOMContentLoaded",function(){console.log("%cDOMContentLoaded","color:#2053ff")});window.addEventListener("load",event=>{console.log("%cWindowLoaded","color:#2053ff")});var manager=new PluginManager(global);global.ready=manager.ready.bind(manager);global.loaded=manager.loaded.bind(manager);global.exec=manager.exec.bind(manager);global.require=manager.require.bind(manager);var pm;global.define=manager.define.bind(manager);global.PluginManager=PluginManager;manager.register("pluginManager",{alias:["pm"],type:MD_TYPE.HMD,handler:function(require,exports,module,global){if(typeof window==="object"){window.__PluginManager__=manager;window.__pmGlobal__=global}return module.exports=manager},onInstall:function(plugin){}});manager.install("pluginManager");manager.register("config",{type:MD_TYPE.HMD,handler:function(require,exports,module,global){var script=document.currentScript;if(script){try{var uri=new URL(script.src);defaultConfig.assetsPath=uri.pathname.split("/").slice(0,-2).join("/")}catch(e){var path=script.src.split("?")[0];defaultConfig.assetsPath=path.split("/").slice(0,-2).join("/")}}var config=global.config||{};global.config=Object.assign({},defaultConfig,config);if(typeof window==="object"){window.__pmConfig__=global.config}},onInstall:function(plugin){if(typeof window==="object"){if(window.hasOwnProperty("__PluginManagerConfigHandler__")&&typeof __PluginManagerConfigHandler__==="function"){manager.registerPlugins(__PluginManagerConfigHandler__())}}}});manager.install("config")}init(global)})(kit); \ No newline at end of file +var kit,kit=window.kit=window.kit||{};kit.service=kit.service||{},kit.config=kit.config||{},!function(global){var defaultConfig={version:"2.1",assetsPath:"",requiredDependencies:[],autoloadPluginList:[],debug:!0},stateList={undefined:0,registered:1,loading:3,loaded:4,installing:5,installed:6},MD_TYPE={ES:"ES",UMD:"UMD",HMD:"HMD",default:"default"};function Plugin(e,t={}){this.id=e,this.state=stateList.undefined,this.state2=stateList.undefined,this.module={code:"",exports:{}},this.config={autoRequire:!1,loadJsAfterModule:!1,isSetTimestamp:!0,path:"",module:"",type:"default",handler:void 0,onRegister:function(e){},onLoad:function(e){},onInstall:function(e){},js:[],css:[],alias:[],deps:[],debug:!1},this.pluginManager=void 0,this.promise=new Promise(function(e,t){e()}),this.errors=[],this.register(t)}function isAssetLoaded(e){return e=e.match(/^[^#?]*/)[0],document.querySelector('script[src^="'+e+'"]')||document.querySelector('link[href^="'+e+'"]')||document.querySelector('meta[property="kit:file-load"][content="'+e+'"]')}function getUrlWithTimestamp(t){var n=3600*((new Date).getTime()/1e3/3600>>0);try{var e=new URL(t);e.searchParams.append("__pm",String(n)),t=e.toString()}catch(e){t=(t=String(t).split("?")[0])+"?__pm"+n}return t}Plugin.prototype.setPluginManager=function(e){this.pluginManager=e},Plugin.prototype.queuePush=function(n,i=[]){"function"==typeof n&&(this.promise=this.promise.then(function(e){var t=n.apply(this,i);if(t)return t}))},Plugin.prototype.__queue=function(e,n,i=[],o=void 0){var t=this;void 0===o&&(o=t),t.__checkState(e)?n.apply(o,i):t.promise=t.promise.then(function(){return new Promise(function(e,t){n.apply(o,i),e()})}.bind(t))},Plugin.prototype.__exec=function(e,t,n=[],i=void 0){var o=this;void 0===i&&(i=o),o.__checkState(e)?t.apply(i,n):o.promise=o.promise.then(function(){t.apply(i,n)}.bind(o))},Plugin.prototype.__checkState=function(e,t=void 0){return void 0===t?this.state>=e:this.state>=e&&this.state<=t},Plugin.prototype.__check2State=function(e,t=void 0){return void 0===t?this.state2>=e:this.state2>=e&&this.state2<=t},Plugin.prototype.__getValidConfig=function(e={}){e=Object.assign({},e);return"function"!=typeof e.onLoad&&(e.onLoad=function(e){}),"function"!=typeof e.onInstall&&(e.onInstall=function(e){}),"function"!=typeof e.onRegister&&(e.onRegister=function(e){}),"string"!=typeof e.path&&(e.path=""),"string"==typeof e.js?e.js=[e.js]:Array.isArray(e.js)||(e.js=[]),"string"==typeof e.css?e.css=[e.css]:Array.isArray(e.css)||(e.css=[]),"string"==typeof e.alias?e.alias=[e.alias]:Array.isArray(e.alias)||(e.alias=[]),e.autoRequire=!!e.hasOwnProperty("autoRequire")&&!!e.autoRequire,e.loadJsAfterModule=!!e.hasOwnProperty("loadJsAfterModule")&&!!e.loadJsAfterModule,e.isSetTimestamp=!e.hasOwnProperty("isSetTimestamp")||!!e.isSetTimestamp,e.type=e.type||"default","string"==typeof e.deps?e.deps=[e.deps]:Array.isArray(e.deps)||(e.deps=[]),e},Plugin.prototype.__setState=function(e,t=!1){var n=this;(t||n.__checkState(e))&&(n.state=e)},Plugin.prototype.register=function(e={}){var t,n=this,i=n.id;if(this.__checkState(stateList.installed))throw new Error("Plugin "+i+" уже невозможно конфигурировать ("+n.state+"/"+n.state2+")");if("function"==typeof e)t=e,(e=this.config).handler=t,e.type=MD_TYPE.HMD;else{if(this.__checkState(stateList.loaded)||this.__check2State(stateList.loading))throw new Error("Plugin "+i+" уже невозможно конфигурировать ("+n.state+")");if("object"!=typeof e)throw new Error("Plugin.register: plugin "+i+" is not a valid format");e=this.__getValidConfig(e),Object.assign(this.config,e)}this.__checkState(stateList.registered)||(n.config.debug&&console.log(`Plugin ${n.id}: onRegister + event.`),this.state=stateList.registered,this.config.onRegister(this),t=new CustomEvent("onRegister"+this.id+"Plugin",{detail:{plugin:this}}),document.dispatchEvent(t)),e.autoRequire},Plugin.prototype.load=function(e){var i,t,n,o,s,r=this,l=("function"!=typeof e&&(e=function(){}),r.id);return r.__checkState(stateList.registered)?r.__checkState(stateList.loaded)?e():r.__check2State(stateList.loading)?r.__exec(stateList.loaded,e):(r.state2=stateList.loading,(i=r.config).css.forEach(function(e,t,n){r.getStylePromise(i.path+e)}),r.pluginManager&&(t=r.pluginManager.__getDepsPromiseCallback(r.config.deps),r.queuePush(t)),o=i.path+i.module,n="string"==typeof i.module&&""!==i.module&&"ES"===i.type?function(){return r.getESModulePromise(o).then(function(e){e.__esModule=!0,r.module.exports=e}.bind(r))}:"string"==typeof i.module&&""!==i.module&&"UMD"===i.type?isAssetLoaded(o)?void(r.config.debug&&console.warn(`Plugin ${r.id}: Скрипт ${o} уже загружен!`)):function(){return r.httpGet(o).then(function(e){r.module.code=e}.bind(r))}:"HMD"!==i.type||i.hasOwnProperty("handler")&&"function"==typeof i.handler?"string"==typeof i.module&&""!==i.module&&"default"===i.type?isAssetLoaded(o)?void(r.config.debug&&console.warn(`Plugin ${r.id}: Скрипт ${o} уже загружен!`)):function(){return r.getScriptPromise(o)}:void 0:function(){return r.getScriptPromise(o)},s=r.getJsAssetsPromiseCallback(i.js),i.loadJsAfterModule?(r.queuePush(n),r.queuePush(s)):(r.queuePush(s),r.queuePush(n)),t||n||s||(r.state=stateList.loaded),r.__queue(stateList.loaded,function(){r.config.debug&&console.log(`Plugin ${r.id}: onLoad + event.`),r.isLoaded()||(r.state=stateList.loaded),i.onLoad.call(r,r);var e=new CustomEvent("onLoad"+r.id+"Plugin",{detail:{plugin:r}});document.dispatchEvent(e)}),r.__exec(stateList.loaded,function(){e()}.bind(r))):console.warn(`Plugin.load(${l}): is not register!.`),r},Plugin.prototype.install=function(callback){var self=this,global=self.pluginManager.global,require=self.pluginManager.require.bind(self.pluginManager),pluginId=("function"!=typeof callback&&(callback=function(){}),self.id),setGlobals,module,installer;return self.__checkState(stateList.registered)?self.__checkState(stateList.installed)?callback():self.__check2State(stateList.installing)?self.__exec(stateList.installed,callback):(self.__checkState(stateList.loaded)||this.load(),self.state2=stateList.installing,setGlobals=function(t,n){var e,i;void 0!==n&&(e=self.id,i=self.config.alias,t.hasOwnProperty(e)||(t[e]=n),Array.isArray(i))&&i.length&&i.forEach(function(e){t.hasOwnProperty(e)||(t[e]=n)})},module=self.module,installer=function(){var __exports=self.module.exports,event=("ES"===self.config.type&&"string"==typeof self.config.module&&""!==self.config.module?__exports="object"==typeof self.module.exports&&void 0!==self.module.exports.default?self.module.exports.default:self.module.exports:"UMD"===self.config.type&&"string"==typeof self.config.module&&""!==self.config.module?(function(require,exports,module,global){var self=global;eval(module.code)}.bind(global).call(global,require,self.module.exports,module,global),__exports="object"==typeof self.module.exports&&void 0!==self.module.exports.default?self.module.exports.default:self.module.exports):"HMD"===self.config.type&&"function"==typeof self.config.handler&&(__exports=self.config.handler.bind(global).call(global,require,self.module.exports,module,global),void 0===__exports)&&self.module.exports&&(__exports=self.module.exports),"object"==typeof global&&setGlobals(global,__exports),self.state=stateList.installed,console.log(`%cPlugin ${pluginId}: installed.`,"color: green;"),self.config.onInstall.call(self,self),new CustomEvent("onInstall"+self.id+"Plugin",{detail:{plugin:self}}));return document.dispatchEvent(event),!0}.bind(this),this.__queue(stateList.loaded,installer),this.__exec(stateList.loaded,function(){callback()})):console.warn(`Plugin ${pluginId}: is not register!`),self},Plugin.prototype.exec=function(e,t=[],n=void 0){var i=this;void 0===n&&(n=i),i.__checkState(stateList.installed)||(i.load(),i.install()),i.__exec(stateList.installed,e,t,n)},Plugin.prototype.getESModulePromise=function(e){var i=this;return new Promise(function(t,n){import(e).then(function(e){t(e)},function(e){i.errors.push(e),console.log(`%cPlugin ${i.id}: error import module!`,"color: red;"),n(e)})})},Plugin.prototype.httpGet=function(i){var o=this;return new Promise(function(t,n){o.config.debug&&console.log(`Plugin ${o.id}: httpGet `+i);var e=i;o.config.isSetTimestamp&&(e=getUrlWithTimestamp(i)),p=fetch(e,{method:"GET",redirect:"follow"}).then(function(e){if(e.ok)return e.text();throw console.log(`%cPlugin.load(${o.id}): bad status ${e.status}!`,"color: red;"),["bad status",e.status,e.statusText].filter().join(" ")},function(e){n("Network Error")}).then(function(e){t(e)},function(e){n(e)})})},Plugin.prototype.getScriptPromise=function(i){var o=this;if(!isAssetLoaded(i))return new Promise(function(e,t){o.config.debug&&console.log(`Plugin ${o.id}: load script `+i);var n=document.createElement("script");n.async=!0,n.onload=function(){e(n)},n.onerror=function(){var e=new Error("Ошибка загрузки скрипта "+i);o.errors.push(e),console.log(`%cPlugin.load(${o.id}): error load script ${i}!`,"color: red;"),t(e)},n.src=i,o.config.isSetTimestamp&&(n.src=getUrlWithTimestamp(i)),document.head.append(n)});o.config.debug&&console.warn(`Plugin ${o.id}: Скрипт ${i} уже загружен!`)},Plugin.prototype.getStylePromise=function(i){var o=this;return new Promise(function(e,t){var n;isAssetLoaded(i)?(o.config.debug&&console.warn(`Plugin ${o.id}: Стиль ${i} уже загружен`),e()):((n=document.createElement("link")).rel="stylesheet",n.type="text/css",n.media="all",n.href=i,o.config.isSetTimestamp&&(n.href=getUrlWithTimestamp(i)),document.head.append(n),e(n))})},Plugin.prototype.getAsyncScriptListPromise=function(e){e=e.map(this.getScriptPromise.bind(this)).filter(e=>void 0!==e);if(e.length)return Promise.all(e)},Plugin.prototype.getJsAssetsPromiseCallback=function(e=[]){var o=this;if(e.length)return function(){var i=new Promise(function(e,t){e()});return e.forEach(function(e,t,n){i=Array.isArray(e)?i.then(function(){return o.getAsyncScriptListPromise(e.map(e=>o.config.path+e))}):i.then(function(){return o.getScriptPromise(o.config.path+e)})}),i}},Plugin.prototype.__getRealId=function(e){var t,n=e.toLowerCase();if(this.id.toLowerCase()===n)return this.id;for(t of this.config.alias)if(n===t.toLowerCase())return this.id},Plugin.prototype.__is=function(e){return this.id===this.__getRealId(e)},Plugin.prototype.isLoaded=function(){return this.__checkState(stateList.loaded)},Plugin.prototype.isInstalled=function(){return this.__checkState(stateList.installed)},Plugin.prototype.require=function(){return this.isInstalled()||this.config.debug&&console.warn(`Plugin ${this.id}: not instaled!`),this.module.exports};var PluginManager=function(e){this.plugins={},this.global=e},__proto=PluginManager.prototype;function init(e){document.addEventListener("DOMContentLoaded",function(){console.log("%cDOMContentLoaded","color:#2053ff")}),window.addEventListener("load",e=>{console.log("%cWindowLoaded","color:#2053ff")});var o=new PluginManager(e);e.ready=o.ready.bind(o),e.loaded=o.loaded.bind(o),e.exec=o.exec.bind(o),e.require=o.require.bind(o),e.define=o.define.bind(o),e.PluginManager=PluginManager,o.register("pluginManager",{alias:["pm"],type:MD_TYPE.HMD,handler:function(e,t,n,i){return"object"==typeof window&&(window.__PluginManager__=o,window.__pmGlobal__=i),n.exports=o},onInstall:function(e){}}),o.install("pluginManager"),o.register("config",{type:MD_TYPE.HMD,handler:function(e,t,n,i){var o=document.currentScript;if(o)try{var s=new URL(o.src);defaultConfig.assetsPath=s.pathname.split("/").slice(0,-2).join("/")}catch(e){s=o.src.split("?")[0];defaultConfig.assetsPath=s.split("/").slice(0,-2).join("/")}o=i.config||{};i.config=Object.assign({},defaultConfig,o),"object"==typeof window&&(window.__pmConfig__=i.config),n.exports=i.config},onInstall:function(e){"object"==typeof window&&(window.hasOwnProperty("__PluginManagerConfigHandler__")&&"function"==typeof __PluginManagerConfigHandler__&&o.registerPlugins(__PluginManagerConfigHandler__()),Array.isArray(e?.module?.exports?.autoloadPluginList))&&o.exec(e.module.exports.autoloadPluginList)}}),o.install("config")}PluginManager.prototype.registerPlugins=function(e){for(var t in e)e.hasOwnProperty(t)&&this.register(t,e[t]);return this},PluginManager.prototype.register=function(e,t={}){var n;if("string"==typeof e&&""!==e)return(n=this.__getPlugin(e))?n.register(t):((n=new Plugin(e,t)).setPluginManager(this),this.plugins[e]=n),n;console.warn("Invalid pluginId!",e)},PluginManager.prototype.__getPlugin=function(e){var t,n;for(t in this.plugins)if(this.plugins.hasOwnProperty(t)&&(n=this.plugins[t]).__is(e))return n},PluginManager.prototype.__getDepsPromiseCallback=function(e=[]){var n=this,t=e.map(function(e){var t=n.__getPlugin(e);if(t)return t.install(),t.isInstalled()?void 0:t.promise;console.log(`%cPluginManager: plugin ${e} not found!`,"color: red;")}).filter(e=>void 0!==e);if(t.length)return function(){return Promise.all(t)}},PluginManager.prototype.__getRealIdList=function(e=[]){var t=this;return e.map(function(e){e=t.__getPlugin(e);if(e)return e.id})},PluginManager.prototype.exec=function(e,n,i=[],o=void 0){"function"==typeof e&&(o=i,i=n,n=e,e=[]),"string"==typeof e&&(e=[e]),void 0===o&&(o=this),void 0===i&&(i=[]),"function"!=typeof n&&(n=function(){}),global.config&&global.config.requiredDependencies&&(e=Array.from(new Set(e.concat(global.config.requiredDependencies))));e=this.__getDepsPromiseCallback(e);return e?e().then(function(){return new Promise(function(e,t){n.apply(o,i),e()})}):new Promise(function(e,t){n.apply(o,i),e()})},__proto.define=function(e,n){var i=this,o=this,t=("string"==typeof e&&(e=[e]),"function"!=typeof n&&(n=function(){}),i.__getDepsPromiseCallback(e)),s=function(){var t=[];return e.forEach(function(e){i.__getPlugin(e)?t.push(i.require(e)):t.push(void 0)}.bind(i)),t}.bind(i);return t?t().then(function(){return new Promise(function(e,t){n.apply(o,s()),e()})}):new Promise(function(e,t){n.apply(o,s()),e()})},__proto.ready=function(e=[],t=void 0){return"function"==typeof e&&(t=e,e=[]),this.__ready(this.exec,[e,t="function"!=typeof t?function(){}:t],this)},__proto.__ready=function(i,o=[],s=window){return s=s||this,/complete|interactive|loaded/.test(document.readyState)?new Promise(function(e,t){var n=i.apply(s,o);n&&"function"==typeof n.then&&n instanceof Promise?n.then(function(){e()}):e()}):new Promise(function(e,t){document.addEventListener("DOMContentLoaded",function(){e()}.bind(this))}).then(function(){return i.apply(s,o)})},__proto.loaded=function(e=[],t=void 0){return"function"==typeof e&&(t=e,e=[]),this.__loaded(this.exec,[e,t="function"!=typeof t?function(){}:t],this)},__proto.__loaded=function(n,i=[],o=window){return o=o||this,/complete|interactive|loaded/.test(document.readyState)?new Promise(function(e,t){n.apply(o,i),e()}):new Promise(function(e,t){window.addEventListener("load",function(){e()}.bind(this))}).then(function(){return n.apply(o,i)})},__proto.require=function(e,t){var n,i=this.__getPlugin(e);if(i)return e=i.id,n=i.module,i.install(t="function"!=typeof t?function(){}:t),n.exports;console.warn("PluginManager.require: plugin "+e+" not found!")},__proto.install=function(e,t){var n=this.__getPlugin(e);n?(e=n.id,n.install(t)):console.warn("PluginManager.install: plugin "+e+" not found!")},init(global)}(kit); \ No newline at end of file diff --git a/assets/core/core.plugins.config.js b/assets/core/core.plugins.config.js index dacbb54..5cfbcb4 100644 --- a/assets/core/core.plugins.config.js +++ b/assets/core/core.plugins.config.js @@ -41,9 +41,6 @@ var __PluginManagerConfigHandler__ = function() { type: 'HMD', alias: ['jquery/proxy'], deps: [], - onInstall: function(plugin){ - plugin.module.exports.onInstall(plugin); - }, }, jQuery: { path: root + '/jquery', diff --git a/assets/core/core.plugins.config.min.js b/assets/core/core.plugins.config.min.js index 0166085..e78a44d 100644 --- a/assets/core/core.plugins.config.min.js +++ b/assets/core/core.plugins.config.min.js @@ -1 +1 @@ -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:{path:root+"/jquery/proxy",module:"/jquery-proxy.min.js",type:"HMD",alias:["jquery/proxy"],deps:[],onInstall:function(plugin){plugin.module.exports.onInstall(plugin)}},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=""}},onInstall:function(plugin){var jQueryProxyPlugin=__pmGlobal__.pm.plugins.jQueryProxy;if(jQueryProxyPlugin.isInstalled()){jQueryProxyPlugin.module.exports.onJQueryInstall(plugin,jQueryProxyPlugin)}if(!hasJQuery()){window.$=window.jQuery=plugin.module.exports}}},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){document.addEventListener("mouseover",function(event){if(!(event.target&&event.target.dataset.kitTooltip2==="autoload")){return}if(kit.support.getNodeData(event.target,"tooltip2")){return}var tooltip=new __pmGlobal__.Tooltip2(event.target);tooltip.run();tooltip.show()})},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:"HMD",deps:["log"]},log:{path:root+"/log",module:"/log.js",css:"/log.css",type:"HMD",deps:["support","Collection","lib"]},fancybox2:{path:root+"/fancybox/v2",module:"",js:["/jquery.fancybox.pack.js"],css:["/jquery.fancybox.css"],type:"default",alias:["jQuery.Fancybox2"],deps:["jQuery"]},fancybox3:{path:root+"/fancybox/v3",module:"",js:["/jquery.fancybox.min.js"],css:["/jquery.fancybox.min.css"],type:"default",alias:["jQuery.Fancybox3"],deps:["jQuery"]},fancybox4:{path:root+"/fancybox/v4",module:"/fancybox.umd.js",js:[],css:["/fancybox.css"],type:"UMD",alias:[]},fancybox5:{path:root+"/fancybox/v5",module:"/fancybox.umd.js",js:[],css:["/fancybox.css"],type:"UMD",alias:["fancybox"]},lightGallery:{path:root+"/lightGallery",css:"/css/lightgallery.css",module:"/lightgallery.min.js",type:"UMD",deps:[]},"lightGallery.video":{path:root+"/lightGallery",css:"/css/lg-video.css",module:"/plugins/video/lg-video.min.js",type:"UMD",deps:["lightGallery"],alias:["lgVideo"]},"lightGallery.autoplay":{path:root+"/lightGallery",css:"/css/lg-autoplay.css",module:"/plugins/autoplay/lg-autoplay.min.js",type:"UMD",deps:["lightGallery"],alias:["lgAutoplay"]},"lightGallery.thumbnail":{path:root+"/lightGallery",css:"/css/lg-thumbnail.css",module:"/plugins/thumbnail/lg-thumbnail.min.js",type:"UMD",deps:["lightGallery"],alias:["lgThumbnail"]},owlCarousel:{path:root+"/owlCarousel",css:"/owlCarousel.css",js:"/owlCarousel.js",deps:["jQuery"]},"jQuery.Chosen":{path:root+"/jquery/chosen",css:"/chosen.css",js:"/chosen.jquery.js",type:"HMD",alias:["jquery-chosen","chosen","harvesthq/chosen"],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"))}},"jQuery.Mousewheel":{path:root+"/jquery/Mousewheel",module:"/jquery.mousewheel.min.js",type:"UMD",alias:["jquery-mousewheel","jqueryMousewheel"],deps:["jQuery"],onInstall:function(plugin){plugin.module.exports(kit.require("jQuery"))}},"jQuery.Lazy":{path:root+"/jquery/Lazy",alias:["jquery-lazy","jqueryLazy"],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"]},"jQuery.Selectric":{path:root+"/jquery/Selectric",module:"/jquery.selectric.min.js",css:["/selectric.css"],type:"UMD",alias:["jquerySelectric","selectric"],deps:["jQuery"]},"jQuery.jBox":{path:root+"/jquery/jBox",module:"/jBox.min.js",css:["/jBox.min.css"],type:"default",alias:["jBox"],deps:["jQuery"]},intlTelInput:{path:root+"/intl-tel-input",module:"/js/intlTelInputWithUtils.min.js",css:["/css/intlTelInput.min.css"],type:"UMD",alias:["intl-tel-input"]},intlTelInputI18n:{path:root+"/intl-tel-input",module:"/js/i18n/index2.js",type:"ES",alias:["intl-tel-input-i18n"]},autoComplete:{path:root+"/autoComplete",module:"/autoComplete.min.js",css:["/css/autoComplete.css"],type:"HMD"},"jQuery.FlexSlider":{path:root+"/jquery/FlexSlider",module:"",js:["/jquery.flexslider-min.js"],css:["/flexslider.css"],alias:["jquery.flexslider","FlexSlider","flexslider"],type:"default",deps:["jQuery"]},"jQuery.Actual":{path:root+"/jquery/actual",module:"",js:["/jquery.actual.js"],css:[],alias:["jquery.actual"],type:"default",deps:["jQuery"]},"jQuery.jqModal":{path:root+"/jquery/jqModal",module:"/jqModal.js",js:[],css:[],alias:["jqmodal","jqModal"],type:"UMD",deps:["jQuery"]},"jQuery.History":{path:root+"/jquery/history",module:"",js:["/jquery.history.min.js"],css:[],alias:["jquery.history"],type:"default",deps:["jQuery"]},"jQuery.Validation":{path:root+"/jquery/validation",module:"/jquery.validate.min.js",js:["/localization/messages_ru.js"],css:[],loadJsAfterModule:true,alias:["jquery-validation","jquery.validation","jquery.validate"],type:"UMD",deps:["jQuery"]},"jQuery.Inputmask":{path:root+"/jquery/inputmask",module:"/min/jquery.inputmask.bundle.min.js",js:[],css:[],alias:["jquery.inputmask"],type:"default",deps:["jQuery"]},"jQuery.Easing":{path:root+"/jquery/easing",module:"/jquery.easing.min.js",js:[],css:[],alias:["jquery.easing"],type:"default",deps:["jQuery"]},"jQuery.Sly":{path:root+"/jquery/sly",module:"/sly.min.js",js:[],css:[],alias:["jquery.sly","sly"],type:"default",deps:["jQuery"]},"jQuery.Equalize":{path:root+"/jquery/equalize.js",module:"/js/equalize.min.js",js:[],css:[],alias:["equalize","equalize.js","jquery.equalize"],type:"default",deps:["jQuery"]},"jQuery.Alphanumeric":{path:root+"/jquery/alphanumeric",module:"/jquery.alphanumeric.pack.js",js:[],css:[],alias:["jquery.alphanumeric"],type:"default",deps:["jQuery"]},"jQuery.Cookie":{path:root+"/jquery/cookie",module:"/src/jquery.cookie.js",js:[],css:[],alias:["jquery.cookie"],type:"UMD",deps:["jQuery"]},"jQuery.Plugin":{path:root+"/jquery/plugin",module:"/jquery.plugin.min.js",js:[],css:[],alias:["jquery.plugin","kbw-plugin"],type:"default",deps:["jQuery"]},"jQuery.JustifiedGallery":{path:root+"/jquery/JustifiedGallery",module:"/js/jquery.justifiedGallery.min.js",js:[],css:["/css/justifiedGallery.min.css"],alias:[],type:"UMD",deps:["jQuery"]}}}; \ No newline at end of file +var __PluginManagerConfigHandler__=function(){function t(){return window.hasOwnProperty("jQuery")&&window.jQuery.hasOwnProperty("fn")}var e=__pmConfig__.assetsPath;return{menu:{path:e+"/menu",module:"/menu.js",css:["/menu.css"],type:"HMD",deps:["lib","align","dataStructures","animations","userAction","Collection","support","ActionCollection","Action","Viewer"]},lib:{path:e+"/lib",module:"/lib.js",type:"HMD"},align:{path:e+"/align",module:"/align.js",type:"HMD",deps:["support"]},flexKit:{path:e+"/flex-kit",css:"/flex-kit.css"},support:{path:e+"/support",module:"/support.min.js",type:"HMD"},jQueryProxy:{path:e+"/jquery/proxy",module:"/jquery-proxy.min.js",type:"HMD",alias:["jquery/proxy"],deps:[]},jQuery:{path:e+"/jquery",module:"/jquery.min.js",type:"UMD",alias:["$","jquery"],onRegister:function(e){t()&&(e.module.exports=window.jQuery,e.config.module="")},onInstall:function(e){var s=__pmGlobal__.pm.plugins.jQueryProxy;s.isInstalled()&&s.module.exports.onJQueryInstall(e,s),t()||(window.$=window.jQuery=e.module.exports)}},popper:{path:e+"/popper",alias:"popper.js",module:"/popper.js",type:"HMD",css:"/popper.css"},bsCore:{path:e+"/bsCore",module:"/bsCore.min.js",type:"HMD",css:["/bsCore.css"]},bsToast:{path:e+"/bsToast",module:"/bsToast.js",type:"HMD",deps:["bsCore"]},bsToastService:{path:e+"/bsToastService",module:"/bsToastService.js",type:"HMD",css:["/bsToastService.css"],deps:["bsToast","support","Collection"]},Tooltip:{path:e+"/tooltip",module:"/tooltip.js",type:"HMD",css:"/tooltip.css",onInstall:function(e){[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map(function(e){return __pmGlobal__.Tooltip.getOrCreateInstance(e,{sanitize:!1})})},deps:["popper","bsCore"]},Tooltip2:{path:e+"/tooltip2",module:"/tooltip2.js",type:"HMD",css:"/tooltip2.css",onInstall:function(e){document.addEventListener("mouseover",function(e){e.target&&"autoload"===e.target.dataset.kitTooltip2&&!kit.support.getNodeData(e.target,"tooltip2")&&((e=new __pmGlobal__.Tooltip2(e.target)).run(),e.show())})},deps:["Viewer","support","ActionCollection","Action","userAction","align","Collection","animations"]},Popover:{path:e+"/popover",module:"/popover.js",type:"HMD",css:"/popover.css",onInstall:function(){[].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')).map(function(e){return new __pmGlobal__.Popover(e)})},deps:["popper","bsCore","Tooltip"]},mask:{path:e+"/mask",module:"/mask.js",type:"HMD",deps:["jQuery"]},toolkit:{path:e+"/toolkit",module:"/toolkit.min.js",type:"HMD",css:["/toolkit.css"],deps:["jQuery","mask","support"]},Modal:{path:e+"/modal",module:"/modal.min.js",type:"HMD",css:["/modal.css"],deps:["bsCore"],onRegister:function(e){e.onLoadConditionHandler=function(s){s.target&&s.target.dataset&&s.target.dataset.bsTarget&&"modal"===s.target.dataset.bsToggle&&kit.exec(e.id,function(){var e=new Event("click");s.target.dispatchEvent(e)})},window.addEventListener("click",e.onLoadConditionHandler,!1)},onInstall:function(e){e.onLoadConditionHandler&&window.removeEventListener("click",e.onLoadConditionHandler,!1)}},collapse:{path:e+"/collapse",module:"/collapse.min.js",type:"HMD",css:["/collapse.css"],deps:["bsCore"]},datepicker:{path:e+"/datepicker",module:"/js/datepicker.js",type:"HMD",css:["/css/datepicker.css"],deps:["jQuery"]},cookie:{path:e+"/cookie",module:"/cookie.min.js",type:"HMD"},animations:{path:e+"/animations",css:"/animations.css",module:"/animations.js",type:"HMD"},Collection:{path:e+"/Collection",module:"/Collection.js",type:"HMD",deps:["support"]},dataStructures:{path:e+"/dataStructures",module:"/dataStructures.min.js",type:"HMD"},userAction:{path:e+"/userAction",module:"/userAction.js",type:"HMD",deps:["support","ActionCollection","Action","Viewer"]},Viewer:{path:e+"/Viewer",module:"/Viewer.js",type:"HMD",deps:["Collection","support","ActionCollection","Action"]},ActionCollection:{path:e+"/ActionCollection",module:"/ActionCollection.js",type:"HMD",deps:["Collection","support","Action"]},Action:{path:e+"/Action",module:"/Action.js",type:"HMD",deps:["support"]},date:{path:e+"/date",module:"/date.js",type:"HMD",deps:[]},testing:{path:e+"/testing",module:"/testing.js",type:"HMD",deps:["log"]},log:{path:e+"/log",module:"/log.js",css:"/log.css",type:"HMD",deps:["support","Collection","lib"]},fancybox2:{path:e+"/fancybox/v2",module:"",js:["/jquery.fancybox.pack.js"],css:["/jquery.fancybox.css"],type:"default",alias:["jQuery.Fancybox2"],deps:["jQuery"]},fancybox3:{path:e+"/fancybox/v3",module:"",js:["/jquery.fancybox.min.js"],css:["/jquery.fancybox.min.css"],type:"default",alias:["jQuery.Fancybox3"],deps:["jQuery"]},fancybox4:{path:e+"/fancybox/v4",module:"/fancybox.umd.js",js:[],css:["/fancybox.css"],type:"UMD",alias:[]},fancybox5:{path:e+"/fancybox/v5",module:"/fancybox.umd.js",js:[],css:["/fancybox.css"],type:"UMD",alias:["fancybox"]},lightGallery:{path:e+"/lightGallery",css:"/css/lightgallery.css",module:"/lightgallery.min.js",type:"UMD",deps:[]},"lightGallery.video":{path:e+"/lightGallery",css:"/css/lg-video.css",module:"/plugins/video/lg-video.min.js",type:"UMD",deps:["lightGallery"],alias:["lgVideo"]},"lightGallery.autoplay":{path:e+"/lightGallery",css:"/css/lg-autoplay.css",module:"/plugins/autoplay/lg-autoplay.min.js",type:"UMD",deps:["lightGallery"],alias:["lgAutoplay"]},"lightGallery.thumbnail":{path:e+"/lightGallery",css:"/css/lg-thumbnail.css",module:"/plugins/thumbnail/lg-thumbnail.min.js",type:"UMD",deps:["lightGallery"],alias:["lgThumbnail"]},owlCarousel:{path:e+"/owlCarousel",css:"/owlCarousel.css",js:"/owlCarousel.js",deps:["jQuery"]},"jQuery.Chosen":{path:e+"/jquery/chosen",css:"/chosen.css",js:"/chosen.jquery.js",type:"HMD",alias:["jquery-chosen","chosen","harvesthq/chosen"],deps:["jQuery"]},makeCSSAnimations:{path:e+"/makeCSSAnimations",js:"/makeCSSAnimations.js",deps:["jQuery","support"]},mCustomScrollbar:{path:e+"/mCustomScrollbar",alias:"malihu-custom-scrollbar-plugin",js:"/mCustomScrollbar.js",css:"/jquery.mCustomScrollbar.css",deps:["jQuery","jqueryMousewheel"],onInstall:function(e){e.module.exports(kit.require("jQuery"))}},"jQuery.Mousewheel":{path:e+"/jquery/Mousewheel",module:"/jquery.mousewheel.min.js",type:"UMD",alias:["jquery-mousewheel","jqueryMousewheel"],deps:["jQuery"],onInstall:function(e){e.module.exports(kit.require("jQuery"))}},"jQuery.Lazy":{path:e+"/jquery/Lazy",alias:["jquery-lazy","jqueryLazy"],js:["/jquery.lazy.min.js","/jquery.lazy.plugins.min.js"],deps:["jQuery"]},slickCarousel:{path:e+"/slickCarousel",alias:["slick","slick-carousel"],js:"/slick.min.js",css:["/slick.css","/slick-theme.css"],deps:["jQuery"]},mustache:{path:e+"/mustache",alias:["mustache.js"],js:"/mustache.js",deps:[]},bxSlider:{path:e+"/bxSlider",module:"/jquery.bxslider.min.js",css:["/jquery.bxslider.min.css"],type:"default",deps:["jQuery"]},"jQuery.Selectric":{path:e+"/jquery/Selectric",module:"/jquery.selectric.min.js",css:["/selectric.css"],type:"UMD",alias:["jquerySelectric","selectric"],deps:["jQuery"]},"jQuery.jBox":{path:e+"/jquery/jBox",module:"/jBox.min.js",css:["/jBox.min.css"],type:"default",alias:["jBox"],deps:["jQuery"]},intlTelInput:{path:e+"/intl-tel-input",module:"/js/intlTelInputWithUtils.min.js",css:["/css/intlTelInput.min.css"],type:"UMD",alias:["intl-tel-input"]},intlTelInputI18n:{path:e+"/intl-tel-input",module:"/js/i18n/index2.js",type:"ES",alias:["intl-tel-input-i18n"]},autoComplete:{path:e+"/autoComplete",module:"/autoComplete.min.js",css:["/css/autoComplete.css"],type:"HMD"},"jQuery.FlexSlider":{path:e+"/jquery/FlexSlider",module:"",js:["/jquery.flexslider-min.js"],css:["/flexslider.css"],alias:["jquery.flexslider","FlexSlider","flexslider"],type:"default",deps:["jQuery"]},"jQuery.Actual":{path:e+"/jquery/actual",module:"",js:["/jquery.actual.js"],css:[],alias:["jquery.actual"],type:"default",deps:["jQuery"]},"jQuery.jqModal":{path:e+"/jquery/jqModal",module:"/jqModal.js",js:[],css:[],alias:["jqmodal","jqModal"],type:"UMD",deps:["jQuery"]},"jQuery.History":{path:e+"/jquery/history",module:"",js:["/jquery.history.min.js"],css:[],alias:["jquery.history"],type:"default",deps:["jQuery"]},"jQuery.Validation":{path:e+"/jquery/validation",module:"/jquery.validate.min.js",js:["/localization/messages_ru.js"],css:[],loadJsAfterModule:!0,alias:["jquery-validation","jquery.validation","jquery.validate"],type:"UMD",deps:["jQuery"]},"jQuery.Inputmask":{path:e+"/jquery/inputmask",module:"/min/jquery.inputmask.bundle.min.js",js:[],css:[],alias:["jquery.inputmask"],type:"default",deps:["jQuery"]},"jQuery.Easing":{path:e+"/jquery/easing",module:"/jquery.easing.min.js",js:[],css:[],alias:["jquery.easing"],type:"default",deps:["jQuery"]},"jQuery.Sly":{path:e+"/jquery/sly",module:"/sly.min.js",js:[],css:[],alias:["jquery.sly","sly"],type:"default",deps:["jQuery"]},"jQuery.Equalize":{path:e+"/jquery/equalize.js",module:"/js/equalize.min.js",js:[],css:[],alias:["equalize","equalize.js","jquery.equalize"],type:"default",deps:["jQuery"]},"jQuery.Alphanumeric":{path:e+"/jquery/alphanumeric",module:"/jquery.alphanumeric.pack.js",js:[],css:[],alias:["jquery.alphanumeric"],type:"default",deps:["jQuery"]},"jQuery.Cookie":{path:e+"/jquery/cookie",module:"/src/jquery.cookie.js",js:[],css:[],alias:["jquery.cookie"],type:"UMD",deps:["jQuery"]},"jQuery.Plugin":{path:e+"/jquery/plugin",module:"/jquery.plugin.min.js",js:[],css:[],alias:["jquery.plugin","kbw-plugin"],type:"default",deps:["jQuery"]},"jQuery.JustifiedGallery":{path:e+"/jquery/JustifiedGallery",module:"/js/jquery.justifiedGallery.min.js",js:[],css:["/css/justifiedGallery.min.css"],alias:[],type:"UMD",deps:["jQuery"]}}}; \ No newline at end of file diff --git a/assets/jquery/proxy/init.js b/assets/jquery/proxy/init.js deleted file mode 100644 index bd15ff4..0000000 --- a/assets/jquery/proxy/init.js +++ /dev/null @@ -1 +0,0 @@ -kit.exec('jquery/proxy'); \ No newline at end of file diff --git a/assets/jquery/proxy/init.min.js b/assets/jquery/proxy/init.min.js deleted file mode 100644 index f1e27b8..0000000 --- a/assets/jquery/proxy/init.min.js +++ /dev/null @@ -1 +0,0 @@ -kit.exec("jquery/proxy"); \ No newline at end of file diff --git a/assets/jquery/proxy/jquery-proxy.js b/assets/jquery/proxy/jquery-proxy.js index f9ce95c..43c3191 100644 --- a/assets/jquery/proxy/jquery-proxy.js +++ b/assets/jquery/proxy/jquery-proxy.js @@ -33,20 +33,21 @@ __PluginManager__.register('jQueryProxy',function(require, exports, module, glob return window.hasOwnProperty('jQuery') && Object.is(window.jQuery, J); }; JQueryProxy.prototype.onInstall = function(plugin){ + var self = this; if(!this.hasJQuery()){ (function(w){ w.$ = w.jQuery = J; - plugin.module.initer = J; + self.initer = J; })(window); } }; JQueryProxy.prototype.onJQueryInstall = function(jQueryPlugin, jQueryProxyPlugin){ var self = this; - if(!jQueryProxyPlugin.module.initer){ + if(!self?.initer){ return; } (function(w){ - var q = jQueryProxyPlugin.module.initer.queue; + var q = self.initer.queue; if(self.hasJQueryIniter()){ w.$ = w.jQuery = jQueryPlugin.module.exports; for (var ch of q){ @@ -65,4 +66,7 @@ __PluginManager__.register('jQueryProxy',function(require, exports, module, glob }; module.exports = new JQueryProxy(); +}).install(function(){ + var jQueryProxy = __PluginManager__.require('jQueryProxy'); + jQueryProxy.onInstall(); }); diff --git a/assets/jquery/proxy/jquery-proxy.min.js b/assets/jquery/proxy/jquery-proxy.min.js index a4e3c7e..4253aeb 100644 --- a/assets/jquery/proxy/jquery-proxy.min.js +++ b/assets/jquery/proxy/jquery-proxy.min.js @@ -1 +1 @@ -__PluginManager__.register("jQueryProxy",function(require,exports,module,global){var 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.onInstall=function(plugin){if(!this.hasJQuery()){(function(w){w.$=w.jQuery=J;plugin.module.initer=J})(window)}};JQueryProxy.prototype.onJQueryInstall=function(jQueryPlugin,jQueryProxyPlugin){var self=this;if(!jQueryProxyPlugin.module.initer){return}(function(w){var q=jQueryProxyPlugin.module.initer.queue;if(self.hasJQueryIniter()){w.$=w.jQuery=jQueryPlugin.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}); \ No newline at end of file +__PluginManager__.register("jQueryProxy",function(r,n,e,t){function o(){o.init||(o.init=!0,__PluginManager__.ready("jQuery"));var r=[];return o.queue.push(r),u(r,"$",arguments)}var u=function(e,r="$",n=[]){return e.push([r,n]),new Proxy({},{get(r,n){return function(){return u(e,n,arguments)}}})};function i(){}o.queue=[],o.init=!1,i.prototype.J=o,i.prototype.hasJQuery=function(){return window.hasOwnProperty("jQuery")&&window.jQuery.hasOwnProperty("fn")},i.prototype.hasJQueryIniter=function(){return window.hasOwnProperty("jQuery")&&Object.is(window.jQuery,o)},i.prototype.onInstall=function(r){var n,e=this;this.hasJQuery()||((n=window).$=n.jQuery=o,e.initer=o)},i.prototype.onJQueryInstall=function(r,n){var e=this;if(e?.initer){var t=window,o=e.initer.queue;if(e.hasJQueryIniter()){t.$=t.jQuery=r.module.exports;for(var u of o){var i,a=t;for(i of u)try{a=a[i[0]].apply(a,i[1])}catch(r){console.warn(u,r);break}}}}},e.exports=new i}).install(function(){__PluginManager__.require("jQueryProxy").onInstall()}); \ No newline at end of file