Skip to content
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

8086 Bugfixes for layout changes #8169

Conversation

alexander-fedorenko
Copy link
Contributor

Description

This PR resolves issues found after testing
#8085 (comment)

  1. Sidebar now will be active in map viewer available on context creation/edit. Original issue appeared because burger menu became not available in "desktop" list of enabled plugins in localConfig.json. Map viewer available on "Map configuration" step of context creation/edit is using "viewer" array of plugins from localConfig.json that will fall back to "desktop" when "viewer" is not available. That's the case for default version of the file, moreover, if we add "viewer" array there, it will also affect /viewer/ path and Burger menu will return there. @offtherailz @tdipisa Could you check this point just to be sure that this is correct and applicable approach in this case?
  2. Corrected classes applied to the map catalog and identify container when they are open. That was the reason of incorrect offset for catalog at the map viewer that opens in modal (e.g. in geostory)
  3. Cesium viewer has no option to customize compass position except of css. Therefore I've added sidebar flag to the map plugin, this flag is true when sidebar plugin is instantiated on the page. Cesium map implementation uses this flag to apply "data-sidebar" attribute to the wrapper. Additional offset for compass is applied if this data attribute exists.

Please check if the PR fulfills these requirements

What kind of change does this PR introduce? (check one with "x", remove the others)

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Other... Please describe:

Issue

What is the current behavior?

#8085 (comment)

What is the new behavior?
As per PR description

Breaking change

Does this PR introduce a breaking change? (check one with "x", remove the other)

  • Yes, and I documented them in migration notes
  • No

Other useful information

…er menu.

Properly refresh sidebar menu activity state on map reload
…roper styling of catalog in modal map viewer in geostory
@MV88
Copy link
Contributor

MV88 commented May 6, 2022

@alexander-fedorenko i noticed that here in toc toolbar it is missing add layer button, even if catalog is closed
image

@MV88
Copy link
Contributor

MV88 commented May 6, 2022

Is this already tracked?
image

cesium navigation gets covered a little

@offtherailz
Copy link
Member

offtherailz commented May 6, 2022

  • Same issue for the addLayer is for the BackgroundSelector (add background functionality). Catalog should inject it too

@ElenaGallo
Copy link
Contributor

ElenaGallo commented May 6, 2022

Hi @alexander-fedorenko, I don't know if it's a problem, but when the burger menu plugin is placed in a context and the catatologist or gfi panel is opened a piece of search bar is displayed below.

4.mov

See this context: https://dev-mapstore.geosolutionsgroup.com/mapstore/#/context/8086

…s and hiding menu item in sidebar if burger menu exists on the page

Rolling back updatableLayersCount selector item.
@tdipisa
Copy link
Member

tdipisa commented May 6, 2022

@ElenaGallo

Hi @alexander-fedorenko, I don't know if it's a problem, but when the burger menu plugin is placed in a context and the catatologist or gfi panel is opened a piece of search bar is displayed below.

Yes, it is normal because we have decided to reduce the width of the catalog panel.

@alexander-fedorenko
Copy link
Contributor Author

@allyoucanmap It can be reviewed, thanks!

Copy link
Contributor

@allyoucanmap allyoucanmap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sidebar now will be active in map viewer available on context creation/edit. Original issue appeared because burger menu became not available in "desktop" list of enabled plugins in localConfig.json. Map viewer available on "Map configuration" step of context creation/edit is using "viewer" array of plugins from localConfig.json that will fall back to "desktop" when "viewer" is not available. That's the case for default version of the file, moreover, if we add "viewer" array there, it will also affect /viewer/ path and Burger menu will return there. @offtherailz @tdipisa Could you check this point just to be sure that this is correct and applicable approach in this case?

We have an inconsistency with the sidebar due to the login position where the step 2 have the login inside the sidebar instead of the omnibar.
@tdipisa @alexander-fedorenko @offtherailz
if you don't bother about this we could fix later anyway we need to align this side bar in all viewer as I mentioned in the previous PR review #8085 (review)

image

image

image

image

