Commit Graph

548 Commits

Author SHA1 Message Date
Kaz Wesley
edb4a11c28
Toolbar fixes (#11157)
Fix a couple of issues in the new viz toolbar API.
2024-09-24 13:11:54 +00:00
Paweł Grabarz
e2cf20af5f
Fix application start when YDOC_SERVER_URL is undefined (#11160) 2024-09-24 11:05:25 +00:00
marthasharkey
a04ae1c9ad
scatterplot- on point click (#11142) 2024-09-24 09:14:39 +00:00
Kaz Wesley
a8810e19f2
New visualization UI API (#11077)
- Improve visualization UI APIs:
- Isolate visualizations within a Vue Custom Element to prevent any unintended interaction between GUI and visualization CSS/JS.
- New visualization-menus API: Visualizations no longer create toolbars using the GUI's components; a simpler JS interface moves the responsibility for appearance of controls to the GUI.
- Simplify visualization configuration interface. Properties that should not be exposed to visualizations have been removed. Visualizations no longer need logic implementing fullscreen mode; the `size` property reflects the current renderable area.
- Visualizations no longer use a `VisualizationContainer`; the visualization simply renders its content at its root.
- Viz dropdowns: Buttons always show arrows (fixes #10809)
- Fullscreen mode: Fix rendering size of scatter plot and other visualizations
- JSON visualization interactivity: Fix intermittent incorrectly non-interactive state
- Viz toolbars: Fix squished-looking rightmost button.

Other API changes:
- `Interaction` no longer includes `GraphNavigator` with pointer events.
2024-09-23 18:31:26 +00:00
Adam Obuchowicz
3941634036
Table Widget: removing columns and rows (#11151)
Fixes: #10758

[Screencast from 2024-09-23 13-19-31.webm](https://github.com/user-attachments/assets/aa28708e-f4c9-400a-966d-1d82abe99f1e)

# Important Notes
To add custom options, I needed to bump AGGrid version. But not the newest one, as it made some bugs I failed to fix.
2024-09-23 14:24:40 +00:00
Kaz Wesley
3481d20dc6
Component comment fixes (#11144)
<img width="315" alt="Screenshot 2024-09-20 at 10 07 36" src="https://github.com/user-attachments/assets/8886feb7-99f3-4c44-bd2a-c7795f951f8e">

- Comment position when menu is hidden does not obscure input arrow (fixes #11114)
- Comment is not inside a larger invisible bounding box (fixes #11140)
2024-09-23 12:51:19 +00:00
Paweł Grabarz
c996707027
Add support for touch-based graph navigation and selection (#11056)
Fixes #9493

Tested on windows desktop (standard mouse), macbook touchpad and iphone, which should behave similarily to windows touchscreen devices.
2024-09-20 16:31:45 +00:00
marthasharkey
b53d7b0521
scatterplot- time series support (#11085) 2024-09-20 15:48:28 +00:00
Adam Obuchowicz
5725e2427d
Allow numbers starting with dot in WidgetNumber (#11108)
[Screencast from 2024-09-17 13-20-40.webm](https://github.com/user-attachments/assets/561adebb-7d93-4939-9dde-5453d5f304be)
2024-09-17 13:07:06 +00:00
Adam Obuchowicz
dfc04f4222
Renaming project: fix invalid state when the name does not change (#11103)
Fixes #11101

I did not add tests for it, because I think we'll remove this rename feature in the future.
2024-09-17 13:26:06 +02:00
Adam Obuchowicz
667ce038e7
Fix node removing bug, caused by spurious watchEffect effect. (#11099)
Fixes [#11062](https://github.com/enso-org/enso/issues/11062)

Modified watchEffect to be consistent with Vue behavior + tests. Before the scheduled effects were run even if stopped.

Why it fixes nodes removal? See [this comment](https://github.com/enso-org/enso/issues/11062#issuecomment-2352975474)
2024-09-17 07:12:59 +00:00
James Dunkerley
0e9821519d
Widget work for AWS (#11095)
- Added `to_display_text` for `S3_File` and `Enso_File`.
- Improved widget for `AWS_Credential` allowing use of Enso secrets.
- Adjust `S3.list_objects` to return `S3_File` objects, allowing easier drill down.
- Fix for merging inherited config with direct config in widgets.
- Add missing constant types to Date.Diff widget.

![image](https://github.com/user-attachments/assets/ea125a09-5067-4dee-bef2-3d7c8d551260)
2024-09-16 18:56:14 +00:00
Adam Obuchowicz
53e101566a
Fix Numeric Input cooperation with Drop Down (#11091)
Fixes #11063

The blur on Numeric Input was removed in https://github.com/enso-org/enso/pull/10337 and then reintroduced in https://github.com/enso-org/enso/pull/10512. I guess it was to handle `tab` properly, so I added another way of handling `tab` and removed blur again (with explanation).
2024-09-16 14:46:58 +00:00
Adam Obuchowicz
8908a73f6a
Fix Vector Drag (#11057) 2024-09-12 11:20:49 +01:00
marthasharkey
4ac59827df
Scatterplot fixes (#11041) 2024-09-11 14:03:40 +00:00
Ilya Bogdanov
a0a4a2fef3
Add regression e2e test for empty graph (#11031)
Closes #11026
2024-09-11 11:40:24 +00:00
Kaz Wesley
1bcbc00004
Update Vue (#11016)
See: https://blog.vuejs.org/posts/vue-3-5
2024-09-10 13:18:35 -04:00
Adam Obuchowicz
32f10a55f4
Use enso paths in cloud browser (#11001)
Fixes #10947
2024-09-09 22:56:52 +00:00
Adam Obuchowicz
414eee0b48
Fix initialization after reconnecting (#11014)
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`.
2024-09-09 13:49:03 +00:00
Ilya Bogdanov
7431f1c1b9
Fix CB visualization buttons (#11005)
Fixes #10472

Remove fullscreen button, fix Show/hide button, remove resize handles.

https://github.com/user-attachments/assets/7108bf7e-2f45-4c24-a8c3-d0b3c0135a20
2024-09-09 09:18:05 +00:00
somebody1234
9ec60299e4
Local Dashboard fixes (#10958)
- Fix most of https://github.com/enso-org/cloud-v2/issues/1459
- Prevent click + click from triggering rename on Windows and Linux. Behavior is preserved on macOS.
- Fix text in Drive when root folder is empty
- Properly remove the "Drop here to upload box" after a file is dropped
- "Copy as path" now unconditionally uses `/` for path delimiters, even on Windows
- Duplicating a project in the root folder on Windows no longer errors
- Extra folders in the sidebar now (correctly) show folder name, rather than path, on Windows
- Mouse pointer when dragging to a folder is now move, not copy

Not addressed:
- [no-repro] Tooltips should have some latency before showing up
- This should already be the case, although it may work weirdly (once the tooltip opens, there is no delay on subsequent tooltips opening until the last tooltip closes.)
- [no-repro] Ctrl-click should add to selection
- Column width should be resizable
- This requires a refactor and therefore is considered out of scope for this PR
- [no-repro] Choosing root folder needs a file browser
- [no-repro] Choosing root folder doesn't do anything get the same list as we had before
- [no-repro] Open in explorer didn't work in a file but did on project - possibly fixed by path changes.
- [no-repro] Opening an enso-project by double clicking resulted on it being renamed with a (2)

Related changes:
- Make "root directory" picker's file browser default to the current root directory

# Important Notes
None
2024-09-08 06:54:41 +00:00
AdRiley
60ea64e799
Add Not Paragraph icon (#11006)
![image](https://github.com/user-attachments/assets/d597b972-d154-4669-8f9b-fb9fa162e4cf)
2024-09-06 21:59:47 +00:00
Paweł Grabarz
6bfdda33a9
Do not crash on empty main function body. (#10990)
Fixes #10976

https://github.com/user-attachments/assets/00b2279d-2acf-468b-8c3c-aa6885cba23d


Addressed issue of empty body block being incorrectly "repaired" into an empty group, geneating invalid `()` syntax. Appending nodes to an empty function now actually replaces its body block, instead of creating a temporary orphan body block node.

Note that empty main function is still considered an error on the engine side, but it doesn't impact the IDE in negative way. Things work again as soon as a node is inserted.

Also fixed a few issues causing hot-reloading to break. Now edited AST code properly hot-reloads all affected modules without breaking the app.
2024-09-06 18:45:20 +00:00
marthasharkey
32a1894b04
only show filter/sort node button if node is a table (#10957) 2024-09-06 10:16:45 +00:00
marthasharkey
836953289e
Wip/mk/scatter plot visual improvements (#10959)
* add mutliseries support to d3

* fix types

* fix scales when multiseries

* fix tests

* fix all tests

* basic hardcoded legend working, on only one plot at a time

* basic legend

* legend populating correctly with wrong label names

* legend with tooltip for full length names

* remove unused variale

* key on all nodes

* tooltips on points and labels

* turn on/off d3 'brush' so tool tip is availible to the user

* use colourScale

* fix type problems

* use default colour

* rename variables and remove unneeded code

* fix label

* sort labels in legend

* is multiseries show legend and dont show y label

* address comments

* fix type problem

* Update distribution/lib/Standard/Visualization/0.0.0-dev/src/Scatter_Plot.enso

Co-authored-by: James Dunkerley <jdunkerley@users.noreply.github.com>

---------

Co-authored-by: James Dunkerley <jdunkerley@users.noreply.github.com>
2024-09-06 10:12:55 +01:00
Ilya Bogdanov
ab246539d1
Move component browser help (#10900)
Closes: #10592

https://github.com/user-attachments/assets/12f3d155-b4ea-4c78-a8a5-fb771c80f3f2
2024-09-06 09:00:25 +00:00
AdRiley
2819b42fd5
Add select icon (#10986)
![image](https://github.com/user-attachments/assets/dd30a11b-f2d0-4164-a5e7-228f349c9626)
2024-09-06 07:38:15 +00:00
James Dunkerley
e6ea3b2607
Default Project, Templates and Docs (#10980)
- Linting updates.
- Add an `Examples.welcome` and adjust the start up project to use it.
- Merge all of Cass's work into the source code.
- Make example render in mono space font.
2024-09-05 14:36:08 +00:00
Kaz Wesley
ecaee13056
Fix small-plus alignment when visualization is open (#10965) 2024-09-05 09:11:36 -04:00
Paweł Grabarz
cab161a602
Prevent node name collisions when drag-and-dropping multiple files (#10979)
# Important Notes
Fixed a few warnings in dashboard caused by missing or misplaced key attributes.
2024-09-05 12:27:18 +00:00
James Dunkerley
26678f3e71
Couple of small fixes for vizzes. (#10963)
- Improve logic for white space rendering (render leading/trailing in partial, change the tab rendering).
- Escape HTML characters.
- Fix for the geo viz starting zoom and center.

![image](https://github.com/user-attachments/assets/ac8c8893-14b5-4242-ba82-b821797546a1)

![image](https://github.com/user-attachments/assets/a179b4ad-d295-4783-97d9-803b6958cb95)

![image](https://github.com/user-attachments/assets/e4be7a81-28ff-4e79-b6e0-9aadae059270)
2024-09-03 20:17:08 +00:00
Ilya Bogdanov
da3490ebb7
Disable record button temporarily (#10953)
Related: https://github.com/enso-org/enso/issues/10949
2024-09-02 19:51:35 +00:00
Ilya Bogdanov
3442a3a086
Ignore port updates on removed nodes (#10950)
Fixes #10888, #10925
2024-09-02 19:43:15 +00:00
Ilya Bogdanov
3a310dce87
Fix component list scrolling (#10937)
Fixes https://github.com/enso-org/enso/issues/10927
2024-09-02 17:09:43 +00:00
marthasharkey
9e5773a865
text format selection bug (#10940)
* re introduce dropdown functionality

* on change re draw row heights
2024-09-02 17:24:01 +01:00
Ilya Bogdanov
de5ef92e36
fix viewport jumping when adding new nodes (#10920)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-08-31 09:42:19 +03:00
Kaz Wesley
92995d191f
Fix deletion-failure bug (#10888) (#10889)
Fix intermittent deletion failures (#10888)

- Fix bug in deletion logic (the `syncModule` itself was passed to a function that tried to commit it as an edit)
- Refactor APIs to avoid similar bugs (remove `direct` edit option)

# Important Notes
- `graphStore.getMutable` provides safer access to some of the functionality that was exposed by `direct` editing.
- `graphStore.transact` has been eliminated; it was redundant with `graphStore.batchEdits`.
2024-08-28 14:28:43 +00:00
Kaz Wesley
bd5ab43cf6
Improve component comment positioning (#10885)
Implement #10691
- Comment moves out of way of menu as needed.
- Animate comment and error shifting when menu is toggled.
- Match comment/component spacing to component/error spacing.

https://github.com/user-attachments/assets/7daa342d-a7f1-4f63-b934-1519724a59a5
2024-08-28 14:10:25 +00:00
Kaz Wesley
27f7d14140
Fix collapsed function renaming (#10884)
Fix #10763 and related issues:
- Fix bug preventing `WidgetFunctionName` from matching
- Fix missing icon when `WidgetFunctionName` matches
- Add testing for `WidgetFunctionName`
- Fix `WidgetFunctionName` padding
2024-08-28 11:05:19 +00:00
Kaz Wesley
582b7f9a2e
Fullscreen improvements (#10876)
Implements #10686.
- Add fullscreen modes to doc editor and code editor
- Contain fullscreen view within graph editor tab
- Prevent persisting or synchronizing fullscreen state
- Animate transition

https://github.com/user-attachments/assets/e88801c2-8c56-494b-8500-95fbd76c4322
2024-08-23 13:00:44 +00:00
Paweł Grabarz
7653280e33
Remove all usages of unstable rust features (#10813)
Removed all `#![feature]` flags, except for `#![feature(test)]`. Once parser benchmarks are ported to something that is compatible with stable rust, we will be able to switch to it.
2024-08-22 14:09:17 +00:00
Kaz Wesley
6261018591
Fix circular menu z-index and position (#10867)
Dropdown now covers circular menu (fixes issue from #10666).

<img width="295" alt="Screenshot 2024-08-21 at 07 59 24" src="https://github.com/user-attachments/assets/9793b185-a575-4a05-8964-da35c26fecc9">
2024-08-21 20:48:53 +00:00
Adam Obuchowicz
c294e05fd7
Do not propagate arrow events from Table Widget (#10859)
A trivial fix for bug reported in https://github.com/enso-org/enso/issues/10856

Without it, navigating selection in table widget is also displacing node.
2024-08-21 13:19:52 +00:00
Adam Obuchowicz
a9198c8d06
Make tab accept the text input (#10857)
Fixes #10855

Added handler for `tab` key. We cannot accept input on blur, as sometimes it should not be accepted (as when user clicks at drop-down option where text widget was providing filtering pattern).
2024-08-21 13:08:23 +00:00
Kaz Wesley
45a54b93cd
Dropdown improvements (#10853)
Implement changes requested in #10666.

#### Align left edge with widget

Top-level argument (edge aligned to TLA boundary):

<img width="639" alt="Screenshot 2024-08-20 at 10 10 27" src="https://github.com/user-attachments/assets/eb1712bf-1cbc-4a5d-bdb6-7458f94a27f4">

Nested (edge aligned to start of widget text):

<img width="519" alt="Screenshot 2024-08-20 at 10 11 47" src="https://github.com/user-attachments/assets/477ffe6e-ac00-41fb-bfb0-4d22c25c0f8b">

#### Adjust height

<img width="134" alt="Screenshot 2024-08-20 at 10 06 20" src="https://github.com/user-attachments/assets/17ac485e-deeb-4afd-973b-fc8c182ffb1d">

# Important Notes
- Also some HTML/CSS simplification in `CircularMenu`.
2024-08-21 12:53:11 +00:00
Adam Obuchowicz
2919e5833c
Update filtering in new CB (#10847)
Fixes #10604

Removed many parts of `filtering.ts` and `input.ts` - now our filtering is not "context aware", in the component browsing mode we just take entire input as filtering pattern.

[Screencast from 2024-08-20 11-49-20.webm](https://github.com/user-attachments/assets/23137036-5f46-4982-bac7-9196461e7c9c)

# Important Notes
As we agreed during refinement, I did not focus on exact unit testing - we need to first try the new design out.
2024-08-21 10:59:45 +00:00
Kaz Wesley
95e50f48c9
Fix multiselect stability (#10838)
Fix #10543.
2024-08-20 12:45:35 +00:00
Adam Obuchowicz
921632e38d
New design of CB: two modes (#10814)
Fixes #10603

[Screencast from 2024-08-14 12-10-51.webm](https://github.com/user-attachments/assets/fcd5bfa4-b128-4a84-a19f-c14e78dae8c9)

What is not yet implemented: the filtering. That means that spaces keep their special meaning, and we still display modules and types.

The component list itself was refactored to a separate vue component.

The logic of default visualization type in preview changed a bit: as now there is no selected component, we remember with what suggestion have we switched to code edit mode.
2024-08-19 13:28:38 +00:00
Kaz Wesley
2cfd6fa672
Don't select node when output port is clicked. (#10834)
* Don't select node when output port is clicked.

If we select a node on any click, it is not possible to connect from a node's
output port to a hidden-by-default port.

Reverts one commit from #10800.
2024-08-19 08:52:47 -04:00
marthasharkey
b2237f77c7
Add drilldown to XML (#10824)
This adds the drilldown behaviour to XML_Elements.

![10557-xml-drilldown](https://github.com/user-attachments/assets/062d7de9-c157-4ea2-8a9b-a39f91c26581)
2024-08-19 10:12:42 +00:00