Skip to content

Commit

Permalink
Added device group name to search results as config option (#5544)
Browse files Browse the repository at this point in the history
  • Loading branch information
jrf280 authored Nov 12, 2023
1 parent a371709 commit bc0550a
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 12 deletions.
5 changes: 5 additions & 0 deletions docs/docs/meshcentral/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -1204,6 +1204,11 @@ See description for information about each item.
"default": false,
"description": "When set to true, the devices search box will match on both the server name and client name of a device."
},
"deviceSearchBarGroupName": {
"type": "boolean",
"default": false,
"description": "When set to true, the devices search box will match on group name too."
},
"agentSelfGuestSharing": {
"type": [
"boolean",
Expand Down
5 changes: 5 additions & 0 deletions meshcentral-config-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -1197,6 +1197,11 @@
"default": false,
"description": "When set to true, the devices search box will match on both the server name and client name of a device."
},
"deviceSearchBarGroupName": {
"type": "boolean",
"default": false,
"description": "When set to true, the devices search box will match on group name too."
},
"agentSelfGuestSharing": {
"type": [
"boolean",
Expand Down
22 changes: 17 additions & 5 deletions views/default-mobile.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -2904,12 +2904,24 @@
var rs = x.split(/\s+/).join('|'), rx = new RegExp(rs); // In some cases (like +), this can throw an exception.
for (var d in nodes) {
if (features2 & 0x00008000) {
nodes[d].v = (rx.test(nodes[d].name.toLowerCase())) || ((nodes[d].rnamel != null) && rx.test(nodes[d].rnamel.toLowerCase()));
if(features2 & 0x10000000){
nodes[d].v = (rx.test(nodes[d].name.toLowerCase())) || (rx.test(meshes[nodes[d].meshid].name.toLowerCase())) || ((nodes[d].rnamel != null) && rx.test(nodes[d].rnamel.toLowerCase()));
}else {
nodes[d].v = (rx.test(nodes[d].name.toLowerCase())) || ((nodes[d].rnamel != null) && rx.test(nodes[d].rnamel.toLowerCase()));
}
} else {
if (showRealNames) {
nodes[d].v = (nodes[d].rnamel != null) && rx.test(nodes[d].rnamel.toLowerCase());
} else {
nodes[d].v = rx.test(nodes[d].name.toLowerCase());
if(features2 & 0x10000000){
if (showRealNames) {
nodes[d].v = (nodes[d].rnamel != null) && rx.test(nodes[d].rnamel.toLowerCase()) || (rx.test(meshes[nodes[d].meshid].name.toLowerCase()));
} else {
nodes[d].v = rx.test(nodes[d].name.toLowerCase()) || (rx.test(meshes[nodes[d].meshid].name.toLowerCase()));
}
}else{
if (showRealNames) {
nodes[d].v = (nodes[d].rnamel != null) && rx.test(nodes[d].rnamel.toLowerCase());
} else {
nodes[d].v = rx.test(nodes[d].name.toLowerCase());
}
}
}
}
Expand Down
26 changes: 19 additions & 7 deletions views/default.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -6157,15 +6157,27 @@
// Device name search
try {
var rs = x.split(/\s+/).join('|'), rx = new RegExp(rs); // In some cases (like +), this can throw an exception.
for (var d in nodes) {
for (var d in nodes) {
if (features2 & 0x00008000) { // Both server and client names must match
if (rx.test(nodes[d].name.toLowerCase()) || ((nodes[d].rnamel != null) && rx.test(nodes[d].rnamel.toLowerCase()))) { r.push(d); }
} else {
if (showRealNames) {
if (nodes[d].rnamel != null && rx.test(nodes[d].rnamel.toLowerCase())) { r.push(d); }
} else {
if (rx.test(nodes[d].name.toLowerCase())) { r.push(d); }
if(features2 & 0x10000000){
if (rx.test(nodes[d].name.toLowerCase()) || rx.test(meshes[nodes[d].meshid].name.toLowerCase()) || ((nodes[d].rnamel != null) && rx.test(nodes[d].rnamel.toLowerCase()))) { r.push(d); }
}else {
if (rx.test(nodes[d].name.toLowerCase()) || ((nodes[d].rnamel != null) && rx.test(nodes[d].rnamel.toLowerCase()))) { r.push(d); }
}
} else {
if(features2 & 0x10000000){
if (showRealNames) {
if (nodes[d].rnamel != null && rx.test(nodes[d].rnamel.toLowerCase()) || rx.test(meshes[nodes[d].meshid].name.toLowerCase()) ) { r.push(d); }
} else {
if (rx.test(nodes[d].name.toLowerCase()) || rx.test(meshes[nodes[d].meshid].name.toLowerCase()) ) { r.push(d); }
}
}else {
if (showRealNames) {
if (nodes[d].rnamel != null && rx.test(nodes[d].rnamel.toLowerCase())) { r.push(d); }
} else {
if (rx.test(nodes[d].name.toLowerCase())) { r.push(d); }
}
}
}
}
} catch (ex) { for (var d in nodes) { r.push(d); } }
Expand Down
1 change: 1 addition & 0 deletions webserver.js
Original file line number Diff line number Diff line change
Expand Up @@ -3226,6 +3226,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
if ((parent.msgserver != null) && (parent.msgserver.providers != 0)) { features2 += 0x02000000; } // User messaging server is enabled
if ((parent.msgserver != null) && (parent.msgserver.providers != 0) && ((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.msg2factor != false))) { features2 += 0x04000000; } // User messaging 2FA is allowed
if (domain.scrolltotop == true) { features2 += 0x08000000; } // Show the "Scroll to top" button
if (domain.devicesearchbargroupname === true) { features2 += 0x10000000; } // Search bar will find by group name too
return { features: features, features2: features2 };
}

Expand Down

0 comments on commit bc0550a

Please sign in to comment.