web/client/components/map/cesium/Map.jsx Outdated Show resolved Hide resolved
web/client/plugins/Map.jsx Outdated Show resolved Hide resolved
web/client/plugins/map/selector.js Outdated Show resolved Hide resolved
web/client/themes/default/less/cesium.less Outdated Show resolved Hide resolved
@alexander-fedorenko
Copy link
Contributor Author

alexander-fedorenko commented May 6, 2022

We have an inconsistency with the sidebar due to the login position where the step 2 have the login inside the sidebar instead of the omnibar.

Yes, that's the issue because Login in Omnibar and Sidebar has equal priority, but only sidebar get it rendered when both plugins are on the page.

Update: resolved in a call with @allyoucanmap
Map configuration step will use burger menu as before.

@tdipisa tdipisa merged commit 29cbb12 into geosolutions-it:master May 6, 2022
@tdipisa
Copy link
Member

tdipisa commented May 9, 2022

@ElenaGallo please complete tests of this and #8085 in DEV

@ElenaGallo
Copy link
Contributor

Test passed, @alexander-fedorenko please backport this pr on the dedicated georchestra branch. Thanks

alexander-fedorenko added a commit to alexander-fedorenko/MapStore2 that referenced this pull request May 9, 2022
* Context creator - map configuration - use SidebarMenu instead of burger menu.
Properly refresh sidebar menu activity state on map reload

* Class name should be applied to the container as it's important for proper styling of catalog in modal map viewer in geostory

* Custom compass offset on Cesium viewer in case if sidebar is active. Passing sidebar state to the map plugin.

* Get back original containers, applying same priority to the containers and hiding menu item in sidebar if burger menu exists on the page
Rolling back updatableLayersCount selector item.

* Revert "Custom compass offset on Cesium viewer in case if sidebar is active. Passing sidebar state to the map plugin."

This reverts commit 704c205.

* Static position update of compass

* Update of the pluginsFilterOverride to make it works with a custom list of plugins passed by props

