mirror of
				https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui.git
				synced 2025-10-30 18:27:53 +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: | ||||
|   owgwui: | ||||
|     repository: tip-tip-wlan-cloud-ucentral.jfrog.io/owgw-ui | ||||
|     tag: v2.6.0-RC2 | ||||
|     tag: v2.6.0 | ||||
|     pullPolicy: Always | ||||
|  | ||||
| services: | ||||
|   | ||||
							
								
								
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,12 +1,12 @@ | ||||
| { | ||||
|   "name": "ucentral-client", | ||||
|   "version": "2.6.26", | ||||
|   "version": "2.6.29", | ||||
|   "lockfileVersion": 2, | ||||
|   "requires": true, | ||||
|   "packages": { | ||||
|     "": { | ||||
|       "name": "ucentral-client", | ||||
|       "version": "2.6.26", | ||||
|       "version": "2.6.29", | ||||
|       "dependencies": { | ||||
|         "@coreui/coreui": "^3.4.0", | ||||
|         "@coreui/icons": "^2.0.1", | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "ucentral-client", | ||||
|   "version": "2.6.26", | ||||
|   "version": "2.6.29", | ||||
|   "dependencies": { | ||||
|     "@coreui/coreui": "^3.4.0", | ||||
|     "@coreui/icons": "^2.0.1", | ||||
|   | ||||
| @@ -719,9 +719,9 @@ | ||||
| 	"telemetry": { | ||||
| 		"connection_failed": "Verbindung konnte nicht hergestellt werden. Fehler: {{error}}", | ||||
| 		"interval": "Intervall", | ||||
| 		"last_update": "Letztes Update", | ||||
| 		"lifetime": "Dauer", | ||||
| 		"outputmode": "Ausgabemodus", | ||||
| 		"last_update": "Letztes Update", | ||||
| 		"types": "Typen" | ||||
| 	}, | ||||
| 	"trace": { | ||||
| @@ -816,6 +816,7 @@ | ||||
| 		"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", | ||||
| 		"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": { | ||||
| 		"connection_failed": "Failed to create connection. Error: {{error}}", | ||||
| 		"interval": "Interval", | ||||
| 		"last_update": "Last Update", | ||||
| 		"lifetime": "Duration", | ||||
| 		"outputmode": "Output Mode", | ||||
| 		"last_update": "Last Update", | ||||
| 		"types": "Types" | ||||
| 	}, | ||||
| 	"trace": { | ||||
| @@ -816,6 +816,7 @@ | ||||
| 		"radios": "Radios", | ||||
| 		"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", | ||||
| 		"vendor": "Vendor" | ||||
| 		"vendor": "Vendor", | ||||
| 		"waiting_for_data": "Waiting to receive device data. Please check again later" | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -719,9 +719,9 @@ | ||||
| 	"telemetry": { | ||||
| 		"connection_failed": "No se pudo crear la conexión. Error: {{error}}", | ||||
| 		"interval": "intervalo", | ||||
| 		"last_update": "Última actualización", | ||||
| 		"lifetime": "Duración", | ||||
| 		"outputmode": "Modo salida", | ||||
| 		"last_update": "Última actualización", | ||||
| 		"types": "Los tipos" | ||||
| 	}, | ||||
| 	"trace": { | ||||
| @@ -816,6 +816,7 @@ | ||||
| 		"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", | ||||
| 		"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": { | ||||
| 		"connection_failed": "Échec de la création de la connexion. Erreur : {{error}}", | ||||
| 		"interval": "Intervalle", | ||||
| 		"last_update": "Dernière mise à jour", | ||||
| 		"lifetime": "Durée", | ||||
| 		"outputmode": "Mode de sortie", | ||||
| 		"last_update": "Dernière mise à jour", | ||||
| 		"types": "Les types" | ||||
| 	}, | ||||
| 	"trace": { | ||||
| @@ -816,6 +816,7 @@ | ||||
| 		"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", | ||||
| 		"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": { | ||||
| 		"connection_failed": "Falha ao criar conexão. Erro: {{error}}", | ||||
| 		"interval": "intervalo", | ||||
| 		"last_update": "Última atualização", | ||||
| 		"lifetime": "Duração", | ||||
| 		"outputmode": "Modo saída", | ||||
| 		"last_update": "Última atualização", | ||||
| 		"types": "Tipos" | ||||
| 	}, | ||||
| 	"trace": { | ||||
| @@ -816,6 +816,7 @@ | ||||
| 		"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", | ||||
| 		"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 PropTypes from 'prop-types'; | ||||
| 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 = () => { | ||||
|     setLastUpdate(''); | ||||
|     setLastMessage({}); | ||||
| @@ -82,14 +93,13 @@ const TelemetryModal = ({ show, toggle }) => { | ||||
|       .then((response) => { | ||||
|         if (chosenMethod === 'true') { | ||||
|           addToast({ | ||||
|               title: t('common.success'), | ||||
|               body: t('commands.command_success'), | ||||
|               color: 'success', | ||||
|               autohide: true, | ||||
|             }); | ||||
|             title: t('common.success'), | ||||
|             body: t('commands.command_success'), | ||||
|             color: 'success', | ||||
|             autohide: true, | ||||
|           }); | ||||
|           toggle(); | ||||
|         } | ||||
|         else if (response.data.uri && response.data.uri !== '') { | ||||
|         } else if (response.data.uri && response.data.uri !== '') { | ||||
|           setReceivedMessages(0); | ||||
|           setSocket(new WebSocket(response.data.uri)); | ||||
|         } | ||||
| @@ -259,7 +269,7 @@ const TelemetryModal = ({ show, toggle }) => { | ||||
|             </CRow> | ||||
|             <CRow> | ||||
|               <CCol> | ||||
|                 <pre>{JSON.stringify(lastMessage, null, 2)}</pre> | ||||
|                 <pre>{JSON.stringify(msgToDisplay, null, 2)}</pre> | ||||
|               </CCol> | ||||
|             </CRow> | ||||
|             <CRow> | ||||
|   | ||||
| @@ -238,7 +238,7 @@ const WifiAnalysis = () => { | ||||
|  | ||||
|   return ( | ||||
|     <div> | ||||
|       <CCard> | ||||
|       <CCard className="mb-0"> | ||||
|         <CCardHeader className="dark-header d-flex flex-row-reverse align-items-center"> | ||||
|           <div className="pl-2"> | ||||
|             <CPopover content={t('common.refresh')}> | ||||
| @@ -254,35 +254,47 @@ const WifiAnalysis = () => { | ||||
|           </div> | ||||
|         </CCardHeader> | ||||
|         <CCardBody> | ||||
|           <CRow className="mb-4"> | ||||
|             <CCol className="text-center"> | ||||
|               <input | ||||
|                 type="range" | ||||
|                 style={{ width: '80%' }} | ||||
|                 className="form-range" | ||||
|                 min="0" | ||||
|                 max={range} | ||||
|                 step="1" | ||||
|                 onChange={(e) => updateSelectedStats(e.target.value)} | ||||
|                 defaultValue={range} | ||||
|                 disabled={!selectedRadioStats} | ||||
|               /> | ||||
|               <h5> | ||||
|                 {t('common.timestamp')}: {tableTime} | ||||
|               </h5> | ||||
|             </CCol> | ||||
|           </CRow> | ||||
|           <div className="overflow-auto" style={{ height: 'calc(100vh - 300px)' }}> | ||||
|             <h5 className="pb-3 text-center">{t('wifi_analysis.radios')}</h5> | ||||
|             <RadioAnalysisTable data={selectedRadioStats ?? []} 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> | ||||
|           {!loading && parsedAssociationStats.length === 0 ? ( | ||||
|             <div className="text-center"> | ||||
|               <h3>{t('wifi_analysis.waiting_for_data')}</h3> | ||||
|             </div> | ||||
|           ) : ( | ||||
|             <> | ||||
|               <CRow className="mb-4"> | ||||
|                 <CCol className="text-center"> | ||||
|                   <input | ||||
|                     type="range" | ||||
|                     style={{ width: '80%' }} | ||||
|                     className="form-range" | ||||
|                     min="0" | ||||
|                     max={range} | ||||
|                     step="1" | ||||
|                     onChange={(e) => updateSelectedStats(e.target.value)} | ||||
|                     defaultValue={range} | ||||
|                     disabled={!selectedRadioStats} | ||||
|                   /> | ||||
|                   <h5> | ||||
|                     {t('common.timestamp')}: {tableTime} | ||||
|                   </h5> | ||||
|                 </CCol> | ||||
|               </CRow> | ||||
|               <div className="overflow-auto" style={{ height: 'calc(100vh - 300px)' }}> | ||||
|                 <h5 className="pb-3 text-center">{t('wifi_analysis.radios')}</h5> | ||||
|                 <RadioAnalysisTable | ||||
|                   data={selectedRadioStats ?? []} | ||||
|                   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> | ||||
|       </CCard> | ||||
|       <CModal size="xl" show={showModal} onClose={toggleModal}> | ||||
|   | ||||
| @@ -82,7 +82,7 @@ const WifiScanModal = ({ show, toggleModal }) => { | ||||
|     setActiveScan(false); | ||||
|     setHideOptions(false); | ||||
|     setErrorCode(0); | ||||
|     setIes(undefined); | ||||
|     setIes([]); | ||||
|   }, [show]); | ||||
|  | ||||
|   const parseThroughList = (scanList) => { | ||||
| @@ -164,7 +164,7 @@ const WifiScanModal = ({ show, toggleModal }) => { | ||||
|       override_dfs: dfs, | ||||
|       bandwidth: bandwidth !== '' ? bandwidth : undefined, | ||||
|       activeScan, | ||||
|       ies: ies.length > 0 ? ies.map(({ value }) => value) : undefined, | ||||
|       ies: ies?.length > 0 ? ies.map(({ value }) => value) : undefined, | ||||
|     }; | ||||
|     const headers = { | ||||
|       Accept: 'application/json', | ||||
|   | ||||
		Reference in New Issue
	
	Block a user