AddDomainAliasForm.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\UI\Client\DomainAlias\Forms;
  3. use ThurData\Servers\KerioEmail\App\UI\Admin\Custom\Forms\SortedFieldForm;
  4. use ThurData\Servers\KerioEmail\App\UI\Client\DomainAlias\Providers\AddDomainAliasDataProvider;
  5. use ThurData\Servers\KerioEmail\Core\UI\Interfaces\ClientArea;
  6. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Hidden;
  7. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\InputGroupElements\Text as InputText;
  8. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\FormConstants;
  9. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Sections\InputGroup;
  10. /**
  11. *
  12. * Created by PhpStorm.
  13. * User: ThurData
  14. * Date: 18.09.19
  15. * Time: 13:38
  16. * Class AddDomainAliasForm
  17. */
  18. class AddDomainAliasForm extends SortedFieldForm implements ClientArea
  19. {
  20. protected $id = 'addDomainAliasForm';
  21. protected $name = 'addDomainAliasForm';
  22. public function initContent()
  23. {
  24. $this->setFormType(FormConstants::CREATE);
  25. $this->setProvider(new AddDomainAliasDataProvider());
  26. $this->initFields();
  27. $this->loadDataToForm();
  28. }
  29. protected function initFields()
  30. {
  31. $email = new InputGroup('aliasGroup');
  32. $email->addInputComponent((new InputText('alias')));
  33. $email->addInputAddon('emailSign', false, '→');
  34. $email->addInputComponent((new InputText('domain'))->addHtmlAttribute('readonly','true'));
  35. $this->addSection($email);
  36. /**
  37. * hidden fields
  38. */
  39. $this->addField((new Hidden('domainId')));
  40. }
  41. }