(cherry picked from commit 29cbb12)
tdipisa pushed a commit that referenced this pull request May 9, 2022
…ovements (#8085) (#8175)

* #8086 Layout changes and other improvements (#8085)

* # 150 Layout changes of the UI

- Moving annotations to the left sidebar (TOC), adding annotation management tools into its toolbar.

* Updated test to be align with the changed position of annotations panel

* Changes for print plugin required to support printing of additional layers.

* Minor customizations for "Home" and "Login" plugins to make them properly styled both for Omnibar and SidebarMenu
Adding abstract element for sidebar menu that could be used as a tool.
Making OmniBar disappear on map viewer page if sidebarMenu was instantiated.

* Update of the rest plugins that were presented in BurgerMenu to appear in SidebarMenu

* rollback, was causing problems when some glyphicons were not rendered

* Corrections of style for legacy burger menu

* - Hide burger menu when SidebarMenu is active, keep OmniBar visible as it is a container for search plugin
- Updated configuration for right panels: aligned their width (all to 550px), connected them to the layout state so that they track for right/bottom paddings.
- Provided different way to apply paddings for dock panels and for toolbars (omnibar, map toolbar)
- New component to wrap dock panels.
- Style changes

* Skip attempt to sum-up dockSize as percentage amount.

* Moved layout-based style from omnibar to search plugin to prevent infinite loop

* Added toggle support for part of the tools;
Style fixes.

* Selector & reducer update

* Sidebar menu with tracking of the window height and hiding elements into dropdown dynamically.

* - Sidebar - keep last active item tracked.
- Burger menu, fix for visibility condition
- Minor fix to the selector to get paddings for docks and toolbars depending on open tools. Definitely not the most beauty way to resolve the issue, but it helps to prevent gazzilions of unneeded re-renders for components when store state changes by ANY action.
- All menu elements are togglable.
- Search bar with new behavior (- media queries, + checks if width fit to the screen)
- Fix for react-container-dimensions & dock components by updating it to the latest version (only used by docks, so it's easy to test/safe to update)
- Slightly changes styles of preview plugin to make it look fine with the sidebar menu.

* Prevent reset of last active item from additional list when user toggles item in the main list

* Support of having plugins list that define dock panel that needs to be open exclusively in sidebar. All other panels from the list will be deactivated automatically. Configurable/extendible via "miscSettings.excludsiveDockPanels" in localConfig.json

* - Updated annotations panels order (since it's moved from right to left)
- Deactivate annotations when measure is on and vice versa
- Toggle off any open panel in right sidebar when feature editor is open
- Toggle off Identify panel when any right panel is getting activated.
- Z-index readjustments

* - Fixes for searchbar when omnibar contains elements;
- Add cadastrapp to the list of exclusive panels
- Re-checking that sidebar is properly instantiated on its update. Sometimes onInit isn't running on component mount.
- Making user extensions plugin close feature editor

* Locale strings for sidebar menu

* Fixes search to be styled consistently with or without sidebar menu.
Correction of elements order in omnibar on home page.

* Fixes search to be styled consistently with or without sidebar menu.

* Amending existing tests to make them work after layout changes;
Minor fixes to the epic to keep old logic for "bottom" offset.

* Basic test coverage for implemented functionality

* Reverting flex styles for omnibar. Using simpler approach for proper searchbar positioning.

* Fix of the bug that prevents prioritized container to be properly selected if more than one container is defined as a function in plugin.

* - Changes in plugin priorities to make them appear in BurgerMenu by default.
- SLight update to the burger menu to make it's possible to track whether it's mounted on the page or not.
- Resolving issue with Home and Login plugins to be rendered in sidebarMenu IF there is no BurgerMenu, otherwise they should be rendered in omnibar;
-

* Reducing button sizes;
Adding shadow to the sidebar;
Replaced save tool icon.

* Making option to print additional layers optional and disabled by default, updating option name.

* Removed monitored state.

* Removed BurgerMenu from desktop plugins.

* Share plugin tests fix.

* Order matters

* 15/30px size for medium-size buttons

* - Separate panel component with support of tracking of container width
- Fix for measure plugin;
- Fix of map grid element height on home page.

* Fix for annotations plugin tests

* Revert of hardcoded toolbar buttons in TOC for annotations. Defining buttons in Annotations plugin instead.

* Correction to make cards size approximately same as it was before button sizes change

* Using common button size in less stylesheet of SidebarMenu;
Migration guide.

* - Tracking of the case when left/right panels are open via state.
- Style fix for mapstore logo, spinner;
- Widgets plugin corrections, removed hardcoded offset, using offset provided by state.
- Amended tests

* Updated migration documentation with changes to the pluginsConfig.json

* - Map export, Save, SaveAs plugins - making them work again by adding doNotHide flag into container configuration.

* DockContainer and ResponsivePanel documentation

* Added card-height variable.
Applied it to the min-height of the sidegrid cards & TOC layers list

* Missed lines

* Missed lines /2

* Use card-height in TOC styles

* Suggested change to the documentation with minor fix

* Update web/client/configs/pluginsConfig.json

Co-authored-by: Lorenzo Natali <[email protected]>

* Properly hide overlay layers printing options by default (it is enabled if opposite is not passed by props)

* Properly hide overlay layers printing options by default (it is enabled if opposite is not passed by props)

* Missing doNotHide for DeleteMap plugin

Co-authored-by: Lorenzo Natali <[email protected]>

(cherry picked from commit 8d438d9)

* 8086 Bugfixes for layout changes (#8169)

* Context creator - map configuration - use SidebarMenu instead of burger menu.
Properly refresh sidebar menu activity state on map reload

* Class name should be applied to the container as it's important for proper styling of catalog in modal map viewer in geostory

* Custom compass offset on Cesium viewer in case if sidebar is active. Passing sidebar state to the map plugin.

* Get back original containers, applying same priority to the containers and hiding menu item in sidebar if burger menu exists on the page
Rolling back updatableLayersCount selector item.

* Revert "Custom compass offset on Cesium viewer in case if sidebar is active. Passing sidebar state to the map plugin."

This reverts commit 704c205.

* Static position update of compass

* Update of the pluginsFilterOverride to make it works with a custom list of plugins passed by props

(cherry picked from commit 29cbb12)
@offtherailz offtherailz added this to the v2022.02.00 milestone Sep 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C169-Rennes-Métropole-2021-GeOrchestra3 Layout Issue connected to the MS layout New Feature used for new functionalities Priority: High
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants