All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
0.17.2 - 2020-02-06
- v0.17.2
- react-map-gl-draw: fix lagging between viewport and editor updating (#331)
- MeasureAreaMode (#325)
- Implement ability to drag and draw in certain modes (#323)
0.17.1 - 2020-01-16
- Use mjolnir.js for event handling (#319)
- Bump handlebars from 4.1.2 to 4.7.2 (#321)
- Fix edit handle icons (#318)
- Cleanup EditMode adapters (#316)
- Call
event.cancelPan()
instead ofevent.sourceEvent.stopPropagation()
in custom edit modes PointerMoveEvent
no longer has anisDragging
flag. Instead, use the newhandleDragging
event.
0.17.0 - 2020-01-10
- Fix deck 8 (#317)
- Rename DrawCircleByBoundingBoxMode to DrawCircleByDiameterMode (#314)
- upgrade deckgl to 8.0 using upgrade script
- update ocular-gatsby
- Measure distance mode + tooltips (#299)
- Use deck.gl mesh layer, update example to use it (#296)
- Fix register events and respect selectedFeatureIndex passed from… (#287)
- Update readme example
- DrawCircleByBoundingBoxMode renamed to DrawCircleByDiameterMode (#314)
- The following props of
EditableGeoJsonLayer
are no longer proxied by nebula.gl (instead use deck.gl's _subLayerProps):getLineDashArray
lineDashJustified
getTentativeLineDashArray
0.16.0 - 2019-09-25
- You can now style edit handles with an outline (which is now also the default) by supplying
getEditHandlePointOutlineColor
- Swap EditableGeoJsonLayer to use edit-modes module (#283)
- Unwrap guide object when using
_subLayerProps
(#284) - Remove deprecated usage. #281 (#282)
featureIndexes
is now nested undereditContext.featureIndexes
in parameter passed toonEdit
callback- Edit handle type is now under
properties.editHandleType
instead oftype
for edit handle styling accessors:getEditHandlePointColor
getEditHandlePointRadius
getEditHandleIcon
getEditHandleIconSize
getEditHandleIconColor
getEditHandleIconAngle
- Deprecated: The
mode
prop is intended to take a constructor or instance rather than a string.import {DrawPolygonMode} from 'nebula.gl'; new EditableGeoJsonLayer({mode: DrawPolygonMode})
editHandleType
no longer supports passing a function/constructor. Use_subLayerProps
instead.editHandleParameters
removed. Use_subLayerProps
instead.editHandleLayerProps
removed. Use_subLayerProps
instead.
If you built a custom ModeHandler
, note the following breaking changes:
- Extend
GeoJsonEditMode
instead ofModeHandler
- Each function now takes a
props
parameter with the state, so useprops
rather thanthis.get...()
(e.g.this.getFeatureCollection()
,this.getModeConfig()
, etc). handleClick
- Call
props.onEdit
instead of returning anEditAction
- Call
handlePointerMove
- Call
props.onEdit
instead of returning anEditAction
- Call
event.sourceEvent.stopPropagation()
instead of returning{cancelMapPan: true}
- Call
handleStartDragging
- Call
props.onEdit
instead of returning anEditAction
- Call
handleStopDragging
- Call
props.onEdit
instead of returning anEditAction
- Call
- Guides
- Edit handles and tentative features are now encompassed as "guides"
- Guides are formatted as GeoJSON FeatureCollection
- Override
getGuides
instead ofgetEditHandles
- Format edit handles as GeoJSON Features instead of custom objects
- Override
getGuides
instead of callingthis._setTentativeFeature()
getCursor
- Instead of defining a
getCursor
function, callprops.onUpdateCursor
- Instead of defining a
groundCoords
renamed tomapCoords
in event objects
0.15.0 - 2019-09-16
- Improve react-map-gl-draw API (#270)
- Port ModeHandlers over to edit-modes module (#222)
- Upgrade jest and istanbul (#267)
- Fix react-map-gl-draw selectedFeature and event register (#265)
- bump viewport-mercator-project (#264)
- refactor react-map-gl-draw part 1 - break down mode handlers (#253)
- Export ViewHandler (#261)
- Simplify EditMode interface to be more stateless (#258)
- Fix clickRadius and insert a point to line segment (#260)
- Bump js-yaml from 3.12.0 to 3.13.1 in /examples/sf (#259)
- Modified the Travis configuration file to enable automated FOSSA scans. (#219)
- Simplify onPan propagation check (#256)
0.14.7 - 2019-07-12
- React-map-gl-draw: propagating onSelect mouse event (#254)
- Make dragging features more resilient to lagging feature element (#251)
- add clipboard support and featureMenu to advanced example (#250)
- Only permit drags on the currently selected feature (#246)
0.14.4 - 2019-07-02
- Exposing ReactMapGl Draw constants: RENDER_TYPE and RENDER_STATE (#248)
- support customized react-map-gl-draw-editor style (#247)
- Support polygon closing styling (#241)
- Support pan gestures when not interacting with a feature (#242)
- Update advanced example style to dark mode (#239)
- RFC: react-map-gl-draw (#229)
0.14.0 - 2019-06-18
- Implement elevation-aware nearestPointOnLine (#236)
- add billboard prop to editable-geojson-layer (#234)
- upgrade deck to 7.1 (#235)
- Refactor react-map-gl-draw (#230)
- Enable flow for react-map-gl-draw (#227)
0.13.0 - 2019-05-13
- For
translate
mode:- Specify
modeConfig.additionalSnapTargets
, which is a list of Features, instead ofmodeConfig.layerIdsToSnapTo
. - Specify
EditableGeoJsonLayer.pickingRadius
rather thanmodeConfig.snapPixels
.
- Specify
- For snapping functionality, can now specify
modeConfig.additionalSnapTargets
to support snapping to an array GeoJSON features whether or not they are rendered - Can override
pickingRadius
andpickingDepth
- Create
@nebula.gl/edit-modes
module (#225) - Decouple snapping functionality from deck.gl (#224)
- Remove dependency on deck.gl from ElevationHandler (#223)
- Ability to toggle GeoJSON text in example (#220)
0.12.1 - 2019-05-07
- Use functions to get to private properties (#218)
- rename react-editor-lite to react-map-gl-draw (#215)
- Fixed SelectionLayer: pickObjects to be called from deck (#214)
- Fixed snapping: Changed _context.layerManager.pickObject (#213)
- Port react-map-gl draw control to @nebula.gl/react-editor-lite (#204)
- Pass through lineWidthUnits to GeoJSONLayer (#203)
0.12.0 - 2019-04-22
- v0.12.0
- Upgrade to deck 7.0 (#183)
- fix: remove extraneous console.log (#201)
0.11.2 - 2019-04-11
- fix version bug
- Add support to SnappableHandler to pick from other layers (#199)
0.11.1 - 2019-04-06
- Create ElevatedEditHandleLayer for better elevation editing (#195)
- Add snapping to translate mode (#177)
- Update immutable-feature-collection.js to copy elevation values when replacing coordinates (#194)
- add textarea to examples/deck
- Initial gatsby website structure (#186)
- Fix HtmlOverlay to handle possible null children (#192)
0.11.0 - 2019-03-21
- Setup coveralls (#191)
- Create @nebula.gl/layers (#189)
- Increase complexity of sample data (#190)
- Remove @nebula.gl/react (#188)
- Add zIndex property to html-overlay.js (#187)
0.10.5 - 2019-03-19
- Composite Mode Handler for creating and modifying at the same time (#184)
- Create @nebula.gl/overlays (#182)
0.10.4 - 2019-03-15
- add gitattributes
- Add elevation-handler mode (experimental) (#178)
- remove EditableJunctionsLayer (#180)
- Move path-marker-layer and path-outline-layer from deck.gl, remove experimental-layers dep (#176)
- Tweak changelog script
0.10.3 - 2019-03-01
- Fix publishing of readme to npm (#174)
- Add Design Goals (#173)
0.10.2 - 2019-02-27
- v0.10.2
- Add support for simultaneously editing multiple polygons in translate, rotate, scale, duplicate modes (#160)
0.10.1 - 2019-02-14
- fix getClusterObjects (#167)
- add scripts/changelog.sh
featureIndex
renamed tofeatureIndexes
(now an array of numbers instead of single number) for theonEdit
callback.positionIndexes
andposition
now nested under a neweditContext
property for theonEdit
callback
- move supercluster to react module, upgrade version
- Fix issue with clicking edit handle while drawing polygon (#156)
- Issue 157. Pass Nebula childrens to Deck. (#158)
- Issue 154, avoid crash when nebula getChildContext being called before didMount (#155)
- Upgraded deck.gl to 6.3.2
- Renamed
EditableGeoJsonLayer.onClick
toEditableGeoJsonLayer.onLayerClick
0.7.5 - 2018-12-12
- Ability to split polygon with only right angles
0.7.4 - 2018-12-10
- Ability to draw polygon with only right angles
0.7.3 - 2018-11-26
- Handle null modeConfig
- Implement Split Polygon
- Ability to drag(extrude) an edge
0.7.2 - 2018-11-12
- Implement selection-layer
- Detach event listeners on component unmount
- Disable hacky loop sync behind feature flag property
0.7.1 - 2018-10-24
- Fix Nebula crashes on attempt to edit polygon layer over segment layer
0.7.0 - 2018-10-23
EditableGeoJsonLayer
'sdrawAtFront
prop should now be supplied viamodeConfig
prop (#115)
- Specify 6.0.5 as the minimum version for deck.gl
- Fix turf v5 compatibility with boolean operations (#111)
0.6.1 - 2018-10-10
- Ability to customize existing modes or add new modes using
ModeHandler
s rotate
modetranslate
modescale
mode- Boolean operations (union, difference, intersection) for polygon draw modes
- Renamed
dragStartScreenCoords
topointerDownScreenCoords
anddragStartGroundCoords
topointerDownGroundCoords
inonStartDragging()
,onStopDragging()
, andonPointerMove()
events isDragging
is now true whether or not something was picked inonPointerMove()
event- Edit handles will now only appear in
modify
anddrawPolygon
modes - Can add new intermediate points anywhere along a line rather than just from the midpoint
0.5.1 - 2018-09-24
updatedMode
andupdatedSelectedFeatureIndexes
are no longer passed to theonEdit
callback. It is now up to the consuming application to determine when/if mode or selection should be changed. Seeexamples/deck
for a demonstration.
- Geometry type will no longer be "upgraded" or "downgraded" by nebula.
onEdit
will only be called once the desired geometry type is achieved (e.g. when completing the polygon). - Renamed
getDrawLineColor
togetTentativeLineColor
- Renamed
getDrawFillColor
togetTentativeFillColor
- Renamed
getDrawLineWidth
togetTentativeLineWidth
- Renamed
getDrawLineDashArray
togetTentativeLineDashArray
- Double-click to complete polygon adds a point where the double-click happened
- See commit history for changelog