[FEATURE] New API for the admin panel
[Packages/TYPO3.CMS.git] / typo3 / sysext / frontend / Classes / AdminPanel / AdminPanelModuleInterface.php
1 <?php
2 declare(strict_types=1);
3
4 namespace TYPO3\CMS\Frontend\AdminPanel;
5
6 /**
7 * Interface for admin panel modules registered via EXTCONF
8 *
9 * @internal until API is stable
10 */
11 interface AdminPanelModuleInterface
12 {
13 /**
14 * Identifier for this module,
15 * for example "preview" or "cache"
16 *
17 * @return string
18 */
19 public function getIdentifier(): string;
20
21 /**
22 * Module label
23 *
24 * @return string
25 */
26 public function getLabel(): string;
27
28 /**
29 * Module content as rendered HTML
30 *
31 * @return string
32 */
33 public function getContent(): string;
34
35 /**
36 * Does this module need a form submit?
37 *
38 * @return bool
39 */
40 public function showFormSubmitButton(): bool;
41
42 /**
43 * Additional JavaScript code for this module
44 * (you should only use vanilla JS here, as you cannot
45 * rely on the web site providing a specific framework)
46 *
47 * @return string
48 */
49 public function getAdditionalJavaScriptCode(): string;
50 }