Add layout presets, minimap sync, and update dependencies#371
Merged
Conversation
Introduce reusable basemap builder and hook the MiniMap to the selected basemap (persisted via localStorage 'map.base'), ensuring the minimap updates when the base changes. Add layout presets for sidebar/pane arrangements with CSS, a UI in the config panel to preview/select presets, and per-preset persistence for split sizes (localStorage keys scoped as 'lh.layout.<preset>.<suffix>'). Update resize logic to apply preset classes, read/write layout-scoped sizes, restore sizes on load, and emit/listen to an 'lh:layoutPresetChanged' event so the UI and layout stay in sync.
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.31 to 8.5.10. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](postcss/postcss@8.4.31...8.5.10) --- updated-dependencies: - dependency-name: postcss dependency-version: 8.5.10 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [protocol-buffers-schema](https://github.com/mafintosh/protocol-buffers-schema) from 3.6.0 to 3.6.1. - [Commits](mafintosh/protocol-buffers-schema@v3.6.0...v3.6.1) --- updated-dependencies: - dependency-name: protocol-buffers-schema dependency-version: 3.6.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add map settings control and job shape overrides Add a MapSettingsControl to the map that opens the page config modal (bootstrap) and wire it into the map initialization. Introduce jobTypeShape overrides so concrete job types (e.g. "FR" => pentagon) take precedence over parent-category shapes when computing marker shapes. Update styles to show the settings control only in the map-only layout and hide the sidebar-toggle there, and add minor layout/transition/overflow tweaks for sidebar, vsplit and draggable cells to improve collapse/animation behavior. * Disable sidebar transitions during resize Add a temporary body class (sidebar-resizing) while performing left/right sidebar drag so the sidebar and splitter have transitions disabled during the interaction. The JS now adds/removes the class on start/end of resize, and CSS ensures .sidebar and .vsplit have no transitions when resizing to prevent animation jank and produce immediate layout updates.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a major update to the map/tasking UI, focusing on improved layout flexibility, persistent user preferences, and enhanced map controls. The most notable changes are the addition of customizable layout presets (with full persistence and dynamic switching), improvements to the minimap and basemap handling, and the introduction of a map settings control for easier configuration access.
Layout Preset System and Persistence:
Added a comprehensive layout preset system, allowing users to choose from multiple sidebar/map arrangements (e.g., map-only, map-right, map-left, teams-only, tasking-only). The selected preset is persisted in
localStorageand applied dynamically, including during configuration changes. (src/pages/tasking/resize.js,src/pages/tasking/viewmodels/Config.js) [1] [2] [3] [4] [5] [6] [7]Pane and sidebar sizes are now stored and restored per layout preset, ensuring that each layout remembers its own dimensions. This includes logic for handling top/bottom pane assignment based on the current preset. (
src/pages/tasking/resize.js) [1] [2] [3] [4] [5]Map Controls and Basemap Handling:
Refactored basemap layer creation into a reusable
buildBasemapLayerfunction, supporting NSW vector/raster basemaps as well as existing ESRI basemaps. The minimap now uses the same logic and updates dynamically with the main map's basemap selection. (src/pages/tasking/main.js) [1] [2]Introduced a map settings control button, visible in map-only mode, to provide quick access to the configuration modal directly from the map interface. (
src/pages/tasking/main.js) [1] [2]Job Type UI Improvements:
src/pages/tasking/utils/jobTypesToUI.js) [1] [2]Configuration UI:
src/pages/tasking/viewmodels/Config.js)These changes collectively provide a more flexible, user-friendly, and maintainable map/tasking interface.