From 16f4d319ef04e192a8836b2486f7de9dd7808046 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Sun, 27 Sep 2015 23:15:19 -0400 Subject: [PATCH] CRM-16353 - For tables hidden by collapsed accordions, wait --- js/Common.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/js/Common.js b/js/Common.js index 405e6b483b..07d3e53b11 100644 --- a/js/Common.js +++ b/js/Common.js @@ -874,7 +874,19 @@ if (!CRM.vars) CRM.vars = {}; }) .find('input.select-row:checked').parents('tr').addClass('crm-row-selected'); $('table.crm-sortable', e.target).DataTable(); - $('table.crm-ajax-table', e.target).crmAjaxTable(); + $('table.crm-ajax-table', e.target).each(function() { + var + $table = $(this), + $accordion = $table.closest('.crm-accordion-wrapper.collapsed, .crm-collapsible.collapsed'); + // For tables hidden by collapsed accordions, wait. + if ($accordion.length) { + $accordion.one('crmAccordion:open', function() { + $table.crmAjaxTable(); + }); + } else { + $table.crmAjaxTable(); + } + }); if ($("input:radio[name=radio_ts]").size() == 1) { $("input:radio[name=radio_ts]").prop("checked", true); } @@ -1351,13 +1363,15 @@ if (!CRM.vars) CRM.vars = {}; }) // Handle accordions .on('click.crmAccordions', '.crm-accordion-header, .crm-collapsible .collapsible-title', function (e) { + var action = 'open'; if ($(this).parent().hasClass('collapsed')) { $(this).next().css('display', 'none').slideDown(200); } else { $(this).next().css('display', 'block').slideUp(200); + action = 'close'; } - $(this).parent().toggleClass('collapsed'); + $(this).parent().toggleClass('collapsed').trigger('crmAccordion:' + action); e.preventDefault(); }); @@ -1370,13 +1384,15 @@ if (!CRM.vars) CRM.vars = {}; */ $.fn.crmAccordionToggle = function (speed) { $(this).each(function () { + var action = 'open'; if ($(this).hasClass('collapsed')) { $('.crm-accordion-body', this).first().css('display', 'none').slideDown(speed); } else { $('.crm-accordion-body', this).first().css('display', 'block').slideUp(speed); + action = 'close'; } - $(this).toggleClass('collapsed'); + $(this).toggleClass('collapsed').trigger('crmAccordion:' + action); }); }; -- 2.25.1