NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Adminer - favorites tables // @author Ladislav "knedle" Sevcuj // @namespace https://openuserjs.org/scripts/knedle/Adminer_-_favorites_tables // @updateURL https://openuserjs.org/meta/knedle/Adminer_-_favorites_tables.meta.js // @version 1.3 // @description Table on left list can be starred. Starred tabs are pinned up. + filter tables list. // @copyright 2014, @3knedle // @require http://code.jquery.com/jquery-latest.js // @include * // ==/UserScript== $(document).ready(function(){ // star ico var $starIco = $('<i class="fa fa-star ajax add" style="margin-right: 5px; cursor: pointer;" title="pin up">'); $starIco.text('[*]'); // delete ico var $deleteIco = $('<i class="fa fa-times ajax remove" style="margin-right: 5px; cursor: pointer;" title="remove pin up">'); $deleteIco.text('[x]'); // check adminer if ($('#h1').length && $('#h1').text() == 'Adminer' && ( $('#h1').attr('href') == 'http://www.adminer.org/' || $('#h1').attr('href') == 'https://www.adminer.org/' ) ) { // check list of tables if ($('#tables').length) { // create area for stared-tables var $staredTables = $('<p id="stared-tables" />'); // create area for search box var $searchBox = $('<p id="search-box" />'); // add new areas $('#tables').before($staredTables); $('#tables').before($searchBox); $('br', $('#tables')).each(function() { $tagAtoStructure = $(this).prev(); $tagAtoStructure.before($starIco.clone().attr('data-id', $tagAtoStructure.text())); }); var staredTables = []; if (localStorage.staredTables) { staredTables = JSON.parse(localStorage.staredTables); } if (staredTables.length > 0) { // console.log(staredTables.length); $div = $('<div>'); var existujiTab; for (i = 0; i < staredTables.length; ++i) { $tagAtoselect = $('[href$="='+staredTables[i]+'"]', $('#tables')); $divTmp = $div.clone(); $divTmp.attr('id','table-'+ staredTables[i]); $i = 0; $tagAtoselect.each(function () { $divTmp.append($(this).clone()); $divTmp.append(' '); if ($i === 0) { $divTmp.append($deleteIco.clone().attr('data-id', staredTables[i])); } $i = $i + 1; }); $staredTables.append($divTmp); } } // search box content $searchBox.append($('<input type="text" id="search-input" style="width:150px" />')); $searchBox.append($('<input type="button" id="filter-button" value="Filter" />')); $searchBox.append($('<input type="button" id="all-button" value="All" />')); } $('.ajax.add').click(function(){ $tagAtoStructure = $(this).next(); if ($('#table-'+ $tagAtoStructure.text(), $staredTables).length) { } else { if ($('#'+'table-'+ $tagAtoStructure.text(), $staredTables).length === 0) { $div = $('<div>'); $tagAtoselect = $(this).prev(); $divTmp = $div.clone(); $divTmp.attr('id','table-'+ $tagAtoStructure.text()); $divTmp.append($tagAtoselect.clone()); $divTmp.append(' '); $divTmp.append($deleteIco.clone().attr('data-id', $tagAtoStructure.text())); $divTmp.append($tagAtoStructure.clone()); $staredTables.append($divTmp); staredTables[(staredTables.length)] = $tagAtoStructure.text(); // console.log(staredTables); localStorage.staredTables = JSON.stringify(staredTables); // console.log(localStorage.staredTables); } } }); $('body').on('click', '.ajax.remove', function() { var newStaredTables = []; var i; for (i = 0; i < staredTables.length; ++i) { // do something with `substr[i]` if (staredTables[i] == $(this).attr('data-id')) { // console.log('preskakuji index '+i) } else { newStaredTables[newStaredTables.length] = staredTables[i]; } } $(this).closest('div').remove(); staredTables = newStaredTables; localStorage.staredTables = JSON.stringify(staredTables); }); $('body').on('keypress', '#search-input', function (e) { if(e.which === 13){ $('#filter-button').click(); } }); $('body').on('click', '#filter-button', function() { $searchInputVal = $('#search-input').val(); $aTags = $('a.select', $("#tables")); $aTags.each(function() { Href = $(this).attr('href'); IndexOfSelect = Href.indexOf("select="); IndexOfSelectPlus = IndexOfSelect + 6; if (Href.indexOf($searchInputVal, IndexOfSelectPlus) >= 0) { $(this).show(); // select $(this).next().show(); // ico $(this).next().next().show(); // structure $(this).next().next().next().show(); // br } else { $(this).hide(); // select $(this).next().hide(); // ico $(this).next().next().hide(); // structure $(this).next().next().next().hide(); // br } }); }); $('body').on('click', '#all-button', function() { $aTags = $('a.select', $("#tables")); $aTags.each(function() { $(this).show(); // select $(this).next().show(); // ico $(this).next().next().show(); // structure $(this).next().next().next().show(); // br }); }); } // if adminer }); // document.ready