Commit Graph

48 Commits

Author SHA1 Message Date
Géry Debongnie f7f8c34e1c [DOC] owl: add generic file level documentation 2019-05-08 11:23:48 +02:00
Géry Debongnie 7f0b236747 [FIX] store: properly call patch on connected components
A previous refactoring broke it by adding a [] arguments to updateprops.
2019-05-07 14:43:23 +02:00
Géry Debongnie b7860a95b0 [REF] store: typecheck code
closes #87
closes #39
2019-05-07 11:47:09 +02:00
Géry Debongnie ba506be58d [FIX] component: fix issue with crash caused by async rendering
This may (or may not?) closes #85
2019-05-06 14:23:29 +02:00
Géry Debongnie 91896942dd [FIX] component: prevent rendering if not mounted 2019-05-06 13:45:50 +02:00
Géry Debongnie bd29e4f761 [REF] qweb: split code into 3 files
closes #84
2019-05-06 13:00:46 +02:00
Géry Debongnie 6350d9598d [REF] qweb, component: small code refactoring 2019-05-02 10:58:47 +02:00
Géry Debongnie 40e486a9eb [REF] component: remove updateProps
it is actually now a private method
2019-04-29 16:50:49 +02:00
Géry Debongnie e56580efb2 [FIX] component: call willPatch/patched hooks properly
Each component called its hooks properly individually, however the issue
was that it was done component by component.  However, in practice, we
want the willPatch hooks to be done before ANY patch is actually
performed, and the patched should be called AFTER every patch is
applied.

The trick is to propagate a list of patched components across various
function calls.

closes #64
2019-04-29 15:45:15 +02:00
Géry Debongnie b08e876136 [FIX] component: call mounted hooks in subcomponent properly
order was not correct in some cases.  Also, this commit is a pretty
significant optimization.
2019-04-27 11:35:02 +02:00
Géry Debongnie 005b727328 [FIX] component: hooks mounted/willUnmount called in correct order
The issue was with parent/child relationship.  It is not intuitive to
me, but the mounted hook should be called first on the children, and
then on the parent.  willUnmount hooks is the opposite.

closes #63
2019-04-26 17:23:50 +02:00
Géry Debongnie b44f274e37 [FIX] component: do not call willPatch/patched if not in DOM
closes #62
2019-04-26 15:30:59 +02:00
Géry Debongnie 2bd0719b9a [REF] component, vdom: small cleanup 2019-04-25 17:10:36 +02:00
Géry Debongnie cf47f8459a [REF] utils: remove id generator 2019-04-25 16:45:09 +02:00
Géry Debongnie 754272b436 [IMP] component: give snapshot from 'willPatch' to 'patched' 2019-04-25 14:46:04 +02:00
Géry Debongnie f5ce05c81e [FIX] vdom: fix typing issues, small cleanup 2019-04-22 21:22:21 +02:00
Géry Debongnie 8a4fd5015a [REF] vdom: fork snabbdom and use custom version 2019-04-20 09:34:51 +02:00
Géry Debongnie 4ee39282ca [IMP] component: add 'set' method to allow extending state
closes #49
2019-04-18 10:15:50 +02:00
Géry Debongnie 3b3fd8a6c9 [REF] component: make observer and state optional 2019-04-18 10:11:16 +02:00
Géry Debongnie 29111a5c10 [IMP] component: disable mutations in render phase
closes #48
2019-04-18 10:11:04 +02:00
Géry Debongnie 7a479baf63 [DOC] doc: remove references to updateState 2019-04-17 10:59:03 +02:00
Géry Debongnie 94ed6ebe60 [IMP] component: remove updateState method 2019-04-17 10:59:03 +02:00
Géry Debongnie 619e455dd5 [IMP] component: observe the state and rerender if it changes
closes #35
2019-04-17 10:58:54 +02:00
Géry Debongnie 8163e2b0e4 [REM] component: remove PureComponent 2019-04-16 17:20:32 +02:00
Géry Debongnie 7b87470760 [IMP] store: connect function takes hash function in param
With this commit, we can now decides precisely if a component should be
rerendered, by using a hash function.

By default, the hash function will deep observe each store element
coming from the result of the mapStateToProps.

closes #24
2019-04-15 10:43:35 +02:00
Géry Debongnie a0f0a24d1d [REF] component: use __owl__ as metadata key 2019-04-13 14:14:34 +02:00
Géry Debongnie 90f6808f57 ref: rename _start to _prepare 2019-04-10 10:45:27 +02:00
Géry Debongnie f960149ba2 rem: remove destroyed hook 2019-04-10 09:35:20 +02:00
Géry Debongnie bc07c49a5f imp: add willUpdateProps hook to components 2019-04-09 13:55:13 +02:00
Géry Debongnie 94c33af8e9 ref: rename 'detach' method to 'unmount' 2019-04-09 12:57:34 +02:00
Géry Debongnie 6e0ef0fd5c ref: rename updated hook to 'patched' 2019-04-09 10:37:53 +02:00
Géry Debongnie a951c484be ref: rename componentDidUpdate hook into 'updated'
closes #16
2019-04-05 23:29:16 +02:00
Géry Debongnie 14d3eb83eb imp: add willPatch hook 2019-04-05 23:23:00 +02:00
Géry Debongnie 990a08dc04 imp: add componentDidUpdate hook 2019-04-01 16:00:57 +02:00
Géry Debongnie a236ae396a fix: make sure props are always defined
fix #7
2019-03-22 09:28:56 +01:00
Géry Debongnie add380f59b ref: move PureWidget back to core, use updateEnv 2019-03-21 16:33:08 +01:00
Géry Debongnie ad9fb77458 fix: force children to rerender when env changes 2019-03-21 16:06:06 +01:00
Géry Debongnie d799e3dd47 prevent useless rerenders when updatingEnv on unmounted component
fix #4
2019-03-21 10:39:09 +01:00
Géry Debongnie 9baf3ad4a7 add support for boolean properties, such as 'checked'
fix #5
2019-03-20 13:19:08 +01:00
Géry Debongnie 91e7e00f97 clean component file, add some documentation 2019-03-19 13:46:18 +01:00
Géry Debongnie 38f307ef57 implement updateEnv feature 2019-03-19 13:26:05 +01:00
Géry Debongnie 695636e60e cleanup, rename setState into updateState 2019-03-19 10:35:41 +01:00
Géry Debongnie 65a65bd241 remove memory leak... 2019-03-18 16:15:08 +01:00
Géry Debongnie d99ea4c9f4 rename updateState into setState 2019-03-15 11:54:59 +01:00
Géry Debongnie ce8c176578 rename qweb_vdom into qweb 2019-03-14 14:32:29 +01:00
Géry Debongnie a9d5cab3b6 rename WEnv to Env 2019-03-14 12:51:51 +01:00
Géry Debongnie 027318bb98 move snabbdom into libs/ 2019-03-14 11:30:49 +01:00
Géry Debongnie f08ff9e5c2 move demo/static/src/ts/core to src/ 2019-03-14 11:23:10 +01:00