Merge pull request #48 from stephb9959/dev

Version 2.2.11
This commit is contained in:
Charles
2021-10-19 11:40:52 -04:00
committed by GitHub
9 changed files with 175 additions and 16 deletions

18
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "ucentral-client",
"version": "2.2.8",
"version": "2.2.11",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "ucentral-client",
"version": "2.2.8",
"version": "2.2.11",
"dependencies": {
"@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.1",
@@ -32,7 +32,7 @@
"react-tooltip": "^4.2.21",
"react-widgets": "^5.1.1",
"sass": "^1.35.1",
"ucentral-libs": "^0.9.62",
"ucentral-libs": "^0.9.71",
"uuid": "^8.3.2"
},
"devDependencies": {
@@ -14842,9 +14842,9 @@
}
},
"node_modules/ucentral-libs": {
"version": "0.9.62",
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.62.tgz",
"integrity": "sha512-teqIoFOkALEFzqRwdEuLWoDgIOiLhUt+ZDiS2ygYmqVsbCQZWUk/iOEpfLr1ZkRcEUtOPdrjqIRF5HrMopAPHA==",
"version": "0.9.71",
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.71.tgz",
"integrity": "sha512-5TqSqbya2WO9wzfTnpVemVhG2sOoB8PwdXlU/XvVGKCUFuGBYbeDIcW2O5VRwSZsuwQkaB3r6SdAeOMdIZ9Obw==",
"dependencies": {
"@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.1",
@@ -27711,9 +27711,9 @@
}
},
"ucentral-libs": {
"version": "0.9.62",
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.62.tgz",
"integrity": "sha512-teqIoFOkALEFzqRwdEuLWoDgIOiLhUt+ZDiS2ygYmqVsbCQZWUk/iOEpfLr1ZkRcEUtOPdrjqIRF5HrMopAPHA==",
"version": "0.9.71",
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.71.tgz",
"integrity": "sha512-5TqSqbya2WO9wzfTnpVemVhG2sOoB8PwdXlU/XvVGKCUFuGBYbeDIcW2O5VRwSZsuwQkaB3r6SdAeOMdIZ9Obw==",
"requires": {
"@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.1",

View File

@@ -1,6 +1,6 @@
{
"name": "ucentral-client",
"version": "2.2.8",
"version": "2.2.11",
"dependencies": {
"@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.1",
@@ -26,7 +26,7 @@
"react-tooltip": "^4.2.21",
"react-widgets": "^5.1.1",
"sass": "^1.35.1",
"ucentral-libs": "^0.9.62",
"ucentral-libs": "^0.9.71",
"uuid": "^8.3.2"
},
"main": "index.js",

View File

@@ -239,6 +239,32 @@
"connect": {
"error_trying_to_connect": "Fehler beim Versuch, eine Verbindung zum Gerät herzustellen: {{error}}"
},
"contact": {
"access_pin": "Zugangs-PIN",
"create_contact": "Kontakt erstellen",
"error_assign": "Fehler beim Versuch, Kontakt zuzuweisen: {{error}}",
"error_creation": "Fehler beim Versuch, einen Kontakt zu erstellen: {{error}}",
"error_delete": "Fehler beim Löschen",
"error_fetching_list": "Fehler beim Abrufen der Kontakte",
"error_fetching_single": "Fehler beim Abrufen des Kontakts: {{error}}",
"error_unassign": "Fehler beim Versuch, die Zuweisung des Kontakts aufzuheben: {{error}}",
"first_name": "Vorname",
"initials": "Initialen",
"last_name": "Nachname",
"primary_email": "Erste Email",
"salutation": "Anrede",
"secondary_email": "Alternative Email",
"successful_assign": "Kontakt erfolgreich zugewiesen!",
"successful_creation": "Kontakt Erstellt!",
"successful_delete": "Kontakt erfolgreich gelöscht!",
"successful_unassign": "Erfolgreich nicht zugewiesener Kontakt",
"successful_update": "Kontakt erfolgreich aktualisiert",
"title": "Kontakte",
"type": "Art",
"update_error": "Fehler beim Aktualisieren des Kontakts: {{error}}",
"user_title": "Titel",
"visual": "Korrespondenzname"
},
"delete_command": {
"explanation": "Möchten Sie diesen Befehl wirklich löschen? Diese Aktion ist nicht umkehrbar.",
"title": "Befehl löschen"
@@ -279,9 +305,12 @@
"error_saving": "Fehler beim Speichern der Entität",
"ip_detection": "IP-Erkennung",
"ip_formats": "Sie können IPv4- oder IPv6-Adressen in den folgenden Formaten hinzufügen:",
"need_select_entity": "sSie müssen eine Entität aus der folgenden Tabelle auswählen",
"no_ips": "Keine IPs ausgewählt",
"not_assigned": "Nicht zugeordnet",
"only_unassigned": "Nur nicht zugewiesen",
"select_entity": "Wählen Sie diese Entität aus",
"selected_entity": "Ausgewählte Einheit",
"update_failure_error": "Fehler beim Versuch, die Entität zu aktualisieren: {{error}}",
"valid_serial": "Muss eine gültige Seriennummer sein (12 HEX-Zeichen)",
"venues": "Veranstaltungsorte"

View File

@@ -239,6 +239,32 @@
"connect": {
"error_trying_to_connect": "Error while trying to connect to device: {{error}}"
},
"contact": {
"access_pin": "Access PIN",
"create_contact": "Create Contact",
"error_assign": "Error while trying to assign contact: {{error}}",
"error_creation": "Error while trying to create contact: {{error}}",
"error_delete": "Error trying to delete",
"error_fetching_list": "Error fetching contacts",
"error_fetching_single": "Error fetching contact: {{error}}",
"error_unassign": "Error while trying to unassign contact: {{error}}",
"first_name": "First Name",
"initials": "Initials",
"last_name": "Last Name",
"primary_email": "Primary Email",
"salutation": "Salutation",
"secondary_email": "Secondary Email",
"successful_assign": "Successfully assigned contact!",
"successful_creation": "Contact Created!",
"successful_delete": "Successfully Deleted Contact!",
"successful_unassign": "Successfully Unassigned Contact",
"successful_update": "Successfully Updated Contact",
"title": "Contacts",
"type": "Type",
"update_error": "Error updating contact: {{error}}",
"user_title": "Title",
"visual": "Correspondence Name"
},
"delete_command": {
"explanation": "Are you sure you want to delete this command? This action is not reversible.",
"title": "Delete Command"
@@ -279,9 +305,12 @@
"error_saving": "Error while saving entity",
"ip_detection": "IP Detection",
"ip_formats": "You can add IPv4 or IPv6 addresses in the following formats:",
"need_select_entity": "You need to select an entity from the table below",
"no_ips": "No IPs selected",
"not_assigned": "Not Assigned",
"only_unassigned": "Only Unassigned",
"select_entity": "Select this Entity",
"selected_entity": "Selected Entity",
"update_failure_error": "Error while trying to update entity: {{error}}",
"valid_serial": "Needs to be a valid serial number (12 HEX characters)",
"venues": "Venues"

View File

@@ -239,6 +239,32 @@
"connect": {
"error_trying_to_connect": "Error al intentar conectarse al dispositivo: {{error}}"
},
"contact": {
"access_pin": "PIN de acceso",
"create_contact": "Crear contacto",
"error_assign": "Error al intentar asignar el contacto: {{error}}",
"error_creation": "Error al intentar crear contacto: {{error}}",
"error_delete": "Error al intentar eliminar",
"error_fetching_list": "Error al obtener los contactos",
"error_fetching_single": "Error al obtener el contacto: {{error}}",
"error_unassign": "Error al intentar anular la asignación del contacto: {{error}}",
"first_name": "Nombre de pila",
"initials": "Iniciales",
"last_name": "Apellido",
"primary_email": "Correo electrónico principal",
"salutation": "saludo",
"secondary_email": "Email secundario",
"successful_assign": "¡Contacto asignado correctamente!",
"successful_creation": "Contacto Creado!",
"successful_delete": "¡Contacto eliminado con éxito!",
"successful_unassign": "Contacto no asignado correctamente",
"successful_update": "Contacto actualizado con éxito",
"title": "Contactos",
"type": "Tipo",
"update_error": "Error al actualizar el contacto: {{error}}",
"user_title": "Título",
"visual": "Nombre de correspondencia"
},
"delete_command": {
"explanation": "¿Está seguro de que desea eliminar este comando? Esta acción no es reversible.",
"title": "Eliminar comando"
@@ -279,9 +305,12 @@
"error_saving": "Error al guardar la entidad",
"ip_detection": "Detección de IP",
"ip_formats": "Puede agregar direcciones IPv4 o IPv6 en los siguientes formatos:",
"need_select_entity": "Debe seleccionar una entidad de la siguiente tabla",
"no_ips": "No se seleccionaron direcciones IP",
"not_assigned": "No asignado",
"only_unassigned": "Solo sin asignar",
"select_entity": "Seleccione esta entidad",
"selected_entity": "Entidad seleccionada",
"update_failure_error": "Error al intentar actualizar la entidad: {{error}}",
"valid_serial": "Debe ser un número de serie válido (12 caracteres HEX)",
"venues": "Sedes"

View File

@@ -239,6 +239,32 @@
"connect": {
"error_trying_to_connect": "Erreur lors de la tentative de connexion à l'appareil : {{error}}"
},
"contact": {
"access_pin": "NIP d'accès",
"create_contact": "Créer un contact",
"error_assign": "Erreur lors de la tentative d'attribution du contact : {{error}}",
"error_creation": "Erreur lors de la tentative de création du contact : {{error}}",
"error_delete": "Erreur lors de la tentative de suppression",
"error_fetching_list": "Erreur lors de la récupération des contacts",
"error_fetching_single": "Erreur lors de la récupération du contact : {{error}}",
"error_unassign": "Erreur lors de la tentative de désattribution du contact : {{error}}",
"first_name": "Prénom",
"initials": "Initiales",
"last_name": "Nom de famille",
"primary_email": "Email primaire",
"salutation": "salutation",
"secondary_email": "Email secondaire",
"successful_assign": "Contact attribué avec succès !",
"successful_creation": "Contact créé!",
"successful_delete": "Contact supprimé avec succès !",
"successful_unassign": "Contact non attribué avec succès",
"successful_update": "Contact mis à jour avec succès",
"title": "Contacts",
"type": "Type",
"update_error": "Erreur lors de la mise à jour du contact : {{error}}",
"user_title": "Titre",
"visual": "Nom de la correspondance"
},
"delete_command": {
"explanation": "Êtes-vous sûr de vouloir supprimer cette commande ? Cette action n'est pas réversible.",
"title": "Supprimer la commande"
@@ -279,9 +305,12 @@
"error_saving": "Erreur lors de l'enregistrement de l'entité",
"ip_detection": "Détection IP",
"ip_formats": "Vous pouvez ajouter des adresses IPv4 ou IPv6 aux formats suivants :",
"need_select_entity": "Vous devez sélectionner une entité dans le tableau ci-dessous",
"no_ips": "Aucune adresse IP sélectionnée",
"not_assigned": "Non attribué",
"only_unassigned": "Uniquement non attribué",
"select_entity": "Sélectionnez cette entité",
"selected_entity": "Entité sélectionnée",
"update_failure_error": "Erreur lors de la tentative de mise à jour de l'entité : {{error}}",
"valid_serial": "Doit être un numéro de série valide (12 caractères HEX)",
"venues": "Les lieux"

View File

@@ -239,6 +239,32 @@
"connect": {
"error_trying_to_connect": "Erro ao tentar conectar ao dispositivo: {{error}}"
},
"contact": {
"access_pin": "PIN de acesso",
"create_contact": "Criar Contato",
"error_assign": "Erro ao tentar atribuir contato: {{error}}",
"error_creation": "Erro ao tentar criar contato: {{error}}",
"error_delete": "Erro ao tentar excluir",
"error_fetching_list": "Erro ao buscar contatos",
"error_fetching_single": "Erro ao buscar contato: {{error}}",
"error_unassign": "Erro ao tentar cancelar a atribuição do contato: {{error}}",
"first_name": "Primeiro nome",
"initials": "Iniciais",
"last_name": "Último nome",
"primary_email": "e-mail primário",
"salutation": "Saudação",
"secondary_email": "Email secundário",
"successful_assign": "Contato atribuído com sucesso!",
"successful_creation": "Contato criado!",
"successful_delete": "Contato excluído com sucesso!",
"successful_unassign": "Contato não atribuído com sucesso",
"successful_update": "Contato atualizado com sucesso",
"title": "Contatos",
"type": "Tipo",
"update_error": "Erro ao atualizar contato: {{error}}",
"user_title": "Título",
"visual": "Nome para Correspondência"
},
"delete_command": {
"explanation": "Tem certeza de que deseja excluir este comando? esta ação não é reversível.",
"title": "Apagar Comando"
@@ -279,9 +305,12 @@
"error_saving": "Erro ao salvar entidade",
"ip_detection": "Detecção de IP",
"ip_formats": "Você pode adicionar endereços IPv4 ou IPv6 nos seguintes formatos:",
"need_select_entity": "Você precisa selecionar uma entidade da tabela abaixo",
"no_ips": "Nenhum IP selecionado",
"not_assigned": "Não atribuído",
"only_unassigned": "Apenas não atribuídos",
"select_entity": "Selecione esta Entidade",
"selected_entity": "Entidade Selecionada",
"update_failure_error": "Erro ao tentar atualizar a entidade: {{error}}",
"valid_serial": "Precisa ser um número de série válido (12 caracteres HEX)",
"venues": "Locais"

View File

@@ -4,6 +4,12 @@ import { useTranslation } from 'react-i18next';
import PropTypes from 'prop-types';
import 'react-widgets/styles.css';
const parseDbm = (value) => {
if (!value) return '-';
if (value > -150 && value < 100) return value;
return 4294967295 + value;
};
const WifiChannelCard = ({ channel }) => {
const { t } = useTranslation();
const columns = [{ key: 'SSID', _style: { width: '70%' } }, { key: 'Signal' }];
@@ -17,7 +23,14 @@ const WifiChannelCard = ({ channel }) => {
</CCardHeader>
<CCardBody>
<div className="overflow-auto" style={{ height: '250px' }}>
<CDataTable items={channel.devices} fields={columns} className="text-white" />
<CDataTable
items={channel.devices}
fields={columns}
className="text-white"
scopedSlots={{
Signal: (item) => <td>{parseDbm(item.Signal)}</td>,
}}
/>
</div>
</CCardBody>
</CCard>

View File

@@ -22,6 +22,7 @@ import CIcon from '@coreui/icons-react';
import { cilX } from '@coreui/icons';
const parseDbm = (value) => {
if (!value) return '-';
if (value > -150 && value < 100) return value;
return (4294967295 - value) * -1;
};
@@ -82,7 +83,7 @@ const WifiAnalysisPage = () => {
channel: radio.channel,
channelWidth: radio.channel_width,
noise: radio.noise ? parseDbm(radio.noise) : '-',
txPower: radio.tx_power,
txPower: radio.tx_power ?? '-',
activeMs: secondsToLabel(radio?.active_ms ? Math.floor(radio.active_ms / 1000) : 0),
busyMs: secondsToLabel(radio?.busy_ms ? Math.floor(radio.busy_ms / 1000) : 0),
receiveMs: secondsToLabel(radio?.receive_ms ? Math.floor(radio.receive_ms / 1000) : 0),
@@ -132,9 +133,9 @@ const WifiAnalysisPage = () => {
rxMcs: association.rx_rate.mcs ?? '-',
rxNss: association.rx_rate.nss ?? '-',
txBytes: cleanBytesString(association.tx_bytes, 0),
txMcs: association.tx_rate.mcs,
txNss: association.tx_rate.nss,
txRate: association.tx_rate.bitrate,
txMcs: association.tx_rate.mcs ?? '-',
txNss: association.tx_rate.nss ?? '-',
txRate: association.tx_rate.bitrate ?? '-',
timeStamp,
};
associations.push(data);