From b14215fad1aa16b5997bbbb379e4a636a2baf807 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Tue, 15 Jul 2014 23:32:06 +0100 Subject: [PATCH] CRM-14161 - Use select2 for sms & group selectors --- CRM/SMS/Form/Group.php | 63 +++++++++++++++--------------------------- 1 file changed, 23 insertions(+), 40 deletions(-) diff --git a/CRM/SMS/Form/Group.php b/CRM/SMS/Form/Group.php index 61d9ea1a80..6270e4fe31 100644 --- a/CRM/SMS/Form/Group.php +++ b/CRM/SMS/Form/Group.php @@ -132,57 +132,40 @@ class CRM_SMS_Form_Group extends CRM_Contact_Form_Task { // run the groups through a hook so users can trim it if needed CRM_Utils_Hook::mailingGroups($this, $groups, $mailings); - $inG = &$this->addElement('advmultiselect', 'includeGroups', - ts('Include Group(s)') . ' ', - $groups, - array( - 'size' => 5, - 'style' => 'width:240px', - 'class' => 'advmultiselect', - ) + $select2style = array( + 'multiple' => TRUE, + 'style' => 'width: 100%; max-width: 60em;', + 'class' => 'crm-select2', + 'placeholder' => ts('- select -'), ); - $this->addRule('includeGroups', ts('Please select a group to be SMSed.'), 'required'); - - $outG = &$this->addElement('advmultiselect', 'excludeGroups', - ts('Exclude Group(s)') . ' ', + $this->add('select', 'includeGroups', + ts('Include Group(s)'), $groups, - array( - 'size' => 5, - 'style' => 'width:240px', - 'class' => 'advmultiselect', - ) + TRUE, + $select2style ); - $inG->setButtonAttributes('add', array('value' => ts('Add >>'))); - $outG->setButtonAttributes('add', array('value' => ts('Add >>'))); - $inG->setButtonAttributes('remove', array('value' => ts('<< Remove'))); - $outG->setButtonAttributes('remove', array('value' => ts('<< Remove'))); + $this->add('select', 'excludeGroups', + ts('Exclude Group(s)'), + $groups, + FALSE, + $select2style + ); - $inM = &$this->addElement('advmultiselect', 'includeMailings', - ts('INCLUDE Recipients of These Mailing(s)') . ' ', + $this->add('select', 'includeMailings', + ts('INCLUDE Recipients of These Message(s)'), $mailings, - array( - 'size' => 5, - 'style' => 'width:240px', - 'class' => 'advmultiselect', - ) + FALSE, + $select2style ); - $outM = &$this->addElement('advmultiselect', 'excludeMailings', - ts('EXCLUDE Recipients of These Mailing(s)') . ' ', + $this->add('select', 'excludeMailings', + ts('EXCLUDE Recipients of These Message(s)'), $mailings, - array( - 'size' => 5, - 'style' => 'width:240px', - 'class' => 'advmultiselect', - ) + FALSE, + $select2style ); - $inM->setButtonAttributes('add', array('value' => ts('Add >>'))); - $outM->setButtonAttributes('add', array('value' => ts('Add >>'))); - $inM->setButtonAttributes('remove', array('value' => ts('<< Remove'))); - $outM->setButtonAttributes('remove', array('value' => ts('<< Remove'))); - $this->addFormRule(array('CRM_SMS_Form_Group', 'formRule')); $buttons = array( -- 2.25.1