v2.2.1
Changes
- [diagram] Fix a bug that prevented proper rendering of templates/ghost elements during node creation in Firefox #324 - Contributed on behalf of Axon Ivy AG
- [routing] Improve anchor point calculation for edge routing #325
- [validation] Fix a bug that could cause duplicate validation markers after a model update #329
- [di] Introduce a reusable
LazyInjectorthat can be used for deferred retrial of services from the container. #330- Introduce
preLoadDiagramhook forIDiagramStartups. This hook is invoked right before theDiagramLoaderstarts the model loading process
- Introduce
- [launch] Introduce
GLSPWebWorkerProviderto simply setting up a worker connection to a in-browser GLSP-server #322 - [diagram] Improve base abstract
UIExtensionto allow more fine-grained definition of container and parent #333 - Contributed on behalf of Axon Ivy AG - [protocol] Improve Geometry API. Add utility functions to
Bound,DimensionandPoint. IntroduceVectorandMovementtypes #341 - Contributed on behalf of Axon Ivy AG - [features] Introduce optional
gridModulefor managing and rendering grids anddebugModulethat allows do display additional graphical debug information during development #343 #359 - [diagram] Improve error handling of startup hooks #346
- [feature] Improve style handling in svg exporter #354
- [di] Improve
ContainerConfigurationAPI and add additional checks to ensure that all ids ofFeatureModulesare unique #355 - [diagram] Update to sprotty 1.2.0. Non-breaking as all potential API breaks have been mitigated via the glsp-sprotty rexport layer #357
- [diagram] Fix a bug with the
AutocompleteWidgetthat prevented proper application of valid suggestions #362 - [api] Improved behavior of default
ToolManagerto avoid unnecessary deactivation and reactivation of default tools #367 - [diagram] Add
onFocusChangedevent toFocusTrackerandEditorContextService#380
Potentially breaking changes
- [API] Centralize most marquee selection behavior in the
MarqueeUtilclass which is now a singleton, injectable and needs theDOMHelper. This will cause a break if you manually created the class without injecting it. To construct it manually, you need to provide theDomHelperas a second argument #373. - [protocol] Avoid indirect dependency to
chaiintroduce by accidentally exporting testing modules #321@eclipse-glsp/protocolno longer exportstest-util.tsvia main index. If needed the module can still be imported via the full path@eclipse-glsp/protocol/lib/utils/test-util.ts
- [API] Apply feedback commands already on
SetModelCommandand unifyrankandpriorityproperty #323.- Method
FeedbackAwareUpdateModelCommand.getFeedbackCommandsmoved toIFeedbackEmitterfor re-use, resulting in two new methods:getFeedbackCommandsandapplyFeedbackCommands. - Method
FeedbackAwareUpdateModelCommand.getPriorityis replaced by a genericrankproperty and theRankednamespace. - The
priorityproperty (higher priority equals earlier execution) inFeedbackCommandis superseeded by arankproperty (lower rank equals earlier execution).
- Method
- [DI] Introduce deferred injection for multi-injected services (listeners, action handlers etc.). Highly reduces the likelihood of circular dependency issues during container creation #330.
No API breaks in the core API, but it introduces some minor breaks in protected methods/fields of default implementations:GLSPCommandStack- Handling of
IGModelRootListenershas moved to theEditorContextService. onModelRootChangedis no deprecated. UseEditorContextService.onModelRootChangedinstead
- Handling of
EditorContextService: ThepostRequestModelmethod has been removed. It was previously unused and effectively a no-op.SelectionService: InjectedcommandStackproperty has been removed.
- [diagram] Introduce a reusable
FeedbackEmitterbase implementation that is stable across model updates and allows composing feedback before dispatching it #342
Refactored tool implementations and related services to make use of the newFeedbackEmitterAPI. This can cause potential breaks for adopters that have customized the default tool implementations.
Affected tools and services:MouseTrackingElementPositionListener,HelperLineManager,FeedbackMoveMouseListener,NodeCreationToolMouseListener,EdgeEditListener, - [diagram] Refactor and improve
ChangeBoundsAPI by introducing a centralizedChangeBoundsManageandChangeBoundsTracker#344 #348 #352 - Contributed on behalf of Axon Ivy AG
This can cause potential breaks for adopters that have customized the default tool implementations
Affected tools and services:MouseTrackingElementPositionListener,FeedbackMoveMouseListener,ChangeBoundsTool,ChangeBoundsListener,FeedbackEdgeRouteMovingMouseListener,NodeCreationTool,
Full Changelog: v2.1.0...v2.2.1