Rob Wormald
a88e6f3106
refactor(http): use Observables in Http backends
...
BREAKING CHANGE: Http now returns Rx Observables directly, so calling .toRx() is no longer necessary. Additionally, Http calls are now cold, so backend requests will not fire unless .subscribe() is called.
closes #4043 and closes #2974
Closes #4376
2015-09-27 22:15:30 +00:00
Victor Berchet
0319417a1b
feat(Binding): improve errors
...
fix #4358
Closes #4360
2015-09-25 22:05:36 +00:00
Tobias Bosch
1cf45757cd
feat(render): add generic view factory based on the template commands
...
Part of #3605
Closes #4367
2015-09-25 11:56:58 -07:00
Tobias Bosch
0ed6fc4f6b
fix(compiler): minor cleanups and fixes
...
Part of #3605
2015-09-25 11:27:39 -07:00
Marc Laval
9c9769047d
fix(test): StyleCompiler tests failing in Android browsers
...
Closes #4351
2015-09-25 07:34:17 +00:00
Victor Berchet
0a88e7b736
feat(change detection): export SimpleChange
...
Closes #4337
2015-09-25 02:33:41 +00:00
vsavkin
4efc4a5520
feat(query): remove the 3-query-per-element limit
...
Closes #4336
2015-09-24 21:09:02 +00:00
vsavkin
225eab8f25
cleanup(change_detection): make Locals private
...
Closes #4321
2015-09-24 18:10:47 +00:00
vsavkin
7c2c1a8e03
docs(change_detection): add docs to ChangeDetectorRef
2015-09-24 18:10:47 +00:00
Tobias Bosch
7470ad1bd1
refactor(compiler): various cleanups
...
- use `$implicit` variable value correctly
- handle `ng-non-bindable` correctly
- add some more assertions to `TemplateCompiler`
- make `CompiledTemplate` const
- fix default value for `@Directive.moduleId`
- add new compiler to application bindings
BREAKING CHANGE:
- `Compiler.compileInHost` and all methods of `DynamicComponentLoader` don’t take `Binding` any more, only `Type`s. This is in preparation for the new compiler which does not support this.
Part of #3605
Closes #4346
2015-09-24 10:56:29 -07:00
Marc Laval
bffa2cb59b
feat(animate): cross-browser compatibility
...
Closes #4243
2015-09-24 10:24:40 +02:00
Misko Hevery
8427863bab
feat(upgrade): Allow including ng2/1 components in ng1/2
...
Closes #3539
2015-09-23 05:02:43 +00:00
Brian Ford
41b019f5f8
refactor(router): do not export RootRouter
...
BREAKING CHANGE:
It's unlikely that any apps were explicitly referencing `RootRouter`, but if they were they should
prefer to use the `routerBindings` helper or the `ROUTER_BINDINGS` const exported from `angular2/router`
2015-09-22 23:51:19 +00:00
Misko Hevery
af2cd4d6f3
fix(api): align dart/js APIs
2015-09-22 23:11:40 +00:00
Alex Eagle
577ee3744a
fix(bug): reflect Dart interfaces from superclass as well
...
fixes #4221
Closes #4222
2015-09-22 22:31:07 +00:00
vsavkin
238dfc1e17
cleanup(di): make KeyRegistry private
2015-09-22 21:38:33 +00:00
vsavkin
29b56ceb40
cleanup(di): make DependencyProvider private
2015-09-22 21:38:33 +00:00
Tobias Bosch
cc0c30484f
refactor(compiler): cleanup and preparation for integration
...
- Rename `DirectiveMetadata` into `CompileDirectiveMetadata`, merge
with `NormalizedDirectiveMetadata` and remove `ChangeDetectionMetadata`
- Store change detector factories not as array but
directly at the `CompiledTemplate` or the embedded template
to make instantiation easier later on
- Already analyze variable values and map them
to `Directive.exportAs`
- Keep the directive sort order as specified in the
`@View()` annotation
- Allow to clear the runtime cache in `StyleCompiler`
and `TemplateCompiler`
- Ignore `script` elements to match the semantics of the
current compiler
- Make all components dynamically loadable and remove
the previously introduced property `@Component#dynamicLoadable`
for now until we find a better option to configure this
- Don’t allow to specify bindings in `@View#directives` and `@View#pipes` as this was never supported by the transformer (see below for the breaking change)
BREAKING CHANGE:
- don't support DI bindings in `@View#directives` and `@View@pipes` any more in preparation of integrating the new compiler. Use `@Directive#bindings` to reexport directives under a different token instead.
Part of #3605
Closes #4314
2015-09-22 12:50:03 -07:00
vsavkin
b0effe8e27
docs(di): add docs to Injector
...
Closes #4254
2015-09-21 21:55:04 +00:00
vsavkin
c2a60f1624
feat(core): add support for @ContentChild and @ViewChild
...
Closes #4251
2015-09-20 01:45:09 +00:00
vsavkin
2e9de0b169
feat(core): add sugar to use ContentChildren and ViewChildren as prop decorators
...
Closes #4237
2015-09-20 00:43:04 +00:00
vsavkin
5dbe292615
feat(core): add support for ContentChildren and ViewChildren
2015-09-20 00:43:04 +00:00
Brian Yarger
3525d8a394
fix(http): throw if url is not string or Request
...
Closes #4245
Closes #4257
2015-09-18 23:33:17 +00:00
Marc Laval
390aacd442
fix(facade): workaround for lack of Symbol.iterator in es6-shim
...
Closes #4219
Fixes #4216
2015-09-18 09:46:13 +02:00
Pascal Precht
5a3ce87915
chore(http): remove unused properties from Request
...
This removes properties mentioned in #3339
Closes #3339
Closes #3823
2015-09-17 17:16:47 -07:00
Tobias Bosch
f490565b09
refactor(compiler): cleanup method and property names
...
Closes #4236
2015-09-17 20:41:37 +00:00
Tobias Bosch
457b689bf0
feat(compiler): add TemplateCompiler
...
TemplateCompiler is the entry point to the new compiler
Related to #3605
Closes #4220
2015-09-17 04:24:15 +00:00
Harry Terkelsen
70586b668c
fix(debug): make debug tools take ComponentRef
...
The debug tools used to take ApplicationRefs, which are the old return
type of bootstrap. Now bootstrap returns ComponentRef, so the debug
tools should be updated.
Closes #4203
2015-09-16 18:00:28 +00:00
Pawel Kozlowski
73351ac00f
fix(NgClass): ignore empty and blank class names
...
Fixes #4033
Closes #4173
2015-09-16 07:56:48 +00:00
vsavkin
16bf335a4a
refactor(async): replace RxJS with RxNext
...
Closes #3110
Closes #4201
2015-09-15 23:44:57 +00:00
Pawel Kozlowski
045cc8269f
fix(compiler): remove attributes when expression in [attr.foo]='exp' evaluates to null
...
Fixes #4150
Closes #4163
2015-09-15 19:59:12 +00:00
vsavkin
9f999dd8e4
cleanup(pipes): clean up imports
2015-09-15 11:47:09 -07:00
Lenny
d890c4f827
refactor(pipes): remove LimitTo pipe in favor of slice pipe
2015-09-15 11:42:31 -07:00
Lenny
c2043ec681
feat(pipes): add slice pipe that supports start and end indexes
2015-09-15 11:42:30 -07:00
Lenny
0808eeaa0c
feat(StringWrapper): add support for JS slice method to string
2015-09-15 11:42:30 -07:00
Lenny
bced3aaa17
fix(ListWrapper): make list slice in dart return empty list if start and end are inverted like JS
2015-09-15 11:42:30 -07:00
Misko Hevery
105db02e07
fix(api): remove DomRenderer from public API
...
Closes #4187
2015-09-15 18:12:05 +00:00
Misko Hevery
61b6a475a6
fix(api): remove RecordViewTuple / cleanup NgFor
2015-09-15 18:12:05 +00:00
Misko Hevery
6db9f9013d
fix(api): remove UNDEFINED
2015-09-15 18:12:05 +00:00
Misko Hevery
f7d46e7159
fix(api): remove animation from public API
2015-09-15 18:12:05 +00:00
Misko Hevery
5b6d576f93
chore: add test to prevent accidental changes to public API
2015-09-15 18:12:05 +00:00
Ted Sander
a15b679494
feat(ng_for): Add Even and Odd variables to ng_for
...
Add even and odd local variables to ng_for to allow developers to style table rows differently and other features.
Closes #4181
2015-09-15 17:45:32 +00:00
Marc Laval
f7b6ff0520
chore(build): improve reliability of the saucelabs job
...
Closes #4091
Closes #4047
2015-09-15 18:34:13 +02:00
Marc Laval
55290b9b21
fix(test): PostMessageBusSink tests failing in slow browsers
2015-09-15 18:33:31 +02:00
Marc Laval
d6464633fa
fix(test): StyleCompiler tests failing in Android browsers
2015-09-15 18:33:30 +02:00
Marc Laval
c83207f231
fix(test): Android browser does not support element.click()
2015-09-15 18:33:29 +02:00
Marc Laval
3a7b50f244
fix(shims): function.name to return empty string when no name
2015-09-15 18:33:28 +02:00
Brian Ford
5298eb0709
feat(router): enforce convention of CamelCase names in route aliases
...
Closes #4083
2015-09-14 22:46:02 -07:00
Brian Ford
cb4a9a3c04
refactor(router): use CamelCase aliases for routes
2015-09-14 22:46:02 -07:00
Alex Rickabaugh
97d1844bfc
feat(core): Add a long-form syntax for Angular bootstrapping.
...
This change adds a syntax for bootstrapping Angular on a page that allows more fine-grained control of the hierarchy created. platform() creates a platform injector (of which there can only be one). From the platform, .application() creates an Angular application including a Zone and all specified application bindings (e.g. for the DOM, HTTP, Compiler, Renderer, etc). At the application level, .bootstrap() will bootstrap the given component into that application.
Closes #3852
2015-09-14 23:37:39 +00:00
Alex Rickabaugh
193792c27f
refactor(router): Switch from using APP_COMPONENT binding to a manual ROUTER_PRIMARY_COMPONENT binding.
...
With the coming bootstrapping changes, a single application (and thus Router) can have multiple root components. One of these needs to be identified as the "primary" component from which the Router will load its configuration. This is now done by providing a ROUTER_PRIMARY_COMPONENT binding to the primary component type.
2015-09-14 23:37:39 +00:00
Brian Ford
d2458866c1
refactor(router): remove unused Pipeline
2015-09-14 21:21:57 +00:00
Brian Ford
309944931f
fix(router): recognize child components with empty segments
...
Previosly, recognition ended when a parent captured all the parsed URL segments.
This caused routes that delegated from a parent to a child with an empty segment
to never be recognized.
Closes #4178
2015-09-14 20:22:40 +00:00
Misko Hevery
63e785902f
feat(change_detection): allow triggering CD form ChangeDetectorRef
...
Closes #4144
2015-09-14 18:07:31 +00:00
Robert Messerle
39ce9d3397
feat(animate): adds basic support for CSS animations on enter and leave
...
Closes #3876
2015-09-14 17:37:09 +00:00
Jason Teplitz
787d1f955f
fix(Typings): Remove public exports added in 1926335b85
...
Closes #4147
2015-09-11 19:16:57 -07:00
Tobias Bosch
0246b2a2cb
feat(compiler): support creating template commands
...
Closes #4142
2015-09-12 01:16:06 +00:00
Tobias Bosch
71cbb49672
refactor(compiler): allow to serialize and deserialize `DirectiveMetadata`
2015-09-12 01:16:06 +00:00
Tobias Bosch
67c79ba3f6
fix(test): make `evalModule` faster by caching spawned modules in the browser
2015-09-12 01:16:06 +00:00
Brian Ford
d9036c6cf3
feat(router): introduce new navigate method
...
Previously, `router.navigate` took a string representing the URL.
Now, it accepts an array that mirrors the link DSL.
Closes #4040
BREAKING CHANGE
The old method has been renamed to `router.navigateByUrl`.
Either change your navigation calls to use the DSL (preferred) or
call `router.navigateByUrl` instead.
Closes #4074
2015-09-11 17:20:13 -07:00
Brian Ford
acc2722cb8
refactor(router): rename navigate and navigateInstruction methods
2015-09-11 17:17:45 -07:00
Brian Ford
5e49d7e624
fix(router): load route config from async instructions
...
Previously, async routes generated from links would not load the configs of
their resolved components, which led to broken links in the children of the
async instruction's component.
This commit fixes the bookkeeping in the Router to correctly load the configs.
Fixes internal b/23791558
Closes #4146
2015-09-11 16:23:40 -07:00
Brian Ford
3c13f5fd4b
test(router): add integration test for async routes with children
2015-09-11 11:24:36 -07:00
vsavkin
f6cc573687
fix(exception_handler): fix error messages of wrapped exceptions
...
Closes #4117
2015-09-10 22:26:56 +00:00
vsavkin
892d2b9652
refactor(exception_handler): move ExceptionHandler into facade
2015-09-10 22:26:55 +00:00
Rado Kirov
63141ab9ab
chore(tools): remove rtts from the repo.
...
Closes #4107
2015-09-10 21:10:36 +00:00
Jason Teplitz
1926335b85
fix(Typings): Output public constructors in .d.ts files
...
Closes #3926 .
Closes #3963
2015-09-10 01:37:43 +00:00
Tobias Bosch
12dd44f7f6
feat(compiler): add change detector generation
...
Runtime and Codegen.
Part of #3605
Closes #4057
2015-09-10 00:59:34 +00:00
Brian Ford
77e8304fc4
fix(router): do not reuse common children with different parents
2015-09-09 12:03:59 -07:00
Brian Ford
8aec215ca0
fix(router): throw when generating non-terminal link
...
Closes #3979
Closes #4092
2015-09-09 15:53:30 +00:00
Igor Minar
f91c087c46
feat(TestComponentBuilder): add #overrideBindings and #overrideViewBindings
...
Closes #4052
2015-09-09 14:20:05 +00:00
Igor Minar
39a6f85e95
test(TestComponentBuilder): add tests for overriding child component's directive
2015-09-09 14:20:05 +00:00
yjbanov
8dd6c4680b
feat(perf): change detection profiler
...
Closes #4000
2015-09-09 01:12:58 +00:00
Jason Teplitz
f3da37c92f
fix(WebWorker): Add zone support to MessageBus
...
Closes #4053
2015-09-08 14:03:58 -07:00
vsavkin
a8bdb693b9
feat(pipes): add support for pure pipes
...
By default, pipes are pure. This means that an instance of a pipe will be reused and the pipe will be called only when its arguments change.
BREAKING CHANGE
Before:
@Pipe({name: 'date'}) class DatePipe {} defines an impure pipe.
After:
@Pipe({name: 'date'}) class DatePipe {} defines a pure pipe.
@Pipe({name: 'date', pure: false}) class DatePipe {} defines an impure pipe.
Closes #3966
2015-09-08 16:24:27 +00:00
Matt Greenland
e36966b83c
fix(forms): Update NgModel's viewModel when model changes
...
Closes #3627
2015-09-05 11:58:42 -07:00
Jeff Cross
f14b212dc9
refactor: export core APIs from angular2/core
...
This change moves many APIs to the angular2/core export.
This change also automatically adds FORM_BINDINGS in
the application root injector.
BREAKING CHANGE:
Many dependencies that were previously exported from specific
APIs are now exported from angular2/core. Affected exports, which
should now be included from angular2/core include:
angular2/forms
angular2/di
angular2/directives
angular2/change_detection
angular2/bootstrap (except for dart users)
angular2/render
angular2/metadata
angular2/debug
angular2/pipes
Closes #3977
2015-09-05 07:01:34 +00:00
Jeff Cross
6d13cf9b8f
refactor(core): move more modules into core
2015-09-05 07:01:34 +00:00
Victor Berchet
3d38ec8aac
refactor(Lifecycle hooks): move the hooks to their own module (lifecycle_hooks)
...
BREAKING CHANGE
Lifecycle hooks now live in the `angular2/lifecycle_hooks` module.
They previously lived in the `metadata` module.
2015-09-05 01:02:33 +00:00
Victor Berchet
8302afffb4
refactor(LifecycleEvent): remove LifecycleEvent
...
fixes #3924
BREAKING CHANGE
The `lifecycle` configuration for directive has been dropped.
Before
// Dart
@Component({lifecycle: const [LifecycleEvent.OnChanges], ...})
class MyComponent implements OnChanges {
void onChanges() {...}
}
// Typescript
@Component({lifecycle: [LifecycleEvent.OnChanges], ...})
class MyComponent implements OnChanges {
onChanges(): void {...}
}
// ES5
var MyComponent = ng.
Component({lifecycle: [LifecycleEvent.OnChanges], ...}).
Class({
onChanges: function() {...}
});
After
// Dart
@Component({...})
class MyComponent implements OnChanges {
void onChanges() {...}
}
// Typescript
@Component({...})
class MyComponent implements OnChanges {
onChanges(): void {...}
}
// ES5
var MyComponent = ng
.Component({...})
.Class({
onChanges: function() {
}
});
2015-09-05 01:02:33 +00:00
Harry Terkelsen
d8c5ab232c
refactor: add leading underscore to private fields
...
Closes #4001
2015-09-05 00:54:50 +00:00
vsavkin
15164a8e6c
fix(reflector): merge prop metadata from getters and setters
...
Closes #4006
2015-09-04 23:44:22 +00:00
Rado Kirov
e9ad100b1f
fix(build): switch to cjs output for es5.
...
System output does not work at the current versions of TS and
system.js. Will revisit after upgrading TS.
Removes unused traceur tooling.
Closes #3974
2015-09-04 23:10:34 +00:00
vsavkin
df8e15cab7
feat(core): add support for @HostBinding and @HostListener
...
Example:
@Directive({selector: 'my-directive'})
class MyDirective {
@HostBinding("attr.my-attr") myAttr: string;
@HostListener("click", ["$event.target"])
onClick(target) {
this.target = target;
}
}
Closes #3996
2015-09-04 22:18:22 +00:00
vsavkin
855cb16cc7
refactor(event_manager): use multi bindings to configure EventManager
...
Closes #3978
2015-09-04 21:57:36 +00:00
Rado Kirov
5ebeaf7c9b
feat(query): implement query update mechanism based on views.
...
Instead of working with finer grained element injectors, queries now
iterate through the views as static units of modification of the
application structure. Views already contain element injectors in the
correct depth-first preorder.
This allows us to remove children linked lists on element injectors and a
lot of book keeping that is already present at the view level.
Queries are recalculated using the afterContentChecked and
afterViewChecked hooks, only during init and after a view container has
changed.
BREAKING CHANGE:
ViewQuery no longer supports the descendants flag. It queries the whole
component view by default.
Closes #3973
2015-09-04 21:39:35 +00:00
Alfonso Presa
be954115f8
feat(NgFor): $last property support
...
Makes a new `$last` property available during the loop with a boolean
showing if it's the last item in the iteration.
closes : #3102
Closes #3991
2015-09-04 21:01:42 +00:00
Tobias Bosch
2384082b5c
feat(compiler): add stylesheet compiler
...
Part of #3605
Closes #3891
2015-09-04 19:22:43 +00:00
Tobias Bosch
2a126f72f3
feat(tests): add helper to eval a module
...
Needed later for unit tests for code gen and runtime code
in #3605
2015-09-04 19:22:43 +00:00
vsavkin
896add7d77
feat(core): add support for @Property and @Event decorators
...
Example:
@Directive({selector: 'my-selector'})
class MyDirective {
@Property() prop;
@Property('el-prop') prop2;
@Event() event;
@Event('el-event') event2;
}
Closes #3992
2015-09-04 18:33:31 +00:00
Jason Teplitz
696edde17c
fix(WebWorker): Fix Todo Server demo and add test to ensure the demo can bootstrap.
...
Closes #3970
2015-09-03 18:52:06 +00:00
vsavkin
79994b2abf
refactor(forms): use multibindings instead of query to get a list of validators
...
BREAKING CHANGE
Before:
@Directive({selector: '[credit-card]', bindings: [new Binding(NgValidator, {toAlias: forwardRef(() => CreditCardValidator)})]})
class CreditCardValidator {
get validator() { return CreditCardValidator.validate; }
static validate(c): StringMap<string, boolean> {...}
}
After:
function creditCardValidator(c): StringMap<string, boolean> {...}
@Directive({selector: '[credit-card]', bindings: [new Binding(NG_VALIDATORS, {toValue: creditCardValidator, multi: true})]})
class CreditCardValidator {}
2015-09-03 15:18:18 +00:00
vsavkin
7736964a37
feat(di): add support for multi bindings
...
BREAKING CHANGE
Previously a content binding of a component was visible to the directives in its view with the host constraint. This is not the case any more. To access that binding, remove the constraint.
2015-09-03 15:18:18 +00:00
Tobias Bosch
2fea0c2602
feat(compiler): allow to create ChangeDetectors from parsed templates
...
Part of #3605
Closes #3950
2015-09-02 23:20:14 +00:00
Rado Kirov
5c9613e084
test(query): add a test for view query with var bindings
...
Closes #3920
Closes #3946
2015-09-02 20:26:59 +00:00
Rado Kirov
01cdd31339
fix(query): clean-up queryref during dehydration
...
The QueryRef objects persists during dehydration but needs to be
cleaned-up by removing callbacks and previous elements.
Closes #3944
Closes #3948
2015-09-02 19:00:17 +00:00
Jason Teplitz
358908e605
feat(WebWorker): Expose MessageBroker API
...
Closes #3942
2015-09-01 23:53:54 +00:00
Tim Blasi
7c7888de4f
fix(ComponentUrlMapper): support relative template URLs in Dartium
...
When running in Dartium without using transformers (i.e. with a normal
static web server), handle relative template URLs. This works by using
mirrors to get the URL of the library where the component class is
defined.
Closes #2771
Closes #3743
2015-09-01 18:19:55 +00:00
vsavkin
60ce884671
feat(core): remove the (^ syntax and make all DOM events bubbling
...
BREAKING CHANGE
Before
<div (^click)="onEventHandler()">
<button></button>
</div>
After
<div (click)="onEventHandler()">
<button></button>
</div>
Closes #3864
2015-09-01 15:54:47 +00:00
Brian Ford
ad1bd5fc11
refector(router): rename outlet integration spec to navigation spec
...
The new name better reflects the behavior under test.
2015-08-31 23:24:09 +00:00
Isaac Park
3791c4a682
fix(RouteRegistry): initialize RouteParams.params
...
Fix a bug caused by RouteRegistry.generate not initializing RouteParams.params to a StringMap
Closes #3755
2015-08-31 22:02:50 +00:00
Victor Berchet
ecf6ba3974
refactor: prefer const over var for constants
...
Closes #3818
2015-08-31 21:59:33 +00:00
Misko Hevery
c349bbbc08
refactor(ViewEncapsulation): rename to PascalCase
...
BREAKING CHANGE
- ViewEncapsulation.EMULATED => ViewEncapsulation.Emulated
- ViewEncapsulation.NATIVE => ViewEncapsulation.Native
- ViewEncapsulation.NONE => ViewEncapsulation.None
Closes #3889
2015-08-31 21:32:10 +00:00
Misko Hevery
e916836261
chore(ts2dart): replace List with Array
...
Closes #3514
2015-08-31 21:32:10 +00:00
Misko Hevery
4415855683
refactor(ngProbe): rename to ng.probe
...
BREAKING CHANGE:
Closes #3786
- ngProbe => ng.probe
2015-08-31 21:32:10 +00:00
Misko Hevery
cebd670a8e
refactor(ChandeDetection): Rename ChangeDetectorRef.markForCheck
...
BREAKING CHANGE
Closes #3403
- ChangeDetectorRef.requestCheck() => ChangeDetectorRef.markForCheck()
2015-08-31 21:32:10 +00:00
Jason Teplitz
9619636ba7
fix(WebWorker): WebWorkerRenderer removes views after they're destroyed
...
closes #3240
Closes #3894
2015-08-31 18:33:25 +00:00
Brian Ford
7de447e4b5
test(router): fix typo in spec name
2015-08-31 18:09:32 +00:00
Brian Ford
36eb9d392d
feat(router): router-link-active CSS class support
...
The `[router-link]` directive now applies the `router-link-active` CSS
class to the associated element whenever the link is active.
Closes #3209
2015-08-31 18:09:32 +00:00
Brian Ford
de37729823
feat(router): implement Router.isRouteActive
2015-08-31 18:09:32 +00:00
Brian Ford
e1a7e0329c
feat(router): hash-cons ComponentInstructions
2015-08-31 18:09:32 +00:00
vsavkin
d49bc438e8
feat(core): added afterContentInit, afterViewInit, and afterViewChecked hooks
...
Closes #3897
2015-08-31 17:16:54 +00:00
Tobias Bosch
f93cd9ced7
feat(compiler): add full directive metadata and validation logic
...
With this, the new `TemplateParser` has feature/data parity with the `ProtoViewDto` of the `RenderCompiler`.
Part of #3605
Closes #3880
2015-08-28 14:55:47 -07:00
Tobias Bosch
0f4eb1b524
refactor(compiler): simplify metadata
2015-08-28 14:55:23 -07:00
Marc Laval
be07390859
refactor(test_lib): BrowserDetection util
...
Closes #3805
2015-08-28 11:41:17 +02:00
Misko Hevery
551d9a1688
chore(LifecycleEvent): change to PascalCase / rename
...
BREAKING CHANGE
Closes #3863
- LifecycleEvent.onInit => LifecycleEvent.OnInit
- LifecycleEvent.onDestroy => LifecycleEvent.OnDestroy
- LifecycleEvent.onChange => LifecycleEvent.OnChanges
- LifecycleEvent.onCheck => LifecycleEvent.DoCheck
- LifecycleEvent.onAllChangesDone => LifecycleEvent.AfterContentChecked
- OnCheck.onCheck() => DoCheck.doCheck()
- OnChange.onChange() => OnChanges.onChanges()
- OnAllChangesDone.onAllChangesDone() => AfterContentChecked.afterContentChecked
Closes #3851
2015-08-27 22:32:21 -07:00
Misko Hevery
ac3f5106e4
refactor(view): remove hostActions
...
BREAKING CHANGE
Closes #3396
Replacement. Either direct DOM access or Renderer in WebWorkers.
2015-08-27 22:32:21 -07:00
Misko Hevery
37b042b361
chore: Make enum names consistent with TypeScript convention
...
BREAKING_CHANGE
Ts2Dart issue: https://github.com/angular/ts2dart/issues/270
TypeScript convention: https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines
DartConvertion: https://www.dartlang.org/articles/style-guide/
Rename:
- NumberFormatStyle.DECIMAL => NumberFormatStyle.Decimal
- NumberFormatStyle.PERCENT => NumberFormatStyle.Percent
- NumberFormatStyle.CURRENCY => NumberFormatStyle.Currency
- RequestMethods.GET => RequestMethods.Get
- RequestMethods.POST => RequestMethods.Post
- RequestMethods.PUT => RequestMethods.Put
- RequestMethods.DELETE => RequestMethods.Delete
- RequestMethods.HEAD => RequestMethods.Head
- RequestMethods.PATCH => RequestMethods.Patch
- ReadyStates.UNSENT => ReadyStates.Unsent
- ReadyStates.OPEN => ReadyStates.Open
- ReadyStates.HEADERS_RECEIVED => ReadyStates.HeadersReceived
- ReadyStates.LOADING => ReadyStates.Loading
- ReadyStates.DONE => ReadyStates.Done
- ReadyStates.CANCELLED => ReadyStates.Canceled
2015-08-27 22:32:21 -07:00
Misko Hevery
69926dd002
refactor(change_detection): introduce enum ChangeDetectionStrategy
...
BREAKING CHANGE
Closes #2497
- change detection strategy type changes from string to ChangeDetectionStrategy
- CHECK_ONCE => ChangeDetectionStrategy.CheckOnce
- CHECKED => ChangeDetectionStrategy.Checked
- CHECK_ALWAYS => ChangeDetectionStrategy.CheckAlways
- DETACHED => ChangeDetectionStrategy.Detached
- ON_PUSH => ChangeDetectionStrategy.OnPush
- DEFAULT => ChangeDetectionStrategy.Default
- ON_PUSH_OBSERVE => ChangeDetectionStrategy.OnPushObserve
2015-08-27 21:41:46 -07:00
vsavkin
3bb27deecc
feat(exception_handler): changed ExceptionHandler to use console.error instead of console.log
...
Closes #3812
2015-08-28 00:09:01 +00:00
Tim Blasi
02d9e18279
chore(transform): Move registrations tests to modules_dart
...
This moves tests which were created in 104302a958
and were not moved in 88a5b8da0f
.
2015-08-27 20:54:47 +00:00
Marc Laval
557d309377
chore(build): improve reliability of the saucelabs job
...
Closes #3848
2015-08-27 09:46:15 +02:00
Jason Teplitz
4ba4427510
feat(WebWorkers): Add WebSocket MessageBuses for debugging apps
...
Closes #3858
2015-08-26 19:07:53 -07:00
Tobias Bosch
9f576b0233
feat(compile): add HtmlParser, TemplateParser, ComponentMetadataLoader
...
First bits of new compile pipeline #3605
Closes #3839
2015-08-27 00:05:48 +00:00
vsavkin
343dcfa0c0
refactor(tests): removed @IMPLEMENTS
2015-08-26 15:06:25 -07:00
Tim Blasi
457eb5d69c
fix(WebWorker): Return boolean from `dispatchRenderEvent`
...
Update web_worker `dispatchRenderEvent` to return a boolean, which
[view.ts](https://github.com/angular/angular/blob/master/modules/angular2/src/core/render/dom/view/view.ts#L85 ) expects.
2015-08-26 14:12:45 -07:00
Jeff Cross
8ed22ce6e7
chore: update all import paths
2015-08-25 15:33:23 -07:00
Jeff Cross
38a5a2a955
chore: move core modules into core directory
...
BREAKING CHANGE:
This change moves the http module into angular2/, so its import
path is now angular2/http instead of http/http.
Many other modules have also been moved around inside of angular2,
but the public API paths have not changed as of this commit.
2015-08-25 15:33:22 -07:00
Jason Teplitz
21f60c5dce
refactor(WebWorker): Abstract message passing and serialization to UIMessageBroker
...
closes #3703
Closes #3815
2015-08-25 03:18:22 +00:00
Brian Ford
aeef19e2a6
refactor(router): reorganize 2.x tests
2015-08-24 20:55:50 +00:00
Jeff Cross
88a5b8da0f
chore(transform): move transform module to modules_dart
...
The build/pure-packages.dart gulp task has also been updated to move the files into the angular2 tree.
Closes #3729
2015-08-24 03:39:07 +00:00
Rado Kirov
92da5430e7
fix(injector): support getRootInjectors on dehydrated injectors.
...
Closes #3760
2015-08-24 02:41:43 +00:00
Marc Laval
50eee42668
chore(build): add Android to CI
...
Closes #3756
2015-08-24 00:28:07 +02:00
Pawel Kozlowski
b039ec3da3
fix(parser): detect and report interpolation in expressions
...
Fixes #3645
Closes #3750
2015-08-23 14:06:30 +00:00
Pawel Kozlowski
c4044102d6
test(ViewMetadata): use ViewMetadata consistently in tests
...
Closes #3746
2015-08-23 10:47:23 +00:00
Pawel Kozlowski
215c4aa8fb
fix(compiler): detect and report error for views with empty templateUrl
...
Fixes #3762
Closes #3768
2015-08-23 07:26:56 +00:00
Pawel Kozlowski
3871f89119
fix(ViewLoader): provide componentId in missing template / templateUrl errors
...
Befor this change it wasn't clear which component is faulty
2015-08-23 07:26:56 +00:00
Misko Hevery
5d403966d5
refactor: rename web-workers to web_workers
...
Closes #3683
2015-08-22 14:20:33 -07:00
vsavkin
e8e430e630
feat(change_detection): added support for observable components and directives
2015-08-21 15:44:45 -07:00
vsavkin
a9ce454b21
fix(change_detection): fixed reflect properties as attributes
...
Closes #3761
2015-08-21 19:08:32 +00:00
vsavkin
b6146394ae
refactor(change_detection): replaced devMode with ChangeDetectorGenConfig
2015-08-21 19:08:32 +00:00
Marc Laval
65344fcac9
chore(build): add IE9 to CI
...
Closes #3747
2015-08-21 15:46:26 +00:00
vsavkin
d2d0715568
feat(change_detection): do not reparse AST when using generated detectors
2015-08-21 05:16:31 +00:00
Misko Hevery
b986c54079
chore: remove int in favor for number
...
Closes #3511
2015-08-21 05:10:31 +00:00
yjbanov
8336881a85
feat: track unused reflection data
2015-08-20 18:20:53 -07:00
Marc Laval
b0d27ee896
chore(build): add IE10 to CI
2015-08-21 00:16:34 +02:00
Marc Laval
1c9be9b5aa
chore(build): add Firefox to CI
2015-08-21 00:16:33 +02:00
vsavkin
195c5c21d4
fix(change_detection): update the right change detector when using ON_PUSH mode
...
Previously, in a case where you have a mix of ON_PUSH and DEFAULT detectors, Angular would update the status of a wrong detector.
2015-08-20 21:55:50 +00:00
Jason Teplitz
0b59e664ec
feat(WebWorker) Add channel support to MessageBus
...
closes #3661 and #3686
2015-08-19 10:57:22 -07:00
Tim Blasi
104302a958
refactor(dart/transform): Remove unnecessary getter/setter codegen
...
Currently the transformer generates all getters and setters even when
creating pre-generated change detectors, which remove the need for them.
Generate getters and setters via the model provided by `ProtoViewDto`,
which contains enough information to allow omitting unnecessary getters
and setters from code output.
Allow generating getters, setters, and method names which are Dart
pseudo keywords.
Closes #3489
2015-08-19 17:36:12 +00:00
Marc Laval
873b6da120
chore(test): disable tests based on Intl API in non-Chrome browsers
...
Closes #3692
2015-08-19 09:45:34 +02:00
Misko Hevery
ccfadb9b47
refactor: make bindings/directives names consistent
...
BREAKING CHANGE
- `routerDirectives` => `ROUTER_DIRECTIVES`
- `routerInjectables` => `ROUTER_BINDINGS`
- `ELEMENT_PROBE_CONFIG` => `ELEMENT_PROBE_BINDINGS`
2015-08-18 21:23:26 -07:00
Brian Ford
72e0b8f7dc
fix(router): allow router-link to link to redirects
...
Closes #3335
Closes #3624
2015-08-19 01:34:46 +00:00
Brian Ford
b5c4d8ba79
feat(facade): add maximum method for ListWrapper
2015-08-19 01:34:45 +00:00
Brian Ford
5c95b376b5
fix(router): subscribe should return subscription
...
Closes #3491
Closes #3695
2015-08-19 01:34:08 +00:00
Marc Laval
3b4965279c
feat(browser): support Edge
...
Closes #3667
2015-08-18 23:07:59 +00:00
Rado Kirov
272ad61ab1
fix(injectors): reset the construction counter in dynamic strategy.
...
Adds tests for hydrate / dehydrate in cycle.
Closes #3635
2015-08-18 21:03:20 +00:00
gdi2290
235dec26fc
fix(browser_adapter.ts): baseElement.getAttribute
...
currently throwing an error
```error
Error during instantiation of LocationStrategy! (RouterLink -> Router
-> Location -> LocationStrategy).
ORIGINAL ERROR: TypeError: baseElement.attr is not a function
```
Closes #3214
2015-08-18 19:07:47 +00:00
vsavkin
cbfc9cb344
feat(change_detection): added an experimental support for observables
2015-08-18 19:00:04 +00:00
Daniel Rasmuson
ed81cb94b0
feat(router): user metadata in route configs
...
Provide the ability to attach custom data onto a route and retrieve
that data as an injectable (RouteData) inside the component.
Closes #2777
Closes #3541
2015-08-18 10:33:19 -07:00
Victor Berchet
1f54e64fcf
feat(PropertyBindingParser): support onbubble-event as an alternate syntax for (^event)
...
fixes #3448
Closes #3616
2015-08-18 17:30:48 +00:00
Misko Hevery
ea6673947c
refactor: rename annotations to metadata
...
BREAKING CHANGE (maybe)
Well as long as our customers use public API this should not be a
breaking change, but we have changed import structure as well as
internal names, so it could be breaking.
import:
angular2/annotations => angular2/metadata
Classes:
*Annotations => *Metadata
renderer.DirectiveMetadata => renderer.RendererDirectiveMetadata
renderer.ElementBinder => renderer.RendererElementBinder
impl.Directive => impl.DirectiveMetadata
impl.Component => impl.ComponentMetadata
impl.View => impl.ViewMetadata
Closes #3660
2015-08-17 21:23:25 +00:00
vsavkin
5e6317fecc
feat(change_detection): request a change detection check when an event happens
...
Closes #3679
2015-08-17 19:08:03 +00:00
vsavkin
823fa4689e
refactor(change_detection): generate handleEvent only when necessary
2015-08-17 19:08:03 +00:00
Rado Kirov
6c9e712c34
fix(query): do not visit dehydrated injectors.
2015-08-17 11:43:44 -07:00
vsavkin
4845583dcf
refactor(change_detector): made change detection responsible for processing events
...
Closes #3666
2015-08-17 15:39:00 +00:00
Pascal Precht
a06f48e357
test(query_integration): remove duplicated change detection call
...
Closes #3673
2015-08-17 09:22:10 +00:00
Jason Teplitz
296851797b
fix(WebWorkers): Run XHR requests on the UI
...
Fixes issues in dart where dart:html is not available in isolates and
allows for better profiling of XHR requests
Closes #3652
2015-08-15 21:54:51 +00:00
Brian Ford
26d2ea8afc
fix(router): fix regression with generating links to async routes
...
Closes #3650
2015-08-14 22:32:48 +00:00
Rado Kirov
2686316c90
test(query): adds a view query test in presence of a long ng-for.
...
Closes #3638
Closes #3649
2015-08-14 21:04:29 +00:00
gdi2290
35a83b495a
feat(query_list): delegate `toString` to `_results` array
...
Closes #3004
2015-08-14 03:42:11 +00:00
Victor Berchet
2fcb4cb769
test(Router): increase the timeout for the back button test
...
The test would fail on Ubuntu 15.04 + Chrome 46 with the standard
timeout.
2015-08-13 17:50:16 -07:00
Misko Hevery
b7837389d7
refactor: Remove isDart from public API
...
BREAKING CHANGE:
- `IS_DARTIUM` no longer exported
2015-08-13 21:18:31 +00:00
Misko Hevery
5c328adb4b
refactor(di): Visibility.(Private|Public|PublicAndPrivate)
...
BREAKING CHANGE:
Rename:
- `PRIVATE` => `Visibility.Private`
- `PUBLIC` => `Visibility.Public`
- `PUBLIC_AND_PRIVATE` => `Visibility.PublicAndPrivate`
2015-08-13 21:18:31 +00:00
Misko Hevery
60af19f0e1
refactor: rename all const to UPPER_CASE
...
Closes #3573
BREAKING CHANGE
Rename:
- `appComponentTypeToken` => `APP_COMPONENT`
- `coreDirectives` => `CORE_DIRECTIVES`
- `formDirectives` => `FORM_DIRECTIVES`
- `formInjectables` => `FORM_BINDINGS`
- `httpInjectables` => `HTTP_BINDINGS`
- `jsonpInjectables` => `JSONP_BINDINGS`
- `PROTO_CHANGE_DETECTOR_KEY` => `PROTO_CHANGE_DETECTOR`
- `appComponentRefPromiseToken` => `APP_COMPONENT_REF_PROMISE`
- `appComponentTypeToken` => `APP_COMPONENT`
- `undefinedValue` => `UNDEFINED`
- `formDirectives` => `FORM_DIRECTIVES`
- `DOCUMENT_TOKEN` => `DOCUMENT`
- `APP_ID_TOKEN` => `APP_ID`
- `MAX_IN_MEMORY_ELEMENTS_PER_TEMPLATE_TOKEN` => `MAX_IN_MEMORY_ELEMENTS_PER_TEMPLATE`
- `appBaseHrefToken` => `APP_BASE_HREF`
2015-08-13 21:18:31 +00:00
vsavkin
416fd085b1
refactor(pipes): removed BasePipeTrasnform
...
Closes #3608
2015-08-13 01:39:21 +00:00
vsavkin
839edaa15b
feat(pipes): changed PipeTransform to make onDestroy optional
...
BREAKING CHANGE:
Before:
Angular called onDestroy on all pipes.
After:
Angular calls onDestroy only on pipes that have the onDestroy method.
2015-08-13 01:39:21 +00:00
Tim Blasi
aa480fee72
feat(dart/transform): Support `part` directives
...
Allow users to split libraries using the `part` directive.
Closes #1817
2015-08-13 00:28:42 +00:00
Pawel Kozlowski
ed25a29cc8
fix(NgClass): take initial classes into account during cleanup
...
Closes #3557
2015-08-12 20:08:03 +00:00
Pawel Kozlowski
a7a1851c0f
feat(compiler): allow binding to className using class alias
...
Closes #2364
2015-08-12 20:08:03 +00:00
Pawel Kozlowski
218b037d98
test(NgClass): remove code duplication in tests
2015-08-12 10:29:37 +02:00
Rado Kirov
2150a8f9d1
feat(query): view query is properly updated when dom changes.
...
Fixes a bug in view manager util where sibling injector is not correctly
calculated.
ViewQuery no longer includes the view's initiating component injector.
Includes some refactoring of view methods and a removal of a polymorphic
map call.
Closes #3033
Closes #3439
2015-08-12 06:16:09 +00:00
Tobias Bosch
585ea5d600
feat(query): allow to query for `TemplateRef`
...
Part of #1989
Closes #3202
2015-08-12 01:51:18 +00:00
vsavkin
5b5d31fa9a
feat(pipe): added the Pipe decorator and the pipe property to View
...
BREAKING CHANGE:
Instead of configuring pipes via a Pipes object, now you can configure them by providing the pipes property to the View decorator.
@Pipe({
name: 'double'
})
class DoublePipe {
transform(value, args) { return value * 2; }
}
@View({
template: '{{ 10 | double}}'
pipes: [DoublePipe]
})
class CustomComponent {}
Closes #3572
2015-08-12 00:38:40 +00:00
Jeff Cross
5a405011de
refactor(http): move http files to top-level module
...
Closes #2680
Closes #3417
2015-08-11 22:32:17 +00:00
Brian Ford
903a0f0513
fix(router): throw when component in route config is not defined
...
Close #3265
Closes #3569
2015-08-11 21:21:32 +00:00
Caitlin Potter
77d3668432
feat(http): serialize search parameters from request options
...
- Extends URLSearchParams API to include operations for combining
different URLSearchParams objects:
These new methods include:
setAll(otherParams): performs `this.set(key, values[0])` for each
key/value-list pair in `otherParams`
appendAll(otherParams): performs `this.append(key, values)` for
each key/value-list pair in `otherParams`
replaceAll(otherParams): for each key/value-list pair in
`otherParams`, replaces current set of values for `key` with
a copy of the list of values.
- RequestOptions do not merge search params automatically (because
there are multiple ways to do this). Instead, they replace any
existing `search` field if `search` is provided. Explicit merging
is required if merging is desirable.
- Some extra test coverage added.
Closes #2417
Closes #3020
2015-08-10 16:29:36 -07:00
Pawel Kozlowski
4f5e405676
fix(UrlResolver): encode URLs before resolving
...
This commits makes JS implementation to behave like Dart one.
Fixes #3543
Closes #3545
2015-08-10 19:50:10 +00:00
Brian Ford
ac6227e434
feat(router): auxiliary routes
...
Closes #2775
2015-08-10 10:47:37 -07:00
Matias Niemelä
24eabb9bb1
test(matchers): add support for toHaveClass in tests
2015-08-08 02:22:45 +00:00
jteplitz
a1c53eec6b
Refactor(WebWorker): Unify WebWorker naming
...
Closes #3205
2015-08-07 14:43:52 -07:00
vsavkin
2dcf714d2b
refactor(pipes): use Injector instead of pipe factories for pipe instantiation
...
BREAKING CHANGE
- Pipe factories have been removed.
- PIpe names to pipe implementations are 1-to-1 instead of 1-to-*
Before:
class DateFormatter {
transform(date, args){}
}
class DateFormatterFactory {
supporst(obj) { return true; }
create(cdRef) { return new DateFormatter(); }
}
new Pipes({date: [new DateFormatterFactory()]})
After
class DateFormatter {
transform(date, args){}
}
new Pipes({date: DateFormatter})
2015-08-07 10:02:11 -07:00
vsavkin
06da60f4b7
feat(di): added resolveAndInstantiate and instantiateResolved to Injector
...
These two methods can be used to create objects in the context of the injector without storing them in the injector.
2015-08-07 08:29:19 -07:00
Pawel Kozlowski
ff1b110ae1
fix(CSSClass): change selector to ng-class
...
BREAKING CHANGE:
The selector for the CSSClass directive was changed
from [class] to [ng-class]. The directive itself was
renamed from CSSClass to NgClass
Closes #3498
2015-08-07 14:56:41 +02:00
Pawel Kozlowski
748c2d6c97
fix(compiler): strip <script> tag from templates
...
Fixes #2766
Closes #3486
2015-08-07 11:54:33 +00:00
Marc Laval
a37de36fa6
fix(test_lib): run unit tests in default Documnent
...
Closes #3501
Fixes #3475
2015-08-07 09:57:59 +02:00
vsavkin
106a28b8dc
feat(refactor): replaced ObservablePipe and PromisePipe with AsyncPipe
2015-08-07 02:10:32 +00:00
Tim Blasi
40a3cd2ab1
style(dart/transform): Do not format generated code by default
...
Formatting code requires time and memory during the build -- do not do
it unless explicitly requested via a parameter to the transformer.
Add an entry to the
[wiki](https://github.com/angular/angular/wiki/Angular-2-Dart-Transformer )
describing the added parameter.
2015-08-06 23:32:01 +00:00
Tim Blasi
3db0ae1dac
refactor(dart/transform): Show friendly messages for transform failures
...
Previously, the error messages coming out of the Dart transformer were
opaque when those errors came from the analyzer (for example, analyzer
parse errors). Log more useful errors when they are caught by the
transform code.
2015-08-06 22:28:10 +00:00
vsavkin
07b9be798c
fix(exception_handler): log errors that are thrown by the compiler
2015-08-06 15:26:24 -07:00