3namespace Bitrix\Report\VisualConstructor\Views\Component;
5use Bitrix\Main\Localization\Loc;
6use Bitrix\Report\VisualConstructor\Config\Common;
7use Bitrix\Report\VisualConstructor\Entity\Widget;
8use Bitrix\Report\VisualConstructor\Fields\Container;
9use Bitrix\Report\VisualConstructor\Fields\Div;
10use Bitrix\Report\VisualConstructor\Fields\Valuable\DropDown;
11use Bitrix\Report\VisualConstructor\Handler\BaseReport;
12use Bitrix\Report\VisualConstructor\Handler\BaseWidget;
13use Bitrix\Report\VisualConstructor\WidgetForm;
33 parent::__construct();
35 $this->
setLabel(Loc::getMessage(
'REPORT_NUMBER_BLOCK_VIEW_LABEL'));
36 $this->
setLogoUri(
'/bitrix/images/report/visualconstructor/view-number-block.jpg');
37 $this->
setComponentName(
'bitrix:report.visualconstructor.widget.content.numberblock');
39 $this->
setJsClassName(
'BX.Report.VisualConstructor.Widget.Content.NumberBlock');
50 $form = parent::prepareWidgetFormBeforeRender($form);
52 $secondReportConfigsContainer = $form->
getField(
'report_configurations_container_2');
55 if ($secondReportConfigsContainer instanceof
Container)
57 $firstGroupedReportContainer = $secondReportConfigsContainer;
59 $thirdReportConfigsContainer = $form->
getField(
'report_configurations_container_3');
60 if ($thirdReportConfigsContainer instanceof
Container)
62 $lastGroupedReportContainer = $thirdReportConfigsContainer;
66 $lastGroupedReportContainer = $secondReportConfigsContainer;
70 $div->setKey(
'report_configuration_big_container');
71 $div->addClass(
'report-configuration-big-container');
72 $form->
addFieldBefore($div->start(), $firstGroupedReportContainer);
73 $form->
addFieldAfter($div->end(), $lastGroupedReportContainer);
87 parent::collectWidgetHandlerFormElements($widgetHandler);
88 $widgetHandler->getFormElement(
'color')->
setDisplay(
false);
101 parent::collectReportHandlerFormElements($reportHandler);
102 $removeReportControlFormElement = $reportHandler->getFormElementByDataAttribute(
'role',
'report-remove-button');
105 if ($removeReportControlFormElement)
107 $removeReportControlFormElement->setDisplay(
false);
110 if (!$reportHandler->getConfiguration(
'color'))
112 $reportHandler->getConfiguration(
'color')->setValue(
'#4fc3f7');
113 $reportHandler->getFormElement(
'head_container_start')->addInlineStyle(
'background-color',
'#4fc3f7');
114 $reportHandler->getFormElement(
'main_container_start')->addInlineStyle(
'background-color',
'#4fc3f75f');
118 $whatWillCalculateField = $reportHandler->getFormElement(
'calculate');
119 $labelField = $reportHandler->getFormElement(
'label');
120 if ($whatWillCalculateField)
122 $labelField->addJsEventListener($whatWillCalculateField, $whatWillCalculateField::JS_EVENT_ON_CHANGE,
array(
123 'class' =>
'BX.Report.VisualConstructor.FieldEventHandlers.Title',
124 'action' =>
'whatWillCalculateChange',
126 $labelField->addAssets(
array(
127 'js' =>
array(
'/bitrix/js/report/js/visualconstructor/fields/reporttitle.js')
142 $resultWidget = parent::prepareWidgetContent($widget, $withCalculatedData);
144 if ($withCalculatedData)
146 $resultWidget[
'content'][
'params'][
'color'] = $widget->
getWidgetHandler()->getReportHandlers()[0]->getFormElement(
'color')->getValue();
147 $resultWidget[
'config'][
'title'] = $widget->
getWidgetHandler()->getReportHandlers()[0]->getFormElement(
'label')->getValue();
150 return $resultWidget;
162 $defaultColorList =
array(
166 return $defaultColorList[$num %
count($defaultColorList)];
setJsClassName($jsClassName)
setCompatibleDataType($compatibleDataType)
collectReportHandlerFormElements($reportHandler)
setComponentName($componentName)
prepareWidgetContent(Widget $widget, $withCalculatedData=false)
getReportDefaultColor($num)
collectWidgetHandlerFormElements(BaseWidget $widgetHandler)
prepareWidgetFormBeforeRender(WidgetForm $form)
const MAX_RENDER_REPORT_COUNT
const DEFAULT_EMPTY_REPORT_COUNT
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"