How can I refresh a custom data tab in the contact summary?












2















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?. 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?










share|improve this question



























    2















    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?. 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?










    share|improve this question

























      2












      2








      2








      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?. 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?










      share|improve this question














      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?. 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?







      custom-fields contact-view jquery datatables






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 2 days ago









      ErikH - CiviCooPErikH - CiviCooP

      9,159620




      9,159620






















          2 Answers
          2






          active

          oldest

          votes


















          3














          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






          share|improve this answer
























          • I will try! I did try the $form->ajaxResponse with a jQuery ID but that did not work.

            – ErikH - CiviCooP
            2 days ago











          • I have found a #tab_custom_<custom_group_id>, will see if that does the trick. Thanks anyway @Pradeep

            – ErikH - CiviCooP
            2 days ago











          • And it works, thanks Pradeep!

            – ErikH - CiviCooP
            2 days ago



















          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.






          share|improve this answer
























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "605"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            noCode: true, onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcivicrm.stackexchange.com%2fquestions%2f29243%2fhow-can-i-refresh-a-custom-data-tab-in-the-contact-summary%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            3














            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






            share|improve this answer
























            • I will try! I did try the $form->ajaxResponse with a jQuery ID but that did not work.

              – ErikH - CiviCooP
              2 days ago











            • I have found a #tab_custom_<custom_group_id>, will see if that does the trick. Thanks anyway @Pradeep

              – ErikH - CiviCooP
              2 days ago











            • And it works, thanks Pradeep!

              – ErikH - CiviCooP
              2 days ago
















            3














            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






            share|improve this answer
























            • I will try! I did try the $form->ajaxResponse with a jQuery ID but that did not work.

              – ErikH - CiviCooP
              2 days ago











            • I have found a #tab_custom_<custom_group_id>, will see if that does the trick. Thanks anyway @Pradeep

              – ErikH - CiviCooP
              2 days ago











            • And it works, thanks Pradeep!

              – ErikH - CiviCooP
              2 days ago














            3












            3








            3







            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






            share|improve this 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







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 2 days ago









            Pradeep NayakPradeep Nayak

            11.8k1622




            11.8k1622













            • I will try! I did try the $form->ajaxResponse with a jQuery ID but that did not work.

              – ErikH - CiviCooP
              2 days ago











            • I have found a #tab_custom_<custom_group_id>, will see if that does the trick. Thanks anyway @Pradeep

              – ErikH - CiviCooP
              2 days ago











            • And it works, thanks Pradeep!

              – ErikH - CiviCooP
              2 days ago



















            • I will try! I did try the $form->ajaxResponse with a jQuery ID but that did not work.

              – ErikH - CiviCooP
              2 days ago











            • I have found a #tab_custom_<custom_group_id>, will see if that does the trick. Thanks anyway @Pradeep

              – ErikH - CiviCooP
              2 days ago











            • And it works, thanks Pradeep!

              – ErikH - CiviCooP
              2 days ago

















            I will try! I did try the $form->ajaxResponse with a jQuery ID but that did not work.

            – ErikH - CiviCooP
            2 days ago





            I will try! I did try the $form->ajaxResponse with a jQuery ID but that did not work.

            – ErikH - CiviCooP
            2 days ago













            I have found a #tab_custom_<custom_group_id>, will see if that does the trick. Thanks anyway @Pradeep

            – ErikH - CiviCooP
            2 days ago





            I have found a #tab_custom_<custom_group_id>, will see if that does the trick. Thanks anyway @Pradeep

            – ErikH - CiviCooP
            2 days ago













            And it works, thanks Pradeep!

            – ErikH - CiviCooP
            2 days ago





            And it works, thanks Pradeep!

            – ErikH - CiviCooP
            2 days ago











            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.






            share|improve this answer




























              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.






              share|improve this answer


























                2












                2








                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.






                share|improve this answer













                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.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 2 days ago









                ErikH - CiviCooPErikH - CiviCooP

                9,159620




                9,159620






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to CiviCRM Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcivicrm.stackexchange.com%2fquestions%2f29243%2fhow-can-i-refresh-a-custom-data-tab-in-the-contact-summary%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How did Captain America manage to do this?

                    迪纳利

                    南乌拉尔铁路局