EditSettingForm.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\UI\Client\Setting\Forms;
  3. use ThurData\Servers\KerioEmail\App\Traits\FormExtendedTrait;
  4. use ThurData\Servers\KerioEmail\App\UI\Admin\Custom\Forms\SortedFieldForm;
  5. use ThurData\Servers\KerioEmail\App\UI\Client\Setting\Providers\EditSettingDataProvider;
  6. use ThurData\Servers\KerioEmail\Core\UI\Interfaces\ClientArea;
  7. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Hidden;
  8. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Select;
  9. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Text;
  10. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\FormConstants;
  11. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Sections\InputGroup;
  12. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\InputGroupElements;
  13. /**
  14. *
  15. * Created by PhpStorm.
  16. * User: ThurData
  17. * Date: 18.09.19
  18. * Time: 09:29
  19. * Class EditSettingForm
  20. */
  21. class EditSettingForm extends SortedFieldForm implements ClientArea
  22. {
  23. use FormExtendedTrait;
  24. protected $id = 'editSettingForm';
  25. protected $name = 'editSettingForm';
  26. protected $title = 'editSettingForm';
  27. public function initContent()
  28. {
  29. $this->setFormType(FormConstants::UPDATE);
  30. $this->setProvider(new EditSettingDataProvider());
  31. $this->initFields();
  32. $this->loadDataToForm();
  33. }
  34. public function initFields()
  35. {
  36. $this->addField((new Hidden('id')));
  37. $email = new InputGroup('usernameGroup');
  38. $email->addInputComponent((new InputGroupElements\Text('name'))->addHtmlAttribute('readonly','true'));
  39. $email->addInputAddon('emailSign', false, '@');
  40. $email->addInputComponent((new InputGroupElements\Text('domain'))->addHtmlAttribute('readonly','true'));
  41. $this->addSection($email);
  42. $this->generateDoubleSection([new Text('description'), new Select('type')]);
  43. $this->generateDoubleSection([new Select('manager'), new Select('status')]);
  44. }
  45. }