AddMembersDistribution.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\UI\Client\DistributionList\Sections;
  3. use ThurData\Servers\KerioEmail\App\UI\Admin\Custom\Sections\FreeFieldsSection;
  4. use ThurData\Servers\KerioEmail\App\Validators\EmailValidator;
  5. use ThurData\Servers\KerioEmail\App\Validators\TaggerEmailValidator;
  6. use function ThurData\Servers\KerioEmail\Core\Helper\di;
  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\Tagger;
  10. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Text;
  11. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Textarea;
  12. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Sections\InputGroup;
  13. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\InputGroupElements\Text as InputText;
  14. /**
  15. * Class Members
  16. * User: ThurData
  17. * Date: 2019-09-20
  18. * Time: 12:42
  19. */
  20. class AddMembersDistribution extends FreeFieldsSection
  21. {
  22. protected $id = 'addMembersDistribution';
  23. protected $name = 'addMembersDistribution';
  24. public function initContent()
  25. {
  26. $email = new InputGroup('usernameGroup');
  27. $email->addTextField('listmail', false, true);
  28. $email->addInputAddon('emailSign', false, '@');
  29. $email->addInputComponent((new InputText('domain'))->addHtmlAttribute('readonly','true'));
  30. $this->addSection($email);
  31. $this->addField((new Text('displayName')));
  32. $this->addField(new Textarea('description'));
  33. $this->addField((new Select('memberList'))->enableMultiple());
  34. $this->addField((new Tagger('customMember'))
  35. ->setPlaceholder(di('lang')->absoluteT('mail@example.com'))
  36. ->addValidator(new TaggerEmailValidator())
  37. );
  38. }
  39. }