Skip to content

Commit

Permalink
Highlight submit for syntax highlighted textareas
Browse files Browse the repository at this point in the history
  • Loading branch information
vrana committed Jul 23, 2013
1 parent 0d07407 commit 07ba250
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 11 deletions.
5 changes: 4 additions & 1 deletion adminer/static/editing.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
}
}
Expand Down
28 changes: 19 additions & 9 deletions adminer/static/functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand All @@ -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) {
Expand Down
2 changes: 1 addition & 1 deletion externals/jush
Submodule jush updated from 06a7c7 to 12e642

0 comments on commit 07ba250

Please sign in to comment.