Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p

## [Unreleased]
#### 🐛 Fixed
- Fix stale rendering (i.e. missing links after moving an endpoint until an element move) due to the lost scheduled layer updates.
- Fix unable to scroll inside canvas components and templates when `requireCtrl` in `zoomOptions` is set `false`.
- Disable changing an entity IRI in a form when `MetadataProvider.canModifyEntity()` disallows it.
- Move link vertices together with source and target elements if both are selected in `Selection` component.
Expand Down
13 changes: 13 additions & 0 deletions src/diagram/renderingState.ts
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,15 @@ export class MutableRenderingState implements RenderingState {
private syncUpdateLayersUpTo(lastLayer: RenderingLayer): void {
this.layerUpdater.dispose();

// Check if we perform only a partial update and should reschedule the rest
let shouldReschedule = false;
for (let layer = (lastLayer + 1) as RenderingLayer; layer <= LAST_LAYER; layer++) {
const callbackSet = this.scheduledByLayer.get(layer);
if (callbackSet && callbackSet.size > 0) {
shouldReschedule = true;
}
}

const toRun = new Set<() => void>();
for (let layer = FIRST_LAYER; layer <= lastLayer; layer++) {
const callbackSet = this.scheduledByLayer.get(layer);
Expand All @@ -325,6 +334,10 @@ export class MutableRenderingState implements RenderingState {

this.source.trigger('syncUpdate', {layer});
}

if (shouldReschedule) {
this.layerUpdater.call(this.runLayerUpdate);
}
};

ensureDecorationContainer(target: Element | Link): HTMLDivElement {
Expand Down
Loading