Géry Debongnie
f4cd111cc8
[IMP] qweb: more information in an error message
2019-07-11 16:22:30 +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
Mathieu Duckerts-Antoine
60a6cca960
[IMP] qweb: better error messages for bad xml templates
...
closes #185
2019-06-28 14:53:19 +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
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
c2ab9774fb
[IMP] utils: whenReady now returns a Promise
...
Closes #160
2019-06-11 14:45:56 +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
b3db085745
[REF] vdom: simplify vnode function
...
This is a snabbdom commit
2019-06-11 10:23:57 +02:00
Géry Debongnie
b53a34b7d1
[FIX] utils: whenReady should work for all document states
...
Document readyState can be either 'loading', 'interactive' or
'complete'. We can access the DOM whenever we are no longer in 'loading'
state.
2019-06-08 16:20:44 +02:00
Géry Debongnie
7b887447da
[IMP] qweb: implements an expression evaluator
...
closes #5
2019-06-07 15:37:45 +02:00
Géry Debongnie
438b21df3f
[REF] qweb: improve variable handling
2019-06-07 15:37:45 +02:00
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
49baf0de6e
[REF] qweb: t-foreach: remove integer support for t-value
...
Handling it complexifies the compiled code, and it is not really
useful (the same result can be achieved with t-foreach="Array(n)")
Part of #128
2019-06-07 14:52:12 +02:00
Aaron Bohy
b14d069ee7
[REF] qweb: drop support of #{.} string interpolation
...
We only support the {{.}} syntax.
Part of #128
2019-06-07 14:52:12 +02:00
Aaron Bohy
e14a4fe338
[REF] qweb: t-foreach: remove x_parity
...
Part of #128
2019-06-07 14:52:12 +02:00
Aaron Bohy
1f9ec46236
[FIX] qweb: keep ref of unmounted (kept alive) widget
...
Fixes #120
2019-06-06 09:11:52 +02:00
Aaron Bohy
32921ecc20
[IMP] qweb: t-on with t-widget: allow to bind args
2019-06-04 11:59:21 +02:00
Aaron Bohy
1c290c1172
[IMP] qweb: handle t-on modifiers with t-widget
2019-06-04 11:59:21 +02:00
Aaron Bohy
2f9d7ea58f
[REF] qweb: revamp event management
...
Closes #111
2019-06-04 11:59:21 +02:00