Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lenra-io/lenra_ui_runner


https://github.com/lenra-io/lenra_ui_runner

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]



Lenra UI Runner


Implementation of the Lenra Component API in Dart with the Flutter framework.




Report Bug
·
Request Feature


## Lenra component system

### LenraUiBuilder
It is a Stateful Widget which takes care of transforming the UI and Patchs into usable widget/properties :

- It takes both streams (UI and Patch) as input

- It builds the components **LenraWrapper**.
- It manages the modification of the properties by the patch.

- Notifies **LenraWrapper** when their properties change.
- It knows all the properties and **LenraWrapper** of the app.
- It displays the **LenraWrapper** corresponding to the "root" component of the UI.

### LenraWrapper
This is the "smart" parent component of all Lenra display components.

- It instantiates the display component according to the type.

- It parses JSON properties into useful objects for the display component.

## Running tests
### Prerequisites

You need to generate the mockito mocks for the tests to properly run. This can be done by running the following command :

```bash
flutter pub run build_runner build
```

## Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please open an issue with the tag "enhancement".
Don't forget to give the project a star if you liked it! Thanks again!

(back to top)

## License

Distributed under the **MIT** License. See [LICENSE](./LICENSE) for more information.

(back to top)

## Contact

Lenra - [@lenra_dev](https://twitter.com/lenra_dev) - [email protected]

Project Link: [https://github.com/lenra-io/lenra_ui_runner](https://github.com/lenra-io/lenra_ui_runner)

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/lenra-io/lenra_ui_runner.svg?style=for-the-badge
[contributors-url]: https://github.com/lenra-io/lenra_ui_runner/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/lenra-io/lenra_ui_runner.svg?style=for-the-badge
[forks-url]: https://github.com/lenra-io/lenra_ui_runner/network/members
[stars-shield]: https://img.shields.io/github/stars/lenra-io/lenra_ui_runner.svg?style=for-the-badge
[stars-url]: https://github.com/lenra-io/lenra_ui_runner/stargazers
[issues-shield]: https://img.shields.io/github/issues/lenra-io/lenra_ui_runner.svg?style=for-the-badge
[issues-url]: https://github.com/lenra-io/lenra_ui_runner/issues
[license-shield]: https://img.shields.io/github/license/lenra-io/lenra_ui_runner.svg?style=for-the-badge
[license-url]: https://github.com/lenra-io/lenra_ui_runner/blob/master/LICENSE