Skip to content

14.0.0

Compare
Choose a tag to compare
@jmacura jmacura released this 18 Jun 13:11
· 539 commits to develop since this release

14.0.0 (2024-06-18)

After an unprecedented number of pre-releases there is finally an official version 14 of hslayers-ng. It comes once again with a big structural change as we move from single entrypoint to multiple secondary entrypoints. See below.

BREAKING CHANGES

  • Introducing secondary entry points, for better dead-code elimination. Individual logical components and services are now exported individually instead of one uniform export. This change shall significantly reduce the amount of data necessary to transfer at first load of any hslayers application, thus improving startup time and overall performance. However it requires a developer to change all imports from hslayers-ng library. E.g. what was before
import {HsEventBusService} from 'hslayers-ng';

becomes

import {HsEventBusService} from 'hslayers-ng/services/event-bus';

or analogously

import {HsConfig} from 'hslayers-ng';

becomes

import {HsConfig} from 'hslayers-ng/config';
  • panelsEnabled options renamed
  • query component (info panel) renamed to "query", info component (compositionLoadingProgress) renamed to "info" and configuration moved from panels to components
  • cesium: Changed config parametres in hslayersCesiumConfig (see an updated wiki page for current values).
    • Removed: terrain_provider, createWorldTerrainOptions, newTerrainProviderOptions,
    • Renamed: terrain_providers to terrainLayers with extended structure,
    • Added: cesiumGeocoder, cesiumFullscreenButton, cesiumBaseLayerPicker.
  • The core service has been renamed to hslayers service.
  • hslayers module is no longer exported via main entry point hslayers-ng, use hslayers-ng/core instead
  • src folder has been renamed to core, update your imports accordingly
  • Changed CSS and ASSETS location, update your import paths

Bug Fixes

  • build: Dedupe package-lock (b1f1d1a)
  • Modification and removal of features in uneditable layer (1ba816a)
  • sensors: aggregations- minimum (020b180)
  • styler: Set max dimensions for custom icon in select dialog (feb7753)
  • test-app: Unify file names (f7ecdd0)
  • trip-planner: Define structure of mapClicked event (76541fa)
  • trip-planner: Fix panel header (917d3bc)
  • access-rights: Do not make unnecessary get users requests (eaed003)
  • access-rights: Do not override roles (1ed1461)
  • cesium-test-app: 2.5D geojson url source path (05e8a01)
  • cesium: Align style of cesium buttons (5c199a5)
  • cesium: Set active property of visible terrain layer at init (2cff0c7)
  • query: Add the highest priority to the function arg instead of the config value when creating new selector (a91862d)
  • query: Set new selector (325fcbe)
  • query: Trigger selector after subscription is ready (f83e37b)
  • test-app: Assign panelWidth via ngOnInit() (308369f)
  • test: Change location of access-rights test files based on new lib structure (7c9ba08)
  • apps: Set publicPath automatically (17c3474)
  • cesium-app: add missing imports (48415c9)
  • cesium-app: globFunctions lookup (eef3c46)
  • sidebar: Show sidebar labels if no mainpanel is selected (bdff168)
  • Add missing standalone directive import (52458bf)
  • add-data: Add-to-map should be hidden when trying to load raster without login (9604451)
  • add-data: Both TiledWMS and ImageWMS should be available for WMS layers (09ca83e)
  • add-data: Clustering of catalogue WFS layers (29d161b)
  • add-data: Don't allow loading of features into internal layers (b9e9aa6)
  • add-data: Doubled 'Uploading layer' label when loading shp (780ec18)
  • cesium: Add missing Injectable, add GUI essentials (abb710f)
  • cesium: Do not duplicate listeners on cesium toggle (6e76387)
  • cesium: Make OSM layer visible from zoom=1 (483e3cb), closes #4750
  • cesium: Reflect terrainLayers rename (f853201)
  • cesium: Set layer visibility on Cesium init (d48ea9f), closes #4048
  • cesium: Sync also layers with KML source (4ee9c2b)
  • Close tag in add-data - merge mistake (73d5201)
  • Construct basemap name from array (45827d5)
  • Correctly identify hs-layout element during ngOnInit (2f35873)
  • Dialog container component (9454232)
  • Disable 'Save current map' button when Save map panel is not enabled (20de4a7)
  • Do not reset layerLoadingProgress.pending to 0 (bcb73f6)
  • Don't react to current layer deselection (e807321)
  • Import layer table into modules (0f5b7ea)
  • layer-editor: Wrong position of layer-editor after styler is closed (7110b1e)
  • layermanager: Basemap in panel loading progress (6a14b36)
  • layerManager: Layer list item alignment (0194d65)
  • map-swipe: Resolve layerManagerUpdates in batch once map-swipe is enabled (9163f91), closes #4768
  • Minisidebar visibility (7eca3dd)
  • Panel header tab change not reflected when done programmatically (b3969e2)
  • Panel-header viewChild value race condition (252b306)
  • prebuild (2ee1249)
  • Preserve composition layer order - in terms of z-index (f402e90), closes #4679
  • print: Imprint not toggle-able (41ada28)
  • Register popUp on map (e7cfc39)
  • remove-layer-dialog: Removing single layer (840f8c5)
  • remove-layer: Removing single layer from catalogue would delete all catalogue layers (6c094f2)
  • sensors: Adjust to changes (884be40)
  • sensors: Use new panel-header API (91bd9ff)
  • sensors: v14 sensor updates (6864c3f)
  • Set group property in details component to not interfere with loading of service without layer (1a5a394)
  • Set permissions success callback (297ea26)
  • Set permissions success callback (2dbdd92)
  • Shared imports (571f8c7)
  • sparql: Remove duplicate loadCounter (aac00d6)
  • Style and test-app imports (426bb9a)
  • styler: Extend custom types with OL's PatternDescriptor (23a72c6)
  • styler: Symbolizer defaults (9038574)
  • suspendEvents for init layers (9881750)
  • types: Layer swipe side type export/import (88691e7)
  • WFS services with high number of features not loading (2b19507)
  • WMS metadata extent parsing (5dbec30)

