CRM-13929 - Centralize and simplify radio clear widget
authorColeman Watts <coleman@civicrm.org>
Fri, 7 Feb 2014 17:10:50 +0000 (09:10 -0800)
committerColeman Watts <coleman@civicrm.org>
Fri, 7 Feb 2014 22:08:06 +0000 (14:08 -0800)
40 files changed:
CRM/Core/Form/Renderer.php
css/civicrm.css
js/Common.js
templates/CRM/Activity/Form/Search.tpl
templates/CRM/Activity/Form/Search/Common.tpl
templates/CRM/Admin/Form/ScheduleReminders.tpl
templates/CRM/Badge/Form/Layout.js
templates/CRM/Badge/Form/Layout.tpl
templates/CRM/Campaign/Form/Petition/Block.tpl
templates/CRM/Contact/Form/Edit/Address/CustomField.tpl
templates/CRM/Contact/Form/Edit/Demographics.tpl
templates/CRM/Contact/Form/Inline/Demographics.tpl
templates/CRM/Contact/Form/Search/Criteria/Basic.tpl
templates/CRM/Contact/Form/Search/Criteria/ChangeLog.tpl
templates/CRM/Contact/Form/Search/Criteria/Demographics.tpl
templates/CRM/Contribute/Form/AdditionalInfo/Honoree.tpl
templates/CRM/Contribute/Form/ContributionPage/Amount.tpl
templates/CRM/Contribute/Form/Search/Common.tpl
templates/CRM/Contribute/Form/SoftCredit.tpl
templates/CRM/Contribute/Form/Task/PDFLetter.tpl
templates/CRM/Custom/Form/CustomField.tpl
templates/CRM/Custom/Form/Preview.tpl
templates/CRM/Custom/Form/Search.tpl
templates/CRM/Event/Cart/Form/Checkout/ConferenceEvents.tpl
templates/CRM/Event/Cart/Form/Checkout/Payment.tpl
templates/CRM/Event/Form/ManageEvent/Fee.tpl
templates/CRM/Event/Form/Search/Common.tpl
templates/CRM/Form/attachment.tpl
templates/CRM/Mailing/Form/Search.tpl
templates/CRM/Mailing/Form/Search/Common.tpl
templates/CRM/Member/Form/MembershipBlock.tpl
templates/CRM/Member/Form/Search/Common.tpl
templates/CRM/Pledge/Form/Search/Common.tpl
templates/CRM/Profile/Form/Dynamic.tpl
templates/CRM/Profile/Form/Search.tpl
templates/CRM/UF/Form/Block.tpl
templates/CRM/UF/Form/Preview.tpl
templates/CRM/common/jcalendar.tpl
tools/drupal/modules/civicrm_regsite/templates/CRM/Profile/Form/15/Edit.tpl
tools/drupal/modules/civicrm_regsite/templates/CRM/Profile/Form/Survey/Edit.tpl

index 0f8623672373494da9c43be3d99de8270d86e786..ad22dd4d668f5be758c45d2f53809120d378514e 100644 (file)
@@ -117,16 +117,23 @@ class CRM_Core_Form_Renderer extends HTML_QuickForm_Renderer_ArraySmarty {
       }
     }
 
-    if ($element->getType() == 'select' && $element->getAttribute('data-option-group-url')) {
-      $this->addOptionsEditLink($el, $element);
-    }
-
+    // Display-only (frozen) elements
     if (!empty($el['frozen'])) {
       if ($element->getAttribute('data-api-params') && $element->getAttribute('data-entity-value')) {
         $this->renderFrozenEntityRef($el, $element);
       }
       $el['html'] = '<div class="crm-frozen-field">' . $el['html'] . '</div>';
     }
+    // Active form elements
+    else {
+      if ($element->getType() == 'select' && $element->getAttribute('data-option-group-url')) {
+        $this->addOptionsEditLink($el, $element);
+      }
+
+      if ($element->getType() == 'group' && strpos($el['html'], 'crm-form-radio')) {
+        $this->appendUnselectButton($el, $element);
+      }
+    }
 
     return $el;
   }
@@ -217,6 +224,16 @@ class CRM_Core_Form_Renderer extends HTML_QuickForm_Renderer_ArraySmarty {
       $el['html'] .= ' <a href="#" class="crm-edit-optionvalue-link crm-hover-button" title="' . ts('Edit Options') . '" data-option-group-url="' . $field->getAttribute('data-option-group-url') . '"><span class="icon edit-icon"></span></a>';
     }
   }
+
+  /**
+   * @param array $el
+   * @param HTML_QuickForm_element $field
+   */
+  function appendUnselectButton(&$el, $field) {
+    // Initially hide if not needed
+    // Note: visibility:hidden prevents layout jumping around unlike display:none
+    $display = $field->getValue() ? '' : ' style="visibility:hidden;"';
+    $el['html'] .= ' <a href="#" class="crm-hover-button crm-clear-link"' . $display . ' title="' . ts('Clear') . '"><span class="icon close-icon"></span></a>';
+  }
 }
-// end CRM_Core_Form_Renderer
 
