diff options
author | Javier Sánchez Parra <jsanchez@soleta.eu> | 2022-01-27 16:22:19 +0100 |
---|---|---|
committer | Javier Sánchez Parra <jsanchez@soleta.eu> | 2022-01-28 12:51:07 +0100 |
commit | a9e6340517611971bd83e6a470f6867b8905114c (patch) | |
tree | a428cb85801bd7ffe1863392f57cdb193bd54ad4 /ogcp/static/js/ogcp.js | |
parent | b7e4f47f5cca21a2f7f04b6bd6a87873b5cef853 (diff) |
Keep selected clients in the scopes tree
Otherwise, users have to click clients checkboxes every time they
switch view.
This commit adds one hook to capture when clients checkboxes changes.
When they are checked, ogcp (front-end) stores them in browser's local
storage. When they are unchecked, ogcp removes them from local storage.
Every time users load a page with the scopes tree, ogcp checks local
storage to restore selected clients.
Diffstat (limited to 'ogcp/static/js/ogcp.js')
-rw-r--r-- | ogcp/static/js/ogcp.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ogcp/static/js/ogcp.js b/ogcp/static/js/ogcp.js index c6dbdf0..ff15390 100644 --- a/ogcp/static/js/ogcp.js +++ b/ogcp/static/js/ogcp.js @@ -2,6 +2,23 @@ const Endpoint = '/scopes/status'; const Interval = 1000; let updateTimeoutId = null; +function keepSelectedClients() { + const checkboxes = $('input:checkbox[form|="scopesForm"]') + + checkboxes.on('change', function (event) { + if (this.checked) + localStorage.setItem(this.name, "check"); + else + localStorage.removeItem(this.name); + }); + + checkboxes.each(function () { + if (localStorage.getItem(this.name) == 'check') { + this.checked = true; + } + }); +} + function keepScopesTreeState() { const scopes_tree = $('#scopes .collapse') |