Commit Graph

352 Commits

Author SHA1 Message Date
Kaz Wesley
6d72a75f5e
Documentation link interactions (#11753)
* Ctrl+click to follow link; clicking link opens a popup. Fixes #11692.

- Ctrl+click to follow link (and add hover text)
- When editing, if the cursor is in a link a popup allows following the link.
- Text filters (e.g. recognizing links) now apply to text dragged into the
  editor, or pasted with the context menu, besides pasting with the keyboard
  (uses new feature from updated CM).
- Simplify CM editors by moving setup and reactivity patterns into shared
  helpers.
- Add integration tests for link interactions in component comments and documentation panel.
- Fix code editor tooltips (fixes #11740).
- All lines containing selected text show markup
2024-12-06 07:01:40 -08:00
Kaz Wesley
0d7427a404
Fix performance deterioration after many external or code-editor edits. (#11789)
Fix performance issue reported by @JaroslavTulach on Discord.

- Fix accumulation of unreferenced AST objects when reconciling module content with `syncToCode`.
- Add a unit test checking that `syncToCode` does not allocate unneeded objects in the module.

Fixes #10768.
2024-12-06 14:52:50 +00:00
Kaz Wesley
63d70da15f
Component menu button opens single-component menu (#11786)
- Clicking a component's menu button makes the component the sole selection
- When a component becomes the sole selection due to a user interaction, it is raised to the top

Fixes #11767.
2024-12-05 20:30:53 +00:00
Paweł Grabarz
be1b706d0a
Function definition editor widget (#11655)
Fixes #11406

Also refactored the right panel state into its own store, so it is less coupled with the graph editor.

<img width="439" alt="image" src="https://github.com/user-attachments/assets/73e6bb92-235f-497d-9cff-126dc4110f8b">

The function definition widget tree displays the icon, name and all arguments. The name is editable, everything else right now is just read-only. The icons next to the arguments are just placeholders intended to be replaced with a "drag handle" icon.

Also fixed issues with missing rounded corners on the ag-grid widget.
<img width="263" alt="image" src="https://github.com/user-attachments/assets/cb61f62a-755c-4865-ba6c-ab9130167713">
2024-12-05 18:03:48 +00:00
Kaz Wesley
88fdfb452a
Context menu improvements (#11755)
Context menu improvements:

- Activate component context menu only for clicks on component widget area (fixes #11745).
- In a table-editor widget, if AG Grid opens a context menu, don't open the component menu.
- Enable the AG Grid context menu on OS X.
2024-12-05 15:23:45 +00:00
somebody1234
8eddcff262
Revert to network (graph) icon for GUI editor tabs (#11759)
Revert icon to the original icon for GUI editor tabs

# Important Notes
None
2024-12-05 11:02:20 +00:00
Sergei Garin
984aeb9671
Revert sorting order (#11756)
* Revert  sorting order

* Address issues/ remove the optimistic updates

* Add more tests

* Fix tests
2024-12-05 13:11:56 +03:00
somebody1234
497884aa62
Disable opening projects in the browser (#11760)
- Close https://github.com/enso-org/cloud-v2/issues/1612
- Disable opening projects on cloud.enso.org.
- This is because this functionality is currently not ready

# Important Notes
None
2024-12-05 08:28:41 +00:00
Paweł Grabarz
cc0b020e1e
Fix rounded corners and improve styling on grid visualization (#11771)
Fixes #11648

Also modified styling of ag-grid to be consistent in both widget and visualization, as well as to fit more into the overall Enso design.

<img width="1139" alt="image" src="https://github.com/user-attachments/assets/7e69f211-22c5-42fd-8f6e-5e2017aaa15a">
2024-12-04 23:22:32 +00:00
Kaz Wesley
cb499e2b69
Fix visualization toolbar dropdown layering (#11768)
Fixes #11647.
2024-12-04 18:18:26 +00:00
marthasharkey
48a87cefb8
check for long negavtive numbers not just positive (#11750) 2024-12-03 17:56:56 +00:00
Adam Obuchowicz
7a3f34d3de
Fix reconnecting after hibernation on Windows (#11739)
Fixes #11716

The previoud implementation of restoring execution context assumed, that any synchronization in progress on connection close will fail - but actually if the synchronization just waited for executionContext/create, it might be successfull and effective after reconnecting.

Also, show "Language Server connection lost" when the actual language server connection is lost, and dismiss the message on reconnect.

# Important Notes
The hibernation still does not work properly - connection to Project Manager is not restored.
2024-12-03 16:08:16 +00:00
Ilya Bogdanov
4d2e44c878
Table.input for pasting tabular data (#11695)
Closes #11350

- Copy/pasting tabular data now creates `Table.input` nodes.
- Column names are always copied when you work inside Enso (excluding cases when you paste some cells into an existing table)
- When working with external apps, column names are copied only if `Copy with headers` is selected.

https://github.com/user-attachments/assets/a1233483-ee4a-47e4-84a1-64dd0b1505ef

Roundtrip with Google Spreadsheets (shows non-trivial TSV data that includes quotes and newlines):

https://github.com/user-attachments/assets/4ac662a2-809f-423a-9e47-628f46f92835
2024-12-03 15:22:15 +00:00
marthasharkey
78c2068063
Filter drilldown for mixed column (#11694) 2024-12-03 15:06:23 +00:00
Adam Obuchowicz
48c3c7fffb
Quickfix Graph Editor styles (#11746)
A @jdunkerley 's propsal of fixing issue [#11728](https://github.com/enso-org/enso/issues/11728)

![image](https://github.com/user-attachments/assets/74da5807-7bac-4c18-a86a-c068cc19632f)
2024-12-03 14:36:31 +00:00
Sergei Garin
caeaf413b5
Do not send the generated name to the Backend (#11735)
This PR removes sending the pre-generated name to the remote backend. We don't have full control over this and can't guarantee the uniqness of the name purely client-side.

Closes: https://github.com/enso-org/cloud-v2/issues/1600

For the local backend we still generate the name though.
2024-12-03 14:27:10 +00:00
Adam Obuchowicz
d53b85b89a
Fix drop-down menu (#11744)
Fixes #11741

The styles of floating-ui were not applied, because any style is [not applied to a slot in general](https://stackoverflow.com/questions/47317479/styling-vue-slot).
2024-12-03 14:02:56 +00:00
Ilya Bogdanov
ce1df4ebcd
Extend output port and remove selection halo (#11715)
Closes #11507

- Output port area extended twice
- Selection halo is removed (but most of the code is still there – I understood we don’t want to remove everything before testing)

https://github.com/user-attachments/assets/4c6d7837-362e-4309-aa9b-5c0679d600e9
2024-12-03 13:54:02 +00:00
Sergei Garin
a6d040ecf5
Fix referesh Interval (#11732)
This PR fixes issue when refetch didn't happen because the session either already expired or very close to expire

This PR fixes the reset interval when it's less that 5 mins or already expired

Based on https://github.com/enso-org/enso/pull/11725

Closes: https://github.com/enso-org/cloud-v2/issues/1603
2024-12-03 13:06:15 +00:00
Sergei Garin
16765455c2
Reset expanded directories list on category change (#11725)
Partially closes: cloud-v2/1592

Closes: https://github.com/enso-org/cloud-v2/issues/1606

This PR also adds needed configuration for unit tests and adjust it to run using vscode vite extension
2024-12-02 15:44:39 +00:00
Sergei Garin
979e0e361c
Fix copy and paste on local backend (#11701)
* Fix copy and paste on local backend

* Remove sorting order by modified date
2024-12-02 12:52:49 +03:00
Kaz Wesley
0b6b1f0954
Context menu, copy button, multi-component actions (#11690)
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
2024-11-29 19:52:22 +00:00
Adam Obuchowicz
99a91a1011
Add missing headerName (#11719)
Fixes #11718
2024-11-29 17:09:11 +00:00
Sergei Garin
1476c47fa9
Tiny fixes in animations (#11706)
This PR improves the behavior of `useMeasure`: it used to ignore measuring the initial bounds if it's disabled by default. Now the behavior is fixed.

Also this PR removes the scrollbar appearing while resizing.
2024-11-29 11:13:37 +00:00
Sergei Garin
0c7e79cccf
Fix resize animations in Dialog (#11643)
This PR fixes the Resize animations in Dialog component:

1. Removes resize for initial mount / fullscreen dialogs
2. Fixes measuring the content size
3. Fixes bugs in `useMeasure` hook
4. Adds memoization for Text and Loader components (because of react-compiler and because this components accept only primitive values)
2024-11-28 19:15:34 +00:00
Adam Obuchowicz
6d9699c841
Bump AGGrid version (#11684)
* 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>
2024-11-28 14:40:29 +00:00
Adam Obuchowicz
fe299b2b3b
Tiny look improvements (#11666)
Part of https://github.com/enso-org/enso/issues/11510

1. Default values are italic
![image](https://github.com/user-attachments/assets/509a9d32-4263-4563-aad9-e7a9ee7bc039)

2. The Text widget actually displays default values as placeholders (before it was a normal text).
![image](https://github.com/user-attachments/assets/73c32317-ac15-4f1d-8824-7cc445ae47ce)

3. No more "grab" cursor over node's icon.
![image](https://github.com/user-attachments/assets/49939283-891e-4fc4-93bc-7d0c4ed7b295)
2024-11-28 13:48:19 +00:00
somebody1234
27a4bdc6b8
Fix local settings button not switching settings tab (#11677)
- Make sure both settings tab and page are changed when the button next to the "Local" category is clicked
- Hide "save" and "cancel" button in settings sections if the user can't edit any of the inputs
- Disable all dragging out of "trash" category (specifically, "trash" to "cloud" category)

# Important Notes
None
2024-11-28 10:36:19 +00:00
Sergei Garin
88ba6fa8b8
Dashboard Issues (#11685)
Closes: https://github.com/enso-org/cloud-v2/issues/1592
2024-11-27 21:20:36 +00:00
Adam Obuchowicz
736134e491
Add traces to integration tests + suppress one flaky assertion. (#11595)
Fixes #11604

Most issues were caused by a problem with Project List flooding the network with its requests - this was fixed on develop.
But one assertion was flaky - it assumed we will see the "real" run result on `write` node, but sometimes it is immediately overwritten by dry run.

But the most important part of this PR is adding traces to Electron packages - it's should be much easier now to debug E2E test failures.

Also renamed the previously misnamed "E2E tests" to "[GUI] integration tests".
2024-11-27 14:09:59 +00:00
Sergei Garin
b0863e9ca4
FIx interval for Cloud project when opening (#11676) 2024-11-27 17:04:48 +03:00
marthasharkey
008a7fb85e
Add date support for filter drilldown (#11626)
![filter-drilldown-date](https://github.com/user-attachments/assets/9574a172-95af-41c6-aef1-a586ee6cda98)
![filter-drilldown-time](https://github.com/user-attachments/assets/9fd5c3f0-0594-4d9c-8c00-c9616ae997be)

Date Time using Date_Time.parse
![date-drilldown-date-time-1](https://github.com/user-attachments/assets/9960cdba-8f13-4f72-9c11-b681ae63e988)
![date-drilldown-date-time-2](https://github.com/user-attachments/assets/caaeb53d-8d2e-4332-aaa4-3d3e210a0893)
2024-11-27 12:30:59 +00:00
Kaz Wesley
9ddd8417b2
Fix output edges; add unit and integration testing. (#11637)
Fix output edges; add unit and integration testing for output and input edges.

Fixes #11635.
2024-11-26 17:37:57 +00:00
Kaz Wesley
190029996c
Fix teleporter crash and integration tests (#11656)
Fix failing integration tests:
- Fix a Vue Teleporter crash that became reachable when the dropdown arrow is displayed more often (#11620).
- Fix a new drag-and-drop test that didn't work in CI.
- Update mock data for multi-type expression updates (https://github.com/enso-org/enso/pull/11583).

# Important Notes
- The new `ConditionalTeleport` component should be used for any `Teleport` that uses the `disabled` prop and has a `to` that isn't always a valid teleportation target.
2024-11-26 09:22:41 +00:00
marthasharkey
582a9aaa3d
Drive data quality metrics from enso code (#11638)
If a data quality metric is added to the array sent in the table viz json for a table/column the metric will be added to the columns tooltip without the need for any frontend/ts changes.

This doesn't change anything for the users but here is a screenshot to show the same functionality:
![dqm-enso-driven](https://github.com/user-attachments/assets/7bf83d35-0d63-49ac-8d70-1f86dbedc169)
2024-11-25 23:01:09 +00:00
Ilya Bogdanov
b5f93f065e
Implement partially transparent visualizations (#11582)
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
2024-11-25 13:28:37 +00:00
Dmitry Bushev
2b9ed57a95
Deliver full intersection type of a value to the IDE (#11583)
close #11481

Changelog:
- update: handle `MultiTypeValue` results in the execution instrument
- update: language server protocol supports multi-type values
- update: GUI uses only the first type of a multi-type value when

# Important Notes
GUI uses only the first type of the intersection. See the difference between `Integer&Text` and `Text&Integer`:

https://github.com/user-attachments/assets/29efc89b-c223-4043-8dff-9cdae1987f0c
2024-11-22 16:41:31 +00:00
Kaz Wesley
a2e87d37a9
Look and feel: Lists and dropdowns (#11620)
https://github.com/user-attachments/assets/d8c039e6-670c-4ff5-9d71-c07ee6114570

Lists:
- Drag handles are icons.
- List controls are shown only when component is sole selection.
- Each item has delete button.
- Integration tests cover dragging, adding, removing.

https://github.com/user-attachments/assets/58054cb2-22bc-4279-850c-0bc4929fc246

Dropdowns:
- Arrows are shown when hovered or component is sole selection.
- Arrows change opacity when hovered.

Implements #11533.
2024-11-22 14:55:23 +00:00
Sergei Garin
8891051475
Fix Visuals of The Selector Component (#11628)
This PR fixes a bug when Selector component has wrong visuals when selected

Also, this PR fixes visual inconsistencies and bugs in this component.
2024-11-22 14:03:41 +00:00
Kaz Wesley
d611939132
New alias analysis API (#11621)
Higher level API will be compatible with a future implementation that doesn't depend on `RawAst` (see: #10753).
2024-11-21 23:42:20 +00:00
AdRiley
92bf61c9ff
add-grab-icon (#11616) 2024-11-21 20:25:21 +00:00
Kaz Wesley
c431a6bd2e
Autolinks in documentation editor (#11597) 2024-11-21 20:24:57 +00:00
Kaz Wesley
7af540365f
CodeMirror implementation of GraphNodeComment (#11585) 2024-11-21 18:43:23 +00:00
Paweł Grabarz
0e31169782
Attempt to fix broken envs during build (#11584) 2024-11-21 18:39:57 +00:00
Sergei Garin
7b0184993c
Update autoAccept branch to develop and add comment only on PRs (#11614) 2024-11-21 18:24:48 +00:00
marthasharkey
731c884dfe
use equals when only one item is selected in filter dropdown (#11613) 2024-11-21 15:49:06 +00:00
somebody1234
8c2e2af5f7
Fix React Compiler lints + improve performance (#11450) 2024-11-21 13:49:30 +00:00
Ilya Bogdanov
80ae5823dd
Table.input instead of Table.new (#11612) 2024-11-21 12:19:04 +00:00
Ilya Bogdanov
6b758a0938
Fix auto-scrolling and increase permitted dropdown width (#11608)
I think the date format dropdown is absurdly wide, but we discussed it yesterday. Auto-scrolling is fixed, so it would work with wider inputs.

<img width="766" alt="image" src="https://github.com/user-attachments/assets/2d230e39-68bb-4ed3-81db-2458385c8b44">
2024-11-21 11:26:50 +00:00
Sergei Garin
8e9e7650a3
Add storybook support (#11522) 2024-11-21 10:52:20 +00:00