jumpinjackie/mapguide-react-layout
An openlayers-based modern map viewer for MapGuide
30 Releases
Latest: 1y ago
v0.14.10Latest
📋 Changes
- [#1534](https://github.com/jumpinjackie/mapguide-react-layout/issues/1534): Replaced `epsg.io` with `spatialreference.org` for projection lookups by EPSG code
- [#1486](https://github.com/jumpinjackie/mapguide-react-layout/issues/1486): Update stamen tile layer URLs to point to Stadia Maps using a `XYZ` tile source. A Stadia Maps API key is now required for such layers. This API key is expected to be defined in a top-level `StadiaMaps` extension property of the Flexible Layout. Sign-up for an API key at https://stadiamaps.com/
- As part of this work, support is now also available for Stadia Maps
- Updated the following dependencies:
- `colorbrewer`
- `dompurify`
- `papaparse`
- `proj4`
- + 4 more
v0.14.9
📋 Changes
- [#1418](https://github.com/jumpinjackie/mapguide-react-layout/issues/1418): Internet Explorer is no longer supported. All polyfills to support this browser have been removed.
- [#1441](https://github.com/jumpinjackie/mapguide-react-layout/issues/1441): New viewer mount option to add extra HTML content alongside a layer or group legend item.
- [#1467](https://github.com/jumpinjackie/mapguide-react-layout/issues/1467): Heavy component refactoring to avoid excessive updates and re-renders.
- [#1465](https://github.com/jumpinjackie/mapguide-react-layout/issues/1465): Fix `urlPropsIgnore` not considered when updating URL state
- [#1468](https://github.com/jumpinjackie/mapguide-react-layout/issues/1468): Fix 0 display DPI when browser zoom is below 100%
v0.14.8
📋 Changes
- OpenLayers updated to `6.15.1`
- [#1411](https://github.com/jumpinjackie/mapguide-react-layout/issues/1411): Support pre-registering custom projections from appdef
- [#1463](https://github.com/jumpinjackie/mapguide-react-layout/issues/1463): Support reading app settings from appdef
- [#1461](https://github.com/jumpinjackie/mapguide-react-layout/issues/1461): Support loading Map Definitions that link to a XYZ tileset
- [#1447](https://github.com/jumpinjackie/mapguide-react-layout/issues/1447): Support disabling custom cursors through a new `DISABLE_CURSORS` app setting (`1` to enable, `0` to disable)
- [#1258](https://github.com/jumpinjackie/mapguide-react-layout/issues/1258): Modal dialog size and positioning is now persisted
- [#1458](https://github.com/jumpinjackie/mapguide-react-layout/issues/1458): Fix potential stale legend state from dispatched update action
- [#1411](https://github.com/jumpinjackie/mapguide-react-layout/issues/1411): Fix epsg.io lookup
- + 5 more
v0.14.7
📋 Changes
- Update to OL 6.13.0
- [#1385](https://github.com/jumpinjackie/mapguide-react-layout/issues/1385): Use DOMPurify to sanitize all cases where raw HTML content is being assembled.
- DOMPurify is now also the default HTML cleaning function for the selection panel component if no custom HTML cleaning function is provided.
- [#1374](https://github.com/jumpinjackie/mapguide-react-layout/issues/1374): Un-break support for Web Layouts
- Remove `shortid` dependency by replacing existing usages with a simple sequential numerical id generator
v0.14.5
📋 Changes
- Update to OL 6.10.0
- [#1368](https://github.com/jumpinjackie/mapguide-react-layout/issues/1368): Fix Firefox instability by debouncing history API access on url state update
- [#1369](https://github.com/jumpinjackie/mapguide-react-layout/issues/1369): Fix `e.declutterTree is null` errors on vector feature hovering
- [#1370](https://github.com/jumpinjackie/mapguide-react-layout/issues/1370): Allow appdef vector layers to opt-out of automatic hover highlight processing
v0.14.4
📋 Changes
- [#1363](https://github.com/jumpinjackie/mapguide-react-layout/issues/1363): Hover highlighting now only happens if the active map tool is `Select`
- [#1362](https://github.com/jumpinjackie/mapguide-react-layout/issues/1362): Un-break static image layers in appdef
- [#1361](https://github.com/jumpinjackie/mapguide-react-layout/issues/1361): Fix inability to load a Map Definition with an arbitrary coordinate system not based in meters.
- [#1360](https://github.com/jumpinjackie/mapguide-react-layout/issues/1360): Fix inability to add some GeoJSON-based WFS layers
- [#1358](https://github.com/jumpinjackie/mapguide-react-layout/issues/1358): GeoJSON appdef layers can now source their data from a browser global variable
- [#1357](https://github.com/jumpinjackie/mapguide-react-layout/issues/1357): Added support for WFS (GeoJSON format) in appdef external layers
v0.14.3
📋 Changes
- [#1354](https://github.com/jumpinjackie/mapguide-react-layout/issues/1354): Support for static images as subject layers
- [#1350](https://github.com/jumpinjackie/mapguide-react-layout/issues/1350): Fix opacity not applying to subject layers
- [#1348](https://github.com/jumpinjackie/mapguide-react-layout/issues/1348): Basic support for MapGuide Map Definitions that use arbitrary (non-geographic) coordinate systems. Refer to [Known Issues](https://jumpinjackie.github.io/mapguide-react-layout/#/KNOWN_ISSUES) for caveats to using the viewer with such maps.
- [#1349](https://github.com/jumpinjackie/mapguide-react-layout/issues/1349): Restore display of viewer init warnings on startup
- [#1344](https://github.com/jumpinjackie/mapguide-react-layout/issues/1344): Template-specific CSS now embedded alongside its respective layout component. All template HTML files are now virtually identical except for the template to init with. A new PHP version of the template is included that can now also parameterize the template name via a `template` query string parameter.
- [#1346](https://github.com/jumpinjackie/mapguide-react-layout/issues/1346): External layer instances can now carry arbitrary JSON metadata to support persistence and restoration of such layers (the viewer will not be doing this, that aspect is left to you, the consuming application to handle)
v0.14.2
📋 Changes
- OpenLayers updated to 6.9.0
- [#1343](https://github.com/jumpinjackie/mapguide-react-layout/issues/1343): New flag to control whether the select tool can pan via mouse drag
- [#1340](https://github.com/jumpinjackie/mapguide-react-layout/issues/1340): Do not try to rebuild (non-existent) MapGuide runtime map layer/group structure in stateless mode
- [#1341](https://github.com/jumpinjackie/mapguide-react-layout/issues/1341): Add XYZ tile debug layer
v0.14.1
✨ New Features
- [#1175](https://github.com/jumpinjackie/mapguide-react-layout/issues/1175): New powerful declarative styles for vector layers
- External Layer Manager enhancements:
- New options to add a file-based vector layer as:
- [#1175](https://github.com/jumpinjackie/mapguide-react-layout/issues/1175): A themed layer with optional labeling
- For point-based layers:
- [#1184](https://github.com/jumpinjackie/mapguide-react-layout/issues/1184): A clustered layer with optional labeling
- [#1324](https://github.com/jumpinjackie/mapguide-react-layout/issues/1324): A heatmap layer
- Styles of vector layers are previewable and editable via new powerful style editor components
- + 32 more
💥 Breaking changes:
- The `WmsQuery` command has been removed and consolidated into the `Select` command/widget. Update your Application Definitions accordingly.
- The viewer bundle is now split into 2 files:
- `vendor.js`
- `viewer.js`
- If you are using a custom template, you now must load `vendor.js` before `viewer.js` and also make sure to include `vendor.css` alongisde the `viewer.css` stylesheet.
- Due to the introduction of stateless mode and general-purpose usage context, your usage of the current viewer APIs can no longer assume that you will always have a session id to work with.
v0.14.0
Release v0.14.0 (0.14.0.4111) A 0.14.1 release has been made which fixes the npm module. Full release notes have been relocated to the 0.14.1 release.
v0.13.3Pre-release
📋 Changes
- [#1205](https://github.com/jumpinjackie/mapguide-react-layout/issues/1205): Fix initialElementVisibility not applying for Aqua template
- [#1257](https://github.com/jumpinjackie/mapguide-react-layout/issues/1257): Fix inconsistent layer/group visibility in legend if doing a refresh after server-side layer/group state changes
v0.13.2Pre-release
📋 Changes
- [#1160](https://github.com/jumpinjackie/mapguide-react-layout/issues/1160): Un-break MapGuide tiled maps support (due to change in tile grid coordinate format introduced in OpenLayers 6.0)
v0.13.1Pre-release
💥 React Component API Breaking Changes:
- Almost all components are now [functional components with hooks](https://reactjs.org/docs/hooks-intro.html) instead of class-based.
- This means component state is now a true implementation detail of the component and cannot be relied on externally (eg. Operating on state of a ref-mounted component instance)
- Most TypeScript component state and dispatch interfaces have been removed as a result.
- Use the new [react-redux hooks API](https://react-redux.js.org/next/api/hooks) for dispatching viewer actions and subscribing/listening to viewer application state.
- Consider using our [collection of custom hooks](https://github.com/jumpinjackie/mapguide-react-layout/blob/master/src/containers/hooks.ts) for listening to particular viewer application state.
💥 Viewer API Breaking Changes:
- Removed optional `factory` argument from `ILayerManager.getLayer()`.
- Replacement: Just add the layer yourself aftewards if `ILayerManager.getLayer()` returns `undefined`.
- Removed `moveDown` and `moveUp` methods from `ILayerManager`.
- Replacement: Dispatch the new `SET_LAYER_INDEX` redux action for your layer with your desired new index positioning.
- Custom template reducer function signature has changed.
- Old signature: `(state: ITemplateReducerState, action: ViewerAction) => ITemplateReducerState`
- New signature: `(origState: ITemplateReducerState, state: ITemplateReducerState, action: ViewerAction) => ITemplateReducerState`
- Implications:
- + 6 more
🐛 Features/Fixes Overview:
- Major updates of key libraries:
- [#1034](https://github.com/jumpinjackie/mapguide-react-layout/issues/1034): Upgrade to latest OpenLayers (6.2.1)
- [#1010](https://github.com/jumpinjackie/mapguide-react-layout/issues/1010): Upgrade to latest Blueprint 3.x (3.22.2)
- [#1029](https://github.com/jumpinjackie/mapguide-react-layout/issues/1029): Upgrade to latest react-redux package (7.1.2)
- [#963](https://github.com/jumpinjackie/mapguide-react-layout/issues/963): Re-designed External Layer Manager
- Can now add file-based layers to the map
- GeoJSON/TopoJSON
- KML
- + 38 more
v0.13.0Pre-release
Release v0.13.0 (0.13.0.3399) ### A `0.13.1` release has been made which un-breaks map switching functionality. Full release notes have been relocated to the `0.13.1` release.
v0.12.8Pre-release
📋 Changes
- [#1016](https://github.com/jumpinjackie/mapguide-react-layout/issues/1016): Fix i18n hole in feature tooltip hyperlink prompt.
- [#1012](https://github.com/jumpinjackie/mapguide-react-layout/issues/1012): Use command label as title for modal dialogs spawned by it. Fix display and i18n issues in share link to view component.
- Fix `<sup>` in measure area displat being unnecessarily escaped
v0.12.7Pre-release
📋 Changes
- Fix more i18n gaps in:
- Measure segment display ([#1008](https://github.com/jumpinjackie/mapguide-react-layout/issues/1008))
- Loading screen text ([#1007](https://github.com/jumpinjackie/mapguide-react-layout/issues/1007))
- [#1006](https://github.com/jumpinjackie/mapguide-react-layout/issues/1006): Fix Task Pane menu not auto-closing if task pane is made invisible.
v0.12.6Pre-release
📋 Changes
- Fix production bundle not being minified (due to behavioral change introduced by a recent webpack update)
- [#1004](https://github.com/jumpinjackie/mapguide-react-layout/issues/1004): Add OL factory APIs for creating missing OL style types.
v0.12.5Pre-release
📋 Changes
- [#1000](https://github.com/jumpinjackie/mapguide-react-layout/issues/1000): Fix clicked hyperlinks in tooltips not opening in Task Pane
- [#990](https://github.com/jumpinjackie/mapguide-react-layout/issues/990): Default initial active viewer tool to "Pan" instead of un-set
- [#991](https://github.com/jumpinjackie/mapguide-react-layout/issues/991): Fix default format string for mouse coordinates component missing localized units display
- Fix drawing task pane sample
v0.12.4Pre-release
📋 Changes
- [#989](https://github.com/jumpinjackie/mapguide-react-layout/issues/989): Fix scrambled font icons
- [#988](https://github.com/jumpinjackie/mapguide-react-layout/issues/988): Allow map to properly init if session id is passed, but runtime map was not created yet (can happen if loading a weblayout/appdef from a session resource id or the session id was pre-generated up front before the viewer was loaded)
- Fix some warnings around usage of the `history` module and redux dev tools
- Fix possible duplicated source maps as a result of recent versions of webpack
v0.12.3Pre-release
📋 Changes
- [#968](https://github.com/jumpinjackie/mapguide-react-layout/issues/968): Fix initial view on appdef breaking viewer
v0.12.2Pre-release
📋 Changes
- [#964](https://github.com/jumpinjackie/mapguide-react-layout/issues/964): Plug additional i18n holes in measurement units and OpenLayers controls
v0.12.1Pre-release
📋 Changes
- [#960](https://github.com/jumpinjackie/mapguide-react-layout/issues/960): Fix react update exceeded depth errors in WMS (External) layer manager component
- [#961](https://github.com/jumpinjackie/mapguide-react-layout/issues/961): Refine test for QUERYMAPFEATURES 4.0.0 support
v0.12.0Pre-release
📋 Changes
- [#804](https://github.com/jumpinjackie/mapguide-react-layout/issues/804): Selection sub-highlighting now only available for MapGuide Open Source 4.0 (and newer) servers.
- [#670](https://github.com/jumpinjackie/mapguide-react-layout/issues/670): Add support for XYZ layers defined in a Flexible Layout to match functional parity with Fusion
- [#587](https://github.com/jumpinjackie/mapguide-react-layout/issues/587): Plug remaining i18n holes in measure and WMS layer manager components.
- [#955](https://github.com/jumpinjackie/mapguide-react-layout/issues/955): Don't word wrap layer/group node labels in Legend component and provide tooltips for these labels
- [#940](https://github.com/jumpinjackie/mapguide-react-layout/issues/940): Remove non-geodesic measure option as it is mostly inaccurate.
- [#481](https://github.com/jumpinjackie/mapguide-react-layout/issues/481): Current selection set now also stashed to local storage to persist (and be restored) between browser refreshes.
- [#645](https://github.com/jumpinjackie/mapguide-react-layout/issues/645): Viewer CSS is now extracted out to a
- As part of this change, workaround a potential infinite loop if the error icon asset could not be found by adding an inline base64 copy of this icon.
- + 13 more
v0.11.2Pre-release
📋 Changes
- OpenLayers updated to 4.6.5
- [#562](https://github.com/jumpinjackie/mapguide-react-layout/issues/562): More scalable vertical text CSS for sidebar template
- [#566](https://github.com/jumpinjackie/mapguide-react-layout/issues/566): Fix QuickPlot not working without toggling print box first
v0.11.1Pre-release
📋 Changes
- [#476](https://github.com/jumpinjackie/mapguide-react-layout/issues/476): Fix tiled base layer group initial visibility not being respected
v0.11.0Pre-release
📋 Changes
- Updated React to 16.2
- Updated Blueprint to 1.35.5
- Updated OpenLayers to 4.6.4
- Updated TypeScript to 2.7.2
- [#481](https://github.com/jumpinjackie/mapguide-react-layout/issues/481): Partial application state now pushed to URL, making a browser reload effectively "resume" from where you left off.
- Current view
- Active map (if multiple maps are present)
- Shown/Hidden group and layer names
- + 33 more
v0.10.0Pre-release
📋 Changes
- Updated OpenLayers to 4.3.2
- Update TypeScript to 2.5
- Update Blueprint to 1.27
- [#188](https://github.com/jumpinjackie/mapguide-react-layout/issues/188): QuickPlot now supports box rotation via a numerical slider
- [#6](https://github.com/jumpinjackie/mapguide-react-layout/issues/6): Selection Panel component now highlights the currently selected feature (when multiple features are selected)
- [#325](https://github.com/jumpinjackie/mapguide-react-layout/issues/325): New persistent busy loading indicator
- [#36](https://github.com/jumpinjackie/mapguide-react-layout/issues/36): NPM module now supports customizable Selection Panel body rendering
- [#97](https://github.com/jumpinjackie/mapguide-react-layout/issues/97): Port across Coordinate Tracker widget from Fusion
- + 21 more
v0.9.6Pre-release
📋 Changes
- [#300](https://github.com/jumpinjackie/mapguide-react-layout/issues/300): Use `async`/`await` to simplify init and mapagent request code.
- API: Removed `IPromise<T>`. All references to `IPromise<T>` now reference standard `Promise<T>` to support `async`/`await`
- [#302](https://github.com/jumpinjackie/mapguide-react-layout/issues/302): Fix transparency toggler for maps with no external base layer configuration.
- API: Image/cursor file references moved from `utils/asset` to `constants/assets`
v0.9.5Pre-release
📋 Changes
- [#250](https://github.com/jumpinjackie/mapguide-react-layout/issues/250): Added support for toggling layer transparency (via Viewer Options)
- API: Added OL factories for creating extent and snap interactions
- [#111](https://github.com/jumpinjackie/mapguide-react-layout/issues/111): Ensure that scales of new views "snap" to the closest finite scale when viewing a tiled map
- [#252](https://github.com/jumpinjackie/mapguide-react-layout/issues/252): Fix tooltip queries being sent with points instead of pixel-buffered polygons
- [#239](https://github.com/jumpinjackie/mapguide-react-layout/issues/239):
- Support element target (New Window / Task Pane / Specific Frame) for commands
- Expanded extension property support for select Fusion widgets
- [#22](https://github.com/jumpinjackie/mapguide-react-layout/issues/22): Added sprite icon support. Any icon currently in the default Fusion image sprite is supported here.
- + 8 more
v0.9.1Pre-release
📋 Changes
- Update blueprint to 1.21.0
- Update OpenLayers to 4.2.0
- Update React to 15.6.1
- [#261](https://github.com/jumpinjackie/mapguide-react-layout/issues/261): Now built with Webpack 3 with scope hoisting support for faster bundle loading and slightly smaller bundle size
- [#251](https://github.com/jumpinjackie/mapguide-react-layout/issues/251): Fix inability to interact with tooltip content
- [#262](https://github.com/jumpinjackie/mapguide-react-layout/issues/262): Fix refresh not rebuilding legend
- [#246](https://github.com/jumpinjackie/mapguide-react-layout/issues/246): Support for setting initial template element visibility when mounting
