119 Commits

Author SHA1 Message Date
Tobias Bosch
50098767fc refactor(render): use render layer fully
Introduces angular2/src/core/compiler/ViewFactory which
extracts ProtoView.instantiate and replaces ViewPool.

Note: This is a work in progress commit to unblock other commits.
There will be follow ups to add unit tests, remove TODOs, …
2015-04-08 20:51:31 -07:00
Tobias Bosch
ca958464c4 refactor(render): create and store render ProtoViewRef in every app ProtoView
Needed to change Renderer.mergeChildComponentProtoViews to not create
new ProtoViews to be able to deal with cyclic references.

This commit is part of using the new render layer in Angular.
2015-04-07 20:27:25 -07:00
Tobias Bosch
1d4d18d9db refactor(render): user render compiler 2015-04-03 23:41:00 -07:00
Alex Eagle
894a0f0ee5 chore(ts): duplicate the .es6 files in the facade directory to TypeScript.
Adds a gulp task which builds the .ts files (in the cjs build only).
The new files have extension .ts since they are now valid typescript.
Unfortunately until Typescript can emit System.require, we have to keep the old .es6 version
so traceur works inside the Karma preprocessor. This should be fixed soon.
2015-04-03 09:35:06 -07:00
vsavkin
abea92af59 refactor(change_detection): call onChange from the change detector 2015-04-02 21:22:42 -07:00
Misko Hevery
86dc3e5b07 docs: create public API surface
Closes #1181
2015-04-02 23:23:39 +00:00
Tobias Bosch
c1aa65239e refactor(render): move services to render folder
property_setter_factory
selector
style_inliner
style_url_resolver
shadow_css
2015-04-02 14:40:49 -07:00
Tim Blasi
788461b7e2 feat(di): Mark objects @Injectable
Allow `PrivateComponentLoader`, `Testability`, and `TestabilityRegistry` to be injected.
2015-04-02 11:02:26 -07:00
Tobias Bosch
4f56628566 refactor(render): move services to right location
core/compiler/events -> render/dom/events
core/compiler/url_resolver -> services/url_resolver
core/compiler/xhr/* -> services/*
2015-04-02 10:35:27 -07:00
vsavkin
514ba54282 feat(change_detection): added changeDetection to Component 2015-03-31 20:54:44 -07:00
vsavkin
b65b145122 refactor(view): refactored DirectiveMemento to expose properties in a consistent way 2015-03-31 18:26:58 -07:00
vsavkin
e92918bbfe feat(change_detector): split light dom and shadow dom children 2015-03-27 13:26:37 -07:00
vsavkin
723e8fde93 feat(change_detection): added a directive lifecycle hook that is called after children are checked 2015-03-27 13:26:36 -07:00
vsavkin
8d85b839b6 feat(change_detection): pass binding propagation config to pipe registry 2015-03-26 16:57:04 -07:00
Pawel Kozlowski
edc3709451 fix(ElementBinderBuilder): properly bind CSS classes with "-" in their names
Fixes #1057

Closes #1059
2015-03-26 19:25:31 +01:00
Marc Laval
0ae33b7e3c refactor(compiler): factorize common util code dash <-> camel
Closes #1114
Fixes #1097
2015-03-26 15:22:35 +01:00
Marc Laval
b1dc6239ef feat(core): @Attribute annotation
Closes #1091
Fixes #622
2015-03-26 10:51:44 +01:00
Marc Laval
58dd75a1c8 feat(compiler): Add support for setting attributes to Component host element
Fixes #1008
Fixes #1009
Closes #1052
2015-03-25 17:32:07 +01:00
Victor Berchet
101a4aa3cf feat(PrivateComponentLoader): Explicit error message when loading a non-component
fixes #1062
2015-03-24 22:11:41 +01:00
vsavkin
f8e7a37c0d fix(view): fixed view instantiation to use the component template's change detector when creating BindingPropagationConfig 2015-03-24 07:49:28 -07:00
Marc Laval
41b53e71e1 feat(selector): support , for multiple targets
Fixes #867
Closes #1019
2015-03-23 10:06:33 +01:00
Pawel Kozlowski
0fb9f3bd6c fix(ElementBinderBuilder): properly bind to web component properties
Fixes #776

Closes #1024
2015-03-22 14:14:36 +01:00
Pawel Kozlowski
81f3f32217 refactor(DirectiveParser): remove checks for missing directives
Based on the discussion in #776 we can't reliably check if a given
element has a particular property at the compilation time. As such
the existing algorithm detecting "missing" directives can't be used.

We need to see if there is a different / better algorithm or maybe
those checks need to be moved later in the process (runtime). Leaving
integration tests in place (disabled) so we can come back to the
topic after unblocking the situation.

This commit effectivelly reverts 94e203b9df6c4b79ba30f1f08fc54ff919f722e1
2015-03-22 14:14:36 +01:00
Marc Laval
02aa8e7945 feat(compiler): support bindings for any attribute
Closes #1029
2015-03-21 14:55:11 -07:00
Victor Berchet
ee523efcb4 feat(ShadowCss): Support the new deep combinator syntax >>>
fixes #990

ref http://dev.w3.org/csswg/css-scoping-1/#deep-combinator

Closes #1028
2015-03-21 14:55:11 -07:00
David-Emmanuel Divernois
bd48c927d0 fix(ViewContainer) removeChild called with null parent
In view_container.js, templateElement.parentNode can be null
when two template tags are nested in one another.
Accessing the parent node through view.nodes[0].parentNode fixes
the problem.

closes #997

Closes #999
2015-03-21 14:55:10 -07:00
Misko Hevery
81312e4b3e docs: annotations 2015-03-19 16:56:52 +00:00
Pawel Kozlowski
e0710c4613 fix(PropertyBindingParser): detect bindings using full attribute name
Fixes #1001

Closes #1004
2015-03-18 21:52:15 -07:00
Pawel Kozlowski
a35cc27781 fix(PropertyBindingParser): properly parse event bindings as actions
Fixes #981

Closes #987
2015-03-18 19:09:59 +01:00
Tim Blasi
57723e1354 feat(di): Add the @Injectable annotation to Compiler
Mark `Compiler` and its dependencies as available to the `Injector`.
2015-03-17 22:12:47 -07:00
Marc Laval
a46af9c41c feat(build): check circular depencies in Node.js
Closes #980
2015-03-17 22:12:26 -07:00
Pawel Kozlowski
59a1f836a2 fix: allow creation of var with camelCased names
Closes #957
2015-03-17 21:39:26 -07:00
Victor Berchet
c6893aceed perf(DirectiveDependency): iterate only once over Dependency properties
Closes #918
2015-03-17 21:24:02 -07:00
vsavkin
99f2d7faf6 removed circular deps so tests run on node 2015-03-17 16:31:37 -07:00
vsavkin
2041860a21 feat: added an ability to dynamically load components 2015-03-17 15:23:59 -07:00
vsavkin
7488456d68 feat(element_injector): added PrivateComponentLocation 2015-03-17 15:23:58 -07:00
vsavkin
b69f3043e0 feat(compiler): added the DynamicComponent annotation 2015-03-17 15:23:58 -07:00
Peter Bacon Darwin
85799aa1a5 docs(*): add @publicModule tags
Initial set of tags to demonstrate the public docs filtering

Closes #988
2015-03-17 14:44:45 -07:00
vsavkin
a16954d3a5 refactor(view): separate context and locals 2015-03-17 14:25:57 -07:00
Yegor Jbanov
70c875ee14 refactor(shadow dom): do not use injectors nor directives
This prepares us for the app/render split in the compiler.
2015-03-16 16:58:38 -07:00
vsavkin
33bff17f33 refactor(tests): refactor tests to clarify the behavior of onChange 2015-03-13 18:09:31 -07:00
vsavkin
3273adade5 refactor(view): change view to pass all bindings to proto change detector at once 2015-03-13 14:03:57 -07:00
Pawel Kozlowski
b39d2c0101 fix: properly bind to camelCased properties
Fixes #866
Closes #941
2015-03-13 19:50:47 +01:00
Victor Berchet
7322ed721e refactor: remove reference to the FIELD class 2015-03-13 18:59:51 +01:00
Marc Laval
8d2ee6bbda feat(selector): add support for :not
Fixes #609
Closes #948
2015-03-13 18:26:10 +01:00
Pawel Kozlowski
5926d2e2f7 refactor: use attributes for directives matching
Closes #940
2015-03-13 17:24:14 +01:00
Rado Kirov
f7963e1ea6 fix(shadowdom): allow conditional content tags.
Distribution is triggered on the host element injector after each new
view creation.
2015-03-12 12:06:47 -07:00
Victor Berchet
951a808e0e refactor(PropertySetter): use the global reflector 2015-03-12 19:49:34 +01:00
Rado Kirov
dd3e6271c2 chore(services): rename services.
Closes #711
2015-03-11 18:30:37 -07:00
Rado Kirov
f1593ebca5 feat(shadowdom): turn on ShadowDom Emulated Mode by default.
Closes: #526
2015-03-11 12:46:15 -07:00