From c8cbc470e84e059c67bfef1407eed0c30b2ceb81 Mon Sep 17 00:00:00 2001 From: Steve Boyd Date: Fri, 21 Jun 2024 17:19:34 +1200 Subject: [PATCH] FIX Prevent popping open cms-menu when using nested gridfield --- javascript/GridFieldExtensions.js | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/javascript/GridFieldExtensions.js b/javascript/GridFieldExtensions.js index 3500cc9..b9326b3 100644 --- a/javascript/GridFieldExtensions.js +++ b/javascript/GridFieldExtensions.js @@ -550,34 +550,30 @@ data[parts[0]] = parts[1]; } } - $.ajax({ - type: 'POST', - url: $(this).attr('data-url'), - data: data, + fetch($(this).attr('data-url'), { + method: 'POST', + body: JSON.stringify(data), headers: { 'X-Pjax': pjaxTarget - }, - success: function(data) { + } + }) + .then(response => response.json()) + .then(data => { if (data && data[pjaxTarget]) { gridField.find(`[data-pjax-fragment="${pjaxTarget}"]`).replaceWith(data[pjaxTarget]); } - } - }); + }); } else { $(this).closest('tr').next('.nested-gridfield').show(); - $.ajax({ - url: $(this).attr('data-toggle')+'1' - }); + fetch($(this).attr('data-toggle')+'1'); } $(this).removeClass('font-icon-right-dir'); $(this).addClass('font-icon-down-dir'); $(this).attr('aria-expanded', 'true'); } else { - $.ajax({ - url: $(this).attr('data-toggle')+'0' - }); + fetch($(this).attr('data-toggle')+'0'); $(this).closest('tr').next('.nested-gridfield').hide(); $(this).removeClass('font-icon-down-dir'); $(this).addClass('font-icon-right-dir');