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

Replace getElementById by shortcut for querySelector (requires IE8)

This commit is contained in:
Jakub Vrana
2018-01-11 11:55:17 +01:00
parent 67f6aea77f
commit 9cb281868f
13 changed files with 43 additions and 35 deletions

View File

@@ -338,7 +338,7 @@ function editingLengthChange(el) {
function editingLengthFocus(field) {
var td = field.parentNode;
if (/(enum|set)$/.test(selectValue(td.previousSibling.firstChild))) {
var edit = document.getElementById('enum-edit');
var edit = qs('#enum-edit');
var val = field.value;
edit.value = (/^'.+'$/.test(val) ? val.substr(1, val.length - 2).replace(/','/g, "\n").replace(/''/g, "'") : val); //! doesn't handle 'a'',''b' correctly
td.appendChild(edit);
@@ -364,7 +364,7 @@ function editingLengthBlur(edit) {
* @param number
*/
function columnShow(checked, column) {
var trs = document.getElementById('edit-fields').getElementsByTagName('tr');
var trs = qs('#edit-fields').getElementsByTagName('tr');
for (var i=0; i < trs.length; i++) {
alterClass(trs[i].getElementsByTagName('td')[column], 'hidden', !checked);
}
@@ -374,7 +374,7 @@ function columnShow(checked, column) {
*/
function editingHideDefaults() {
if (innerWidth < document.documentElement.scrollWidth) {
document.getElementById('form')['defaults'].checked = false;
qs('#form')['defaults'].checked = false;
columnShow(false, 5);
}
}
@@ -385,7 +385,7 @@ function editingHideDefaults() {
function partitionByChange(el) {
var partitionTable = /RANGE|LIST/.test(selectValue(el));
alterClass(el.form['partitions'], 'hidden', partitionTable || !el.selectedIndex);
alterClass(document.getElementById('partition-table'), 'hidden', !partitionTable);
alterClass(qs('#partition-table'), 'hidden', !partitionTable);
helpClose();
}
@@ -533,7 +533,7 @@ function schemaMousemove(ev) {
var lineSet = { };
for (var i=0; i < divs.length; i++) {
if (divs[i].className == 'references') {
var div2 = document.getElementById((/^refs/.test(divs[i].id) ? 'refd' : 'refs') + divs[i].id.substr(4));
var div2 = qs('#' + (/^refs/.test(divs[i].id) ? 'refd' : 'refs') + divs[i].id.substr(4));
var ref = (tablePos[divs[i].title] ? tablePos[divs[i].title] : [ div2.parentNode.offsetTop / em, 0 ]);
var left1 = -1;
var id = divs[i].id.replace(/^ref.(.+)-.+/, '$1');
@@ -546,7 +546,7 @@ function schemaMousemove(ev) {
div2.getElementsByTagName('div')[0].style.width = -left2 + 'em';
}
if (!lineSet[id]) {
var line = document.getElementById(divs[i].id.replace(/^....(.+)-.+$/, 'refl$1'));
var line = qs('#' + divs[i].id.replace(/^....(.+)-.+$/, 'refl$1'));
var top1 = top + divs[i].offsetTop / em;
var top2 = top + div2.offsetTop / em;
if (divs[i].parentNode != div2.parentNode) {
@@ -578,7 +578,7 @@ function schemaMouseup(ev, db) {
s += '_' + key + ':' + Math.round(tablePos[key][0] * 10000) / 10000 + 'x' + Math.round(tablePos[key][1] * 10000) / 10000;
}
s = encodeURIComponent(s.substr(1));
var link = document.getElementById('schema-link');
var link = qs('#schema-link');
link.href = link.href.replace(/[^=]+$/, '') + s;
cookie('adminer_schema-' + db + '=' + s, 30); //! special chars in db
}
@@ -600,7 +600,7 @@ function helpMouseover(el, event, text, side) {
helpClose();
} else if (window.jush && (!helpIgnore || el != target)) {
helpOpen = 1;
var help = document.getElementById('help');
var help = qs('#help');
help.innerHTML = text;
jush.highlight_tag([ help ]);
alterClass(help, 'hidden');
@@ -628,5 +628,5 @@ function helpMouseout(el, event) {
/** Close help
*/
function helpClose() {
alterClass(document.getElementById('help'), 'hidden', true);
alterClass(qs('#help'), 'hidden', true);
}

View File

@@ -1,4 +1,12 @@
/** Get first element by selector
* @param string
* @return HTMLElement
*/
function qs(selector) {
return document.querySelector(selector);
}
/** Add or remove CSS class
* @param HTMLElement
* @param string
@@ -15,7 +23,7 @@ function alterClass(el, className, enable) {
* @return boolean
*/
function toggle(id) {
var el = document.getElementById(id);
var el = qs('#' + id);
el.className = (el.className == 'hidden' ? '' : 'hidden');
return true;
}
@@ -54,7 +62,7 @@ function verifyVersion(current) {
}
}, false);
}
document.getElementById('version').appendChild(iframe);
qs('#version').appendChild(iframe);
}
/** Get value of select
@@ -108,7 +116,7 @@ function trCheck(el) {
*/
function selectCount(id, count) {
setHtml(id, (count === '' ? '' : '(' + (count + '').replace(/\B(?=(\d{3})+$)/g, ' ') + ')'));
var inputs = document.getElementById(id).parentNode.parentNode.getElementsByTagName('input');
var inputs = qs('#' + id).parentNode.parentNode.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
if (input.type == 'submit') {
@@ -149,7 +157,7 @@ function tableCheck() {
* @param string
*/
function formUncheck(id) {
var el = document.getElementById(id);
var el = qs('#' + id);
el.checked = false;
trCheck(el);
}
@@ -237,7 +245,7 @@ function checkboxClick(event, el) {
* @param string undefined to set parentNode to &nbsp;
*/
function setHtml(id, html) {
var el = document.getElementById(id);
var el = qs('#' + id);
if (el) {
if (html == null) {
el.parentNode.innerHTML = '&nbsp;';
@@ -361,7 +369,7 @@ function columnMouse(el, className) {
* @param string
*/
function selectSearch(name) {
var el = document.getElementById('fieldset-search');
var el = qs('#fieldset-search');
el.className = '';
var divs = el.getElementsByTagName('div');
for (var i=0; i < divs.length; i++) {
@@ -514,7 +522,7 @@ function fieldChange(field) {
function ajax(url, callback, data, message) {
var request = (window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : false));
if (request) {
var ajaxStatus = document.getElementById('ajaxstatus');
var ajaxStatus = qs('#ajaxstatus');
if (message) {
ajaxStatus.innerHTML = '<div class="message">' + message + '</div>';
ajaxStatus.className = ajaxStatus.className.replace(/ hidden/g, '');
@@ -584,7 +592,7 @@ function ajaxForm(form, message, button) {
return ajax(url, function (request) {
setHtml('ajaxstatus', request.responseText);
if (window.jush) {
jush.highlight_tag(document.getElementById('ajaxstatus').getElementsByTagName('code'), 0);
jush.highlight_tag(qs('#ajaxstatus').getElementsByTagName('code'), 0);
}
}, data, message);
}
@@ -678,7 +686,7 @@ function selectLoadMore(a, limit, loading) {
return ajax(href, function (request) {
var tbody = document.createElement('tbody');
tbody.innerHTML = request.responseText;
document.getElementById('table').appendChild(tbody);
qs('#table').appendChild(tbody);
if (tbody.children.length < limit) {
a.parentNode.removeChild(a);
} else {