Fixed multi-desktop with filter, added tag:xxx filter.
Ylian Saint-Hilaire committed
Dec 23, 2019 at 16:11 UTC
097eb6cd9daea4b03ff62db1051c6f5b10a088fb
2 files changed
+11
-6
package.json
+1
-1
@@ -1,6 +1,6 @@
1
{
2
"name": "meshcentral",
3
- "version": "0.4.6-l",
3
+ "version": "0.4.6-m",
4
"keywords": [
5
"Remote Management",
6
"Intel AMT",
views/default.handlebars
+10
-5
@@ -3068,7 +3068,7 @@
3068
if ((meshrights & 8) || (meshrights & 256)) { // Requires remote control rights or desktop view only rights
3069
//var conn = 0;
3070
//if ((node.conn & 1) != 0) { conn = 1; } else if ((node.conn & 6) != 0) { conn = 2; } // Check what type of connect we can do (Agent vs AMT)
3071
- if (node.conn & 1) { count++; }
3071
+ if ((node.conn & 1) && (node.v == true)) { count++; }
3072
}
3073
}
3074
}
@@ -3077,7 +3077,7 @@
3077
3078
// Perform connect all
3079
for (var i in nodes) {
3080
- if ((multiDesktop[nodes[i]._id] == null) && ((multiDesktopFilter.length == 0) || (multiDesktopFilter.indexOf('devid_' + nodes[i]._id) >= 0))) {
3080
+ if ((nodes[i].v == true) && (multiDesktop[nodes[i]._id] == null) && ((multiDesktopFilter.length == 0) || (multiDesktopFilter.indexOf('devid_' + nodes[i]._id) >= 0))) {
3081
toggleKvmDevice(nodes[i]._id);
3082
}
3083
}
@@ -3638,13 +3638,15 @@
3638
function onConsoleFocus(x) { consoleFocus = x; }
3639
3640
function onSearchInputChanged() {
3641
- var x = Q('SearchInput').value.toLowerCase().trim(); putstore('_search', x);
3642
- var userSearch = null, ipSearch = null, groupSearch = null;
3641
+ var x = Q('SearchInput').value.toLowerCase().trim(); putstore('_search', Q('SearchInput').value);
3642
+ var userSearch = null, ipSearch = null, groupSearch = null, tagSearch = null;
3643
if (x.startsWith("user:")) { userSearch = x.substring(5); }
3644
else if (x.startsWith("u:")) { userSearch = x.substring(2); }
3645
else if (x.startsWith("ip:")) { ipSearch = x.substring(3); }
3646
else if (x.startsWith("group:")) { groupSearch = x.substring(6); }
3647
else if (x.startsWith("g:")) { groupSearch = x.substring(2); }
3648
+ else if (x.startsWith("tag:")) { tagSearch = Q('SearchInput').value.trim().substring(4); }
3649
+ else if (x.startsWith("t:")) { tagSearch = Q('SearchInput').value.trim().substring(2); }
3650
3651
if (x == '') {
3652
// No search
@@ -3655,7 +3657,10 @@
3657
} else if (groupSearch != null) {
3658
// Group filter
3659
for (var d in nodes) { nodes[d].v = (meshes[nodes[d].meshid].name.toLowerCase().indexOf(groupSearch) >= 0); }
3658
- } else if (userSearch != null) {
3660
+ } else if (tagSearch != null) {
3661
+ // Tag filter
3662
+ for (var d in nodes) { nodes[d].v = ((nodes[d].tags != null) && (nodes[d].tags.indexOf(tagSearch) >= 0)); }
3663
+ } else if (userSearch != null) {
3664
// User search
3665
for (var d in nodes) {
3666
nodes[d].v = false;