summaryrefslogtreecommitdiffstats
path: root/ogcp/static
diff options
context:
space:
mode:
authorJavier Sánchez Parra <jsanchez@soleta.eu>2022-01-27 16:22:19 +0100
committerJavier Sánchez Parra <jsanchez@soleta.eu>2022-01-28 12:51:07 +0100
commita9e6340517611971bd83e6a470f6867b8905114c (patch)
treea428cb85801bd7ffe1863392f57cdb193bd54ad4 /ogcp/static
parentb7e4f47f5cca21a2f7f04b6bd6a87873b5cef853 (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')
-rw-r--r--ogcp/static/js/ogcp.js17
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')