diff options
author | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-09-16 12:34:32 +0200 |
---|---|---|
committer | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-09-16 12:34:32 +0200 |
commit | 233156b19ab2b3d490a8bb450bbb22fdff4caaec (patch) | |
tree | 2dd00b9811e854fcbf07588dbf68d23bfb2b5d31 /ogcp/static/js/ogcp.js | |
parent | f85c61df993dddee233ead7b6c9e136d9d9fa742 (diff) |
js: consolidate sidebar collapse persistence logic
Consolidate all the sidebar collapse persistence logic.
Implement a single function to handle all the views.
Diffstat (limited to 'ogcp/static/js/ogcp.js')
-rw-r--r-- | ogcp/static/js/ogcp.js | 51 |
1 files changed, 5 insertions, 46 deletions
diff --git a/ogcp/static/js/ogcp.js b/ogcp/static/js/ogcp.js index 362aed1..658748f 100644 --- a/ogcp/static/js/ogcp.js +++ b/ogcp/static/js/ogcp.js @@ -152,60 +152,19 @@ function keepSelectedClients(context) { }); } -function keepImagesTreeState() { - const images_tree = $('#servers .collapse') - images_tree.on('hidden.bs.collapse', function (event) { - event.stopPropagation(); - localStorage.removeItem(this.id); - }); - images_tree.on('shown.bs.collapse', function (event) { - event.stopPropagation(); - localStorage.setItem(this.id, 'show'); - }); - - images_tree.each(function () { - if (localStorage.getItem(this.id) == 'show') { - $(this).collapse('show'); - } else { - $(this).siblings('a').addClass('collapsed'); - } - }); -} - -function keepReposTreeState() { - const repos_tree = $('#repos-list .collapse') - - repos_tree.on('hidden.bs.collapse', function (event) { - event.stopPropagation(); - localStorage.removeItem(this.id); - }); - repos_tree.on('shown.bs.collapse', function (event) { - event.stopPropagation(); - localStorage.setItem(this.id, 'show'); - }); - - repos_tree.each(function () { - if (localStorage.getItem(this.id) == 'show') { - $(this).collapse('show'); - } else { - $(this).siblings('a').addClass('collapsed'); - } - }); -} - -function keepScopesTreeState() { - const scopes_tree = $('#scopes .collapse') +function keepTreeState(selector) { + const tree = $(selector + ' .collapse'); - scopes_tree.on('hidden.bs.collapse', function (event) { + tree.on('hidden.bs.collapse', function (event) { event.stopPropagation(); localStorage.removeItem(this.id); }); - scopes_tree.on('shown.bs.collapse', function (event) { + tree.on('shown.bs.collapse', function (event) { event.stopPropagation(); localStorage.setItem(this.id, 'show'); }); - scopes_tree.each(function () { + tree.each(function () { if (localStorage.getItem(this.id) == 'show') { $(this).collapse('show'); } else { |