diff --git a/datasette/templates/_debug_common_functions.html b/datasette/templates/_debug_common_functions.html index 6dd5a9d9..d988a2f3 100644 --- a/datasette/templates/_debug_common_functions.html +++ b/datasette/templates/_debug_common_functions.html @@ -40,26 +40,6 @@ function populateFormFromURL() { return params; } -// Update URL with current form values -function updateURL(formId, page = 1) { - const form = document.getElementById(formId); - const formData = new FormData(form); - const params = new URLSearchParams(); - - for (const [key, value] of formData.entries()) { - if (value) { - params.append(key, value); - } - } - - if (page > 1) { - params.set('page', page.toString()); - } - - const newURL = window.location.pathname + (params.toString() ? '?' + params.toString() : ''); - window.history.pushState({}, '', newURL); -} - // HTML escape function function escapeHtml(text) { if (text === null || text === undefined) return ''; diff --git a/datasette/templates/debug_allowed.html b/datasette/templates/debug_allowed.html index e3dc5250..add3154a 100644 --- a/datasette/templates/debug_allowed.html +++ b/datasette/templates/debug_allowed.html @@ -23,7 +23,7 @@ {% endif %}
-
+
@@ -159,21 +159,6 @@ async function performCheck() { } } -form.addEventListener('submit', async (ev) => { - ev.preventDefault(); - updateURL('check-form'); - await performCheck(); -}); - -// Handle browser back/forward -window.addEventListener('popstate', () => { - const params = populateFormFromURL(); - const action = params.get('action'); - if (action) { - performCheck(); - } -}); - // Populate form on initial load (function() { const params = populateFormFromURL(); diff --git a/datasette/templates/debug_permissions_playground.html b/datasette/templates/debug_permissions_playground.html index 9b54df1f..f040f847 100644 --- a/datasette/templates/debug_permissions_playground.html +++ b/datasette/templates/debug_permissions_playground.html @@ -90,19 +90,13 @@ var permissions = Object.fromEntries(rawPerms.map(p => [p.name, p])); var permissionSelect = document.getElementById('permission'); var resource1 = document.getElementById('resource_1'); var resource2 = document.getElementById('resource_2'); +var resource1Section = resource1.closest('.form-section'); +var resource2Section = resource2.closest('.form-section'); function updateResourceVisibility() { var permission = permissionSelect.value; var {takes_parent, takes_child} = permissions[permission]; - if (takes_parent) { - resource1.closest('p').style.display = 'block'; - } else { - resource1.closest('p').style.display = 'none'; - } - if (takes_child) { - resource2.closest('p').style.display = 'block'; - } else { - resource2.closest('p').style.display = 'none'; - } + resource1Section.style.display = takes_parent ? 'block' : 'none'; + resource2Section.style.display = takes_child ? 'block' : 'none'; } permissionSelect.addEventListener('change', updateResourceVisibility); updateResourceVisibility(); @@ -113,14 +107,21 @@ var debugResult = document.getElementById('debugResult'); debugPost.addEventListener('submit', function(ev) { ev.preventDefault(); var formData = new FormData(debugPost); - console.log(formData); fetch(debugPost.action, { method: 'POST', body: new URLSearchParams(formData), + headers: { + 'Accept': 'application/json' + } }).then(function(response) { + if (!response.ok) { + throw new Error('Request failed with status ' + response.status); + } return response.json(); }).then(function(data) { debugResult.innerText = JSON.stringify(data, null, 4); + }).catch(function(error) { + debugResult.innerText = JSON.stringify({ error: error.message }, null, 4); }); }); diff --git a/datasette/templates/debug_rules.html b/datasette/templates/debug_rules.html index 82f35444..d1dd5562 100644 --- a/datasette/templates/debug_rules.html +++ b/datasette/templates/debug_rules.html @@ -23,7 +23,7 @@ {% endif %}
- +