enso/app/gui
Mateusz Czapliński b7cf493f7d
Component Group View colors parametrization (#3434)
Parametrize the colors used in a Component Group view based on a single color passed to an FRP input.

Customizing the colors of a Component Group will be needed for the larger Component Group List panel. This customization will work as a visual hint for the User, helping them to distinguish different Component Groups in the panel. A single input color will be configured for every Component Group in the `package.yaml` file (see the Design Doc). Therefore, all shades of the color required by the Component Group view must be calculated from this single input color.

https://www.pivotaltracker.com/story/show/181725039

#### Visuals

The following screencast of the `component_group` debug scene shows how all required shades of color are calculated from a single input color. It also shows a new "dimmed" display mode of the Component Group. The debug scene does not support selecting entries in a "dimmed" Component Group, as this is not required by the Design Doc.


https://user-images.githubusercontent.com/273837/168074651-bf3d5ea5-99b0-4b69-9934-ad8565ffc54e.mov






The following is a screenshot of the Node Searcher, to demonstrate that it still works correctly:

<img width="623" alt="Screenshot 2022-05-09 at 17 13 01" src="https://user-images.githubusercontent.com/273837/167441109-e9a47b5a-45a2-4172-85ed-c593e43e02d6.png">

# Important Notes
- A new type `Params` was added in the `list_view::entry::Entry` trait. This was needed to allow passing FRP information to entries separately for every ListView instance.
- Note: `style_prefix` and `max_width_px` parameters of the `list_view::entry::Entry::new` function may get moved into the new `Params` type in the future. To save time, this was not attempted in this PR, as agreed with @farmaazon.

[ci no changelog needed]
2022-05-13 08:38:43 +00:00
..
analytics Linting codebase 2022-03-10 05:32:33 +01:00
config Profiling batch mode (#3428) 2022-05-10 19:34:40 +00:00
controller Parametrize font in List View via styles (#3427) 2022-05-04 10:44:57 +00:00
docs Fix prettier formatting. Also, a typo. 2022-04-19 08:05:30 +02:00
enso-profiler-enso-data Wide Componet Group List (#3409) 2022-05-12 09:30:00 +00:00
language Revert "Improve profiling for UI interactions. (#3437)" (#3449) 2022-05-13 00:18:57 +02:00
src Revert "Improve profiling for UI interactions. (#3437)" (#3449) 2022-05-13 00:18:57 +02:00
tests Fixing build. 2022-03-10 06:21:57 +01:00
view Component Group View colors parametrization (#3434) 2022-05-13 08:38:43 +00:00
Cargo.toml Profiling batch mode (#3428) 2022-05-10 19:34:40 +00:00
config.yaml Refactor gui/src/rust/ide to two app/gui and app/ide-desktop (#3157) 2021-11-16 10:04:56 +01: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 Fix links to gui folder (#3190) 2021-12-12 23:43:25 +01:00

This is the repository for Enso's graphical interface component. If you're looking for the main product repository, 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.

Currently to start IDE you have to run Enso Project Manager first. For more information and packages see Enso repository.


Building

The project builds on MacOS, Linux, and Windows. Simply run node ./run build to build it and use node ./run --help to learn about other available commands and options. 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.