Skip to content

Commit 2ebcffc

Browse files
author
OlgaVasyltsun
committed
MC-35458: Config fields changes
1 parent bfeb89f commit 2ebcffc

File tree

1 file changed

+31
-14
lines changed
  • app/code/Magento/Config/Block/System/Config/Form

1 file changed

+31
-14
lines changed

app/code/Magento/Config/Block/System/Config/Form/Fieldset.php

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,7 @@ protected function _getChildrenElementsHtml(AbstractElement $element)
9696
. '<td colspan="4">' . $field->toHtml() . '</td></tr>';
9797
} else {
9898
$elements .= $field->toHtml();
99-
$styleTag = '';
100-
if (!empty($field->getFieldConfig()['depends']['fields'])) {
101-
$styleTag .= $this->secureRenderer->renderStyleAsTag(
102-
'display: none;',
103-
'#row_' . $field->getHtmlId()
104-
);
105-
}
99+
$styleTag = $this->addVisibilityTag($field);
106100
$elements .= $styleTag;
107101
}
108102
}
@@ -176,13 +170,7 @@ protected function _getFrontendClass($element)
176170
*/
177171
protected function _getHeaderTitleHtml($element)
178172
{
179-
$styleTag = '';
180-
if (!empty($element->getGroup()['depends']['fields'])) {
181-
$styleTag .= $this->secureRenderer->renderStyleAsTag(
182-
'display: none;',
183-
'#' . $element->getHtmlId() . '-head'
184-
);
185-
}
173+
$styleTag = $this->addVisibilityTag($element);
186174
return '<a id="' .
187175
$element->getHtmlId() .
188176
'-head" href="#' .
@@ -292,4 +280,33 @@ protected function _isCollapseState($element)
292280
}
293281
return $this->isCollapsedDefault;
294282
}
283+
284+
/**
285+
* If element or it's parent depends on other element we hide it during page load.
286+
*
287+
* @param AbstractElement $field
288+
* @return string
289+
*/
290+
private function addVisibilityTag(AbstractElement $field): string
291+
{
292+
$elementId = '';
293+
$styleTag = '';
294+
295+
if (!empty($field->getFieldConfig()['depends']['fields'])
296+
|| !empty($field->getContainer()->getGroup()['depends']['fields'])
297+
) {
298+
$elementId = '#row_' . $field->getHtmlId();
299+
} elseif (!empty($field->getGroup()['depends']['fields'])) {
300+
$elementId = '#' . $field->getHtmlId() . '-head';
301+
}
302+
303+
if (!empty($elementId)) {
304+
$styleTag .= $this->secureRenderer->renderStyleAsTag(
305+
'display: none;',
306+
$elementId
307+
);
308+
}
309+
310+
return $styleTag;
311+
}
295312
}

0 commit comments

Comments
 (0)