Aaron Bohy
2f9d7ea58f
[REF] qweb: revamp event management
...
Closes #111
2019-06-04 11:59:21 +02:00
Géry Debongnie
187eb922c0
[IMP] component: define props as attribute (remove t-props)
2019-06-03 13:34:01 +02:00
Géry Debongnie
466c12a0e6
[FIX] component: reuse widget if possible
...
Previous code always destroy and recreate widgets.
2019-06-03 13:34:01 +02:00
Aaron Bohy
4d72a4f240
[FIX] qweb: enclose interpolated expr in parentheses
...
Since rev 53e53e9b ,
<div class="o_app" t-attf-class="{{ true ? 'o_extra' : '' }}"/>
produced
<div class="o_extra"/>
whereas it should have produced
<div class="o_app o_extra"/>
This is because there were missing parentheses around the string
returned by `interpolate`, which produced instructions like
var _1 = 'o_app ' + true ? 'o_extra' : '';
Fixes #132
2019-05-29 13:31:48 +02:00
Aaron Bohy
376f801541
[IMP] qweb: t-widget: accept dyn values
2019-05-29 11:22:12 +02:00
Aaron Bohy
26f14180e2
[IMP] qweb: t-ref: dyn values with string interpolation
...
Closes #100
2019-05-29 11:22:12 +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
Aaron Bohy
7cdd1aa9a1
[IMP] qweb: add global Component registry to qweb
...
Closes #112
2019-05-27 12:10:33 +02:00
Aaron Bohy
050694414c
[REF] move animations tests into their own file
2019-05-27 11:50:21 +02:00
Aaron Bohy
639908366a
[IMP] allow to combine t-transition and t-widget
...
Closes #94
2019-05-27 11:50:21 +02:00
Aaron Bohy
59f401303a
[REF] transitions: remove create hook
2019-05-27 11:50:20 +02:00
Aaron Bohy
649e20b956
[IMP] improve tests of transition directive
2019-05-27 11:49:09 +02:00
Aaron Bohy
8a32d823cd
[IMP] support modifiers with t-on directive
...
Supported modifiers are stop, prevent and self.
Closes #115 .
2019-05-23 23:33:09 +02:00
Géry Debongnie
a1d7e6c987
[FIX] qweb: support #{} syntax in attribute string interpolation
...
closes #113
2019-05-17 16:20:25 +02:00
Géry Debongnie
2ce027a0a6
[REF] component: remove isStarted key
2019-05-17 15:50:55 +02:00
Géry Debongnie
61f21511a5
[DOC] component: add detailed explanation for t-widget
2019-05-17 10:49:04 +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
25b633cc63
[REF] component: simplify again t-widget code
2019-05-16 16:25:39 +02:00
Géry Debongnie
f16b267931
[REF] component: simplify the t-widget directive
...
a little bit...
2019-05-16 15:29:40 +02:00
Géry Debongnie
8758dfcedf
[IMP] component: better error if cannot find widget
...
closes #54
2019-05-15 17:17:39 +02:00
Géry Debongnie
9c1d369e94
[FIX] qweb/component: fix scoping issue with list of widgets
...
In a t-foreach loop, there was a bad interaction between variables
defined with the `var` keyword and asynchronous code.
closes #108
2019-05-15 15:42:45 +02:00
Aaron Bohy
1760d0d336
[FIX] allow to combine directives using node hooks
...
e.g. t-ref and t-transition, or t-mounted and t-transition.
2019-05-10 19:31:09 +02:00
Géry Debongnie
b9591cfecd
[IMP] component: add support for dynamic css on t-widget
...
closes #80
2019-05-06 11:19:18 +02:00
Géry Debongnie
4e982f5460
[IMP] qweb: add warning if t-key is missing in some cases
...
closes #71
2019-05-03 10:22:57 +02:00
Géry Debongnie
d3197e9865
[FIX] qweb: capture ref key in closure, to avoid scoping issue
...
closes #77
2019-05-03 09:43:27 +02:00
Géry Debongnie
0da44033ac
[IMP] qweb: add preliminary support for transitions
...
Still very naive...
Part of #66
2019-05-03 09:35:35 +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
4a748d2ea4
[IMP] qweb: add t-debug and t-log directives
2019-04-29 14:07:08 +02:00
Géry Debongnie
20b33f50fa
[FIX] component: bind t-ref widgets at correct moment
...
closes #51
2019-04-23 11:28:30 +02:00
Géry Debongnie
b89327c831
[IMP] qweb: log a warning if a t-foreach is used without t-key
...
closes #40
2019-04-16 17:49:33 +02:00
Géry Debongnie
460ae4bb34
[REF] qweb: add missing semicolon to compiled template
2019-04-16 16:16:08 +02:00
Géry Debongnie
c52e86feaf
[FIX] qweb: t-set should reuse variable if possible
...
closes #41
2019-04-16 16:04:44 +02:00
Géry Debongnie
0ca4cc1596
[IMP] qweb: make t-key directive dynamic
...
instead of having t-key and t-att-key.
closes #36
2019-04-16 14:38:55 +02:00
Géry Debongnie
85eb30626d
[FIX] qweb: t-set expressions are evaluated only once
...
closes #23
2019-04-15 14:38:08 +02:00
Géry Debongnie
3d18359dd8
[IMP] store: add 'deep' param to connect options
2019-04-15 11:51:18 +02:00
Géry Debongnie
a0f0a24d1d
[REF] component: use __owl__ as metadata key
2019-04-13 14:14:34 +02:00
Géry Debongnie
2ea01455cb
[FIX] qweb: fix issue with expression formatting
...
closes #21
2019-04-12 15:27:44 +02:00
Géry Debongnie
90f6808f57
ref: rename _start to _prepare
2019-04-10 10:45:27 +02:00
Géry Debongnie
74ce6a671e
fix: properly destroy widget in some cases
...
when widget was (props)updated, then removed from DOM, it was not
destroyed.
closes #19
2019-04-09 15:31:03 +02:00
Géry Debongnie
370a92b67e
imp: t-ref directive is now dynamic
...
closes #11
2019-04-09 10:33:08 +02:00
Géry Debongnie
3e8682b741
ref: adapt qweb to output code closer to es5
2019-04-04 14:14:02 +02:00
Géry Debongnie
7ebea5a486
imp: better error message when evaluating/compiling templates
...
fixes #3
2019-04-02 11:03:04 +02:00
Géry Debongnie
56be87f26e
fix: allow t-attf- attributes to combine with regular attrs
...
fixes #10
2019-04-02 09:22:37 +02:00
Géry Debongnie
d6e61c2203
imp: qweb engine can be initialized with templates
2019-03-29 16:40:59 +01:00
Géry Debongnie
5cd45b59af
fix: properly destroy/detach widgets in some cases
...
Sometimes, widgets were not properly destroyed/detached. This was caused
by the fact that we used the hook remove, when we sometimes need to use
the hook destroy as well.
2019-03-29 12:50:45 +01:00
Géry Debongnie
1e58c7b12b
fix: update component snapshots
2019-03-29 12:39:00 +01:00
Géry Debongnie
afc89e6f66
fix: if t-props is not defined, should fallback on {}
2019-03-28 17:35:08 +01:00
Géry Debongnie
a7d2edd0c9
imp: qweb compiler now condenses whitespaces
...
This is a pretty big breaking change: the html output by qweb is now
different.
The main goal is to optimize the compiled templates:
- condense all consecutive whitespaces into a single spaces
- if possible, drop completely some text nodes, based on the following
heuristic: if a text node is only composed of whitespaces, and
contains at least one linebreak, then it can be dropped.
This leads in my benchmark test to an improvement of about 10%, in
rendering speed and in memory consuption.
Note: whitespace here means anything that matches the \s regexp: newlines,
tabs, ...
close #8
2019-03-22 12:04:50 +01:00
Géry Debongnie
d48cb5aae4
imp: work on store, refactor, improve todoapp
2019-03-22 10:47:59 +01:00