function loginDriver(driver) {
var trs = parentTag(driver, 'table').rows;
for (var i=1; i < trs.length - 1; i++) {
- trs[i].className = (/sqlite/.test(driver.value) ? 'hidden' : '');
+ alterClass(trs[i], 'hidden', /sqlite/.test(driver.value));
}
}
el.checked = false;
}
if (el.name == name + '[collation]') {
- el.className = (/(char|text|enum|set)$/.test(text) ? '' : 'hidden');
+ alterClass(el, 'hidden', !/(char|text|enum|set)$/.test(text));
}
if (el.name == name + '[unsigned]') {
- el.className = (/((^|[^o])int|float|double|decimal)$/.test(text) ? '' : 'hidden');
+ alterClass(el, 'hidden', !/((^|[^o])int|float|double|decimal)$/.test(text));
}
if (el.name == name + '[on_update]') {
- el.className = (text == 'timestamp' ? '' : 'hidden');
+ alterClass(el, 'hidden', text != 'timestamp');
}
if (el.name == name + '[on_delete]') {
- el.className = (/`/.test(text) ? '' : 'hidden');
+ alterClass(el, 'hidden', !/`/.test(text));
}
}
}
* @param HTMLInputElement
*/
function editingLengthChange(el) {
- el.className = el.className.replace(/( |^)required( |$)/, '$2');
- if (!el.value.length && /var(char|binary)$/.test(selectValue(el.parentNode.previousSibling.firstChild))) {
- el.className += ' required';
- }
+ alterClass(el, 'required', !el.value.length && /var(char|binary)$/.test(selectValue(el.parentNode.previousSibling.firstChild)));
}
/** Edit enum or set
function columnShow(checked, column) {
var trs = document.getElementById('edit-fields').getElementsByTagName('tr');
for (var i=0; i < trs.length; i++) {
- trs[i].getElementsByTagName('td')[column].className = (checked ? '' : 'hidden');
+ alterClass(trs[i].getElementsByTagName('td')[column], 'hidden', !checked);
}
}
*/
function partitionByChange(el) {
var partitionTable = /RANGE|LIST/.test(selectValue(el));
- el.form['partitions'].className = (partitionTable || !el.selectedIndex ? 'hidden' : '');
- document.getElementById('partition-table').className = (partitionTable ? '' : 'hidden');
+ alterClass(el.form['partitions'], 'hidden', partitionTable || !el.selectedIndex);
+ alterClass(document.getElementById('partition-table'), 'hidden', !partitionTable);
}
/** Add next partition row
+/** Add or remove CSS class
+* @param HTMLElement
+* @param string
+* @param [bool]
+*/
+function alterClass(el, className, enable) {
+ el.className = el.className.replace(RegExp('(^|\\s)' + className + '(\\s|$)'), '$2') + (enable ? ' ' + className : '');
+}
+
/** Toggle visibility
* @param string
* @return boolean
*/
function trCheck(el) {
var tr = parentTag(el, 'tr');
- tr.className = tr.className.replace(/(^|\s)checked(\s|$)/, '$2') + (el.checked ? ' checked' : '');
+ alterClass(tr, 'checked', el.checked);
if (el.form && el.form['all']) {
el.form['all'].onclick();
}
function inputFocus() {
var submit = findDefaultSubmit(this.form);
if (submit) {
- submit.className += ' default';
+ alterClass(submit, 'default', true);
}
}
function inputBlur() {
var submit = findDefaultSubmit(this.form);
if (submit) {
- submit.className = submit.className.replace(/ default( |$)/, '$1');
+ alterClass(submit, 'default');
}
}