@@ -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