‪TYPO3CMS  ‪main
TriggerViewHelper.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
22 
39 {
43  protected ‪$escapeOutput = false;
44 
45  public function ‪initializeArguments(): void
46  {
47  parent::initializeArguments();
48  $this->registerArgument('triggers', 'array', 'Defined triggers to be forwarded to client (e.g. refreshing backend widgets)', false, []);
49  }
50 
55  public function ‪render(): string
56  {
57  $html = '';
58  // Handle triggers
59  $triggers = $this->arguments['triggers'] ?? [];
60  if (!empty($triggers[‪AbstractController::TRIGGER_RefreshModuleMenu])) {
61  $html .= $this->‪buildInstructionDataTag('TYPO3.ModuleMenu.App.refreshMenu');
62  }
63  if (!empty($triggers[‪AbstractController::TRIGGER_RefreshTopbar])) {
64  $html .= $this->‪buildInstructionDataTag('TYPO3.Backend.Topbar.refresh');
65  }
66  return $html;
67  }
68 
69  protected function ‪buildInstructionDataTag(string $dispatchAction): string
70  {
71  return sprintf(
72  '<typo3-immediate-action action="%s"></typo3-immediate-action>' . "\n",
73  htmlspecialchars($dispatchAction)
74  );
75  }
76 }
‪TYPO3\CMS\Extensionmanager\ViewHelpers\Be\TriggerViewHelper\initializeArguments
‪initializeArguments()
Definition: TriggerViewHelper.php:44
‪TYPO3\CMS\Extensionmanager\ViewHelpers\Be
Definition: TriggerViewHelper.php:18
‪TYPO3\CMS\Fluid\ViewHelpers\Be\AbstractBackendViewHelper
Definition: AbstractBackendViewHelper.php:30
‪TYPO3\CMS\Extensionmanager\ViewHelpers\Be\TriggerViewHelper
Definition: TriggerViewHelper.php:39
‪TYPO3\CMS\Extensionmanager\Controller\AbstractController\TRIGGER_RefreshModuleMenu
‪const TRIGGER_RefreshModuleMenu
Definition: AbstractController.php:33
‪TYPO3\CMS\Extensionmanager\ViewHelpers\Be\TriggerViewHelper\$escapeOutput
‪bool $escapeOutput
Definition: TriggerViewHelper.php:42
‪TYPO3\CMS\Extensionmanager\ViewHelpers\Be\TriggerViewHelper\render
‪render()
Definition: TriggerViewHelper.php:54
‪TYPO3\CMS\Extensionmanager\Controller\AbstractController\TRIGGER_RefreshTopbar
‪const TRIGGER_RefreshTopbar
Definition: AbstractController.php:34
‪TYPO3\CMS\Extensionmanager\Controller\AbstractController
Definition: AbstractController.php:32
‪TYPO3\CMS\Extensionmanager\ViewHelpers\Be\TriggerViewHelper\buildInstructionDataTag
‪buildInstructionDataTag(string $dispatchAction)
Definition: TriggerViewHelper.php:68