Commit Graph

1321 Commits

Author SHA1 Message Date
Kaz Wesley
11d2a44792
Cloud file browser (#10513)
https://github.com/user-attachments/assets/54cc375d-2a77-431c-af85-75fc872e2bcc

Closes #10167.
2024-07-15 15:22:51 +00:00
AdRiley
d1b5bd9767
Add paragraph (#10548)
Forcing in as Engine issue is nothing to do with this.
2024-07-15 11:33:29 +01:00
somebody1234
151438157e
Optimize assets table (#10522)
- Fix https://github.com/enso-org/cloud-v2/issues/1379
- Stop re-rendering the entire `AssetsTable` on every `AssetEvent`
- This is achieved by using `zustand` for fine-grained reactivity.

Other misc fixes:
- Fix "unique key prop" error in sidebar
- Vertically center asset panel toggle icon in top bar
- Limit width of asset names (show tooltip when asset name is too wide)

# Important Notes
None
2024-07-15 10:06:15 +00:00
Adam Obuchowicz
bfb1d8e6b7
Move warning msg below viz (#10546)
Fixes [10450](https://github.com/enso-org/enso/issues/10450)

![image](https://github.com/user-attachments/assets/21efe4e0-922b-4a83-8f6e-ddaea360e655)
2024-07-13 16:42:31 +00:00
Ilya Bogdanov
3d967ae3b7
Add shortcuts.md (#10523)
Brings back `shortcuts.md` that was removed when refactoring the repo.

We plan to auto-generate this file from the list of our shortcuts, but for now, a manually edited and imperfect document is better than no document.
2024-07-12 14:46:10 +00:00
Sergei Garin
9e19092288
Fix devtools (#10540)
Merging as requested bypassing a few checks to let stuff progress.
2024-07-12 12:41:34 +01:00
Paweł Grabarz
1096489cc8
Use ExternalId for NodeId and preserve it through argument deletions. (#10512)
Fixes #10311

Using `ExternalId` for `NodeId` allows us to match the idea of node identity with engine. That means any bugs that would cause the identity to change will be immediately visible on UI due to misplaced metadata or node being unnecessarily rerendered from scratch. This change and an addional bugfix of argument deletion handling makes the node view stable on edits and allows tabbing through arguments.

https://github.com/enso-org/enso/assets/919491/72d9ec29-54ed-4899-aac1-6678a001a21d
2024-07-12 10:45:57 +00:00
marthasharkey
4c0fbf0e19
rename tooltip message, sort sorting for truncated data and re introduce the row label (#10533)
closes #10530

this renames the tooltip from using 'node' to 'component,

<img width="341" alt="image" src="https://github.com/enso-org/enso/assets/170310417/1ee35556-a982-47aa-99ac-544108b11afe">

![row-label](https://github.com/enso-org/enso/assets/170310417/d81482d9-df49-45da-b447-571a8e9171ea)
2024-07-11 18:28:47 +00:00
Kaz Wesley
017cf4f98e
Fix permissions style (#10534) 2024-07-11 11:14:03 -07:00
marthasharkey
b189ceae47
re-add truncated check to column sort (#10521)
closes #10490
2024-07-11 12:30:53 +00:00
Sergei Garin
70887ea30c
Fix logout (#10524) 2024-07-11 14:34:33 +03:00
marthasharkey
1f1b4d1bec
reintroduce column sort (#10496)
This re introduces the column sort behaviour that was lost when the type indicator was added
![column-sort](https://github.com/enso-org/enso/assets/170310417/fe33faed-d816-4447-bd57-755fd3c06856)
2024-07-10 21:25:59 +00:00
Kaz Wesley
32e843c614
Expose backend API to IDE (#10442)
Move `Backend` and supporting APIs from `dashboard` to `enso-common`.

Closes #10400.

# Important Notes
- The utility modules required by `Backend` have been moved to `enso-common`. Those defining general-purpose helpers for working with standard types are now in a submodule `utilities/data` to match the IDE organization; in the future we can merge them with the `util/data` gui2 subtree. Moved utilities are reexported from their dashboard locations, so that moved and not-yet-moved modules can be imported consistently.
- The `text` module has been moved to `enso-common`; the IDE doesn't have any localization mechanism yet, so we can share this one.
2024-07-10 21:04:37 +00:00
Adam Obuchowicz
60c1a0e1f6
Record control tweaks (#10509)
Fixes #10388

[Screencast from 2024-07-10 13-55-46.webm](https://github.com/enso-org/enso/assets/3919101/4ad7c039-84f6-4e42-aad9-5e287ccd88bb)

# Important Notes
Also, removed unnecessary  setExecutionEnvironment call on startup
2024-07-10 20:19:23 +00:00
Sergei Garin
09521f9a39
Fix opening local projects (#10511)
Related #10510

Await in the middle of the `getProjectDetails` leads to a non-deterministic result (in case if project opens during the await we get placeholder data with status = 'opened'
2024-07-10 18:03:02 +00:00
Sergei Garin
4ce557b3d8
Add ability to choose a plan in enso devtools (#10499)
* Add ability to choose user plan in devtools

* move devtools into a dedicated folder

* use enterprize in mocks

* try fix issues
2024-07-10 20:46:54 +03:00
Ilya Bogdanov
6ebcc1ddf9
Remove navigation buttons from nav bar (#10506)
Closes #10485

<img width="516" alt="Screenshot 2024-07-10 at 3 07 22 PM" src="https://github.com/enso-org/enso/assets/6566674/417b8e6a-8f4b-409c-8646-a3d424ccbca7">

# Important Notes
This task is done as per the attached issue. However, this change is not reflected in the latest version of Figma design as far as I’m aware.
2024-07-10 13:36:35 +00:00
somebody1234
da6af3e896
Scope CSS code (#10489)
- Fix #10470
- Fix scoped styles for GUI

# Important Notes
None
2024-07-10 11:49:38 +00:00
marthasharkey
530d10d9bd
hide row count for some table visualizations (#10492)
This will hide the row count when `all_rows_count` isn't sent in the JSON for visualization. This will keep the row count for Vectors, Maps, Tables, Columns but hide for other single value thing in tables.
<img width="585" alt="image" src="https://github.com/enso-org/enso/assets/170310417/843e022d-4265-4845-a9c1-c4404d0db64f">
2024-07-10 10:39:53 +00:00
Adam Obuchowicz
38bbd8b6e6
Numeric input does not allow non-numeric value (#10457)
Fixes #9838 (see the "backlog refinement" comment there).

When someone want's to accept invalid input, it gets reverted to last recorded valid value.
2024-07-10 10:38:38 +00:00
Sergei Garin
590526a7a6
Rename Organization -> Enterprise (#10502) 2024-07-10 12:47:28 +03:00
somebody1234
b55086de75
More dashboard fixes (#10494)
- Fix context menu floating some distance away from the right side when clicking near right edge
- Add a line beside nested categories to make it clearer that it's not a UI glitch
- Fix watch mode for electron app

# Important Notes
None
2024-07-10 09:04:20 +00:00
Kaz Wesley
bc92035683
Share tanstack QueryClient between dashboard and IDE (#10431)
* Share tanstack QueryClient between dashboard and IDE

Part of #10400.

* Lint

* Review: Use enso-common

* Remove outdated README

* Naming

* Fix

* Lint

* enso-common CODEOWNERS: GUI+Dashboard

* Review: Prepare for GUI to be run from cloud entry point

* Lint

* Lint

* Fix e2e tests

* Fix e2e tests in CI?

* Clean CI build

* Revert "Clean CI build"

This reverts commit 73f2fb7972.

* Fix redundant dependency

* Work around a vue-query bug

* Lint

* fmt
2024-07-09 11:01:10 -04:00
Sergei Garin
e4da96e943
Fix opening projects (#10433)
#### Tl;dr
- Closes: enso-org/cloud-v2#1338
This PR fixes bugs with opened projects. Now all projects close/open properly and list of opened projects stored in the single place

---

#### Context:
Few sentences on the high level context for the change. Link to relevant design docs or discussion.

#### This Change:
What this change does in the larger context. Specific details to highlight for review:
1. Removes a bunch of useEffects across the Dashboard page
2. Project status now a react-query state, can be reused across the app
3. Eliminated the need of `waitIntilProjectIsOpened`

---
2024-07-09 14:47:46 +00:00
somebody1234
9229010cb6
Dashboard fixes (#10423)
- Fix some of https://github.com/enso-org/cloud-v2/issues/1350
- Move close icon back to right hand side of tabs
- Change icon for Local category to a computer
- Fix rendering of buttons in the delete pop up
- Remove "Versions" and "Sessions" buttons in Local mode from properties sidebar
- Also remove "Shared with" and "Labels" in Local mode
- Show real path of all assets in properties sidebar when in Local mode
- Opening Settings properly closes the user menu again
- "Export" tooltip changed to "Download"
- "Open help chat" button removed for now

Notes:
- re: Download within a folder doesn't work - this is due to the frontend using a PM endpoint that doesn't support specifying the parent directory
2024-07-09 12:54:09 +00:00
Dmitry Bushev
b2c4559678
Persist a subset of IdMap (#10347)
close #9257

Changelog:
- update: Store in the file only the subset of IdMap containing the IDs used in the metadata section on the 2nd line. The full IdMap is transmitted as a parameter of the `text/applyEdit` request.
2024-07-08 17:59:50 +00:00
somebody1234
30d97750bf
Replace Button variant="custom" with appropriate variant whenever possible (#10315)
Buttons were switched to `variant="custom"` as low hanging fruit in order to remove `UnstyledButton` (which was strictly inferior UX wise).

- Switch buttons to use `variant="submit"` or `variant="cancel"` as appropriate
- Replace both `ButtonBar` and `HorizontalMenuBar` with `ButtonGroup`

# Important Notes
None
2024-07-08 14:32:24 +00:00
James Dunkerley
d65371096b
Deserialise large integer and decimals from JSON automatically. (#10463)
- Sort large integer and decimal JSON deserialization.
- Change type to be Integer instead of BigInt for large integers.
- Add tests.
- Update Table viz.
- Preserve white space in JSON viz.
![image](https://github.com/enso-org/enso/assets/4699705/48c83616-c0ed-4cb4-862a-34cd4fff09aa)

![image](https://github.com/enso-org/enso/assets/4699705/5bae9ccd-1d0f-4b70-aea5-d4cebc3d9df8)
2024-07-05 21:56:08 +00:00
Paweł Grabarz
d9972d547a
Migrate to pnpm (#10422)
Fixes #10197

# Important Notes
From now on, package installation will be using `pnpm install`. Installing it globally is fine for convenience, but it can also be used as `corepack pnpm install` without having to install anything other than node. For now, all other scripts are still invoked using `npm`, so we can still invoke them with usual `--workspace` setting. As far as I can tell that doesn't really have any other side effects and is identical as running the script through `pnpm run` in respective workspace project subdirectory.
2024-07-05 11:13:04 +00:00
James Dunkerley
0661f17d1c
Tune Text.trim, fix for Text.split (#10445)
- Rename `Location.Start` to `Location.Left`.
- Rename `Location.End` to `Location.Right`.
- Use auto-scoping for `Location`.
- Tune widgets for `Text.trim`.
- Correct signature of `Text.split`.
- Adjist `generateLocallyUniqueIdent` to not fail on bad signature.
2024-07-04 22:24:56 +00:00
Kaz Wesley
d46e4ac609
Doc editor and code editor are toggleable docks (#10413)
Dock improvements:
- Right and bottom docks are toggled with buttons.
- Bottom dock:
- Fills available width.
- Height resize handle behaves like right dock's.
- Documentation editor: Top toolbar is outside scrollable area.
- Extended menu: Entries have icons.
- Add component button: Now in bottom-right.

https://github.com/enso-org/enso/assets/1047859/19d64fed-74ab-48c2-af0e-48f140fa8474

Closes #10385, #10386.

# Important Notes
- `unrefElement`: Fixed a type-safety bug in; documented a reactivity limitation.
- `keyboardBusy`: Fixed a bug where shortcuts were ignored after clicking any button.
- Fixed right-dock slide-in animation.
2024-07-04 20:55:59 +00:00
Kaz Wesley
48eb173357
External documentation (#10396)
- Button shown in CB and circular menu opens documentation in new window.
- F1 key opens documentation for selected node.

https://github.com/enso-org/enso/assets/1047859/24d7e8cc-3f5c-4644-9d11-7deb5d1a8767

Closes #10276.
2024-07-04 16:01:00 +00:00
James Dunkerley
891f176e9c
Auto create the root folder if not present. (#10444)
Adds `filesystem-exists` to Project Manager CLI.
If the root folder isn't present will add it at start up.
2024-07-04 14:58:47 +00:00
marthasharkey
ee44aec7e1
Decimal in table viz (#10439) 2024-07-04 14:08:59 +00:00
Adam Obuchowicz
91ad82ef51
Add node button is above port (#10443)
Fixes #10270

![image](https://github.com/enso-org/enso/assets/3919101/d8beb8d8-f828-482c-bd8b-0a8d86ae29d3)
2024-07-04 14:01:07 +00:00
somebody1234
d5a04a767e
Fix errors in GUI WebSockets (#10421)
- Fix https://github.com/enso-org/cloud-v2/issues/1337
- Fix #10381 (same issue)
- This was caused by queued execution context tasks delaying the disposal of the WebSocket connections - I guess because the WebSocket is closed, either the queue never reaches that point, or retries take too long to reach that point?
- There was also another issue caused by the Dashboard incorrectly caching the `project`, causing the endpoint URLs to become outdated.

Misc changes:
- Change `Editor.tsx` to not return two different component trees. This avoids React unmounting and re-mounting the GUI app.

# Important Notes
None
2024-07-04 12:48:57 +00:00
Sergei Garin
3de873f97c
Fix searchbar visuals (#10436)
https://github.com/enso-org/enso/assets/61194245/27ea6c4a-e8cb-4e03-8932-f5d75918af0c
2024-07-03 18:20:17 +00:00
marthasharkey
ee39fd7f53
Visualise excelwork book sheets, db tables/schemas and add node adding gets to query them (#10362)
changes to current table (and db table) on index click:
- node added on double click
- tooltip added
- cursor changes to pointer
- styled as a link

![7473-table-w-links](https://github.com/enso-org/enso/assets/170310417/5e60c177-3f83-4db7-be86-fa8a9d493204)


Row table types:
Added on click to show value
![7473-row-links](https://github.com/enso-org/enso/assets/170310417/82f878ea-420d-4308-99bf-c77a6340a8c3)



Excel Workbook connections
- show sheet names in column
- sheet names are clickable that add a 'read' node for the corresponding sheet
- Shown in table with header title: Sheets

![7473-excel-links-sheets](https://github.com/enso-org/enso/assets/170310417/748f524e-5cca-4c20-b458-132af9a57ec1)


SQLite Connection:
- shows available schemas in column
- schemas are clickable that add a 'query' node for the corresponding schema/table
![7473-sql-lite-links](https://github.com/enso-org/enso/assets/170310417/21a8006f-c462-4128-874d-05380d3bab00)


Postgres Connection:
- shows available tables in a column
- tables are clickable and add a 'query' node for the corresponding table
![7473-postgres-links](https://github.com/enso-org/enso/assets/170310417/66b134ff-80fd-4995-b445-505919e25cfa)

JS_Object
- style keys as links
![7473-json-links](https://github.com/enso-org/enso/assets/170310417/9ec17c85-c1f4-42ab-b40a-06d6bc29d54f)
2024-07-03 13:58:07 +00:00
James Dunkerley
4bb82fae4a
Fix issues with Date.new Widgets and Some Viz Fixes. (#10430)
- Do not include nothing values for optional parameters when serializing widgets.
- Serialize Nothing as `{"type": "Nothing"}` for the default JSON viz.
- Add JS Object support for decimal.
- Fix `to_json` for large integers

![image](https://github.com/enso-org/enso/assets/4699705/88a404a3-537d-4be7-9a47-c896d2f8b378)

![image](https://github.com/enso-org/enso/assets/4699705/ce09955e-b377-431a-aca3-28f442c772a6)

![image](https://github.com/enso-org/enso/assets/4699705/d0c99a0b-1964-4874-8d87-41979a17a359)

![image](https://github.com/enso-org/enso/assets/4699705/32ade951-0921-4837-9c35-9b60488f863f)

![image](https://github.com/enso-org/enso/assets/4699705/f0fba27a-dfcc-4f17-a883-deb23757f74e)
2024-07-03 06:41:40 +00:00
James Dunkerley
08ec3acdd4
Fade the background and darken text. (#10424)
Another go at getting colours right...

![image](https://github.com/enso-org/enso/assets/4699705/68bced90-fca5-41c9-a1c9-6ea0c29f274a)

Mute the background colour and darken text.

![image](https://github.com/enso-org/enso/assets/4699705/e0c4d5f1-82c9-4838-b7ff-a3887a59885b)
2024-07-02 17:21:20 +00:00
Kaz Wesley
2168cfdf6b
Top-level add-node button creates disconnected component. (#10416)
Closes #10389.
2024-07-02 12:59:06 +00:00
James Dunkerley
69b5f719e8
Adjust Colours. (#10417)
- Change the lightness of the component colours to match Figma.
- Remove the background image from tailwind.css.
- Alter the code editor background to be white.
- Make the selection colour much brighter in the dashboard.

![image](https://github.com/enso-org/enso/assets/4699705/4ae8f03a-bdeb-48cf-86eb-aa058a2a1b01)

![image](https://github.com/enso-org/enso/assets/4699705/eb5d4cf8-d275-4c0d-b876-4a29ce7768bf)

![image](https://github.com/enso-org/enso/assets/4699705/0df64403-75e5-4e44-a818-58cedbbcd3c9)

# Important Notes
Removed the `is-hidden-file` package from the project manager shim. It seems to be unreliable in Win11 and as just for local testing made just do dot file logic.
2024-07-01 20:01:18 +00:00
AdRiley
a07ccc68d4
Add zoom icon (#10405)
![image](https://github.com/enso-org/enso/assets/1720119/cdc790f0-62c9-4fee-819a-f5e51bb54ff7)
2024-06-28 16:16:28 +00:00
Kaz Wesley
da21136861
Copied table-viz range pastes as Table component (#10352)
When copying from AG Grid, include additional information in the clipboard to enable the data to be pasted into the graph as a new Table component.

Closes #10275.

# Important Notes
- Data copied from the table visualization now include headers.
2024-06-28 13:51:03 +00:00
Kaz Wesley
f45da53ba9
Open multi-select when items are edited (#10308)
* Vector widget propagates child edits to parent

* Update tests
2024-06-28 08:59:31 -04:00
Kaz Wesley
b5f81eff5d
Resize handle corners are rounded (#10395)
* Right dock is opaque

* Resize handle corners are rounded
2024-06-28 08:56:45 -04:00
somebody1234
5b5279b896
Fix background color (#10397)
- Fix #10393
- Use correct background color
- Make background of Asset Panel white to match Figma design

# Important Notes
None
2024-06-28 12:54:57 +00:00
AdRiley
3f6a3347b8
Add new icons (#10398) 2024-06-28 11:37:53 +01:00
Sergei Garin
201eec3b84
Fix infinite callstack while opening a popover (#10391) 2024-06-27 20:48:03 +00:00
somebody1234
19d5bdb9da
Fix importing .enso-project files (#10379)
- Fix #10282

# Important Notes
None
2024-06-27 17:48:51 +00:00