403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/ilovecveti.ru/bitrix/js/yandex.market/plugin/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/ilovecveti.ru/bitrix/js/yandex.market/plugin/manager.js
(function(BX, $, window) {

	var YandexMarket = BX.namespace('YandexMarket');
	var Plugin = BX.namespace('YandexMarket.Plugin');

	Plugin.Manager = Plugin.Base.extend({

		defaults: {
			pluginElement: '.js-plugin',
			clickPluginElement: '.js-plugin-click',
			delayedPluginElement: '.js-plugin-delayed'
		},

		initialize: function() {
			this.bind();
		},

		bind: function() {
			this.handleDocumentReady();
			this.handleAjaxSuccessFinish(true);
			this.handleContentUpdate(true);
			this.handlePluginClick(true);
		},

		unbind: function() {
			this.handleAjaxSuccessFinish(false);
			this.handleContentUpdate(false);
			this.handlePluginClick(false);
		},

		handleDocumentReady: function() {
			if (document.readyState !== 'complete') {
				$(document).ready($.proxy(this.onDocumentReady, this));
			}
		},

		handleAjaxSuccessFinish: function(dir) {
			BX[dir ? 'addCustomEvent' : 'removeCustomEvent']('onAjaxSuccessFinish', BX.proxy(this.onAjaxSuccessFinish, this));
		},

		handleContentUpdate: function(dir) {
			BX[dir ? 'addCustomEvent' : 'removeCustomEvent']('onYaMarketContentUpdate', BX.proxy(this.onContentUpdate, this));
		},

		handlePluginClick: function() {
			var selector = this.getElementSelector('clickPlugin');

			$(document).on('click', selector, $.proxy(this.onClickPlugin, this));
		},

		onDocumentReady: function() {
			this.initializeContext(document, false);
			this.handleAjaxSuccessFinish(false);
		},

		onAjaxSuccessFinish: function() {
			this.initializeContext(document);
			this.handleAjaxSuccessFinish(false);
		},

		onContentUpdate: function(evt) {
			this.initializeContext(evt.target);
		},

		onClickPlugin: function(evt) {
			var target = $(evt.currentTarget);
			var pluginList = this.initializeElement(target);
			var instance = pluginList.length > 0 ? pluginList[0] : null;

			if (instance) {
				instance.activate();
			}
		},

		initializeContext: function(context, includeDelayed) {
			this.callElementList('initializeElement', context, includeDelayed);
		},

		destroyContext: function(context, includeDelayed) {
			this.callElementList('destroyElement', context, includeDelayed);
		},

		callElementList: function(method, context, includeDelayed) {
			var elementList = this.getContextPluginElementList(context, includeDelayed);
			var element;
			var i;

			for (i = 0; i < elementList.length; i++) {
				element = elementList.eq(i);
				this[method](element);
			}
		},

		initializeElement: function(element) {
			var pluginList = (element.data('plugin') || '').split(',');
			var pluginIndex;
			var pluginName;
			var plugin;
			var result = [];

			for (pluginIndex = 0; pluginIndex < pluginList.length; pluginIndex++) {
				pluginName = pluginList[pluginIndex].trim();

				if (pluginName === '') { continue; }

				plugin = this.getPlugin(pluginName);

				if (plugin == null) { continue; }

				result.push(plugin.getInstance(element));
			}

			return result;
		},

		destroyElement: function(element) {
			var pluginList = (element.data('plugin') || '').split(',');
			var pluginIndex;
			var pluginName;
			var plugin;
			var instance;

			for (pluginIndex = 0; pluginIndex < pluginList.length; pluginIndex++) {
				pluginName = pluginList[pluginIndex].trim();

				if (pluginName === '') { continue; }

				plugin = this.getPlugin(pluginName);
				instance = plugin.getInstance(element, true);

				if (instance) {
					instance.destroy();
				}
			}
		},

		getInstance: function(element) {
			var plugins = this.initializeElement(element);

			return plugins[0];
		},

		getPlugin: function(name) {
			var nameParts = name.split('.');
			var nameNamespace;
			var pluginNamespace;
			var pluginName;

			if (nameParts.length > 1) {
				nameNamespace = nameParts.slice(0, -1).join('.');
				pluginNamespace = BX.namespace('YandexMarket.' + nameNamespace);
				pluginName = nameParts[nameParts.length - 1];
			} else {
				pluginNamespace = YandexMarket;
				pluginName = nameParts[0];
			}

			return pluginNamespace[pluginName];
		},

		getContextPluginElementList: function(contextNode, includeDelayed) {
			var context = contextNode instanceof $ ? contextNode : $(contextNode);
			var pluginSelector = this.getElementSelector('plugin');
			var delayedSelector;
			var delayedElements;
			var result = context.filter(pluginSelector).add(context.find(pluginSelector));

			if (includeDelayed == null || includeDelayed) {
				delayedSelector = this.getElementSelector('delayedPlugin');
				delayedElements = context.filter(delayedSelector).add(context.find(delayedSelector));

				if (delayedElements.length > 0) {
					result = result.add(delayedElements);
				}
			}

			return result;
		},

	});

	Plugin.manager = new Plugin.Manager();

})(BX, jQuery, window);

Youez - 2016 - github.com/yon3zu
LinuXploit