EditMembersDistribution.php 2.5 KB

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