Skip to content

Add layout presets, minimap sync, and update dependencies#371

Merged
OSPFNeighbour merged 4 commits into
masterfrom
master-dev
May 11, 2026
Merged

Add layout presets, minimap sync, and update dependencies#371
OSPFNeighbour merged 4 commits into
masterfrom
master-dev

Conversation

@OSPFNeighbour
Copy link
Copy Markdown
Collaborator

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 localStorage and 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 buildBasemapLayer function, 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:

  • Added the ability to override job shapes based on specific job types, not just parent categories, allowing for finer-grained UI representation (e.g., "FR" jobs now use a pentagon shape). (src/pages/tasking/utils/jobTypesToUI.js) [1] [2]

Configuration UI:

  • Expanded the configuration modal with a detailed list of layout presets, including names, descriptions, and preview classes for each option. (src/pages/tasking/viewmodels/Config.js)

These changes collectively provide a more flexible, user-friendly, and maintainable map/tasking interface.

OSPFNeighbour and others added 4 commits May 1, 2026 08:37
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.
@OSPFNeighbour OSPFNeighbour merged commit f2e9a49 into master May 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant