<?php
namespace WebkulDynamicrowBlockAdminhtmlKindDiscipline;
use MagentoConfigBlockSystemConfigKindDisciplineFieldArrayAbstractFieldArray;
use MagentoFrameworkDataObject;
use MagentoFrameworkExceptionLocalizedException;
use WebkulDynamicrowBlockAdminhtmlKindDisciplineDynamicColumn;
class Row extends AbstractFieldArray
{
/**
* @var Templete
*/
personal $templeteRenderer;
/**
* Put together rendering the brand new subject by including all of the wanted columns
*/
protected operate _prepareToRender()
{
$this->addColumn(‘text_1’, [‘label’ => __(‘Text 1’), ‘class’ => ‘required-entry’]);
$this->addColumn(‘text_2’, [‘label’ => __(‘Text 2’), ‘class’ => ‘required-entry’]);
$this->addColumn(‘templete’, [
‘label’ => __(‘Select’),
‘renderer’ => $this->getTempleteRenderer()
]);
$this->_addAfter = false;
$this->_addButtonLabel = __(‘Add Row’);
}
/**
* Put together current row knowledge object
*
* @param DataObject $row
* @throws LocalizedException
*/
protected operate _prepareArrayRow(DataObject $row): void
{
$choices = [];
$templete = $row->getTemplete();
if ($templete !== null) {
$choices[‘option_’ . $this->getTempleteRenderer()->calcOptionHash($templete)] = ‘chosen=”chosen”‘;
}
$row->setData(‘option_extra_attrs’, $choices);
}
/**
*
* @return Templete
* @throws LocalizedException
*/
personal operate getTempleteRenderer()
{
if (!$this->templeteRenderer) {
$this->templeteRenderer = $this->getLayout()->createBlock(
DynamicColumn::class,
”,
[‘data’ => [‘is_render_to_js_template’ => true]]
);
}
return $this->templeteRenderer;
}
}