%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.133.134.58
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/ui/entity-editor/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/ui/entity-editor/js/form.js
BX.namespace("BX.UI");

if(typeof(BX.UI.Form) === "undefined")
{
	BX.UI.Form = function()
	{
		this._id = "";
		this._settings = null;
		this._elementNode = null;
		this._formData = null;
	};
	BX.UI.Form.prototype =
	{
		initialize: function(id, setting)
		{
			this._id = BX.type.isNotEmptyString(id) ? id : "";
			this._settings = BX.type.isPlainObject(setting) ? setting : {};
			this._elementNode = BX.prop.getElementNode(this._settings, "elementNode", null);
			this._formData = BX.prop.getObject(this._settings, "formData", null);
			if(!this._elementNode && !this._formData)
			{
				throw "BX.UI.Form: Could not find 'elementNode' or 'formData' parameter in settings.";
			}

			this.doInitialize();
		},
		doInitialize: function()
		{
		},
		getId: function()
		{
			return this._id;
		},
		getElementNode: function()
		{
			return this._elementNode;
		},
		submit: function(options)
		{
			if(!BX.type.isPlainObject(options))
			{
				options = {};
			}

			var eventArgs = { cancel: false, options: options };
			BX.onCustomEvent(this, "onBeforeSubmit", [this, eventArgs]);
			if(eventArgs["cancel"])
			{
				return false;
			}

			this.doSubmit(options);
			BX.onCustomEvent(this, "onAfterSubmit", [this, { options: options }]);
			return true;
		},
		doSubmit: function(options)
		{
		}
	};
}

if(typeof(BX.UI.AjaxForm) === "undefined")
{
	BX.UI.AjaxForm = function()
	{
		BX.UI.AjaxForm.superclass.constructor.apply(this);
		this._config = null;
	};
	BX.extend(BX.UI.AjaxForm, BX.UI.Form);
	BX.UI.AjaxForm.prototype.doInitialize = function()
	{
		this._config = BX.prop.getObject(this._settings, "config", null);
		if(!this._config)
		{
			throw "BX.UI.AjaxForm: Could not find 'config' parameter in settings.";
		}

		if(BX.prop.getString(this._config, "url", "") === "")
		{
			throw "BX.UI.AjaxForm: Could not find 'url' parameter in config";
		}

		if(BX.prop.getString(this._config, "method", "") === "")
		{
			this._config["method"] = "POST";
		}

		if(BX.prop.getString(this._config, "dataType", "") === "")
		{
			this._config["dataType"] = "json";
		}
	};
	BX.UI.AjaxForm.prototype.getUrl = function()
	{
		return BX.prop.getString(this._config, "url", "");
	};
	BX.UI.AjaxForm.prototype.setUrl = function(url)
	{
		this._config["url"] = url;
	};
	BX.UI.AjaxForm.prototype.addUrlParams = function(params)
	{
		if(BX.type.isPlainObject(params) && Object.keys(params).length > 0)
		{
			this._config["url"] = BX.util.add_url_param(BX.prop.getString(this._config, "url", ""), params);
		}
	};
	BX.UI.AjaxForm.prototype.doSubmit = function(options)
	{
		if (!this._elementNode)
		{
			var config = BX.clone(this._config);
			if (!config.data)
			{
				config.data = {};
			}
			config.data = BX.merge(config.data, this._formData);
			BX.ajax(config);
		}
		else
		{
			BX.ajax.submitAjax(this._elementNode, this._config);
		}
	};
	BX.UI.AjaxForm.create = function(id, settings)
	{
		var self = new BX.UI.AjaxForm();
		self.initialize(id, settings);
		return self;
	};
}

if(typeof(BX.UI.ComponentAjax) === "undefined")
{
	BX.UI.ComponentAjax = function()
	{
		BX.UI.ComponentAjax.superclass.constructor.apply(this);
		this._className = "";
		this._actionName = "";
		this._signedParameters = null;
		this._callbacks = null;
		this._getParameters = {};
	};
	BX.extend(BX.UI.ComponentAjax, BX.UI.Form);
	BX.UI.ComponentAjax.prototype.doInitialize = function()
	{
		this._className = BX.prop.getString(this._settings, "className", "");
		this._actionName = BX.prop.getString(this._settings, "actionName", "");
		this._signedParameters = BX.prop.getString(this._settings, "signedParameters", null);
		this._callbacks = BX.prop.getObject(this._settings, "callbacks", {});

	};
	BX.UI.ComponentAjax.prototype.addUrlParams = function(params)
	{
		if(BX.type.isPlainObject(params) && Object.keys(params).length > 0)
		{
			this._getParameters = BX.merge(this._getParameters, params);
		}
	};
	BX.UI.ComponentAjax.prototype._prepareFormData = function(data, formData, parent)
	{
		for (var dataElement in data)
		{
			var dataElementParent = (parent !== '') ? parent + '[' + dataElement + ']' : dataElement;

			if (BX.type.isPlainObject(data[dataElement]) || BX.type.isArray(data[dataElement]))
			{
				this._prepareFormData(data[dataElement], formData, dataElementParent);
			}
			else
			{
				formData.append(dataElementParent, data[dataElement]);
			}
		}
	};
	BX.UI.ComponentAjax.prototype.makeFormData = function(data)
	{
		var formData = new FormData();

		this._prepareFormData(data, formData, '');

		return formData;
	};
	BX.UI.ComponentAjax.prototype.doSubmit = function(options)
	{
		var formData = this._elementNode
			? BX.ajax.prepareForm(this._elementNode)
			: {data : BX.clone(this._formData), filesCount : 0}
		;

		if (BX.type.isPlainObject(options.data))
		{
			for (var i in options.data)
			{
				if (options.data.hasOwnProperty(i))
				{
					formData.data[i] = options.data[i];
				}
			}
		}

		var resultData = formData.filesCount > 0 ? this.makeFormData(formData) : formData;

		BX.ajax.runComponentAction(
			this._className,
			this._actionName,
			{
				mode: "class",
				signedParameters: this._signedParameters,
				data: resultData,
				getParameters: this._getParameters
			}
		).then(
			function(response)
			{
				var callback = BX.prop.getFunction(this._callbacks, "onSuccess", null);
				if(callback)
				{
					BX.onCustomEvent(
						window,
						"BX.UI.EntityEditorAjax:onSubmit",
						[ response["data"]["ENTITY_DATA"], response ]
					);
					callback(response["data"]);
				}
			}.bind(this)
		).catch(
			function(response)
			{
				var callback = BX.prop.getFunction(this._callbacks, "onFailure", null);
				if(!callback)
				{
					return;
				}

				var messages = [];
				var errors = response["errors"];
				for(var i = 0, length = errors.length; i < length; i++)
				{
					messages.push(errors[i]["message"]);
				}
				BX.onCustomEvent(
					window,
					"BX.UI.EntityEditorAjax:onSubmitFailure",
					[ response["errors"] ]
				);
				callback({ "ERRORS": messages });
			}.bind(this)
		);
	};
	BX.UI.ComponentAjax.create = function(id, settings)
	{
		var self = new BX.UI.ComponentAjax();
		self.initialize(id, settings);
		return self;
	};
}

Youez - 2016 - github.com/yon3zu
LinuXploit