Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: simplify viewbox cloning #935

Merged
merged 1 commit into from
Sep 27, 2024
Merged

chore: simplify viewbox cloning #935

merged 1 commit into from
Sep 27, 2024

Conversation

philippfromme
Copy link
Contributor

@philippfromme philippfromme commented Sep 27, 2024

Proposed Changes

Uses structuredClone to clone viewbox and simplifies test.

Previously code like this would get a reference to _cachedViewbox and then modify it.

Follow-up to #931

Checklist

To ensure you provided everything we need to look at your PR:

  • Brief textual description of the changes present
  • Visual demo attached
  • Steps to try out present, i.e. using the @bpmn-io/sr tool
  • Related issue linked via Closes {LINK_TO_ISSUE} or Related to {LINK_TO_ISSUE}

@nikku
Copy link
Member

nikku commented Sep 27, 2024

Ok, so this is where things break (we mutate the source), and we do it internally. The fix could also have been to not mutate the returned result.

I'm fine with the proposed fix though (safe in all cases).

@nikku nikku merged commit d1d9c75 into develop Sep 27, 2024
8 of 10 checks passed
@bpmn-io-tasks bpmn-io-tasks bot removed the needs review Review pending label Sep 27, 2024
@nikku nikku deleted the structured-clone branch September 27, 2024 14:53
ElRaptorus added a commit to 5minds/diagram-js that referenced this pull request Feb 4, 2025
# Changes 

Siehe Changelog:
https://github.com/bpmn-io/diagram-js/blob/develop/CHANGELOG.md

## 15.2.4

* `FIX`: canvas `autoFocus` must explicitly be enabled
([bpmn-io#956](bpmn-io#956))
* `FIX`: properly integrate `zoomscroll` with canvas focus
([bpmn-io#956](bpmn-io#956))
* `FIX`: properly integrate `movecanvas` with canvas focus
([bpmn-io#956](bpmn-io#956))

## 15.2.3

* `FIX`: adjust search to prioritize start of word and exact matches
([bpmn-io#953](bpmn-io#953))
* `FIX`: ignore whitespace when searching
([bpmn-io#954](bpmn-io#954))

## 15.2.2

* `FIX`: correct `Keyboard#bind` and config types
([bpmn-io#948](bpmn-io#948))

## 15.2.1

* `FIX`: limit overly permissive regex
([bpmn-io#949](bpmn-io#949))

## 15.2.0

* `FIX`: clear selection when opening search pad
([bpmn-io#947](bpmn-io#947))
* `FIX`: correct dangling selection after search pad interaction
([bpmn-io#947](bpmn-io#947))
* `CHORE`: simplify search pad pre-selection behavior
([bpmn-io#947](bpmn-io#947))

## 15.1.0

* `FEAT`: integrate `popup-menu` with `search`
([bpmn-io#932](bpmn-io#932))
* `FEAT`: recognize modern `search` tokens in `search-pad`
([bpmn-io#932](bpmn-io#932))
* `FEAT`: improve `search` types
([bpmn-io#932](bpmn-io#932))
* `FIX`: correctly handle duplicate entries and whitespace in `search`
([bpmn-io#932](bpmn-io#932))
* `FIX`: find `search` terms across all keys
([bpmn-io#932](bpmn-io#932))
* `FIX`: `search` always returns tokens for matched items
([bpmn-io#932](bpmn-io#932))

## 15.0.0

* `FEAT`: make canvas browser selectable
([bpmn-io#659](bpmn-io#659))
* `FEAT`: make keyboard binding implicit
([bpmn-io#661](bpmn-io#661))
* `FEAT`: make multi-selection outline an outline concern
([bpmn-io#944](bpmn-io#944))

### Breaking Changes

* `Keyboard` binding target can no longer be chosen. Configure keyboard
binding via the `keyboard.bind` configuration and rely on keybindings to
work if the canvas has browser focus.
([bpmn-io#661](bpmn-io#661))
* The `Canvas` is now a focusable component, that is recognized
accordingly by the browser, with all benefits for UX and interaction.
Components that pull focus from the `Canvas` during modeling must ensure
to restore the focus (if intended), via `Canvas#restoreFocus`.
([bpmn-io#661](bpmn-io#661))
* The `selection` feature does not provide visual outline by default
anymore. Use the `outline` feature to re-enable it.
([bpmn-io#944](bpmn-io#944))

## 14.11.3

* `CHORE`: simplify viewbox cloning
([bpmn-io#935](bpmn-io#935))

## 14.11.2

* `FIX`: restore search result highlight
([bpmn-io#931](bpmn-io#931))
* `FIX`: correct search result highlight not being removed
([bpmn-io#931](bpmn-io#931))
* `FIX`: do not change zoom when search openes
([bpmn-io#931](bpmn-io#931))

## 14.11.1

_Partially reverts v14.11.0._

* `FIX`: revert `search` integration into popup menu

## 14.11.0

* `FEAT`: add `search` utility
* `FEAT`: sort popup entry search results semantically
([bpmn-io#916](bpmn-io#916))

## 14.10.0

* `FEAT`: align search styling with other popups
([bpmn-io#913](bpmn-io#913))
* `CHORE`: use existing outline in search
([bpmn-io#913](bpmn-io#913))
* `FIX`: only commit search viewport changes on `ENTER`
([bpmn-io#913](bpmn-io#913))

## 14.9.0

* `CHORE`: export types compatible with `verbatimModuleSyntax`
([bpmn-io#927](bpmn-io#927),
[bpmn-io#864](bpmn-io#864))
* `CHORE`: re-compute context pad position next frame
([bpmn-io#920](bpmn-io#920))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants