[BUGFIX] Fix RTE in Inline Elements 54/50954/6
authorHelmut Hummel <info@helhum.io>
Tue, 13 Dec 2016 23:57:05 +0000 (00:57 +0100)
committerNicole Cordes <typo3@cordes.co>
Wed, 14 Dec 2016 22:16:53 +0000 (23:16 +0100)
commit9279b877e9ff13db47c2ca62e1c4b4c7d27335e8
treec55be2f04007df8d262cc14f0a463266bff930f2
parent4d0fd49fe3877be0445c0db765b2946cdb39917d
[BUGFIX] Fix RTE in Inline Elements

HTMLArea needs a global JavaScript variable to work correctly.
Before the change done for #77600, this variable was always initialized
by including a JS file when any backend editing form was rendered.

In this mentioned cleanup, this initialization code was moved to
the place where the RTE is actually rendered. But because this can
also happen in an Ajax request, where the needed JS calls are returned
as array and evaluated line by line with `eval`, the code to initialize
the global variable did not work, because it was prefixed with `var`

This lead to a JS error at a later point where the global var is accessed.

To fix this, we force to set/ initialize the global variable, by prefixing
it with the "super global" object `window`. Now the global `HTMLArea` variable
is also initialized when this code is executed in a `eval` context,
when loading RTE fields of IRRE records via Ajax.

Resolves: #78972
Related: #77600
Releases: master
Change-Id: I7bf1386d3f6f395223bb82d870de0c7868733f67
Reviewed-on: https://review.typo3.org/50954
Reviewed-by: David Greiner <hallo@davidgreiner.de>
Tested-by: David Greiner <hallo@davidgreiner.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Nicole Cordes <typo3@cordes.co>
Tested-by: Nicole Cordes <typo3@cordes.co>
typo3/sysext/rtehtmlarea/Classes/Form/Element/RichTextElement.php