• Модуль: report
  • Путь к файлу: ~/bitrix/modules/report/lib/visualconstructor/handler/base.php
  • Класс: BitrixReportVisualConstructorHandlerBase
  • Вызов: Base::addFormElementBefore
public function addFormElementBefore(BaseFormElement $newElement, BaseFormElement $targetElement)
{
	$newFormElementsList = array();
	foreach ($this->formElementsList as $key => $element)
	{

		//add new element
		if ($element === $targetElement)
		{
			if ($newElement->getKey())
			{
				$newFormElementsList[$newElement->getKey()] = $newElement;
			}
			else
			{
				$newFormElementsList[] = $newElement;
			}

			if ($newElement instanceof BaseValuable)
			{
				$this->addToConfiguration($newElement);
			}
		}

		//rewrite old elements to new collection
		if ($element->getKey())
		{
			$newFormElementsList[$key] = $element;
		}
		else
		{
			$newFormElementsList[] = $element;
		}
	}
	$this->formElementsList = $newFormElementsList;
}