Merge pull request #2602 from pratik-joshi/CRM-13964-qa
[civicrm-core.git] / templates / CRM / Contact / Page / View / Summary.js
index 282825cfe0d49472746c8e24ffacf29da33f07e0..5f5f97baedb8dae62dddee9da25006774489180f 100644 (file)
@@ -4,7 +4,7 @@
   var ajaxFormParams = {
     dataType:'json',
     beforeSubmit: function(arr, $form, options) {
-      addCiviOverlay($form);
+      $form.block();
     },
     success: requestHandler,
     error: errorHandler
       data.reset = 1;
       o.addClass('form');
       $('.crm-edit-ready').removeClass('crm-edit-ready');
-      addCiviOverlay(o);
+      o.block();
       $.getJSON(CRM.url('civicrm/ajax/inline', data))
         .fail(errorHandler)
         .done(function(response) {
-          removeCiviOverlay(o);
+          o.unblock();
           o.css('overflow', 'hidden').wrapInner('<div class="inline-edit-hidden-content" style="display:none" />').append(response.content);
           // Smooth resizing
           var newHeight = $('.crm-container-snippet', o).height();
@@ -36,7 +36,7 @@
           $('form', o).validate(CRM.validate.params);
           ajaxFormParams.data = data;
           $('form', o).ajaxForm(ajaxFormParams);
-          o.trigger('crmFormLoad');
+          o.trigger('crmLoad').trigger('crmFormLoad');
         });
     }
   };
         CRM.tabHeader.updateCount('#tab_log', response.changeLog.count);
       }
       $("#crm-record-log").replaceWith(response.changeLog.markup);
-      // Refresh tab contents - Advanced logging
-      if (CRM.reloadChangeLogTab) {
-        CRM.reloadChangeLogTab();
-      }
       // Refresh tab contents - Simple logging
-      else if ($('#changeLog').closest('.ui-tabs-panel').data('civiCrmSnippet')) {
+      if (!CRM.reloadChangeLogTab && $('#changeLog').closest('.ui-tabs-panel').data('civiCrmSnippet')) {
         $('#changeLog').closest('.ui-tabs-panel').crmSnippet('destroy');
       }
     }
 
   function errorHandler(response) {
     CRM.alert(ts('Unable to reach the server. Please refresh this page in your browser and try again.'), ts('Network Error'), 'error');
-    removeCiviOverlay($('.crm-inline-edit.form form'));
+    $('.crm-inline-edit.form form').unblock();
   }
 
   $('document').ready(function() {
       })
       // Handle action links in popup
       .on('click', '.crm-contact_actions-list a, .crm-contact_activities-list a', function() {
-        var tabName = $(this).data('tab') || 'activity';
+        var tabName = $(this).data('tab') || 'summary';
         var $tab = $('#tab_' + tabName);
         var $panel = $('#' + $tab.attr('aria-controls'));
-        CRM.loadForm($(this).attr('href'))
-          .on('crmFormSuccess', function() {
-            if ($panel.data('civiCrmSnippet')) {
-              $panel.crmSnippet('refresh');
-            }
-            $('#mainTabContainer').tabs('option', 'active', $tab.prevAll().length);
-          });
+        var url = $(this).attr('href');
+        if (url !== '#') {
+          CRM.loadForm(url)
+            .on('crmFormSuccess', function() {
+              if ($panel.data('civiCrmSnippet')) {
+                $panel.crmSnippet('refresh');
+              }
+              $('#mainTabContainer').tabs('option', 'active', $tab.prevAll().length);
+            });
+        } else {
+          $('#mainTabContainer').tabs('option', 'active', $tab.prevAll().length);
+        }
+        $('#crm-contact-actions-list').hide();
         return false;
       });
-    // Actions menu
-    $(document).on('click', function(e) {
-      if ($(e.target).is('#crm-contact-actions-link, #crm-contact-actions-link *')) {
-        $('#crm-contact-actions-list').show();
-        return false;
-      }
-      $('#crm-contact-actions-list').hide();
-    });
+    $(document)
+      // Actions menu
+      .on('click', function(e) {
+        if ($(e.target).is('#crm-contact-actions-link, #crm-contact-actions-link *')) {
+          $('#crm-contact-actions-list').show();
+          return false;
+        }
+        $('#crm-contact-actions-list').hide();
+      })
+      // Reload changelog whenever an inline or popup form submits
+      .on('crmFormSuccess', function(e) {
+        CRM.reloadChangeLogTab && CRM.reloadChangeLogTab();
+      });
     $().crmAccordions();
   });
 })(cj);