1
0
mirror of https://github.com/vrana/adminer.git synced 2025-08-17 20:01:25 +02:00

Highlight submit for syntax highlighted textareas

This commit is contained in:
Jakub Vrana
2013-07-23 16:33:07 -07:00
parent 0d074077bb
commit 07ba250939
3 changed files with 24 additions and 11 deletions

View File

@@ -30,7 +30,10 @@ function bodyLoad(version) {
var tags = document.getElementsByTagName('textarea'); var tags = document.getElementsByTagName('textarea');
for (var i = 0; i < tags.length; i++) { for (var i = 0; i < tags.length; i++) {
if (/(^|\s)jush-/.test(tags[i].className)) { if (/(^|\s)jush-/.test(tags[i].className)) {
jush.textarea(tags[i]); var pre = jush.textarea(tags[i]);
if (pre) {
setupSubmitHighlightInput(pre);
}
} }
} }
} }

View File

@@ -636,11 +636,18 @@ function setupSubmitHighlight(parent) {
for (var key in { input: 1, select: 1, textarea: 1 }) { for (var key in { input: 1, select: 1, textarea: 1 }) {
var inputs = parent.getElementsByTagName(key); var inputs = parent.getElementsByTagName(key);
for (var i = 0; i < inputs.length; i++) { for (var i = 0; i < inputs.length; i++) {
if (!/submit|image|file/.test(inputs[i].type)) { setupSubmitHighlightInput(inputs[i])
addEvent(inputs[i], 'focus', inputFocus);
addEvent(inputs[i], 'blur', inputBlur);
} }
} }
}
/** 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);
} }
} }
@@ -648,7 +655,7 @@ function setupSubmitHighlight(parent) {
* @this HTMLInputElement * @this HTMLInputElement
*/ */
function inputFocus() { function inputFocus() {
var submit = findDefaultSubmit(this.form); var submit = findDefaultSubmit(this);
if (submit) { if (submit) {
alterClass(submit, 'default', true); alterClass(submit, 'default', true);
} }
@@ -658,18 +665,21 @@ function inputFocus() {
* @this HTMLInputElement * @this HTMLInputElement
*/ */
function inputBlur() { function inputBlur() {
var submit = findDefaultSubmit(this.form); var submit = findDefaultSubmit(this);
if (submit) { if (submit) {
alterClass(submit, 'default'); alterClass(submit, 'default');
} }
} }
/** Find submit button used by Enter /** Find submit button used by Enter
* @param HTMLFormElement * @param HTMLElement
* @return HTMLInputElement * @return HTMLInputElement
*/ */
function findDefaultSubmit(form) { function findDefaultSubmit(el) {
var inputs = form.getElementsByTagName('input'); if (el.jushTextarea) {
el = el.jushTextarea;
}
var inputs = el.form.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) { for (var i = 0; i < inputs.length; i++) {
var input = inputs[i]; var input = inputs[i];
if (input.type == 'submit' && !input.style.zIndex) { if (input.type == 'submit' && !input.style.zIndex) {

2
externals/jush vendored