diff --git a/domain-server/resources/web/js/shared.js b/domain-server/resources/web/js/shared.js index 913e54312f..a5dd522a53 100644 --- a/domain-server/resources/web/js/shared.js +++ b/domain-server/resources/web/js/shared.js @@ -90,13 +90,21 @@ var Strings = { ADD_PLACE_NOT_CONNECTED_MESSAGE: "You must have an access token to query your High Fidelity places.

Please follow the instructions on the settings page to add an access token.", }; -var DOMAIN_ID_TYPE_NONE_OR_UNKNOWN = 0; +var DOMAIN_ID_TYPE_NONE = 0; var DOMAIN_ID_TYPE_TEMP = 1; var DOMAIN_ID_TYPE_FULL = 2; +var DOMAIN_ID_TYPE_UNKNOWN = 3; + +function domainIDIsSet() { + return Settings.data.values.metaverse.id.length > 0; +} function getCurrentDomainIDType() { + if (!domainIDIsSet()) { + return DOMAIN_ID_TYPE_NONE; + } if (typeof DomainInfo === 'undefined') { - return DOMAIN_ID_TYPE_NONE_OR_UNKNOWN; + return DOMAIN_ID_TYPE_UNKNOWN; } if (DomainInfo !== null) { if (DomainInfo.name !== undefined) { @@ -104,7 +112,7 @@ function getCurrentDomainIDType() { } return DOMAIN_ID_TYPE_FULL; } - return DOMAIN_ID_TYPE_NONE_OR_UNKNOWN; + return DOMAIN_ID_TYPE_UNKNOWN; } function showLoadingDialog(msg) { diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js index 42b377cd84..1224b724da 100644 --- a/domain-server/resources/web/settings/js/settings.js +++ b/domain-server/resources/web/settings/js/settings.js @@ -618,13 +618,18 @@ function parseJSONResponse(xhr) { return null; } -function domainIDIsSet() { - return Settings.data.values.metaverse.id.length > 0; +function showOrHideLabel() { + var type = getCurrentDomainIDType(); + if (!accessTokenIsSet() || (type !== DOMAIN_ID_TYPE_FULL && type !== DOMAIN_ID_TYPE_UNKNOWN)) { + $(".panel#label").hide(); + return false; + } + $(".panel#label").show(); + return true; } function setupDomainLabelSetting() { - if (!domainIDIsSet() || !accessTokenIsSet()) { - $(".panel#label").hide(); + if (!showOrHideLabel()) { return; } @@ -714,9 +719,18 @@ function setupDomainLabelSetting() { $('div#label .panel-body').append(html); } -function setupDomainNetworkingSettings() { - if (!accessTokenIsSet() || !domainIDIsSet()) { +function showOrHideAutomaticNetworking() { + var type = getCurrentDomainIDType(); + if (!accessTokenIsSet() || (type !== DOMAIN_ID_TYPE_FULL && type !== DOMAIN_ID_TYPE_UNKNOWN)) { $("[data-keypath='metaverse.automatic_networking']").hide(); + return false; + } + $("[data-keypath='metaverse.automatic_networking']").show(); + return true; +} + +function setupDomainNetworkingSettings() { + if (!showOrHideAutomaticNetworking()) { return; } @@ -1007,16 +1021,23 @@ function reloadDomainInfo() { $('#' + Settings.PLACES_TABLE_ID + " tbody").append(placeTableRow(data.domain.name, '/', true)); } - var label = data.domain.label; - label = label === null ? '' : label; - $('#network-label').val(label); - var autoNetworkingSetting = Settings.data.values.metaverse.automatic_networking; - var address = data.domain.network_address === null ? "" : data.domain.network_address; - var port = data.domain.network_port === null ? "" : data.domain.network_port; - if (autoNetworkingSetting === 'disabled') { - $('#network-address-port input').val(address + ":" + port); - } else if (autoNetworkingSetting === 'ip') { - $('#network-address-port input').val(port); + // Update label + if (showOrHideLabel()) { + var label = data.domain.label; + label = label === null ? '' : label; + $('#network-label').val(label); + } + + // Update automatic networking + if (showOrHideAutomaticNetworking()) { + var autoNetworkingSetting = Settings.data.values.metaverse.automatic_networking; + var address = data.domain.network_address === null ? "" : data.domain.network_address; + var port = data.domain.network_port === null ? "" : data.domain.network_port; + if (autoNetworkingSetting === 'disabled') { + $('#network-address-port input').val(address + ":" + port); + } else if (autoNetworkingSetting === 'ip') { + $('#network-address-port input').val(port); + } } appendAddButtonToPlacesTable();