CRM-16415 Font Awesome Use class crm-i instead of fa
authorAndrew Hunt <andrew@aghstrategies.com>
Sun, 27 Sep 2015 21:39:14 +0000 (17:39 -0400)
committerAndrew Hunt <andrew@aghstrategies.com>
Tue, 13 Oct 2015 16:50:24 +0000 (12:50 -0400)
This allows for independence from a site's theme's implementation of Font Awesome.  If they theme .fa.fa-something, that won't screw up .crm-i.fa-something.

----------------------------------------
* CRM-16415:
  https://issues.civicrm.org/jira/browse/CRM-16415

css/civicrm.css
templates/CRM/Admin/Form/Options.tpl
templates/CRM/Admin/Page/APIExplorer.js
templates/CRM/Admin/Page/OptionGroup.tpl
templates/CRM/Batch/Form/Entry.tpl
templates/CRM/Campaign/Form/Task/Interview.tpl
templates/CRM/Core/Page/RecurringEntityPreview.tpl
templates/CRM/Custom/Form/Field.tpl
templates/CRM/Event/Form/Participant.tpl
templates/CRM/Form/body.tpl
templates/CRM/common/fatal.tpl

index 914420b0f1f1cb78d56151be58f3b1063e93c639..514cdda996c1d71abe34eaacbc1f20d96c35cfd3 100644 (file)
@@ -2201,10 +2201,28 @@ input.crm-form-entityref {
   background-image: url("../i/icons/jquery-ui-8A1F11.png");
 }
 
-.crm-container .fa.icon-red {
+/* Font Awesome */
+
+/* Direct copy of .fa from font-awesome.css
+This is separate to avoid conflict with a site theme's implementation of FA. */
+.crm-i {
+  display: inline-block;
+  font: normal normal normal 14px/1 FontAwesome;
+  font-size: inherit;
+  text-rendering: auto;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  transform: translate(0, 0);
+}
+
+.crm-i.crm-i-red {
   color: #8A1F11;
 }
 
+.crm-i.crm-i-blue {
+  color: #6177D5;
+}
+
 .crm-container .inform-icon {
   background-position: -16px -144px;
   margin-right: 5px;
index 1320e79203d9caf286bb041b7726c6205a83f8be..8ad0f209df6cd14cad64f04d3fa671437be7a6f4 100644 (file)
@@ -79,7 +79,7 @@
         <tr class="crm-admin-options-form-block-value">
           <td class="label">{$form.value.label}</td>
           <td>{$form.value.html}<br />
-              <span class="description"><i class="fa fa-exclamation-triangle"></i> {ts}Changing the Value field will unlink records which have been marked with this option. This change can not be undone except by restoring the previous value.{/ts}</span>
+              <span class="description"><i class="crm-i fa-exclamation-triangle"></i> {ts}Changing the Value field will unlink records which have been marked with this option. This change can not be undone except by restoring the previous value.{/ts}</span>
           </td>
         </tr>
       {/if}
index d27a59547dad424e4499733178c941fb59555587..7571271877d284bbaf6011504439cf3353226bf0 100644 (file)
         .addClass('crm-error')
         .css('width', '82%')
         .attr('title', msg)
-        .before('<i class="fa fa-exclamation-triangle icon-red" title="'+msg+'"></i> ')
+        .before('<i class="crm-i fa-exclamation-triangle crm-i-red" title="'+msg+'"></i> ')
         .tooltip();
     }
   }
index a7ca12817905bf09433f19660b4554039f02f7d1..6e520f889686d7e74c9edfcb7cbe416a69e4fad2 100644 (file)
@@ -29,7 +29,7 @@
 {else}
 <div id="help">
     {ts}CiviCRM stores configurable choices for various drop-down fields as 'option groups'. You can click <strong>Options</strong> to view the available choices.{/ts}
-    <p><i class="fa fa-exclamation-triangle"></i> {ts}WARNING: Many option groups are used programatically and values should be added or modified with caution.{/ts}</p>
+    <p><i class="crm-i fa-exclamation-triangle"></i> {ts}WARNING: Many option groups are used programatically and values should be added or modified with caution.{/ts}</p>
 </div>
 {/if}
 
index 50559b4980bb7e8112c30accc0fecc6d2ef4b96b..729d03f80cc3f4ca18f839d586737755e3d9b0f3 100755 (executable)
@@ -29,7 +29,7 @@
   </div>
   {if $batchAmountMismatch}
     <div class="status message status-warning">
-      <i class="fa fa-exclamation-triangle"></i> {ts}Total for amounts entered below does not match the expected batch total.{/ts}
+      <i class="crm-i fa-exclamation-triangle"></i> {ts}Total for amounts entered below does not match the expected batch total.{/ts}
     </div>
     <div class="crm-button crm-button_qf_Entry_upload_force-save">
       {$form._qf_Entry_upload_force.html}
