Aaron Bohy
d1094f647a
[IMP] observer: add set and delete static functions
...
This rev. add a 'set' and 'delete' static functions to the Observer.
They allow to set or delete (only for objects) properties on
observed objects or arrays.
With this, the 'set' functions in Store and Component are no longer
necessary, so they have been removed.
Closes #138
2019-06-07 14:55:12 +02:00
Aaron Bohy
2f9d7ea58f
[REF] qweb: revamp event management
...
Closes #111
2019-06-04 11:59:21 +02:00
Géry Debongnie
0eccfd08fe
[REF] component: add some docstrings
2019-05-31 10:26:37 +02:00
Géry Debongnie
bced9f3d04
[IMP] *: use lower level loops in hot code
...
The goal is to gain a few % of perf improvement.
closes #125
2019-05-29 11:20:30 +02:00
Géry Debongnie
681983142d
[IMP] component: add props validation and default props system
...
closes #116
2019-05-28 11:56:22 +02:00
Géry Debongnie
2ce027a0a6
[REF] component: remove isStarted key
2019-05-17 15:50:55 +02:00
Géry Debongnie
5682577870
[REF] component: yet another simplification for t-widget
2019-05-17 09:59:02 +02:00
Géry Debongnie
0a10bbc023
[IMP] component: remove support for inlineTemplate
...
closes #93
2019-05-15 15:54:18 +02:00
Géry Debongnie
361ecbe90b
[IMP] component: deduce template name from component name
...
closes #102
2019-05-15 10:40:23 +02:00
Aaron Bohy
0aba9748c9
[IMP] add t-mounted directive
...
closes #45
2019-05-10 19:31:09 +02:00
Géry Debongnie
7f33f9b68e
[FIX] component: call patch between willpatch and patched
...
closes #91
2019-05-09 15:22:59 +02:00
Géry Debongnie
80ffa37773
[TODO] fix separate issue. need a test
2019-05-09 13:12:26 +02:00
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