mirror of
				https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui.git
				synced 2025-10-31 02:38:01 +00:00 
			
		
		
		
	Compare commits
	
		
			14 Commits
		
	
	
		
			release/v3
			...
			v3.2.0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 460ba9eee7 | ||
|   | 788e1f59bd | ||
|   | d1a1c96e74 | ||
|   | 1a18985c0d | ||
|   | 8eede7b559 | ||
|   | caab40b08e | ||
|   | 18fa320b19 | ||
|   | 6f9f6638d6 | ||
|   | 5688e2f7bc | ||
|   | 4738097178 | ||
|   | 591ecc3664 | ||
|   | b9089a39ac | ||
|   | b7bdf89d37 | ||
|   | 849ea9f7b2 | 
| @@ -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: v3.0.2-RC1 |     tag: v3.2.0 | ||||||
|     pullPolicy: Always |     pullPolicy: Always | ||||||
|  |  | ||||||
| services: | services: | ||||||
|   | |||||||
							
								
								
									
										21
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										21
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,12 +1,12 @@ | |||||||
| { | { | ||||||
|   "name": "ucentral-client", |   "name": "ucentral-client", | ||||||
|   "version": "3.0.2(9)", |   "version": "3.1.0(5)", | ||||||
|   "lockfileVersion": 3, |   "lockfileVersion": 3, | ||||||
|   "requires": true, |   "requires": true, | ||||||
|   "packages": { |   "packages": { | ||||||
|     "": { |     "": { | ||||||
|       "name": "ucentral-client", |       "name": "ucentral-client", | ||||||
|       "version": "3.0.2(9)", |       "version": "3.1.0(5)", | ||||||
|       "license": "ISC", |       "license": "ISC", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@chakra-ui/anatomy": "^2.1.1", |         "@chakra-ui/anatomy": "^2.1.1", | ||||||
| @@ -5671,8 +5671,9 @@ | |||||||
|       "license": "MIT" |       "license": "MIT" | ||||||
|     }, |     }, | ||||||
|     "node_modules/ejs": { |     "node_modules/ejs": { | ||||||
|       "version": "3.1.8", |       "version": "3.1.10", | ||||||
|       "license": "Apache-2.0", |       "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", | ||||||
|  |       "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "jake": "^10.8.5" |         "jake": "^10.8.5" | ||||||
|       }, |       }, | ||||||
| @@ -6682,9 +6683,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/follow-redirects": { |     "node_modules/follow-redirects": { | ||||||
|       "version": "1.15.4", |       "version": "1.15.6", | ||||||
|       "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", |       "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", | ||||||
|       "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", |       "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", | ||||||
|       "funding": [ |       "funding": [ | ||||||
|         { |         { | ||||||
|           "type": "individual", |           "type": "individual", | ||||||
| @@ -10442,9 +10443,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/vite": { |     "node_modules/vite": { | ||||||
|       "version": "4.5.2", |       "version": "4.5.3", | ||||||
|       "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz", |       "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz", | ||||||
|       "integrity": "sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==", |       "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "esbuild": "^0.18.10", |         "esbuild": "^0.18.10", | ||||||
|         "postcss": "^8.4.27", |         "postcss": "^8.4.27", | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "ucentral-client", |   "name": "ucentral-client", | ||||||
|   "version": "3.0.2(9)", |   "version": "3.2.0", | ||||||
|   "description": "", |   "description": "", | ||||||
|   "private": true, |   "private": true, | ||||||
|   "main": "index.tsx", |   "main": "index.tsx", | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								public/devices/asterfusion_CX204Y-24GT-M-SWP4.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								public/devices/asterfusion_CX204Y-24GT-M-SWP4.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 294 KiB | 
							
								
								
									
										
											BIN
										
									
								
								public/devices/asterfusion_CX204Y-48GT-M-SWP4.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								public/devices/asterfusion_CX204Y-48GT-M-SWP4.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 394 KiB | 
| @@ -173,7 +173,7 @@ const DeviceActionDropdown = ({ | |||||||
|           isLoading={isRtty} |           isLoading={isRtty} | ||||||
|           onClick={handleConnectClick} |           onClick={handleConnectClick} | ||||||
|           colorScheme={connectColor} |           colorScheme={connectColor} | ||||||
|           hidden={isCompact || deviceType !== 'ap'} |           hidden={isCompact} | ||||||
|         /> |         /> | ||||||
|       </Tooltip> |       </Tooltip> | ||||||
|       <Tooltip label={t('controller.configure.title')}> |       <Tooltip label={t('controller.configure.title')}> | ||||||
|   | |||||||
| @@ -25,6 +25,7 @@ import { useTranslation } from 'react-i18next'; | |||||||
| import { Modal } from '../Modal'; | import { Modal } from '../Modal'; | ||||||
| import { lowercaseFirstLetter } from 'helpers/stringHelper'; | import { lowercaseFirstLetter } from 'helpers/stringHelper'; | ||||||
| import { useTelemetry } from 'hooks/Network/Telemetry'; | import { useTelemetry } from 'hooks/Network/Telemetry'; | ||||||
|  | import { secondsDuration } from 'helpers/dateFormatting'; | ||||||
|  |  | ||||||
| export type TelemetryModalProps = { | export type TelemetryModalProps = { | ||||||
|   serialNumber: string; |   serialNumber: string; | ||||||
| @@ -146,8 +147,7 @@ const _TelemetryModal = ({ serialNumber, modalProps }: TelemetryModalProps) => { | |||||||
|               {t('controller.telemetry.interval')}: {form.interval} {lowercaseFirstLetter(t('common.seconds'))} |               {t('controller.telemetry.interval')}: {form.interval} {lowercaseFirstLetter(t('common.seconds'))} | ||||||
|             </p> |             </p> | ||||||
|             <p> |             <p> | ||||||
|               {t('controller.telemetry.duration')}: {form.interval}{' '} |               {t('controller.telemetry.duration')}: {secondsDuration(form.lifetime, t)} | ||||||
|               {lowercaseFirstLetter(t('controller.telemetry.minutes'))} |  | ||||||
|             </p> |             </p> | ||||||
|             <p> |             <p> | ||||||
|               {t('controller.telemetry.types')}: {form.types.join(', ')} |               {t('controller.telemetry.types')}: {form.types.join(', ')} | ||||||
|   | |||||||
| @@ -59,6 +59,7 @@ export type DeviceInterfaceStatistics = { | |||||||
|       dynamic_vlan?: number; |       dynamic_vlan?: number; | ||||||
|       inactive: number; |       inactive: number; | ||||||
|       ipaddr_v4: string; |       ipaddr_v4: string; | ||||||
|  |       fingerprint?: object; | ||||||
|       rssi: number; |       rssi: number; | ||||||
|       rx_bytes: number; |       rx_bytes: number; | ||||||
|       rx_duration: number; |       rx_duration: number; | ||||||
|   | |||||||
| @@ -65,6 +65,8 @@ const DeviceSummary = ({ serialNumber }: Props) => { | |||||||
|   const getDeviceCompatible = () => { |   const getDeviceCompatible = () => { | ||||||
|     if (!getDevice.data?.compatible) return undefined; |     if (!getDevice.data?.compatible) return undefined; | ||||||
|  |  | ||||||
|  |     if (getDevice.data.compatible.includes(' ')) return getDevice.data.compatible.replaceAll(' ', '_'); | ||||||
|  |  | ||||||
|     return getDevice.data?.compatible; |     return getDevice.data?.compatible; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -28,6 +28,7 @@ export type ParsedAssociation = { | |||||||
|   txNss: number | string; |   txNss: number | string; | ||||||
|   recorded: number; |   recorded: number; | ||||||
|   dynamicVlan?: number; |   dynamicVlan?: number; | ||||||
|  |   fingerprint?: object; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| type Props = { | type Props = { | ||||||
| @@ -77,6 +78,14 @@ const WifiAnalysisAssociationsTable = ({ data, ouis, isSingle }: Props) => { | |||||||
|         isMonospace: true, |         isMonospace: true, | ||||||
|         alwaysShow: true, |         alwaysShow: true, | ||||||
|       }, |       }, | ||||||
|  |       { | ||||||
|  |         id: 'ssid', | ||||||
|  |         Header: 'SSID', | ||||||
|  |         Footer: '', | ||||||
|  |         accessor: 'ssid', | ||||||
|  |         customWidth: '35px', | ||||||
|  |         alwaysShow: true, | ||||||
|  |       }, | ||||||
|       { |       { | ||||||
|         id: 'ips', |         id: 'ips', | ||||||
|         Header: 'IPs', |         Header: 'IPs', | ||||||
| @@ -84,6 +93,13 @@ const WifiAnalysisAssociationsTable = ({ data, ouis, isSingle }: Props) => { | |||||||
|         Cell: (v) => ipCell(v.cell.row.original), |         Cell: (v) => ipCell(v.cell.row.original), | ||||||
|         disableSortBy: true, |         disableSortBy: true, | ||||||
|       }, |       }, | ||||||
|  |       { | ||||||
|  |         id: 'fingerprint', | ||||||
|  |         Header: 'Fingerprint', | ||||||
|  |         Footer: '', | ||||||
|  |         Cell: (v) => Object.values(v.cell.row.original.fingerprint ?? {}).join(', '), | ||||||
|  |         disableSortBy: true, | ||||||
|  |       }, | ||||||
|       { |       { | ||||||
|         id: 'vendor', |         id: 'vendor', | ||||||
|         Header: t('controller.wifi.vendor'), |         Header: t('controller.wifi.vendor'), | ||||||
|   | |||||||
| @@ -105,6 +105,7 @@ const parseAssociations = (data: { data: DeviceStatistics; recorded: number }, r | |||||||
|           txNss: association.tx_rate.nss ?? '-', |           txNss: association.tx_rate.nss ?? '-', | ||||||
|           recorded: data.recorded, |           recorded: data.recorded, | ||||||
|           dynamicVlan: association.dynamic_vlan, |           dynamicVlan: association.dynamic_vlan, | ||||||
|  |           fingerprint: association.fingerprint, | ||||||
|         }); |         }); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user