7908679c4b
fix(compiler): assert xliff messages have translations
...
fixes #12815
closes #12604
2016-11-14 12:55:56 -08:00
9ed9ff40b3
test(compiler): improve xliff tests
2016-11-14 12:55:48 -08:00
2f14415836
fix(compiler): updates hash algo for xmb/xtb files
2016-11-14 12:55:48 -08:00
76e4911e8b
fix(core): fix placeholders handling in i18n.
...
Prior to this commit, translations were built in the serializers. This
could not work as a single translation can be used for different source
messages having different placeholder content.
Serializers do not try to replace the placeholders any more.
Placeholders are replaced by the translation bundle and the source
message is given as parameter so that the content of the placeholders is
taken into account.
Also XMB ids are now independent of the expression which is replaced by
a placeholder in the extracted file.
fixes #12512
2016-11-14 12:55:48 -08:00
ed5e98d0df
fix(core): misc i18n fixes
2016-11-14 12:55:48 -08:00
146af1fed9
refactor(core): simplify i18n serializers code
2016-11-14 12:55:48 -08:00
c60ba7a72f
refactor(core): remove ListWrapper from i18n
2016-11-14 12:55:48 -08:00
05beffe0d0
test(core): fix a typo in the i18n integration spec
2016-11-14 12:55:48 -08:00
08c038ebd9
fix(core): xmb serializer uses decimal messaged IDs
...
fixes #12511
2016-11-14 12:55:48 -08:00
582550a90d
feat(core): implements a decimal fingerprint for i18n
2016-11-14 12:55:48 -08:00
77ee27c59e
refactor(): use const and let instead of var
2016-11-12 16:40:17 -08:00
a965d11cce
fix(compiler): generate safe access strictNullChecks compatible code ( #12800 )
...
fixes #12795
2016-11-11 17:12:17 -08:00
fcb4e66493
refactor(compiler): introduce summaries for metadata ( #12799 )
...
This does not yet introduce loading / serialization of summaries.
Part of #12787
2016-11-10 16:27:53 -08:00
79383ce150
refactor(compiler): never create CompileDirectiveMetadata with not loaded resources ( #12788 )
...
Part of #12787
2016-11-10 14:07:30 -08:00
c3c0e2e2a2
refactor(compiler): add span
to TemplateBinding
( #12792 )
...
fix(compiler): corrected error location for implicit templates expressions
2016-11-10 13:15:09 -08:00
2ced2a8a5a
refactor(compiler): misc updates ( #12773 )
2016-11-09 16:23:41 -08:00
634b3bb88b
feat(core): map 'for' attribute to 'htmlFor' property ( #10546 )
...
This improves ergonomics a bit by allowing people to write:
`<label [for]="ctxProp"></label>`.
This is similar to the existing class -> className mapping.
Closes #7516
2016-11-09 15:21:27 -08:00
fe35bc34f6
fix(animations): allow animations to be destroyed manually ( #12719 )
...
Closes #12456
Closes #12719
2016-11-08 16:21:28 -08:00
a0e9fde653
fix(animations): always normalize style properties and values during compilation ( #12755 )
...
Closes #11582
Closes #12481
Closes #12755
2016-11-08 15:45:30 -08:00
778e6ad3b4
refactor: cleanup ICU message syntax
2016-11-08 15:44:18 -08:00
55dc0e4a5f
fix(compiler): use the other case by default in ICU messages
2016-11-08 15:44:18 -08:00
7694f974af
refactor: remove some facades ( #12731 )
2016-11-08 15:43:24 -08:00
acbf1d859c
fix(core): fix pseudo-selector shimming ( #12754 )
...
fixes #12730
fixes #12354
2016-11-07 13:56:04 -08:00
22c021c57f
fix(compiler): support more than 9 interpolations ( #12710 )
...
Fixes #10253
2016-11-07 12:23:03 -08:00
ec92f4b198
refactor: remove keys()
and values()
from MapWrapper
2016-11-04 13:27:38 -07:00
f0cdb428f5
fix(compiler): don't convert undefined to null literals ( #11503 )
...
Fixes #11493
2016-11-04 10:55:21 -07:00
051d74802a
fix(core): ensure that component views that have no bindings recurse into nested components / view containers.
2016-11-04 10:50:27 -07:00
f2bbef3e33
fix(core): allow to query content of templates that are stamped out at a different place
...
Previously, if a `TemplateRef` was created in a `ViewContainerRef`
at a different place, the content was not query able at all.
With this change, the content of the template can be queried
as if it was stamped out at the declaration place of the template.
E.g. in the following example, the `QueryList<ChildCmp>` will
be filled once the button is clicked.
```
@Component({
selector: ‘my-comp’,
template: ‘<button #vc (click)=“createView()”></button>’
})
class MyComp {
@ContentChildren(ChildCmp)
children: QueryList<ChildCmp>;
@ContentChildren(TemplateRef)
template: TemplateRef;
@ViewChild(‘vc’, {read: ViewContainerRef})
vc: ViewContainerRef;
createView() {
this.vc.createEmbeddedView(this.template);
}
}
@Component({
template: `
<my-comp>
<template><child-cmp></child-cmp></template>
</my-comp>
`
})
class App {}
```
Closes #12283
Closes #12094
2016-11-04 10:50:27 -07:00
e3687706c7
refactor(compiler): minor cleanup
2016-11-03 16:29:51 -07:00
9c23884da4
perf(compiler): introduce direct rendering
...
This allows to attach / detach embedded views and projected nodes
in a faster way.
2016-11-03 16:29:51 -07:00
0e3d655220
refactor(compiler): remove view factories, use view classes directly
2016-11-02 20:58:48 -07:00
7c5cc9bc41
refactor(compiler): initialize RenderComponentType
eagerly
...
This moves the usage of `APP_ID` into the `DomRenderer`.
2016-11-02 20:58:48 -07:00
5f1dddc5d0
refactor(compiler): cleanups
2016-11-02 17:06:27 -07:00
20a4f9923f
refactor(compiler): remove view.parentInjector
2016-11-02 17:06:27 -07:00
e7c00be19d
refactor(compiler): rename AppElement
into ViewContainer
2016-11-02 17:06:27 -07:00
74ede9aa9b
refactor(core): don’t store view factory in TemplateRef
...
Instead, generate `createEmbeddedView`.
2016-11-02 17:06:27 -07:00
d1035da85c
refactor(compiler): don’t use AppElement
s for creating component views
2016-11-02 17:06:27 -07:00
13533d2a30
refactor(compiler): remove AppElement.initComponent
2016-11-02 17:06:27 -07:00
6fda97287e
fix(compiler): support multiple components in a view container
2016-11-01 14:21:40 -07:00
234c5599f1
refactor(compiler): remove unused constructor query support
2016-11-01 11:29:15 -07:00
f6710fefeb
refactor(compiler): make view.disposable
array null if empty
2016-11-01 11:29:15 -07:00
bda1909ede
refactor(compiler): remove view.rootNodes
and view.projectableNodes
...
They are replaced by generated visitor functions `view.visitRootNodes` / `view.visitProjectableNodes`.
2016-11-01 11:29:15 -07:00
b3e3cd3add
refactor(compiler): inline view.contentChildren
2016-11-01 11:29:14 -07:00
e5fdf4c70a
refactor(compiler): inline view.viewChildren in generated code
2016-11-01 11:29:14 -07:00
97471d74b6
refactor(compiler): remove unused subscriptions
in view
2016-11-01 11:29:14 -07:00
a178bc6c83
fix(compiler): dedupe NgModule declarations, …
...
This is important so that we don’t generate things multiple times.
2016-10-31 14:43:50 -07:00
642c1db9ef
fix(compiler): Don’t throw on empty property bindings
...
Closes #12583
2016-10-31 14:43:50 -07:00
e9fd8645ed
fix(core): improve error when multiple components match the same element
...
Closes #7067
2016-10-31 11:28:03 -07:00
e391cacdf9
fix(compiler): don’t double bind functions
...
This fixes a performance regressions introduced by 178fb79b5c
.
Also makes properties in the directive wrapper private
so that closure compiler can minify them better.
2016-10-28 11:17:12 -07:00
32feb8a532
refactor(compiler): generate host listeners in DirectiveWrappers
...
Part of #11683
2016-10-27 16:09:01 -07:00