Changelog since last release

0.9.6

Changelog

  • #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: Fix transparency toggler for maps with no external base layer configuration.
  • API: Image/cursor file references moved from utils/asset to constants/assets

0.9.5

Changelog

  • #250: Added support for toggling layer transparency (via Viewer Options)
  • API: Added OL factories for creating extent and snap interactions
  • #111: Ensure that scales of new views "snap" to the closest finite scale when viewing a tiled map
  • #252: Fix tooltip queries being sent with points instead of pixel-buffered polygons
  • #239:
    • Support element target (New Window / Task Pane / Specific Frame) for commands
    • Expanded extension property support for select Fusion widgets
  • #22: Added sprite icon support. Any icon currently in the default Fusion image sprite is supported here.
  • #276:
    • New standardized path (dist/stdassets) for all content assets (images/icons/fonts/etc)
    • Command/Flyout icon settings are now respected.
    • #295: Some helpers to ensure proper asset path resolution when using the npm module
  • Legend now properly renders layers with multiple geometry styles
  • Fix: Fusion MapMessage compat not spawning equivalent blueprint toast alerts
  • #290: Fix flyout menus requiring double-click to re-open
  • #277: Fix excessive blueprint toaster components created when using toast alerts

0.9.1

Changelog

  • Update blueprint to 1.21.0
  • Update OpenLayers to 4.2.0
  • Update React to 15.6.1
  • #261: Now built with Webpack 3 with scope hoisting support for faster bundle loading and slightly smaller bundle size
  • #251: Fix inability to interact with tooltip content
  • #262: Fix refresh not rebuilding legend
  • #246: Support for setting initial template element visibility when mounting

0.9

Changelog

  • Update blueprint to 1.17.1
  • Update to React 15.5.4
  • #210: Now using TypeScript 2.3.2
  • Update OpenLayers to 4.1.1
    • #126: Now using ol npm package with ES2015 modules. As a result the viewer bundle now only carries parts of OpenLayers that are actually used
    • #155: To support viewer APIs that require OL types as input parameters, a new object factory API is provided to create any required OL type.
  • Now available as a npm module. Use the npm module if you need to customize the viewer with:
    • Additional layout templates
    • Custom script commands
    • Removing un-used features from the viewer bundle
    • Check out this example to see how the npm module is used
  • #50: API documentation (provided by Typedoc)
  • #125: New project landing page
  • #189: Added support for Bing Maps as external base layers
  • #121: Ported testing infrastructure over to jest
  • #99: Now built using Webpack 2.x
  • #124: Set up greenkeeper.io service
  • #224: The following tools now reuse existing Fusion widget and/or backend code:
    • Buffer
    • Query
    • Theme
    • FeatureInfo
    • Redline
    • QuickPlot
    • Search Commands
    • As a result, many Fusion viewer APIs have been polyfilled to support these tools
  • Components docked into the Task Pane will now properly scroll overflow content if required
  • #145: Added support for some Fusion events
  • #197: The ajax-viewer and sidebar templates now work with Application Definitions
  • #17: InvokeURL and Search commands now support:
    • Frame targeting (Target = SpecifiedFrame)
    • Opening in a new window (will use a modal dialog)
  • Fusion template tweaks:
    • limegold and turquoiseyellow templates now use the blueprintjs Tabs2 component instead of the deprecated Tabs component
    • All templates now listen on a new dedicated redux state branch for controlling visibility/focus of primary elements:
      • Task Pane
      • Legend
      • Selection
    • New script commands are registered by default that can push new visibility/focus states to this redux state brach. As a result, any existing InvokeScript widgets that toggled the TaskPane/Legend/SelectionPanel (these commands exist if you created a fresh Application Definition in Maestro), now work out of the box and no longer show [X] Error placeholders
    • As a result of the new redux state branch, any InvokeURL command executed now automatically toggles the visibility/focus of the Task Pane to be the active element (if hidden or not visible).
  • #174: Fix race condition where the viewer finishes init before the fetching custom projections from epsg.io has completed
  • #130: Fix parent.parent pointing to nowhere when viewer itself is embedded in an iframe.

0.8

