Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Editable.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Rule\Block;
7 
10 
15 class Editable extends AbstractBlock implements RendererInterface
16 {
20  protected $inlineTranslate;
21 
27  public function __construct(
28  \Magento\Framework\View\Element\Context $context,
29  \Magento\Framework\Translate\InlineInterface $inlineTranslate,
30  array $data = []
31  ) {
32  $this->inlineTranslate = $inlineTranslate;
33  parent::__construct($context, $data);
34  }
35 
44  public function render(\Magento\Framework\Data\Form\Element\AbstractElement $element)
45  {
46  $element->addClass('element-value-changer');
47  $valueName = $element->getValueName();
48 
49  if ($valueName === '') {
50  $valueName = '...';
51  }
52 
53  if ($element->getShowAsText()) {
54  $html = ' <input type="hidden" class="hidden" id="' .
55  $element->getHtmlId() .
56  '" name="' .
57  $element->getName() .
58  '" value="' .
59  $element->getValue() .
60  '" data-form-part="' .
61  $element->getData('data-form-part') .
62  '"/> ' .
63  htmlspecialchars(
64  $valueName
65  ) . '&nbsp;';
66  } else {
67  $html = ' <span class="rule-param"' .
68  ($element->getParamId() ? ' id="' .
69  $element->getParamId() .
70  '"' : '') .
71  '>' .
72  '<a href="javascript:void(0)" class="label">';
73 
74  if ($this->inlineTranslate->isAllowed()) {
75  $html .= $this->escapeHtml($valueName);
76  } else {
77  $html .= $this->escapeHtml(
78  $this->filterManager->truncate($valueName, ['length' => 33, 'etc' => '...'])
79  );
80  }
81 
82  $html .= '</a><span class="element"> ' . $element->getElementHtml();
83 
84  if ($element->getExplicitApply()) {
85  $html .= ' <a href="javascript:void(0)" class="rule-param-apply"><img src="' . $this->getViewFileUrl(
86  'images/rule_component_apply.gif'
87  ) . '" class="v-middle" alt="' . __(
88  'Apply'
89  ) . '" title="' . __(
90  'Apply'
91  ) . '" /></a> ';
92  }
93 
94  $html .= '</span></span>&nbsp;';
95  }
96 
97  return $html;
98  }
99 }
render(\Magento\Framework\Data\Form\Element\AbstractElement $element)
Definition: Editable.php:44
__()
Definition: __.php:13
__construct(\Magento\Framework\View\Element\Context $context, \Magento\Framework\Translate\InlineInterface $inlineTranslate, array $data=[])
Definition: Editable.php:27
$element
Definition: element.phtml:12