]> git.joonet.de Git - adminer.git/commitdiff
Use alterClass()
authorJakub Vrana <jakub@vrana.cz>
Thu, 11 Jul 2013 01:24:36 +0000 (18:24 -0700)
committerJakub Vrana <jakub@vrana.cz>
Thu, 11 Jul 2013 18:20:04 +0000 (11:20 -0700)
adminer/static/editing.js
adminer/static/functions.js

index a7c93f47b430eeff438fdc908dc970557b823cb8..8ad422b30976066df763456fcc51724ac5ab4cee 100644 (file)
@@ -69,7 +69,7 @@ function typePassword(el, disable) {
 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));
        }
 }
 
@@ -368,16 +368,16 @@ function editingTypeChange(type) {
                        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));
                }
        }
 }
@@ -386,10 +386,7 @@ function editingTypeChange(type) {
 * @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
@@ -426,7 +423,7 @@ function editingLengthBlur(edit) {
 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);
        }
 }
 
@@ -444,8 +441,8 @@ function editingHideDefaults() {
 */
 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
index cc761780ff60fff44f118e59db0e6c517305d11d..44a2520adabb456cf9b32785a34765db45bf612f 100644 (file)
@@ -1,4 +1,13 @@
 
+/** 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
@@ -59,7 +68,7 @@ function parentTag(el, tag) {
 */
 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();
        }
@@ -613,7 +622,7 @@ function setupSubmitHighlight(parent) {
 function inputFocus() {
        var submit = findDefaultSubmit(this.form);
        if (submit) {
-               submit.className += ' default';
+               alterClass(submit, 'default', true);
        }
 }
 
@@ -623,7 +632,7 @@ function inputFocus() {
 function inputBlur() {
        var submit = findDefaultSubmit(this.form);
        if (submit) {
-               submit.className = submit.className.replace(/ default( |$)/, '$1');
+               alterClass(submit, 'default');
        }
 }