Merge pull request #2845 from elcapo/activity-contact-api
[civicrm-core.git] / templates / CRM / Contact / Form / Search / AdvancedCriteria.tpl
index 8f377ebe343e120427d445c6c8e5e3197400fcfc..59bf49e6d63b8cbc64b0d8d4922db0bee72a7c96 100644 (file)
@@ -1,8 +1,8 @@
 {*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.3                                                |
+ | CiviCRM version 4.5                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013                                |
+ | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
 {* Advanced Search Criteria Fieldset *}
 {literal}
 <script type="text/javascript">
-cj(function($) {
-  $(document).ready( function() {
-    $().crmAccordions();
-    // Bind first click of accordion header to load crm-accordion-body with snippet
-    // everything else is taken care of by crmAccordions()
-    $('.crm-search_criteria_basic-accordion .crm-accordion-header').addClass('active');
-    $('.crm-ajax-accordion').on('click', '.crm-accordion-header:not(.active)', function() {
-      loadPanes($(this).attr('id'));
-    });
-    $('.crm-ajax-accordion:not(.collapsed) .crm-accordion-header').each(function() {
-      loadPanes($(this).attr('id'));
-    });
-    $('.crm-ajax-accordion').on('click', '.crm-close-accordion', function() {
-      var header = $(this).parent();
-      header.next().html('');
-      header.removeClass('active');
-      header.parent('.crm-ajax-accordion:not(.collapsed)').crmAccordionToggle();
-      // Reset results-display mode if it depends on this pane
-      var mode = modes[$('#component_mode').val()] || null;
-      if (mode && header.attr('id') == mode) {
-        var oldMode = $('#component_mode :selected').text();
-        $('#component_mode').val('1');
-        {/literal}
-        var msg = '{ts escape="js"}Displaying results as "%1" is not available without search criteria from the pane you just closed.{/ts}';
-        msg = msg.replace('%1', oldMode);
-        CRM.alert(msg, '{ts escape="js"}Display Results have been Reset{/ts}');
-        {literal}
-      }
-      $(this).remove();
-      return false;
-    });
-    // TODO: Why are the modes numeric? If they used the string there would be no need for this map
-    var modes = {
-      '2': 'CiviContribute',
-      '3': 'CiviEvent',
-      '4': 'activity',
-      '5': 'CiviMember',
-      '6': 'CiviCase',
-    };
-    // Handle change of results mode
-    $('#component_mode').change(function() {
-      // Reset task dropdown
-      $('#task').val('');
-      var mode = modes[$('#component_mode').val()] || null;
-      if (mode) {
-        $('.crm-' + mode + '-accordion.collapsed').crmAccordionToggle();
-        loadPanes(mode);
-      }
-      if ($('#component_mode').val() == '7') {
-        $('#crm-display_relationship_type').show();
-      }
-      else {
-        $('#display_relationship_type').val('');
-        $('#crm-display_relationship_type').hide();
-      }
-    }).change();
+CRM.$(function($) {
+  // Bind first click of accordion header to load crm-accordion-body with snippet
+  // everything else is taken care of by crmAccordions()
+  $('.crm-search_criteria_basic-accordion .crm-accordion-header').addClass('active');
+  $('.crm-ajax-accordion').on('click', '.crm-accordion-header:not(.active)', function() {
+    loadPanes($(this).attr('id'));
   });
-  // Loads snippet based on id of crm-accordion-header
+  $('.crm-ajax-accordion:not(.collapsed) .crm-accordion-header').each(function() {
+    loadPanes($(this).attr('id'));
+  });
+  $('.crm-ajax-accordion').on('click', '.crm-close-accordion', function() {
+    var header = $(this).parent();
+    header.next().html('');
+    header.removeClass('active');
+    header.parent('.crm-ajax-accordion:not(.collapsed)').crmAccordionToggle();
+    // Reset results-display mode if it depends on this pane
+    var mode = modes[$('#component_mode').val()] || null;
+    if (mode && header.attr('id') == mode) {
+      var oldMode = $('#component_mode :selected').text();
+      $('#component_mode').val('1');
+      {/literal}
+      var msg = '{ts escape="js"}Displaying results as "%1" is not available without search criteria from the pane you just closed.{/ts}';
+      msg = msg.replace('%1', oldMode);
+      CRM.alert(msg, '{ts escape="js"}Display Results have been Reset{/ts}');
+      {literal}
+    }
+    $(this).remove();
+    return false;
+  });
+  // TODO: Why are the modes numeric? If they used the string there would be no need for this map
+  var modes = {
+    '2': 'CiviContribute',
+    '3': 'CiviEvent',
+    '4': 'activity',
+    '5': 'CiviMember',
+    '6': 'CiviCase',
+    '8': 'CiviMail'
+  };
+  // Handle change of results mode
+  $('#component_mode').change(function() {
+    // Reset task dropdown
+    $('#task').val('');
+    var mode = modes[$('#component_mode').val()] || null;
+    if (mode) {
+      $('.crm-' + mode + '-accordion.collapsed').crmAccordionToggle();
+      loadPanes(mode);
+    }
+    if ($('#component_mode').val() == '7') {
+      $('#crm-display_relationship_type').show();
+    }
+    else {
+      $('#display_relationship_type').val('');
+      $('#crm-display_relationship_type').hide();
+    }
+  }).change();
+  /**
+  * Loads snippet based on id of crm-accordion-header
+  */
   function loadPanes(id) {
-    var url = "{/literal}{crmURL p='civicrm/contact/search/advanced' q="snippet=1&qfKey=`$qfKey`&searchPane=" h=0}{literal}" + id;
+    var url = "{/literal}{crmURL p='civicrm/contact/search/advanced' q="qfKey=`$qfKey`&searchPane=" h=0}{literal}" + id;
     var header = $('#' + id);
     var body = $('.crm-accordion-body.' + id);
     if (header.length > 0 && body.length > 0 && !body.html()) {
       body.html('<div class="crm-loading-element"><span class="loading-text">{/literal}{ts escape='js'}Loading{/ts}{literal}...</span></div>');
-      header.append('{/literal}<a href="#" class="crm-close-accordion" title="{ts escape='js'}Remove from search criteria{/ts}"><span>{ts escape='js'}Reset{/ts}</span> &nbsp;<img src="{$config->resourceBase}i/close.png" /></a>{literal}');
+      header.append('{/literal}<a href="#" class="crm-close-accordion crm-hover-button css_right" title="{ts escape='js'}Remove from search criteria{/ts}"><span class="icon close-icon"></span></a>{literal}');
       header.addClass('active');
-      $.ajax({
-        url : url,
-        success: function(data) {
-          body.html(data);
-        },
-        error: function() {
-          CRM.alert({/literal}'{ts escape="js"}Sorry, could not load the requested information from the server.{/ts}', '{ts escape="js"}Network Error{/ts}'{literal});
-          $('.crm-close-accordion', header).click();
-        }
-      });
+      CRM.loadPage(url, {target: body, block: false});
     }
   }
 });