12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Backend\Block\Widget\Grid\Column\Renderer;
- /**
- * Grid select input column renderer
- *
- * @api
- * @since 100.0.2
- */
- class Select extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer
- {
- /**
- * @var \Magento\Backend\Block\Widget\Grid\Column\Renderer\Options\Converter
- */
- protected $_converter;
- /**
- * @param \Magento\Backend\Block\Context $context
- * @param \Magento\Backend\Block\Widget\Grid\Column\Renderer\Options\Converter $converter
- * @param array $data
- */
- public function __construct(
- \Magento\Backend\Block\Context $context,
- \Magento\Backend\Block\Widget\Grid\Column\Renderer\Options\Converter $converter,
- array $data = []
- ) {
- $this->_converter = $converter;
- parent::__construct($context, $data);
- }
- /**
- * Get options from column
- *
- * @return array
- */
- protected function _getOptions()
- {
- return $this->_converter->toFlatArray($this->getColumn()->getOptions());
- }
- /**
- * Renders grid column
- *
- * @param \Magento\Framework\DataObject $row
- * @return string
- */
- public function render(\Magento\Framework\DataObject $row)
- {
- $name = $this->getColumn()->getName() ? $this->getColumn()->getName() : $this->getColumn()->getId();
- $html = '<select name="' . $this->escapeHtml($name) . '" ' . $this->getColumn()->getValidateClass() . '>';
- $value = $row->getData($this->getColumn()->getIndex());
- foreach ($this->_getOptions() as $val => $label) {
- $selected = $val == $value && $value !== null ? ' selected="selected"' : '';
- $html .= '<option value="' . $this->escapeHtml($val) . '"' . $selected . '>';
- $html .= $this->escapeHtml($label) . '</option>';
- }
- $html .= '</select>';
- return $html;
- }
- }
|