From 83af24644771df574a37bc286f2b18265fb37f68 Mon Sep 17 00:00:00 2001 From: Marius Kittler Date: Mon, 12 Feb 2024 15:45:21 +0100 Subject: [PATCH] Adapt code after updating DataTables from 1.10.16 to 1.10.18 The `row()` function (used to select as single row from a table) now returns an empty list when a `td`-element is passed. This change passes the according `tr`-element instead which still works. See https://progress.opensuse.org/issues/153427 --- assets/javascripts/admintable.js | 10 +++++----- assets/javascripts/audit_log.js | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/assets/javascripts/admintable.js b/assets/javascripts/admintable.js index 37dc56d1aa98..cd2ec38ddd17 100644 --- a/assets/javascripts/admintable.js +++ b/assets/javascripts/admintable.js @@ -56,7 +56,7 @@ function setEditingAdminTableRow(tdElement, editing, submitted) { // get the data table row for the tdElement var adminTable = window.adminTable; var rowData = adminTable.rowData; - var row = adminTable.row(tdElement); + var row = adminTable.row(tdElement.parentElement); if (!row) { addFlash('danger', 'Internal error: invalid table row/cell specified'); return; @@ -80,7 +80,7 @@ function setEditingAdminTableRow(tdElement, editing, submitted) { } function refreshAdminTableRow(tdElement) { - window.adminTable.row(tdElement).invalidate().draw(); + window.adminTable.row(tdElement.parentElement).invalidate().draw(); } function handleAdminTableApiError(request, status, error) { @@ -114,7 +114,7 @@ function handleAdminTableSubmit(tdElement, response, id) { } var adminTable = window.adminTable; - var row = adminTable.row(tdElement); + var row = adminTable.row(tdElement.parentElement); var rowIndex = row.index(); if (rowIndex >= adminTable.rowData.length) { return; @@ -198,7 +198,7 @@ function getAdminTableRowData(trElement, dataToSubmit, internalRowData) { function submitAdminTableRow(tdElement, id) { var adminTable = window.adminTable; - var rowIndex = adminTable.row(tdElement).index(); + var rowIndex = adminTable.row(tdElement.parentElement).index(); if (rowIndex === undefined) { addFlash('danger', 'Internal error: invalid table cell specified'); return; @@ -253,7 +253,7 @@ function submitAdminTableRow(tdElement, id) { function removeAdminTableRow(tdElement) { var adminTable = window.adminTable; - var row = adminTable.row(tdElement); + var row = adminTable.row(tdElement.parentElement); var rowIndex = row.index(); if (rowIndex !== undefined && rowIndex < adminTable.rowData.length) { adminTable.rowData.splice(rowIndex, 1); diff --git a/assets/javascripts/audit_log.js b/assets/javascripts/audit_log.js index ccf27c796282..b8b488f3fd7e 100644 --- a/assets/javascripts/audit_log.js +++ b/assets/javascripts/audit_log.js @@ -134,7 +134,7 @@ function loadAuditLogTable() { var scheduledProductsTable; function dataForLink(link) { - const rowData = scheduledProductsTable.row(link.parentNode).data(); + const rowData = scheduledProductsTable.row(link.parentElement?.parentElement).data(); if (rowData === undefined) { console.error('unable to find row data for action link'); }