Géry Debongnie
0e6059467f
[REF] move component function to app, improve some code
2022-06-13 09:51:31 +02:00
Géry Debongnie
385e118e58
[FIX] compiler: add support for #{...} in string interpolation
2022-06-08 10:54:30 +02:00
Géry Debongnie
a3111eb9ca
[FIX] t-out: allow expressions evaluating as number
2022-06-07 13:23:29 +02:00
Géry Debongnie
1fc88f626f
[IMP] slots: add support for t-props on slots props
2022-06-07 09:30:45 +02:00
Géry Debongnie
2b4d8874c7
[REF] simplify template definition
2022-05-31 14:00:01 +02:00
Géry Debongnie
998ecbb337
[REF] compiler: introduce define helper, slightly refactor code
2022-03-08 12:24:57 +01:00
Bruno Boi
cc8e11c9c9
[FIX] can use t-out with String classes
2022-02-11 10:46:44 +01:00
Géry Debongnie
3196b585fd
[FIX] slots: process slot params/values like normal props
2022-02-11 10:46:44 +01:00
Géry Debongnie
2c1226d737
[IMP] compiler: translatableAttributes can be added/removed
2022-02-11 10:46:44 +01:00
Bruno Boi
bb6479f44f
[FIX] compiler: add _ prefix to local variables while compiling an expression
2022-02-11 10:46:44 +01:00
Géry Debongnie
e4b4ee471f
[FIX] compiler: does not modify xml doc in place
2022-02-11 10:46:44 +01:00
Lucas Perais (lpe)
72962f1dd1
[FIX] compiler: force new block for svg nested in html
2022-02-11 10:46:44 +01:00
Géry Debongnie
a4d9aae9a7
[FIX] svg: allow path as root tag
2022-02-11 10:46:44 +01:00
Lucas Perais (lpe)
d88eb34d4f
[FIX] compiler: svg in new block takes the right namespace
2022-02-11 10:46:44 +01:00
Lucas Perais (lpe)
a8d88d4009
[FIX] compiler: t-key on a sub-domnode pushes an anchor in parent block
2022-02-11 10:46:44 +01:00
Géry Debongnie
7711733a23
[FIX] blockdom: toString method in multi could crash
2022-02-11 10:46:44 +01:00
Géry Debongnie
5bf47500d5
[FIX] compiler: handle t-set as functions
2022-02-11 10:46:44 +01:00
Géry Debongnie
92cc4375f8
[FIX] components: make sure t-ref work with t-if/t-else
2022-02-11 10:46:44 +01:00
Samuel Degueldre
9f2e2bcc66
[IMP] compiler: scope generated ids to their prefix
...
This means that unrelated ids (eg the id of a template, variable or key)
not longer share the same incrementing counter, meaning that you no
longer see a variable named "v2" unless another variable "v1" was
generated previously, this is also true for block data.
2022-02-11 10:46:44 +01:00
Géry Debongnie
c7af885f43
[IMP] compiler: improve generated compiled code
2022-02-11 10:46:44 +01:00
Géry Debongnie
7eaecac0b5
[REF] tests: improve test helpers
...
- remove snapshotApp
- remove addTemplates
- simplify helpers
- make sure snapshotted templates are snapshotted with the app config
2022-02-11 10:46:44 +01:00
Géry Debongnie
fd295b3be3
[FIX] compiler: properly handle <t> tags in some cases
...
The problem was that the compiler is based on the assumption that the
multi block received by the parser only occurs in some cases
where the structure of the template require a multi block, and it does
not work when we have random multiblock elsewhere.
We could fix the issue by modifying the code generator code to support
these usecases, or by simply removing these cases in the parser. Since
this seems more efficient, this is the approach taken by this commit.
Note that it was a good opportunity to simplify the parser.
2022-02-11 10:46:44 +01:00
Géry Debongnie
63fbcf99fd
[FIX] blockdom: ignore attributes with undefined value
2022-02-11 10:46:44 +01:00
Lucas Perais (lpe)
3c12519277
[FIX] parser: correctly parse pre node within a div with new lines
2022-02-11 10:46:44 +01:00
Géry Debongnie
e91e50a812
[REF] compiler: simplify all compiled templates
2022-02-11 10:46:44 +01:00
Géry Debongnie
2e176f135d
[FIX] compiler: allow t-if with empty content
2022-02-11 10:46:44 +01:00
Géry Debongnie
8a1ac13975
[IMP] add support for top level comments
2022-02-11 10:46:44 +01:00
Géry Debongnie
a8d8310b8e
[REF] code_generator: move generating code to CodeTarget
...
Before this commit, we had two places with code that generate a function
code. Now, all this code is moved in a method 'generateCode' on
CodeTarget.
2022-02-11 10:46:44 +01:00
Géry Debongnie
0bbea351a6
[FIX] compiler: call dynamic templates with correct this
2022-02-11 10:46:44 +01:00
Samuel Degueldre
7143dd3ff5
[FIX] components: capture context in prop expressions
2022-02-11 10:41:18 +01:00
Bruno Boi
5d4a38ad0f
[IMP] svg namespace support
2022-02-11 10:41:18 +01:00
Lucas Perais (lpe)
b902edc1be
[IMP] app, compiler: introduce t-out
...
t-out automatically escaped content when it is a string not marked
with the `markup` function
t-out renders the raw content if it is a Block, or if it has been marked
with the `markup` funtion.
t-esc has been kept since it is safe and is optimized to render text nodes.
all t-raw calls are in fact the same as t-out.
2022-02-11 10:41:18 +01:00
Bruno Boi
db93ef08ff
[IMP] templates: can load multiple at once and also from XMLDocument
2022-02-11 10:41:18 +01:00
Géry Debongnie
1700a6fba3
[REF] compiler: rename qweb/ into compiler/
2022-02-11 10:41:18 +01:00