summaryrefslogtreecommitdiffstats
path: root/modules-available
diff options
context:
space:
mode:
authorSimon Rettberg2024-12-03 14:39:49 +0100
committerSimon Rettberg2024-12-03 14:39:49 +0100
commite42ac7135511eaa6bdb2044b557992f94644b68e (patch)
treef396e334f577cf1383f7c6c84c177d32f0c4e15f /modules-available
parent[statistics] Don't log error if ~suspend event is received twice (diff)
downloadslx-admin-e42ac7135511eaa6bdb2044b557992f94644b68e.tar.gz
slx-admin-e42ac7135511eaa6bdb2044b557992f94644b68e.tar.xz
slx-admin-e42ac7135511eaa6bdb2044b557992f94644b68e.zip
[statistics] Show history of previously displayed machine details in sidebar
Diffstat (limited to 'modules-available')
-rw-r--r--modules-available/statistics/clientscript.js34
-rw-r--r--modules-available/statistics/style.css4
-rw-r--r--modules-available/statistics/templates/clientlist.html9
-rw-r--r--modules-available/statistics/templates/machine-main.html12
-rw-r--r--modules-available/statistics/templates/summary.html6
5 files changed, 63 insertions, 2 deletions
diff --git a/modules-available/statistics/clientscript.js b/modules-available/statistics/clientscript.js
index 8ed2129c..6daa9c82 100644
--- a/modules-available/statistics/clientscript.js
+++ b/modules-available/statistics/clientscript.js
@@ -104,4 +104,38 @@ function makeUsagePie($parent) {
}
});
})();
+}
+
+(function() {
+ var $list = $('#recent-machines');
+ if ($list.length === 0)
+ return;
+ var raw = localStorage.getItem('recent-machines');
+ if (!raw)
+ return;
+ var data = JSON.parse(raw);
+ if (!data || !data.list || !data.list.length)
+ return;
+ for (var key in data.list) {
+ $list.append($('<div class="infobox">').append($('<a>').text(data.list[key].name).attr('href', '?do=statistics&uuid=' + data.list[key].uuid)));
+ }
+ $list.show();
+})();
+
+function addRecentMachine(uuid, name) {
+ var raw = localStorage.getItem('recent-machines');
+ var data = JSON.parse(raw);
+ if (!data || !data.list) {
+ data = {list: []};
+ }
+ var copy = [];
+ for (var key in data.list) {
+ if (data.list[key].uuid === uuid)
+ continue;
+ copy.push(data.list[key]);
+ if (copy.length === 9)
+ break;
+ }
+ copy.push({name: name, uuid: uuid});
+ localStorage.setItem('recent-machines', JSON.stringify({list: copy}));
} \ No newline at end of file
diff --git a/modules-available/statistics/style.css b/modules-available/statistics/style.css
index 7bd60b44..cb152370 100644
--- a/modules-available/statistics/style.css
+++ b/modules-available/statistics/style.css
@@ -109,8 +109,8 @@
}
.infobox {
- border: 1px solid #aaa;
- background: #eee;
+ border: 1px solid #ddd;
+ background: #f5f5f5;
border-radius: 3px;
margin: 3px auto;
padding: 0 2px;
diff --git a/modules-available/statistics/templates/clientlist.html b/modules-available/statistics/templates/clientlist.html
index fcb98774..7db7484c 100644
--- a/modules-available/statistics/templates/clientlist.html
+++ b/modules-available/statistics/templates/clientlist.html
@@ -1,8 +1,17 @@
<div class="slx-right">
+ {{#roomsvg}}
+ <h4>{{lang_roomLayout}}</h4>
+ {{/roomsvg}}
{{{roomsvg}}}
+ {{#sidebar.0}}
+ <h4>{{lang_sharedProperties}}</h4>
+ {{/sidebar.0}}
{{#sidebar}}
<div class="infobox">{{.}}</div>
{{/sidebar}}
+ <div id="recent-machines" class="collapse">
+ <h4>{{lang_machineHistory}}</h4>
+ </div>
</div>
<h2>{{lang_clientList}} ({{rowCount}})</h2>
diff --git a/modules-available/statistics/templates/machine-main.html b/modules-available/statistics/templates/machine-main.html
index fa9cc70f..64b8565c 100644
--- a/modules-available/statistics/templates/machine-main.html
+++ b/modules-available/statistics/templates/machine-main.html
@@ -9,6 +9,12 @@
<li class="active">{{hostname}} {{^hostname}} {{clientip}} {{/hostname}}</li>
</ol>
+<div class="slx-right">
+ <div id="recent-machines" class="collapse">
+ <h4>{{lang_machineHistory}}</h4>
+ </div>
+</div>
+
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
@@ -479,3 +485,9 @@
</div>
</div>
</div>
+
+<script>
+ document.addEventListener('DOMContentLoaded', function () {
+ addRecentMachine('{{machineuuid}}', '{{hostname}}{{^hostname}}{{clientip}}{{/hostname}}');
+ });
+</script> \ No newline at end of file
diff --git a/modules-available/statistics/templates/summary.html b/modules-available/statistics/templates/summary.html
index 751a9bed..d23a9ac4 100644
--- a/modules-available/statistics/templates/summary.html
+++ b/modules-available/statistics/templates/summary.html
@@ -1,3 +1,9 @@
+<div class="slx-right">
+ <div id="recent-machines" class="collapse">
+ <h4>{{lang_machineHistory}}</h4>
+ </div>
+</div>
+
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-body">