[BUGFIX] TCA tree fail to load with IRRE
[Packages/TYPO3.CMS.git] / typo3 / sysext / backend / Classes / Form / Element / TreeElement.php
index cba65d3..4c5468e 100644 (file)
@@ -188,7 +188,16 @@ class TreeElement {
                                                if (node.id !== "root") {
                                                        top.TYPO3.BackendUserSettings.ExtDirect.addToList("tcaTrees." + this.ucId, node.attributes.uid);
                                                }
-                                       }
+                                       },
+                                       beforerender: function(treeCmp) {
+                                               // Check if that tree element is already rendered. It is appended on the first tceforms_inline call.
+                                               if (Ext.fly(treeCmp.getId())) {
+                                                       return false;
+                                               }
+                                       }' . ($expanded ? ',
+                                       afterrender: function(treeCmp) {
+                                               treeCmp.expandAll();
+                                       }' : '') . '
                                },
                                tcaMaxItems: ' . ($PA['fieldConf']['config']['maxitems'] ? (int)$PA['fieldConf']['config']['maxitems'] : 99999) . ',
                                tcaSelectRecursiveAllowed: ' . ($appearance['allowRecursiveMode'] ? 'true' : 'false') . ',
@@ -197,7 +206,14 @@ class TreeElement {
                                ucId: "' . md5(($table . '|' . $field)) . '",
                                selModel: TYPO3.Components.Tree.EmptySelectionModel,
                                disabled: ' . ($PA['fieldConf']['config']['readOnly'] ? 'true' : 'false') . '
-                       });' . LF . ($autoSizeMax ? 'tree' . $id . '.bodyStyle = "max-height: ' . $autoSizeMax . 'px;min-height: ' . $height . 'px;";' : 'tree' . $id . '.height = ' . $height . ';') . LF . 'tree' . $id . '.render("tree_' . $id . '");' . ($expanded ? 'tree' . $id . '.expandAll();' : '') . '
+                       });' . LF .
+                               ($autoSizeMax
+                                       ? 'tree' . $id . '.bodyStyle = "max-height: ' . $autoSizeMax . 'px;min-height: ' . $height . 'px;";'
+                                       : 'tree' . $id . '.height = ' . $height . ';'
+                               ) . LF .
+                               '(function() {
+                                       tree' . $id . '.render("tree_' . $id . '");
+                               }).defer(20);
                ');
                $formField = '
                        <div class="typo3-tceforms-tree">