TYPO3 v15 dev-main snapshot ()
This commit is contained in:
+71
@@ -0,0 +1,71 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-96524:
|
||||
|
||||
==============================================================
|
||||
Deprecation: #96524 - Deprecate inline JavaScript in Dashboard
|
||||
==============================================================
|
||||
|
||||
See :issue:`96524`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Using inline JavaScript when initializing RequireJS modules in individual
|
||||
dashboard widgets has been deprecated. Widget implementations have to be
|
||||
adjusted accordingly.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Usages will trigger PHP :php:`E_USER_DEPRECATED` errors.
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations having individual widget implementations which are
|
||||
|
||||
* implementing :php:`\TYPO3\CMS\Dashboard\Widgets\RequireJsModuleInterface`
|
||||
* invoking :php:`\TYPO3\CMS\Dashboard\DashboardInitializationService->getRequireJsModules`
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Affected widget have to implement :php:`\TYPO3\CMS\Dashboard\Widgets\JavaScriptInterface`
|
||||
instead of deprecated :php:`\TYPO3\CMS\Dashboard\Widgets\RequireJsModuleInterface`.
|
||||
Instead of using inline JavaScript for initializing RequireJS modules,
|
||||
:php:`\TYPO3\CMS\Core\Page\JavaScriptModuleInstruction` have to be declared.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
class ExampleChartWidget implements RequireJsModuleInterface
|
||||
{
|
||||
// ...
|
||||
public function getJavaScriptModuleInstructions(): array
|
||||
{
|
||||
return [
|
||||
'TYPO3/CMS/Dashboard/ChartInitializer' =>
|
||||
'function(ChartInitializer) { ChartInitializer.initialize(); }',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Deprecated example widget above would look like the following when using
|
||||
`JavaScriptInterface` and `JavaScriptModuleInstruction`:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
class ExampleChartWidget implements JavaScriptInterface
|
||||
{
|
||||
// ...
|
||||
public function getJavaScriptModuleInstructions(): array
|
||||
{
|
||||
return [
|
||||
JavaScriptModuleInstruction::forRequireJS(
|
||||
'TYPO3/CMS/Dashboard/ChartInitializer'
|
||||
)->invoke('initialize'),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
.. index:: Frontend, TypoScript, FullyScanned, ext:core
|
||||
Reference in New Issue
Block a user