Géry Debongnie
55be6437f1
[FIX] router: better support for hash mode
2019-08-31 09:55:45 +02:00
Géry Debongnie
e6a3ede4a6
[FIX] component: improve unmount/remount behaviour
2019-08-28 11:41:10 +02:00
Alexandre Kühn
10cfe0b740
[IMP] store: dispatch method returns data from action
2019-08-27 22:26:16 +02:00
Géry Debongnie
a3d563ebb4
[FIX] connected_component: some misc issues
...
- did not properly stop listening to the store after being destroyed
- did not properly synchronize store updates in some async cases
2019-08-27 17:11:54 +02:00
Géry Debongnie
c59abef374
[IMP] connected component: add dispatch method
2019-08-26 10:31:11 +02:00
Géry Debongnie
bb4c2506c0
[REF] store: merge actions and mutations
...
closes #256
2019-08-26 10:31:11 +02:00
Géry Debongnie
9843d16585
[REF] component: improve render method
2019-08-26 10:31:11 +02:00
Géry Debongnie
34e463ad0a
[REF] connected component: separate storeprops from props
...
closes #259
2019-08-26 10:31:11 +02:00
Géry Debongnie
aa268937a7
[IMP] router: navigate now returns more information
2019-08-22 14:26:34 +02:00
Géry Debongnie
635a7fc72c
[FIX] router: do not prevent default click on <a> in some cases
2019-08-22 14:26:34 +02:00
Géry Debongnie
6cd5ec10f0
[FIX] router: properly redirect if necessary when started
2019-08-22 14:26:34 +02:00
Géry Debongnie
0a276fbf1d
[IMP] router: basic implementation of navigation guards
2019-08-22 14:26:34 +02:00
Géry Debongnie
3c3dcb44a9
[IMP] router: add test for Link
2019-08-22 14:26:34 +02:00
Géry Debongnie
6ecd1d6ea2
[IMP] router: add validation for destinations
2019-08-22 14:26:34 +02:00
Géry Debongnie
1a931a2a08
[IMP] router: implement redirect feature
2019-08-22 14:26:34 +02:00
Géry Debongnie
bf705fcd99
[REF] router: add TestRouter and improve tests
2019-08-22 14:26:34 +02:00
Géry Debongnie
bb46346767
[REF] router: change Destination shape
2019-08-22 14:26:34 +02:00
Géry Debongnie
cd0762b436
[REF] rework router into a class
2019-08-22 14:26:34 +02:00
Géry Debongnie
ca920a0091
[ADD] router: initial implementation
2019-08-22 14:26:34 +02:00
Géry Debongnie
e5b1ba24d8
[IMP] component: allow multiple mount/unmount
...
closes #258
2019-08-22 14:23:08 +02:00
Géry Debongnie
eaf912bed7
[FIX] observer: properly handle dates
2019-08-22 14:22:20 +02:00
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