From 3b0e1cf2894d0323828ee12a73e2afd43dc1b192 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Fri, 12 Jan 2018 12:42:30 +0100 Subject: [PATCH] Move inline event handlers to " : ""); } /** Get onclick confirmation diff --git a/adminer/indexes.inc.php b/adminer/indexes.inc.php index 1e0f4fba..da82ff21 100644 --- a/adminer/indexes.inc.php +++ b/adminer/indexes.inc.php @@ -120,9 +120,10 @@ foreach ($row["indexes"] as $index) { $i = 1; foreach ($index["columns"] as $key => $column) { echo "" . select_input( - " name='indexes[$j][columns][$i]' onchange=\"" . ($i == count($index["columns"]) ? "indexesAddColumn" : "indexesChangeColumn") . ".call(this, '" . h(js_escape($jush == "sql" ? "" : $_GET["indexes"] . "_")) . "');\" title='" . lang('Column') . "'", + " name='indexes[$j][columns][$i]' title='" . lang('Column') . "'", ($fields ? array_combine($fields, $fields) : $fields), - $column + $column, + "partial(" . ($i == count($index["columns"]) ? "indexesAddColumn" : "indexesChangeColumn") . ", '" . js_escape($jush == "sql" ? "" : $_GET["indexes"] . "_") . "')" ); echo ($jush == "sql" || $jush == "mssql" ? "" : ""); echo ($jush != "sql" ? checkbox("indexes[$j][descs][$i]", 1, $index["descs"][$key], lang('descending')) : ""); diff --git a/adminer/static/editing.js b/adminer/static/editing.js index 640f1837..3db7820f 100644 --- a/adminer/static/editing.js +++ b/adminer/static/editing.js @@ -458,7 +458,6 @@ function indexesChangeColumn(prefix) { */ function indexesAddColumn(prefix) { var field = this; - field.onchange = partial(indexesChangeColumn, prefix); var select = field.form[field.name.replace(/\].*/, '][type]')]; if (!select.selectedIndex) { while (selectValue(select) != "INDEX" && select.selectedIndex < select.options.length) { @@ -472,7 +471,11 @@ function indexesAddColumn(prefix) { select = selects[i]; select.name = select.name.replace(/\]\[\d+/, '$&1'); select.selectedIndex = 0; + if (!i) { + select.onchange = field.onchange; + } } + field.onchange = partial(indexesChangeColumn, prefix); var inputs = qsa('input', column); for (var i = 0; i < inputs.length; i++) { var input = inputs[i];