mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui.git
synced 2025-10-31 18:57:46 +00:00
Compare commits
8 Commits
v2.6.0-RC2
...
v2.6.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2c62c7bc92 | ||
|
|
2befa3ce6f | ||
|
|
5a39deaa37 | ||
|
|
85b92f46f5 | ||
|
|
abb8b2ba0f | ||
|
|
a22f33dade | ||
|
|
237b8b5ede | ||
|
|
438d008c34 |
@@ -8,7 +8,7 @@ fullnameOverride: ""
|
|||||||
images:
|
images:
|
||||||
owgwui:
|
owgwui:
|
||||||
repository: tip-tip-wlan-cloud-ucentral.jfrog.io/owgw-ui
|
repository: tip-tip-wlan-cloud-ucentral.jfrog.io/owgw-ui
|
||||||
tag: v2.6.0-RC2
|
tag: v2.6.0
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "ucentral-client",
|
"name": "ucentral-client",
|
||||||
"version": "2.6.26",
|
"version": "2.6.29",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "ucentral-client",
|
"name": "ucentral-client",
|
||||||
"version": "2.6.26",
|
"version": "2.6.29",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@coreui/coreui": "^3.4.0",
|
"@coreui/coreui": "^3.4.0",
|
||||||
"@coreui/icons": "^2.0.1",
|
"@coreui/icons": "^2.0.1",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ucentral-client",
|
"name": "ucentral-client",
|
||||||
"version": "2.6.26",
|
"version": "2.6.29",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@coreui/coreui": "^3.4.0",
|
"@coreui/coreui": "^3.4.0",
|
||||||
"@coreui/icons": "^2.0.1",
|
"@coreui/icons": "^2.0.1",
|
||||||
|
|||||||
@@ -719,9 +719,9 @@
|
|||||||
"telemetry": {
|
"telemetry": {
|
||||||
"connection_failed": "Verbindung konnte nicht hergestellt werden. Fehler: {{error}}",
|
"connection_failed": "Verbindung konnte nicht hergestellt werden. Fehler: {{error}}",
|
||||||
"interval": "Intervall",
|
"interval": "Intervall",
|
||||||
|
"last_update": "Letztes Update",
|
||||||
"lifetime": "Dauer",
|
"lifetime": "Dauer",
|
||||||
"outputmode": "Ausgabemodus",
|
"outputmode": "Ausgabemodus",
|
||||||
"last_update": "Letztes Update",
|
|
||||||
"types": "Typen"
|
"types": "Typen"
|
||||||
},
|
},
|
||||||
"trace": {
|
"trace": {
|
||||||
@@ -816,6 +816,7 @@
|
|||||||
"radios": "Radios",
|
"radios": "Radios",
|
||||||
"scan_warning": "Ihr 5G-Funkgerät befindet sich auf einem Radarkanal, Sie müssen „Override DFS“ aktivieren, um das Scannen aller 5G-Kanäle zu ermöglichen",
|
"scan_warning": "Ihr 5G-Funkgerät befindet sich auf einem Radarkanal, Sie müssen „Override DFS“ aktivieren, um das Scannen aller 5G-Kanäle zu ermöglichen",
|
||||||
"title": "WLAN-Analyse",
|
"title": "WLAN-Analyse",
|
||||||
"vendor": "Verkäufer"
|
"vendor": "Verkäufer",
|
||||||
|
"waiting_for_data": "Warten auf Empfang von Gerätedaten. Bitte schauen Sie später noch einmal nach"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -719,9 +719,9 @@
|
|||||||
"telemetry": {
|
"telemetry": {
|
||||||
"connection_failed": "Failed to create connection. Error: {{error}}",
|
"connection_failed": "Failed to create connection. Error: {{error}}",
|
||||||
"interval": "Interval",
|
"interval": "Interval",
|
||||||
|
"last_update": "Last Update",
|
||||||
"lifetime": "Duration",
|
"lifetime": "Duration",
|
||||||
"outputmode": "Output Mode",
|
"outputmode": "Output Mode",
|
||||||
"last_update": "Last Update",
|
|
||||||
"types": "Types"
|
"types": "Types"
|
||||||
},
|
},
|
||||||
"trace": {
|
"trace": {
|
||||||
@@ -816,6 +816,7 @@
|
|||||||
"radios": "Radios",
|
"radios": "Radios",
|
||||||
"scan_warning": "Your 5G radio is on a radar channel, you must enable “Override DFS” to allow scanning of all 5G channels",
|
"scan_warning": "Your 5G radio is on a radar channel, you must enable “Override DFS” to allow scanning of all 5G channels",
|
||||||
"title": "Wi-Fi Analysis",
|
"title": "Wi-Fi Analysis",
|
||||||
"vendor": "Vendor"
|
"vendor": "Vendor",
|
||||||
|
"waiting_for_data": "Waiting to receive device data. Please check again later"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -719,9 +719,9 @@
|
|||||||
"telemetry": {
|
"telemetry": {
|
||||||
"connection_failed": "No se pudo crear la conexión. Error: {{error}}",
|
"connection_failed": "No se pudo crear la conexión. Error: {{error}}",
|
||||||
"interval": "intervalo",
|
"interval": "intervalo",
|
||||||
|
"last_update": "Última actualización",
|
||||||
"lifetime": "Duración",
|
"lifetime": "Duración",
|
||||||
"outputmode": "Modo salida",
|
"outputmode": "Modo salida",
|
||||||
"last_update": "Última actualización",
|
|
||||||
"types": "Los tipos"
|
"types": "Los tipos"
|
||||||
},
|
},
|
||||||
"trace": {
|
"trace": {
|
||||||
@@ -816,6 +816,7 @@
|
|||||||
"radios": "Radios",
|
"radios": "Radios",
|
||||||
"scan_warning": "Su radio 5G está en un canal de radar, debe habilitar \"Anular DFS\" para permitir el escaneo de todos los canales 5G",
|
"scan_warning": "Su radio 5G está en un canal de radar, debe habilitar \"Anular DFS\" para permitir el escaneo de todos los canales 5G",
|
||||||
"title": "Análisis de Wi-Fi",
|
"title": "Análisis de Wi-Fi",
|
||||||
"vendor": "Vendedor"
|
"vendor": "Vendedor",
|
||||||
|
"waiting_for_data": "Esperando recibir datos del dispositivo. Vuelva a consultar más tarde"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -719,9 +719,9 @@
|
|||||||
"telemetry": {
|
"telemetry": {
|
||||||
"connection_failed": "Échec de la création de la connexion. Erreur : {{error}}",
|
"connection_failed": "Échec de la création de la connexion. Erreur : {{error}}",
|
||||||
"interval": "Intervalle",
|
"interval": "Intervalle",
|
||||||
|
"last_update": "Dernière mise à jour",
|
||||||
"lifetime": "Durée",
|
"lifetime": "Durée",
|
||||||
"outputmode": "Mode de sortie",
|
"outputmode": "Mode de sortie",
|
||||||
"last_update": "Dernière mise à jour",
|
|
||||||
"types": "Les types"
|
"types": "Les types"
|
||||||
},
|
},
|
||||||
"trace": {
|
"trace": {
|
||||||
@@ -816,6 +816,7 @@
|
|||||||
"radios": "Radios",
|
"radios": "Radios",
|
||||||
"scan_warning": "Votre radio 5G est sur un canal radar, vous devez activer \"Override DFS\" pour permettre le balayage de tous les canaux 5G",
|
"scan_warning": "Votre radio 5G est sur un canal radar, vous devez activer \"Override DFS\" pour permettre le balayage de tous les canaux 5G",
|
||||||
"title": "Analyse Wi-Fi",
|
"title": "Analyse Wi-Fi",
|
||||||
"vendor": "vendeur"
|
"vendor": "vendeur",
|
||||||
|
"waiting_for_data": "En attente de réception des données de l'appareil. Veuillez revérifier plus tard"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -719,9 +719,9 @@
|
|||||||
"telemetry": {
|
"telemetry": {
|
||||||
"connection_failed": "Falha ao criar conexão. Erro: {{error}}",
|
"connection_failed": "Falha ao criar conexão. Erro: {{error}}",
|
||||||
"interval": "intervalo",
|
"interval": "intervalo",
|
||||||
|
"last_update": "Última atualização",
|
||||||
"lifetime": "Duração",
|
"lifetime": "Duração",
|
||||||
"outputmode": "Modo saída",
|
"outputmode": "Modo saída",
|
||||||
"last_update": "Última atualização",
|
|
||||||
"types": "Tipos"
|
"types": "Tipos"
|
||||||
},
|
},
|
||||||
"trace": {
|
"trace": {
|
||||||
@@ -816,6 +816,7 @@
|
|||||||
"radios": "Rádios",
|
"radios": "Rádios",
|
||||||
"scan_warning": "Seu rádio 5G está em um canal de radar, você deve habilitar “Override DFS” para permitir a varredura de todos os canais 5G",
|
"scan_warning": "Seu rádio 5G está em um canal de radar, você deve habilitar “Override DFS” para permitir a varredura de todos os canais 5G",
|
||||||
"title": "Análise de Wi-Fi",
|
"title": "Análise de Wi-Fi",
|
||||||
"vendor": "fornecedor"
|
"vendor": "fornecedor",
|
||||||
|
"waiting_for_data": "Aguardando para receber dados do dispositivo. Verifique novamente mais tarde"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useMemo, useState } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import Select from 'react-select';
|
import Select from 'react-select';
|
||||||
@@ -55,6 +55,17 @@ const TelemetryModal = ({ show, toggle }) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const msgToDisplay = useMemo(() => {
|
||||||
|
const display = {};
|
||||||
|
if (lastMessage) {
|
||||||
|
for (const type of types) {
|
||||||
|
display[type.value] = lastMessage[type.value];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return display;
|
||||||
|
}, [lastMessage, types]);
|
||||||
|
|
||||||
const getUrl = () => {
|
const getUrl = () => {
|
||||||
setLastUpdate('');
|
setLastUpdate('');
|
||||||
setLastMessage({});
|
setLastMessage({});
|
||||||
@@ -82,14 +93,13 @@ const TelemetryModal = ({ show, toggle }) => {
|
|||||||
.then((response) => {
|
.then((response) => {
|
||||||
if (chosenMethod === 'true') {
|
if (chosenMethod === 'true') {
|
||||||
addToast({
|
addToast({
|
||||||
title: t('common.success'),
|
title: t('common.success'),
|
||||||
body: t('commands.command_success'),
|
body: t('commands.command_success'),
|
||||||
color: 'success',
|
color: 'success',
|
||||||
autohide: true,
|
autohide: true,
|
||||||
});
|
});
|
||||||
toggle();
|
toggle();
|
||||||
}
|
} else if (response.data.uri && response.data.uri !== '') {
|
||||||
else if (response.data.uri && response.data.uri !== '') {
|
|
||||||
setReceivedMessages(0);
|
setReceivedMessages(0);
|
||||||
setSocket(new WebSocket(response.data.uri));
|
setSocket(new WebSocket(response.data.uri));
|
||||||
}
|
}
|
||||||
@@ -259,7 +269,7 @@ const TelemetryModal = ({ show, toggle }) => {
|
|||||||
</CRow>
|
</CRow>
|
||||||
<CRow>
|
<CRow>
|
||||||
<CCol>
|
<CCol>
|
||||||
<pre>{JSON.stringify(lastMessage, null, 2)}</pre>
|
<pre>{JSON.stringify(msgToDisplay, null, 2)}</pre>
|
||||||
</CCol>
|
</CCol>
|
||||||
</CRow>
|
</CRow>
|
||||||
<CRow>
|
<CRow>
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ const WifiAnalysis = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<CCard>
|
<CCard className="mb-0">
|
||||||
<CCardHeader className="dark-header d-flex flex-row-reverse align-items-center">
|
<CCardHeader className="dark-header d-flex flex-row-reverse align-items-center">
|
||||||
<div className="pl-2">
|
<div className="pl-2">
|
||||||
<CPopover content={t('common.refresh')}>
|
<CPopover content={t('common.refresh')}>
|
||||||
@@ -254,35 +254,47 @@ const WifiAnalysis = () => {
|
|||||||
</div>
|
</div>
|
||||||
</CCardHeader>
|
</CCardHeader>
|
||||||
<CCardBody>
|
<CCardBody>
|
||||||
<CRow className="mb-4">
|
{!loading && parsedAssociationStats.length === 0 ? (
|
||||||
<CCol className="text-center">
|
<div className="text-center">
|
||||||
<input
|
<h3>{t('wifi_analysis.waiting_for_data')}</h3>
|
||||||
type="range"
|
</div>
|
||||||
style={{ width: '80%' }}
|
) : (
|
||||||
className="form-range"
|
<>
|
||||||
min="0"
|
<CRow className="mb-4">
|
||||||
max={range}
|
<CCol className="text-center">
|
||||||
step="1"
|
<input
|
||||||
onChange={(e) => updateSelectedStats(e.target.value)}
|
type="range"
|
||||||
defaultValue={range}
|
style={{ width: '80%' }}
|
||||||
disabled={!selectedRadioStats}
|
className="form-range"
|
||||||
/>
|
min="0"
|
||||||
<h5>
|
max={range}
|
||||||
{t('common.timestamp')}: {tableTime}
|
step="1"
|
||||||
</h5>
|
onChange={(e) => updateSelectedStats(e.target.value)}
|
||||||
</CCol>
|
defaultValue={range}
|
||||||
</CRow>
|
disabled={!selectedRadioStats}
|
||||||
<div className="overflow-auto" style={{ height: 'calc(100vh - 300px)' }}>
|
/>
|
||||||
<h5 className="pb-3 text-center">{t('wifi_analysis.radios')}</h5>
|
<h5>
|
||||||
<RadioAnalysisTable data={selectedRadioStats ?? []} loading={loading} range={range} />
|
{t('common.timestamp')}: {tableTime}
|
||||||
<h5 className="pt-5 pb-3 text-center">{t('wifi_analysis.associations')}</h5>
|
</h5>
|
||||||
<WifiAnalysisTable
|
</CCol>
|
||||||
t={t}
|
</CRow>
|
||||||
data={selectedAssociationStats ?? []}
|
<div className="overflow-auto" style={{ height: 'calc(100vh - 300px)' }}>
|
||||||
loading={loading}
|
<h5 className="pb-3 text-center">{t('wifi_analysis.radios')}</h5>
|
||||||
range={range}
|
<RadioAnalysisTable
|
||||||
/>
|
data={selectedRadioStats ?? []}
|
||||||
</div>
|
loading={loading}
|
||||||
|
range={range}
|
||||||
|
/>
|
||||||
|
<h5 className="pt-5 pb-3 text-center">{t('wifi_analysis.associations')}</h5>
|
||||||
|
<WifiAnalysisTable
|
||||||
|
t={t}
|
||||||
|
data={selectedAssociationStats ?? []}
|
||||||
|
loading={loading}
|
||||||
|
range={range}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</CCardBody>
|
</CCardBody>
|
||||||
</CCard>
|
</CCard>
|
||||||
<CModal size="xl" show={showModal} onClose={toggleModal}>
|
<CModal size="xl" show={showModal} onClose={toggleModal}>
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ const WifiScanModal = ({ show, toggleModal }) => {
|
|||||||
setActiveScan(false);
|
setActiveScan(false);
|
||||||
setHideOptions(false);
|
setHideOptions(false);
|
||||||
setErrorCode(0);
|
setErrorCode(0);
|
||||||
setIes(undefined);
|
setIes([]);
|
||||||
}, [show]);
|
}, [show]);
|
||||||
|
|
||||||
const parseThroughList = (scanList) => {
|
const parseThroughList = (scanList) => {
|
||||||
@@ -164,7 +164,7 @@ const WifiScanModal = ({ show, toggleModal }) => {
|
|||||||
override_dfs: dfs,
|
override_dfs: dfs,
|
||||||
bandwidth: bandwidth !== '' ? bandwidth : undefined,
|
bandwidth: bandwidth !== '' ? bandwidth : undefined,
|
||||||
activeScan,
|
activeScan,
|
||||||
ies: ies.length > 0 ? ies.map(({ value }) => value) : undefined,
|
ies: ies?.length > 0 ? ies.map(({ value }) => value) : undefined,
|
||||||
};
|
};
|
||||||
const headers = {
|
const headers = {
|
||||||
Accept: 'application/json',
|
Accept: 'application/json',
|
||||||
|
|||||||
Reference in New Issue
Block a user