enso/app/gui
James Dunkerley 7394a1a4ec
Use AG Grid instead of the old table.js rendering (#5915)
![image](https://user-images.githubusercontent.com/4699705/225099111-2d51d414-7312-4862-a40b-32df5a173df2.png)

Expanded view:
![image](https://user-images.githubusercontent.com/4699705/224783583-8b6bf0a1-2003-4e3b-baca-842c4ff0828f.png)

Truncated view:
![image](https://user-images.githubusercontent.com/4699705/225092432-d8d70953-2da2-4922-8c15-b27cd677cc3c.png)

Replaces the code generating the JS Table visualization with AG Grid Community.
- Supports all of the inputs from the old table.js support.
- Consistently renders values regardless of source.
- **No support for nested tables - by design, we can assess value later.**
- Grid allows sorting and filtering.
- Pins the header row.
- Alternate row coloring.

# Important Notes
To switch to the Enterprise edition, we would need to solve the licensing issues. This would add:

- Filter with values in the grid (like Excel).
- Column auto-sizing.
- Column pining.
- Clipboard copy support (subject to solving the electron issue) - including with or without headers.
- Ability to export to Excel and CSV from the grid.
- Column selector.
- Better options for larger datasets (community only supports infinite scroll).
2023-03-15 11:09:02 +00:00
..
analytics Dependency cleaning (#4092) 2023-01-27 23:39:37 +01:00
config Fixing Electron runner (#5633) 2023-02-19 01:37:58 +01:00
controller Named arguments support in IDE (#5774) 2023-03-09 21:23:25 +00:00
docs Eager shader compilation (#5606) 2023-02-22 00:29:48 +01:00
enso-profiler-enso-data Precompute MSDFs (#5811) 2023-03-10 12:59:56 +00:00
language Named arguments support in IDE (#5774) 2023-03-09 21:23:25 +00:00
src Precompute MSDFs (#5811) 2023-03-10 12:59:56 +00:00
suggestion-database Use cached icons in Component Browser (#5779) 2023-03-02 14:51:42 +00:00
tests Dynamic dropdown support (#4072) 2023-02-04 00:50:24 +00:00
view Use AG Grid instead of the old table.js rendering (#5915) 2023-03-15 11:09:02 +00:00
Cargo.toml Precompute MSDFs (#5811) 2023-03-10 12:59:56 +00:00
config.yaml Bump supported engine version (#5676) 2023-02-17 12:46:16 +00:00
LICENSE Refactor gui/src/rust/ide to two app/gui and app/ide-desktop (#3157) 2021-11-16 10:04:56 +01:00
README.md Bumped the build script (#3489) 2022-06-01 13:44:40 +02:00

This is the subtree for Enso's graphical interface component. If you're looking for the repository root, you may find it at at 👉 github.com/enso-org/enso 👈


Enso IDE

Overview

Chat License License

Enso is an award-winning interactive programming language with dual visual and textual representations. It is a tool that spans the entire stack, going from high-level visualisation and communication to the nitty-gritty of backend services, all in a single language. Watch the following introduction video to learn what Enso is, and how it helps companies build data workflows in minutes instead of weeks.

This repository contains the source code of Enso interface only. If you are interested in how the interface is build or you want to develop it with us, you are in the right place. See the development and contributing guidelines to learn more about the code structure and the development process.


Getting Started

Enso is distributed both in form of pre-build packages for MacOS, Windows, or Linux, as well as the source code. See the demo scenes, and read the documentation to learn more.


Building

The project builds on macOS, Linux, and Windows. Build functionality is provided by our build script, that are accessible through run (Linux and macOS) or run.cmd (Windows) wrappers.

To build the project, simply run ./run ide build (on Linux or macOS) or .\run.cmd ide build (Windows) to build IDE. To learn more about other available commands use --help argument. Read the detailed development guide to learn more.


License

The Enso Language Compiler is released under the terms of the Apache v2 License. The Enso Graphical Interface and it's rendering engine are released under the terms of the AGPL v3 License. This license set was choosen to both provide you with a complete freedom to use Enso, create libraries, and release them under any license of your choice, while also allowing us to release commercial products on top of the platform, including Enso Cloud and Enso Enterprise on-premise server managers.


Contributing

Enso is a community-driven open source project which is and will always be open and free to use. We are committed to a fully transparent development process and highly appreciate every contribution. If you love the vision behind Enso and you want to redefine the data processing world, join us and help us track down bugs, implement new features, improve the documentation or spread the word! Join our community on a Discord chat and read the development and contributing guidelines.