mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-28 08:03:36 +00:00
sunil: - Add explicit dependency on libjs-jquery in janus even though another dependency brings it in. - Fix looking for elements before DOMContentLoaded is fired. Since most of the scripts are added at the end of the page, it might work now, but doing this properly after DOMContentLoaded allows us to relocate the scripts to the header of the page and add 'defer' attribute on them. - Fix issue with IPv6 method getting selected as 'dchp' in networks.js. - Don't focus on the first element in the form after the page loads. This is bad for accessibility. - Fix issue with setting the readonly/required states of IPv4/IPv6 fields on page load. - Password fields can now be changed to text fields and vice versa without a problem. Simplify. - Fix incorrect repetition of code setting 'show' class in onInvalidEvent(). - Prefer exception getting raised instead of functionality silently failing when expected elements are not found. - Use 'const' instead of 'var' wherever possible. - Prefer .closest() to get to ancestors instead of .parentNode; - Don't CSS transitions when showing an element, 'transition' CSS property does not work on 'display' property. Instead they have to implemented on 'height', 'opacity', etc. - Minor styling changes. Consistent casing. Use arrow styled functions. Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net> Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
60 lines
2.2 KiB
JavaScript
60 lines
2.2 KiB
JavaScript
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
/**
|
|
* @licstart The following is the entire license notice for the JavaScript
|
|
* code in this page.
|
|
*
|
|
* This file is part of FreedomBox.
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Affero General Public License as
|
|
* published by the Free Software Foundation, either version 3 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Affero General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
* @licend The above is the entire license notice for the JavaScript code
|
|
* in this page.
|
|
*/
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
const relayEnabled = document.getElementById('id_tor-relay_enabled');
|
|
const bridgeRelay = document.getElementById('id_tor-bridge_relay_enabled');
|
|
const useUpstreamBridges = document.getElementById('id_tor-use_upstream_bridges');
|
|
const upstreamBridgesField = document.getElementById('id_tor-upstream_bridges')
|
|
.closest('.form-group');
|
|
|
|
function handleRelayChange() {
|
|
const disable = !relayEnabled.checked;
|
|
bridgeRelay.disabled = disable;
|
|
if (disable) {
|
|
bridgeRelay.checked = false;
|
|
}
|
|
}
|
|
|
|
function handleUseUpstreamBridgesChange() {
|
|
if (useUpstreamBridges.checked) {
|
|
upstreamBridgesField.style.display = '';
|
|
relayEnabled.checked = false;
|
|
relayEnabled.disabled = true;
|
|
bridgeRelay.checked = false;
|
|
bridgeRelay.disabled = true;
|
|
} else {
|
|
upstreamBridgesField.style.display = 'none';
|
|
relayEnabled.disabled = false;
|
|
}
|
|
}
|
|
|
|
relayEnabled.addEventListener('change', handleRelayChange);
|
|
useUpstreamBridges.addEventListener('change', handleUseUpstreamBridgesChange);
|
|
|
|
// Initial state
|
|
handleRelayChange();
|
|
handleUseUpstreamBridgesChange();
|
|
});
|