diff --git a/front/css/app.css b/front/css/app.css index a49896bd..f40f752e 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -2101,7 +2101,12 @@ input[readonly] { transition: opacity 0.3s ease-in-out; pointer-events: none; display: block; - z-index: 999; + z-index: 800; +} + +.fa-spinner +{ + font-size: initial; } #loadingSpinner.visible { diff --git a/front/deviceDetailsEvents.php b/front/deviceDetailsEvents.php index 1027d4df..4523e104 100755 --- a/front/deviceDetailsEvents.php +++ b/front/deviceDetailsEvents.php @@ -110,7 +110,7 @@ function initializeEventsDatatable (eventsRows) { 'processing' : true, 'language' : { processing: ''+ - '
', + '', emptyTable: 'No data', "lengthMenu": "", "search": ": ", diff --git a/front/deviceDetailsSessions.php b/front/deviceDetailsSessions.php index 9498be33..046b8dbe 100755 --- a/front/deviceDetailsSessions.php +++ b/front/deviceDetailsSessions.php @@ -74,7 +74,7 @@ function initializeSessionsDatatable (sessionsRows) { 'processing' : true, 'language' : { processing: ''+ - '
'+ + ''+ '
', emptyTable: 'No data', "lengthMenu": "", diff --git a/front/devices.php b/front/devices.php index e11a032a..4393d87a 100755 --- a/front/devices.php +++ b/front/devices.php @@ -274,7 +274,7 @@ function processDeviceTotals(devicesData) { { status: 'down', color: 'bg-red', label: getString('Device_Shortcut_DownOnly'), icon: 'fa-warning' }, { status: 'archived', color: 'bg-gray', label: getString('Device_Shortcut_Archived'), icon: 'fa-eye-slash' }, { status: 'offline', color: 'bg-gray', label: getString('Gen_Offline'), icon: 'fa-xmark' }, - { status: 'offline', color: 'bg-gray', label: getString('Gen_Offline'), icon: 'fa-xmark' }, + { status: 'all_devices', color: 'bg-gray', label: getString('Gen_All_Devices'), icon: 'fa-laptop' }, { status: 'network_devices', color: 'bg-aqua', label: getString('Network_Devices'), icon: 'fa-sitemap fa-rotate-270' } ]; @@ -301,13 +301,7 @@ function processDeviceTotals(devicesData) { } }); - // Render info boxes/tile cards - console.log(getSetting('UI_hide_empty')); - - console.log(dataArray); - console.log(devicesData); - - + // Render info boxes/tile cards renderInfoboxes(dataArray); } @@ -566,15 +560,17 @@ function initializeDatatable (status) { // Define color & title for the status selected switch (deviceStatus) { - case 'my_devices': tableTitle = getString('Device_Shortcut_AllDevices'); color = 'aqua'; break; - case 'connected': tableTitle = getString('Device_Shortcut_Connected'); color = 'green'; break; - case 'all': tableTitle = getString('Gen_All_Devices'); color = 'aqua'; break; - case 'favorites': tableTitle = getString('Device_Shortcut_Favorites'); color = 'yellow'; break; - case 'new': tableTitle = getString('Device_Shortcut_NewDevices'); color = 'yellow'; break; - case 'down': tableTitle = getString('Device_Shortcut_DownOnly'); color = 'red'; break; - case 'archived': tableTitle = getString('Device_Shortcut_Archived'); color = 'gray'; break; - case 'offline': tableTitle = getString('Gen_Offline'); color = 'gray'; break; - default: tableTitle = getString('Device_Shortcut_Devices'); color = 'gray'; break; + case 'my_devices': tableTitle = getString('Device_Shortcut_AllDevices'); color = 'aqua'; break; + case 'connected': tableTitle = getString('Device_Shortcut_Connected'); color = 'green'; break; + case 'all': tableTitle = getString('Gen_All_Devices'); color = 'aqua'; break; + case 'favorites': tableTitle = getString('Device_Shortcut_Favorites'); color = 'yellow'; break; + case 'new': tableTitle = getString('Device_Shortcut_NewDevices'); color = 'yellow'; break; + case 'down': tableTitle = getString('Device_Shortcut_DownOnly'); color = 'red'; break; + case 'archived': tableTitle = getString('Device_Shortcut_Archived'); color = 'gray'; break; + case 'offline': tableTitle = getString('Gen_Offline'); color = 'gray'; break; + case 'all_devices': tableTitle = getString('Gen_All_Devices'); color = 'gray'; break; + case 'network_devices': tableTitle = getString('Network_Devices'); color = 'aqua'; break; + default: tableTitle = getString('Device_Shortcut_Devices'); color = 'gray'; break; } // Set title and color diff --git a/front/events.php b/front/events.php index e6d168ba..c42955de 100755 --- a/front/events.php +++ b/front/events.php @@ -2,6 +2,10 @@ require 'php/templates/header.php'; ?> + + @@ -67,7 +71,7 @@

