/** * Output the region element and javasctipt that makes it dependent from country element * * @param \Magento\Framework\Data\Form\Element\AbstractElement $element * @return string * * @SuppressWarnings(PHPMD.UnusedLocalVariable) */ public function render(\Magento\Framework\Data\Form\Element\AbstractElement $element) { if ($country = $element->getForm()->getElement('country_id')) { $countryId = $country->getValue(); } else { return $element->getDefaultHtml(); } $regionId = $element->getForm()->getElement('region_id')->getValue(); $html = '<div class="field field-state required">'; $element->setClass('input-text'); $element->setRequired(true); $html .= $element->getLabelHtml() . '<div class="control">'; $html .= $element->getElementHtml(); $selectName = str_replace('region', 'region_id', $element->getName()); $selectId = $element->getHtmlId() . '_id'; $html .= '<select id="' . $selectId . '" name="' . $selectName . '" class="select required-entry" style="display:none">'; $html .= '<option value="">' . __('Please select') . '</option>'; $html .= '</select>'; $html .= '<script>' . "\n"; $html .= 'require(["prototype", "mage/adminhtml/form"], function(){'; $html .= '$("' . $selectId . '").setAttribute("defaultValue", "' . $regionId . '");' . "\n"; $html .= 'new regionUpdater("' . $country->getHtmlId() . '", "' . $element->getHtmlId() . '", "' . $selectId . '", ' . $this->_directoryHelper->getRegionJson() . ');' . "\n"; $html .= '});'; $html .= '</script>' . "\n"; $html .= '</div></div>' . "\n"; return $html; }
/** * @param array $initialData * @param string $expectedValue * @dataProvider getLabelHtmlDataProvider * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getLabelHtml() */ public function testGetLabelHtml(array $initialData, $expectedValue) { $idSuffix = isset($initialData['id_suffix']) ? $initialData['id_suffix'] : null; $this->_model->setData($initialData); $this->_model->setForm($this->getMock('Magento\\Framework\\Data\\Form\\AbstractForm', [], [], '', false)); $this->assertEquals($expectedValue, $this->_model->getLabelHtml($idSuffix)); }
/** * @param AbstractElement $element * @return string */ public function render(AbstractElement $element) { $html = '<div class="field field-' . $element->getHtmlId() . '">'; $html .= $element->getLabelHtml(); $html .= '<div class="control">' . $element->getElementHtml(); $html .= '<div class="nested">'; $html .= '<div class="field choice">'; $html .= '<label for="account-send-pass" class="addbefore"><span>' . __('or ') . '</span></label>'; $html .= '<input type="checkbox" id="account-send-pass" name="' . $element->getName() . '" value="auto" onclick="setElementDisable(\'' . $element->getHtmlId() . '\', this.checked)" />'; $html .= '<label class="label" for="account-send-pass"><span>' . __(' Send auto-generated password') . '</span></label>'; $html .= '</div>' . "\n"; $html .= '</div>' . "\n"; $html .= '</div>' . "\n"; $html .= '</div>' . "\n"; return $html; }
/** * @param int $suffix * @return string */ public function getLabelHtml($suffix = 0) { return parent::getLabelHtml($suffix); }
/** * @param int $suffix * @param string $scopeLabel * @return string */ public function getLabelHtml($suffix = 0, $scopeLabel = '') { return parent::getLabelHtml($suffix, $scopeLabel); }