‪TYPO3CMS  11.5
ReloadOnFieldChange.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 
24 class ‪ReloadOnFieldChange implements OnFieldChangeInterface
25 {
26  protected bool ‪$confirmation;
27 
28  public function ‪__construct(bool ‪$confirmation)
29  {
30  $this->confirmation = ‪$confirmation;
31  }
32 
33  public function ‪__toString(): string
34  {
35  return $this->‪generateInlineJavaScript();
36  }
37 
38  public function ‪toArray(): array
39  {
40  return [
41  'name' => 'typo3-backend-form-reload',
42  'data' => [
43  'confirmation' => ‪$this->confirmation,
44  ],
45  ];
46  }
47 
48  protected function ‪generateInlineJavaScript(): string
49  {
50  if ($this->confirmation) {
51  $alertMsgOnChange = 'Modal.confirm('
52  . 'TYPO3.lang["FormEngine.refreshRequiredTitle"],'
53  . ' TYPO3.lang["FormEngine.refreshRequiredContent"]'
54  . ')'
55  . '.on('
56  . '"button.clicked",'
57  . ' function(e) { if (e.target.name == "ok") { FormEngine.saveDocument(); } Modal.dismiss(); }'
58  . ');';
59  } else {
60  $alertMsgOnChange = 'FormEngine.saveDocument();';
61  }
62  return sprintf(
63  "require(['TYPO3/CMS/Backend/FormEngine', 'TYPO3/CMS/Backend/Modal'], function (FormEngine, Modal) { %s });",
64  $alertMsgOnChange
65  );
66  }
67 }
‪TYPO3\CMS\Backend\Form\Behavior
Definition: OnFieldChangeInterface.php:18
‪TYPO3\CMS\Backend\Form\Behavior\ReloadOnFieldChange\$confirmation
‪bool $confirmation
Definition: ReloadOnFieldChange.php:26
‪TYPO3\CMS\Backend\Form\Behavior\ReloadOnFieldChange\generateInlineJavaScript
‪generateInlineJavaScript()
Definition: ReloadOnFieldChange.php:48
‪TYPO3\CMS\Backend\Form\Behavior\ReloadOnFieldChange\toArray
‪toArray()
Definition: ReloadOnFieldChange.php:38
‪TYPO3\CMS\Backend\Form\Behavior\ReloadOnFieldChange\__toString
‪__toString()
Definition: ReloadOnFieldChange.php:33
‪TYPO3\CMS\Backend\Form\Behavior\ReloadOnFieldChange
Definition: ReloadOnFieldChange.php:25
‪TYPO3\CMS\Backend\Form\Behavior\ReloadOnFieldChange\__construct
‪__construct(bool $confirmation)
Definition: ReloadOnFieldChange.php:28