Merge pull request #68 from stephb9959/dev

2.3.11
This commit is contained in:
Charles
2021-11-01 17:29:01 -04:00
committed by GitHub
13 changed files with 186 additions and 46 deletions

18
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "ucentral-client", "name": "ucentral-client",
"version": "2.3.9", "version": "2.3.11",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ucentral-client", "name": "ucentral-client",
"version": "2.3.9", "version": "2.3.11",
"dependencies": { "dependencies": {
"@coreui/coreui": "^3.4.0", "@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.1", "@coreui/icons": "^2.0.1",
@@ -32,7 +32,7 @@
"react-tooltip": "^4.2.21", "react-tooltip": "^4.2.21",
"react-widgets": "^5.1.1", "react-widgets": "^5.1.1",
"sass": "^1.35.1", "sass": "^1.35.1",
"ucentral-libs": "^0.9.98", "ucentral-libs": "^1.0.5",
"uuid": "^8.3.2" "uuid": "^8.3.2"
}, },
"devDependencies": { "devDependencies": {
@@ -14842,9 +14842,9 @@
} }
}, },
"node_modules/ucentral-libs": { "node_modules/ucentral-libs": {
"version": "0.9.98", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.98.tgz", "resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-1.0.5.tgz",
"integrity": "sha512-Fwn0sqFS2u5bIN5gtbslgAZnki2J4iz6ucGVJmKdvghm+E45+KYFC2yGWGNlBfBkKIsSDlSIIhQHFEo0JTTCZg==", "integrity": "sha512-AI/opiiwxivcKDmXlnKKEHsFb2lBruzCb2e8BEXGsZ2ECtCQRj4tnvoxuejc1H8PLUyU2uT0UAnNFkCm4QwMGA==",
"dependencies": { "dependencies": {
"@coreui/coreui": "^3.4.0", "@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.1", "@coreui/icons": "^2.0.1",
@@ -27716,9 +27716,9 @@
} }
}, },
"ucentral-libs": { "ucentral-libs": {
"version": "0.9.98", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.98.tgz", "resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-1.0.5.tgz",
"integrity": "sha512-Fwn0sqFS2u5bIN5gtbslgAZnki2J4iz6ucGVJmKdvghm+E45+KYFC2yGWGNlBfBkKIsSDlSIIhQHFEo0JTTCZg==", "integrity": "sha512-AI/opiiwxivcKDmXlnKKEHsFb2lBruzCb2e8BEXGsZ2ECtCQRj4tnvoxuejc1H8PLUyU2uT0UAnNFkCm4QwMGA==",
"requires": { "requires": {
"@coreui/coreui": "^3.4.0", "@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.1", "@coreui/icons": "^2.0.1",

View File

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

View File

@@ -54,6 +54,7 @@
"completed": "Abgeschlossen", "completed": "Abgeschlossen",
"config_id": "Konfigurations ID", "config_id": "Konfigurations ID",
"confirm": "Bestätigen", "confirm": "Bestätigen",
"confirm_stop_editing": "Möchten Sie die Bearbeitung wirklich beenden? Dadurch werden alle nicht gespeicherten Änderungen, die Sie vorgenommen haben, verworfen.",
"connected": "Verbindung wurde hergestellt", "connected": "Verbindung wurde hergestellt",
"copied": "kopiert!", "copied": "kopiert!",
"copy_to_clipboard": "In die Zwischenablage kopieren", "copy_to_clipboard": "In die Zwischenablage kopieren",
@@ -102,6 +103,7 @@
"forgot_password_title": "Passwort vergessen", "forgot_password_title": "Passwort vergessen",
"from": "Von", "from": "Von",
"general_error": "API-Fehler, wenden Sie sich bitte an Ihren Administrator", "general_error": "API-Fehler, wenden Sie sich bitte an Ihren Administrator",
"go_back": "Geh zurück",
"hide": "verbergen", "hide": "verbergen",
"hour": "stunde", "hour": "stunde",
"hours": "std", "hours": "std",
@@ -121,6 +123,7 @@
"loading_more_ellipsis": "Mehr laden ...", "loading_more_ellipsis": "Mehr laden ...",
"logout": "Ausloggen", "logout": "Ausloggen",
"mac": "MAC-Adresse", "mac": "MAC-Adresse",
"main": "Main",
"manufacturer": "Hersteller", "manufacturer": "Hersteller",
"memory_used": "Verwendeter Speicher", "memory_used": "Verwendeter Speicher",
"minute": "Minute", "minute": "Minute",
@@ -155,6 +158,7 @@
"second": "zweite", "second": "zweite",
"seconds": "sekunden", "seconds": "sekunden",
"seconds_elapsed": "Sekunden verstrichen", "seconds_elapsed": "Sekunden verstrichen",
"see_details": "Siehe Einzelheiten",
"select": "wählen", "select": "wählen",
"serial_number": "Seriennummer", "serial_number": "Seriennummer",
"show_all": "Zeige alles", "show_all": "Zeige alles",
@@ -205,6 +209,7 @@
"device_password": "Passwort", "device_password": "Passwort",
"device_type": "Gerätetyp", "device_type": "Gerätetyp",
"device_types": "Gerätetypen", "device_types": "Gerätetypen",
"devices_affected": "Von dieser Konfiguration betroffene Geräte:",
"edit_configuration": "Konfiguration bearbeiten", "edit_configuration": "Konfiguration bearbeiten",
"error_delete": "Fehler beim Versuch zu löschen: {{error}}", "error_delete": "Fehler beim Versuch zu löschen: {{error}}",
"error_fetching_config": "Fehler beim Abrufen der Konfiguration", "error_fetching_config": "Fehler beim Abrufen der Konfiguration",
@@ -232,6 +237,7 @@
"used_by": "Benutzt von", "used_by": "Benutzt von",
"used_by_details": "{{entities}} Entitäten, {{venues}} Veranstaltungsorte und {{devices}} Geräte", "used_by_details": "{{entities}} Entitäten, {{venues}} Veranstaltungsorte und {{devices}} Geräte",
"uuid": "Konfigurations-ID", "uuid": "Konfigurations-ID",
"view_affected_devices": "Betroffene Geräte anzeigen",
"view_config": "Konfiguration anzeigen", "view_config": "Konfiguration anzeigen",
"view_in_use": "In Verwendung anzeigen", "view_in_use": "In Verwendung anzeigen",
"view_json": "Rohe Konfiguration anzeigen" "view_json": "Rohe Konfiguration anzeigen"
@@ -250,6 +256,7 @@
"access_pin": "Zugangs-PIN", "access_pin": "Zugangs-PIN",
"add_contact": "Kontakt hinzufügen", "add_contact": "Kontakt hinzufügen",
"create_contact": "Kontakt erstellen", "create_contact": "Kontakt erstellen",
"currently_selected_contact": "Aktuell ausgewählter Kontakt: {{contact}}",
"delete": "Kontakt löschen?", "delete": "Kontakt löschen?",
"error_assign": "Fehler beim Versuch, Kontakt zuzuweisen: {{error}}", "error_assign": "Fehler beim Versuch, Kontakt zuzuweisen: {{error}}",
"error_creation": "Fehler beim Versuch, einen Kontakt zu erstellen: {{error}}", "error_creation": "Fehler beim Versuch, einen Kontakt zu erstellen: {{error}}",
@@ -351,6 +358,7 @@
"latest_version_installed": "Neueste Version installiert Version", "latest_version_installed": "Neueste Version installiert Version",
"newer_firmware_available": "Neuere Versionen verfügbar", "newer_firmware_available": "Neuere Versionen verfügbar",
"reinstall_latest": "Neu installieren", "reinstall_latest": "Neu installieren",
"release": "Veröffentlichung",
"revision": "Revision", "revision": "Revision",
"show_dev": "Dev-Releases anzeigen", "show_dev": "Dev-Releases anzeigen",
"size": "Größe", "size": "Größe",
@@ -457,7 +465,8 @@
"unassigned_deleted_devices": "{{number}} Geräte gelöscht und nicht zugewiesen", "unassigned_deleted_devices": "{{number}} Geräte gelöscht und nicht zugewiesen",
"unassigned_tags": "Nicht zugewiesene Tags", "unassigned_tags": "Nicht zugewiesene Tags",
"validating_import_file": "Importdatei und -daten werden validiert...", "validating_import_file": "Importdatei und -daten werden validiert...",
"venue": "Tagungsort" "venue": "Tagungsort",
"view_in_gateway": "Im Gateway anzeigen"
}, },
"location": { "location": {
"add": "Ort hinzufügen", "add": "Ort hinzufügen",
@@ -465,13 +474,16 @@
"city": "Stadt", "city": "Stadt",
"country": "Land", "country": "Land",
"create": "Standort erstellen", "create": "Standort erstellen",
"currently_selected": "Aktuell ausgewählter Standort: {{location}}",
"delete": "Ort löschen?", "delete": "Ort löschen?",
"error_assign": "Fehler beim Versuch, den Standort zuzuweisen: {{error}}", "error_assign": "Fehler beim Versuch, den Standort zuzuweisen: {{error}}",
"error_creation": "Fehler beim Versuch, Standorte zu erstellen: {{error}}", "error_creation": "Fehler beim Versuch, Standorte zu erstellen: {{error}}",
"error_delete": "Fehler beim Löschen des Standorts: {{error}}", "error_delete": "Fehler beim Löschen des Standorts: {{error}}",
"error_fetching_single": "Fehler beim Versuch, den Standort abzurufen: {{error}}", "error_fetching_single": "Fehler beim Versuch, den Standort abzurufen: {{error}}",
"geocode": "GeoCode", "geocode": "GeoCode",
"mobiles": "MOBILES",
"no_associated": "Kein zugeordneter Standort", "no_associated": "Kein zugeordneter Standort",
"phones": "Telefone",
"postal": "Postleitzahl", "postal": "Postleitzahl",
"search": "Suchen Sie nach Standorten, um die Felder unten automatisch auszufüllen", "search": "Suchen Sie nach Standorten, um die Felder unten automatisch auszufüllen",
"state": "Zustand", "state": "Zustand",

View File

@@ -54,6 +54,7 @@
"completed": "Completed", "completed": "Completed",
"config_id": "Config. Id", "config_id": "Config. Id",
"confirm": "Confirm", "confirm": "Confirm",
"confirm_stop_editing": "Are you sure you want to stop editing? This will cancel any unsaved changes you have made.",
"connected": "Connected", "connected": "Connected",
"copied": "Copied!", "copied": "Copied!",
"copy_to_clipboard": "Copy to clipboard", "copy_to_clipboard": "Copy to clipboard",
@@ -102,6 +103,7 @@
"forgot_password_title": "Forgot Password", "forgot_password_title": "Forgot Password",
"from": "From", "from": "From",
"general_error": "API Error, please consult your administrator", "general_error": "API Error, please consult your administrator",
"go_back": "Go Back",
"hide": "Hide", "hide": "Hide",
"hour": "hour", "hour": "hour",
"hours": "hours", "hours": "hours",
@@ -121,6 +123,7 @@
"loading_more_ellipsis": "Loading more...", "loading_more_ellipsis": "Loading more...",
"logout": "Logout", "logout": "Logout",
"mac": "MAC Address", "mac": "MAC Address",
"main": "Main",
"manufacturer": "Manufacturer", "manufacturer": "Manufacturer",
"memory_used": "Memory Used", "memory_used": "Memory Used",
"minute": "minute", "minute": "minute",
@@ -155,6 +158,7 @@
"second": "second", "second": "second",
"seconds": "seconds", "seconds": "seconds",
"seconds_elapsed": "Seconds elapsed", "seconds_elapsed": "Seconds elapsed",
"see_details": "See Details",
"select": "Select", "select": "Select",
"serial_number": "Serial Number", "serial_number": "Serial Number",
"show_all": "Show All", "show_all": "Show All",
@@ -205,6 +209,7 @@
"device_password": "Password", "device_password": "Password",
"device_type": "Device Type", "device_type": "Device Type",
"device_types": "Device Types", "device_types": "Device Types",
"devices_affected": "Devices affected by this configuration: ",
"edit_configuration": "Edit Configuration", "edit_configuration": "Edit Configuration",
"error_delete": "Error while trying to delete: {{error}}", "error_delete": "Error while trying to delete: {{error}}",
"error_fetching_config": "Error while fetching configuration", "error_fetching_config": "Error while fetching configuration",
@@ -232,6 +237,7 @@
"used_by": "Used By", "used_by": "Used By",
"used_by_details": "{{entities}} Entities, {{venues}} Venues and {{devices}} Devices", "used_by_details": "{{entities}} Entities, {{venues}} Venues and {{devices}} Devices",
"uuid": "Config ID", "uuid": "Config ID",
"view_affected_devices": "View Affected Devices",
"view_config": "View Configuration", "view_config": "View Configuration",
"view_in_use": "View In Use", "view_in_use": "View In Use",
"view_json": "View raw JSON" "view_json": "View raw JSON"
@@ -250,6 +256,7 @@
"access_pin": "Access PIN", "access_pin": "Access PIN",
"add_contact": "Add Contact", "add_contact": "Add Contact",
"create_contact": "Create Contact", "create_contact": "Create Contact",
"currently_selected_contact": "Currently Selected Contact: {{contact}}",
"delete": "Delete Contact?", "delete": "Delete Contact?",
"error_assign": "Error while trying to assign contact: {{error}}", "error_assign": "Error while trying to assign contact: {{error}}",
"error_creation": "Error while trying to create contact: {{error}}", "error_creation": "Error while trying to create contact: {{error}}",
@@ -351,6 +358,7 @@
"latest_version_installed": "Latest Version Installed", "latest_version_installed": "Latest Version Installed",
"newer_firmware_available": "Newer Revisions Available", "newer_firmware_available": "Newer Revisions Available",
"reinstall_latest": "Reinstall ", "reinstall_latest": "Reinstall ",
"release": "Release",
"revision": "Revision", "revision": "Revision",
"show_dev": "Show Dev Releases", "show_dev": "Show Dev Releases",
"size": "Size", "size": "Size",
@@ -457,7 +465,8 @@
"unassigned_deleted_devices": "{{number}} Devices Deleted and Unassigned", "unassigned_deleted_devices": "{{number}} Devices Deleted and Unassigned",
"unassigned_tags": "Unassigned tags", "unassigned_tags": "Unassigned tags",
"validating_import_file": "Validating import file and data...", "validating_import_file": "Validating import file and data...",
"venue": "Venue" "venue": "Venue",
"view_in_gateway": "View in Gateway"
}, },
"location": { "location": {
"add": "Add Location", "add": "Add Location",
@@ -465,13 +474,16 @@
"city": "City", "city": "City",
"country": "Country", "country": "Country",
"create": "Create Location", "create": "Create Location",
"currently_selected": "Currently Selected Location: {{location}}",
"delete": "Delete Location?", "delete": "Delete Location?",
"error_assign": "Error while trying to assign location: {{error}}", "error_assign": "Error while trying to assign location: {{error}}",
"error_creation": "Error while trying to create locations: {{error}}", "error_creation": "Error while trying to create locations: {{error}}",
"error_delete": "Error while deleting location: {{error}}", "error_delete": "Error while deleting location: {{error}}",
"error_fetching_single": "Error while trying to fetch location: {{error}}", "error_fetching_single": "Error while trying to fetch location: {{error}}",
"geocode": "GeoCode", "geocode": "GeoCode",
"mobiles": "Mobiles",
"no_associated": "No Associated Location", "no_associated": "No Associated Location",
"phones": "Phones",
"postal": "ZIP/Postal Code", "postal": "ZIP/Postal Code",
"search": "Search locations to auto fill the fields below", "search": "Search locations to auto fill the fields below",
"state": "State", "state": "State",

View File

@@ -54,6 +54,7 @@
"completed": "terminado", "completed": "terminado",
"config_id": "Config. Identificación", "config_id": "Config. Identificación",
"confirm": "Confirmar", "confirm": "Confirmar",
"confirm_stop_editing": "¿Estás seguro de que quieres dejar de editar? Esto cancelará cualquier cambio no guardado que haya realizado.",
"connected": "Conectado", "connected": "Conectado",
"copied": "Copiado!", "copied": "Copiado!",
"copy_to_clipboard": "Copiar al portapapeles", "copy_to_clipboard": "Copiar al portapapeles",
@@ -102,6 +103,7 @@
"forgot_password_title": "Se te olvidó tu contraseña", "forgot_password_title": "Se te olvidó tu contraseña",
"from": "Desde", "from": "Desde",
"general_error": "Error de API, consulte a su administrador", "general_error": "Error de API, consulte a su administrador",
"go_back": "Regresa",
"hide": "Esconder", "hide": "Esconder",
"hour": "hora", "hour": "hora",
"hours": "horas", "hours": "horas",
@@ -121,6 +123,7 @@
"loading_more_ellipsis": "Cargando más ...", "loading_more_ellipsis": "Cargando más ...",
"logout": "Cerrar sesión", "logout": "Cerrar sesión",
"mac": "Dirección MAC", "mac": "Dirección MAC",
"main": "Principal",
"manufacturer": "Fabricante", "manufacturer": "Fabricante",
"memory_used": "Memoria usada", "memory_used": "Memoria usada",
"minute": "minuto", "minute": "minuto",
@@ -155,6 +158,7 @@
"second": "segundo", "second": "segundo",
"seconds": "segundos", "seconds": "segundos",
"seconds_elapsed": "Segundos transcurridos", "seconds_elapsed": "Segundos transcurridos",
"see_details": "Ver detalles",
"select": "Seleccionar", "select": "Seleccionar",
"serial_number": "Número de serie", "serial_number": "Número de serie",
"show_all": "Mostrar todo", "show_all": "Mostrar todo",
@@ -205,6 +209,7 @@
"device_password": "Contraseña", "device_password": "Contraseña",
"device_type": "Tipo de dispositivo", "device_type": "Tipo de dispositivo",
"device_types": "Tipos de dispositivos", "device_types": "Tipos de dispositivos",
"devices_affected": "Dispositivos afectados por esta configuración:",
"edit_configuration": "Editar configuración", "edit_configuration": "Editar configuración",
"error_delete": "Error al intentar eliminar: {{error}}", "error_delete": "Error al intentar eliminar: {{error}}",
"error_fetching_config": "Error al obtener la configuración", "error_fetching_config": "Error al obtener la configuración",
@@ -232,6 +237,7 @@
"used_by": "Usado por", "used_by": "Usado por",
"used_by_details": "{{entities}} Entidades, {{venues}} lugares y {{devices}} dispositivos", "used_by_details": "{{entities}} Entidades, {{venues}} lugares y {{devices}} dispositivos",
"uuid": "ID de configuración", "uuid": "ID de configuración",
"view_affected_devices": "Ver dispositivos afectados",
"view_config": "Ver configuración", "view_config": "Ver configuración",
"view_in_use": "Ver en uso", "view_in_use": "Ver en uso",
"view_json": "Ver JSON sin procesar" "view_json": "Ver JSON sin procesar"
@@ -250,6 +256,7 @@
"access_pin": "PIN de acceso", "access_pin": "PIN de acceso",
"add_contact": "Agregar contacto", "add_contact": "Agregar contacto",
"create_contact": "Crear contacto", "create_contact": "Crear contacto",
"currently_selected_contact": "Contacto seleccionado actualmente: {{contact}}",
"delete": "¿Borrar contacto?", "delete": "¿Borrar contacto?",
"error_assign": "Error al intentar asignar el contacto: {{error}}", "error_assign": "Error al intentar asignar el contacto: {{error}}",
"error_creation": "Error al intentar crear contacto: {{error}}", "error_creation": "Error al intentar crear contacto: {{error}}",
@@ -351,6 +358,7 @@
"latest_version_installed": "Última versión instalada", "latest_version_installed": "Última versión instalada",
"newer_firmware_available": "Nuevas revisiones disponibles", "newer_firmware_available": "Nuevas revisiones disponibles",
"reinstall_latest": "Reinstalar", "reinstall_latest": "Reinstalar",
"release": "Lanzamiento",
"revision": "Revisión", "revision": "Revisión",
"show_dev": "Mostrar lanzamientos para desarrolladores", "show_dev": "Mostrar lanzamientos para desarrolladores",
"size": "Tamaño", "size": "Tamaño",
@@ -457,7 +465,8 @@
"unassigned_deleted_devices": "{{number}} Dispositivos eliminados y sin asignar", "unassigned_deleted_devices": "{{number}} Dispositivos eliminados y sin asignar",
"unassigned_tags": "Etiquetas sin asignar", "unassigned_tags": "Etiquetas sin asignar",
"validating_import_file": "Validando archivo y datos de importación ...", "validating_import_file": "Validando archivo y datos de importación ...",
"venue": "Lugar de encuentro" "venue": "Lugar de encuentro",
"view_in_gateway": "Ver en Gateway"
}, },
"location": { "location": {
"add": "Añade una ubicación", "add": "Añade una ubicación",
@@ -465,13 +474,16 @@
"city": "ciudad", "city": "ciudad",
"country": "País", "country": "País",
"create": "Crear ubicación", "create": "Crear ubicación",
"currently_selected": "Ubicación seleccionada actualmente: {{location}}",
"delete": "¿Eliminar ubicación?", "delete": "¿Eliminar ubicación?",
"error_assign": "Error al intentar asignar la ubicación: {{error}}", "error_assign": "Error al intentar asignar la ubicación: {{error}}",
"error_creation": "Error al intentar crear ubicaciones: {{error}}", "error_creation": "Error al intentar crear ubicaciones: {{error}}",
"error_delete": "Error al eliminar la ubicación: {{error}}", "error_delete": "Error al eliminar la ubicación: {{error}}",
"error_fetching_single": "Error al intentar obtener la ubicación: {{error}}", "error_fetching_single": "Error al intentar obtener la ubicación: {{error}}",
"geocode": "Geocode", "geocode": "Geocode",
"mobiles": "MOBILES",
"no_associated": "Sin ubicación asociada", "no_associated": "Sin ubicación asociada",
"phones": "Los telefonos",
"postal": "código postal", "postal": "código postal",
"search": "Busque ubicaciones para completar automáticamente los campos a continuación", "search": "Busque ubicaciones para completar automáticamente los campos a continuación",
"state": "Estado", "state": "Estado",

View File

@@ -54,6 +54,7 @@
"completed": "Terminé", "completed": "Terminé",
"config_id": "Config. Identifiant", "config_id": "Config. Identifiant",
"confirm": "Confirmer", "confirm": "Confirmer",
"confirm_stop_editing": "Voulez-vous vraiment arrêter la modification ? Cela annulera toutes les modifications non enregistrées que vous avez apportées.",
"connected": "Connecté", "connected": "Connecté",
"copied": "Copié!", "copied": "Copié!",
"copy_to_clipboard": "Copier dans le presse-papier", "copy_to_clipboard": "Copier dans le presse-papier",
@@ -102,6 +103,7 @@
"forgot_password_title": "Mot de passe oublié", "forgot_password_title": "Mot de passe oublié",
"from": "De", "from": "De",
"general_error": "Erreur API, veuillez consulter votre administrateur", "general_error": "Erreur API, veuillez consulter votre administrateur",
"go_back": "Retourner",
"hide": "Cacher", "hide": "Cacher",
"hour": "heure", "hour": "heure",
"hours": "heures", "hours": "heures",
@@ -121,6 +123,7 @@
"loading_more_ellipsis": "Chargement plus ...", "loading_more_ellipsis": "Chargement plus ...",
"logout": "Connectez - Out", "logout": "Connectez - Out",
"mac": "ADRESSE MAC", "mac": "ADRESSE MAC",
"main": "Principale",
"manufacturer": "fabricant", "manufacturer": "fabricant",
"memory_used": "Mémoire utilisée", "memory_used": "Mémoire utilisée",
"minute": "minute", "minute": "minute",
@@ -155,6 +158,7 @@
"second": "seconde", "second": "seconde",
"seconds": "secondes", "seconds": "secondes",
"seconds_elapsed": "Secondes écoulées", "seconds_elapsed": "Secondes écoulées",
"see_details": "Voir les détails",
"select": "sélectionner", "select": "sélectionner",
"serial_number": "Numéro de série", "serial_number": "Numéro de série",
"show_all": "Montre tout", "show_all": "Montre tout",
@@ -205,6 +209,7 @@
"device_password": "Mot de passe", "device_password": "Mot de passe",
"device_type": "Type d'appareil", "device_type": "Type d'appareil",
"device_types": "Types d'appareils", "device_types": "Types d'appareils",
"devices_affected": "Appareils concernés par cette configuration :",
"edit_configuration": "Modifier la configuration", "edit_configuration": "Modifier la configuration",
"error_delete": "Erreur lors de la tentative de suppression : {{error}}", "error_delete": "Erreur lors de la tentative de suppression : {{error}}",
"error_fetching_config": "Erreur lors de la récupération de la configuration", "error_fetching_config": "Erreur lors de la récupération de la configuration",
@@ -232,6 +237,7 @@
"used_by": "Utilisé par", "used_by": "Utilisé par",
"used_by_details": "{{entities}} Entités, {{venues}} Lieux et {{devices}} Appareils", "used_by_details": "{{entities}} Entités, {{venues}} Lieux et {{devices}} Appareils",
"uuid": "Identifiant de configuration", "uuid": "Identifiant de configuration",
"view_affected_devices": "Afficher les appareils concernés",
"view_config": "Afficher la configuration", "view_config": "Afficher la configuration",
"view_in_use": "Afficher en cours d'utilisation", "view_in_use": "Afficher en cours d'utilisation",
"view_json": "Afficher le JSON brut" "view_json": "Afficher le JSON brut"
@@ -250,6 +256,7 @@
"access_pin": "NIP d'accès", "access_pin": "NIP d'accès",
"add_contact": "Ajouter le contact", "add_contact": "Ajouter le contact",
"create_contact": "Créer un contact", "create_contact": "Créer un contact",
"currently_selected_contact": "Contact actuellement sélectionné : {{contact}}",
"delete": "Effacer le contact?", "delete": "Effacer le contact?",
"error_assign": "Erreur lors de la tentative d'attribution du contact : {{error}}", "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_creation": "Erreur lors de la tentative de création du contact : {{error}}",
@@ -351,6 +358,7 @@
"latest_version_installed": "Dernière version installée", "latest_version_installed": "Dernière version installée",
"newer_firmware_available": "Révisions plus récentes disponibles", "newer_firmware_available": "Révisions plus récentes disponibles",
"reinstall_latest": "Réinstaller", "reinstall_latest": "Réinstaller",
"release": "libération",
"revision": "Révision", "revision": "Révision",
"show_dev": "Afficher les versions des développeurs", "show_dev": "Afficher les versions des développeurs",
"size": "Taille", "size": "Taille",
@@ -457,7 +465,8 @@
"unassigned_deleted_devices": "{{number}} appareils supprimés et non attribués", "unassigned_deleted_devices": "{{number}} appareils supprimés et non attribués",
"unassigned_tags": "Balises non attribuées", "unassigned_tags": "Balises non attribuées",
"validating_import_file": "Validation du fichier d'importation et des données...", "validating_import_file": "Validation du fichier d'importation et des données...",
"venue": "Lieu" "venue": "Lieu",
"view_in_gateway": "Afficher dans la passerelle"
}, },
"location": { "location": {
"add": "Ajouter un emplacement", "add": "Ajouter un emplacement",
@@ -465,13 +474,16 @@
"city": "Ville", "city": "Ville",
"country": "Pays", "country": "Pays",
"create": "Créer un lieu", "create": "Créer un lieu",
"currently_selected": "Emplacement actuellement sélectionné : {{location}}",
"delete": "Supprimer le lieu?", "delete": "Supprimer le lieu?",
"error_assign": "Erreur lors de la tentative d'attribution de l'emplacement : {{error}}", "error_assign": "Erreur lors de la tentative d'attribution de l'emplacement : {{error}}",
"error_creation": "Erreur lors de la tentative de création d'établissements : {{error}}", "error_creation": "Erreur lors de la tentative de création d'établissements : {{error}}",
"error_delete": "Erreur lors de la suppression de l'emplacement : {{error}}", "error_delete": "Erreur lors de la suppression de l'emplacement : {{error}}",
"error_fetching_single": "Erreur lors de la tentative de récupération de l'emplacement : {{error}}", "error_fetching_single": "Erreur lors de la tentative de récupération de l'emplacement : {{error}}",
"geocode": "Géocode", "geocode": "Géocode",
"mobiles": "MOBILES",
"no_associated": "Aucun emplacement associé", "no_associated": "Aucun emplacement associé",
"phones": "Téléphones",
"postal": "Zip / code postal", "postal": "Zip / code postal",
"search": "Recherchez des emplacements pour remplir automatiquement les champs ci-dessous", "search": "Recherchez des emplacements pour remplir automatiquement les champs ci-dessous",
"state": "Etat", "state": "Etat",

View File

@@ -54,6 +54,7 @@
"completed": "Concluído", "completed": "Concluído",
"config_id": "Config. Identidade", "config_id": "Config. Identidade",
"confirm": "confirme", "confirm": "confirme",
"confirm_stop_editing": "Tem certeza que deseja parar de editar? Isso cancelará todas as alterações não salvas que você fez.",
"connected": "Conectado", "connected": "Conectado",
"copied": "Copiado!", "copied": "Copiado!",
"copy_to_clipboard": "Copiar para área de transferência", "copy_to_clipboard": "Copiar para área de transferência",
@@ -102,6 +103,7 @@
"forgot_password_title": "Esqueceu a senha", "forgot_password_title": "Esqueceu a senha",
"from": "De", "from": "De",
"general_error": "Erro de API, consulte o seu administrador", "general_error": "Erro de API, consulte o seu administrador",
"go_back": "Volte",
"hide": "Ocultar", "hide": "Ocultar",
"hour": "hora", "hour": "hora",
"hours": "horas", "hours": "horas",
@@ -121,6 +123,7 @@
"loading_more_ellipsis": "Carregando mais ...", "loading_more_ellipsis": "Carregando mais ...",
"logout": "Sair", "logout": "Sair",
"mac": "Endereço MAC", "mac": "Endereço MAC",
"main": "a Principal",
"manufacturer": "Fabricante", "manufacturer": "Fabricante",
"memory_used": "Memória Usada", "memory_used": "Memória Usada",
"minute": "minuto", "minute": "minuto",
@@ -155,6 +158,7 @@
"second": "segundo", "second": "segundo",
"seconds": "segundos", "seconds": "segundos",
"seconds_elapsed": "Segundos decorridos", "seconds_elapsed": "Segundos decorridos",
"see_details": "Veja detalhes",
"select": "Selecione", "select": "Selecione",
"serial_number": "Número de série", "serial_number": "Número de série",
"show_all": "mostre tudo", "show_all": "mostre tudo",
@@ -205,6 +209,7 @@
"device_password": "Senha", "device_password": "Senha",
"device_type": "Tipo de dispositivo", "device_type": "Tipo de dispositivo",
"device_types": "Tipos de dispositivos", "device_types": "Tipos de dispositivos",
"devices_affected": "Dispositivos afetados por esta configuração:",
"edit_configuration": "Editar configuração", "edit_configuration": "Editar configuração",
"error_delete": "Erro ao tentar excluir: {{error}}", "error_delete": "Erro ao tentar excluir: {{error}}",
"error_fetching_config": "Erro ao buscar configuração", "error_fetching_config": "Erro ao buscar configuração",
@@ -232,6 +237,7 @@
"used_by": "Usado por", "used_by": "Usado por",
"used_by_details": "{{entities}} Entidades, {{venues}} Locais e {{devices}} Dispositivos", "used_by_details": "{{entities}} Entidades, {{venues}} Locais e {{devices}} Dispositivos",
"uuid": "ID de configuração", "uuid": "ID de configuração",
"view_affected_devices": "Exibir dispositivos afetados",
"view_config": "Ver configuração", "view_config": "Ver configuração",
"view_in_use": "Visualização em uso", "view_in_use": "Visualização em uso",
"view_json": "Exibir JSON bruto" "view_json": "Exibir JSON bruto"
@@ -250,6 +256,7 @@
"access_pin": "PIN de acesso", "access_pin": "PIN de acesso",
"add_contact": "Adicionar contato", "add_contact": "Adicionar contato",
"create_contact": "Criar Contato", "create_contact": "Criar Contato",
"currently_selected_contact": "Contato atualmente selecionado: {{contact}}",
"delete": "Excluir contato?", "delete": "Excluir contato?",
"error_assign": "Erro ao tentar atribuir contato: {{error}}", "error_assign": "Erro ao tentar atribuir contato: {{error}}",
"error_creation": "Erro ao tentar criar contato: {{error}}", "error_creation": "Erro ao tentar criar contato: {{error}}",
@@ -351,6 +358,7 @@
"latest_version_installed": "Última versão instalada", "latest_version_installed": "Última versão instalada",
"newer_firmware_available": "Novas revisões disponíveis", "newer_firmware_available": "Novas revisões disponíveis",
"reinstall_latest": "Reinstalar", "reinstall_latest": "Reinstalar",
"release": "LANÇAMENTO",
"revision": "Revisão", "revision": "Revisão",
"show_dev": "Mostrar lançamentos de desenvolvimento", "show_dev": "Mostrar lançamentos de desenvolvimento",
"size": "Tamanho", "size": "Tamanho",
@@ -457,7 +465,8 @@
"unassigned_deleted_devices": "{{number}} Dispositivos excluídos e não atribuídos", "unassigned_deleted_devices": "{{number}} Dispositivos excluídos e não atribuídos",
"unassigned_tags": "Tags não atribuídas", "unassigned_tags": "Tags não atribuídas",
"validating_import_file": "Validando arquivo de importação e dados ...", "validating_import_file": "Validando arquivo de importação e dados ...",
"venue": "Local" "venue": "Local",
"view_in_gateway": "Ver no Gateway"
}, },
"location": { "location": {
"add": "Adicionar Local", "add": "Adicionar Local",
@@ -465,13 +474,16 @@
"city": "Cidade", "city": "Cidade",
"country": "País", "country": "País",
"create": "Criar local", "create": "Criar local",
"currently_selected": "Local selecionado atualmente: {{location}}",
"delete": "Excluir localização?", "delete": "Excluir localização?",
"error_assign": "Erro ao tentar atribuir local: {{error}}", "error_assign": "Erro ao tentar atribuir local: {{error}}",
"error_creation": "Erro ao tentar criar locais: {{error}}", "error_creation": "Erro ao tentar criar locais: {{error}}",
"error_delete": "Erro ao excluir localização: {{error}}", "error_delete": "Erro ao excluir localização: {{error}}",
"error_fetching_single": "Erro ao tentar buscar localização: {{error}}", "error_fetching_single": "Erro ao tentar buscar localização: {{error}}",
"geocode": "GeoCode", "geocode": "GeoCode",
"mobiles": "Móbiles",
"no_associated": "Sem localização associada", "no_associated": "Sem localização associada",
"phones": "Telefones",
"postal": "CEP / Código Postal", "postal": "CEP / Código Postal",
"search": "Pesquise locais para preencher automaticamente os campos abaixo", "search": "Pesquise locais para preencher automaticamente os campos abaixo",
"state": "Estado", "state": "Estado",

View File

@@ -1,6 +1,6 @@
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { useHistory, useLocation } from 'react-router-dom'; import { useHistory } from 'react-router-dom';
import axiosInstance from 'utils/axiosInstance'; import axiosInstance from 'utils/axiosInstance';
import { getItem, setItem } from 'utils/localStorageHelper'; import { getItem, setItem } from 'utils/localStorageHelper';
import DeviceSearchBar from 'components/DeviceSearchBar'; import DeviceSearchBar from 'components/DeviceSearchBar';
@@ -16,8 +16,7 @@ const DeviceList = () => {
const { t } = useTranslation(); const { t } = useTranslation();
const { addToast } = useToast(); const { addToast } = useToast();
const history = useHistory(); const history = useHistory();
const { search } = useLocation(); const [page, setPage] = useState(parseInt(sessionStorage.getItem('deviceTable') ?? 0, 10));
const page = new URLSearchParams(search).get('page');
const { currentToken, endpoints } = useAuth(); const { currentToken, endpoints } = useAuth();
const [upgradeStatus, setUpgradeStatus] = useState({ const [upgradeStatus, setUpgradeStatus] = useState({
loading: false, loading: false,
@@ -225,7 +224,8 @@ const DeviceList = () => {
}; };
const updatePageCount = ({ selected: selectedPage }) => { const updatePageCount = ({ selected: selectedPage }) => {
history.push(`/devices?page=${selectedPage}`); sessionStorage.setItem('deviceTable', selectedPage);
setPage(selectedPage);
getDeviceInformation(selectedPage); getDeviceInformation(selectedPage);
}; };
@@ -354,9 +354,6 @@ const DeviceList = () => {
}; };
useEffect(() => { useEffect(() => {
if (page === undefined || page === null || Number.isNaN(page)) {
history.push(`/devices?page=0`);
}
getCount(); getCount();
}, []); }, []);

View File

@@ -1,11 +1,28 @@
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { CButton, CModal, CModalBody, CModalHeader, CModalTitle, CPopover } from '@coreui/react'; import {
CButton,
CModal,
CModalBody,
CModalHeader,
CModalTitle,
CPopover,
CNav,
CNavLink,
CTabPane,
CTabContent,
} from '@coreui/react';
import CIcon from '@coreui/icons-react'; import CIcon from '@coreui/icons-react';
import { cilPencil, cilSave, cilX } from '@coreui/icons'; import { cilPencil, cilSave, cilX } from '@coreui/icons';
import axiosInstance from 'utils/axiosInstance'; import axiosInstance from 'utils/axiosInstance';
import { useFormFields, useAuth, useToast, FirmwareDetailsForm } from 'ucentral-libs'; import {
useFormFields,
useAuth,
useToast,
FirmwareDetailsForm,
DetailedNotesTable,
} from 'ucentral-libs';
const initialState = { const initialState = {
created: { created: {
@@ -33,11 +50,6 @@ const initialState = {
error: false, error: false,
editable: true, editable: true,
}, },
owner: {
value: '',
error: false,
editable: true,
},
revision: { revision: {
value: '', value: '',
error: false, error: false,
@@ -65,6 +77,7 @@ const EditFirmwareModal = ({ show, toggle, firmwareId, refreshTable }) => {
const { addToast } = useToast(); const { addToast } = useToast();
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
const [editing, setEditing] = useState(false); const [editing, setEditing] = useState(false);
const [index, setIndex] = useState(0);
const [firmware, updateWithId, updateWithKey, setFirmware] = useFormFields(initialState); const [firmware, updateWithId, updateWithKey, setFirmware] = useFormFields(initialState);
const getFirmware = () => { const getFirmware = () => {
@@ -168,6 +181,7 @@ const EditFirmwareModal = ({ show, toggle, firmwareId, refreshTable }) => {
if (show) { if (show) {
getFirmware(); getFirmware();
setEditing(false); setEditing(false);
setIndex(0);
} }
}, [show]); }, [show]);
@@ -201,14 +215,48 @@ const EditFirmwareModal = ({ show, toggle, firmwareId, refreshTable }) => {
</CPopover> </CPopover>
</div> </div>
</CModalHeader> </CModalHeader>
<CModalBody> <CModalBody className="px-3 pt-0">
<FirmwareDetailsForm <CNav variant="tabs" className="mb-0 p-0">
t={t} <CNavLink
fields={firmware} className="font-weight-bold"
addNote={addNote} href="#"
updateFieldsWithId={updateWithId} active={index === 0}
editing={editing} onClick={() => setIndex(0)}
/> >
{t('common.main')}
</CNavLink>
<CNavLink
className="font-weight-bold"
href="#"
active={index === 1}
onClick={() => setIndex(1)}
>
{t('configuration.notes')}
</CNavLink>
</CNav>
<CTabContent>
<CTabPane active={index === 0} className="pt-2">
{index === 0 ? (
<FirmwareDetailsForm
t={t}
fields={firmware}
updateFieldsWithId={updateWithId}
editing={editing}
/>
) : null}
</CTabPane>
<CTabPane active={index === 1}>
{index === 1 ? (
<DetailedNotesTable
t={t}
notes={firmware.notes.value}
addNote={addNote}
loading={loading}
editable={editing}
/>
) : null}
</CTabPane>
</CTabContent>
</CModalBody> </CModalBody>
</CModal> </CModal>
); );

View File

@@ -31,7 +31,7 @@ const ActionModal = ({ show, toggleModal }) => {
const [waiting, setWaiting] = useState(false); const [waiting, setWaiting] = useState(false);
const [result, setResult] = useState(null); const [result, setResult] = useState(null);
const [chosenDate, setChosenDate] = useState(new Date().toString()); const [chosenDate, setChosenDate] = useState(new Date().toString());
const [isNow, setIsNow] = useState(false); const [isNow, setIsNow] = useState(true);
const toggleNow = () => { const toggleNow = () => {
setIsNow(!isNow); setIsNow(!isNow);
@@ -48,6 +48,7 @@ const ActionModal = ({ show, toggleModal }) => {
setResult(null); setResult(null);
setWaiting(false); setWaiting(false);
setChosenDate(new Date().toString()); setChosenDate(new Date().toString());
setIsNow(true);
} }
}, [show]); }, [show]);

View File

@@ -57,6 +57,7 @@ const TheLayout = () => {
endpoints={endpoints} endpoints={endpoints}
user={user} user={user}
avatar={avatar} avatar={avatar}
hideBreadcrumb
/> />
<div className="c-body"> <div className="c-body">
<ToastProvider> <ToastProvider>

View File

@@ -1,22 +1,44 @@
import React, { useState } from 'react'; import React, { useEffect, useState } from 'react';
import DeviceList from 'components/DeviceListTable'; import DeviceList from 'components/DeviceListTable';
import DeviceDashboard from 'components/DeviceDashboard'; import DeviceDashboard from 'components/DeviceDashboard';
import { CCard, CCardBody, CNav, CNavLink, CTabPane, CTabContent } from '@coreui/react'; import {
CCard,
CCardBody,
CNav,
CNavLink,
CTabPane,
CTabContent,
CCardHeader,
} from '@coreui/react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
const DeviceListPage = () => { const DeviceListPage = () => {
const { t } = useTranslation(); const { t } = useTranslation();
const [index, setIndex] = useState(0); const [index, setIndex] = useState(0);
const updateNav = (target) => {
sessionStorage.setItem('devicePage', target);
setIndex(target);
};
useEffect(() => {
const target = sessionStorage.getItem('devicePage');
if (target !== null) setIndex(parseInt(target, 10));
}, []);
return ( return (
<CCard> <CCard>
<CCardHeader className="dark-header">
<div className="text-value-lg mr-auto">{t('common.devices')}</div>
</CCardHeader>
<CCardBody className="p-0"> <CCardBody className="p-0">
<CNav variant="tabs"> <CNav variant="tabs">
<CNavLink <CNavLink
className="font-weight-bold" className="font-weight-bold"
href="#" href="#"
active={index === 0} active={index === 0}
onClick={() => setIndex(0)} onClick={() => updateNav(0)}
> >
{t('common.dashboard')} {t('common.dashboard')}
</CNavLink> </CNavLink>
@@ -24,9 +46,9 @@ const DeviceListPage = () => {
className="font-weight-bold" className="font-weight-bold"
href="#" href="#"
active={index === 1} active={index === 1}
onClick={() => setIndex(1)} onClick={() => updateNav(1)}
> >
{t('common.devices')} {t('common.table')}
</CNavLink> </CNavLink>
</CNav> </CNav>
<CTabContent> <CTabContent>

View File

@@ -2,7 +2,15 @@
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import axiosInstance from 'utils/axiosInstance'; import axiosInstance from 'utils/axiosInstance';
import { CCard, CCardBody, CNav, CNavLink, CTabPane, CTabContent } from '@coreui/react'; import {
CCard,
CCardBody,
CNav,
CNavLink,
CTabPane,
CTabContent,
CCardHeader,
} from '@coreui/react';
import { FirmwareList, useAuth, useToast } from 'ucentral-libs'; import { FirmwareList, useAuth, useToast } from 'ucentral-libs';
import FirmwareDashboard from 'components/FirmwareDashboard'; import FirmwareDashboard from 'components/FirmwareDashboard';
import EditFirmwareModal from 'components/EditFirmwareModal'; import EditFirmwareModal from 'components/EditFirmwareModal';
@@ -161,6 +169,9 @@ const FirmwareListPage = () => {
return ( return (
<CCard> <CCard>
<CCardHeader className="dark-header">
<div className="text-value-lg mr-auto">{t('common.firmware')}</div>
</CCardHeader>
<CCardBody className="p-0"> <CCardBody className="p-0">
<CNav variant="tabs"> <CNav variant="tabs">
<CNavLink <CNavLink
@@ -177,7 +188,7 @@ const FirmwareListPage = () => {
active={index === 1} active={index === 1}
onClick={() => setIndex(1)} onClick={() => setIndex(1)}
> >
{t('common.firmware')} {t('common.table')}
</CNavLink> </CNavLink>
</CNav> </CNav>
<CTabContent> <CTabContent>