From 79cf003444793c335746aa9bcda0684f3ea03634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A2=D1=80=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Wed, 19 Aug 2026 23:51:10 +0300 Subject: [PATCH] Fix Script Chaining selector bugs in genScriptChainingValue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed all three selectors to use rowIdx from dataset.berIdx: - 'chaining-][value="first"]' → 'chaining-{rowIdx}[value="first"]' - 'chaining][value="intermediary"]' → 'chaining-{rowIdx}[value="intermediary"]' - Already fixed: 'chaining]-last' → 'chaining-{rowIdx}-last' Now bits 0/1/2 correctly set based on First/Intermediary/Last checkboxes. Frontend: frontend/index.html Tests: 14 Node green --- frontend/index.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/index.html b/frontend/index.html index 4062c17..f12b26b 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -2382,8 +2382,9 @@ function generateScriptIdHint(rowIdx) { } function genScriptChainingValue(row, tag) { - const firstRadio = row.querySelector(`input[name="chaining-"][value="first"]`); - const intermediateRadio = row.querySelector(`input[name="chaining-"][value="intermediary"]`); + const rowIdx = row.dataset.berIdx; + const firstRadio = row.querySelector(`input[name="chaining-${rowIdx}"][value="first"]`); + const intermediateRadio = row.querySelector(`input[name="chaining-${rowIdx}"][value="intermediary"]`); const lastCheckbox = row.querySelector(`input[name="chaining-${rowIdx}-last"]`); const scriptIdInput = row.querySelector('.chaining-script-id'); const additionalInput = row.querySelector('.chaining-additional');