]> git.joonet.de Git - adminer.git/commitdiff
Clone onchange in cloneNode()
authorJakub Vrana <jakub@vrana.cz>
Fri, 12 Jan 2018 16:33:23 +0000 (17:33 +0100)
committerJakub Vrana <jakub@vrana.cz>
Fri, 12 Jan 2018 16:33:23 +0000 (17:33 +0100)
adminer/static/editing.js
adminer/static/functions.js

index 6ecce30b4f1dc10952de8d7546b88667910904f2..98108f5004f72db85ade992190cc64abcadaa286 100644 (file)
@@ -392,7 +392,6 @@ function partitionByChange() {
 function partitionNameChange() {
        var row = cloneNode(parentTag(this, 'tr'));
        row.firstChild.firstChild.value = '';
-       row.firstChild.firstChild.onchange = this.onchange;
        parentTag(this, 'table').appendChild(row);
        this.onchange = function () {};
 }
@@ -473,9 +472,6 @@ 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);
index 566ee77082fe87b8670436591652bc832fe40f09..f3168c850fd9bf8203cb94040f6917510714cbbc 100644 (file)
@@ -857,6 +857,14 @@ function focus(el) {
 */
 function cloneNode(el) {
        var el2 = el.cloneNode(true);
+       var selector = 'input, select';
+       var origEls = qsa(selector, el);
+       var cloneEls = qsa(selector, el2);
+       for (var i=0; i < origEls.length; i++) {
+               if (origEls[i].onchange) {
+                       cloneEls[i].onchange = origEls[i].onchange;
+               }
+       }
        setupSubmitHighlight(el2);
        return el2;
 }