1
0
mirror of https://gitlab.nic.cz/turris/reforis/foris-js.git synced 2024-12-26 00:21:36 +01:00

Merge branch 'fix-wifi' into 'dev'

Expend library with the ResetWifiSettings function

Closes #20

See merge request turris/reforis/foris-js!155
This commit is contained in:
Aleksandr Gumroian 2021-05-14 11:46:20 +00:00
commit 75dd0fec92
11 changed files with 9294 additions and 16047 deletions

25141
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "foris", "name": "foris",
"version": "5.1.11", "version": "5.1.12",
"description": "Set of components and utils for Foris and its plugins.", "description": "Set of components and utils for Foris and its plugins.",
"author": "CZ.NIC, z.s.p.o.", "author": "CZ.NIC, z.s.p.o.",
"repository": { "repository": {
@ -39,7 +39,7 @@
"babel-loader": "^8.1.0", "babel-loader": "^8.1.0",
"babel-polyfill": "^6.26.0", "babel-polyfill": "^6.26.0",
"bootstrap": "^4.5.0", "bootstrap": "^4.5.0",
"css-loader": "^3.5.3", "css-loader": "^5.2.4",
"eslint": "^6.8.0", "eslint": "^6.8.0",
"eslint-config-prettier": "^6.11.0", "eslint-config-prettier": "^6.11.0",
"eslint-config-reforis": "^1.0.0", "eslint-config-reforis": "^1.0.0",

View File

@ -20,7 +20,7 @@ ResetWiFiSettings.propTypes = {
endpoint: PropTypes.string.isRequired, endpoint: PropTypes.string.isRequired,
}; };
export default function ResetWiFiSettings({ ws, endpoint }) { export function ResetWiFiSettings({ ws, endpoint }) {
const [isLoading, setIsLoading] = useState(false); const [isLoading, setIsLoading] = useState(false);
useEffect(() => { useEffect(() => {
@ -54,14 +54,13 @@ export default function ResetWiFiSettings({ ws, endpoint }) {
<div className={formFieldsSize}> <div className={formFieldsSize}>
<h2>{_("Reset Wi-Fi Settings")}</h2> <h2>{_("Reset Wi-Fi Settings")}</h2>
<p> <p>
{_(` {_(`If a number of wireless cards doesn't match, you may try \
If a number of wireless cards doesn't match, you may try to reset the Wi-Fi settings. Note that this will remove the to reset the Wi-Fi settings. Note that this will remove the current Wi-Fi \
current Wi-Fi configuration and restore the default values. configuration and restore the default values.`)}
`)}
</p> </p>
<div className="text-right"> <div className="text-right">
<Button <Button
className="btn-warning" className="btn-primary"
forisFormSize forisFormSize
loading={isLoading} loading={isLoading}
disabled={isLoading} disabled={isLoading}

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/) * Copyright (C) 2019-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/)
* *
* This is free software, licensed under the GNU General Public License v3. * This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information. * See /LICENSE for more information.
@ -10,7 +10,7 @@ import PropTypes from "prop-types";
import { ForisForm } from "../../form/components/ForisForm"; import { ForisForm } from "../../form/components/ForisForm";
import WiFiForm from "./WiFiForm"; import WiFiForm from "./WiFiForm";
import ResetWiFiSettings from "./ResetWiFiSettings"; import { ResetWiFiSettings } from "./ResetWiFiSettings";
WiFiSettings.propTypes = { WiFiSettings.propTypes = {
ws: PropTypes.object.isRequired, ws: PropTypes.object.isRequired,

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/) * Copyright (C) 2019-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/)
* *
* This is free software, licensed under the GNU General Public License v3. * This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information. * See /LICENSE for more information.
@ -14,7 +14,7 @@ import { mockJSONError } from "testUtils/network";
import { mockSetAlert } from "testUtils/alertContextMock"; import { mockSetAlert } from "testUtils/alertContextMock";
import { ALERT_TYPES } from "../../../bootstrap/Alert"; import { ALERT_TYPES } from "../../../bootstrap/Alert";
import ResetWiFiSettings from "../ResetWiFiSettings"; import { ResetWiFiSettings } from "../ResetWiFiSettings";
describe("<ResetWiFiSettings/>", () => { describe("<ResetWiFiSettings/>", () => {
const webSockets = new WebSockets(); const webSockets = new WebSockets();

View File

@ -349,7 +349,7 @@ const twoDevices = {
hidden: false, hidden: false,
htmode: "HT40", htmode: "HT40",
hwmode: "11a", hwmode: "11a",
id: 0, id: 1,
password: "TestPass", password: "TestPass",
}, },
], ],
@ -376,7 +376,7 @@ const threeDevices = {
hidden: false, hidden: false,
htmode: "HT40", htmode: "HT40",
hwmode: "11a", hwmode: "11a",
id: 0, id: 1,
password: "TestPass", password: "TestPass",
}, },
{ {
@ -387,7 +387,7 @@ const threeDevices = {
hidden: false, hidden: false,
htmode: "HT40", htmode: "HT40",
hwmode: "11a", hwmode: "11a",
id: 0, id: 2,
password: "", password: "",
}, },
], ],

View File

@ -316,16 +316,13 @@ exports[`<WiFiSettings/> Snapshot both modules disabled. 1`] = `
Reset Wi-Fi Settings Reset Wi-Fi Settings
</h2> </h2>
<p> <p>
If a number of wireless cards doesn't match, you may try to reset the Wi-Fi settings. Note that this will remove the current Wi-Fi configuration and restore the default values.
If a number of wireless cards doesn't match, you may try to reset the Wi-Fi settings. Note that this will remove the
current Wi-Fi configuration and restore the default values.
</p> </p>
<div <div
class="text-right" class="text-right"
> >
<button <button
class="btn btn-warning col-sm-12 col-md-3 col-lg-2" class="btn btn-primary col-sm-12 col-md-3 col-lg-2"
type="button" type="button"
> >
Reset Wi-Fi Settings Reset Wi-Fi Settings

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/) * Copyright (C) 2019-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/)
* *
* This is free software, licensed under the GNU General Public License v3. * This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information. * See /LICENSE for more information.
@ -39,6 +39,7 @@ export { Modal, ModalBody, ModalFooter, ModalHeader } from "./bootstrap/Modal";
// Common // Common
export { RebootButton } from "./common/RebootButton"; export { RebootButton } from "./common/RebootButton";
export { WiFiSettings } from "./common/WiFiSettings/WiFiSettings"; export { WiFiSettings } from "./common/WiFiSettings/WiFiSettings";
export { ResetWiFiSettings } from "./common/WiFiSettings/ResetWiFiSettings";
// Form // Form
export { ForisForm } from "./form/components/ForisForm"; export { ForisForm } from "./form/components/ForisForm";
export { export {

View File

@ -30,7 +30,7 @@ export const ForisURLs = {
approveUpdates: "/package-management/updates", approveUpdates: "/package-management/updates",
languages: "/package-management/languages", languages: "/package-management/languages",
rebootPage: "/administration/reboot", maintenance: "/administration/maintenance",
luci: "/cgi-bin/luci", luci: "/cgi-bin/luci",
// API // API

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2020-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/) * Copyright (C) 2020 CZ.NIC z.s.p.o. (http://www.nic.cz/)
* *
* This is free software, licensed under the GNU General Public License v3. * This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information. * See /LICENSE for more information.
@ -7,6 +7,8 @@
/* eslint no-console: "off" */ /* eslint no-console: "off" */
import { ForisURLs } from "../utils/forisUrls";
const PROTOCOL = window.location.protocol === "http:" ? "ws" : "wss"; const PROTOCOL = window.location.protocol === "http:" ? "ws" : "wss";
const URL = process.env.LIGHTTPD const URL = process.env.LIGHTTPD
@ -19,7 +21,13 @@ export class WebSockets {
constructor() { constructor() {
this.ws = new WebSocket(URL); this.ws = new WebSocket(URL);
this.ws.onerror = (e) => { this.ws.onerror = (e) => {
console.error("WS: Error observed:", e); if (window.location.pathname !== ForisURLs.login) {
console.error(
"WS: Error observed, you aren't logged probably."
);
window.location.replace(ForisURLs.login);
}
console.error(`WS: Error: ${e}`);
}; };
this.ws.onmessage = (e) => { this.ws.onmessage = (e) => {
console.debug(`WS: Received Message: ${e.data}`); console.debug(`WS: Received Message: ${e.data}`);

View File

@ -37,11 +37,11 @@ msgstr ""
#: src/common/RebootButton.js:27 #: src/common/RebootButton.js:27
msgid "Reboot request failed." msgid "Reboot request failed."
msgstr "Reboot is required" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/RebootButton.js:51
msgid "Reboot" msgid "Reboot"
msgstr "Reboot" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/RebootButton.js:66
msgid "Warning!" msgid "Warning!"
@ -87,16 +87,15 @@ msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:217 #: src/common/WiFiSettings/WiFiForm.js:217
msgid "auto" msgid "auto"
msgstr "auto" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:42
#, fuzzy
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "Enable Guest Wifi" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:80
msgid "Password" msgid "Password"
msgstr "Password" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:71
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
@ -109,52 +108,50 @@ msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78 #: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:90
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "SSID can't be longer than 32 symbols" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79 #: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:92 #: src/common/WiFiSettings/WiFiSettings.js:92
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "SSID can't be empty" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81 #: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:94 #: src/common/WiFiSettings/WiFiSettings.js:94
#, fuzzy
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "SSID can't be longer than 32 symbols" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:97 #: src/common/WiFiSettings/WiFiSettings.js:97
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "Password must contain at least 8 symbols" msgstr ""
#: src/common/WiFiSettings/constants.js:9 #: src/common/WiFiSettings/constants.js:9
msgid "Disabled" msgid "Disabled"
msgstr "Disabled" msgstr ""
#: src/common/WiFiSettings/constants.js:10 #: src/common/WiFiSettings/constants.js:10
msgid "802.11n - 20 MHz wide channel" msgid "802.11n - 20 MHz wide channel"
msgstr "802.11n - 20 MHz wide channel" msgstr ""
#: src/common/WiFiSettings/constants.js:11 #: src/common/WiFiSettings/constants.js:11
msgid "802.11n - 40 MHz wide channel" msgid "802.11n - 40 MHz wide channel"
msgstr "802.11n - 40 MHz wide channel" msgstr ""
#: src/common/WiFiSettings/constants.js:12 #: src/common/WiFiSettings/constants.js:12
msgid "802.11ac - 20 MHz wide channel" msgid "802.11ac - 20 MHz wide channel"
msgstr "802.11ac - 20 MHz wide channel" msgstr ""
#: src/common/WiFiSettings/constants.js:13 #: src/common/WiFiSettings/constants.js:13
msgid "802.11ac - 40 MHz wide channel" msgid "802.11ac - 40 MHz wide channel"
msgstr "802.11ac - 40 MHz wide channel" msgstr ""
#: src/common/WiFiSettings/constants.js:14 #: src/common/WiFiSettings/constants.js:14
msgid "802.11ac - 80 MHz wide channel" msgid "802.11ac - 80 MHz wide channel"
msgstr "802.11ac - 80 MHz wide channel" msgstr ""
#: src/common/WiFiSettings/constants.js:15 #: src/common/WiFiSettings/constants.js:15
#, fuzzy
msgid "802.11ac - 160 MHz wide channel" msgid "802.11ac - 160 MHz wide channel"
msgstr "802.11ac - 80 MHz wide channel" msgstr ""
#: src/common/WiFiSettings/constants.js:22 #: src/common/WiFiSettings/constants.js:22
msgid "" msgid ""
@ -168,13 +165,10 @@ msgid ""
" WPA2 pre-shared key, that is required to connect to the network.\n" " WPA2 pre-shared key, that is required to connect to the network.\n"
" " " "
msgstr "" msgstr ""
"\n"
" WPA2 pre-shared key, that is required to connect to the network.\n"
" "
#: src/common/WiFiSettings/constants.js:28 #: src/common/WiFiSettings/constants.js:28
msgid "If set, network is not visible when scanning for available networks." msgid "If set, network is not visible when scanning for available networks."
msgstr "If set, network is not visible when scanning for available networks." msgstr ""
#: src/common/WiFiSettings/constants.js:31 #: src/common/WiFiSettings/constants.js:31
msgid "" msgid ""
@ -185,12 +179,6 @@ msgid ""
"usually has less interference, but the signal\n" "usually has less interference, but the signal\n"
" does not carry so well indoors." " does not carry so well indoors."
msgstr "" msgstr ""
"\n"
" The 2.4 GHz band is more widely supported by clients, but tends "
"to have more interference. The 5 GHz band is a\n"
" newer standard and may not be supported by all your devices. It "
"usually has less interference, but the signal\n"
" does not carry so well indoors."
#: src/common/WiFiSettings/constants.js:35 #: src/common/WiFiSettings/constants.js:35
msgid "" msgid ""
@ -202,13 +190,6 @@ msgid ""
" option with 20 MHz wide channel.\n" " option with 20 MHz wide channel.\n"
" " " "
msgstr "" msgstr ""
"\n"
" Change this to adjust 802.11n/ac mode of operation. 802.11n with "
"40 MHz wide channels can yield higher\n"
" throughput but can cause more interference in the network. If you"
" don't know what to choose, use the default\n"
" option with 20 MHz wide channel.\n"
" "
#: src/common/WiFiSettings/constants.js:40 #: src/common/WiFiSettings/constants.js:40
msgid "" msgid ""
@ -221,14 +202,6 @@ msgid ""
"tab.\n" "tab.\n"
" " " "
msgstr "" msgstr ""
"\n"
" Enables Wi-Fi for guests, which is separated from LAN network. "
"Devices connected to this network are allowed to\n"
" access the internet, but aren't allowed to access other devices "
"and the configuration interface of the router.\n"
" Parameters of the guest network can be set in the Guest network "
"tab.\n"
" "
#: src/form/components/ForisForm.js:121 #: src/form/components/ForisForm.js:121
msgid "Settings saved successfully" msgid "Settings saved successfully"
@ -240,15 +213,15 @@ msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:31
msgid "Updating" msgid "Updating"
msgstr "Updating" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:34
msgid "Load settings" msgid "Load settings"
msgstr "Load settings" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:37
msgid "Save" msgid "Save"
msgstr "Save" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:16
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
@ -256,31 +229,31 @@ msgstr ""
#: src/utils/validations.js:13 #: src/utils/validations.js:13
msgid "This is not a valid IPv4 address." msgid "This is not a valid IPv4 address."
msgstr "This is not a valid IPv4 address." msgstr ""
#: src/utils/validations.js:14 #: src/utils/validations.js:14
msgid "This is not a valid IPv6 address." msgid "This is not a valid IPv6 address."
msgstr "This is not a valid IPv6 address." msgstr ""
#: src/utils/validations.js:15 #: src/utils/validations.js:15
msgid "This is not a valid IPv6 prefix." msgid "This is not a valid IPv6 prefix."
msgstr "This is not a valid IPv6 prefix." msgstr ""
#: src/utils/validations.js:16 #: src/utils/validations.js:16
msgid "This is not a valid domain name." msgid "This is not a valid domain name."
msgstr "This is not a valid domain name." msgstr ""
#: src/utils/validations.js:17 #: src/utils/validations.js:17
msgid "This is not a valid DUID." msgid "This is not a valid DUID."
msgstr "This is not a valid DUID." msgstr ""
#: src/utils/validations.js:18 #: src/utils/validations.js:18
msgid "This is not a valid MAC address." msgid "This is not a valid MAC address."
msgstr "This is not a valid MAC address." msgstr ""
#: src/utils/validations.js:19 #: src/utils/validations.js:19
msgid "Doesn't contain a list of emails separated by commas." msgid "Doesn't contain a list of emails separated by commas."
msgstr "Doesn't contain a list of emails separated by commas." msgstr ""
#~ msgid "An unknown error occurred. Check the console for more info." #~ msgid "An unknown error occurred. Check the console for more info."
#~ msgstr "" #~ msgstr ""
@ -289,5 +262,5 @@ msgstr "Doesn't contain a list of emails separated by commas."
#~ msgstr "" #~ msgstr ""
#~ msgid "Enable" #~ msgid "Enable"
#~ msgstr "Enable" #~ msgstr ""