Context menu, copy button, multi-component actions
https://github.com/user-attachments/assets/14243102-3848-43fc-82bb-a48648536985
- The 'More' menu can now be opened under the mouse, through the context menu action (right click/control-click on Mac/menu button on keyboard).
- Add copy-components button to menu.
- The menu can now be opened while multiple components are selected; if the clicked component was among the selected components, the selection will be preserved. Some menu actions--currently *copy* and *delete*, apply to all selected components. These actions will change their displayed labels when multiple components are selected. If a single-component action is executed, the component it was applied to will become the sole selection.
Fixes#11633, #11634
* Bump AGGrid version + some fixes
* Make styles in AgGridTableView global
* CHANGELOG
* Remove debug logs
* Fix integration test
* Fix unit test
---------
Co-authored-by: James Dunkerley <jdunkerley@users.noreply.github.com>
Adjust operator parsing to allow chained conversions, like `3.14 : Integer : Text`.
Change the precedence and associativity of the `:` operator, when used as a binary operator in an expression:
- It is now **left-associative**
- It now has **lower** precedence than `->` (previously they were equal)
# Important Notes
One previously-reasonable syntax has **changed interpretation**: `x->x:Type` is no longer a valid way to write a casting function, and would likely result in a type error. There was 1 instance of this syntax in our .enso sources.
Closes#11534
- Visualizations are partially transparent by default
- The initial z-order is undetermined at the project load
- Node is moved on top of other if it is dragged (before it only happened if it was **selected**, which is not the same)
- Changed rendering for edges slightly, to avoid visible edge ends underneath visualization. The implementation of additional offsets is rather naive, but it works.
https://github.com/user-attachments/assets/fba44816-eed9-471d-83a7-8fe6e5892477
* Render tables in documentation.
Also:
- Separate parser for our flavor of Markdown from the CodeMirror integration;
move the parser into ydoc-shared and use for Markdown line-wrapping.
- Introduce our own version of yCollab extension; initially just the upstream
version translated to Typescript and our code style.
- Refactor CodeEditor.
* CHANGELOG, prettier
* Apply @farmaazon review.
* Fix
* Lint
* Cleanup
* Integration tests for GraphNodeComment
Also a little refactoring in preparation for new implementation.
* Workaround stuck CI
* Revert "Workaround stuck CI"
This reverts commit 74313842ba.
* Fix merge
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
- Part of #11311
- Adds ability to read a list of files (Vector, Column, Table) into a Vector.
- Reading into a Table of objects or merged will come in a next PR.
Implements #11240.
https://github.com/user-attachments/assets/4d2f8021-3e0f-4d39-95df-bcd72bf7545b
# Important Notes
- Fix a Yjs document corruption bug caused by `DeepReadonly` being replaced by a stub; introduce a `DeepReadonly` implementation without Vue dependency.
- Fix right panel sizing when code editor is open.
- Fix right panel slide-in animation.
- `Ast.Function` renamed to `Ast.FunctionDef`.
Fixes#11211
<img width="258" alt="image" src="https://github.com/user-attachments/assets/7adea4f6-774a-49ac-8c86-5e785df2acff">
When the "go back" button is clicked, the user is sent back to the `main` function graph. The breadcrumbs are also present on that view and can be used for navigation.
Current design of the error state is improvised, likely to be changed once we have some design guidance about it.
Fixes#10861
Every widget may set metadata on its AST. Because once widget picker will be implemented a single AST node may have many possible widgets, their settings are kept in a map keyed by their name/key.
Closes#11244
- The new dropdown contains all buttons that were present on the wheel before. (except for disabled ‘Write always’)
- The color component stays the same for now
- The visualization toggle button does not change the color depending on the state.
https://github.com/user-attachments/assets/a4d711be-5526-41aa-8e24-6be52e187844
**UPDATE**:
The ‘Edit component’ button was replaced with the ‘Help’ button, which toggles the Help tab of the right-dock panel. The behavior is displayed on the video:
https://github.com/user-attachments/assets/6da8c34a-8bc3-4be4-b0b6-982bf709e986
The ‘Help’ item in the dropdown list preserves its current behavior (opening API docs in the browser).
# Important Notes
- I failed to fix an issue with the unmatching colors of the dropdown menu and the circular menu. If somebody wants to check it out – you are welcome. For now, we just transition to pure white without any transparency to mitigate the issue.
Move annotations into fields of Function and ConstructorDefinition.
# Important Notes
New syntax: Constructor argument-definition lines
- Each argument in a type-constructor definition may be specified on its own (indented) line.
Relaxed syntax: Unparenthesized arguments to annotations
- A generic annotation now uses the rest of the line as its argument expression; the expression no longer needs to be parenthesized.
- Closes#11227
- Additionally, it should fix#11278 by ensuring that every scheduled message goes to the desired endpoint, by splitting each batch by endpoint.
* Fixes [#10983](https://github.com/enso-org/enso/issues/10983) The `ext` field was not set according to the documentation in rust
* Also discovered a regression in opening project by passing argument/clicking the file: we store the file location as `file://` URL, but without caution, it made a havoc with windows paths.
# Important Notes
- [x] **Need to confirm that everything works on macOS** (installation with file associations + opening project when process is running and when not)
Fixes#10948
The problem was in the binary reconnecting: we sent the first "initProtocol" message, but the connection was reset, and then we try to initialize again. While looking good, the problem was that the party websocket we use queued the first initProtocol message and re-send it by itself on reconnect. Our initProtocol was also sent, but it did not get any response, blocking any further request like `writeBytes`.
Before 3.46, the SQLite parser had a limited stack, which could overflow for certain complex queries.
CTE optimizations make some of our queries much smaller, but also a little bit more deeply nested, causing the parser stack to overflow. 3.46 removes this stack limitation.
Closes#10910.