summaryrefslogtreecommitdiffstats
path: root/ogcp/static
diff options
context:
space:
mode:
authorAlejandro Sirgo Rica <asirgo@soleta.eu>2024-09-16 12:34:32 +0200
committerAlejandro Sirgo Rica <asirgo@soleta.eu>2024-09-16 12:34:32 +0200
commit233156b19ab2b3d490a8bb450bbb22fdff4caaec (patch)
tree2dd00b9811e854fcbf07588dbf68d23bfb2b5d31 /ogcp/static
parentf85c61df993dddee233ead7b6c9e136d9d9fa742 (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')
-rw-r--r--ogcp/static/js/ogcp.js51
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 {