• Модуль: ui
  • Путь к файлу: ~/bitrix/modules/ui/lib/buttons/basebutton.php
  • Класс: BitrixUIButtonsBaseButton
  • Вызов: BaseButton::buildFromArray
protected function buildFromArray($params)
{
	if (isset($params['text']))
	{
		$this->setText($params['text']);
	}

	if (!empty($params['styles']))
	{
		$this->setStyles($params['styles']);
	}

	if (!empty($params['maxWidth']))
	{
		$this->setMaxWidth($params['maxWidth']);
	}

	if (!empty($params['className']) && is_string($params['className']))
	{
		$params['classList'] = array_filter(explode(' ', $params['className']));
	}

	if (empty($params['classList']))
	{
		$params['classList'] = [];
	}

	$params['classList'] = array_merge(
		[$this->getBaseClass()],
		$params['classList']
	);

	$this->getAttributeCollection()->setClassList($params['classList']);

	if (!empty($params['counter']))
	{
		$this->setCounter($params['counter']);
	}

	if (!empty($params['id']))
	{
		$this->setId($params['id']);
	}

	if (!empty($params['tag']))
	{
		$this->setTag($params['tag']);
	}

	if (!empty($params['link']))
	{
		$this->setLink($params['link']);
	}

	if (!empty($params['click']))
	{
		$this->bindEvent('click', $params['click']);
	}

	if (!empty($params['onclick']))
	{
		$this->bindEvent('click', $params['onclick']);
	}

	if (!empty($params['events']))
	{
		$this->bindEvents($params['events']);
	}

	if (isset($params['dataset']) && is_array($params['dataset']))
	{
		foreach ($params['dataset'] as $name => $value)
		{
			$this->addDataAttribute($name, $value);
		}
	}
}