-
Notifications
You must be signed in to change notification settings - Fork 90
New feature: component interaction with events, actions, contexts and bindings #54
Comments
Here are some diagrams to show the general idea behind the implementation of these features in Beagle WEB. It is absolutely not necessary to follow these diagrams, if the specification is respected, then it's all fine. The diagrams are just to give a better idea of the strategy we used to develop this in the Beagle React library. |
* flex refactor * flex fixture fix * Adding some tests to Stack and Horizontal * Flex, FlexEntity and YogaTranslator unit tests * Fixing tests * FlexViewConfigurator tests
* change openview to swapview, added poptoview and presentview * code indentation
Problems in Android[ ] Create the reactive expression evaluation. Every item on context should be reactive, if any of them change, it need to be evaluated again. Example for problem two:
|
…pressions) (#53) # Feature de ações Com essa nova feature, agora é possível: - estabelecer comunicação entre componentes; - carregar partes da árvore dinamicamente (lazy loading); - separar apresentação do modelo de dados; - navegar entre telas do Beagle; - dentre outros (consulte a [especificação](https://github.com/ZupIT/beagle-web-core/tree/specification/component-interaction) para mais detalhes). Os seguintes conceitos foram implementados: - eventos; - ações; - contextos; - bindings (expressions); - navegação. ## Issues resolvidas - [Estudar e implementar meios de estabelecer comunicação entre componentes do Beagle](#12) - [New feature: component interaction with events, actions, contexts and bindings](ZupIT/beagle#54) ## Especificação implementada - [Especificação - Eventos, Ações, Contextos e Bindings](https://github.com/ZupIT/beagle-web-core/tree/specification/component-interaction) ## Pull requests relacionados: - [Angular](ZupIT/beagle-web-angular#54) - [React](ZupIT/beagle-web-react#13)
These features were implemented in web-core (0.0.16), web-react (0.0.16) and web-angular (0.0.16). If the specification is, for some reason, changed, new issues should be opened in the web projects so we can make the modifications needed. |
TODO LIST ANDROID/ BACKEND
|
Edit: I forgot this should be written in english :( Changes resulting from the meeting of 05/27/2020:
PS: everything done with the simpleform can be done without it. This component and the submitForm action were created mainly for accessibility reasons. In web apps, we can't render everything as div's and expect robots to correctly identify what is a form and how to submit it. Furthermore, it is more intuitive to build a form in the declarative language than it is to build a container, a button and link them with actions. |
URL to examples on beagle web was updated: https://beagle-playground.netlify.app/#/demo/component-interaction |
According to meeting we had in 04/22/2020. We should implement a new feature to facilitate the development of interactive interfaces with Beagle.
Today it can get very hard very easily when front-end developers try to implement any feature where a Beagle component must interact with another Beagle component. All this logic must be predicted by us and delivered through a base component or be implemented entirely by the end-developer. Generally, our libs get way too dependent in the components we offer and, since we can't predict every use case, the end-developer will have to implement very complex components which will most of the time also be coupled with the Beagle libraries.
To eliminate this problem, in the aforementioned meeting it was proposed a new feature that allows for state sharing between components and its manipulation. Four new concepts were proposed: events, actions, contexts and bindings.
The four new concepts (events, actions, contexts and bindings) must be implemented in all of the Beagle Projects (schema, bff, ios, android and web). To implement these, the specification hosted here must be followed. All of the examples showed during the meeting are hosted online and a link to each of them can be found at the end of specification document.
Any proposition to change anything in the specification must be done through a Pull Request in this repository.
The text was updated successfully, but these errors were encountered: