Commit Graph

307 Commits

Author SHA1 Message Date
eskyuu
30953c386f Add functionality for custom maps (weathermaps) (#15633)
* Initial commit with editor.

* Added custom map models and database migrations.
Modified the controller and view to support saving the custom map settings to the database

* Added menu items and sorted out access permissions for maps and nodes

* Cleaned up some of the conditions in the javascript section of the blade

* Started work on the map data save

* Save of map nodes and edges is complete

* Got the map to load data on page load and added the delete functionality

* Fixed a typo and made link colour black if intertface is down

* Various usability fix-ups

* Show the save button on node and edge delete

* Fixed up access for users without global read

* Increase typeahead search size and standardised the way modals are triggered.

* Update data fetch to copy values into array so I can add more fields

* Convert blank array check to use count()

* Formatting changes

* More formatting fixes

* Formatting again

* DB schema update

* Revert previous commit

* Pass device id to pages

* Remove bad characters from javascript

* Re-add the - character in search results

* Update to avoid background colour being set to the current colour for offline devices

* Fixed a bug in speed detection when no suffix is given

* Fixed up the speed colour calculation and added comments

* Update default edge font size to 12

* Reduce arrow size

* Formatting fix

* Update the custom map controller to handle null interface speeds

* Alter JSON columns to be longtext instead

* Only refresh map data on successful save

* Update labels on default settings to make it clear that they are not saved

* Added timestamps to all custom map tables
Use HasFactory instead of static definitions for custom map tables
convert JSON DB fields to longtext and updated PHP to do the appropriate JSON decoding as a result

* Added missing vis.js images for the editor

* Split the custom map blade into different pages

* formatting fixes

* Initial commit with editor.

* Added custom map models and database migrations.
Modified the controller and view to support saving the custom map settings to the database

* Added menu items and sorted out access permissions for maps and nodes

* Cleaned up some of the conditions in the javascript section of the blade

* Started work on the map data save

* Save of map nodes and edges is complete

* Got the map to load data on page load and added the delete functionality

* Various usability fix-ups

* Show the save button on node and edge delete

* Fixed up access for users without global read

* Increase typeahead search size and standardised the way modals are triggered.

* Convert blank array check to use count()

* Formatting changes

* More formatting fixes

* Formatting again

* DB schema update

* Revert previous commit

* Pass device id to pages

* Remove bad characters from javascript

* Re-add the - character in search results

* Update to avoid background colour being set to the current colour for offline devices

* Reduce arrow size

* Only refresh map data on successful save

* Update labels on default settings to make it clear that they are not saved

* Added timestamps to all custom map tables
Use HasFactory instead of static definitions for custom map tables
convert JSON DB fields to longtext and updated PHP to do the appropriate JSON decoding as a result

* Added missing vis.js images for the editor

* Split the custom map blade into different pages

* Updated the custom maps to use the select2 searches for ports and devices

* Fix port search clearing with select2

* Update DB schema to add timestamps

* Add the ability to set a node alignment value where nodes will align to a grid

* Add a checkbox to re-center edge lines

* Schema update for node alignment

* Removed unused route

* Fixups after rebase

* Remove DevicePortSearchController

* Rebase fixups

* Remove unneeded controller

* Formatting fixes

* Update all network map documentation

* Fixed typo in doc

* Change background imgae database migration

* Update migration for custom map background to fix schema error

* Place a try/catch around the BLOB->MEDIUMBLOB migration

* Formatting fix

* Moved custom map background image location and added some SVG images to test as image options

* Updated the editor to use a static set of device images

* Update the image logic in the editor and added to the viewer

* DB Schema update

* Formatting

* remove svg height/width attributes

* Added some more icon options for arrows

* Added database migration to allow nodes to link to another custom map
Fixed an error in the image migration

* Added the ability to link a node to another custom map

* Formatting fixes

* DB Schema update

* Remove images-custom directory

* Explicitly cast map ID to int

* Made the image selection list dynamic based on the contents of the custom map icons directory

* Formatting fix

* Double-clicking on a link will take you to the link

* Remove whitespace

* Add translations
fix an xss and hopefully not add any new ones
refactor node image to use translations with fallback

* split modals out into separate files
return width/height to avoid js scope issues

* Formatting fixes

* refactor edit select page into a "manage" page
Still left:
validation/custom request
Controller refactor
ui tweaks

* MapSettingsRequest

* Refactor more routes, policy, controller
I think this is the last refactor. Everything is now organized in a standard way.
Missing a method to check if a user has access to a map

* Fix booleans and style

* Add versioning to the background image to prevent browser caching

* Fixed the background image update by splitting it into a separate modal
Changed the delete button on the map editor screen to return to the map list

* Formatting fix

* Added double-click actions in editor to edit nodes and edges

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2024-01-31 08:56:59 -06:00
Tony Murray
6a32fcec2d Update javascript dependencies (#15651) 2023-12-15 11:42:09 -06:00
eskyuu
cc7e02cbcd Device links formatting changes (#15580)
Make the images inline so they appear side by side
Put newlines between the major device information sections (name, model/OS, location)
2023-11-16 08:54:29 -06:00
QWERin
1d361c9447 Fix Top menu search on mobile respo (#15439) 2023-10-13 22:27:52 -05:00
Tony Murray
efb763d8c5 Vertically center device icons (#15361) 2023-09-29 00:07:23 +02:00
Tony Murray
2cd207028a Implement RBAC (only built in roles) (#15212)
* Install bouncer

* Seeder and level migration

* Display and edit roles

* remove unused deluser page

* Update Radius and SSO to assign roles

* update AlertUtil direct level check to use roles instead

* rewrite ircbot auth handling

* Remove legacy auth getUserlist and getUserlevel methods, add getRoles
Set roles in LegacyUserProvider

* Small cleanups

* centralize role sync code
show roles on user preferences page

* VueSelect component WIP and a little docs

* WIP

* SelectControllers id and text fields.

* LibrenmsSelect component extracted from SettingSelectDynamic

* Handle multiple selections

* allow type coercion

* full width settings

* final style adjustments

* Final compiled assets update

* Style fixes

* Fix SSO tests

* Lint cleanups

* small style fix

* don't use json yet

* Update baseline for usptream package issues

* Change schema, not 100% sure it is correct
not sure why xor doesn't work
2023-08-28 00:13:40 -05:00
eggbeater98
510d5dc94b Update dark.css (#15155)
Change text for services to white for visibility.
2023-07-19 22:22:42 -05:00
eggbeater98
0eebe7a255 Update dark.css (#15141)
Fix device name and drop-down text color for availability.
2023-07-11 13:10:48 +03:00
Tony Murray
5c25cece48 Convert the inventory page to Laravel (#15004)
* Convert the inventory page to Laravel
Fix several XSS issues (hopefully no new ones snuck in)
Small improvement to the SelectController to allow filtering by filterFields()

* style fixes

* Fix lint issues

* Fix part device filter
2023-04-28 07:51:41 -05:00
electrocret
b993f38903 Fix Inventory table for Dark theme (#14377) 2022-09-21 23:35:24 +02:00
Tony Murray
ad8580d694 Cleanup and optimize the availability widget (#14329)
* Cleanup and optimize the availability widget
Default sort is display name
Sort applies to services too (services always last)
May need to refresh the page to get new css

* style

* We don't need request (lint fix)

* Wrong service field name
2022-09-09 18:22:58 +02:00
Peca Nesovanovic
a551a95404 [gui] enable permanent vertical scroll (#14102)
* [gui] permanent vertical scroll

* switch to styles.css
2022-07-27 11:18:25 -05:00
James
f6a7b73c55 Update dark.css (#13951) 2022-04-25 20:13:11 -05:00
Tony Murray
806e10ace1 Fix snmp.timeout setting via Web UI (#13937)
Add Float type for global settings
2022-04-23 08:35:24 -05:00
Tony Murray
0a84098211 Port Validation Page to Laravel (#13921)
* Revamp validate web page
 to load page then validate, instead of validate then load page

* style fixes

* lint cleanups

* fixes

* translations and a couple fixes

* style fixes

* move result serialization into the class.
2022-04-14 11:22:40 -05:00
Jellyfrog
af98992f9c Upgrade to font awesome 6 (#13760) 2022-02-10 20:33:42 +01:00
Jellyfrog
b9e55bc462 Upgrade to font awesome 5 (#13754)
* Upgrade to font awesome 5

* Update memory icon
2022-02-09 00:49:07 +01:00
Santiago Z
2e35844056 [WebUI] Show selected option of devices-graphs-select in Mono theme (#13752) 2022-02-06 23:13:27 +01:00
dfitton
722de2ebe5 Update dark.css to improve visibility (#13749)
Fixed certain colours to make them more readable against the dark background. Mainly the blue colour against the dark background I have changed to a lighter blue.
Some dark greys and blacks as well.
2022-02-04 15:35:51 +01:00
Jellyfrog
3a4efc6fa0 Update to tailwind 3 (#13695) 2022-01-26 19:10:56 -06:00
Jellyfrog
f4f297fd48 Update JS deps (#13694) 2022-01-23 19:45:44 +01:00
Tony Murray
edd645264c Regenerate app.js (#13613) 2021-12-10 22:28:20 -06:00
Tony Murray
d69674b36e Correct graph row component responsive layout for linked graphs (#13587)
* Correct graph row component responsive layout for linked graphs
Enable pass through height and legend.  Probably need more, but this is just for a start.
Switch Poller performance page

* revert accidental change

* Update Graph.php
2021-11-30 19:21:41 -06:00
Tony Murray
e7a26e8faf Tweak new notification appearance (#13477) 2021-11-05 22:20:00 -05:00
Tony Murray
5900edbf16 PHP-Flasher for toast messages (#13401)
* PHP-Flasher for toast messages
Allows customized template
removes dependency on unmaintained package using dev stability
no solution for javascript toasts yet

Use DI in places it makes sense

allow html in flashes

Use "template.librenms" as a default notification style

merge toast containers
toastr needs to be second because it will find the containr made by flasher, but the inverse is not true

upgrade php-flasher to add custom options and persistent notifications

Add dark theme

* update composer.lock
2021-10-29 09:13:56 -05:00
Tony Murray
65b385f0fe Workaround for dashboard widgets showing over popups. (#13257)
* Workaround for dashboard widgets showing over popups.
z-index is being set on the popup, and I verified it is applied, but for some reason the widget with a z-index of 2 still shows over top.
I don't think this has any side-affects, but I don't know for sure.
Could not find another work-around.  Gridster is dead, so unlikely we will update the js and override this fix.

* version file to make clients update
2021-09-30 20:13:21 -05:00
Tony Murray
66dddbaa66 SNMP Capabilities (#13289)
* SNMP Capabilities
Allow all available auth algorithms to be set in global settings
cleanup other usages

* fix style
2021-09-28 18:35:59 -05:00
Tony Murray
2687fc509e Improve tailwind dark theme colors (#13262)
* Improve tailwind dark theme colors
Import the dark theme colors into the Tailwind color palette
update components to use those new colors

* remove colors import, it isn't used right now
2021-09-23 15:38:41 +02:00
Martin
a357224465 Update to fix table row color and hover color (#13244)
The last update changed row color for all rows except the first instead of changing color for every 2nd row.
2021-09-15 17:43:36 +02:00
Tony Murray
c5b63bde86 New Blade Components: x-device-link, x-port-link, x-graph-row, x-popup (#13197)
* working popover

* popup component

* cleanup

* finalize device-link component

* attributes WIP

* working graph component

* widgets WIP

* More dynamic configs

* Graph row component

* Build CSS so we can use a dark theme

* graph row set columns

* only one popup visible at a time.

* Just set graph row width statically

* responsive WIP

* rsponsive option for graph-row "working"

* remove @deviceLink and @portLink

* fix non-responsive graph row

* update js/css

* fix style

* bad type?

* types

* types

* types #3

* remove testing code

* full rebel, no closing tags for meta and link

* match previous formatting

* fix vlans display

* restore newline

* remove silly comment

* remove unused line

* style I guess
2021-09-10 08:07:08 -05:00
Facundo Caselles
8bb6eec732 Dark mode improvements (#13141)
* Changes to dark theme.
- Tables with white background now has dark background.
- Listbox in searchbar now has dark background.

* Minor change to internal css to modify all tables without 'table' class applied. (view screenshot)

* -Transparency on mini graphs on ports

* bootgrid-table td.no-results now has dark background

* Changes suggested by @Talkabout
2021-08-21 20:06:13 +02:00
Facundo Caselles
9723c44479 Improvements to dark theme (#13139)
- Tables with white background now has dark background.
- Listbox in searchbar now has dark background.
2021-08-15 09:27:14 +02:00
Tony Murray
2d752925b0 Oxidized improvements (#12773)
* Oxidized API cleanup
Import more settings to the UI
use lnms config:set

* validate os and type exist

* map settings WIP

* oops

* editing working.  Needed to add new property to pass update state to child

* implement deleting and handle text overflow a little better.

* Update app/Models/Device.php

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>

* Update app/Models/Device.php

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>

* revert change

* fix style

* add return

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-05-11 08:08:59 -05:00
Tony Murray
3d62be5003 Jquery upgrade (#12802)
* WIP js upgrades

* trying 3.0

* Event handler changes

* fix alert rule collection loading

* blur fix

* jQuery 3.5
homescreen no warnings

* actually 3.6 include js

* Update bootstrap to 3.4.1

* missed file

* Update and test install process

* cleanup

* attempt to version js files that were updated.
2021-05-11 08:08:06 -05:00
Lucas Dousse
afa43a1b7f add css text center (#12608) 2021-03-11 18:26:06 +01:00
balkandude
8fbe1b3153 Network map fix Css/img (#12498)
* Add files via upload

* Delete zoomExtends.png

* Delete upArrow.png

* Delete minus.png

* Delete plus.png

* Delete leftArrow.png

* Delete downArrow.png

* Delete rightArrow.png

* Create test

* Add files via upload

* Create readme

* Add files via upload

* Delete downArrow.png

* Delete leftArrow.png

* Delete minus.png

* Delete plus.png

* Delete rightArrow.png

* Delete test

* Delete upArrow.png

* Delete zoomExtends.png

* Update readme
2021-02-06 18:23:26 +01:00
Martin
41570c46b1 Support new lines in login_message again (#12469)
Introducing own css class for customization

Fix problem introduced with #12460
2021-01-27 08:06:20 -06:00
Martin
cdd93b695c Remove unnecessary horizontal scroll bars in allert widgets (#12464)
* Remove unneeded horizontal scroll bars for alert widgets

Fixes #12454

* Always hide horizontal scroll bars

Width of the widget_body class is set to 100% which hides them anyway, with correct css margins
2021-01-25 23:07:11 -06:00
Martin
4779e7952e Improving readability of tables on dark theme dashboards (#12455)
lighten the text color in widget tables such as syslog or eventlog (it was black on grey)
2021-01-23 00:18:06 -06:00
Jellyfrog
d7e88bf311 Upgrade to Laravel Mix 6 (#12421) 2021-01-06 20:18:43 -06:00
Tony Murray
e8d0548317 Fix nets can't add (#12341)
fix some issues with the list settings widget
update Laravel Mix
update javascript
2020-11-24 19:47:40 -06:00
NotARobotDude
912247f2f0 Change text from black to white availability-map (#11946)
Before :
https://pasteboard.co/JiqHdlA.jpg

After : 
https://pasteboard.co/JiqIsoT.jpg
2020-07-20 00:54:10 +02:00
twelch24
5d2fe2e8c5 Black legend text in dark theme (#11933)
using the dark theme the legend text is the same color as background on the latency page. Change to black.
2020-07-14 17:31:09 +02:00
Tony Murray
a3a8a6ae67 port to Bootstrap4 for flexbox 2020-06-27 07:47:08 -05:00
Negatifff
bd45ae0b65 fix last th min-width (#11860) 2020-06-25 21:20:43 +02:00
Tony Murray
300645388f Dispatcher Service settings (#11760)
* Poller settings WIP

* Poller settings WIP2

* working on SettingMultiple

* setting multiple working

* settings sent with all required info

* fix translation

* Fix keys

* fix groups setting

* Apply settings to service
fixes and validations for setting

* don't error when no poller_cluster entry exists

* hid tab when no poller cluster entries

* Authorization

* make prod

* daily maintenance toggle should be advanced

* Update schema def
2020-06-08 08:27:03 -05:00
Facundo Caselles
2f86c66afa WebUI - Improved "dark" theme (#11417)
* -Real dark mode, (themed bootstrap)
-removed inverted colors in navbar

* Test data

* FIX: navbar in mono theme.

* Dark mode rrdtool

* Changed background on gridster to match background of the dark theme

* - Icons and links now are grey
- Modernized tabs style into pills,
- button pagemenu-selected fixed

* Improvements:
- bootgrid-th, are now visible (dark mode to the table headings)
- Changed line color of poller and ping in rrdtool

* Fix some codeclimate errors

* Fix airos.snmprec, reverted to original file
2020-05-21 19:04:54 -05:00
Tony Murray
5ac05e9221 Fix new bill search input (#11524)
* Work around select2 in a modal

* Update select2
2020-05-01 21:49:36 -05:00
SourceDoctor
cc2894c0df Widget Eventlog Sensors Link and Mouseover functionality (#11380)
* Global Settings - Alert Default Settings

* Revert "Global Settings - Alert Default Settings"

This reverts commit a1af62b146.

* Widget Eventlog - Sensors link and overlib Image

* travis fix

* handling via AppServiceProvider

* collect function

* Travis ...

* static list of Sensor Types

* adding all sensor graph_types

* remove collect

* correct getTypes - remove change to lower case

* class sensor_descr switch

* class sensor_descr switch - revert

* Use standard sensor type names

* move types to attribute list

* going back to changes from 9eee7fad58

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-04-19 12:57:49 -05:00
Tony Murray
425ac28bab Fix js warning in settings, update js deps (#11324) 2020-03-22 19:30:58 +01:00