From f44e43d4e441bfb4d4b63ef442e6ec4a6e71674b Mon Sep 17 00:00:00 2001 From: Frank Naegler <frank.naegler@typo3.org> Date: Wed, 19 Oct 2016 17:08:02 +0200 Subject: [PATCH] [BUGFIX] Prevent error for tree in flexform MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch prevent JS errors in case a tree is rendered in a FlexForm, before the record was saved for the first time. In this case the data can’t be loaded and we display a message. This is a bit hacky but at the moment the best way to fix the issue. Resolves: #78350 Releases: master Change-Id: Ic11ae6e5c22711fe9a10fe3287b015ea1d87a30f Reviewed-on: https://review.typo3.org/50275 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Markus Klein <markus.klein@typo3.org> Tested-by: Markus Klein <markus.klein@typo3.org> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: Wouter Wolters <typo3@wouterwolters.nl> --- .../Public/JavaScript/FormEngine/Element/SvgTree.js | 6 ++++++ typo3/sysext/lang/locallang_csh_corebe.xlf | 3 +++ 2 files changed, 9 insertions(+) diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SvgTree.js b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SvgTree.js index 804223eaec72..f4bd5ac47ab9 100644 --- a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SvgTree.js +++ b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SvgTree.js @@ -187,6 +187,12 @@ define(['jquery', 'd3'], function ($, d3) { var me = this; d3.json(this.settings.dataUrl, function (error, json) { if (error) throw error; + if (json === null) { + var $container = $(me.wrapper).closest('.t3js-formengine-field-item'); + $container.hide(); + $container.parent().append('<p class="text-danger">' + TYPO3.lang['tcatree.msg_save_first'] + '</p>'); + return; + } if (Array.isArray(json)) { //little hack, so we can use json structure prepared by ExtJsJsonTreeRenderer json = json[0]; diff --git a/typo3/sysext/lang/locallang_csh_corebe.xlf b/typo3/sysext/lang/locallang_csh_corebe.xlf index 1d392380740c..a1c0cb817c2a 100644 --- a/typo3/sysext/lang/locallang_csh_corebe.xlf +++ b/typo3/sysext/lang/locallang_csh_corebe.xlf @@ -162,6 +162,9 @@ If you click the folder title in the Folder Tree you will see the sub-module loa <trans-unit id="tcatree.findItem"> <source>Find Item</source> </trans-unit> + <trans-unit id="tcatree.msg_save_first"> + <source>Please save the content element before selecting a category.</source> + </trans-unit> <trans-unit id="list_module.alttitle"> <source>The Web>List module</source> </trans-unit> -- GitLab