Changelog

  • Update Blueprint to 1.9.0
  • Update React to 15.4.2
  • Improved performance due to restructured and optimized redux state tree and updates to minimize unnecessary re-rendering
  • #108: Added multi-map support
    • #64: Ported across MapMenu fusion widget
  • #113: Fix small sliver of task pane content visible when task pane collapsed on sidebar template
  • #114: Fix legend infinite loop on maps with multiple (>2) levels of group nesting
  • #115: Hover styles no longer rendered for disabled toolbar items
  • #122: Clicking expanded panel in accordion should not collapse it
  • #123: Offset modals more from the top (so toolbars don't obscure them)
  • #25: Add support for InvokeURL command parameters
  • #3: Complete menu/toolbar loose ends

0.7.1

Changelog

  • #64: Fix accordion not showing last panel as initially expanded in Slate and Maroon templates
  • #111: Fix switching to fractional finite display scale not reflecting in scale dropdown
  • #109: Restore 'NONE' option in Base Layer Switcher component

0.7

Changelog

  • #98: Updated to TypeScript 2.1
  • #91: Use Blueprint as UI foundation
    • Many UI elements updated/replaced/re-styled with blueprint equivalents
    • Menus (flyout and context) can now support multiple levels of nesting
    • Replaces the following components/libraries which have been removed
      • ol3-contextmenu
      • react-flyout
      • Our custom fontello icon set
  • Feature Tooltips are now toggle-able from Viewer Options
  • #64: All Fusion templates ported across
    • TurquoiseYellow
    • LimeGold
    • Slate
    • Maroon
  • Aqua template changes:
    • Added status bar
    • Changed to use Blueprint-styled modal dialogs
    • Task Pane window opens (if hidden) when an InvokeURL command is executed
  • Sidebar template changes:
    • Updated to use Blueprint icons and load spinner
  • More Fusion widgets ported over
    • #96: Geolocation
    • #95: Base map switcher
  • Now shows busy indicator on viewer startup instead of a "white screen of nothingness"
  • #90: Replaced npm with yarn
  • #103: non-en string bundles are now loaded on demand if the passed in locale parameter is not en
  • #38: Mouse cursor now updates based on active map tool
  • #86: Zoom slider position should now better reflect actual zoom (especially for tiled maps)
  • #85: Scale display is now editable. For tiled maps, this becomes a select dropdown of finite scales

0.6.2

Changelog

  • #79: Update OpenLayers to 3.19.1
  • #87: Update to TypeScript 2.0.10 and React 15.4.1
  • #81: Check that the resource parameter is specified
  • #84: Fix DisplayInLegend property of layers and groups not being used to determine visibility of legend items
  • #88: Fix property pane "spilling over" in non-Aqua templates when viewing a feature with lots of attributes
  • Better/improved tiled layer support
    • #84: Fix incorrect scale range visbility check for layers in legend
    • #84: Fix MapGuide base layer toggling not functioning properly in legend
    • #83: Ensure zoom actions and slider drags in Navigator (aka. Zoom slider) snap to the finite scale list for tiled maps

0.6.1

Changelog

  • #76: Fix init error when loading map containing raster layers

0.6

Changelog

  • #75: Refactored flyout menus to be physically de-coupled from their toolbars
    • #52: Task Pane flyout menu will now properly show over the task pane when it has embedded (ActiveX/Flash/etc) content in IE.
  • #74: Implemented ExecuteMapAction AJAX Viewer API.
  • #47: Viewer now supports passing in Application Definition resource ids
  • #64: New layout template: Aqua
    • This is a port of the equivalent Fusion template
  • #33: Update toolbar CSS in Sidebar layout template so that it better blends in.
  • #65: Page document title will now be set to the title of the Web Layout / Application Definition if specified
  • #60: Fix bad relative path to webconfig.ini that causes most server-side tools to fail
  • #55: Handle and show startup errors
  • #40: Measure tool now requires explicit start/stop of measurements
  • #66: Error placeholders now shown for toolbar/menu items for invalid command references
  • #59: Enable feature tooltips by default
  • #73: Fix incorrect ratio for ol.source.ImageMapGuide resulting in image requests that are bigger than viewport
  • #71, #72, #29: Set active tool to nothing before digitizing, ensuring selection isn't triggered when drawing
  • Selection Panel now respects attribute display order of Layer Definition
  • #70: Projections for unknown EPSG codes will now be requested from https://epsg.io
  • Added OL controls to base map viewer component
    • Overview Map
    • #62 Rotation reset
  • #53 Code base migrated to TypeScript 2.0
    • #54 Null-safety compiler options enabled
    • #56 noImplicitAny compiler option enabled

0.4

Initial release