summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2019-04-29 10:15:22 +0200
committerSimon Rettberg2019-04-29 10:15:22 +0200
commita51482f2e4968364202e6be4e961e0102e78cddb (patch)
treeaa1e0ec58c6021d3b7d8d49e475df1ce65295bfd
parent[statistics] Add captions to RAM/swap bar (diff)
downloadslx-admin-a51482f2e4968364202e6be4e961e0102e78cddb.tar.gz
slx-admin-a51482f2e4968364202e6be4e961e0102e78cddb.tar.xz
slx-admin-a51482f2e4968364202e6be4e961e0102e78cddb.zip
[statistics] Copy-friendly list of uuid/mac/ip/hostname
-rw-r--r--modules-available/statistics/templates/clientlist.html64
1 files changed, 60 insertions, 4 deletions
diff --git a/modules-available/statistics/templates/clientlist.html b/modules-available/statistics/templates/clientlist.html
index 2b1f3f2b..8e0a24f3 100644
--- a/modules-available/statistics/templates/clientlist.html
+++ b/modules-available/statistics/templates/clientlist.html
@@ -59,7 +59,7 @@
</thead>
<tbody>
{{#rows}}
- <tr>
+ <tr class="machine">
<td data-sort-value="{{hostname}}" class="text-nowrap">
<div class="checkbox checkbox-inline">
<input type="checkbox" name="uuid[]" value="{{machineuuid}}" class="machine-checkbox">
@@ -83,18 +83,22 @@
{{#link_details}}
<a href="?do=Statistics&amp;uuid={{machineuuid}}">
{{/link_details}}
- <b>{{hostname}}</b>
+ <b class="hostname">{{hostname}}</b>
{{#link_details}}
</a>
{{/link_details}}
- <div class="small">{{machineuuid}}</div>
+ <div class="small uuid">{{machineuuid}}</div>
{{#rmmodule}}
<div class="small">{{lang_runMode}}:
<a class="slx-bold" href="?do=runmode&amp;module={{rmmodule}}">{{moduleName}}</a> / {{modeName}}
</div>
{{/rmmodule}}
</td>
- <td data-sort-value="{{clientip}}"><b><a href="?do=Statistics&amp;show=list&amp;filters=subnet={{subnet}}">{{subnet}}</a>{{lastoctet}}</b><br>{{macaddr}}</td>
+ <td data-sort-value="{{clientip}}">
+ <b><a href="?do=Statistics&amp;show=list&amp;filters=subnet={{subnet}}">{{subnet}}</a>{{lastoctet}}</b>
+ <div class="mac text-nowrap">{{macaddr}}</div>
+ <div class="hidden ip">{{clientip}}</div>
+ </td>
<td data-sort-value="{{lastseen_int}}" class="text-right text-nowrap">{{lastseen}}</td>
<td class="{{kvmclass}}">{{kvmstate}}</td>
<td data-sort-value="{{gbram}}" class="text-right {{ramclass}}">{{gbram}}&thinsp;GiB</td>
@@ -119,6 +123,31 @@
<span class="glyphicon glyphicon-refresh"></span>
{{lang_reset}}
</button>
+ <span class="dropdown">
+ <button class="btn btn-default dropdown-toggle btn-machine-action" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true">
+ <span class="glyphicon glyphicon-list"></span>
+ {{lang_listDropdown}}
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
+ <li><a href="#" class="list-btn" data-what="hostname" data-toggle="modal"
+ data-target="#mac-list">
+ {{lang_hostname}}
+ </a></li>
+ <li><a href="#" class="list-btn" data-what="ip" data-toggle="modal"
+ data-target="#mac-list">
+ {{lang_ip}}
+ </a></li>
+ <li><a href="#" class="list-btn" data-what="mac" data-toggle="modal"
+ data-target="#mac-list">
+ {{lang_macAddr}}
+ </a></li>
+ <li><a href="#" class="list-btn" data-what="uuid" data-toggle="modal"
+ data-target="#mac-list">
+ {{lang_uuid}}
+ </a></li>
+ </ul>
+ </span>
{{#rebootcontrol}}
{{#canShutdown}}
<button type="submit" name="action" value="shutdownmachines" class="btn btn-danger btn-machine-action"
@@ -152,6 +181,21 @@
</div>
</form>
+<div class="modal" id="mac-list" tabindex="-1" role="dialog">
+ <div class="modal-dialog" role="document">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal">&times;</button>
+ </div>
+ <div class="modal-body"><textarea class="form-control" id="mac-list-content"></textarea></div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default"
+ data-dismiss="modal">{{lang_close}}</button>
+ </div>
+ </div>
+ </div>
+</div>
+
<script type="application/javascript"><!--
document.addEventListener("DOMContentLoaded", function () {
@@ -176,6 +220,18 @@ document.addEventListener("DOMContentLoaded", function () {
$boxes.prop('checked', $(this).is(':checked'));
$fn();
});
+ $('.list-btn').click(function() {
+ var what = $(this).data('what');
+ var $el = $('#mac-list-content');
+ $el.empty();
+ var result = '';
+ var num = $('.machine').has('input[type=checkbox]:checked').find('.' + what).each(function() {
+ var text = this.innerText;
+ if (what === 'mac') text = text.replace(/-/g, ':');
+ result += text + "\n";
+ }).length;
+ $el.text(result).prop('rows', Math.min(24, Math.max(5, num)));
+ });
});
//--></script>