- Модуль: report
- Путь к файлу: ~/bitrix/modules/report/lib/visualconstructor/view.php
- Класс: BitrixReportVisualConstructorView
- Вызов: View::collectWidgetHandlerFormElements
public function collectWidgetHandlerFormElements(BaseWidget $widgetHandler)
{
$label = new LabelField('label', 'big');
$label->setDefaultValue(Loc::getMessage('REPORT_WIDGET_DEFAULT_TITLE'));
$label->addAssets(array(
'js' => array('/bitrix/js/report/js/visualconstructor/fields/reporttitle.js')
));
$label->setIsDisplayLabel(false);
$timePeriod = new TimePeriod('time_period', $widgetHandler->getWidget()->getFilterId());
$timePeriod->setLabel(Loc::getMessage('REPORT_CALCULATION_PERIOD'));
$colorPicker = new ColorPicker('color');
$colorPicker->setLabel(Loc::getMessage('BACKGROUND_COLOR_OF_WIDGET'));
$colorPicker->setDefaultValue('#ffffff');
$previewBlockField = new PreviewBlock('view_type');
$previewBlockField->setWidget($widgetHandler->getWidget());
$previewBlockField->addJsEventListener($previewBlockField, $previewBlockField::JS_EVENT_ON_VIEW_SELECT, array(
'class' => 'BX.Report.VisualConstructor.FieldEventHandlers.PreviewBlock',
'action' => 'viewTypeSelect'
));
$previewBlockField->addJsEventListener($label, $label::JS_EVENT_ON_CHANGE, array(
'class' => 'BX.Report.VisualConstructor.FieldEventHandlers.PreviewBlock',
'action' => 'reloadWidgetPreview'
));
$previewBlockField->addJsEventListener($timePeriod, $timePeriod::JS_EVENT_ON_SELECT, array(
'class' => 'BX.Report.VisualConstructor.FieldEventHandlers.PreviewBlock',
'action' => 'reloadWidgetPreview'
));
$previewBlockField->addAssets(array(
'js' => array('/bitrix/js/report/js/visualconstructor/fields/previewblock.js')
));
$titleContainer = new Div();
$titleContainer->addClass('report-configuration-row');
$titleContainer->addClass('report-configuration-no-padding-bottom');
$titleContainer->addClass('report-configuration-row-white-background');
$titleContainer->addClass('report-configuration-row-margin-bottom');
$widgetHandler->addFormElement($titleContainer->start());
$widgetHandler->addFormElement($label);
$widgetHandler->addFormElement($colorPicker);
$widgetHandler->addFormElement($titleContainer->end());
$timePeriodContainer = new Div();
$timePeriodContainer->addClass('report-configuration-row');
$timePeriodContainer->addClass('report-configuration-row-white-background');
$widgetHandler->addFormElement($timePeriodContainer->start());
$widgetHandler->addFormElement($timePeriod);
$widgetHandler->addFormElement($timePeriodContainer->end());
$previewBlockContainer = new Div();
$previewBlockContainer->addClass('report-configuration-row');
$previewBlockContainer->addClass('report-configuration-row-margin-top-big');
$previewBlockContainer->addClass('report-configuration-row-white-background');
$widgetHandler->addFormElement($previewBlockContainer->start());
$widgetHandler->addFormElement($previewBlockField);
$widgetHandler->addFormElement($previewBlockContainer->end());
}