index 6594ffdd2529b809a7b43cbe49bdf0205f429ea0..c1c77a7279aaae22e0f291a81c7297e6f51e4cb4 100644 (file)
@@ -796,8 +796,7 @@ div.crm-container fieldset label{
  */
 
 /* Inline form field 'post-help' and radio-button unselect */
-.crm-container .description,
-.crm-container .crm-clear-link {
+.crm-container .description {
   font-size: 0.9em;
   font-weight: normal;
   white-space: normal;
@@ -2212,10 +2211,6 @@ div.grippie {
   margin-left: 8px;
 }
 
-.crm-container .crm-clear-link {
-  margin-left: .5em;
-}
-
 #crm-container .crm-button {
   border: medium none;
   cursor: pointer;
@@ -2551,7 +2546,9 @@ div.grippie {
 .crm-container .play-icon {
   background-position: -3px -161px;
 }
-
+.crm-container .close-icon {
+  background-position: -82px -130px;
+}
 .crm-container .swap-icon {
   background-position: -82px -81px;
 }
@@ -2625,6 +2622,7 @@ div.grippie {
 /* Icon hover-buttons */
 .crm-container .crm-hover-button {
   display: inline-block;
+  border: 1px solid transparent;
 }
 .crm-container .crm-hover-button:hover,
 .crm-container .crm-hover-button:active {
index 27c9d767c5d9969ec17a3da44afa93efc98a13f0..38ccd443697cc2b71e638146ea8dc722d38c5e3f 100644 (file)
@@ -171,22 +171,6 @@ function showHideByValue(trigger_field_id, trigger_value, target_element_id, tar
   }
 }
 
-/**
- * reset all the radio buttons with a given name
- *
- * @param string fieldName
- * @param object form
- * @return null
- */
-function unselectRadio(fieldName, form) {
-  for (i = 0; i < document.forms[form].elements.length; i++) {
-    if (document.forms[form].elements[i].name == fieldName) {
-      document.forms[form].elements[i].checked = false;
-    }
-  }
-  return;
-}
-
 /**
  * Function to change button text and disable one it is clicked
  *
@@ -967,6 +951,14 @@ CRM.validate = CRM.validate || {
               });
           });
         return false;
+      })
+      // Handle clear button for form elements
+      .on('click', 'a.crm-clear-link', function() {
+        $(this).css({visibility: 'hidden'}).siblings('.crm-form-radio:checked').prop('checked', false).change();
+        return false;
+      })
+      .on('change', 'input.crm-form-radio:checked', function() {
+        $(this).siblings('.crm-clear-link').css({visibility: ''});
       });
     $().crmtooltip();
   });
index 6932aada41adf55ab14557bb23cda8f9de30977f..a2a53d55f772acbbe1046f02f09ee25d1169e3ec 100644 (file)
       }
     }).change();
 
-    cj(".crm-clear-link").click(function () {
-      cj('.description .contact-name-option').hide();
-    });
-
   </script>
 {/literal}
index 15d3e605503f2658b4e5a4d800a85959600bfbf3..5050dd49c5d932165ee923fd0e98c8422384fcc1 100644 (file)
 <tr>
   <td colspan="2">
     {$form.activity_role.html}
-    <span class="crm-clear-link">
-      (<a href="#" title="unselect"
-          onclick="unselectRadio('activity_role', '{$form.formName}');
-            return false;">
-        {ts}clear{/ts}
-      </a>)
     </span>
   </td>
 </tr>
   <td colspan="2">
     {$form.activity_test.label} {help id="is-test" file="CRM/Contact/Form/Search/Advanced"}
     &nbsp; {$form.activity_test.html}
-    <span class="crm-clear-link">
-      (<a href="#" onclick="unselectRadio('activity_test','{$form.formName}'); return false;">{ts}clear{/ts}</a>)
-    </span>
   </td>
 </tr>
 {if $buildSurveyResult }
index 4f066f0ae52fa6ec2abcec7616f6d932d6d93742..d8ac88aa5621611cae4cc9e0a085a712662535d9 100644 (file)
         }
     });
 
-    cj('#absolute_date_display').parent( ).children('.crm-clear-link').children('a').click( function() {
-        cj('#relativeDate').show();
-        cj('#relativeDateRepeat').show();
-    });
-
     cj(function() {
         if (cj('#absolute_date_display').val()) {
             cj('#relativeDate').hide();
index 183331393f48024d7ee61f54962655854c2a4f36..3398ba757d5e97ac39ea8c4900517800e0432b3c 100644 (file)
@@ -1,24 +1,19 @@
 // http://civicrm.org/licensing
 cj(function ($) {
   function openKCFinder(field) {
+    var field = $(this);
     window.KCFinder = {
       callBack: function(url) {
-        field.val(url);
+        field.val(url).change();
         // calculate the image default width, height 
         // and assign to respective fields
          var ajaxUrl = CRM.url('civicrm/ajax/rest', 'className=CRM_Badge_Page_AJAX&fnName=getImageProp&json=1&img=' + url);
-         $.ajax({
-          url: ajaxUrl,
-          async: false,
-          global: false,
-          dataType: "json",
-          success: function ( response ) {
+         $.getJSON(ajaxUrl).done(function ( response ) {
             var widthId = 'width_' + field.attr('id');
             var heightId = 'height_' + field.attr('id');
             $('#' + widthId).val(response.width.toFixed(0));
             $('#' + heightId).val(response.height.toFixed(0));
-          }
-        }); 
+        });
         window.KCFinder = null;
       }
     };
@@ -29,15 +24,15 @@ cj(function ($) {
     );
   }
 
-  $('input[id^="image_"]').click(function(){
-    openKCFinder($(this));
-  });
+  $('input[id^="image_"]')
+    .click(openKCFinder)
+    .change(function() {
+      $(this).siblings('.clear-image').css({visibility: $(this).val() ? '' : 'hidden'});
+    })
+    .change();
 
-  $('.clear-image').click(function(){
-    var imgName = $(this).attr('imgname');
-    $('#' + imgName).val('');
-    $('#width_' + imgName).val('');
-    $('#height_' + imgName).val('');
+  $('.clear-image').click(function() {
+    $(this).closest('tr').find('input[type=text]').val('').change();
     return false;
   });
 });
index cd3269b247fbb141fa2583f95602a32f64cc6f44..50a6eba02b36c9cc1f91d0dcb7a2d2c62fbb3f2d 100644 (file)
@@ -52,9 +52,8 @@
          <table>
            <tr>
             <td>{$form.image_1.html}
-             <span class="crm-clear-link">
-               (<a href="#" class="clear-image" imgname='image_1'>{ts}clear{/ts}</a>)
-             </span><br/>
+               <a href="#" class="crm-hover-button clear-image" title="{ts}Clear{/ts}"><span class="icon close-icon"></span></a>
+             <br/>
              <span class="description">{ts}Click above and select a file by double clicking on it.{/ts}</span>
             </td>
             <td>
@@ -73,9 +72,8 @@
          <table>
           <tr>
            <td>{$form.image_2.html}
-            <span class="crm-clear-link">
-              (<a href="#" class="clear-image" imgname='image_2'>{ts}clear{/ts}</a>)
-            </span><br/>
+              <a href="#" class="crm-hover-button clear-image" title="{ts}Clear{/ts}"><span class="icon close-icon"></span></a>
+            <br/>
             <span class="description">{ts}Click above and select a file by double clicking on it.{/ts}</span>
            </td>
            <td>
index 3937e75849e378ef029acf18ec1f0003807690d8..ccc528f8d077f12277d4ec777b380b9e1b8038e5 100644 (file)
                       {include file="CRM/common/jcalendar.tpl" elementName=$n}
             {else}
                {$form.$n.html}
-               {if $n eq 'gender' && $form.$fieldName.frozen neq true}
-                  <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}');return false;">{ts}clear{/ts}</a>)</span>
-               {/if}
              {/if}
              {*CRM-4564*}
-             {if $field.html_type eq 'Radio' && $form.$fieldName.frozen neq true && $field.is_required neq 1}
-                 <span style="line-height: .75em; margin-top: 1px;">
-                  <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}');return false;">{ts}clear{/ts}</a>)</span>
-                 </span>
-             {elseif $field.html_type eq 'Autocomplete-Select'}
+             {if $field.html_type eq 'Autocomplete-Select'}
            {if $field.data_type eq 'ContactReference'}
                      {include file="CRM/Custom/Form/ContactReference.tpl" element_name = $n}
                  {else}
index 07f2c19083ca2765bdf17d0f3f8d592bb8bee85a..4ce81755cf6b02854a36a21949130c846b5ccba9 100644 (file)
@@ -54,9 +54,6 @@
                                 {/if}
                             {/if}
                         {/foreach}
-                        {if $element.html_type eq 'Radio'}
-                            <td><span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$element_name}', '{$form.formName}'); return false;" >{ts}clear{/ts}</a>)</span></td>
-                        {/if}
                     </tr>
                 </table>
             </td>
                     {include file="CRM/common/jcalendar.tpl" blockId=$blockId blockSection='address' elementName=$element_name}
                 {/if}
 
-                {if $element.html_type eq 'Radio'}
-                    <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('address[{$blockId}][{$element_name}]', '{$form.formName}'); return false;" >{ts}clear{/ts}</a>)</span>
-
-                {elseif $element.data_type eq 'File'}
+                {if $element.data_type eq 'File'}
                     {if $element.element_value.data}
                         <span class="html-adjust"><br />
                             &nbsp;{ts}Attached File{/ts}: &nbsp;
index e28f62698eee6213d7d7199f4572c8be2cceaf19..e8ff3c878aa9db88f8979655cd672c052a125404 100644 (file)
@@ -33,7 +33,6 @@
 
   <span class="value">
         {$form.gender_id.html}
-        <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('gender_id', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
         </span>
   </div>
   <div class="form-item">
index f15074e9b7f45a7192d85f0208c79aa1881311c5..88799399b1d71f84831af75eb5b862374b696ba6 100644 (file)
@@ -32,9 +32,7 @@
   <div class="crm-clear">
     <div class="crm-summary-row">
       <div class="crm-label">{$form.gender_id.label}</div>
-      <div class="crm-content">{$form.gender_id.html}
-        <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('gender_id', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-      </div>
+      <div class="crm-content">{$form.gender_id.html}</div>
     </div>
     <div class="crm-summary-row">
       <div class="crm-label">{$form.birth_date.label}</div>
index 40b25281a038fcd1fa4b6c4796953bc724c75bad..e05611ea446c822001d6aa25efca980d3faf303d 100644 (file)
   {/if}
   {if $form.group}
     <td>
-      <div id='groupselect'><label>{ts}Group(s){/ts}<span class="crm-clear-link">(<a id='searchbygrouptype'>{ts}search by group type{/ts}</a>)</span></label>
+      <div id='groupselect'><label>{ts}Group(s){/ts} <span class="description">(<a id='searchbygrouptype'>{ts}search by group type{/ts}</a>)</span></label>
         {$form.group.html}
     </div>
     <div id='grouptypeselect'>
-      <label>{ts}Group Type(s){/ts}<span class="crm-clear-link"> ( <a id='searchbygroup'>{ts}search by group{/ts}</a>)</span></label>
+      <label>{ts}Group Type(s){/ts} <span class="description"> (<a id='searchbygroup'>{ts}search by group{/ts}</a>)</span></label>
       {$form.group_type.html}
         {literal}
         <script type="text/javascript">
     </td>
     <td>
       {if $form.uf_user}
-          {$form.uf_user.label} {$form.uf_user.html} <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('uf_user', 'Advanced'); return false;" >{ts}clear{/ts}</a>)</span>
+          {$form.uf_user.label} {$form.uf_user.html}
           <div class="description font-italic">
               {ts 1=$config->userFramework}Does the contact have a %1 Account?{/ts}
           </div>
index d441ccd98e5b49293d2d0775c1ffc2830cb76e99..5f4dfce376a5d90bc81521420ab8c62b9cb50865 100644 (file)
       </td>
       <td width="100%">
         {$form.log_date.html}
-        <span class="crm-clear-link">(<a href="#" title="unselect"
-                                         onclick="unselectRadio('log_date', '{$form.formName}');
-                                           return false;">{ts}clear{/ts}</a>)
-        </span>
         <br/>
       </td>
     </tr>
index 23e99170726e23feee0727ccaa5353acae2dde84..bd5f82077032a392220ea8473625956f3192014f 100644 (file)
@@ -33,7 +33,6 @@
    <td>
             {$form.is_deceased.label}<br />
            {$form.is_deceased.html}
-             <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('is_deceased', 'Advanced'); return false;" >{ts}clear{/ts}</a>)</span>
          </td>
       </tr>
       <tr>
@@ -43,7 +42,7 @@
       <tr>
          <td>
             {$form.gender_id.label}<br />
-            {$form.gender_id.html}<span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('gender_id', 'Advanced'); return false;" >{ts}clear{/ts}</a>)</span>
+            {$form.gender_id.html}
          </td>
       </tr>
     </table>
index fefe07bd63bfc9d3c35de9f5e9935a58eefe5c3e..40c0555b68596bad90d2f2a0198452ce766b7f59 100644 (file)
@@ -29,8 +29,7 @@
          {if $form.honor_type_id.html}
       <tr class="crm-contribution-form-block-honor_type_id">
          <td colspan="3">
-      {$form.honor_type_id.html}
-      <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('honor_type_id', '{$form.formName}'); enableHonorType(); return false;">{ts}clear{/ts}</a>)</span><br />
+      {$form.honor_type_id.html}<br />
       <span class="description">{ts}Select an option to reveal honoree information fields.{/ts}</span>
          </td>
       </tr>
index 6c0756841cd8fc9460b1aeba7ec7cf2a905e8075..f9918e5b42b818abcba56cfb126ae2f0bb47292f 100644 (file)
                 <fieldset><legend>{ts}Fixed Contribution Options{/ts}</legend>
                     {ts}Use the table below to enter up to ten fixed contribution amounts. These will be presented as a list of radio button options. Both the label and dollar amount will be displayed.{/ts}{if $isQuick}{ts} Click <a id='quickconfig' href='#'>here</a> if you want to configure the Fixed Contribution Options below as part of a Price Set, with the added flexibility and complexity that entails.{/ts}{/if}<br />
                     <table id="map-field-table">
-                        <tr class="columnheader" ><th scope="column">{ts}Contribution Label{/ts}</th><th scope="column">{ts}Amount{/ts}</th><th scope="column">{ts}Default?{/ts}<br /><span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('default', 'Amount'); return false;" >{ts}clear{/ts}</a>)</span></th></tr>
+                        <tr class="columnheader" ><th scope="column">{ts}Contribution Label{/ts}</th><th scope="column">{ts}Amount{/ts}</th><th scope="column">{ts}Default?{/ts}<br /></th></tr>
                         {section name=loop start=1 loop=11}
                             {assign var=idx value=$smarty.section.loop.index}
                             <tr><td class="even-row">{$form.label.$idx.html}</td><td>{$form.value.$idx.html|crmMoney}</td><td class="even-row">{$form.default.$idx.html}</td></tr>
index 72a152621c05aab8bcbd0ca3089433e6cd9c41bc..2bee33855d9474701fd8518b1380eeb33f4cea4b 100644 (file)
         <td>{$form.contribution_thankyou_date_is_not_null.label}</td>
         <td>
           {$form.contribution_thankyou_date_is_not_null.html}
-          <span class="crm-clear-link">
-            (<a href="#" onclick="unselectRadio('contribution_thankyou_date_is_not_null','{$form.formName}')">
-            {ts}clear{/ts}</a>)
-          </span>
         </td>
       </tr>
       <tr>
         <td>{$form.contribution_receipt_date_is_not_null.label}</td>
         <td>
           {$form.contribution_receipt_date_is_not_null.html}
-          <span class="crm-clear-link">
-            (<a href="#" onclick="unselectRadio('contribution_receipt_date_is_not_null','{$form.formName}')">
-            {ts}clear{/ts}</a>)
-          </span>
         </td>
       </tr>
       <tr>
         <td>{$form.contribution_test.label} {help id="is-test" file="CRM/Contact/Form/Search/Advanced"}</td>
         <td>
           {$form.contribution_test.html}
-          <span class="crm-clear-link">
-            (<a href="#" onclick="unselectRadio('contribution_test','{$form.formName}')">
-            {ts}clear{/ts}</a>)
-          </span>
         </td>
       </tr>
       </tbody>
         <td>{$form.contribution_pay_later.label}</td>
         <td>
           {$form.contribution_pay_later.html}
-            <span class="crm-clear-link">
-              (<a href="#" onclick="unselectRadio('contribution_pay_later','{$form.formName}'); return false;">{ts}clear{/ts}</a>)
-            </span>
         </td>
       </tr>
       <tr>
         <td>{$form.contribution_recurring.label}</td>
         <td>
           {$form.contribution_recurring.html}
-            <span class="crm-clear-link">
-              (<a href="#" onclick="unselectRadio('contribution_recurring','{$form.formName}'); return false;">{ts}clear{/ts}</a>)
-            </span>
         </td>
       </tr>
       </tbody>
   <td>
     {$form.contribution_pcp_display_in_roll.label}
     {$form.contribution_pcp_display_in_roll.html}
-      <span class="crm-clear-link">
-        (<a href="#" onclick="unselectRadio('contribution_pcp_display_in_roll','{$form.formName}'); return false;">{ts}clear{/ts}</a>)
-      </span>
   </td>
 </tr>
 
index 91eb2b773058398a9ff26d4097c08cf5ea154283..39051f26815d69ba6e5a8e74821eb4a4fe1fded1 100644 (file)
@@ -34,7 +34,6 @@
       <div class="crm-section {$form.soft_credit_type_id.name}-section">
         <div class="content" >
           {$form.soft_credit_type_id.html}
-          <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('soft_credit_type_id', '{$form.formName}');enableHonorType(); return false;">{ts}clear{/ts}</a>)</span>
           <div class="description">{ts}Select an option to reveal honoree information fields.{/ts}</div>
         </div>
       </div>
index 5016c704ab05f9ff02799272e24838304fd482bd..031539bb274fad1bbc3236ab621f8feac1776190 100644 (file)
@@ -37,7 +37,7 @@
     <table class="form-layout-compressed">
       <tr><td class="label-left">{$form.thankyou_update.html} {$form.thankyou_update.label}</td><td></td></tr>
       <tr><td class="label-left">{$form.receipt_update.html} {$form.receipt_update.label}</td><td></td></tr>
-      <!--tr><td class="label-left">{$form.is_group_by.label} (<a href="#" title="unselect" onclick="unselectRadio('is_group_by'); return false;" >{ts}clear{/ts}</a>)</td><td>{$form.is_group_by.html}</td></tr-->
+      <!--tr><td class="label-left">{$form.is_group_by.label}</td><td>{$form.is_group_by.html}</td></tr-->
     </table>
   </div><!-- /.crm-accordion-body -->
 </div><!-- /.crm-accordion-wrapper -->
index d4e3d3046a6ff8f4403004f28d5f66c59d943035..9bb38a40924318881b0581cb2ecacf6a03222195 100644 (file)
@@ -54,9 +54,6 @@
                                 {/if}
                             {/if}
                         {/foreach}
-                        {if $element.html_type eq 'Radio' and $element.is_view eq 0}
-                            <td><span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$element_name}', '{$form.formName}'); return false;" >{ts}clear{/ts}</a>)</span></td>
-                        {/if}
                     </tr>
                 </table>
             </td>
@@ -72,9 +69,7 @@
                     {include file="CRM/common/jcalendar.tpl" elementName=$element_name}
                 {/if}
 
-                {if $element.html_type eq 'Radio' and $element.is_view eq 0}
-                    <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$element_name}', '{$form.formName}'); return false;" >{ts}clear{/ts}</a>)</span>
-                {elseif $element.data_type eq 'File'}
+                {if $element.data_type eq 'File'}
                     {if $element.element_value.data}
                       <div id="attachStatusMesg_{$element_name}" class="status hiddenElement"></div>
                       <div id="attachFile_{$element_name}">
index 5aff212dcf2b79492203aace6f4a3dd8a72bfae2..219d936e272bc38e72a14d16c6565302c54ffb28 100644 (file)
                             {/if}
                          {/if}
                     {/foreach}
-        {if $element.html_type eq 'Radio'}
-                 <tr>
-                 <td><span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$element_name}', '{$form.formName}'); return false;" >{ts}clear{/ts}</a>)</span></td>
-               {/if}
                  </tr>
                 </table>
          </td>
@@ -93,9 +89,7 @@
         {elseif $element.skip_calendar NEQ true }
             {include file="CRM/common/jcalendar.tpl" elementName=$element_name}
         {/if}
-      {if $element.html_type eq 'Radio'}
-        <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$element_name}', '{$form.formName}'); return false;" >{ts}clear{/ts}</a>)</span>
-      {elseif $element.html_type eq 'Autocomplete-Select'}
+      {if $element.html_type eq 'Autocomplete-Select'}
           {if $element.data_type eq 'ContactReference'}
                   {include file="CRM/Custom/Form/ContactReference.tpl"}
                 {else}
index 4b2f8bf573720d5a2edd10db6f8ab01957115094..7ba22e63fa5f9eb3fbbca8a9f2b59ce79cf317d9 100644 (file)
                 {/if}
                 {/foreach}
              </tr>
-            {if $element.html_type eq 'Radio'}
-                <tr style="line-height: .75em; margin-top: 1px;">
-                    <td> <span class="crm-clear-link">(<a href="#" title="{ts}unselect{/ts}" onclick="unselectRadio('{$element_name}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span></td>
-                </tr>
-            {/if}
             </table>
             {/strip}
            </td>
@@ -99,9 +94,7 @@
                     {include file="CRM/common/jcalendar.tpl" elementName=$element_name}
                 {/if}
             {/if}
-            {if $element.html_type eq 'Radio'}
-                &nbsp; <span class="crm-clear-link">(<a href="#" title="{ts}unselect{/ts}" onclick="unselectRadio('{$element_name}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-            {elseif $element.html_type eq 'Autocomplete-Select'}
+            {if $element.html_type eq 'Autocomplete-Select'}
                 {if $element.data_type eq 'ContactReference'}
                     {include file="CRM/Custom/Form/ContactReference.tpl"}
                 {else}
index f347b381a6e94e5790aeec0ae942fbd6975edeee..7b759d9637826629906d5aab3068b232f349d5c3 100644 (file)
@@ -12,7 +12,6 @@
     <div class="slot_options">
       <ul class="indented">
         {$form.$field_name.html}
-        <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$field_name}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
       </ul>
     </div>
   </fieldset>
index cca4692f7fc0d4f2ba8dae305f580f29a913087d..81a7a4aa7d10ebf0216b51601ae986cf7a9f2ef6 100644 (file)
 <div class="crm-section {$form.payment_type.name}-section">
   <div class="label">{$form.payment_type.label}</div>
   <div class="content">{$form.payment_type.html}
-    <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('payment_type', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
   </div>
   <div class="clear"></div>
 </div>
index 48503ca9c2c10953e62603d199ed7090d300da69..0a99dcb6b0d2114f9870b600fdaec0fab183572b 100644 (file)
         {ts}Use the table below to enter descriptive labels and amounts for up to ten event fee levels. These will be presented as a list of radio button options. Both the label and dollar amount will be displayed. You can also configure one or more sets of discounted fees by checking "Discounts by Signup Date" below.{/ts}<br />
   {if $isQuick}{ts}Click <a id='quickconfig' href='#'>here</a> if you want to configure the Regular Fees below as part of a Price Set, with the added flexibility and complexity that entails.{/ts}{/if}
         <table id="map-field-table">
-        <tr class="columnheader"><td scope="column">{ts}Fee Label{/ts}</td><td scope="column">{ts}Amount{/ts}</td><td scope="column">{ts}Default?{/ts}<br /><span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('default', 'Fee'); return false;" >{ts}clear{/ts}</a>)</span></td></tr>
+        <tr class="columnheader"><td scope="column">{ts}Fee Label{/ts}</td><td scope="column">{ts}Amount{/ts}</td><td scope="column">{ts}Default?{/ts}<br /></td></tr>
         {section name=loop start=1 loop=11}
            {assign var=idx value=$smarty.section.loop.index}
            <tr><td class="even-row crm-event-manage-fee-form-block-label_{$idx}">{$form.label.$idx.html}</td><td class="crm-event-manage-fee-form-block-value_{$idx}">{$form.value.$idx.html|crmMoney}</td><td class="even-row crm-event-manage-fee-form-block-default_{$idx}">{$form.default.$idx.html}</td></tr>
index 7d4994f0d367f3ed3f259c4db90618045b9f8c6c..d60220f30a4efa4d3dcbfa59f9435628d7603a27 100644 (file)
   <td class="crm-event-form-block-participant_test">
   {$form.participant_test.label} {help id="is-test" file="CRM/Contact/Form/Search/Advanced"}
     &nbsp; {$form.participant_test.html}
-    <span class="crm-clear-link">
-      (<a href="#" onclick="unselectRadio('participant_test','{$form.formName}'); return false;">{ts}clear{/ts}</a>)
-    </span>
   </td>
   <td class="crm-event-form-block-participant_pay_later">
   {$form.participant_pay_later.label} {$form.participant_pay_later.html}
-    <span class="crm-clear-link">
-      (<a href="#" onclick="unselectRadio('participant_pay_later','{$form.formName}'); return false;">{ts}clear{/ts}</a>)
-    </span>
   </td>
 </tr>
 <tr>
index 8b0c72cac5fa7dc0b062d3a0e49e300329d530d9..a597de573c2ad84b380297dcc9080c4237d646bd 100644 (file)
@@ -63,7 +63,7 @@
         {/if}
         <tr>
           <td class="label">{$form.attachFile_1.label}</td>
-          <td>{$form.attachFile_1.html}&nbsp;{$form.attachDesc_1.html}<span class="crm-clear-link">(<a href="#" onclick="clearAttachment( '#attachFile_1', '#attachDesc_1' ); return false;">{ts}clear{/ts}</a>)</span><br />
+          <td>{$form.attachFile_1.html}&nbsp;{$form.attachDesc_1.html}<a href="#" class="crm-hover-button" title="{ts}Clear{/ts}" onclick="clearAttachment( '#attachFile_1', '#attachDesc_1' ); return false;"><span class="icon close-icon"></span></a><br />
             <span class="description">{ts}Browse to the <strong>file</strong> you want to upload.{/ts}{if $maxAttachments GT 1} {ts 1=$maxAttachments}You can have a maximum of %1 attachment(s).{/ts}{/if} Each file must be less than {$config->maxFileSize}M in size. You can also add a short description.</span>
           </td>
         </tr>
@@ -84,7 +84,7 @@
             <tr class="attachment-fieldset"><td colspan="2"></td></tr>
             <tr>
                 <td class="label">{$form.attachFile_1.label}</td>
-                <td>{$form.$attachName.html}&nbsp;{$form.$attachDesc.html}<span class="crm-clear-link">(<a href="#" onclick="clearAttachment( '#{$attachName}' ); return false;">{ts}clear{/ts}</a>)</span></td>
+                <td>{$form.$attachName.html}&nbsp;{$form.$attachDesc.html}<a href="#" class="crm-hover-button" title="{ts}Clear{/ts}" onclick="clearAttachment( '#{$attachName}' ); return false;"><span class="icon close-icon"></span></a></td>
             </tr>
             <tr>
               <td></td>
index f7630c06f4b259b4895a52895a32e7d71e686e68..f669c2939d48c8b9f6757a06d22f61e300022e95 100644 (file)
@@ -45,7 +45,6 @@
             <div class="crm-search-form-block-is_archive">
             {$form.is_archived.label}<br/>
             {$form.is_archived.html}
-            <span class="crm-clear-link">(<a href="#r">{ts}clear{/ts}</a>)</span>
             </div>
         </td>
         {if $form.mailing_status}
     var archiveOption = cj("input[name^='is_archived']:radio");
     cj('#status_unscheduled').change(function() {
       if (cj(this).prop('checked') ) {
-        archiveOption.prop('checked',false);
-        archiveOption.attr('readonly',true);
+        archiveOption.prop({checked: false, disabled: true}).change();
       } else {
-        archiveOption.attr('readonly',false);
+        archiveOption.prop('disabled', false);
       }
     }).trigger('change');
     archiveOption.change(function() {
       if (cj("input[name^='is_archived']:radio:checked").length) {
-        disableDraft();
+        cj('#status_unscheduled').prop({checked: false, disabled: true}).change();
       } else {
-        cj('#status_unscheduled').attr('readonly',false); 
+        cj('#status_unscheduled').prop('disabled', false);
       }
     }).trigger('change');
-    cj(".crm-search-form-block-is_archive .crm-clear-link a").click(function() {
-      archiveOption.prop('checked',false);
-      cj('#status_unscheduled').attr('readonly',false); 
-    });
   });
-
-  function disableDraft() {
-    cj('#status_unscheduled').prop('checked',false);
-    cj('#status_unscheduled').attr('readonly',true); 
-  } 
 </script>
 {/literal}
index 00db5d5d58bdf2838a9ee599b999f1d693238a9e..cb24ac6180159b8a0da94ee4464a609e1dc0bd66 100644 (file)
@@ -19,9 +19,6 @@
   {$form.mailing_delivery_status.label}
     <br />
   {$form.mailing_delivery_status.html}
-    <span class="crm-clear-link">
-      (<a href="#" onclick="unselectRadio('mailing_delivery_status','{$form.formName}'); return false;">{ts}clear{/ts}</a>)
-    </span>
   <br />
   {$form.mailing_bounce_types.label}
   {$form.mailing_bounce_types.html}
@@ -30,9 +27,6 @@
   {$form.mailing_open_status.label}
     <br />
   {$form.mailing_open_status.html}
-    <span class="crm-clear-link">
-      (<a href="#" onclick="unselectRadio('mailing_open_status','{$form.formName}'); return false;">{ts}clear{/ts}</a>)
-    </span>
   </td>
 </tr>
 <tr>
   {$form.mailing_click_status.label}
     <br />
   {$form.mailing_click_status.html}
-    <span class="crm-clear-link">
-      (<a href="#" onclick="unselectRadio('mailing_click_status','{$form.formName}'); return false;">{ts}clear{/ts}</a>)
-    </span>
   </td>
   <td>
   {$form.mailing_reply_status.label}
     <br />
   {$form.mailing_reply_status.html}
-    <span class="crm-clear-link">
-      (<a href="#" onclick="unselectRadio('mailing_reply_status','{$form.formName}')">{ts}clear{/ts}</a>)
-    </span>
   </td>
 </tr>
 <tr>
index 88e0e7c1cc84f229108e94fd5d17feabe7e08cc1..947b601ab8dfd773bb8d69e903ffc0344ea4fb94 100644 (file)
@@ -91,7 +91,7 @@
                 {strip}
                   <table class="report">
                     <tr class="columnheader" style="vertical-align:top;"><th style="border-right: 1px solid #4E82CF;">{ts}Include these membership types{/ts}</th><th{if $is_recur} style="border-right: 1px solid #4E82CF;"{/if}>{ts}Default{/ts}<br />
-                    <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('membership_type_default', 'MembershipBlock'); return false;" >unselect</a>)</span></th>{if $is_recur}<th>{ts}Auto-renew{/ts}</th>{/if}</tr>
+                    </th>{if $is_recur}<th>{ts}Auto-renew{/ts}</th>{/if}</tr>
                       {assign var="index" value="1"}
                       {foreach name=outer key=key item=item from=$form.membership_type}
                         {if $index < 10}
index 5ecac84a3328379fb664fbfe87d62965269e7796..5d41ae1d89c705e69b19cc4d0d9cc6e066f28858 100644 (file)
     <br />{$form.member_source.html}
     <p>
     {$form.member_test.label} {help id="is-test" file="CRM/Contact/Form/Search/Advanced"} &nbsp;{$form.member_test.html}
-      <span class="crm-clear-link">
-        (<a href="#" title="unselect" onclick="unselectRadio('member_test', '{$form.formName}'); return false;" >
-        {ts}clear{/ts}</a>)
-      </span>
     </p>
   </td>
   <td>
     {$form.member_is_primary.label}
     {help id="id-member_is_primary" file="CRM/Member/Form/Search.hlp"}
     {$form.member_is_primary.html}
-      <span class="crm-clear-link">
-        (<a href="#" title="unselect" onclick="unselectRadio('member_is_primary', '{$form.formName}'); return false;" >
-        {ts}clear{/ts}</a>)
-      </span>
     </p>
     <p>
     {$form.member_pay_later.label}&nbsp;{$form.member_pay_later.html}
-      <span class="crm-clear-link">
-        (<a href="#" title="unselect" onclick="unselectRadio('member_pay_later', '{$form.formName}'); return false;" >
-        {ts}clear{/ts}</a>)
-      </span>
     </p>
     <p>
     {$form.member_auto_renew.label}&nbsp;{$form.member_auto_renew.html}
-      <span class="crm-clear-link">
-        (<a href="#" title="unselect" onclick="unselectRadio('member_auto_renew', '{$form.formName}'); return false;" >
-        {ts}clear{/ts}</a>)
-      </span>
     </p>
   </td>
 </tr>
index 07e78649e7a8150c31251cfff2750fafb06db61f..9d3a8329a98d8e72e7a1da81b5b021f5db0c2853 100644 (file)
@@ -78,7 +78,7 @@
 <tr>
   <td>
   <br />
-  {$form.pledge_test.label} {help id="is-test" file="CRM/Contact/Form/Search/Advanced"} &nbsp; {$form.pledge_test.html} <span class="crm-clear-link">(<a href="#" onclick="unselectRadio('pledge_test','{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
+  {$form.pledge_test.label} {help id="is-test" file="CRM/Contact/Form/Search/Advanced"} &nbsp; {$form.pledge_test.html}
   </td>
 </tr>
 <tr>
index 8ed3c3b7b77b02720604359b7613ac5e74292934..75b97da33d4caac267a8875a9ed76cd4a497a058 100644 (file)
@@ -159,9 +159,6 @@ function checkResponse(responseText, statusText, xhr, $form) {
                   {/foreach}
                 </tr>
                 </table>
-                {if $field.html_type eq 'Radio' and $form.formName eq 'Edit' and $field.is_view neq 1 }
-                  &nbsp;<span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-                {/if}
               {/strip}
             </div>
             <div class="clear"></div>
@@ -205,10 +202,7 @@ function checkResponse(responseText, statusText, xhr, $form) {
                 {else}
                   {$form.$n.html}
                 {/if}
-                {if (($n eq 'gender') or ($field.html_type eq 'Radio' and $form.formName eq 'Edit' and $field.is_required neq 1)) and
-                ($field.is_view neq 1)}
-                  &nbsp;<span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-                  {elseif $field.html_type eq 'Autocomplete-Select'}
+                {if $field.html_type eq 'Autocomplete-Select'}
                   {if $field.data_type eq 'ContactReference'}
                     {include file="CRM/Custom/Form/ContactReference.tpl" element_name = $n}
                   {else}
index 6143ca79172e4829bcee2e02c2516cb7e906f67b..f9605b3430bb1c2154012f5f5ccb23a349a6889a 100644 (file)
@@ -87,9 +87,6 @@
                 {/foreach}
               </tr>
               </table>
-              {if $field.html_type eq 'Radio' and $form.formName eq 'Search'}
-                <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-              {/if}
             {/strip}
           </td>
         </tr>
               {else}
                 {$form.$n.html}
               {/if}
-              {if ($n eq 'gender') or ($field.html_type eq 'Radio' and $form.formName eq 'Search')}
-                <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-              {elseif $field.html_type eq 'Autocomplete-Select'}
+              {if $field.html_type eq 'Autocomplete-Select'}
                 {if $field.data_type eq 'ContactReference'}
                   {include file="CRM/Custom/Form/ContactReference.tpl" element_name = $n}
                 {else}
index a78995130377d87c3079611b7cd7152385677d5d..3c93b82d9734fe5b479dfacfb7719a04a4c2c0a1 100644 (file)
                 {/if}
               {else}
                 {if $prefix}{$form.$prefix.$n.html}{else}{$form.$n.html}{/if}
-                {if $n eq 'gender' && $form.$fieldName.frozen neq true}
-                  <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}');return false;">{ts}clear{/ts}</a>)</span>
-                {/if}
               {/if}
 
             {*CRM-4564*}
-              {if $field.html_type eq 'Radio' && $form.$fieldName.frozen neq true && $field.is_required neq 1}
-                <span style="line-height: .75em; margin-top: 1px;">
-                    <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}');return false;">{ts}clear{/ts}</a>)</span>
-                   </span>
-              {elseif $field.html_type eq 'Autocomplete-Select'}
+              {if $field.html_type eq 'Autocomplete-Select'}
                 {if $field.data_type eq 'ContactReference'}
                 {include file="CRM/Custom/Form/ContactReference.tpl" element_name = $n}
                 {else}
index aa94a78ecc2434c86e46cd0e1ce66a3d42ae21d0..9d47362840a1f9eec8925d9432857223931116ff 100644 (file)
@@ -97,9 +97,6 @@
                       {/if}
                     {/foreach}
                   </table>
-                  {if $field.html_type eq 'Radio' and $form.formName eq 'Preview'}
-                    <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-                  {/if}
                 {/strip}
               </td>
             </tr>
                 {/if}
                 {$form.$n.html}
                 {if $field.is_view eq 0}
-                  {if ( $field.html_type eq 'Radio' or  $n eq 'gender') and $form.formName eq 'Preview'}
-                    <span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-                  {elseif $field.html_type eq 'Autocomplete-Select'}
+                  {if $field.html_type eq 'Autocomplete-Select'}
                     {if $field.data_type eq 'ContactReference'}
                     {include file="CRM/Custom/Form/ContactReference.tpl" element_name = $n}
                       {else}
index 98b67ed1681776781554ef0b46205c5d7c5fc988..3e21f188c38f7ea161fe6f8c646d157acab7f869 100644 (file)
@@ -64,7 +64,7 @@
 {/if}
 
 {if $action neq 1028}
-    <span class="crm-clear-link">(<a href="#" onclick="clearDateTime( '{$elementId}' ); return false;">{ts}clear{/ts}</a>)</span>
+    <a href="#" class="crm-hover-button" title="{ts}Clear{/ts}" onclick="clearDateTime( '{$elementId}' ); return false;"><span class="icon close-icon"></span></a>
 {/if}
 
 <script type="text/javascript">
index 4d14f864139aededee9777b77c295a4cbb5ea115..4c0f11d9870cdb8d7a8ce4fbc5d4dbbfb78b580b 100644 (file)
                           {/foreach}
                         </tr>
                         </table>
-                       {if $field.html_type eq 'Radio' and $form.formName eq 'Edit' and $field.is_view neq 1 }
-                               &nbsp;<span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-                       {/if}
                         {/strip}
                     </div>
                     <div class="clear"></div>
                                       {else}       
                               {$form.$n.html}
                            {/if}
-                           {if (($n eq 'gender') or ($field.html_type eq 'Radio' and $form.formName eq 'Edit' and $field.is_required neq 1)) and
-                          ($field.is_view neq 1)}
-                                   &nbsp;<span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-                              {elseif $field.html_type eq 'Autocomplete-Select'}
+                              {if $field.html_type eq 'Autocomplete-Select'}
                                 {include file="CRM/Custom/Form/AutoComplete.tpl" element_name = $n}
                                   {/if}
                       {/if}
index a65c1a7158a5ef174052612219593a0ea834ea1f..be661728b6afa210d40dc0105d3ac4fcf05d6895 100644 (file)
                           {/foreach}
                         </tr>
                         </table>
-                       {if $field.html_type eq 'Radio' and $form.formName eq 'Edit' and $field.is_view neq 1 }
-                               &nbsp;<span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-                       {/if}
                         {/strip}
                     </div>
                     <div class="clear"></div>
                                       {else}       
                               {$form.$n.html}
                            {/if}
-                           {if (($n eq 'gender') or ($field.html_type eq 'Radio' and $form.formName eq 'Edit' and $field.is_required neq 1)) and
-                          ($field.is_view neq 1)}
-                                   &nbsp;<span class="crm-clear-link">(<a href="#" title="unselect" onclick="unselectRadio('{$n}', '{$form.formName}'); return false;">{ts}clear{/ts}</a>)</span>
-                              {elseif $field.html_type eq 'Autocomplete-Select'}
+                              {if $field.html_type eq 'Autocomplete-Select'}
                                 {include file="CRM/Custom/Form/AutoComplete.tpl" element_name = $n}
                                   {/if}
                       {/if}