3namespace Bitrix\Report\VisualConstructor\Views\Component;
5use Bitrix\Main\Localization\Loc;
6use Bitrix\Report\VisualConstructor\Config\Common;
7use Bitrix\Report\VisualConstructor\Fields\Valuable\ColorPicker;
8use Bitrix\Report\VisualConstructor\Fields\Valuable\DropDown;
9use Bitrix\Report\VisualConstructor\Handler\BaseReport;
10use Bitrix\Report\VisualConstructor\Handler\BaseWidget;
28 parent::__construct();
29 $this->
setLabel(Loc::getMessage(
'REPORT_GROUPED_DATA_GRID_VIEW_LABEL'));
30 $this->
setLogoUri(
'/bitrix/images/report/visualconstructor/view-lines-list.png');
31 $this->
setComponentName(
'bitrix:report.visualconstructor.widget.content.groupeddatagrid');
33 $this->
setJsClassName(
'BX.Report.VisualConstructor.Widget.Content.GroupedDataGrid');
47 $calculatedPerformedData = parent::handlerFinallyBeforePassToView($calculatedPerformedData);
51 if ($allCalculatedReportData = $calculatedPerformedData[
'data'])
53 foreach ($allCalculatedReportData as $reportKey => $reportHandlerResult)
55 $items = $reportHandlerResult[
'items'];
63 $result[
'items'][$item[
'groupBy']][$reportKey] = $item;
65 $result[
'config'][
'reportOptions'][$reportKey][
'title'] =
htmlspecialcharsbx($reportHandlerResult[
'config'][
'reportTitle']);
67 foreach ($reportHandlerResult[
'config'][
'groupsLabelMap'] as $groupKey => $label)
72 foreach ($reportHandlerResult[
'config'][
'groupsLogoMap'] as $groupKey => $logUrl)
74 $result[
'config'][
'groupOptions'][$groupKey][
'logo'] = $logUrl;
77 if (!empty($reportHandlerResult[
'config'][
'groupsTargetUrlMap']))
79 foreach ($reportHandlerResult[
'config'][
'groupsTargetUrlMap'] as $groupKey => $targetUrl)
81 $result[
'config'][
'groupOptions'][$groupKey][
'link'] = $targetUrl;
98 parent::collectWidgetHandlerFormElements($widgetHandler);
109 parent::collectReportHandlerFormElements($reportHandler);
111 $colorField = $reportHandler->getFormElement(
'color');
114 $colorField->setPickerFieldHidden(
true);
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')
131 $calculateField = $reportHandler->getFormElement(
'calculate');
134 $groupByField = $reportHandler->getFormElement(
'groupingBy');
135 $groupByField->setDefaultValue(
'RESPONSIBLE');
136 $reportHandler->addFormElementBefore($groupByField, $reportHandler->getFormElement(
'main_container_end'));
setJsClassName($jsClassName)
setHorizontalResizable($horizontalResizable)
setCompatibleDataType($compatibleDataType)
collectReportHandlerFormElements($reportHandler)
setComponentName($componentName)
handlerFinallyBeforePassToView($calculatedPerformedData)
getReportDefaultColor($num)
collectWidgetHandlerFormElements(BaseWidget $widgetHandler)
const MAX_RENDER_REPORT_COUNT
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)