From: Coleman Watts Date: Fri, 14 Feb 2014 01:06:59 +0000 (-0800) Subject: CRM-13929 Add contact icon to autocomplete results X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=54bee7df7a357aa1b54b3a9fc0a483d986e6f87a;p=civicrm-core.git CRM-13929 Add contact icon to autocomplete results --- diff --git a/api/v3/Contact.php b/api/v3/Contact.php index 4053530654..81c8662a34 100644 --- a/api/v3/Contact.php +++ b/api/v3/Contact.php @@ -918,6 +918,7 @@ function _civicrm_api3_contact_getlist_params(&$request) { if(!in_array($searchField, $list)) { $list[] = $searchField; } + $list[] = 'contact_type'; $request['params']['return'] = $list; $request['params']['options']['sort'] = 'sort_name'; // Contact api doesn't support array(LIKE => 'foo') syntax @@ -942,14 +943,17 @@ function _civicrm_api3_contact_getlist_output($result, $request) { ); $description = array(); foreach ($request['params']['return'] as $item) { - if (!strpos($item, '_name') && !empty($row[$item])) { + if (!strpos($item, '_name') && $item != 'contact_type' && !empty($row[$item])) { $description[] = $row[$item]; } } $data['description'] = implode(' :: ', $description); if (!empty($request['image_field'])) { $data['image'] = isset($row[$request['image_field']]) ? $row[$request['image_field']] : ''; - }; + } + else { + $data['icon_class'] = $row['contact_type']; + } $output[] = $data; } } diff --git a/css/civicrm.css b/css/civicrm.css index 8d655d50f4..ee89d227f6 100644 --- a/css/civicrm.css +++ b/css/civicrm.css @@ -3848,26 +3848,34 @@ div.m ul#civicrm-menu, background-position: -18px 1px; } /* Style autocomplete results */ -.select2-results table.crm-select2-row, -.select2-results table.crm-select2-row tbody, -.select2-results table.crm-select2-row tr, -.select2-results table.crm-select2-row td { +.crm-container .select2-results table.crm-select2-row, +.crm-container .select2-results table.crm-select2-row tbody, +.crm-container .select2-results table.crm-select2-row tr, +.crm-container .select2-results table.crm-select2-row td { border: 0 none; padding: 0; margin: 0; border-collapse: collapse; } -.select2-results table.crm-select2-row .crm-select2-row-label { +.crm-container .select2-results table.crm-select2-row .crm-select2-row-label { font-size: 1.1em; } -.select2-results table.crm-select2-row .crm-select2-row-description { +.crm-container .select2-results table.crm-select2-row .crm-select2-row-description { font-size: 0.8em; line-height: 1.5em; color: #696969; } -.select2-results .select2-highlighted table.crm-select2-row .crm-select2-row-description { +.crm-container .select2-results .select2-highlighted table.crm-select2-row .crm-select2-row-description { color: #f0f0f0; } +.crm-container .select2-results td.crm-select2-icon { + width: 20px; +} +.crm-container .select2-results td.crm-select2-icon .crm-icon { + width: 16px; + height: 16px; + margin: 0; +} /* Special styling for specific form buttons */ #crm-container span.crm-button_qf_Main_upload input, diff --git a/js/Common.js b/js/Common.js index 8b74a64f0a..26356d123b 100644 --- a/js/Common.js +++ b/js/Common.js @@ -278,6 +278,9 @@ CRM.validate = CRM.validate || { if (row.image !== undefined) { markup += ''; } + else if (row.icon_class) { + markup += '
'; + } markup += '
' + row.label + '
'; markup += '
' + (row.description || '') + '
'; markup += '';