• Модуль: report
  • Путь к файлу: ~/bitrix/modules/report/lib/visualconstructor/controller/configuration.php
  • Класс: BitrixReportVisualConstructorControllerConfiguration
  • Вызов: Configuration::buildPseudoReportConfigurationAction
public function buildPseudoReportConfigurationAction($params)
{
	if (!isset($params['widgetId']))
	{
		$this->addError(new Error('widgetId not exist'));
		return false;
	}

	if (!isset($params['viewKey']))
	{
		$this->addError(new Error('view key not exist'));
		return false;
	}

	$existReportCount = !empty($params['existReportCount']) ? $params['existReportCount'] : 0;

	$componentName = 'bitrix:report.visualconstructor.widget.pseudoconfig';
	$templateName = '';
	$widgetParams = array(
		'widgetGId' => $params['widgetId'],
		'viewKey' => $params['viewKey'],
	);

	$reportHandlerClassName = !empty($params['reportHandlerClassName']) ? $params['reportHandlerClassName'] : '__';

	$widget = BitrixReportVisualConstructorEntityWidget::buildPseudoWidget($widgetParams);
	if ($widget)
	{
		$componentParams = array(
			'WIDGET_ID' => $widget->getGId()
		);

		if ($reportHandlerClassName == '__')
		{
			$reportHandlerClassName = EmptyReport::getClassName();
		}

		$reportHandler = Report::buildReportHandlerForWidget($reportHandlerClassName, $widget, true);
		$colorFieldValue = !empty($params['colorFieldValue']) ? $params['colorFieldValue'] : $reportHandler->getView()->getReportDefaultColor($existReportCount + 1);

		$reportHandler->getFormElement('color')->setValue($colorFieldValue);
		$reportHandler->getFormElement('head_container_start')->addInlineStyle('background-color', $colorFieldValue);
		$reportHandler->getFormElement('main_container_start')->addInlineStyle('background-color', $colorFieldValue . '5f');
		$componentParams['REPORT_HANDLER'] = $reportHandler;
		return new Component($componentName, $templateName, $componentParams);
	}
	$this->addError(new Error('No widget with this id'));
	return false;
}