2019-03-21 10:39:09 +01:00
2019-03-21 10:23:44 +01:00
2019-01-23 22:52:50 +01:00
2019-03-18 14:26:33 +01:00
2019-03-21 10:37:24 +01:00
2019-03-14 14:27:52 +01:00
2019-03-21 09:55:33 +01:00
2019-03-17 15:44:02 +01:00
2019-03-21 09:55:04 +01:00

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.


Core Utility for Odoo Web Client

Overview

This repository contains some useful building block for building web applications. We made some efforts to make sure the code is reusable and generic. However, since this is the basis for the Odoo web client, we will not hesitate to design the code here to better match the Odoo architecture/design principles.

Currently, this repository contains:

  • some utility functions/classes
  • 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 ideas:

  • a (frontend) router could be included.
  • a store base class (as in the flux/redux architecture)

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).

Main scripts

To install every dependency needed to play with this code:

npm install

To build a bundle of this as a library:

npm run build

To run tests:

npm run test
npm run test:watch

Note that the test scripts also run the example tests suites.

Documentation

Examples

There are two examples of how to work with this web framework:

S
Description
OWL: A web framework for structured, dynamic and maintainable applications
Readme LGPL-3.0 27 MiB
Languages
TypeScript 87.3%
JavaScript 12.1%
CSS 0.5%
Python 0.1%