Features

  • legend: Allow to display custom icons in legend (607fd47)
  • legend: Expose legendCategories property on source (03e862d)
  • sensors: Add chart loading indicator (448420e)
  • sensors: Unit and sensors filtering via config (810612d)
  • trip-planner: Allow to select different route profile (3963e7f)
  • trip-planner: Enhance error messages (85e9fe5)
  • access-rights: Allow access rights to be reset to the initial value (377c977)
  • access-rights: Per role tab (83d0ed5)
  • cesium: Disable terrains in LM when 2D view active (a99f8d2)
  • config: Add style property to query config allowing to set default style for selected features (b4e9049)
  • layer-editor: Add warning about missing base widget execution of ngOnInit lifecycle method (9d42b0b)
  • layer-manager: Folder widget & folders reactivity (ba8faff)
  • cesium: Add support for ArcGISTiledElevationTerrain (77f1dac)
  • Add map eventhandlerset event (84f1311)
  • Add missing ng-package files (88bfb06)
  • add-data: Remove catalogue layers via panel-header buttons (24f8387)
  • cesium-test-app: Add glTF model (9fedd67)
  • cesium-test-app: Add KML source example (470df77)
  • cesium: Allow display 3D GeoJSON (79db24b), closes #4757
  • cesium: Allow extrude GeoJSON and KML sources to height (76ad049)
  • cesium: Move 3D view toggle to toolbar (6351f4d)
  • compositions: Use map composition schema as a type (2bae98a)
  • Option to add WMS layers as one group or separate layers (ea65154)

Performance Improvements

  • sensors: Debounce vega embed executions (102eaa2)
  • sensors: Reduce data volume sent to vega embed (1ef9955)
  • cesium: Reduce usage of some unnecessary sync callbacks (c2490b0)
  • decoupling: Split panel chunks into smaller parts (b1e6e55)

Code Refactoring

  • Move css and assets out of the src folder (9f38f37)
  • refactor!: Rename core service to hslayers service (9dd58fa)
  • refactor!: Expose hslayers library via secondary entry points only (1bac393)
  • refactor!: Rename src to core and move core service out of the services (c67b0f8)
  • Align panel, component, folder and config names for panel components (842e238)
  • GUI components visibility (e315647)

Full Changelog: 13.2.1...14.0.0