return $options;
}
+ /**
+ * @inheritDoc
+ */
+ public static function buildOptions($fieldName, $context = NULL, $props = []) {
+ $options = parent::buildOptions($fieldName, $context, $props);
+ // This provides legacy support for APIv3, allowing no-longer-existent html types
+ if ($fieldName == 'html_type' && isset($props['version']) && $props['version'] == 3) {
+ $options['Multi-Select'] = 'Multi-Select';
+ $options['Multi-Select Country'] = 'Multi-Select Country';
+ $options['Multi-Select State/Province'] = 'Multi-Select State/Province';
+ }
+ return $options;
+ }
+
/**
* Store and return an array of all active custom fields.
*
// FIXME: Why are select state/country separate widget types?
$isSelect = (in_array($widget, [
'Select',
- 'Multi-Select',
'Select State/Province',
- 'Multi-Select State/Province',
'Select Country',
- 'Multi-Select Country',
'CheckBox',
'Radio',
]));
$selectAttributes = ['class' => 'crm-select2'];
// Search field is always multi-select
- if ($search || strpos($field->html_type, 'Multi') !== FALSE) {
+ if ($search || (self::isSerialized($field) && $widget === 'Select')) {
$selectAttributes['class'] .= ' huge';
$selectAttributes['multiple'] = 'multiple';
$selectAttributes['placeholder'] = $placeholder;
case 'Select Country':
case 'Select State/Province':
case 'CheckBox':
- case 'Multi-Select':
- case 'Multi-Select State/Province':
- case 'Multi-Select Country':
if ($field['data_type'] == 'ContactReference' && $value) {
if (is_numeric($value)) {
$display = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $value, 'display_name');
'Select Date' => ts('Select Date'),
'File' => ts('File'),
'Select State/Province' => ts('Select State/Province'),
- 'Multi-Select State/Province' => ts('Multi-Select State/Province'),
'Select Country' => ts('Select Country'),
- 'Multi-Select Country' => ts('Multi-Select Country'),
'RichTextEditor' => ts('Rich Text Editor'),
'Autocomplete-Select' => ts('Autocomplete-Select'),
- 'Multi-Select' => ts('Multi-Select'),
'Link' => ts('Link'),
'ContactReference' => ts('Autocomplete-Select'),
];
'Select' => 'Select',
'Radio' => 'Radio',
'CheckBox' => 'CheckBox',
- 'Multi-Select' => 'Multi-Select',
'Autocomplete-Select' => 'Autocomplete-Select',
],
['Text' => 'Text', 'Select' => 'Select', 'Radio' => 'Radio'],
['TextArea' => 'TextArea', 'RichTextEditor' => 'RichTextEditor'],
['Date' => 'Select Date'],
['Radio' => 'Radio'],
- ['StateProvince' => 'Select State/Province', 'Multi-Select' => 'Multi-Select State/Province'],
- ['Country' => 'Select Country', 'Multi-Select' => 'Multi-Select Country'],
+ ['StateProvince' => 'Select State/Province'],
+ ['Country' => 'Select Country'],
['File' => 'File'],
['Link' => 'Link'],
['ContactReference' => 'Autocomplete-Select'],
'Select' => ts('Select'),
'Radio' => ts('Radio'),
'CheckBox' => ts('CheckBox'),
- 'Multi-Select' => ts('Multi-Select'),
'Autocomplete-Select' => ts('Autocomplete-Select'),
],
[
['TextArea' => ts('TextArea'), 'RichTextEditor' => ts('Rich Text Editor')],
['Date' => ts('Select Date')],
['Radio' => ts('Radio')],
- ['StateProvince' => ts('Select State/Province'), 'Multi-Select' => ts('Multi-Select State/Province')],
- ['Country' => ts('Select Country'), 'Multi-Select' => ts('Multi-Select Country')],
+ ['StateProvince' => ts('Select State/Province')],
+ ['Country' => ts('Select Country')],
['File' => ts('Select File')],
['Link' => ts('Link')],
['ContactReference' => ts('Autocomplete-Select')],
if (isset($fields['data_type'][1])) {
$dataField = $fields['data_type'][1];
}
- $optionFields = ['Select', 'Multi-Select', 'CheckBox', 'Radio'];
+ $optionFields = ['Select', 'CheckBox', 'Radio'];
if (isset($fields['option_type']) && $fields['option_type'] == 1) {
//capture duplicate Custom option values