]> git.joonet.de Git - adminer.git/commitdiff
AdminerTablesFilter: Persist filter value in a tab
authorJonathan Vollebregt <jnvsor@gmail.com>
Tue, 31 May 2016 22:18:25 +0000 (00:18 +0200)
committerJakub Vrana <jakub@vrana.cz>
Sat, 18 Feb 2017 17:13:05 +0000 (18:13 +0100)
plugins/tables-filter.php

index f625235fe2a44ed6d34da4560f4b82c9b30f61d6..63b55923d810a59f55f2823613c97fbe222e8eca 100644 (file)
@@ -8,7 +8,7 @@
 */
 class AdminerTablesFilter {
        function tablesPrint($tables) { ?>
-<p class="jsonly"><input id="filter-field" onkeyup="tablesFilterInput();">
+<p class="jsonly"><input id="filter-field" onkeyup="tablesFilterInput();" autocomplete="off">
 <p id='tables' onmouseover='menuOver(this, event);' onmouseout='menuOut(this);'>
 <?php
 foreach ($tables as $table => $type) {
@@ -30,6 +30,9 @@ function tablesFilter(){
                var reg = (value + '').replace(/([\\\.\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, '\\$1');
                reg = new RegExp('('+ reg + ')', 'gi');
        }
+       if (sessionStorage) {
+               sessionStorage.setItem('adminer_tables_filter', value);
+       }
        var tables = document.getElementById('tables').getElementsByTagName('span');
        for (var i = 0; i < tables.length; i++) {
                var a = tables[i].getElementsByTagName('a')[1];
@@ -49,8 +52,14 @@ function tablesFilterInput() {
        tablesFilterTimeout = window.setTimeout(tablesFilter, 200);
 }
 
-if (document.getElementById('filter-field').value){
-    tablesFilter();
+if (sessionStorage){
+       var db = document.getElementById('dbs').getElementsByTagName('select')[0];
+       db = db.options[db.selectedIndex].text;
+       if (db == sessionStorage.getItem('adminer_tables_filter_db') && sessionStorage.getItem('adminer_tables_filter')){
+               document.getElementById('filter-field').value = sessionStorage.getItem('adminer_tables_filter');
+               tablesFilter();
+       }
+       sessionStorage.setItem('adminer_tables_filter_db', db);
 }
 </script>
 <?php