]> git.joonet.de Git - adminer.git/commitdiff
Highlight submit for syntax highlighted textareas
authorJakub Vrana <jakub@vrana.cz>
Tue, 23 Jul 2013 23:33:07 +0000 (16:33 -0700)
committerJakub Vrana <jakub@vrana.cz>
Tue, 23 Jul 2013 23:33:07 +0000 (16:33 -0700)
adminer/static/editing.js
adminer/static/functions.js
externals/jush

index 5d6c028d67c05febcc6164e8b69cf8b405ccbed3..96b398469218ed4f7d7e12c79223c46af87e4761 100644 (file)
@@ -30,7 +30,10 @@ function bodyLoad(version) {
                                var tags = document.getElementsByTagName('textarea');
                                for (var i = 0; i < tags.length; i++) {
                                        if (/(^|\s)jush-/.test(tags[i].className)) {
-                                               jush.textarea(tags[i]);
+                                               var pre = jush.textarea(tags[i]);
+                                               if (pre) {
+                                                       setupSubmitHighlightInput(pre);
+                                               }
                                        }
                                }
                        }
index 824ba929b40f8481699179dc8edf62c96eebea2a..506ba0540cf4d80c6f7bb689137fa472dbf84e0f 100644 (file)
@@ -636,19 +636,26 @@ function setupSubmitHighlight(parent) {
        for (var key in { input: 1, select: 1, textarea: 1 }) {
                var inputs = parent.getElementsByTagName(key);
                for (var i = 0; i < inputs.length; i++) {
-                       if (!/submit|image|file/.test(inputs[i].type)) {
-                               addEvent(inputs[i], 'focus', inputFocus);
-                               addEvent(inputs[i], 'blur', inputBlur);
-                       }
+                       setupSubmitHighlightInput(inputs[i])
                }
        }
 }
 
+/** Setup submit highlighting for single element
+* @param HTMLElement
+*/
+function setupSubmitHighlightInput(input) {
+       if (!/submit|image|file/.test(input.type)) {
+               addEvent(input, 'focus', inputFocus);
+               addEvent(input, 'blur', inputBlur);
+       }
+}
+
 /** Highlight default submit button
 * @this HTMLInputElement
 */
 function inputFocus() {
-       var submit = findDefaultSubmit(this.form);
+       var submit = findDefaultSubmit(this);
        if (submit) {
                alterClass(submit, 'default', true);
        }
@@ -658,18 +665,21 @@ function inputFocus() {
 * @this HTMLInputElement
 */
 function inputBlur() {
-       var submit = findDefaultSubmit(this.form);
+       var submit = findDefaultSubmit(this);
        if (submit) {
                alterClass(submit, 'default');
        }
 }
 
 /** Find submit button used by Enter
-* @param HTMLFormElement
+* @param HTMLElement
 * @return HTMLInputElement
 */
-function findDefaultSubmit(form) {
-       var inputs = form.getElementsByTagName('input');
+function findDefaultSubmit(el) {
+       if (el.jushTextarea) {
+               el = el.jushTextarea;
+       }
+       var inputs = el.form.getElementsByTagName('input');
        for (var i = 0; i < inputs.length; i++) {
                var input = inputs[i];
                if (input.type == 'submit' && !input.style.zIndex) {
index 06a7c7d73e2d031a493d1f07d37733aba94399f2..12e6421d5a02ba8c3e2db2b4080187053b9a4655 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 06a7c7d73e2d031a493d1f07d37733aba94399f2
+Subproject commit 12e6421d5a02ba8c3e2db2b4080187053b9a4655