Géry Debongnie
fd0fb5be00
[REF] observer: refactor observer using proxy
...
closes #253
2019-08-22 14:22:20 +02:00
Alexandre Kühn
ab08e84bff
[IMP] store: return data from dispatching an action
2019-08-22 13:04:32 +02:00
Géry Debongnie
cd9cac1246
[REF] qweb: add forceUpdate method
...
and make sure it only triggers an update once for multiple calls in same
call stack
2019-07-30 15:00:51 +02:00
Géry Debongnie
f18c73e59f
[FIX] component: solve a tricky concurrency rendering issue
...
When components were initially rendered more than once, in consecutive
microtask ticks, the order of two actions was reversed: the assignation
of the vnode to the __owl__.vnode property, and the assignation of
__owl__.vnode to the final rendered vdom of the component.
As a result, the widget was rendered as null (so, not present).
The reason for this issue was that the renderPromise key was reassigned
at some point.
2019-07-30 08:54:55 +02:00
Géry Debongnie
93d0a7dd46
[FIX] store: properly handle defaultProps in connected components
...
Thanks to aku for issue + tests + first solution
closes #245
2019-07-16 20:51:57 +02:00
Géry Debongnie
b1d022b583
[FIX] qweb: allow t-if with t-call directives
...
closes #246
2019-07-16 13:19:21 +02:00
Géry Debongnie
5382e824b1
[REF] owl: reorganize src code in sub files
2019-07-16 13:12:08 +02:00
Géry Debongnie
15a3f59744
[REF] owl: move some exported values around
...
This is a breaking change. Code using Observer, EventBus, Store or
ConnectedComponent need to update the way they import theses classes.
- Observer is now in owl.misc (so you can import it like this:
const Observer = owl.misc.Observer;)
- EventBus is also now in owl.misc
- Store and ConnectedComponent are now together in store
2019-07-14 09:02:02 +02:00
Géry Debongnie
545ceefc3d
[REF] store: remove connect function, add ConnectedComponent
...
closes #238
closes #235
2019-07-13 17:04:36 +02:00
Géry Debongnie
591508e769
[IMP] component: allow top level widgets
...
closes #166
2019-07-12 14:31:34 +02:00
Géry Debongnie
d9cbd23cd9
[IMP] component: add catchError hook
2019-07-12 09:52:09 +02:00
Géry Debongnie
ea015af741
[FIX] component: in slots, qweb was looking in wrong component
...
In slots, the actual parent is where the system should look for existing
widgets, not the rendering context.
closes #239
2019-07-11 15:00:05 +02:00
Géry Debongnie
bfc7c81c0d
[FIX] component: slots should preserve parented relation
...
closes #234
2019-07-10 11:01:15 +02:00
Géry Debongnie
e24ff8f8aa
[IMP] qweb: add renderToString method
...
closes #230
2019-07-09 10:16:27 +02:00
Géry Debongnie
9f1e64d399
[FIX] component: issue with t-slot,t-set,t-value, but no t-foreach
...
closes #232
2019-07-08 17:04:06 +02:00
Géry Debongnie
8e1aa71436
[FIX] component: scope issue with slots
...
Slot templates need to be able to access variables from the parent
scope.
closes #228
2019-07-08 16:24:57 +02:00
Géry Debongnie
7245ccf8f9
[IMP] component: various prop validation improvements
...
- add optional form for list props: ['optionalField?']
- accept undefined values for optional props
- allow declaring props with only boolean true
- throw error if extra prop is given to component
closes #223
2019-06-28 16:53:14 +02:00
Géry Debongnie
af7520d869
[REF] *: reformat with prettier and printWidth=100
...
closes #214
2019-06-28 10:33:13 +02:00
Alexandre Kühn
0095bfa61f
[IMP] store: positional arguments with dispatch/commit
2019-06-28 10:12:56 +02:00
Géry Debongnie
1b12cf9b91
[FIX] qweb/component: better handling of class attribute
...
This changes requires using the class module of vdom.
closes #192
2019-06-28 09:49:41 +02:00
Géry Debongnie
dbfc7e4acd
[FIX] store/connect: fix bugs with parent/child connected
...
There were big issues when we use parent/child connected widgets.
- children was rendered twice (and mapStoreToProps was called twice)
- if children was supposed to be destroyed, it was rendered once.
We solve them in this commit by waiting for parent widgets to be ready
before updating children.
closes #216
2019-06-28 09:45:43 +02:00
Pierre Paridans
e838e879c0
[FIX] qweb: add missing not equals operators
...
Implement "!=" and "!==" operator support in QWeb.
2019-06-26 16:14:32 +02:00
Géry Debongnie
16bbb8bc9f
[FIX] qweb/component: better handling for t-debug
...
- fix issue with t-debug on a t-set (defining a slot)
- put t-debug and t-log at a very low (high) priority to make sure they
are executed before other directives
closes #201
2019-06-25 14:03:05 +02:00
Alexandre Kühn
4a5db0c283
[FIX] qweb: t-component + class with extra whitespaces
...
Crashed due to `DOMTokenList.add(string)` requiring non-empty string.
2019-06-25 13:08:14 +02:00
Géry Debongnie
1e2b204fdd
[FIX] component: default slot now works with textnodes
...
closes #209
2019-06-25 09:37:26 +02:00
Géry Debongnie
4a889b7b6b
[IMP] qweb: add option to allow duplicate templates
2019-06-24 22:41:02 +02:00
Géry Debongnie
34695883c2
[REF] component: use __ for private methods
...
closes #202
2019-06-24 13:42:20 +02:00
Géry Debongnie
3d2e2a1873
[FIX] components: ignore slot if no definition is given
...
closes #203
2019-06-24 13:38:32 +02:00
Géry Debongnie
af6aca83a2
[IMP] components: allow multiple roots in slots
...
closes #199
2019-06-24 13:36:11 +02:00
Géry Debongnie
8c8ffb6a6b
[IMP] qweb,component: make QWeb an event bus
...
closes #197
2019-06-24 09:47:11 +02:00
Géry Debongnie
63a8fcd7e2
[FIX] component: scoping issue with t-on and t-foreach
...
closes #193
2019-06-21 16:31:24 +02:00
Géry Debongnie
e6a5934162
[REF] component: use 'component' instead of 'widget'
2019-06-20 12:31:00 +02:00
Pierre Paridans
5524c2e323
[IMP] store: connected component reuse base component name
...
Connected component should have a unique name. To achieve this the
connected component currently have an id based generated name (like
`ConnectedComponent1`).
To make it clearer and ease debugging this commit reuse the extended
component's name to include it in the generated name in the form of
`Connected<ComponentName>`.
2019-06-20 12:26:13 +02:00
Géry Debongnie
35c1de26b8
[IMP] component: allow component name in templates
...
closes #186
2019-06-18 15:02:35 +02:00
Aaron Bohy
a56939f13a
[IMP] store: memoize getters
...
Closes #95
2019-06-17 15:46:48 +02:00
Géry Debongnie
5ff501f8b8
[IMP] component: add support for default slot
...
closes #180
2019-06-17 09:26:37 +02:00
Géry Debongnie
b201ef8162
[FIX] component: crashes if no template can be found
...
closes #178
2019-06-14 23:33:45 +02:00
Géry Debongnie
f013c57050
[REF] component: rename t-async into t-asyncroot
2019-06-14 15:40:32 +02:00
Géry Debongnie
c481a73a76
[ADD] component: implement t-model directive
...
closes #170
2019-06-14 15:01:29 +02:00
Aaron Bohy
e64e415b3b
[IMP] qweb: add t-async directive on t-widget
...
Closes #98
2019-06-14 14:58:24 +02:00
Aaron Bohy
3ebe985c3c
[FIX] qweb: no more duplicated nodes during transitions
...
If a node was re-added while being removed (i.e. during the remove
transition), the node was duplicated in the DOM for the delay of
the remove transition. This rev. removes the old occurence directly
in that case.
Fixes #121
2019-06-13 11:55:10 +02:00
Aaron Bohy
1c0d4b5832
[FIX] tests: update snapshots
2019-06-13 11:55:10 +02:00
Géry Debongnie
710f42d4e4
[IMP] qweb: add t-slot directive
...
Closes #67
2019-06-12 14:54:24 +02:00
Géry Debongnie
45a2b0122d
[FIX] qweb: add better support for template with only strings
2019-06-12 14:54:24 +02:00
Aaron Bohy
22e48e3be0
[REF] store: simplify connect API
...
Closes #158
2019-06-11 11:41:29 +02:00
Aaron Bohy
1ff3c32fe4
[IMP] store: allow connecting to another store
...
Closes #58
2019-06-11 11:41:29 +02:00
Géry Debongnie
438e2fbc2e
[FIX] qweb: add some missing operators
...
closes #162
2019-06-11 10:45:20 +02:00
Géry Debongnie
4dd9de349e
[FIX] tests: check links for main README.md as well
2019-06-10 09:31:06 +02:00
Géry Debongnie
54c3dd76e4
[FIX] doc: fix all dead links
...
closes #149
2019-06-07 15:40:03 +02:00
Géry Debongnie
7b887447da
[IMP] qweb: implements an expression evaluator
...
closes #5
2019-06-07 15:37:45 +02:00