--

-
+
@@ -238,7 +242,7 @@ function initializeDatatable () { // Processing 'processing' : true, 'language' : { - processing: '
', + processing: '
', emptyTable: 'No data', "lengthMenu": "", "search": ": ", @@ -247,6 +251,9 @@ function initializeDatatable () { "previous": "" }, "info": "", + }, + initComplete: function(settings, json) { + hideSpinner(); // Called after the DataTable is fully initialized } }); diff --git a/front/lib/fonts/ionicons.eot b/front/lib/fonts/ionicons.eot index 92a3f20a..579c1e19 100755 Binary files a/front/lib/fonts/ionicons.eot and b/front/lib/fonts/ionicons.eot differ diff --git a/front/lib/fonts/ionicons.svg b/front/lib/fonts/ionicons.svg index 49fc8f36..43bbea82 100755 --- a/front/lib/fonts/ionicons.svg +++ b/front/lib/fonts/ionicons.svg @@ -1,1996 +1,135 @@ - + -Created by FontForge 20120731 at Thu Dec 4 09:51:48 2014 +Created by FontForge 20160407 at Fri May 24 15:45:40 2019 By Adam Bradley -Created by Adam Bradley with FontForge 2.0 (http://fontforge.sf.net) +Copyright (c) 2019, Adam Bradley - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/front/lib/fonts/ionicons.ttf b/front/lib/fonts/ionicons.ttf index c4e46324..ffd7d6fb 100755 Binary files a/front/lib/fonts/ionicons.ttf and b/front/lib/fonts/ionicons.ttf differ diff --git a/front/lib/fonts/ionicons.woff b/front/lib/fonts/ionicons.woff index 5f3a14e0..8708d82b 100755 Binary files a/front/lib/fonts/ionicons.woff and b/front/lib/fonts/ionicons.woff differ diff --git a/front/lib/fonts/ionicons.woff2 b/front/lib/fonts/ionicons.woff2 new file mode 100755 index 00000000..39176471 Binary files /dev/null and b/front/lib/fonts/ionicons.woff2 differ diff --git a/front/lib/webfonts/fa-brands-400.ttf b/front/lib/webfonts/fa-brands-400.ttf index cf6a98f4..0f82a836 100755 Binary files a/front/lib/webfonts/fa-brands-400.ttf and b/front/lib/webfonts/fa-brands-400.ttf differ diff --git a/front/lib/webfonts/fa-brands-400.woff2 b/front/lib/webfonts/fa-brands-400.woff2 index c740267c..3c5cf97e 100755 Binary files a/front/lib/webfonts/fa-brands-400.woff2 and b/front/lib/webfonts/fa-brands-400.woff2 differ diff --git a/front/lib/webfonts/fa-regular-400.ttf b/front/lib/webfonts/fa-regular-400.ttf index 9ef8a372..9ee1919d 100755 Binary files a/front/lib/webfonts/fa-regular-400.ttf and b/front/lib/webfonts/fa-regular-400.ttf differ diff --git a/front/lib/webfonts/fa-regular-400.woff2 b/front/lib/webfonts/fa-regular-400.woff2 index a865b2f5..57d91796 100755 Binary files a/front/lib/webfonts/fa-regular-400.woff2 and b/front/lib/webfonts/fa-regular-400.woff2 differ diff --git a/front/lib/webfonts/fa-solid-900.ttf b/front/lib/webfonts/fa-solid-900.ttf index 2b964362..1c10972e 100755 Binary files a/front/lib/webfonts/fa-solid-900.ttf and b/front/lib/webfonts/fa-solid-900.ttf differ diff --git a/front/lib/webfonts/fa-solid-900.woff2 b/front/lib/webfonts/fa-solid-900.woff2 index 021d33fb..16721020 100755 Binary files a/front/lib/webfonts/fa-solid-900.woff2 and b/front/lib/webfonts/fa-solid-900.woff2 differ diff --git a/front/lib/webfonts/fa-v4compatibility.ttf b/front/lib/webfonts/fa-v4compatibility.ttf index f07e670d..3bcb67ff 100755 Binary files a/front/lib/webfonts/fa-v4compatibility.ttf and b/front/lib/webfonts/fa-v4compatibility.ttf differ diff --git a/front/lib/webfonts/fa-v4compatibility.woff2 b/front/lib/webfonts/fa-v4compatibility.woff2 index 6f96a112..fbafb222 100755 Binary files a/front/lib/webfonts/fa-v4compatibility.woff2 and b/front/lib/webfonts/fa-v4compatibility.woff2 differ diff --git a/front/php/templates/header.php b/front/php/templates/header.php index cedab08f..1675c189 100755 --- a/front/php/templates/header.php +++ b/front/php/templates/header.php @@ -42,7 +42,6 @@ - @@ -51,8 +50,6 @@ - - @@ -146,7 +143,7 @@
- +
diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json index b13b7fcd..37cea711 100755 --- a/front/php/templates/language/en_us.json +++ b/front/php/templates/language/en_us.json @@ -364,11 +364,11 @@ "Maint_PurgeLog": "Purge log", "Maint_RestartServer": "Restart server", "Maint_Restart_Server_noti_text": "Are you sure you want to restart the backend server? This may casue app inconsistency. Backup your setup first.

Note: This may take a few minutes.", - "Maintenance_InitCheck": "Init Check", + "Maintenance_InitCheck": "Init check", "Maintenance_InitCheck_Checking": "Checking…", "Maintenance_InitCheck_QuickSetupGuide": "Make sure you followed the quick setup guide.", "Maintenance_InitCheck_Success": "Application initialized succesfully!", - "Maintenance_ReCheck": "Retry Check", + "Maintenance_ReCheck": "Retry check", "Maintenance_Running_Version": "Installed version", "Maintenance_Status": "Status", "Maintenance_Title": "Maintenance tools", @@ -474,7 +474,7 @@ "NETWORK_DEVICE_TYPES_description": "Which device types are allowed to be used as network devices in the Network view. The device type has to match exactly the Type setting on a specific device in Device details. Add it on the device via the + button. Do not remove existing types, only add new ones.", "NETWORK_DEVICE_TYPES_name": "Network device types", "Navigation_About": "About", - "Navigation_AppEvents": "App Events", + "Navigation_AppEvents": "App events", "Navigation_Devices": "Devices", "Navigation_Donations": "Donations", "Navigation_Events": "Events", @@ -485,7 +485,7 @@ "Navigation_Notifications": "Notifications", "Navigation_Plugins": "Plugins", "Navigation_Presence": "Presence", - "Navigation_Report": "Sent Reports", + "Navigation_Report": "Sent reports", "Navigation_Settings": "Settings", "Navigation_SystemInfo": "System info", "Navigation_Workflows": "Workflows", @@ -529,15 +529,15 @@ "Network_Root": "Root node", "Network_Root_Not_Configured": "Select a network device type, for example a Gateway, in the Type field of the the Internet root device to start configuring this screen.

More documentation can be found in the How to setup your Network page guide", "Network_Root_Unconfigurable": "Unconfigurable root", - "Network_ShowArchived": "Show Archived", - "Network_ShowOffline": "Show Offline", + "Network_ShowArchived": "Show archived", + "Network_ShowOffline": "Show offline", "Network_Table_Hostname": "Hostname", "Network_Table_IP": "IP", "Network_Table_State": "State", "Network_Title": "Network overview", "Network_UnassignedDevices": "Unassigned devices", - "Notifications_All": "All Notifications", - "Notifications_Mark_All_Read": "Mark All Read", + "Notifications_All": "All notifications", + "Notifications_Mark_All_Read": "Mark all read", "PIALERT_WEB_PASSWORD_description": "The default password is 123456. To change the password run /app/back/pialert-cli in the container or use the SETPWD_RUN Set password plugin.", "PIALERT_WEB_PASSWORD_name": "Login password", "PIALERT_WEB_PROTECTION_description": "When enabled a login dialog is displayed. Read below carefully if you get locked out of your instance.", @@ -563,7 +563,7 @@ "Presence_Key_OnlineNow_desc": "Device detected in the last scan as online.", "Presence_Key_OnlinePast": "Past online", "Presence_Key_OnlinePastMiss": "Past online (miss-match)", - "Presence_Key_OnlinePastMiss_desc": "Device online in the past, but currently offline, but the start session might be missing or has conflicting data. (might be a bug - please submit a PR if you know how to fix it - I'm a bit lost in code here)", + "Presence_Key_OnlinePastMiss_desc": "Device online in the past, but currently offline, but the start session might be missing or has conflicting data.", "Presence_Key_OnlinePast_desc": "Device online in the past, but currently offline.", "Presence_Loading": "Loading…", "Presence_Shortcut_AllDevices": "My devices", @@ -583,7 +583,7 @@ "REPORT_MAIL_name": "Enable email", "REPORT_TITLE": "Report", "RandomMAC_hover": "Autodetected - indicates if the device randomizes it's MAC address. You can exclude specific MACs with the UI_NOT_RANDOM_MAC setting. Click to find out more.", - "Reports_Sent_Log": "Sent Reports Log", + "Reports_Sent_Log": "Sent reports log", "SCAN_SUBNETS_description": "Most on-network scanners (ARP-SCAN, NMAP, NSLOOKUP, DIG) rely on scanning specific network interfaces and subnets. Check the subnets documentation for help on this setting, especially VLANs, what VLANs are supported, or how to figure out the network mask and your interface.

An alternative to on-network scanners is to enable some other device scanners/importers that don't rely on NetAlertX having access to the network (UNIFI, dhcp.leases, PiHole, etc.).

Note: The scan time itself depends on the number of IP addresses to check, so set this up carefully with the appropriate network mask and interface.", "SCAN_SUBNETS_name": "Networks to scan", "SYSTEM_TITLE": "System Information", diff --git a/front/presence.php b/front/presence.php index d5c5e3e2..6052abb2 100755 --- a/front/presence.php +++ b/front/presence.php @@ -16,6 +16,10 @@ require 'php/templates/header.php'; ?> + +
@@ -67,7 +71,7 @@

--

-
+
diff --git a/front/report.php b/front/report.php index 65a17ccc..c12f881f 100755 --- a/front/report.php +++ b/front/report.php @@ -5,6 +5,10 @@ ?> + +
@@ -119,6 +123,9 @@ }) .catch(error => { console.error('Error:', error); + }) + .finally(() => { + hideSpinner(); // always called, even if error occurred }); } diff --git a/front/systeminfo.php b/front/systeminfo.php index 096dd57e..e26f1fc8 100755 --- a/front/systeminfo.php +++ b/front/systeminfo.php @@ -17,6 +17,12 @@ + +
@@ -574,26 +580,19 @@ echo '
'; - - - diff --git a/front/userNotifications.php b/front/userNotifications.php index 17c8a548..48821a75 100755 --- a/front/userNotifications.php +++ b/front/userNotifications.php @@ -9,6 +9,9 @@ require 'php/templates/header.php'; +
@@ -160,7 +163,10 @@ require 'php/templates/header.php'; ], "order": [[0, "desc"]] - }); + , + initComplete: function(settings, json) { + hideSpinner(); // Called after the DataTable is fully initialized + }}); fetchData(function(data) { table.clear().rows.add(data).draw(); diff --git a/front/workflowsCore.php b/front/workflowsCore.php index 95a7d834..32a25967 100755 --- a/front/workflowsCore.php +++ b/front/workflowsCore.php @@ -4,6 +4,10 @@ require_once $_SERVER['DOCUMENT_ROOT'] . '/php/templates/security.php'; ?> + +
@@ -83,8 +87,6 @@ let emptyWorkflow = { // Retrieve and process the data function getData() { - showSpinner(); - getSetting() $.get('php/server/query_json.php?file=workflows.json')