EditMembersDistribution.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\UI\Client\DistributionList\Sections;
  3. use ThurData\Servers\KerioEmail\App\UI\Admin\Custom\Fields\ExtendedSelect;
  4. use ThurData\Servers\KerioEmail\App\UI\Admin\Custom\Sections\FreeFieldsSection;
  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\InputGroupElements\Text as InputText;
  9. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Select;
  10. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Tagger;
  11. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Fields\Textarea;
  12. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\Sections\InputGroup;
  13. /**
  14. *
  15. * Created by PhpStorm.
  16. * User: ThurData
  17. * Date: 02.10.19
  18. * Time: 09:38
  19. * Class EditMembersDistribution
  20. */
  21. class EditMembersDistribution extends FreeFieldsSection
  22. {
  23. protected $id = 'editMembersDistribution';
  24. protected $name = 'editMembersDistribution';
  25. public function initContent()
  26. {
  27. $email = new InputGroup('usernameGroup');
  28. $email->addInputComponent((new InputText('listmail'))->addHtmlAttribute('readonly','true'));
  29. $email->addInputAddon('emailSign', false, '@');
  30. $email->addInputComponent((new InputText('domain'))->addHtmlAttribute('readonly','true'));
  31. $this->addSection($email);
  32. $this->addField(new Textarea('description'));
  33. $this->addField((new Select('memberList'))->enableMultiple());
  34. $this->addField((new Tagger('customMember'))->setPlaceholder(di('lang')->absoluteT('mail@example.com'))->addValidator(new TaggerEmailValidator()));
  35. ;
  36. /**
  37. * id for edit form
  38. */
  39. $this->addField((new Hidden('id')));
  40. /**
  41. * current email list for edit form
  42. */
  43. $this->addField((new ExtendedSelect('emailAliasesActually'))->enableMultiple()->enableHidden());
  44. /**
  45. * current member list for edit form
  46. */
  47. $this->addField((new ExtendedSelect('memberListActually'))->enableMultiple()->enableHidden());
  48. /**
  49. * current owners list for edit form
  50. */
  51. $this->addField((new ExtendedSelect('ownersActually'))->enableMultiple()->enableHidden());
  52. }
  53. }