diff --git a/templates/clients.html b/templates/clients.html
index 689c261..b171e41 100644
--- a/templates/clients.html
+++ b/templates/clients.html
@@ -250,6 +250,28 @@ Wireguard Clients
populateClientList();
})
+ // show search bar and override :contains to be case-insensitive
+ $(document).ready(function () {
+ $("#search-form").show();
+ jQuery.expr[':'].contains = function(a, i, m) {
+ return jQuery(a).text().toUpperCase()
+ .indexOf(m[3].toUpperCase()) >= 0;
+ };
+ })
+
+ // hide all clients and display only the ones that meet the search criteria (name, email, IP)
+ $('#search-input').keyup(function () {
+ var query = $(this).val();
+ $('.col-lg-4').hide();
+ $(".info-box-text").each(function() {
+ if($(this).children('i.fa-user').length > 0 || $(this).children('i.fa-envelope').length > 0)
+ {
+ $(this).filter(':contains("' + query + '")').parent().parent().parent().show();
+ }
+ })
+ $(".badge-secondary").filter(':contains("' + query + '")').parent().parent().parent().show();
+ })
+
// modal_pause_client modal event
$("#modal_pause_client").on('show.bs.modal', function (event) {
const button = $(event.relatedTarget);
@@ -400,7 +422,7 @@ Wireguard Clients
cache: false,
method: 'GET',
url: '{{.basePath}}/api/client/' + client_id,
- data: {
+ data: {
qrCodeIncludeFwMark: include_fwmark
},
dataType: 'json',
@@ -588,7 +610,7 @@ Wireguard Clients
$(element).removeClass('is-invalid');
}
});
- //
+ //
});
{{end}}