Commit Graph

46 Commits

Author SHA1 Message Date
Ashley Harrison 334657e1cb
Navigation: Move scroll behaviour to body (#89921)
* initial attempt at body scrolling

* fix login layout

* minor fixes

* "fix" some fixed position stuff

* remember scroll position in dashboard page

* fix unit tests

* expose chrome header height in runtime and fix connections sticky header

* fix panel edit in scenes

* fix unit tests

* make useChromeHeaderHeight backwards compatible, fix plugin details double scrollbar

* fix sticky behaviour in explore metrics

* handle when undefined

* deprecate scrollRef/scrollTop

* fix extra overflow on firefox
2024-07-17 13:48:47 +01:00
Ashley Harrison 47f8717149
React: Use new JSX transform (#88802)
* update eslint, tsconfig + esbuild to handle new jsx transform

* remove thing that breaks the new jsx transform

* remove react imports

* adjust grafana-icons build

* is this the correct syntax?

* try this

* well this was much easier than expected...

* change grafana-plugin-configs webpack config

* fixes

* fix lockfile

* fix 2 more violations

* use path.resolve instead of require.resolve

* remove react import

* fix react imports

* more fixes

* remove React import

* remove import React from docs

* remove another react import
2024-06-25 12:43:47 +01:00
Joao Silva c2dd44bc5a
AppChrome: Add display flex to prevent multiple scrollbars (#88512) 2024-06-06 15:34:28 +01:00
Laura Fernández 6d98f53e8b
Chore: Remove `returnToPrevious` feature toggle (#88332) 2024-05-27 17:47:57 +02:00
Josh Hunt 4fc4a1c4a8
Playlists: Fix kiosk mode not activating when starting a playlist (#84262)
* Playlists: Fix Kiosk mode not activating when starting a playlist

* oops remove debugger
2024-03-12 11:48:18 +00:00
Tobias Skarhed 940d20e115
Accessibility: Improve landmark markup (#83576)
* Landmark: main

* Landmark: add header

* Submenu: Move conditional display up

* NewsPanel: use h3 as the article label

* Use title for article id

* Update test showing a false positive

* DashboardPage: Expect submenu to not be shown
2024-03-11 11:43:22 +01:00
Josh Hunt 732f9cacb4
ReturnToPrevious: Add interaction reporting (#81948)
* Add analytics for return to previous

* fix typos lol
2024-02-08 15:44:22 +00:00
Agnès Toulet 28e66b4ad8
Rendering: Adds PDF support behind feature toggle (#81811)
* start pdf refactor

* Update AppChrome.tsx

* Update AppChrome.tsx

* add encoding param to rendering grpc service

* fix plugin mode

* clean up

* fix backend tests

* fix lint errors

* Support pdf encoding in render http api

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-02-08 13:09:34 +01:00
Ashley Harrison 28b336ac80
DockedMegaMenu: Clean up toggle and old code (#81878)
* remove toggle

* remove code not behind toggle

* remove old MegaMenu

* rename DockedMegaMenu -> MegaMenu and clean up go code

* fix backend test

* run yarn i18n:extract

* fix some unit tests

* fix remaining unit tests

* fix remaining e2e/unit tests
2024-02-06 13:43:11 +00:00
Laura Fernández 42cd4266b4
ReturnToPrevious: make `href` optional (#81691) 2024-02-02 13:14:58 +01:00
Laura Fernández 8ee7b1e00c
ReturnToPrevious : Add logic to show the new component in `AppChrome` behind the new toggle (#81035) 2024-01-30 13:34:59 +01:00
Ashley Harrison 083605c17f
DockedMenu: only set the menu state to be `docked` if the window size is big enough (#80379)
* only set the menu docked in state if the window size is big enough

* adjust sizes

* remove top border on dockedMegaMenu

* another css tweak

* use xxl consistently

* CONSISTENTLY

* ok maybe not
2024-01-15 10:12:41 +00:00
Torkel Ödegaard 2fd26e2773
AppChrome: Fixes topnav height (#80342)
* AppChrome: Fixes top padding

* better fix
2024-01-11 10:33:38 +01:00
Ashley Harrison bb4aa16b13
Navigation: Fix showing command palette when menu is docked (#79335)
* fix showing command palette when menu is docked

* separate out command palette
2023-12-11 18:54:56 +02:00
Ashley Harrison 05dcc7a441
Navigation: Independent docked state (#78954)
* initial start

* more progress

* behaviour working?

* only use media query when docked local storage state is true

* close menu when undocking

* remove unneeded animation code and fix focus when toggling between docked/undocked

* better feature toggle handling (can go back and forth)

* remove restoreFocus (for now)
2023-12-11 11:41:14 +00:00
Ashley Harrison 4247696402
DockedMegaMenu: Keep undock button (#78461)
* dock undock smoothly

* handle keyboard focus

* use ref instead of state

* run i18n:extract

* undo this change

* make dock/undock first button to focus

* only focus when going to docked, add comment

* minor tweaks
2023-11-22 15:56:36 +00:00
Josh Hunt e8f0f6b7c8
Page: Remove Canvas background from primary background pages (#77008)
* Remove canvas background for primary background pages

* refactor styles
2023-11-01 12:58:18 +00:00
Ashley Harrison 78df641b38
Navigation: Make page container automatically scroll when overflowing (#77489)
add overflow: auto to page container
2023-11-01 12:41:30 +02:00
Ashley Harrison 85468d2a67
DockedMegaMenu: Adjust docked threshold (#77139)
* adjust docked threshold to be xl instead of md and make sure it's open by default on 1440 res

* don't show dock menu button
2023-10-25 14:41:07 +01:00
Ashley Harrison abd2c9c287
Navigation: Hide docked menu and dock button on mobile (#76334)
* hide docked menu and dock button on mobile

* add logic to handle hamburger menu button on mobile
2023-10-11 11:33:15 +01:00
Ashley Harrison 930c753340
Navigation: Implement logic for docking nav menu (#76188)
* Create a state for dockedMegaMenu and the function to manage it

* Add the dockedMenu icon and handle the status when clicking it

* Add Megamenu to section nav area when it is docked

* get logic working

* fix mobile

* refactor state + persist in localStorage

* adjust icon and don't use position absolute

* restore old rudderstack tracking

* use Flex instead

* adjust feature toggle to be experimental

* extract out localStorage handling into utils

* don't need separate file

* use store.set/get instead

---------

Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
2023-10-10 14:55:52 +01:00
Ashley Harrison efaa779c2e
Navigation: Refactor MegaMenu to separate out overlay/animation logic (#75365)
* user essentials mob! 🔱

lastFile:public/app/core/components/AppChrome/DockedMegaMenu/DockedMegaMenu.tsx

* mob start [ci-skip] [ci skip] [skip ci]

* user essentials mob! 🔱

lastFile:public/app/core/components/AppChrome/DockedMegaMenu/DockedMegaMenu.tsx

* user essentials mob! 🔱

lastFile:public/app/core/components/AppChrome/AppChrome.tsx

* fix border css + scroll

* import width from DockedMegaMenu

* extract logic out into AppChromeMenu

* fix bug with hamburger icon

* rename some styles

* one more rename

* remove janky state logic

* prevent react-aria closing the overlay when interacting with the toggle button

* don't need boolean

---------

Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
2023-09-27 17:05:40 +01:00
Laura Fernández efeff6bbb1
Navigation: create the `DockedMegaMenu` component and use the toggle to switch between it and `MegaMenu` (#75084) 2023-09-19 17:47:03 +02:00
Laura Fernández 0c08163357
Navigation: hide `sectionNav` when the `dockedMegaMenu` feature toggle is enabled (#75026) 2023-09-19 12:34:53 +02:00
Ashley Harrison 1f49d480a8
Drawer: Clicking a `Select` arrow within a `Drawer` no longer causes it to close (#73557)
ensure drawer doesn't close when clicking dropdown arrow
2023-08-22 16:11:18 +01:00
Ashley Harrison 10adebd7b3
Page: Add inline rename functionality (#68828)
* initial attempt at inline rename

* handle version correctly

* refactor

* minor tweaks

* add unit tests

* prettier...

* add to other tabs, remove settings tab when feature toggle is enabled

* fix truncation

* allow title to span full width of page

* fix h1 styling when no renderTitle/onEditTitle is present

* better layout

* use input from grafana/ui, fix imports

* fix unit test

* better error handling

* don't use autosavefield

* undo changes to AutoSaveField

* remove timeout

* remove maxWidth now we're not using AutoSaveField

* rename isEditInProgress to isLoading

* sync localValue with value

* better responsive css
2023-05-31 17:03:54 +01:00
Torkel Ödegaard 5f84dad7e4
TopNav: Tone down shadow a bit in light theme (#68282)
* TopNav: Tone down shadow a bit in light theme

* softer shadow
2023-05-17 14:18:28 +02:00
Ashley Harrison a7cbb72664
Accessibility: Add `Skip to content` link (#68065)
* user essentials mob! 🔱

lastFile:public/app/core/components/AppChrome/AppChrome.tsx

* user essentials mob! 🔱

lastFile:public/app/core/components/AppChrome/AppChrome.test.tsx

* only show skiplink when page has app chrome

---------

Co-authored-by: Joao Silva <joao.silva@grafana.com>
2023-05-09 15:22:23 +01:00
Torkel Ödegaard ae1a85b5ad
Drawer: Position under nav & minor redesign (#67824)
* Drawer: Redesign WIP

* Fix double margin

* Teak pos

* align paddings

* Hide toolbar actions when drawer is open

* deprecate expandable

* Updated test

* remove expandable var

* Added clickaway
2023-05-05 17:00:33 +02:00
Torkel Ödegaard af9bf81102
AppChrome: Fix scrollbar issue for small (mobile) breakpoint (#67058) 2023-04-24 10:52:12 +02:00
Ashley Harrison 0741f47876
Navigation: Move `SectionNav` to `AppChrome` (#64391)
* move section nav to app chrome

* unit tests

* Move SectionNav to AppChrome folder

* fix duplicate variable rendering

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-04-18 14:58:00 +01:00
Ashley Harrison 4abe0249ba
Chore: Clean up old navigation (#66287)
* remove code outside of the topnav feature flag

* delete NavBar folder

* remove topnav toggle from backend

* restructure AppChrome folder

* fix utils mock

* fix applinks tests

* remove tests since they're covered in e2e

* fix 1 of the approotpage tests

* Fix another dashboardpage test

* remove reverse portalling + test for plugins using deprecated onNavChanged method

* kick drone

* handle correlations
2023-04-14 09:43:11 +01:00
kay delaney 38ee910e39
Dashboards: Prevent template variables from resolving twice (#66372) 2023-04-13 12:00:59 +01:00
Torkel Ödegaard 42be20cbf3
Page: Remove bottom page margin (#65082)
* Remove page margin

* Only remove bottom margin

* revert other changes

* revert another change
2023-04-04 16:00:41 +02:00
Josh Hunt 91d2df59fc
CommandPalette: Remove topnav command palette feature flag (#63620)
* CommandPalette: Remove topnav command palette feature flag

* Restore search shortcuts if topnav isnt enabled

* fix unused imports
2023-02-24 07:14:53 -05:00
Ashley Harrison 5795553353
Navigation: Fix command palette toggle removal (#62809)
command palette is always here
2023-02-02 16:32:34 +00:00
Ashley Harrison 5e7e026c0c
Navigation: Remove `commandPalette` feature toggle (#62698)
* remove command palette feature toggle

* undo irrelevant AppChrome changes

* update toggle description
2023-02-02 14:44:21 +00:00
Torkel Ödegaard b8e7ef48d0
AppChrome: Unify logic for chromeless pages that should not have NavBar, CommandPalette, Search etc (#62281)
* Keybindings: No global keybindings on chromeless pages

* simplify condition

* Refactoring

* Align name and file

* Move logic into AppChrome

* minor fix

* Update Page.tsx

* Fixing test

* Fixed tests

* More fixes

* Fixed more tests

* Fixing final test

* Fixed search in old nav
2023-02-02 09:53:06 +01:00
juanicabanas 2505f112f5
PublicDashboards: A unique page for public dashboards (#60744)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-01-10 14:50:37 -03:00
Ezequiel Victorero 22b5e574b1
PublicDashboards: hide topnav (#56873) 2022-10-18 19:51:09 -03:00
Torkel Ödegaard b8e72d6173
TopNav: KioskMode rewrite move to AppChrome responsibility and make it a global feature (#55149)
* Initial progress

* Moving keybindingSrv to context

* Simplfy KioskMode

* Removed unused logic

* Make kiosk=tv behave as before but when topnav is enabled

* Minor fix

* Fixing tests

* Fixing bug with notice when entering kiosk mode

* Fixed test
2022-09-15 14:04:58 +02:00
Torkel Ödegaard 7198fbaf47
AppChrome: Fix unmount on full page reload (#54897)
* AppChrome: Fix unmount on full page reload

* fix flickering on login page

* Changed logic a bit
2022-09-12 15:11:57 +02:00
Andrey Smirnov fc9577b76d
MegaMenu: Fix broken hamburger toggle (#52770)
* MegaMenu: Fix broken hamburger toggle

* oops

* MegaMenu: move NavBarToggle to FocusScope
2022-08-03 12:08:39 +01:00
Torkel Ödegaard b782d9aa12
GrafanaContext: Exploring a way to get rid of global scope singletons (#52128)
* Context start

* More progress on more generic react context for services

* Update

* Update Page test

* Fixing tests

* Moving to core app
2022-07-23 17:09:03 +02:00
Torkel Ödegaard e6a5b9ee7f
TopNav: Store collapse state for chrome top search bar in local storage (#52300) 2022-07-16 17:44:16 +02:00
Torkel Ödegaard 1e85a6f4fd
TopNav: New page layouts (#51510)
* First stab at new page layouts behind feature toggle

* Simplifying PageHeader

* Progress on a new model that can more easily support new and old page layouts

* Progress

* rename folder

* Progress

* Minor change

* fixes

* Fixing tests

* Make breadcrumbs work

* Add tests for old Page component

* Adding tests for new Page component and behavior

* fixing page header test

* Fixed test

* AppChrome outside route

* Renaming folder

* Minor fix

* Updated

* Fixing StoragePage

* Fix for banners

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-06 17:00:56 +02:00