%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 18.118.166.45
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/components/bitrix/main.field.enum/templates/main.view/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/main.field.enum/templates/main.view/src/mobile.js
import {Loc} from 'main.core';

const nodeEnum = (function ()
{
	const nodeEnum = function (select, container, isInlineEdit)
	{
		this.click = BX.delegate(this.click, this);
		this.callback = BX.delegate(this.callback, this);
		this.multiple = false;
		this.select = null;
		this.container = null;
		this.isInlineEdit = null;
		this.titles = [];
		this.values = [];
		this.defaultTitles = [];
		this.init(select, container, isInlineEdit);
	};
	nodeEnum.prototype = {
		init: function (select, container, isInlineEdit = true)
		{
			if (BX(select) && BX(container))
			{
				this.select = select;
				this.container = container;
				this.isInlineEdit = isInlineEdit;
				if (!this.select.hasAttribute('bx-bound'))
				{
					this.select.setAttribute('bx-bound', 'Y');
					BX.addCustomEvent(select, 'onChange', BX.delegate(function ()
					{
						this.multiple = this.select.hasAttribute('multiple');
						this.initValues();
					}, this));
					BX.bind(this.container, 'click', this.click);
				}
				this.multiple = select.hasAttribute('multiple');
				this.initValues();
			}
		},
		initValues: function ()
		{
			this.titles = [];
			this.values = [];
			this.defaultTitles = [];
			for (let ii = 0; ii < this.select.options.length; ii++)
			{
				this.titles.push(this.select.options[ii].textContent.trim());
				this.values.push(this.select.options[ii].value);
				if (this.select.options[ii].hasAttribute('selected'))
				{
					this.defaultTitles.push(this.select.options[ii].innerHTML);
				}
			}
		},
		click: function (e)
		{
			this.show();
			return BX.PreventDefault(e);
		},
		show: function ()
		{
			if (this.titles.length > 0)
			{
				BXMobileApp.UI.SelectPicker.show({
					callback: this.callback,
					values: this.titles,
					multiselect: this.multiple,
					default_value: this.defaultTitles
				});
			}
		},
		callback: function (data)
		{
			this.defaultTitles = [];
			if (data && data.values && data.values.length > 0)
			{
				let keys = [];
				for (let ii = 0; ii < this.titles.length; ii++)
				{
					for (let jj = 0; jj < data.values.length; jj++)
					{
						if (this.titles[ii] === data.values[jj])
						{
							keys.push(this.values[ii]);
							this.defaultTitles.push(this.titles[ii]);
							break;
						}
					}
				}
				let html = '';
				for (let ii = 0; ii < this.select.options.length; ii++)
				{
					this.select.options[ii].removeAttribute('selected');
					if (BX.util.in_array(this.select.options[ii].value, keys))
					{
						this.select.options[ii].setAttribute('selected', 'selected');
						if (this.multiple)
						{
							html += this.select.options[ii].innerHTML + '<br>';
						}
						else
						{
							html = this.select.options[ii].innerHTML;
						}
					}
				}
				if (html === '' && !this.multiple)
				{
					html = `<span style="color:grey">${Loc.getMessage('interface_form_select')}</span>`;
				}
				this.container.innerHTML = html;
			}
			else
			{
				for (let ii = 0; ii < this.select.options.length; ii++)
				{
					this.select.options[ii].removeAttribute('selected');
				}

				this.container.innerHTML = Loc.getMessage('USER_TYPE_ENUM_NO_VALUE');
			}

			if (this.isInlineEdit)
			{
				BX.onCustomEvent(this, 'onChange', [this, this.select]);
			}
		}
	};
	return nodeEnum;
})();
window.app.exec('enableCaptureKeyboard', true);

BX.Mobile.Field.Enum = function (params)
{
	this.init(params);
};
BX.Mobile.Field.Enum.prototype = {
	__proto__: BX.Mobile.Field.prototype,
	bindElement: function (node)
	{
		let result = null;
		if (BX(node))
		{
			result = new nodeEnum(
				node,
				BX(`${node.id}_select`),
				(node.dataset.isInlineEdit !== 'false')
			);
		}
		return result;
	},
};

Youez - 2016 - github.com/yon3zu
LinuXploit