index e9dbadb8f2ae6d1f1464fb14bc71fb95391c2214..0be9238635890530dd52838f0392fd6532c92de9 100644 (file)
@@ -329,7 +329,7 @@ var surveyActivityIds = {/literal}{$surveyActivityIds}{literal};
         if (interview.errors[error]) errorList =  errorList + '<li>' + interview.errors[error] + '</li>';
       }
       if ( errorList ) {
-        var allErrors = '<i class="fa fa-exclamation-triangle icon-red"></i> ' + ts('Please correct the following errors in the survey fields below:') + '<ul>' + errorList + '</ul>';
+        var allErrors = '<i class="crm-i fa-exclamation-triangle crm-i-red"></i> ' + ts('Please correct the following errors in the survey fields below:') + '<ul>' + errorList + '</ul>';
         CRM.$('#responseErrors').show( ).html(allErrors);
       }
     }
index 0528717db3eda1a13efaa5948b4dd9b9dd032fd1..97f8a4eda99671584988a3c2b7535a7b08d036d2 100644 (file)
@@ -25,7 +25,7 @@
 *}
 {if !empty($participantData)}
   <div class="messages status no-popup">
-    <i class="fa fa-exclamation-triangle"></i>
+    <i class="crm-i fa-exclamation-triangle"></i>
     {ts}There are participants registered for repeating events being removed from the set. Those with participants will be converted to standalone events, and those without registration will be deleted.{/ts}
   </div>
   <table class="display">
index 0834e4cb1573436961907b7af9278d03ca244b20..3df7a5635be5765c250b12651faf3620bba6c70e 100644 (file)
@@ -184,7 +184,7 @@ function custom_option_html_type( ) {
               {$form.group_id.html}
             &nbsp;&nbsp;<span><a href="#" onclick="toggleContactRefFilter('Advance'); return false;">{ts}Advanced Filter{/ts}</a></span>
               {capture assign=searchPreferences}{crmURL p="civicrm/admin/setting/search" q="reset=1"}{/capture}
-            <div class="messages status no-popup"><i class="fa fa-exclamation-triangle"></i> {ts 1=$searchPreferences}If you are planning on using this field in front-end profile, event registration or contribution forms, you should 'Limit List to Group' or configure an 'Advanced Filter'  (so that you do not unintentionally expose your entire set of contacts). Users must have either 'access contact reference fields' OR 'access CiviCRM' permission in order to use contact reference autocomplete fields. You can assign 'access contact reference fields' to the anonymous role if you want un-authenticated visitors to use this field. Use <a href='%1'>Search Preferences - Contact Reference Options</a> to control the fields included in the search results.{/ts}
+            <div class="messages status no-popup"><i class="crm-i fa-exclamation-triangle"></i> {ts 1=$searchPreferences}If you are planning on using this field in front-end profile, event registration or contribution forms, you should 'Limit List to Group' or configure an 'Advanced Filter'  (so that you do not unintentionally expose your entire set of contacts). Users must have either 'access contact reference fields' OR 'access CiviCRM' permission in order to use contact reference autocomplete fields. You can assign 'access contact reference fields' to the anonymous role if you want un-authenticated visitors to use this field. Use <a href='%1'>Search Preferences - Contact Reference Options</a> to control the fields included in the search results.{/ts}
           </td>
         </tr>
       <tr id='field_advance_filter'>
index 7aa85cd109a668bd300086d49e5a20fbcda82b02..ee494532df4a394f579ed4d01f532bdb802ffcf1 100644 (file)
           }
 
         if ( showError ) {
-          cj('#validate_pricefield').show().html("<i class="fa fa-exclamation-triangle icon-red"></i>{/literal} {ts escape='js'}This Option is already full for this event.{/ts}{literal}");
+          cj('#validate_pricefield').show().html("<i class="crm-i fa-exclamation-triangle crm-i-red"></i>{/literal} {ts escape='js'}This Option is already full for this event.{/ts}{literal}");
         }
         else {
           cj('#validate_pricefield').hide( ).html('');
index f7534f2b33bb30432457526b97a3e8850fa7cf48..06b90d2821cf58144a68b996b5400f95fc7c5450 100644 (file)
@@ -33,7 +33,7 @@
 
 {if ($snippet !== 'json') and !$suppressForm and count($form.errors) gt 0}
    <div class="messages crm-error">
-       <i class="fa fa-exclamation-triangle icon-red"></i>
+       <i class="crm-i fa-exclamation-triangle crm-i-red"></i>
      {ts}Please correct the following errors in the form fields below:{/ts}
      <ul id="errorList">
      {foreach from=$form.errors key=errorName item=error}
index 587d6e452968e55c6cb75afedf2533ffb669deb5..6daa183d197dfb3d1b929ada1e8cbb048ff8caa3 100644 (file)
@@ -46,7 +46,7 @@
     @import url({$config->resourceBase}bower_components/font-awesome/css/font-awesome.min.css);
   </style>
 {/if}
-<div class="messages status no-popup">  <i class="fa fa-exclamation-triangle icon-red"></i>
+<div class="messages status no-popup">  <i class="crm-i fa-exclamation-triangle crm-i-red"></i>
  <span class="status-fatal">{ts}Sorry but we are not able to provide this at the moment.{/ts}</span>
     <div class="crm-section crm-error-message">{$message}</div>
     {if $error.message && $message != $error.message}