| Current Path : /var/www/surf/TYPO3/vendor/typo3/cms-dashboard/Documentation/Developer/ |
| Current File : /var/www/surf/TYPO3/vendor/typo3/cms-dashboard/Documentation/Developer/Interfaces.rst |
.. include:: /Includes.rst.txt
.. highlight:: php
.. _interfaces:
==========
Interfaces
==========
The following list provides information for all necessary interfaces that are used inside of this documentation.
For up to date information, please check the source code.
.. php:namespace:: TYPO3\CMS\Dashboard\Widgets
.. php:class:: WidgetInterface
Has to be implemented by all widgets.
This interface defines public API used by ext:dashboard to interact with widgets.
.. php:method:: renderWidgetContent()
:returntype: string
:returns: The rendered HTML to display.
.. php:method:: getOptions()
:returntype: array
:returns: The options of the widget as set in the registration.
.. php:class:: RequestAwareWidgetInterface
This interface declares a widget has a dependency to the current PSR-7 request.
When implemented, the dashboard controller will call :php:`setRequest()` immediately
after widget instantiation to hand over the current request. Widgets that rely on
:php:`BackendViewFactory` typically need the current request.
.. php:method:: setRequest(ServerRequestInterface $request)
:returntype: void
.. php:class:: WidgetConfigurationInterface
Used internally in ext:dashboard.
Used to separate internal configuration from widgets.
Can be required in widget classes and passed to view.
.. php:method:: getIdentifier()
:returntype: string
:returns: Unique identifer of a widget.
.. php:method:: getServiceName()
:returntype: string
:returns: Service name providing the widget implementation.
.. php:method:: getGroupNames()
:returntype: array
:returns: Group names associated to this widget.
.. php:method:: getTitle()
:returntype: string
:returns: Title of a widget, this is used for the widget selector.
.. php:method:: getDescription()
:returntype: string
:returns: Description of a widget, this is used for the widget selector.
.. php:method:: getIconIdentifier()
:returntype: string
:returns: Icon identifier of a widget, this is used for the widget selector.
.. php:method:: getHeight()
:returntype: int
:returns: Height of a widget in rows (1-6).
.. php:method:: getWidth()
:returntype: int
:returns: Width of a widget in columns (1-4).
.. php:method:: getAdditionalCssClasses()
:returntype: array
:returns: Additional CSS classes which should be added to the rendered widget.
.. php:class:: RequireJsModuleInterface
Widgets implementing this interface will add the provided RequireJS modules.
Those modules will be loaded in dashboard view if the widget is added at least once.
.. php:method:: getRequireJsModules()
Returns a list of RequireJS modules that should be loaded, e.g.::
return [
'TYPO3/CMS/MyExtension/ModuleName',
'TYPO3/CMS/MyExtension/Module2Name',
];
See also :ref:`t3coreapi:requirejs` for further information regarding RequireJS
in TYPO3 Backend.
:returntype: array
:returns: List of modules to require.
.. php:class:: AdditionalJavaScriptInterface
Widgets implementing this interface will add the provided JavaScript files.
Those files will be loaded in dashboard view if the widget is added at least once.
.. php:method:: getJsFiles()
Returns a list of JavaScript file names that should be included, e.g.::
return [
'EXT:my_extension/Resources/Public/JavaScript/file.js',
'EXT:my_extension/Resources/Public/JavaScript/file2.js',
];
:returntype: array
:returns: List of JS files to load.
.. php:class:: AdditionalCssInterface
Widgets implementing this interface will add the provided Css files.
Those files will be loaded in dashboard view if the widget is added at least once.
.. php:method:: getCssFiles()
Returns a list of Css file names that should be included, e.g.::
return [
'EXT:my_extension/Resources/Public/Css/widgets.css',
'EXT:my_extension/Resources/Public/Css/list-widget.css',
];
:returntype: array
:returns: List of Css files to load.
.. php:class:: ButtonProviderInterface
.. php:method:: getTitle()
:returntype: string
:returns: The title used for the button. E.g. an ``LLL:EXT:`` reference like
``LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.t3news.moreItems``.
.. php:method:: getLink()
:returntype: string
:returns: The link to use for the button. Clicking the button will open the link.
.. php:method:: getTarget()
:returntype: string
:returns: The target of the link, e.g. ``_blank``.
``LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.t3news.moreItems``.
.. php:class:: NumberWithIconDataProviderInterface
.. php:method:: getNumber()
:returntype: integer
:returns: The number to display for an number widget.
.. php:class:: EventDataInterface
.. php:method:: getEventData()
:returntype: array
:returns: Returns data which should be send to the widget as JSON encoded value.
.. php:class:: ChartDataProviderInterface
.. php:method:: getChartData()
:returntype: array
:returns: Provide the data for a graph.
The data and options you have depend on the type of chart.
More information can be found in the documentation of the specific type:
Bar
https://www.chartjs.org/docs/latest/charts/bar.html#data-structure
Doughnut
https://www.chartjs.org/docs/latest/charts/doughnut.html#data-structure
.. php:class:: ListDataProviderInterface
.. php:method:: getItems()
:returntype: array
:returns: Provide the array if items.
Each entry should be a single string.