Tobias Bosch
f5c8e0989d
feat(core): properly support inheritance
...
## Inheritance Semantics:
Decorators:
1) list the decorators of the class and its parents in the ancestor first order
2) only use the last decorator of each kind (e.g. @Component / ...)
Constructor parameters:
If a class inherits from a parent class and does not declare
a constructor, it inherits the parent class constructor,
and with it the parameter metadata of that parent class.
Lifecycle hooks:
Follow the normal class inheritance model,
i.e. lifecycle hooks of parent classes will be called
even if the method is not overwritten in the child class.
## Example
E.g. the following is a valid use of inheritance and it will
also inherit all metadata:
```
@Directive({selector: 'someDir'})
class ParentDirective {
constructor(someDep: SomeDep) {}
ngOnInit() {}
}
class ChildDirective extends ParentDirective {}
```
Closes #11606
Closes #12892
2016-11-28 14:12:12 -08:00
Bowen Ni
2c02d34c05
refactor(lint): Don't allow console.log
...
Enable tslint check for `console.log` as a follow-up to
https://github.com/angular/angular/issues/13018
2016-11-23 15:47:01 -08:00
Chuck Jazdzewski
491d5a22a9
refactor(compiler): allow control of StaticSymbol lifetime ( #12986 )
2016-11-18 16:58:14 -08:00
Tobias Bosch
59d2b4c831
refactor(compiler): further minor fixes
2016-11-18 10:04:14 -08:00
Tobias Bosch
2a5bd2f345
refactor(compiler): Reintroduce `ReflectorHost` and move `Extractor` into `@angular/compiler`
2016-11-18 10:04:14 -08:00
Tobias Bosch
3c06a5dc25
refactor(comiler): various cleanups
2016-11-18 10:04:14 -08:00
Tobias Bosch
adeea5d86a
refactor(compiler): renames
...
- `NgHost` to `CompilerHost`
- `AotCompilerHost.resolveFileToImport` to `AotCompilerHost.fileNameToModuleName`
- `AotCompilerHoset.resolveImportToFile` to `AotCompilerHost.moduleNameToFileName`
2016-11-18 10:04:14 -08:00
Tobias Bosch
dddbb1c1cb
refactor(tsc-wrapped): collect all exported functions and classes and bump metadata version from 1 to 2
...
This is needed to resolve symbols without `.d.ts` files.
This bumps the version of the metadata from 1 to 2.
This adds logic into `ng_host.ts` to automatically upgrade
version 1 to version 2 metadata by adding the exported symbols
from the `.d.ts` file.
2016-11-18 10:04:14 -08:00
Tobias Bosch
b15039d228
refactor(compiler): move symbol extraction to `AotCompiler`
2016-11-18 10:04:14 -08:00
Tobias Bosch
2235048432
refactor(compiler): add `createAotCompiler` factory
...
Also adds 2 more methods to the `AotCompilerHost`:
- `loadResource`
- `resolveFileToImport`
2016-11-18 10:04:14 -08:00
Tobias Bosch
484119e59f
refactor(compiler): remove `asset:` urls
...
These urls were just relicts from Dart.
2016-11-18 10:04:14 -08:00
Tobias Bosch
24099bdbd2
refactor(compiler): move `findDeclaration` into the `StaticReflector`
...
Previously, this was part of the `AotCompilerHost`.
The `AotCompilerHost` is now also greatly simplified.
2016-11-18 10:04:14 -08:00
Tobias Bosch
912ca44979
refactor(compiler): move `static_reflector` into `@angular/compiler` and rename files
...
- `src/runtime_compiler.ts` -> `src/jit/compiler.ts`
- `src/compiler.ts` -> `src/jit/compiler_factory.ts`
- `src/offline_compiler` -> `src/aot/compiler.ts`
Part of #12867
2016-11-18 10:04:14 -08:00
Alex Eagle
664a6273e1
feature(tsc-wrapped): add option for closure compiler JSDoc annotations
2016-11-18 09:37:40 -08:00
Chuck Jazdzewski
481c9b3258
refactor(compiler): allows synchronous retrieving of metadata ( #12908 )
...
Allows non-normalized metadata to be retrieved synchronously.
Related to #7482
2016-11-16 10:22:11 -08:00
Matias Niemelä
9de76ebfa5
fix(animations): retain styling when transition destinations are changed ( #12208 )
...
Closes #9661
Closes #12208
2016-11-14 16:59:06 -08:00
Victor Berchet
7908679c4b
fix(compiler): assert xliff messages have translations
...
fixes #12815
closes #12604
2016-11-14 12:55:56 -08:00
Victor Berchet
9ed9ff40b3
test(compiler): improve xliff tests
2016-11-14 12:55:48 -08:00
Victor Berchet
2f14415836
fix(compiler): updates hash algo for xmb/xtb files
2016-11-14 12:55:48 -08:00
Victor Berchet
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
Victor Berchet
ed5e98d0df
fix(core): misc i18n fixes
2016-11-14 12:55:48 -08:00
Victor Berchet
146af1fed9
refactor(core): simplify i18n serializers code
2016-11-14 12:55:48 -08:00
Victor Berchet
c60ba7a72f
refactor(core): remove ListWrapper from i18n
2016-11-14 12:55:48 -08:00
Victor Berchet
05beffe0d0
test(core): fix a typo in the i18n integration spec
2016-11-14 12:55:48 -08:00
Victor Berchet
08c038ebd9
fix(core): xmb serializer uses decimal messaged IDs
...
fixes #12511
2016-11-14 12:55:48 -08:00
Victor Berchet
582550a90d
feat(core): implements a decimal fingerprint for i18n
2016-11-14 12:55:48 -08:00
Joao Dias
77ee27c59e
refactor(): use const and let instead of var
2016-11-12 16:40:17 -08:00
Chuck Jazdzewski
a965d11cce
fix(compiler): generate safe access strictNullChecks compatible code ( #12800 )
...
fixes #12795
2016-11-11 17:12:17 -08:00
Tobias Bosch
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
Tobias Bosch
79383ce150
refactor(compiler): never create CompileDirectiveMetadata with not loaded resources ( #12788 )
...
Part of #12787
2016-11-10 14:07:30 -08:00
Chuck Jazdzewski
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
Victor Berchet
2ced2a8a5a
refactor(compiler): misc updates ( #12773 )
2016-11-09 16:23:41 -08:00
Pawel Kozlowski
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
Matias Niemelä
fe35bc34f6
fix(animations): allow animations to be destroyed manually ( #12719 )
...
Closes #12456
Closes #12719
2016-11-08 16:21:28 -08:00
Matias Niemelä
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
Victor Berchet
778e6ad3b4
refactor: cleanup ICU message syntax
2016-11-08 15:44:18 -08:00
Victor Berchet
55dc0e4a5f
fix(compiler): use the other case by default in ICU messages
2016-11-08 15:44:18 -08:00
Victor Berchet
7694f974af
refactor: remove some facades ( #12731 )
2016-11-08 15:43:24 -08:00
Victor Berchet
acbf1d859c
fix(core): fix pseudo-selector shimming ( #12754 )
...
fixes #12730
fixes #12354
2016-11-07 13:56:04 -08:00
Pawel Kozlowski
22c021c57f
fix(compiler): support more than 9 interpolations ( #12710 )
...
Fixes #10253
2016-11-07 12:23:03 -08:00
Victor Berchet
ec92f4b198
refactor: remove `keys()` and `values()` from MapWrapper
2016-11-04 13:27:38 -07:00
Pawel Kozlowski
f0cdb428f5
fix(compiler): don't convert undefined to null literals ( #11503 )
...
Fixes #11493
2016-11-04 10:55:21 -07:00
Tobias Bosch
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
Tobias Bosch
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
Tobias Bosch
e3687706c7
refactor(compiler): minor cleanup
2016-11-03 16:29:51 -07:00
Tobias Bosch
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
Tobias Bosch
0e3d655220
refactor(compiler): remove view factories, use view classes directly
2016-11-02 20:58:48 -07:00
Tobias Bosch
7c5cc9bc41
refactor(compiler): initialize `RenderComponentType` eagerly
...
This moves the usage of `APP_ID` into the `DomRenderer`.
2016-11-02 20:58:48 -07:00
Tobias Bosch
5f1dddc5d0
refactor(compiler): cleanups
2016-11-02 17:06:27 -07:00
Tobias Bosch
20a4f9923f
refactor(compiler): remove `view.parentInjector`
2016-11-02 17:06:27 -07:00
Tobias Bosch
e7c00be19d
refactor(compiler): rename `AppElement` into `ViewContainer`
2016-11-02 17:06:27 -07:00
Tobias Bosch
74ede9aa9b
refactor(core): don’t store view factory in `TemplateRef`
...
Instead, generate `createEmbeddedView`.
2016-11-02 17:06:27 -07:00
Tobias Bosch
d1035da85c
refactor(compiler): don’t use `AppElement`s for creating component views
2016-11-02 17:06:27 -07:00
Tobias Bosch
13533d2a30
refactor(compiler): remove `AppElement.initComponent`
2016-11-02 17:06:27 -07:00
Tobias Bosch
6fda97287e
fix(compiler): support multiple components in a view container
2016-11-01 14:21:40 -07:00
Tobias Bosch
234c5599f1
refactor(compiler): remove unused constructor query support
2016-11-01 11:29:15 -07:00
Tobias Bosch
f6710fefeb
refactor(compiler): make `view.disposable` array null if empty
2016-11-01 11:29:15 -07:00
Tobias Bosch
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
Tobias Bosch
b3e3cd3add
refactor(compiler): inline `view.contentChildren`
2016-11-01 11:29:14 -07:00
Tobias Bosch
e5fdf4c70a
refactor(compiler): inline view.viewChildren in generated code
2016-11-01 11:29:14 -07:00
Tobias Bosch
97471d74b6
refactor(compiler): remove unused `subscriptions` in view
2016-11-01 11:29:14 -07:00
Tobias Bosch
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
Tobias Bosch
642c1db9ef
fix(compiler): Don’t throw on empty property bindings
...
Closes #12583
2016-10-31 14:43:50 -07:00
Zaven Muradyan
e9fd8645ed
fix(core): improve error when multiple components match the same element
...
Closes #7067
2016-10-31 11:28:03 -07:00
Tobias Bosch
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
Tobias Bosch
32feb8a532
refactor(compiler): generate host listeners in DirectiveWrappers
...
Part of #11683
2016-10-27 16:09:01 -07:00
Jan Kuri
7742ec00e7
fix: remove double exports of template_ast
2016-10-26 15:14:00 -07:00
Dzmitry Shylovich
d321b0ebf5
fix(selectors): use Maps instead of objects
2016-10-26 14:55:59 -07:00
Tobias Bosch
178fb79b5c
refactor(compiler): move host properties into DirectiveWrapper
...
Part of #11683
2016-10-26 14:32:24 -07:00
Tobias Bosch
f66ac821a2
refactor(compiler): extract `createCheckBindingStmt` into `compiler_util`
...
Part of #11683
2016-10-26 14:32:24 -07:00
Tobias Bosch
fe299f4dfc
refactor(compiler): minor cleanups
2016-10-26 14:32:24 -07:00
Tobias Bosch
4cac650675
refactor(compiler): extract expression evaluation and writing to renderer from view_compiler
...
This is needed to that `DirectiveWrapper`s can also use them later on.
Part of #11683
2016-10-26 14:32:24 -07:00
Tobias Bosch
cb7643ccea
refactor(compiler): introduce `ClassBuilder`.
...
Part of #11683
2016-10-26 14:32:23 -07:00
Tobias Bosch
faa3478514
refactor(compiler): set element attributes via one call
...
This makes the cost of using directives that have host attributes
smaller.
Part of #11683
2016-10-26 14:32:23 -07:00
Tobias Bosch
bc3f4bc816
refactor(compiler): extract BindingParser
...
Needed so that we can parse directive host bindings independent of templates.
Part of #11683
2016-10-26 14:32:23 -07:00
Victor Berchet
7221632228
fix(CompilerCli): assert that all pipes and directives are declared by a module
2016-10-25 18:17:18 -07:00
Victor Berchet
a838aba756
fix(compiler): walk third party modules ( #12453 )
...
fixes #11889
fixes #12428
2016-10-24 22:28:23 +02:00
Victor Berchet
57051f01ce
refactor: remove most facades ( #12399 )
2016-10-21 15:14:44 -07:00
Tobias Bosch
867494a060
fix(compiler): don't access view local variables nor pipes in host expressions ( #12396 )
...
Fixes #12004
Closes #12071
2016-10-20 15:24:58 -07:00
Tobias Bosch
b0a03fcab3
refactor(compiler): introduce directive wrappers to generate less code
...
- for now only wraps the `@Input` properties and calls
to `ngOnInit`, `ngDoCheck` and `ngOnChanges` of directives.
- also groups eval sources by NgModule.
Part of #11683
2016-10-20 10:41:43 -07:00
Tobias Bosch
acda82c1ed
refactor(compiler): remove private exports
...
All of `@angular/compiler` is private, so we can export
everything we need directly.
2016-10-20 10:41:43 -07:00
Victor Berchet
76dd026447
refactor: remove some facades ( #12335 )
2016-10-19 13:42:39 -07:00
Alex Eagle
cca4a5c519
fix(compiler): don't redeclare a var in the same scope ( #12386 )
...
This is not allowed by Closure Compiler.
2016-10-18 20:28:30 -07:00
Matias Niemelä
6e5f8b59b3
fix(animations): generate aot code for animation trigger output events ( #12291 )
...
Closes #11707
Closes #12291
2016-10-18 17:16:51 -07:00
Victor Berchet
38e2203b24
refactor(core): delete unused reflector code
2016-10-17 23:17:34 -07:00
Victor Berchet
f7db0668d1
refactor(core): simplify & cleanup reflection
2016-10-17 23:17:34 -07:00
Matias Niemelä
33c8948fd3
refactor(animations): ensure animation data-structures are created only when used
...
Closes #12250
2016-10-14 15:43:41 -07:00
Victor Berchet
df1718d624
fix(compiler): allow WS as `<ng-content>` content ( #12225 )
2016-10-12 07:58:06 -07:00
Chuck Jazdzewski
7275e1beb3
refactor(compiler): add optional `visit()` to `TemplateAstVisitor` ( #12209 )
2016-10-11 15:46:11 -07:00
Chuck Jazdzewski
12ba62e5e2
refactor(compiler): expose template parser phases ( #12210 )
2016-10-11 15:45:27 -07:00
Victor Berchet
e6e007e2f1
refactor(core): cleanup SpyObject ( #12221 )
2016-10-11 15:44:48 -07:00
Victor Berchet
d972d82354
refactor: simplify `isPresent(x) ? x : y` to `x || y` ( #12166 )
...
Closes #12166
2016-10-10 09:20:58 -07:00
Victor Berchet
bdcf46f82e
refactor(compiler): improve types, misc
2016-10-10 09:20:58 -07:00
Victor Berchet
aa92512ac6
fix(compiler): properly shim `:host:before` and `:host(:before)` ( #12171 )
...
fixes #12165
2016-10-10 09:15:15 -07:00
Chuck Jazdzewski
4202936bbf
refactor(compiler): add optional `visit()` to html AST `Visitor` ( #12135 )
2016-10-10 09:13:50 -07:00
Chuck Jazdzewski
e1faca6386
refactor(compiler): template element ast has endSourceSpan ( #12138 )
2016-10-10 09:12:05 -07:00
Victor Berchet
13ecc140e8
fix(compiler): validate `@HostBinding` name ( #12139 )
...
relates to #7500
2016-10-07 13:53:53 -07:00
Chuck Jazdzewski
709a6dea06
refactor(compiler): attribute ast records span of the value ( #12132 )
2016-10-07 13:53:29 -07:00
Chuck Jazdzewski
16cfb88c00
refactor(compiler): refactor `analyzeModules()` out of `OfflineCompiler` ( #12137 )
2016-10-07 13:52:53 -07:00
Chuck Jazdzewski
d641c36a45
fix(compiler): interpolation expressions report the correct offset ( #12125 )
2016-10-06 15:22:10 -07:00
Alex Eagle
8c975ed156
refactor(facade): inline StringWrapper ( #12051 )
2016-10-06 15:10:27 -07:00
Victor Berchet
cf269d9ff4
refactor: add license header to JS files & format files ( #12081 )
2016-10-04 20:39:20 -07:00
Victor Berchet
50c37d45dc
refactor: simplify arrow functions ( #12057 )
2016-10-04 15:57:37 -07:00
Victor Berchet
a63359689f
fix(ShadowCss): fix attribute selectors in :host and :host-context ( #12056 )
...
Fix a regression introduced in #11917 while fixing #6249
2016-10-04 15:40:31 -07:00
Chuck Jazdzewski
43d3a84df3
Revert "refactor: add license header to JS files & format files ( #12035 )"
...
This reverts commit 8310c91823
.
2016-10-04 14:06:41 -07:00
Victor Berchet
8310c91823
refactor: add license header to JS files & format files ( #12035 )
2016-10-04 13:15:49 -07:00
Alex Eagle
b64b5ece65
refactor(facade): Remove most of StringMapWrapper facade. ( #12022 )
...
This change mostly automated by
12012b07a2
with some manual fixes.
2016-10-03 16:46:05 -07:00
Victor Berchet
af520947aa
test(AstSerializer): fix serializing void tags
2016-09-30 17:59:43 -07:00
Victor Berchet
040bf57966
fix(xlif): fix `<x>` ctype names
...
fixes #12000
see http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#ctype
2016-09-30 17:59:43 -07:00
Victor Berchet
65a60b7456
style(I18N): Carriage returns in serialized files
2016-09-30 17:59:43 -07:00
Victor Berchet
9316f95467
fix(ShadowCss): support `@page` and `@document` CSS rules ( #11878 )
...
fixes #11860
2016-09-30 16:26:24 -07:00
Victor Berchet
83d94b7504
fix(ShadowCss): support quoted attribute values
...
fixes #6085
2016-09-30 14:37:41 -07:00
Victor Berchet
a121136fae
refactor(ShadowCss): add missing types
2016-09-30 14:37:41 -07:00
Victor Berchet
a6bb84e02b
fix(ShadowCss): fix `:host(tag)` and `:host-context(tag)`
...
fixes #11972
2016-09-30 14:37:41 -07:00
Victor Berchet
1c012a035f
refactor(CssSelector): misc cleanup
2016-09-30 11:06:24 -07:00
Victor Berchet
38c5304b7f
docs(CssSelector): `[name*=value]` is not supported
...
fixes #6042
2016-09-30 11:06:24 -07:00
Victor Berchet
6c4ec05a4a
fix(ShadowCss): support `[attr="value with space"]`
...
fixes #6249
2016-09-30 10:27:35 -07:00
Victor Berchet
f7bfda31ff
refactor(ShadowCss): cleanup
2016-09-30 10:27:35 -07:00
Victor Berchet
a92b573309
test(DirectiveResolver): test that a prop can have both `@Input` and `@HostBinding`
2016-09-30 10:08:52 -07:00
Victor Berchet
4fd13d71c8
refactor(DirectiveResolver): cleanup
2016-09-30 10:08:52 -07:00
Alex Eagle
0286956107
refactor(facade): Inline isBlank called with object-type argument ( #11992 )
2016-09-30 09:26:53 -07:00
Matias Niemelä
e884f4854d
feat(animations): provide aliases for :enter and :leave transitions ( #11991 )
2016-09-30 09:15:56 -07:00
Alex Eagle
41c8c30973
chore(lint): remove unused imports ( #11923 )
...
This was done automatically by tslint, which can now fix issues it finds.
The fixer is still pending in PR https://github.com/palantir/tslint/pull/1568
Also I have a local bugfix for https://github.com/palantir/tslint/issues/1569
which causes too many imports to be deleted.
2016-09-27 17:12:25 -07:00
Marc Laval
61129fa12d
fix(compiler): move detection of unsafe properties for binding to ElementSchemaRegistry ( #11378 )
2016-09-27 17:10:02 -07:00
vikerman
3a5b4882bc
fix(compiler): Do not embed templateUrl in view factories in non-debug mode. ( #11818 )
...
Fixes #11117 .
2016-09-27 17:09:44 -07:00
Victor Berchet
425c1e6042
refactor: remove dead code
2016-09-27 16:13:09 -07:00
Victor Berchet
58605cf350
refactor(facade): remove useless facades
2016-09-27 16:13:09 -07:00
Rado Kirov
52f5ae1961
chore(compiler): followup fix for PR#11846 ( #11870 )
...
Original PR set [] to any, but any[], is a tighter type and still
works for SNC enabled consumers of the emit.
2016-09-24 07:13:05 +09:00
Matias Niemelä
f1b6c6efa1
refactor(animations): ensure animation input/outputs are managed within the template parser ( #11782 )
...
Closes #11782
Closes #11601
Related #11707
2016-09-24 05:37:04 +09:00
Rado Kirov
3ef5ede6d6
chore(compiler): emit ([] as any[]) instead of purely []. ( #11846 )
...
In SNC mode `[]` has type of never[], so we cast it to any[] to
typecheck correctly see
https://github.com/Microsoft/TypeScript/issues/10479 .
This is temporary workaround, until we fully
migrate the framework to TS 2.0 and strictNullChecks.
2016-09-24 02:21:59 +09:00
Victor Berchet
f23b22a0f4
refactor: misc cleanup
2016-09-22 11:01:16 -07:00
Victor Berchet
c041b93418
refactor(TemplateParser): clearer error message for on* binding ( #11802 )
...
fixes #11756
2016-09-22 10:31:18 -07:00
Chuck Jazdzewski
131626fc61
fix(compiler): Safe property access expressions work in event bindings ( #11724 )
2016-09-20 14:54:53 -07:00
Victor Berchet
671f73448c
refactor: misc cleanup ( #11654 )
2016-09-19 17:15:57 -07:00
Victor Berchet
70488ed382
fix(OfflineCompiler): support older TS versions ( #11734 )
2016-09-19 15:36:25 -07:00
Victor Berchet
03aedbe54b
fix(OfflineCompiler): Do not provide I18N values when they're not specified
...
fixes #11643
2016-09-19 10:44:33 -07:00
Victor Berchet
8395aab25d
refactor(OfflineCompiler): cleanup
2016-09-19 10:44:33 -07:00
Brandon
2300c23332
fix(docs): Fixed wording for NgModule schemas ( #11620 )
2016-09-18 16:03:43 -07:00
esagawe
734b8b8c13
fix(compiler): [attribute~=value] selector ( #11696 )
...
Change the seperator regular expression to ignore tildes which are followed by an equal sign.
Closes #9644
2016-09-18 15:58:19 -07:00
Victor Berchet
bd4045b6e7
fix(MetadataResolver): throw Component.moduleId is not a string
...
fixes #11590
2016-09-15 10:57:37 -07:00
Victor Berchet
255099aa61
refactor(MetadataResolver): cleanup
2016-09-15 10:57:37 -07:00
Igor Minar
cb657c4b55
docs: update descriptions in package.jsons
2016-09-14 16:44:39 -07:00
Victor Berchet
b847257b16
refactor(ShadowCss): remove a comment that trigger an issue with webpack ( #11587 )
...
fixes #11584
2016-09-13 21:59:11 -07:00
Tobias Bosch
63e15ffaec
refactor(core): remove `…Metadata` for all decorators and use the decorator directly.
...
BREAKING CHANGE:
- all `…Metadata` classes have been removed. Use the corresponding decorator
as constructor or for `instanceof` checks instead.
- Example:
* Before: `new ComponentMetadata(…)`
* After: `new Component(…)`
- Note: `new Component(…)` worked before as well.
2016-09-12 22:47:54 -07:00
Tobias Bosch
1b15170c89
refactor(core): simplify decorators
...
Every decorator now is made of the following:
- a function that can be used
as a decorator or as a constructor. This function
also can be used for `instanceof` checks.
- a type for this function (callable and newable)
- a type that describes the shape of the data
that the user needs to pass to the decorator
as well as the instance of the metadata
The docs for decorators live at the followig places
so that IDEs can discover them correctly:
- General description of the decorator is placed on the
`...Decorator` interface on the callable function
definition
- Property descriptions are placed on the interface
that describes the metadata produces by the decorator
2016-09-12 22:47:54 -07:00
Rob Wormald
d296298282
fix(build): prevent package tsconfigs from shadowing main tsconfig ( #11454 )
2016-09-08 15:01:22 -07:00
Victor Berchet
077e0be1e7
fix(CssSelector): fix `getMatchingElementTemplate()` for void tags
...
fixes #11407
2016-09-08 13:55:41 -07:00
Victor Berchet
a52d076912
refactor(CssSelector): misc
2016-09-08 13:55:41 -07:00
Pawel Kozlowski
436af15d63
refactor: remove parseFloat from facades ( #11446 )
2016-09-08 13:54:10 -07:00
Matias Niemelä
6a2bbffe10
fix(animations): allow `group()` to be used as entry point for an animation trigger ( #11419 )
...
Closes #11312
Closes #11419
2016-09-08 12:20:07 -07:00
Victor Berchet
78ad9adc1a
fix(ShadowCss): fix perf regression ( #11420 )
...
fixes #11371
2016-09-07 16:48:10 -07:00
PatrickJS
3ff816afa6
style(CompileMetadataResolver): better error message ( #11401 )
2016-09-07 14:09:25 -07:00
Tobias Bosch
ea95c391c1
fix(compiler): error when `NgModule.bootstrap` contains `undefined` or `null`
2016-09-06 11:44:56 -07:00
Victor Berchet
d309f7799c
fix(DomSchema): add missing elements
...
fixes #11219
2016-09-02 15:35:36 -07:00
Victor Berchet
93deff6c33
refactor(DomSchema): improve readability by making the schema more explicit using interface names
2016-09-02 15:35:36 -07:00
Martin Probst
ebc8e808a9
feat(router): register NgModuleFactory objects. ( #11211 )
...
When lazily loading code, users need to be able to get hold of the
NgModuleFactory. For SystemJS environments, the SystemJS registry serves
this purpose. However other environments, such as modules compiled with
Closure compiler, do not expose exports object or a path based registry.
For these environments, `@NgModule` objects can include an identifier, and
the loading code can then pass `loadModule(id).then(() =>
getNgModule(id))` to the router.
2016-09-01 13:46:08 -07:00
Matias Niemelä
c9e5b599e4
fix(animations): ensure parent animations are triggered before children ( #11201 )
2016-09-01 13:24:26 -07:00
Matias Niemelä
562c8263dc
fix(animations): ensure animation callbacks are fired for embedded views
2016-08-31 15:46:23 -07:00
Victor Berchet
ef0f29c372
fix: merge artifact
2016-08-30 21:37:28 -07:00
Victor Berchet
1818056912
fix(TemplateParser): disallow event-property binding even with the NO_ERRORS_SCHEMA
...
closes #11026
2016-08-30 21:32:24 -07:00
Victor Berchet
1df69cb4d2
fix(DomSchemaRegistry): detect invalid elements
2016-08-30 21:32:03 -07:00
Igor Minar
174c016104
fix(bundles): correct RxJS mapping in rollup config for umd/es5 bundles
2016-08-30 21:07:45 -07:00
Miško Hevery
979657989b
fix(packages): use ES modules for primary build ( #11120 )
2016-08-30 18:07:40 -07:00
Tobias Bosch
d7de5c4f8e
refactor(compiler): replace `CompileIdentifierMap` with regular `Map`
...
closes #11145
Also rename `CompileIdentifierMetadata.runtime` into `CompileIdentifierMetadata.reference`.
Also remove `CompileIdentifierMetadata.equalsTo` as
now it is enough to just check the `reference` fields for equality.
2016-08-29 12:45:27 -07:00
Chuck Jazdzewski
51877ef4ed
fix(compiler): no longer uses assetCacheKey for token identity.
...
Fixes #10545 , Fixes #10538
2016-08-29 12:45:02 -07:00
Marc Laval
38069aba35
fix(compiler): make ShadowCSS shim work on Android browser ( #11139 )
...
Fixes #11123
2016-08-29 08:18:55 -07:00
Victor Berchet
af63378fa0
fix(ShadowCss): properly shim selectors after :host and :host-context ( #10997 )
...
fixes #5390
Before the change:
// original CSS
:host .foo .bar {...}
.foo .bar {...}
// translated to
[_nghost-shh-2] .foo .bar {...}
.foo[_ngcontent-shh-2] .bar[_ngcontent-shh-2] {...}
Note that `.foo` and `.bar` where not scoped and would then apply to nested components.
With this change those selectors are scoped (as they are without `:host`).
You can explicitly apply the style to inner component by using `>>>` or `/deep/`: `:host >>> .foo`
2016-08-26 16:11:57 -07:00
Alex Eagle
abad6673e6
fix(ngc): don't quote properties in literal maps ( #11110 )
...
Closure compiler treats quoted properties specially, and doesn't rename them.
Fixes #11050
2016-08-26 15:54:34 -07:00
Misko Hevery
7c07bfff97
fix(errors): [2/2] Rename Exception to Error; remove from public API
...
BREAKING CHANGE:
Exceptions are no longer part of the public API. We don't expect that anyone should be referring to the Exception types.
ExceptionHandler.call(exception: any, stackTrace?: any, reason?: string): void;
change to:
ErrorHandler.handleError(error: any): void;
2016-08-26 10:37:17 -07:00
Pawel Kozlowski
f25c97671a
fix(compiler): handle invalid host bindings and events ( #11101 )
2016-08-26 10:29:53 -07:00
Igor Minar
4d7d2a2daa
refactor: remove various leftover unused or deprecated code ( #11091 )
2016-08-26 09:12:27 -07:00
Marc Laval
0cf5ece7f8
build: workaround to run presubmit.sh on Windows ( #11096 )
2016-08-26 09:12:10 -07:00
Victor Berchet
b867764b0d
refactor(template): remove supporter deprecated `var` / `#` ( #11084 )
...
BREAKING CHANGES:
- `#` and `var` are not supported any more in expressions, use `let`,
- `var-<name>` could not be used any more on templates, use `let-<name>`,
- `var-<name>` could not be used any more to create a reference, use `ref-<name>`.
2016-08-25 15:21:33 -07:00
Marc Laval
cbe0976426
test: improve perfs by removing unneeded TestBed.compileComponents() calls ( #11083 )
2016-08-25 14:56:14 -07:00
Igor Minar
566d4361e2
refactor: remove obsolete analyzeAppProvidersForDeprecatedConfiguration
...
closes #11028
2016-08-25 13:29:43 -07:00
Igor Minar
ea2e5521e8
refactor: replace any[] with Provider[] where possible
2016-08-25 13:29:03 -07:00
Matias Niemelä
4f8f8cfc66
feat(animations): make sure animation callback reports the totalTime ( #11022 )
...
Closes #11022
2016-08-24 16:55:00 -07:00
Pawel Kozlowski
aa5c8ca61f
fix(compiler): throw descriptive error meesage for invalid NgModule providers ( #10947 )
...
Fixes #10714
2016-08-23 16:18:41 -07:00
vikerman
5c93a8800a
fix(core): Share private types through an exported interface. ( #11009 )
...
Instead of using declare namespace to share the types. This allows the generated code to be compiled with closure with full optimizations.
2016-08-23 16:18:11 -07:00
Chuck Jazdzewski
14a30f3ca0
fix(compiler): Correctly handles references to static methods ( #11013 )
...
Fixes : #10975
2016-08-23 11:58:12 -07:00
Igor Minar
4a740f23a4
refactor(core): remove deprecated @Component.directives and @Component.pipes
...
BREAKING CHANGE: previously deprecated @Component.directives and @Component.pipes support was removed.
All the components and pipes now must be declarated via an NgModule. NgModule is the basic
compilation block passed into the Angular compiler via Compiler#compileModuleSync or #compileModuleAsync.
Because of this change, the Compiler#compileComponentAsync and #compileComponentSync were removed as well -
any code doing compilation should compile module instead using the apis mentioned above.
Lastly, since modules are the basic compilation unit, the ngUpgrade module was modified to always require
an NgModule to be passed into the UpgradeAdapter's constructor - previously this was optional.
2016-08-23 09:59:00 -07:00
Igor Minar
a29f9f3ab8
refactor(core/testing): remove deprecated TestComponentBuilder
...
BREAKING CHANGE: deprecated TestComponentBuilder was removed, please use TestBed instead
2016-08-23 09:59:00 -07:00
Igor Minar
3c2b2ff332
test: fix existing tests by removing usage of obsolete stuff like component level directives, AsyncCompleter and TestComponentBuilder
2016-08-23 09:59:00 -07:00
Matias Niemelä
45e8e73670
refactor(animations): deport TCB away from animation-land forever ( #10892 )
...
* feat(animations): support animation trigger template callbacks
* refactor(animations): deport TCB away from animation-land forever
2016-08-22 17:18:25 -07:00
Alex Eagle
01111b04ff
fix(ngc): codegen allows --strictNullChecks ( #10991 )
2016-08-22 15:30:18 -07:00
Alex Eagle
8560e1e4bf
fix(ngc): comment out a private keyword in codegen. ( #10949 )
...
Workaround for b/30775898
2016-08-22 14:28:09 -07:00
Victor Savkin
c631cfc2fd
feat(core): add NO_ERRORS_SCHEMA that allows any properties to be set on any element ( #10956 )
...
Often it is useful to test a component without rendering certain directives/components
in its template because these directives require some complicated setup.
You can do that by using NO_ERRORS_SCHEMA.
TestBed.configureTestingModule({
schemas: [NO_ERRORS_SCHEMA]
});
This would disable all schema checks in your tests.
2016-08-19 16:05:34 -07:00
Victor Savkin
c56f3f2246
fix(compiler): do not autoinclude components declared as entry points ( #10898 )
2016-08-19 15:59:50 -07:00
Julie Ralph
917d43e108
refactor(tests): add ComponentFixture tests ( #10910 )
...
Remove old TestComponentBuilder tests, and keep relevant
ComponentFixture tests as component_fixture_spec.
2016-08-19 15:46:40 -07:00
Chuck Jazdzewski
2f41b5c8a0
refactor(core): Removed test deprecated references from runtime_compiler ( #10927 )
...
Removed reference to TestComponentBuilder from runtime_compiler_spec.ts
2016-08-18 11:20:02 -07:00
Alex Eagle
cd8cbd3762
fix(ngc): don't codegen foo.d.ngfactory.ts from foo.d.ts ( #10833 )
2016-08-18 10:11:06 -07:00
Jason Choi
c48021ab97
refactor(compiler): move test/test_bindings to testing/test_bindings ( #10081 )
...
`test_bindings` is used in core test cases too, but `test` should be
private to the package, so it should live in `testing`.
2016-08-17 16:37:31 -07:00
Alex Rickabaugh
c4fd862e15
fix(metadata): throw better errors when components are passed to imports or modules are passed to declarations. ( #10888 )
...
Closes #10823
2016-08-17 15:57:02 -07:00
Hans
40e160c22c
fix(platform-browser-dynamic): Rename CACHED_TEMPLATE_PROVIDER to RESOURCE_CACHE_PROVIDER ( #10866 )
...
* fix(platform-browser-dynamic): Rename CACHED_TEMPLATE_PROVIDER to RESOURCE_CACHE_PROVIDER
Closes #9741
BREAKING CHANGE:
`CACHED_TEMPLATE_PROVIDER` is now renamed to `RESOURCE_CACHE_PROVIDER`
Before:
```js
import {CACHED_TEMPLATE_PROVIDER} from '@angular/platform-browser-dynamic';
```
After:
```js
import {RESOURCE_CACHE_PROVIDER} from '@angular/platform-browser-dynamic';
```
* Rename XHR -> ResourceLoader
2016-08-17 09:24:44 -07:00
Matias Niemelä
f12d51992d
fix(animations): report errors for missing host-level referenced animations ( #10650 )
...
Closes #10650
2016-08-17 08:00:49 -07:00
Igor Minar
73a9ee4a05
Remove component resolver ( #10858 )
...
* refactor(core): remove deprecated ComponentResolver
BREAKING CHANGE: deprecated ComponentResolver was removed
Please follow deprecation instruction and migrate your code to use ComponentFactoryResolver.
* refactor(common): remove deprecated NgSwitchWhen directive
BREAKING CHANGE: previously deprecated NgSwitchWhen directive was removed, use NgSwitchCase instead
2016-08-16 16:48:32 -07:00
Matias Niemelä
9adf80385b
fix(animations): remove deprecated trigger APIs ( #10825 )
...
BREAKING CHANGE: Animations defined using an at-symbol prefix that are
not property bound are now invalid.
```html
<!-- this is now invalid -->
<div @flip="flipState"></div>
<!-- change that to -->
<div [@flip]="flipState"></div>
```
BREAKING CHANGE: Animations that are not bound using the at-symbol
prefix using `animate-` must now be preixed using `bind-animate-`.
```html
<!-- this is now invalid -->
<div animate-flip="flipState"></div>
<!-- is valid now -->
<div bind-animate-flip="flipState"></div>
```
Closes #10825
2016-08-16 14:09:21 -07:00
Julie Ralph
a86c554a8e
refactor(core/testing): remove deprecated ViewMetadata ( #10837 )
...
Note that this doesn't actually remove all uses, but makes them
private.
2016-08-16 13:59:06 -07:00
Victor Savkin
f7ff6c5a12
refactor(core): remove deprecated 'bootstrap' ( #10831 )
2016-08-16 11:15:01 -07:00
Victor Berchet
f6a7d6504c
feat(i18n): xliff integration
2016-08-15 22:28:38 -07:00