mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
doc: add state management page, and update documentation
This commit is contained in:
@@ -1,38 +1,47 @@
|
|||||||
**Warning!**
|
|
||||||
|
|
||||||
This is currently a proof of concept, definitely not a production-ready codebase.
|
|
||||||
We hope to use it in the Odoo web client soon.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# 🦉 Odoo Web Lab 🦉
|
# 🦉 Odoo Web Lab 🦉
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
Odoo Web Lab (OWL) is a project to collect some useful, reusable, well designed
|
Odoo Web Lab (OWL) is a project to collect some useful, reusable, (hopefully)
|
||||||
building block for building web applications.
|
well designed building blocks for building web applications.
|
||||||
|
|
||||||
However, since this is the basis for the Odoo web client, we will not hesitate to design
|
However, since this is the basis for the Odoo web client, we will not hesitate
|
||||||
the code here to better match the Odoo architecture/design principles.
|
to design the code here to better match the Odoo architecture/design principles.
|
||||||
|
|
||||||
|
This project is also a playground to experiment with some ideas related to web
|
||||||
|
technologies.
|
||||||
|
|
||||||
Currently, this repository contains:
|
Currently, this repository contains:
|
||||||
|
|
||||||
- some utility functions/classes
|
1. **core**
|
||||||
- an implementation/extension of the QWeb template engine that outputs a virtual
|
|
||||||
dom (using the snabbdom library)
|
|
||||||
- a Component class, which uses the QWeb engine as its underlying rendering
|
|
||||||
mechanism. The component class is designed to be declarative, with
|
|
||||||
asynchronous rendering.
|
|
||||||
|
|
||||||
In the future, this repository may includes other features. Here are some possible
|
- an implementation/extension of the QWeb template engine that outputs a virtual
|
||||||
|
dom (using the snabbdom library)
|
||||||
|
- a Component class, which uses the QWeb engine as its underlying rendering
|
||||||
|
mechanism. The component class is designed to be declarative, with
|
||||||
|
asynchronous rendering.
|
||||||
|
- some utility functions/classes
|
||||||
|
|
||||||
|
2. **extras**
|
||||||
|
- a Store class and a connect function, to help manage the state of an application (like react-redux)
|
||||||
|
- a Registry: this is a simple key/store mapping
|
||||||
|
|
||||||
|
In the future, this repository may includes other features. Here are some
|
||||||
ideas:
|
ideas:
|
||||||
|
|
||||||
- a (frontend) router could be included.
|
- a (frontend) router could be included.
|
||||||
- a store base class (as in the flux/redux architecture)
|
- basic infrastructure code for web views (form/list/kanban)
|
||||||
|
- a mechanism to aggregate/query/dispatch rpcs (a little bit like graphql)
|
||||||
|
|
||||||
Note: the code is written in typescript. This does not mean that the main web
|
Note: the code is written in typescript. This does not mean that the main web
|
||||||
client will ever be converted to typescript (even though I would really like it).
|
client will ever be converted to typescript (even though I would really like it).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Warning!**
|
||||||
|
|
||||||
|
This is currently a proof of concept, not yet production-ready.
|
||||||
|
|
||||||
## Main scripts
|
## Main scripts
|
||||||
|
|
||||||
To install every dependency needed to play with this code:
|
To install every dependency needed to play with this code:
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Odoo Web Lab Documentation
|
||||||
|
|
||||||
|
- [Quick Start](quick_start.md)
|
||||||
|
- [Component](component.md)
|
||||||
|
- [QWeb](qweb.md)
|
||||||
|
- [State Management](state_management.md)
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# OWL: State Management
|
||||||
|
|
||||||
|
Managing the state in an application is not an easy task. Many different
|
||||||
|
architectures/designs/systems/... have been created. We propose here to use
|
||||||
|
the idea of a central store.
|
||||||
|
|
||||||
|
- Store
|
||||||
|
- connect
|
||||||
Reference in New Issue
Block a user