Skip to content

Commit 6510c45

Browse files
author
OlgaVasyltsun
committed
MC-35458: Config fields changes
1 parent 6a34abe commit 6510c45

File tree

1 file changed

+30
-8
lines changed
  • app/code/Magento/Config/Block/System/Config/Form

1 file changed

+30
-8
lines changed

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

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -274,14 +274,8 @@ protected function _isCollapseState($element)
274274
return true;
275275
}
276276

277-
if (!empty($element->getGroup()['depends']['fields'])) {
278-
foreach ($element->getGroup()['depends']['fields'] as $dependFieldData) {
279-
if (is_array($dependFieldData) && isset($dependFieldData['value'], $dependFieldData['id'])) {
280-
if ($dependFieldData['value'] !== $this->getConfigData($dependFieldData['id'])) {
281-
return false;
282-
}
283-
}
284-
}
277+
if ($this->isCollapseStateByDependentField($element)) {
278+
return false;
285279
}
286280

287281
$extra = $this->_authSession->getUser()->getExtra();
@@ -292,6 +286,34 @@ protected function _isCollapseState($element)
292286
return $this->isCollapsedDefault;
293287
}
294288

289+
/**
290+
* Check if element should be collapsed by dependent field value.
291+
*
292+
* @param AbstractElement $element
293+
* @return bool
294+
*/
295+
private function isCollapseStateByDependentField(AbstractElement $element): bool
296+
{
297+
if (!empty($element->getGroup()['depends']['fields'])) {
298+
foreach ($element->getGroup()['depends']['fields'] as $dependFieldData) {
299+
if (is_array($dependFieldData) && isset($dependFieldData['value'], $dependFieldData['id'])) {
300+
$fieldSetForm = $this->getForm();
301+
$dependentFieldConfigValue = $this->_scopeConfig->getValue(
302+
$dependFieldData['id'],
303+
$fieldSetForm->getScope(),
304+
$fieldSetForm->getScopeCode()
305+
);
306+
307+
if ($dependFieldData['value'] !== $dependentFieldConfigValue) {
308+
return true;
309+
}
310+
}
311+
}
312+
}
313+
314+
return false;
315+
}
316+
295317
/**
296318
* If element or it's parent depends on other element we hide it during page load.
297319
*

0 commit comments

Comments
 (0)