* Canvas: Add corner radius option
* Update connection radius logic
* Simplify angle calcs
* Simplify math to be a bit more clear and efficient
* Add checks for hyperbola behavior
* Prevent arc calcs if no radius
* Add comments for SOME clarity
* Add some more clarity to comments
* Fix linter issue
* Check for segment overlap for first vertex
* Update public/app/plugins/panel/canvas/components/connections/ConnectionSVG.tsx
* Add comment for calc clarity
* Canvas: Add direction options for connections
* Fix radio control to handle default
* Fix broken options from merge
* Remove unused comment
* Change category and capitalize options for arrow
* Consolidate marker start and end for connections
* Fix linter issue
* Canvas: Add vertex control to connections
* Add function for vertex conversion
* Add vertex interface
* Add future vertex handling
* Only show vertices when connection selected
* Add vertices to save model
* Apply select constraint to first midpoint
* Add some infrastructure for vertex edit
* Render vertex edit and capture events
* Save vertex edit on button release
* Handle adding new vertices
* Limit number of vertices to 10
* Handle zoom for vertex edit and creation
* Rename future to add
* Remove more references to future
* Remove unsued console log
* Clean up styles
* Add some clarity for path generation
* Add clarity to connections event handling
* Canvas: Add snapping to vertex edit
* Remove unused color styling
* Add horizontal and vertical snap for vertex edit
* Add snapping during vertex creation
* Hide vertex before removal
* Canvas: Add vertex control to connections
* Add function for vertex conversion
* Add vertex interface
* Add future vertex handling
* Only show vertices when connection selected
* Add vertices to save model
* Apply select constraint to first midpoint
* Add some infrastructure for vertex edit
* Render vertex edit and capture events
* Save vertex edit on button release
* Handle adding new vertices
* Limit number of vertices to 10
* Handle zoom for vertex edit and creation
* Rename future to add
* Remove more references to future
* Remove unsued console log
* Clean up styles
* Add some clarity for path generation
* Add clarity to connections event handling
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* XYChart: Add data filter to manual mode
* Add onChange to data filter for manual editor
* Update placeholder for auto editor for consistency
* Filter x y fields based on frame
* Update frame calc for truthy
* Use display name instead for frame filter
* Update placeholders
* Apply frame filter to series prep
* Re run make gen cue
* Remove old TODO
* Force data filter to be selected
* minor cleanup
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Geomap: Support geojson styling properties
* Add enum for geojson styles
* Move styleStrings outside of style function
* Add styling note to geoJSON docs
* Clean up geomap docs
* Add support for points
* Add simple example
* Add support for all geojson types and update example
* Update colors
* Update docs
* Remove old TODO
* Update geojson name
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Canvas: Add Zoom
* Scale selecto components based on zoom state
* Fix pan by reverting to 3.1.0 for zoom-pan
* Update to latest library that fixes pan regression
* Add mini map to canvas pan zoom
* Fix selecto and anchors on hover
* Update naming to be more clear
* Switch back to contentComponent
* Apply transformScale to drag and resize
* Update connection source and target scaling
* Add option to display mini map
* Update yarn lock
* Revert "Update yarn lock"
This reverts commit 3d1dd65d57.
* Set yarn lock to main
* Revert "Set yarn lock to main"
This reverts commit 64bc50557e.
* Update to Yarn 4
* Add react-zoom-pan-pinch
* Update react-zoom-pan checksum
* Revert changes to json files
* Remove last line of api merged
* Remove last lines of all impacted jsons
* Update home json
* Update coordinate calc function to include scale
* Fix types in coordinate calc function
* Fix util calculation for transform
* Fix arrow anchor shift behavior
* Fix scale offset when adding elements during zoom
* Fix drag of selected group during zoom
* Add feature flag for canvas pan zoom
* Revert "Add feature flag for canvas pan zoom"
This reverts commit b026e31d8d.
* Regenerate feature flag after merge
* Apply feature flag to enable pan zoom wrappers
* Add mini map toggle behind feature flag
* Simplify minimap behavior
* Update feature flag registry
* Set minimap to false by default
* fix gen-cue
* Set toggles gen to main
Add blank line to toggle gen csv
* Add canvas pan zoom to csv
* Remove old comment
* Change ref parameter to be more descriptive
* Rename visibleFun to be more descriptive
* Consolidate transformScale transformRef in util
* Remove non-null assertion on connection parentRect
* Consolidate parentRect null coalescing into object
* Remove minimap and change toggle
* Add controls inline help for pan and zoom
* Clean up mouse events
* Pull scale out of ref and isolate transform
* Remove transform ref from scene div
* Fix context menu visible behavior
* Fix connections and update util functions
* Move transform component instance to util
* fix backend test
* minor updates
* Clean up connections / fix minor bug where offset of arrow wasn't being calculated correctly
* missed connection code cleanup
* cleanup scene code a bit more
* actually fix backend test
* move eslint disable line closer to actual issue
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Stat: Add Percent Change Option
* Ensure div style only applied for percent change
* Add metrics section to gdev
* Apply new style and fix nan truthy
* Handle no text case properly
* Only display percent change with value
* Improve styling
* Remove VizOrientation dep and improve styling
* Display percent change for text mode name
* Add check for undefined percentChange
* Don't show percent change option for all values
* Make metric alignment more robust
* Make percent change column case tighter
Check undefined directly to avoid truthy issues
* Simplify percentChange calculation
* Add documentation for show percent change
* Add tests for percent change
* Refactor big value and pull out percent change
* minor changes
* initial approach at addressing setting % change colors to be conventional (not super happy with handling of contrast)
* Clean up initial color change approach (no need to handle 0 case as is handled as NaN currently
* Update shadow styling and include icon
* Update docs/sources/panels-visualizations/visualizations/stat/index.md
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
* Stat: Add Percent Change Option (refactor and color exploration) (#79504)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* some missed cleanup :D
* update percent change to show to not be tied to text value; update docs accordingly
* initial start for fixing scaling of % change for no text mode
* Fix styling for case where textmode is none
* Tweak styling a bit for icon and minimum padding
* Apply flex wrap to container styles
* Update gdev for stat panel tests
* attempt at fixing horizontal percent change styling / placement
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Storage: Add maxFiles to list functions
* Add maxDataPoints argument to listFiles function
* Add maxFiles to ResourceDimensionEditor
* Update pkg/services/store/http.go
* rename First to Limit
---------
Co-authored-by: jennyfana <110450222+jennyfana@users.noreply.github.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Add PUT to canvas button
* Update cue file to include PUT
* Re run make gen cue
* fix gen-cue
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Canvas: Button API - Block Calls to Grafana
* Move origin check inside of api logic
* Change grafana url source from href to origin
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Geomap: Add Symbol Anchor Options
* Update displacement for svg case
* For square and x, account for 45 degree offset
* Simplify displacement function
* Remove unused todo
* Update test defaults to include anchor
* Add missing anchor default to tests
* Move displacement function into utils and add test
* Simplify anchor position options UX
* Change verbage to alignment and swap direction
* Include missing alignment rename
* Update tests
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Geomap: Add network layer
* Support text labels for nodes
* Add solid styling for edges
* Remove symbol option for edge style menu
* Add support for edge text labels
* Fix linter issues
* Simplify multiple data frame handling
* Add TODO notes
* Add node and edge style categories for options
* Remove data frame hardcoding
* Hide legend, attempt to hide tooltip by default
* Mark network layer as beta
* refactor updateEdge
* Fix some linter issues
* Remove attempt at disabling tooltip for network layer
* For edge text add a stroke and increase z index
* Restrict field selection based on frame type
* refactor
* add basic bad data handling (prevent entire panel from breaking)
* generate non hard coded graph frames for style editor filtering
* code cleanup; remove hardcoded reference to "edges" frame
* fix select clearing for Data option
* fix styling
* fix lookup
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
* Geomap: Fix Zoom Bug
* Add handling for case where no segments created
* Simplify segment checks and pull logic into utils
* Rename pixel variables
* Roll back change to raw data response json
* Geomap: Add color gradients to route layer
* Add support for all color schemes
* Address PR feedback: remove ! from verified object
* Add arrow support and simplify color functions
* Simplify and clean-up code
* Remove line width slider and drive width by size
* Drive arrow size based on size
* Allow arrows for fixed color
* Add gdev dashboard
* Use square line caps only when arrows are active
* Apply size to width for fixed color and size
* Handle arrows when size and color are fixed
* Add tags to gdev dashboard
* Fix null error in backend test for gdev dashboard
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* add custom component for location editor
* FC cleanup
* Apply filter to add location fields call
* Create custom editor for location mode
* Apply validation logic and render warning
* Improve alert styling
* Add help url button to location alert
* Add success alert for auto
* Remove completed TODOs
* Only use alert on error, not success
* Change location mode to dropdown
* Change alert severity to less severe, info
* Prevent auto field selection during manual
* Update location testing to be for auto mode
* Run geo transformer editor init once
* Fix breaking test
* Clean up some anys
* Update styling for alert
* Remove auto success styling
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Geomap: Add dynamic initial view options
* Add control options for dynamic initial view
* Add handling for last only scope
* Remove stale todos
* Only reinitialize map view during data if fit
* Add options for data fit
In map init, remove dependency on layers input.
Add a boolean to map view config to handle all layers, with default
set to true. Also, add layer string to handle currently selected layer.
Change some verbage.
In map view editor, add controls for data extent options. Only display
layer selection when all layers is not selected.
Update layer extent function to handle all options permutations. When
all layers is selected, return all data for extent calculation. When
last only is selected, only return last data point in matching layer for
extent calculation. Otherwise, return all data points in matching layer
for extent calculation.
* Change padding tooltip and hide for last only
* Simplify getLayersExtent call
* Add enums for data scope options
* Update GeomapPanel for refactor merge
* Move view init functions back into geomap class
Re-apply data change handling and extent calculation handling.
* Update padding tooltip verbage
* Ensure geomap panel options layers are initialized
* Clean up GeomapPanel file (betterer)
* refactors / clean up
* more cleanup
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Geomap: add measuring tools
* Add measure type selection
* Add controls and state to measure overlay
* Override tooltip mouse events when menu active
* Move measure tools to top right
* Lay groundwork for units and consolidate measuring
* Create measure vector layer class
* Improve styling to match other overlay controls
* Consolidate styling and use theme2
* Update unit language and add km2
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Add NumberInput to core slider
* Change opacity interpretation
To be consistent with other layers, and CSS, opacity of 0 is fully
transparent and an opacity of 1 is fully opaque.
* Add state management for slider.
* Ensure number input step matches slider
* Style input width based on expected digits
* Improve styling for number input validation error
* GeomapPanel: Add base types to data layer options
Removed isBaseMap check from data layer filter, which used to remove
base layer types from data layer options. For layer editor, slider to
control opacity is added.
* GeomapPanel: Reorder data layer options
For data layer selection, present user with data layer types first,
before base map layer types. Refactored to consolidate layer options
into a single exported function in registry with a base map boolean.
* GeomapPanel: Add descriptions to base map types
* GeomapPanel: add hideOpacity and apply to markers
* GeomapPanel: update descriptions for map types
Closes#47812