-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PB-368 : fluid UI rework #773
Conversation
2 failed tests on run #1949 ↗︎Details:
|
d9a233f
to
6950e6c
Compare
bf39481
to
538b89b
Compare
538b89b
to
ff6c407
Compare
75e143e
to
f32fc18
Compare
remove the concept of FeatureCombo, as it is now entirely managed by the InfoboxModule component
3d28eda
to
f4d8f56
Compare
So that we do not need to have this overflow box (which is kind of hard to work with when placing things under) but can show the whole disclaimer as a tippy tooltip Also migrate HeaderWithSearchBar component to Composition API in the process
So that we are then ready to have a map viewport that doesn't take 100% of width and height, and identify will still work properly ClickInfo was also a class that was just there for data transfert, no method or similar things, so I changed it to a simple JSDoc definition and are now simple JSON objects
instead of the screen size, meaning we can resize the map container and identify will still work
in order to be able to use the new map size composable
searchbar, Swiss logo, etc...
no more position absolute made directly in the toolbar components, it will be placed correctly by the OpenLayersMap component
and let it be placed by its parent, instead of doing that itself
Profile is now displayed as a "tray" of the feature list, and the map isn't hidden by the infobox (or footer, or header) anymore. That means that if we do a zoomToExtent while we are looking at features in the infobox, the extent is perfectly placed in the visible viewport of the map
the selection of the correct "border" of the extent wasn't done properly, with a very wide screen the zoom would be too great. Instead choose to show the side of the extent that takes the most "space" on screen by taking the max calculated resolution.
remove vendor CSS and change what we need in :global blocs (without the position absolute the Cesium viewer was growing like crazy every frame, out of control...)
f3767b6
to
1edf5f2
Compare
If you aren't into code review, please at least play with the test link and tell me if you find anything weird. 🙏 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review will be done in #808
Diff has been saved as "snapshot" in this PR for further review |
Temporarily disabling 3D tests, as some rework of the Cesium component stack is required to make it work properly within the fluid UI (WIP that will be published in a separate PR)
1edf5f2
to
180add3
Compare
Center (by default) the map prior to clicking on coordinate in util function.
9b9b436
to
1b5ccc7
Compare
|
||
import { useTippyTooltip } from '@/utils/useTippyTooltip' | ||
|
||
const dispatcher = { dispatcher: 'ZoomOutButton.vue' } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should it be ZoomInButton.vue
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately the user experience with having the map only on the available space is not a good idea. The main issue is that when menu/headers/footer/infobox is changing it changes the map viewport and the map is moved which give a bad user experience, having those components on top of the map provide a much better user experience in my opinion.
As discussed, this brings too many issue with map resizing for user experience to solve only one issue with the zoom to extent being sometimes out of the map. The idea of placing the menu and other things in a more fluid manner might be a good thing for a post-prod work, but we will focus on going live for the time being. (I'll keep the branch around in case I'd like to cherry pick things later) |
Redo the UI from the ground up with the idea that a component shouldn't place itself in the "grid", but simply display what it has to show. Its parent is the one responsible to place it at the correct position.
The map now takes up the space available between the header and the footer (or between the header and the infobox, if the infobox is shown). Meaning it won't be "hidden" under both of these UI component anymore (even though it was fancy with some transparency).
This should greatly improve the experience of "Zoom to extent" on a selected feature, because now the feature will be center in the map viewport in any case.
Test link