• Модуль: ui
  • Путь к файлу: ~/bitrix/modules/ui/lib/entityselector/tab.php
  • Класс: BitrixUIEntitySelectorTab
  • Вызов: Tab::__construct
public function __construct(array $options)
{
	$id = $options['id'] ?? null;
	if (is_string($id) && $id !== '')
	{
		$this->id = $id;
	}

	$title = $options['title'] ?? null;
	if (is_string($title) || is_array($title))
	{
		$this->setTitle($options['title']);
	}

	if (isset($options['icon']))
	{
		if (is_string($options['icon']))
		{
			$this->setIcon(['default' => $options['icon']]);
		}
		elseif (is_array($options['icon']))
		{
			$this->setIcon($options['icon']);
		}
	}

	if (isset($options['textColor']))
	{
		if (is_string($options['textColor']))
		{
			$this->setTextColor(['default' => $options['textColor']]);
		}
		elseif (is_array($options['textColor']))
		{
			$this->setTextColor($options['textColor']);
		}
	}

	if (isset($options['bgColor']))
	{
		if (is_string($options['bgColor']))
		{
			$this->setBgColor(['default' => $options['bgColor']]);
		}
		elseif (is_array($options['bgColor']))
		{
			$this->setBgColor($options['bgColor']);
		}
	}

	if (isset($options['visible']) && is_bool($options['visible']))
	{
		$this->setVisible($options['visible']);
	}

	if (!empty($options['itemOrder']) && is_array($options['itemOrder']))
	{
		$this->setItemOrder($options['itemOrder']);
	}

	if (isset($options['itemMaxDepth']) && is_int($options['itemMaxDepth']))
	{
		$this->setItemMaxDepth($options['itemMaxDepth']);
	}

	if (isset($options['stub']) && (is_bool($options['stub']) || is_string($options['stub'])))
	{
		$this->setStub($options['stub']);
	}

	if (!empty($options['stubOptions']) && is_array($options['stubOptions']))
	{
		$this->setStubOptions($options['stubOptions']);
	}

	if (isset($options['header']) && is_string($options['header']))
	{
		$headerOptions =
			isset($options['headerOptions']) && is_array($options['headerOptions'])
				? $options['headerOptions']
				: []
		;

		$this->setFooter($options['header'], $headerOptions);
	}

	if (isset($options['showDefaultHeader']) && is_bool($options['showDefaultHeader']))
	{
		$this->showDefaultHeader = $options['showDefaultHeader'];
	}

	if (isset($options['footer']) && is_string($options['footer']))
	{
		$footerOptions =
			isset($options['footerOptions']) && is_array($options['footerOptions'])
				? $options['footerOptions']
				: []
		;

		$this->setFooter($options['footer'], $footerOptions);
	}

	if (isset($options['showDefaultFooter']) && is_bool($options['showDefaultFooter']))
	{
		$this->showDefaultFooter = $options['showDefaultFooter'];
	}

	if (isset($options['showAvatars']) && is_bool($options['showAvatars']))
	{
		$this->setShowAvatars($options['showAvatars']);
	}
}