Answers.Body: <p>So to enhance on the answer from Pradeep, here is what I have done:</p>
  
  <pre><code>function myextension_civicrm_postProcess($formName, &amp;$form) {
    if ($form instanceof CRM_Contact_Form_Inline_Email) {
      $form-&gt;ajaxResponse['updateTabs']['#tab_custom_32'] = 1;
    }
  }
  </code></pre>
  
  <p>Where the 32 is the ID of my custom group, so I will obviously change that so it will retrieve the id in the specific environment.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-11T13:16:26.283Z
Answers.LastActivityDate: 2019-04-11T13:16:26.283Z
Answers.UserDisplayName: ErikH - CiviCooP
Answers.Body: <p>I think you can set something in postProcess hook to reload the tabs possibly below code but not sure, it does work for us when we update something in a form we update the contribution tab using below code</p>
  
  <pre><code>$form-&gt;ajaxResponse['updateTabs']['#tab_contribute'] = 1;
  </code></pre>
  
  <p>HTH</p>
  
  <p>Pradeep</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-11T12:36:41.743Z
Answers.Text: I will try! I did try the $form->ajaxResponse with a jQuery ID but that did not work.
Answers.UserDisplayName: ErikH - CiviCooP
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-11T12:45:29.023Z
Answers.Text: I have found a #tab_custom_<custom_group_id>, will see if that does the trick. Thanks anyway @Pradeep
Answers.UserDisplayName: ErikH - CiviCooP
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-11T13:14:57.253Z
Answers.Text: And it works, thanks Pradeep!
Answers.UserDisplayName: ErikH - CiviCooP
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-11T12:26:14.110Z
Answers.LastActivityDate: 2019-04-11T12:26:14.110Z
Answers.UserDisplayName: Pradeep Nayak
Body: <p>I want to store an email address (or phone or address) in a custom group when they are deleted. So if for contact John Doe the email address john.doe@example.org is deleted, it is stored in the custom group Former Communication Stuff. This works nicely on the pre and post hook but the custom group (which is Tab with table) tab is not refreshed when an email is deleted. And I would want the tab for the custom group refreshed when I delete an email address. </p>
  
  <p>I have seen related questions here, notably <a href="https://civicrm.stackexchange.com/questions/165/can-i-update-requery-a-custom-field-that-got-changed-via-another-field-on-the-sa">Can I update/requery a custom field that got changed via another field on the same page?</a>. However, this solution does not work for this case. I do not see any ID I can use in jQuery on the custom data tab, and if I do try to use one I get an error (just keeps running) either when adding the email again or when deleting the email.</p>
  
  <p>I have one solution, which is to do a location.reload on the inline edit form, but that seems pretty rough. Any suggestions for another solution? And this is a going to be a generic extension, so anything that uses the random ID "#ui-id-17" does not work because the number could be different in many installs?</p>
  
Tags: <custom-fields><contact-view><jquery><datatables>
Title: How can I refresh a custom data tab in the contact summary?
ThreadText: # How can I refresh a custom data tab in the contact summary?
  
  (Asked by: username_0 on 2019-04-11)
  
  I want to store an email address (or phone or address) in a custom group when they are deleted. So if for contact John Doe the email address john.doe@example.org is deleted, it is stored in the custom group Former Communication Stuff. This works nicely on the pre and post hook but the custom group (which is Tab with table) tab is not refreshed when an email is deleted. And I would want the tab for the custom group refreshed when I delete an email address.
  
  I have seen related questions here, notably [Can I update/requery a custom field that got changed via another field on the same page?](https://civicrm.stackexchange.com/questions/165/can-i-update-requery-a-custom-field-that-got-changed-via-another-field-on-the-sa). However, this solution does not work for this case. I do not see any ID I can use in jQuery on the custom data tab, and if I do try to use one I get an error (just keeps running) either when adding the email again or when deleting the email.
  
  I have one solution, which is to do a location.reload on the inline edit form, but that seems pretty rough. Any suggestions for another solution? And this is a going to be a generic extension, so anything that uses the random ID "#ui-id-17" does not work because the number could be different in many installs?
  
  **Tags:** custom-fields, contact-view, jquery, datatables
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2019-04-11. Score: 3 | Accepted answer
  
  I think you can set something in postProcess hook to reload the tabs possibly below code but not sure, it does work for us when we update something in a form we update the contribution tab using below code
  $form->ajaxResponse['updateTabs']['#tab_contribute'] = 1;
  
  HTH
  Pradeep
  
  > **Comments:**
  > **username_0**: I will try! I did try the $form->ajaxResponse with a jQuery ID but that did not work.  
  > **username_0**: I have found a #tab_custom_<custom_group_id>, will see if that does the trick. Thanks anyway @Pradeep  
  > **username_0**: And it works, thanks Pradeep!  
  
  ---
  
  ### Answer by username_0 on 2019-04-11. Score: 2
  
  So to enhance on the answer from Pradeep, here is what I have done:
  function myextension_civicrm_postProcess($formName, &$form) {
    if ($form instanceof CRM_Contact_Form_Inline_Email) {
      $form->ajaxResponse['updateTabs']['#tab_custom_32'] = 1;
    }
  }
  
  Where the 32 is the ID of my custom group, so I will obviously change that so it will retrieve the id in the specific environment.
  
  
  ---
  
  