Added DeviceSearchBarServerAndClientName option, #3260

This commit is contained in:
Ylian Saint-Hilaire 2021-11-08 11:04:32 -08:00
parent 72b92284d4
commit 966392b779
4 changed files with 18 additions and 13 deletions

View File

@ -306,6 +306,7 @@
"loginfooter": { "type": "string", "default": null, "description": "This is a HTML string displayed at the bottom of the web page when a user is not logged in." },
"guestDeviceSharing": { "type": "boolean", "default": true, "description": "When set to false, the desktop/terminal sharing link feature is not available." },
"autoRemoveInactiveDevices": { "type": "integer", "default": 0, "minimum": 0, "maximum": 2000, "description": "Number of days a device can be inactive before it's removed. 0 disables this feature. Device group setting will override this value." },
"DeviceSearchBarServerAndClientName": { "type": "boolean", "default": false, "description": "When set to true, the devices search box will match on both the server name and client name of a device." },
"altMessenging": {
"type": "object",
"properties": {

View File

@ -2055,6 +2055,7 @@
updateNaggleFlags |= flags;
if (updateNaggleTimer == null) {
updateNaggleTimer = setTimeout(function () {
if (updateNaggleFlags & 1) { onSearchInputChanged(); }
if (updateNaggleFlags & 4) { updateDevices(); updateDeviceDetails(); }
if (updateNaggleFlags & 128) { updateMeshes(); }
updateNaggleTimer = null;
@ -2674,7 +2675,7 @@
function onRealNameCheckBox() {
showRealNames = Q('RealNameCheckBox').checked;
putstore('showRealNames', showRealNames ? 1 : 0);
mainUpdate(4);
mainUpdate(5);
}
function onOnlineCheckBox(e) {
@ -2763,15 +2764,13 @@
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) {
nodes[d].v = (rx.test(nodes[d].name.toLowerCase())) || (nodes[d].rnamel != null && rx.test(nodes[d].rnamel.toLowerCase()));
if ((nodes[d].v == false) && nodes[d].tags) {
for (var s in nodes[d].tags) {
if (rx.test(nodes[d].tags[s].toLowerCase())) {
nodes[d].v = true;
break;
} else {
nodes[d].v = false;
}
if (features2 & 0x00008000) {
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());
}
}
}

View File

@ -5577,10 +5577,14 @@
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) {
if (showRealNames) {
if (nodes[d].rnamel != null && rx.test(nodes[d].rnamel.toLowerCase())) { r.push(d); }
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 (rx.test(nodes[d].name.toLowerCase())) { r.push(d); }
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); } }

View File

@ -2846,6 +2846,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
if (domain.clipboardset == false) { features2 += 0x00001000; } // Disable clipboard set
if ((typeof domain.desktop == 'object') && (domain.desktop.viewonly == true)) { features2 += 0x00002000; } // Indicates remote desktop is viewonly
if (domain.mailserver != null) { features2 += 0x00004000; } // Indicates email server is active
if (domain.devicesearchbarserverandclientname) { features2 += 0x00008000; } // Search bar will find both server name and client name
return { features: features, features2: features2 };
}