| Current Path : /home/rtorresani/www/vendor/magento/module-backend/Block/Widget/Grid/Column/Renderer/ |
| Current File : //home/rtorresani/www/vendor/magento/module-backend/Block/Widget/Grid/Column/Renderer/Options.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Backend\Block\Widget\Grid\Column\Renderer;
/**
* Grid column widget for rendering grid cells that contains mapped values
*
* @api
* @deprecated 100.2.0 in favour of UI component implementation
* @since 100.0.2
*/
class Options extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\Text
{
/**
* Get options from column
*
* @return array
*/
protected function _getOptions()
{
return $this->getColumn()->getOptions();
}
/**
* Render a grid cell as options
*
* @param \Magento\Framework\DataObject $row
* @return string|void
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function render(\Magento\Framework\DataObject $row)
{
$options = $this->_getOptions();
$showMissingOptionValues = (bool)$this->getColumn()->getShowMissingOptionValues();
if (!empty($options) && is_array($options)) {
//transform option format
$output = [];
foreach ($options as $option) {
$output[$option['value']] = $option['label'];
}
$value = $row->getData($this->getColumn()->getIndex());
if (is_array($value)) {
$res = [];
foreach ($value as $item) {
if (isset($output[$item])) {
$res[] = $this->escapeHtml($output[$item]);
} elseif ($showMissingOptionValues) {
$res[] = $this->escapeHtml($item);
}
}
return implode(', ', $res);
} elseif (isset($output[$value])) {
return $this->escapeHtml($output[$value]);
} elseif (in_array($value, $output)) {
return $this->escapeHtml($value);
}
}
}
}