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
Alex Eagle
b4a062983b
fix(dart): @proxy is a value, not a factory
...
Previously I added parens everywhere to make this @proxy() because our typing indicated
it was a function that returned a decorator, but this breaks dart. Instead, the typing needs
to be changed.
Fixes #3494
2015-08-06 10:02:49 -07:00
Tim Blasi
f11f4e0b45
style(dart): Format with dartfmt v0.2.0
...
Format all pure Dart code with package:dart_style v0.2.0
Command:
```
find -type f -name "*.dart" | xargs dartformat -w
```
2015-08-05 11:04:29 -07:00
Marc Laval
166688348a
chore(browsers): fix failing tests in IE11
...
Closes #3388
2015-08-04 22:45:46 +02:00
Pascal Precht
39ad50657e
refactor(di/tests): removes unecessary for-loop
...
Closes #3268
2015-08-04 20:14:04 +00:00
Martin Probst
861be30021
feat: export a proper promise type.
...
Promise used to be typed as any, giving incorrect results. This change
fixes places that were incorrectly typed and re-exports the actual
Promise type from es6-promise.
It also fixes a series of compilation errors discovered/triggered by
this change.
2015-08-04 19:56:02 +00:00
Tim Blasi
c58b0ff787
refactor(change_detect): Share more codegen logic
...
Move more logic in our codegen into a shared util which is called by the
Jit & Prege change detector code.
2015-08-04 18:55:07 +00:00
vsavkin
392de4af67
feat(pipes): replaces iterable and key value diffing pipes with services
...
BREAKING CHANGE:
Directives that previously injected Pipes to get iterableDiff or keyvalueDiff, now should inject IterableDiffers and KeyValueDiffers.
2015-08-04 10:39:55 -07:00
Jeremy Elbourn
c20a5d65d8
fix(compiler): Allow components to use any style of selector. Fixes #1602
2015-08-04 09:34:03 -07:00
Pawel Kozlowski
4422819754
fix(parser): detect empty expression in strings to interpolate
...
Fixes #3412
Closes #3451
2015-08-04 08:44:14 +02:00
gdi2290
cfedc77ce1
test(XHRConnection): normalize responseText and response
...
normalize xhr.responseText and xhr.response
- [x] Tests
Closes #2882
2015-08-04 00:39:11 +00:00
gdi2290
96eefdfebc
fix(XHRConnection): use xhr status code
...
closes #2841
- [x] Tests
2015-08-04 00:39:11 +00:00
Matias Niemelä
7bf7ec6d9c
fix(router): ensure navigation via back button works
...
The router will now navigate and respect the current address value
accordingly whenever a popState event is handled.
Closes #2201
2015-08-03 22:24:57 +00:00
Matias Niemelä
60f38eab78
feat(router): add `back()` support to `MockLocationStrategy`
2015-08-03 22:24:57 +00:00
Marc Laval
8822460858
chore(browsers): fix failing tests in Firefox
...
Closes #3386
2015-08-03 12:17:44 +02:00
Misko Hevery
77875a270d
feat: implement web-tracing-framework support
...
This includes implementation and minimal instrumentation
Closes #2610
2015-07-31 23:04:05 +00:00
Misko Hevery
39b0286d6b
fix: remove unused imports
2015-07-31 20:40:33 +00:00
vsavkin
3437d56904
feat(core): made directives shadow native element properties
...
BREAKING CHANGE
Previously, if an element had a property, Angular would update that property even if there was a directive placed on the same element with the same property. Now, the directive would have to explicitly update the native elmement by either using hostProperties or the renderer.
2015-07-31 20:29:57 +00:00
Alex Eagle
3c58878b19
chore(build): Upgrade to TypeScript@1.5.3
...
This change also makes us compliant with 1.6.0-dev compiler,
so we can do some experiments with apps that use 1.6 features
and compile against Angular.
We should probably add a travis build for 1.6 so we stay compatible
with both versions.
2015-07-31 20:01:27 +00:00
Jason Teplitz
c5cb7009ca
feat(WebWorkers): Add WebWorker Todo Example. Add support for more DOM events.
...
Fixed breakage caused by previous DI commit in WebWorker Todo example
2015-07-31 19:48:18 +00:00
vsavkin
adc27398fd
perf(change_detection): do not generate onAllChangesDone when not needed
2015-07-31 19:23:00 +00:00
Tobias Bosch
dd06a871b7
fix(render): allow to configure when templates are serialized to strings
...
Introduces the injectable `TemplateCloner` that can be configured via the new token `MAX_IN_MEMORY_ELEMENTS_PER_TEMPLATE_TOKEN`.
Also replaces `document.adoptNode` with `document.importNode` as otherwise
custom elements are not triggered in chrome 43.
Closes #3418
Closes #3433
2015-07-31 12:04:32 -07:00
Tobias Bosch
014b6cb397
Revert "feat(WebWorkers): Add WebWorker Todo Example. Add support for more DOM events."
...
This reverts commit d44827a4c5
.
This broke master due to a race condition in our presubmit queue.
2015-07-31 11:40:15 -07:00
Jason Teplitz
d44827a4c5
feat(WebWorkers): Add WebWorker Todo Example. Add support for more DOM events.
2015-07-31 18:33:12 +00:00
vsavkin
3cda7128d0
cleanup(di): renamed viewInjector and hostInjector
...
BREAKING CHANGE
Replace viewInjector with viewBindings
Replace hostInjector with bindings
2015-07-31 09:49:51 -07:00
Pawel Kozlowski
0a40024995
test(integration): minor tests cleanup
...
Closes #3329
2015-07-31 10:52:42 +02:00
vsavkin
985627bd65
cleanup(DI): clean up visibility decorators
...
BREAKING CHANGE:
Replace @Ancestor() with @Host() @SkipSelf()
Replace @Unbounded() wwith @SkipSelf()
Replace @Ancestor({self:true}) with @Host()
Replace @Unbounded({self:true}) with nothing
Replace new AncestorMetadata() with [new HostMetadata(), new SkipSelfMetadata()]
Replace new UnboundedMetadata() with new SkipSelfMetadata()
Replace new Ancestor({self:true}) with new HostMetadata()
2015-07-31 02:30:26 +00:00
vsavkin
71ea19902a
perf(change_detection): removed the currentProto property
2015-07-31 00:31:11 +00:00
Pawel Kozlowski
2768158eaf
tests(ProtoViewBuilder): host properties binding to unknown props
...
When binding a host property, we shouldn't try to bind to any
directive properties that might exist on a host element
Closes #3383
2015-07-30 16:16:35 -07:00
Jeff Cross
4e76cac5b7
fix(core): export LifeCycle at top-level modules
...
LifeCycle can now be imported via angular2/angular2 or
angular2/core, so that end users can inject it without
having to use the full source path.
Closes #3395
2015-07-30 21:52:29 +00:00
Tobias Bosch
0dbdd5cd3c
refactor(render): don’t store DOM nodes but store strings for big ProtoViews.
...
Also inserts comment nodes before/after projected nodes so that text nodes don’t get merged when we serialize/deserialize them.
Closes #3356
First part of #3364
2015-07-30 14:11:13 -07:00
Yegor Jbanov
29095766e6
fix(bootstrap): fix expressions containing bootstrap ( fixes #3309 )
2015-07-30 12:06:53 -07:00
Jason Teplitz
7b834e02ec
feat(WebWorkers) Add DOM event support
...
closes #3046
2015-07-29 23:34:43 +00:00
Rado Kirov
34acef58e7
fix(query): view query should not be updated when subviews are attached.
2015-07-29 22:33:15 +00:00
vsavkin
c1ee943533
perf(change_detection): do not check intermediate results
2015-07-29 21:58:29 +00:00
Jeremy Elbourn
f7d7789915
fix(decorators): stop directives inheriting parent class decorators.
...
Fixes #2291
2015-07-29 21:23:31 +00:00
Tim Blasi
9c19eb906b
refactor(change_detect): Move (de)hydrate methods into superclass
...
Move the implementation of `(de)hydrate`, `hydrated`, and
`detectChangesInRecords` into `AbstractChangeDetector`.
Add comments clarifying the contract between `AbstractChangeDetector`
and its subclasses.
Closes #3245
2015-07-29 13:12:53 -07:00
yjbanov
73b7d99dc4
fix(style_url_resolver): fix data: url resolution
2015-07-29 11:24:17 -07:00
Tim Blasi
192cf9ddf5
refactor(change_detect): Move common fields to AbstractChangeDetector
...
Move fields common to Dynamic, Jit, and Pregen change detectors into the
`AbstractChangeDetector` superclass to save on codegen size and reduce
code duplication.
Update to #3248 , closes #3243
2015-07-29 10:46:49 -07:00
Pawel Kozlowski
d894aa9101
feat(compiler): introduce schema for elements
...
Closes #3353
2015-07-29 19:40:46 +02:00
Tobias Bosch
16e3d7e96e
refactor(shadow_dom): remove `ShadowDomStrategy` in favor of `@View(encapsulation)`
...
BREAKING CHANGES:
- `ShadowDomStrategy` was removed. To specify the encapsulation of a component use `@View(encapsulation: ViewEncapsulation.NONE | ViewEncapsulation.EMULATED | ViewEncapsulation.NATIVE)`
- The default encapsulation strategy is now `ViewEncapsulation.EMULATED` if a component contains styles and `ViewEncapsulation.NONE` if it does not. Before this was always `NONE`.
- `ViewLoader` now returns the template as a string and the styles as a separate array
2015-07-28 22:33:11 -07:00
Jacob MacDonald
2faa89852b
fix(transformer): Fix generation of `annotations` argument when registering functions.
2015-07-28 15:26:33 -07:00
Tim Blasi
d84993faf1
refactor(change_detect): Move (de)hydrate logic into dedicated methods
...
Call new `(de)hydrateDirectives` methods from `(de)hydrate`. Add a null
implementation in `AbstractChangeDetector` and only override if
necessary for the specific change detector.
Update to #3248
2015-07-28 15:10:06 -07:00
Tim Blasi
a9efc48e71
refactor(change_detect): Create & use `looseNotIdentical`
...
Create `looseNotIdentical => !looseIdentical`, which will save a lot of
unnecessary '!' characters in generated change detectors.
Update to https://github.com/angular/angular/issues/3248
2015-07-28 14:59:31 -07:00
vsavkin
8543c347a8
feat(core): provide an error context when an exception happens in an error handler
2015-07-28 14:22:15 -07:00
Rado Kirov
1d4502944c
fix(query): the view should not be visible to @Query.
...
@ViewQuery is the correct way to query the view template.
2015-07-28 14:16:14 -07:00
Tim Blasi
2c9951273a
style(dart): Run dartfmt v0.1.8+2 on all pure Dart code
...
Update formatting for all pure Dart code in the repo.
2015-07-28 12:44:03 -07:00
gdi2290
6fac901151
feat(http): call complete on request complete
...
closes #2635
2015-07-28 11:45:15 -07:00
Tim Blasi
03fc7fe8c2
refactor(change_detect): Make `ChangeDetectionUtil#uninitialized` a var
...
Previously, `uninitialized()` was a method, requiring a call as well as
two extra characters everywhere it was used.
Make this value a variable, saving the characters and avoiding the
method call to get its value.
This change also removes the export of `uninitialized` from
change_detect.ts, which is technically a breaking change, however
`uninitialized` is an implementation detail and nobody should be using
it in app logic. By convention, apps should not be importing from files
under `src/`.
Update to #3248 .
2015-07-27 17:14:09 -07:00
Marc Laval
eebd736cfe
feat(build): initial SauceLabs setup
...
Closes #2347
2015-07-27 16:15:28 -07:00
Marc Fisher
448264be39
fix(core): fix type error in setElementProperty
...
Convert propertyValue to string when calling setElementAttribute.
Closes #3279
2015-07-27 16:05:10 -07:00
vsavkin
71bb4b3ee5
feat(change_detection): generate checkNoChanges only in dev mode
2015-07-27 15:50:19 -07:00
Misko Hevery
a2bb81c406
Revert "fix(url_resolver): in Dart make package urls relative to AppRootUrl"
...
This reverts commit 469afda53e
.
2015-07-27 14:15:02 -07:00
Jason Teplitz
7cbaf1076f
refactor(Async): Unify TS and Dart PromiseCompleter naming
...
Also add explicit typing wherever we use PromiseCompleter
2015-07-27 10:28:07 -07:00
Pawel Kozlowski
a8b57256c8
fix(class): allow class names with mixed case
...
Fixes #3001
BREAKING CHANGE:
View renderer used to take normalized CSS class names (ex. fooBar for foo-bar).
With this change a rendered implementation gets a calss name as specified in a
template, without any transformations / normalization. This change only affects
custom view renderers that should be updated accordingly.
Closes #3264
2015-07-27 16:46:42 +02:00
Misko Hevery
329a6e00dc
chore(API): cleaned up top level imports (render)
2015-07-25 03:20:15 +00:00
Misko Hevery
c83a3f3372
chore(docs): added more docs for core.ts
2015-07-25 03:20:12 +00:00
Tim Blasi
0906ee8a4e
refactor(change_detect): Abstract name logic into NameRegistry
...
Create `NameRegistry`, responsible for understanding how names are
generated for change detector fields and variables.
Use `NameRegistry` for both JS Jit & Dart pre-generated detectors.
Making progress on #3248
2015-07-24 18:58:09 -07:00
Tim Blasi
23cd385f20
fix(dart/transform): Handle mixed lifecycle specs
...
Update the transformer to handle classes which both have a `lifecycle`
value and `implement` lifecycle interfaces.
Closes #3276
2015-07-24 18:02:04 -07:00
yjbanov
469afda53e
fix(url_resolver): in Dart make package urls relative to AppRootUrl
2015-07-24 16:37:01 -07:00
vsavkin
c2bbda02a1
feat(change_detection): provide error context for change detection errors
2015-07-24 15:45:26 -07:00
vsavkin
e744409cb9
feat(exception_handler): print originalException and originalStack for all exceptions
2015-07-24 15:45:26 -07:00
Pawel Kozlowski
0a8b3816f7
style(lexer): idiomatic TypeScript
...
Closes #3228
2015-07-24 15:40:32 -07:00
Rado Kirov
2577f5eebf
test(query): adds a test for query in the presense of projection.
...
Query uses only the logical structure of the application, so it is not
affected by projection, which only the rendering structure.
Closes #3278
2015-07-24 15:30:57 -07:00
Jacob MacDonald
5b5de6662f
chore(transformer): Use class for reflection info instead of a map
...
closes https://github.com/angular/angular/issues/906
2015-07-24 13:12:57 -07:00
Hank Duan
a8b75c3d41
feat(testability): hook zone into whenstable api with async support
...
closes(#428 )
2015-07-24 12:46:12 -07:00
Pawel Kozlowski
345fa521dd
fix(change_detection): convert interpolated null values to empty strings
...
Fixes #3007
Closes #3271
2015-07-24 18:05:06 +02:00
Pawel Kozlowski
16493e9769
refactor(integration_test): remove unused imports
2015-07-24 18:05:06 +02:00
Jason Teplitz
771c0170d9
feat(web-workers) Add WebWorker Renderer
...
Allows angular apps to be rendered from the webworker!
Closes #3052 , #3053 , and #3097
2015-07-23 18:29:10 -07:00
Tobias Bosch
1438922ffb
fix(class): correctly clean up on destroy
...
Fixes #3249
Closes #3256
2015-07-23 17:13:33 -07:00
Sigmund Cherem
fd46b49ea6
feat(transformers): directive aliases in Dart transformers ( fix #1747 )
2015-07-23 15:25:32 -07:00
Tobias Bosch
46502e4d61
fix(projection): allow more bound render elements than app elements.
...
Fixes #3236
Closes #3247
2015-07-23 15:05:46 -07:00
Tobias Bosch
b44b06c2c9
fix(projection): allow to project to a non text node
...
We already had a test for this, but too low level that it did not catch this null value in `hasNativeShadowRoot`
Fixes #3230
Closes #3241
2015-07-23 14:29:15 -07:00
Tobias Bosch
5ec67ee2a7
fix(compiler): prevent race conditions
...
Previously, the compiler would detect cycles where there were none just because of other components that were compiled in parallel. Furthermore, the way ProtoView merging was triggered could result into early exits resulting in errors when trying to instantiate ProtoViews.
Fixes #3206
Closes #3211
2015-07-23 14:28:38 -07:00
vsavkin
70792c744d
refactor(exception_handler): unified all exception handling
...
BREAKING CHANGE
Previously it was possible to pass a custom error reporter to bootstrap, which was used only during the construction of Injector. This had limited utility, so this capability has been removed.
2015-07-23 11:22:04 -07:00
vsavkin
fdf226ab69
feat(exception_handler): change ExceptionHandler to output context
2015-07-23 11:22:04 -07:00
Jacob MacDonald
bd65b63c65
fix(transformer): Loggers now are per zone and each transform runs in its own zone
2015-07-23 09:36:04 -07:00
yjbanov
3531bb7118
feat(bootstrap): remove the need for explicit reflection setup in bootstrap code
...
BREAKING CHANGES:
Dart applications and TypeScript applications meant to transpile to Dart must now
import `package:angular2/bootstrap.dart` instead of `package:angular2/angular2.dart`
in their bootstrap code. `package:angular2/angular2.dart` no longer export the
bootstrap function. The transformer rewrites imports of `bootstrap.dart` and calls
to `bootstrap` to `bootstrap_static.dart` and `bootstrapStatic` respectively.
2015-07-22 17:02:32 -07:00
Matias Niemelä
fdffcaba9b
feat(router): use querystring params for top-level routes
...
Closes #3017
2015-07-22 14:40:55 -07:00
vsavkin
5a86f85936
feat(di): added context to runtime DI errors
2015-07-22 14:22:46 -07:00
Tim Blasi
8ad4ad57d1
feat(dart/transform): Populate `lifecycle` from lifecycle interfaces
...
When a `Directive` implements a lifecycle interface (e.g. `OnChange` or
`OnInit`), populate its `lifecycle` property if not already populated).
Closes #3181
2015-07-22 11:34:29 -07:00
Matias Niemelä
476988876c
test(router): refactor integration tests to use TestComponentBuilder
...
Closes #3182
2015-07-21 20:40:42 -07:00
vsavkin
6f4a39c337
refactor(di): removed @Parent
...
BREAKING CHANGE
The @Parent annotation has been removed. Use @Ancestor instead.
@Parent was used to enforce a particular DOM structure (e.g., a pane component is a direct child of the tabs component).
DI is not the right mechanism to do it. We should enforce it using schema instead.
2015-07-21 14:39:28 -07:00
Tobias Bosch
a472eacc07
fix(content_projection): allow to project text nodes to a place without bindings
...
Fixes #3163
Closes #3179
2015-07-21 14:18:35 -07:00
Tobias Bosch
078475a082
refactor(compiler): speed up proto view merging
...
- Don't create intermediate merge results
- Only merge embedded ProtoViews that contain `<ng-content>` tags
Closes #3150
Closes #3177
2015-07-21 13:39:41 -07:00
Alex Eagle
de18da2a0d
feat(build): require parameter types
...
Fixes #2833
2015-07-21 06:20:13 -07:00
Tim Blasi
b2a0be87e8
fix(change_detect): Sort `DirectiveMetadata` properties during processing
...
The Angular 2 render compiler can get out of sync between its transformer
execution and its runtime execution, leading to incorrect change detectors with
out-of-order property values. Stable sorting solves this problem (temporarily).
2015-07-20 17:08:02 -07:00
vsavkin
4c8ea12903
feat(pipes): changed .append to .extend
...
BREAKING CHANGE:
Pipes.append has been renamed into Pipes.extend.
Pipes.extend prepends pipe factories instead of appending them.
2015-07-20 15:36:42 -07:00
Alex Rickabaugh
e94270946a
feat(compiler): Support $baseUrl in HTML attributes when loading a template.
...
Angular fetches template HTML files outside of the browser's normal parsing flow. As a result, URLs in template files are interpreted relative to the root application, when the components defined by the template files are inserted into the DOM. This change enables a template author to prefix URLs with the string $baseUrl, which will be replaced with the relative base path of the template file.
So for an example template loaded from /component/foo/template.html:
<img src="$baseUrl/logo.png" />
becomes:
<img src="/component/foo/logo.png" />
Addresses #2384 .
2015-07-20 15:26:00 -07:00
vsavkin
57496926ca
fix(di): fixed dynamic component loading of components created in child injector
2015-07-17 16:18:19 -07:00
Brian Ford
011fab37af
fix(router): improve error for missing base href
...
Closes #3096
2015-07-17 14:00:04 -07:00
Ted Sander
5cc84ed4bb
feat(transformers): implement initializing deferred libraries
...
Implement deferred libraries to work with dependency injection and other
angular codegen. This is done by not initializing the library in the parent
ng_deps file when it is declared as deferred, rewriting the import and,
chaining a future that initializes the library in any files that are using
deferred libraries which need angular codegen.
2015-07-17 13:07:31 -07:00
vsavkin
13b1d85058
refactor(forms): removed iterableToList
2015-07-17 10:52:23 -07:00
Brian Ford
c6409cb624
fix(router): throw when reserved characters used in route definition
...
Closes #3021
2015-07-17 10:51:23 -07:00
Tobias Bosch
f42382db3b
refactor(views): split `ViewManager/ViewContainerRef.createView` into 2 methods
...
BREAKING CHANGES:
`ViewManager.createView` / `ViewContainerRef.create` have been split into 2 methods:
- `createHostView` which takes dynamically created bindings
- `createEmbeddedView` which takes the newly introduced `TemplateRef`
The new type `TemplateRef` is the combination of a `ProtoViewRef` and and `ElementRef`
from the same place. Use `TemplateRef` when working with embedded views in
`ng-if`, `ng-for`, ... instead of `ProtoViewRef`.
Also, `ProtoViewRef` is no more injectable, but `TemplateRef` is.
First part of #1989 to clean up manual content projection.
Closes #3114
2015-07-17 10:40:32 -07:00
vsavkin
5b597de18c
fix(forms): default the initial value of Control to null
2015-07-16 18:34:03 -07:00
Brian Ford
4d28167bc0
feat(router): add interfaces for route definitions in RouteConfig
...
Closes #2261
2015-07-16 16:36:22 -07:00
Tobias Bosch
61c73576c8
fix(renderer): handle empty fragments correctly
...
Closes #3100
2015-07-16 16:18:58 -07:00
Tobias Bosch
116b64de25
fix(view_manager): allow to create host views even if there is an embedded view at the same place.
2015-07-16 16:18:43 -07:00
Pawel Kozlowski
b785503543
refactor(ProtoViewBuilder): improve error message for dangling bindings
...
Closes #3066
2015-07-16 16:16:49 -07:00
Ted Sander
c701664e07
chore(transformers): remove reflector parameter from initReflector signature
...
Remove reflector parameter from initReflector method to simplify ng_deps for reflection
initialization. It wasn't used and was added for testability, but wasn't used. This
keeps the interface simplier.
2015-07-16 14:11:27 -07:00
Tim Blasi
f1e8176995
fix(change_detect): Handle '$' in change detector strings
...
In Dart, '$' indicates the beginning of an interpolation.
- Escapes '$' in strings when generating change detector classes.
- Adds a unit test to cover this case.
2015-07-16 13:01:53 -07:00
Tobias Bosch
5654f2f4e2
test(dom_renderer): test that properties on the root element can be changed.
...
Closes #3013
Closes #3085
2015-07-16 10:39:32 -07:00
vsavkin
b1231593b6
fix(forms): do not reset the value of the input when it came from the view
2015-07-16 10:00:32 -07:00
Tobias Bosch
b1df54501a
feat(compiler): attach components and project light dom during compilation.
...
Closes #2529
BREAKING CHANGES:
- shadow dom emulation no longer
supports the `<content>` tag. Use the new `<ng-content>` instead
(works with all shadow dom strategies).
- removed `DomRenderer.setViewRootNodes` and `AppViewManager.getComponentView`
-> use `DomRenderer.getNativeElementSync(elementRef)` and change shadow dom directly
- the `Renderer` interface has changed:
* `createView` now also has to support sub views
* the notion of a container has been removed. Instead, the renderer has
to implement methods to attach views next to elements or other views.
* a RenderView now contains multiple RenderFragments. Fragments
are used to move DOM nodes around.
Internal changes / design changes:
- Introduce notion of view fragments on render side
- DomProtoViews and DomViews on render side are merged,
AppProtoViews are not merged, AppViews are partially merged
(they share arrays with the other merged AppViews but we keep
individual AppView instances for now).
- DomProtoViews always have a `<template>` element as root
* needed for storing subviews
* we have less chunks of DOM to clone now
- remove fake ElementBinder / Bound element for root text bindings
and model them explicitly. This removes a lot of special cases we had!
- AppView shares data with nested component views
- some methods in AppViewManager (create, hydrate, dehydrate) are iterative now
* now possible as we have all child AppViews / ElementRefs already in an array!
2015-07-15 20:23:27 -07:00
vsavkin
d449ea5ca4
feat(change_detection): added support for ObservableList from package:observe
2015-07-15 17:06:42 -07:00
vsavkin
7879761a41
fix(element_injector): inject the containing change detector ref to directives
2015-07-15 17:06:42 -07:00
Jeff Cross
903ff9047f
feat(core): add ability to reflect DOM properties as attributes
...
By binding the token `DOM_REFLECT_PROPERTIES_AS_ATTRIBUTES` provided by
the dom_renderer module to `true` in the root injector (i.e. bootstrap()),
all elements whose properties are set by angular will be reflected as
attributes with the prefix "ng-reflect-".
Fixes #2910
2015-07-15 13:59:44 -07:00
Brian Ford
8bdca5c03e
fix(router): improve error messages for routes with no config
...
Closes #2323
2015-07-15 10:28:25 -07:00
Caitlin Potter
81abc39929
feat(http): add support for JSONP requests
...
Closes #2905
Closes #2818
2015-07-14 21:31:05 -04:00
vsavkin
7531b48d02
fix(di): instatiate services lazily
2015-07-14 17:10:30 -07:00
Misko Hevery
b73ba68215
refactor(LifecycleEvent): change from onInit to Lifecycle.onInit
...
BREAKING CHANGE
Closes #2928
2015-07-14 16:51:44 -07:00
Jacob MacDonald
e988f59c08
fix(html_adapter): Implement hasAttribute and getAttribute.
...
Fixes the template compiler when running on the server.
2015-07-14 14:48:00 -07:00
Matias Niemelä
5677bf73ca
feat(router): introduce matrix params
...
Closes #2774
Closes #2989
2015-07-13 17:15:13 -07:00
vsavkin
04baa46efe
fix(di): removed default visibility
...
BREAKING CHANGE:
Directives will use the Unbounded visibility by default, whereas before the change they used Self
2015-07-13 16:00:07 -07:00
Jacob MacDonald
4bdc91892a
chore(transformer): add a test that generated change detectors dont call notifyOnBinding for template variables
2015-07-13 15:09:06 -07:00
Tobias Bosch
b3a763a718
fix(compiler): keep `DOM.hasProperty` in sync between browser and transformer.
...
Right now, we always return true until
we have property schema support (#2014 ).
Fixes #2984
Closes #2981
2015-07-13 15:09:06 -07:00
Rado Kirov
7ee6963f5d
feat(query): initial implementation of view query.
...
ViewQuery is a new API that allows a component to query its view.
Closes #1935
2015-07-13 14:44:55 -07:00
Jacob MacDonald
cf103de4a7
fix(transformer): Event getters now use property name not event name
2015-07-13 10:42:09 -07:00
Brian Ford
a9a552c112
feat(router): lifecycle hooks
...
Closes #2640
2015-07-13 09:12:15 -07:00
Martin Probst
3bf8c18c56
chore: run clang-format on code base.
...
This fixes several minor indentation issues (instanceof precendence,
type declaration specificity, template string length calculation).
This should also fix some flip-flop situations with template strings.
2015-07-12 18:50:52 +02:00
yjbanov
0e28297e68
feat(zone): add "on event done" zone hook
2015-07-10 15:45:52 -07:00
Jeff Cross
1eebceab27
feat(pipes): add static append method to Pipes
...
This change allows creation of a new Pipes binding with new pipes appended
to pipes of an inherited Pipes instance.
Closes #2901
2015-07-10 15:42:57 -07:00
Jeff Cross
9a70f84e60
refactor(pipes): rename PipeRegistry to Pipes
...
BREAKING CHANGE:
This change renames all instances of PipeRegistry to Pipes.
As part of this change, the former "defaultPipes" export is
now a Pipes instance, instead of a map. The map that was previously
called "defaultPipes" no longer exists, but may be accessed via
defaultPipes.config.
2015-07-10 15:42:56 -07:00
Jeff Cross
8b3efdf229
chore(pipes): rename pipe_registry.ts -> pipes.ts
...
This is its own commit so that tools have an easier time of preserving
history of the file, by keeping the diff between pipes.ts and
pipe_registry.ts minimal.
Also moved pipe_registry_spec.ts
2015-07-10 15:42:56 -07:00
Sigmund Cherem
62589293aa
fix(transformer): fix 'pub build' in examples
2015-07-10 15:08:48 -07:00
Rado Kirov
749d043258
fix(css_shim): fixes multiple uses of polyfill-unscoped-rule.
2015-07-10 12:40:57 -07:00
vsavkin
0ed5dd0d7b
fix(di): hostInjector and viewInjector support nested arrays
2015-07-09 15:03:38 -07:00
Pouria Alimirzaei
b716046b97
feat(pipes): add date pipe
...
Closes #2877
2015-07-09 15:00:14 -07:00
Pouria Alimirzaei
3143d188ae
feat(pipes): add number (decimal, percent, currency) pipes
2015-07-09 14:59:57 -07:00
vsavkin
b54e7214f0
chore: removed angular2.api.ts
...
BREACKING CHANGE:
We export InjectMetadata instead of InjectAnnotation
2015-07-09 13:54:07 -07:00
Victor Berchet
447926dc08
refactor(RegExp): use /.../ to create RegExp literal
...
fixes #2691
2015-07-09 09:14:25 +02:00
Pawel Kozlowski
bab271fcb4
test(CssClass): verify that classes from string exp are cleared properly
...
Closes #2888
Closes #2934
2015-07-08 16:08:32 -07:00
Bob Nystrom
ac50ffca5e
fix(transform): handle multiple interfaces in directive processor
...
Comma separate the list of interfaces in the directive transformer.
Closes #2941
2015-07-08 16:05:42 -07:00
vsavkin
3f7ebde037
feat(forms): changed all form directives to have basic control attributes
2015-07-08 12:04:38 -07:00
vsavkin
4656c6f5cf
tools: added experimentalDecorators flag to tsconfig
2015-07-08 10:46:03 -07:00
Brian Ford
286a249a9a
feat(router): support deep-linking to siblings
...
Closes #2807
2015-07-07 14:54:59 -07:00
Brian Ford
d828664d0c
fix(router): allow generating links with numeric params
2015-07-07 14:54:59 -07:00
Jacob MacDonald
9e1158de4f
fix(transformer): Support prefixed annotations in the transformer.
...
closes https://github.com/angular/angular/issues/2754
2015-07-07 11:26:42 -07:00
vsavkin
569766fa8b
refactor(di): added support for custom dep providers
2015-07-07 08:27:54 -07:00
vsavkin
c2efa23e94
fix(change_detection): throw ChangeDetectionError in JIT mode
2015-07-06 18:03:50 -07:00
vsavkin
d2774421e8
fix(change_detection): do not coalesce records with different directive indices
2015-07-06 17:59:38 -07:00
Jacob MacDonald
2b45bd2a63
fix(transformer): Put paramater data in the same order as the reflected version.
...
Previously it would be [@Inject(#thing), Thing], but it should be [Thing, @Inject(#thing)].
2015-07-06 15:48:00 -07:00
Jacob MacDonald
7986e7ce7e
feat(transformer): Support @Injectable() on static functions
2015-07-06 15:47:54 -07:00
Jacob MacDonald
311b47720b
fix(transformer): Fix string interpolation for bindings.
...
Previously it did not stringify properties and used `+` instead of ` `.
2015-07-06 14:57:21 -07:00
Pawel Kozlowski
582551bea9
test(ProtoViewBuilder): correct duplicate tests
...
Closes #2860
2015-07-06 22:40:49 +02:00
Itay Radotzki
883b506445
fix(Http): add support for headers
2015-07-06 10:06:12 -07:00
Igor Minar
d5ace7a562
test(route_link): add missing unit tests
2015-07-02 23:21:33 -07:00
Pawel Kozlowski
cd65fc2a5e
fix(compiler): detect and strip data- prefix from bindings
...
Fixes #2687
Closes #2719
2015-07-02 17:32:12 +02:00
vsavkin
d1393b0581
fix(di): injecting null causes a cyclic dependency
2015-07-01 17:08:45 -07:00
Pawel Kozlowski
0598226e24
fix(compiler): don't trigger duplicated directives
...
Fixes #2756
Closes #2568
2015-07-01 16:13:26 -07:00
Pouria Alimirzaei
0b50258814
feat(pipes): add limitTo pipe
2015-07-01 13:36:01 -07:00
Pouria Alimirzaei
600d53c68e
feat(pipes): support arguments in transform function
2015-07-01 13:36:01 -07:00
vsavkin
f0e962c55e
feat(di): removed app injector
...
BREAKING CHANGE:
THe appInjector property has been removed. Instead use viewInjector or hostInjector.
2015-07-01 13:33:43 -07:00
Jacob MacDonald
73a939e76c
fix(change detectors): Fix deduping of protos in transformed dart mode.
...
In non-transformed mode the funcOrValue check was enough, but once
transformed these all use the same function for getters, so we need
to also check the name.
2015-07-01 12:56:31 -07:00
Ted Sander
dcdd73065a
feat(transformers): provide a flag to disable inlining views
...
Add a flag to allow a user to disable inlining css/html content into the views.
Closes #2658
2015-07-01 11:39:16 -07:00
Alex Eagle
27e710019c
chore(typing): use types for DOM API
...
This is possible now that ts2dart special cases these for dart.
Fixes #2770
2015-07-01 09:57:11 -07:00
Brian Ford
f66ce096d8
feat(router): support deep-linking to anywhere in the app
...
Closes #2642
2015-06-30 17:21:50 -07:00
Jeff Cross
b3d98cba77
refactor(http): remove default settings from `RequestOptions` constructor
...
The BaseRequestOptions class is responsible for declaring default values,
while the RequestOptions class is merely responsible for setting values
based on values provided in the constructor.
2015-06-30 15:21:36 -07:00
Jeff Cross
146dbf1270
refactor(Http): remove HttpFactory
...
BREAKING CHANGE: HttpFactory is no longer available.
This factory provided a function alternative to the `request` method of the
Http class, but added no real value. The additional factory required an
additional IHttp interface, an odd way to inject while preserving type information
(`@Inject(HttpFactory) http:IHttp`), and required additional documentation in the
http module.
Closes #2564
2015-06-30 15:21:36 -07:00
Jeff Cross
55bf0e554f
feat(http): refactor library to work in dart
...
Mostly internal refactoring needed to make ts2dart and DartAnalyzer happy.
Fixes #2415
2015-06-30 15:21:36 -07:00
Alex Eagle
44891996b5
fix(build): add missing return types now enforced by linter
2015-06-29 15:31:41 -07:00
Julie Ralph
82e8e8c638
chore(test): upgrade form tests to testcomponentbuilder
...
Part of #2354
2015-06-29 13:59:12 -07:00
Tobias Bosch
d6cef88dd8
fix(dynamic_component_loader): check whether the dynamically loaded component has already been destroyed
...
Fixes #2748
Closes #2767
2015-06-29 11:30:56 -07:00
vsavkin
eb0fd7967c
feat(di): changed InstantiationError to print the original stack
2015-06-29 11:16:12 -07:00
Julie Ralph
ab3f2365fd
chore(test): move ng-style tests to TestComponentBuilder
...
Part of #2354
2015-06-29 10:59:32 -07:00
Julie Ralph
66d0e4e656
chore(test): migrate router tests to TestComponentBuilder
...
Part of #2354
2015-06-29 10:58:39 -07:00
vsavkin
22d3943831
refactor(di): unified di injector and core injector
...
BREAKING CHANGES:
* InjectAsync and InjectLazy have been removed
* toAsyncFactory has been removed
2015-06-26 15:59:18 -07:00
Jacob MacDonald
5a21dc5340
fix(transformer): Add getters for `events`.
...
closes https://github.com/angular/angular/issues/2725
2015-06-26 08:07:46 -07:00
Jacob MacDonald
d037c082fb
fix(transformer): Don't hang on bad urls and log better errors
...
closes https://github.com/angular/angular/issues/2605
2015-06-26 07:18:58 -07:00
Jacob MacDonald
9c768501c4
fix(transformer): Fix annotation_matcher for NgForm directive.
...
The NgForm directive imports Directive from a previously unlisted import.
2015-06-26 07:16:03 -07:00
Pawel Kozlowski
b50edfd1f3
feat(NgStyle): add new NgStyle directive
...
Closes #2665
2015-06-26 12:50:20 +02:00
Marc Laval
dd7910347a
chore(windows): fix the test.server.dart task
...
Closes #2703
2015-06-26 10:25:26 +02:00
Jason Teplitz
7a7b3a6cb9
perf(Compiler): do not resolve bindings for cached ProtoViews
2015-06-25 14:45:08 -07:00
Pawel Kozlowski
aeb17d8d44
test(NgSwitch): simplify tests with static values
2015-06-25 15:12:16 +02:00
Julie Ralph
85d6ae38b9
chore(test): migrate directives tests to testcomponentbuilder
...
Part of #2354
2015-06-24 21:58:36 -07:00
Julie Ralph
d3dda614dd
chore(test): migrate remaining core tests to testcomponentbuilder
...
Also add a small utility function to debug element to get an
array of native elements, which works smoothly with the
toHaveText matcher.
2015-06-24 21:52:03 -07:00
Victor Berchet
a0e0f3123b
refactor: change template for view where it makes sense
2015-06-24 18:40:04 +02:00
Victor Berchet
b15474c6f2
refactor(TemplateResolver): rename to ViewResolver
2015-06-24 18:40:04 +02:00
Victor Berchet
356c927d12
refactor(TemplateLoader): rename to ViewLoader
2015-06-24 18:40:04 +02:00
Victor Berchet
b89c0672e6
test(refactor): cleanup test to use the new UrlMapper
2015-06-24 18:40:04 +02:00
Victor Berchet
3ea655918e
refactor(Compiler): inline styles before compiling the template
2015-06-24 18:40:03 +02:00
Victor Berchet
3875f02a52
refactor(UrlResolver): move away from the anchor link
...
fixes #2029
fixes #872
2015-06-24 18:40:03 +02:00
Victor Berchet
06aaa0c50e
refactor(UrlResolver): extract app url resolution into AppRootUrl
...
fixes #1732
2015-06-24 18:40:03 +02:00
Pawel Kozlowski
8c993dca03
feat(CSSClass): add support for string and array expresions
...
Closes #2025
2015-06-24 16:17:10 +02:00
Julie Ralph
2c11205b96
chore(testbed): migrate compiler integration spec to testcomponentbuilder
...
Part of #2354
2015-06-23 19:02:46 -07:00
Rado Kirov
d800d2f5d7
fix(injectors): sync injector tree with dom element tree.
...
Changes adds createGrowableSize method to allow for growable lists with fixed
start.
Closes : #2498
2015-06-23 18:32:57 -07:00
Tobias Bosch
6149ce28a7
fix(render): fix failing tests in dynamic_component_loader.ts
2015-06-23 17:43:36 -07:00
Tobias Bosch
c8bdacb195
refactor(render): cleanup access to native dom elements
...
BREAKING CHANGES:
- rename `ElementRef.domElement` to `ElementRef.nativeElement`
- add `Renderer.getNativeElementSync` to make the app side
less dependent on the dom renderer.
- don’t use `ElementRef.nativeElement` in directives but
use the methods on `Renderer` directly.
- Removed `ElementRef.setAttribute`. Use `Renderer.setElementAttribute` instead.
Closes #2712
Last part of #2476
Closes #2476
2015-06-23 17:27:59 -07:00
Julie Ralph
5c9e53a25e
chore(testbed): migrate dynamic component loader spec to testcomponentbuilder
...
Part of #2354
2015-06-23 16:33:11 -07:00
Tobias Bosch
ba9fecd068
refactor(render): use `RenderElementRef` in all renderer methods
...
BREAKING CHANGES:
- Almost all methods in `Renderer` now take a `RenderElementRef` instead
of a `ViewRef` + `boundElementIndex`.
- These methods can be called with the `ElementRef` from the app side
directly.
Closes #2706
Related to #2476
2015-06-23 14:26:34 -07:00
Tobias Bosch
0a51ccbd68
feat(render): don’t use the reflector for setting properties
...
BREAKING CHANGES:
- host actions don't take an expression as value any more but only a method name,
and assumes to get an array via the EventEmitter with the method arguments.
- Renderer.setElementProperty does not take `style.`/... prefixes any more.
Use the new methods `Renderer.setElementAttribute`, ... instead
Part of #2476
Closes #2637
2015-06-22 18:35:16 -07:00
Brian Ford
e5de1f771a
refactor(router): refactor BrowserLocation into LocationStrategy
...
This makes it easy to mock browser location and paves the way to
implementing hash routing.
2015-06-22 16:14:24 -07:00
vsavkin
92ffc465d6
feat(host): limits host properties to renames
2015-06-22 12:10:02 -07:00
Pawel Kozlowski
d7b9345b6d
feat(compiler): detect dangling property bindings
...
BREAKING CHANGE: compiler will throw on binding to non-existing properties.
Till now it was possible to have a binding to a non-existing property,
ex.: `<div [foo]="exp">`. From now on this is compilation error - any
property binding needs to have at least one associated property:
eaither on an HTML element or on any directive associated with a
given element (directives' properites need to be declared using the
`properties` field in the `@Directive` / `@Component` annotation).
Closes #2598
2015-06-20 08:06:07 +02:00
Yegor Jbanov
f158fbd131
chore(ShadowDomStrategy): fix MapWrapper usage, DemoUrlResolver
2015-06-19 18:50:30 -07:00
Victor Berchet
1c4d233fe7
fix(ShadowDomStrategy): always inline import rules
...
fixes #1694
2015-06-19 18:50:30 -07:00
Caitlin Potter
ed9d9d5096
build(broccoli): make node_trees produce strict-mode scripts
...
Closes #2575
Closes #2648
2015-06-19 21:19:12 -04:00
Matias Niemelä
2d2ae9b8d8
feat(router): enforce usage of ... syntax for parent to child component routes
2015-06-19 20:54:45 -04:00
vsavkin
20a8f0dbe5
refactor(pipes): removed pipes from properties
...
BREAKING CHANGE:
This PR remove an ability to use pipes in the properties config. Instead, inject the pipe registry.
2015-06-19 16:56:52 -07:00
vsavkin
c899b0a74c
feat(element_injector): support multiple injectables with the same token
2015-06-19 16:02:56 -07:00
vsavkin
4d1ed509e3
refactor(forms): refactored forms to user Query to get html validators
2015-06-19 16:02:43 -07:00
Martin Probst
920982c4e8
chore: update files to match clang-format 1.0.21.
2015-06-19 15:00:32 -07:00
Ted Sander
f2ef90b240
feat(transformers): inline styleUrls to view directive
...
While creating the ng_deps.dart file for a view inline the styleUrls attribute.
This copies the pattern used for templateUrl, aleviating the need to make an
XHR request for those resources.
closes #2566
2015-06-18 22:12:44 -07:00
vsavkin
f80f97253c
refactor(change_detection): made ChangeDetector and ProtoChangeDetector interfaces
...
List of changes:
- Makes ChangeDetector and ProtoChangeDetector interfaces
- Assigns a unique id to every detector
2015-06-18 17:41:22 -07:00
Tobias Bosch
9d4111d69d
fix(compiler): make text interpolation more robust
...
Allows to add or remove previous siblings of text
interpolations (e.g. by added `<script>` tags for
content reproduction, or by removed `<style>` tags).
Also calculates correctly whether an element is
empty.
Fixes #2591
2015-06-18 15:45:00 -07:00
Tobias Bosch
180e617866
Revert "fix(Compiler): fix text nodes after content tags"
...
This reverts commit d599fd3434
.
but keeps the integration test. The test is made green by the
following commits.
2015-06-18 15:45:00 -07:00
Martin Probst
941362014b
feat: remove MapWrapper.clear().
...
It's the same in Dart and JavaScript.
2015-06-18 14:55:13 -07:00
Martin Probst
dfd30910aa
feat: remove MapWrapper.contains().
2015-06-18 14:55:12 -07:00
Martin Probst
be7ac9fd41
feat: remove MapWrapper.create()/get()/set().
...
Better dart2js code, better Angular code.
2015-06-18 14:55:12 -07:00
Yegor Jbanov
5beaf6d735
fix(change detection): preserve memoized results from pure functions
2015-06-17 17:33:37 -07:00
vsavkin
b0e2ebda70
feat(query): added support for querying by var bindings
2015-06-17 16:36:55 -07:00
Martin Probst
c7e48350d3
chore: kill ListWrapper.create() and .push().
...
These wrappers are not natively understood by
ts2dart. Removing them will improve Dart2JS
compilation due to fewer megamorphic calls to List
functions.
It also makes Angular code more succinct and
improves type safety in Angular due to better type
inference of the Array component type.
This change exposed several bugs in Angular.
2015-06-17 16:21:55 -07:00
Tobias Bosch
5dee8e26cc
fix(views): remove dynamic component views, free host views, free embedded views
...
Closes #2472
Closes #2339
BREAKING CHANGE
- `Compiler.compile` has been removed, the only way to compile
components dynamically is via `Compiler.compileInHost`
- `DynamicComponentLoader.loadIntoExistingLocation` has changed:
* renamed into `loadIntoLocation`
* will always create the host element as well
* requires an element with a variable inside of the host component view
next to which it will load new component.
- `DynamicComponentLoader.loadNextToExistingLocation` was renamed into
`DynamicComponentLoader.loadNextToLocation`
- `DynamicComponentLoader.loadIntoNewLocation` is removed
* use `DynamicComponentLoader.loadNextToLocation` instead
and then move the view nodes
manually around via `DomRenderer.getRootNodes()`
- `AppViewManager.{create,destroy}Free{Host,Embedded}View` was removed
* use `AppViewManager.createViewInContainer` and then move the view nodes
manually around via `DomRenderer.getRootNodes()`
- `Renderer.detachFreeView` was removed. Use `DomRenderer.getRootNodes()`
to get the root nodes of a view and detach them manually.
2015-06-17 11:33:51 -07:00
Misko Hevery
b2c66949b2
feat: allow Type.annotations = Component(...).View(...)
...
Closes #2577
2015-06-16 16:36:46 -07:00
Jeff Cross
5b5ffe75d0
docs(Http): add docs for Http lib
...
Fixes #2442
2015-06-16 15:42:18 -07:00
Jeff Cross
e68e69e7e5
refactor(Http): rename request options interface
2015-06-16 15:42:01 -07:00
Jeff Cross
70ffd267f8
refactor(Http): implement Request object parameter for http.request
...
Fixes #2416
2015-06-16 15:42:01 -07:00
Jeff Cross
b68e561c0f
feat(Http): add Http class
...
Fixes #2530
2015-06-16 15:42:01 -07:00
Jeff Cross
93596dff3f
feat(BaseRequestOptions): add merge method to make copies of options
2015-06-16 15:42:01 -07:00
Victor Berchet
cdfb635737
refactor(facade): refactor type check function - is*()
2015-06-16 19:27:34 +02:00
Victor Berchet
91c75f99fe
refactor(ShadowDomStrategy): remove unused imports in test
2015-06-16 17:41:32 +02:00
Victor Berchet
6e38515402
fix(ShadowDom): fix emulation integration spec to test all 3 strategies
...
fixes #2546
2015-06-16 17:38:42 +02:00
Victor Berchet
d599fd3434
fix(Compiler): fix text nodes after content tags
...
fixes #2095
2015-06-16 17:38:42 +02:00
Victor Berchet
b2e6ad85ea
style(TestComponentBuilder): fix a typo in the spec
2015-06-16 17:37:58 +02:00
vsavkin
d8e2795368
fix(view): local variables override local variables set by ng-for
2015-06-16 07:48:26 -07:00
Pawel Kozlowski
7a41b19e58
test(PropertySetterFactory): add more tests
...
There are upcoming changes to the way we generate
and verify setters so more test are needed to cover
all the corner cases that are being handled today.
Closes #2559
2015-06-16 14:49:59 +02:00
Misko Hevery
bc9e482b39
fix: Class factory now adds annotations
2015-06-15 22:23:54 -07:00
Brian Ford
cab1d0ef0f
feat(router): allow configuring app base href via token
2015-06-15 18:04:09 -07:00
vsavkin
f1541e65b3
fix(forms): fixed the handling of the select element
2015-06-15 13:16:41 -07:00
Tobias Bosch
9bad70be5e
fix(selector): select by attribute independent of value and order
...
Closes #2513
2015-06-15 12:10:11 -07:00
vsavkin
5bfcca2d5b
feat(query): notify on changes
2015-06-15 11:10:21 -07:00
Matias Niemelä
73d152506b
fix(router): ensure that root URL redirect doesn't redirect non-root URLs
...
Closes #2221
2015-06-15 10:48:47 -07:00
Victor Berchet
ac3e624d0f
feat(View): add support for styleUrls and styles
...
fixes #2382
2015-06-15 19:35:16 +02:00
Victor Berchet
7d32879929
feat(Parser): support if statements in actions
...
fixes #2022
2015-06-15 18:54:12 +02:00
Misko Hevery
c3ae34f066
feat: support decorator chaining and class creation in ES5
...
Closes #2534
2015-06-14 16:54:08 -07:00
Brian Ford
5782f063f1
fix(router): rethrow exceptions
...
Closes #2391
2015-06-12 18:27:00 -07:00
Martin Probst
4ae7df27d2
fix: improve type safety by typing `refs`.
2015-06-12 18:02:07 -07:00
vsavkin
c51aef9f7d
fix(element_injector): changed visibility rules to expose hostInjector of the component to its shadow dom
2015-06-12 17:17:31 -07:00
Tim Blasi
bbfb4e1dcc
fix(dynamic_component_loader): Fix for ts2dart issue
...
Fix a build break by declaring a type for `locals`.
See https://github.com/angular/ts2dart/wiki/Builtin-fa%C3%A7ade-methods#fixing-untyped-property-access-errors
for some context.
2015-06-12 16:55:08 -07:00
Tim Blasi
8e3bf3907a
feat(dart/transform): Use the best available Change Detectors
...
Enable pregenerated (for Dart) and JIT (for Js) change detectors when
possible. Previously we would always use `DynamicChangeDetector`s, but
these cause megamorphic calls and are therefore much slower.
Closes #502
2015-06-12 16:04:09 -07:00
vsavkin
21dcfc89e9
fix(dynamic_component_loader): implemented dispose for dynamically-loaded components
2015-06-12 15:47:09 -07:00
Martin Probst
f3d741854a
fix: add types for ts2dart's façade handling.
...
... in many, many places.
2015-06-12 15:41:08 -07:00
Martin Probst
c4ecbf0a7f
fix: rename FORWARD_REF to forwardRef in the Angular code base.
...
Now that ts2dart understands forwardRef, there's
no need to maintain the old syntax.
2015-06-12 15:41:08 -07:00
Matias Niemelä
cdc7b03e67
fix(router): avoid two slash values between the baseHref and the path
2015-06-12 15:23:29 -07:00
Matias Niemelä
e372cc779d
fix(router): do not prepend the root URL with a starting slash
2015-06-12 15:23:29 -07:00
Victor Berchet
38e5c3f918
style: format the code with the updated clang
2015-06-12 19:07:13 +02:00
Victor Berchet
b4e82b8bc7
fix(DirectiveMetadata): add support for events, changeDetection
2015-06-12 19:05:51 +02:00
Martin Probst
a6e7123995
feat: adjust formatting for clang-format v1.0.19.
2015-06-12 09:51:57 -07:00
Victor Berchet
7648bb8ee3
doc(Lifecycle events): Document the call order
2015-06-12 18:51:04 +02:00
vsavkin
4fe919335c
refactor(forms): made directive names consistent
2015-06-12 09:45:55 -07:00
vsavkin
a858f6ac42
fix(forms): getError does not work without path
2015-06-12 09:45:55 -07:00
Rado Kirov
355ab5b3a6
feat(query): adds support for descendants and more list apis.
...
Additional clean up of query code.
Closes : #1935
BREAKING CHANGE:
By default Query only queries direct children.
2015-06-11 16:05:06 -07:00
Tobias Bosch
ca09701343
perf(render): only create `LightDom` instances if the element has children
2015-06-11 14:45:44 -07:00
Tobias Bosch
4f27611ae6
perf(render): don't create property setters if not needed
2015-06-11 14:45:44 -07:00
Misko Hevery
5ab92ce844
bug: increase number of supported contstructor args to 20
...
Closes #2487
2015-06-11 14:02:36 -07:00
Victor Berchet
591f742d42
feat(transform): update for Directive.host
2015-06-11 13:11:10 -07:00
Victor Berchet
f3b49378e4
feat(Directive): Have a single Directive.host which mimics HTML
...
fixes #2268
BREAKING CHANGE:
Before
@Directive({
hostListeners: {'event': 'statement'},
hostProperties: {'expression': 'hostProp'},
hostAttributes: {'attr': 'value'},
hostActions: {'action': 'statement'}
})
After
@Directive({
host: {
'(event)': 'statement',
'[hostProp]': 'expression' // k & v swapped
'attr': 'value',
'@action': 'statement'
}
})
2015-06-11 13:11:09 -07:00
Victor Berchet
f9745327e6
fix(Parser): Parse pipes in arguments
...
fixes #1680
2015-06-11 21:02:40 +02:00
Tim Blasi
a187c782aa
feat(dart/transform): Allow absolute urls in templates
...
Allow `templateUrl` to be specified as an absolute `package:` import.
2015-06-11 09:35:17 -07:00
Tim Blasi
950f2a38cd
refactor(dart/transform): Rename parser.dart > ng_deps.dart
...
- Rename the file that defines NgDeps from parser.dart to ng_deps.dart.
- Remove the `Parser` class and replace with the static `NgDeps.parse`
method.
2015-06-11 08:42:34 -07:00
Victor Berchet
f2371487a1
refactor(ProtoRecord): switch to enum
2015-06-11 17:11:34 +02:00
Victor Berchet
6ca81fb98c
refactor(ProtoViewDto): switch to enum
2015-06-11 17:11:34 +02:00
vsavkin
af35ab56a3
fix(life_cycle): throw when recursively reentering LifeCycle.tick
2015-06-11 07:43:14 -07:00
vsavkin
15dab7c5b2
fix(ng_zone): updated zone not to run onTurnDown when invoking run synchronously from onTurnDone
2015-06-11 07:43:13 -07:00
Misko Hevery
2ccc65d7fd
fix: Improve error message on missing dependency
2015-06-10 16:40:38 -07:00
Victor Berchet
331a051e75
feat(Parser): implement Unparser
...
fixes #1949
closes #2395
2015-06-10 16:24:59 -07:00
Tim Blasi
76beaa2097
refactor(change detect): Clean up change detector test layout
...
- Rename simple_watch_config > change_detector_config
- Add a bunch of comments explaining what's going on with the change
detector tests.
Closes #2468
2015-06-10 16:09:48 -07:00
Victor Berchet
94272af45b
chore: update zone.js to 0.5.1
...
fix #1862
2015-06-10 23:41:45 +02:00
Tim Blasi
ad95601e3c
test(change detect): Port remaining unit tests
...
Move all remaining unit tests for change detectors to exercise Dart
pre-generated change detectors as well as `dynamic` and `JIT` change
detectors.
See #502
2015-06-10 14:11:42 -07:00
Tim Blasi
17c6d6a92d
feat(dart/transform): Add onInit and onCheck hooks in Dart
...
Implement `onInit` and `onCheck` hooks in pre-generated Dart change
detectors. This mirrors the changes made to the JIT change detector in
c39c8ebcd0
.
2015-06-10 14:11:42 -07:00
Rado Kirov
92d565848b
fix(shadow_dom): moves the imported nodes into the correct location.
2015-06-10 13:50:12 -07:00
Tim Blasi
ddd5a235c3
test(change detect): Port change detect tests for mode
...
More the change detect tests that exercise various detection modes to
use the Dart pre-generated change detectors in addition to the `dynamic`
and `JIT` change detectors.
See #502
2015-06-09 17:04:50 -07:00
vsavkin
73bce40287
feat(forms): export validator directives as part of formDirectives
2015-06-09 11:51:14 -07:00
vsavkin
5fc23caef7
feat(forms): changed forms to capture submit events and fires synthetic ng-submit events
2015-06-09 11:51:13 -07:00
vsavkin
1a4d23742b
feat(forms): added hasError and getError methods to all controls
2015-06-09 11:51:08 -07:00
Jeff Cross
f34f8df319
refactor(xhr): move render's xhr implementation to render/
...
The existence of this module in the services/ folder led some to believe xhr
is meant to be a general-purpose http library.
Fixes #2305
2015-06-09 10:28:35 -07:00
Jeff Cross
21568106b1
feat(http): add basic http service
...
This implementation only works in JavaScript, while the Observable transpilation
story gets worked out. Right now, the service just makes a simple request,
and returns an Observable of Response.
Additional functionality will be captured in separate issues.
Fixes #2028
2015-06-09 10:00:04 -07:00
Tim Blasi
0409b4ca49
test(change detect): Port more change detect tests
...
Move more change detector unit tests to exercise the Dart pre-generated
change detectors in addition to `dynamic` and `JIT` change detectors.
See #502
2015-06-09 07:18:48 -07:00
gdi2290
e77710a372
fix(JsonPipe): always transform to json
...
BREAKING CHANGE:
no longer cache ref
2015-06-08 16:22:04 -07:00
Tim Blasi
b6e95bb96e
feat(change detect): Throw on attempts to use dehydrated detector
...
- Modify change detectors to `throw` when attempting to detect changes
on a dehydrated detector.
- Modify `DynamicChagneDetector` to use `null` for the `context` of a
dehydrated detector.
2015-06-08 16:10:41 -07:00
Brian Ford
cd95e078fe
feat(router): add routing to async components
...
Note that this also removes the `components` option from `RouteConfig`.
This functionality will be reintroduced with the more general `//` routing.
See #2329 for more details.
2015-06-08 15:49:56 -07:00
Tim Blasi
d5195d4097
test(change detect): Port Locals tests to pregenerated cds
...
Move existing unit tests exercising Locals to also test Dart's
pre-generated change detectors.
See #502
2015-06-08 13:27:11 -07:00
Victor Berchet
4d338a4f5c
test(ElementInjector): test that hostInjector has priority over viewInjector
2015-06-08 20:34:44 +02:00
Victor Berchet
6a6b43de07
feat(ElementInjector): throw if multiple directives define the same host injectable
...
relates to #2015
2015-06-08 20:34:44 +02:00
Victor Berchet
309ef0f354
refactor(test): remove explicit calls to flushMicrotasks()
...
flushMicrotasks() is now called at after the fakeAsync callback returns,
see https://github.com/angular/angular/pull/2290
2015-06-08 20:30:49 +02:00
Tim Blasi
81fc657356
refactor(change detect): Remove unnecessary param from tests
2015-06-08 11:21:45 -07:00
Victor Berchet
29c72abcc4
feat(Events): allow a different event vs field name
...
closes #2272
closes #2344
2015-06-08 19:29:49 +02:00
Tim Blasi
d1b35f9174
fix(dart/transform): Don't set ReflectionCapabilities over an async gap
...
Update the transformer's `TemplateCompiler` phase to avoid setting
`reflector.reflectionCapabilities`, allowing asynchronous
operations, and restoring the original value, which allows
`reflector.reflectionCapabilities` to get into a bad state.
2015-06-06 17:10:06 -07:00
Misko Hevery
a418397174
fix: corrected var/# parsing in template
...
Closes #2084
2015-06-05 16:22:41 -07:00
Misko Hevery
8d081ea7af
fix: include error message in the stack trace
2015-06-05 16:22:41 -07:00
Tobias Bosch
8a52375fb8
chore(transformer): add tests for property bindings and multiple executions
2015-06-05 13:11:24 -07:00
Tobias Bosch
87b3b718e3
refactor(render): don’t use a global cache for property setters
...
Related to #2359
2015-06-05 13:11:23 -07:00
Tim Blasi
529805508a
feat(dart/change_detect): Add type to ChangeDetector context
...
Add a type for the `context` field in Dart's pre-generated change
detectors. This requires slight changes to set the dehydrated value of
`context` to `null` rather than `ChangeDetectionUtil.uninitialized()`,
which was its former dehydrated state.
Mirror these chagnes as closely as possible in the
`ChangeDetectionJITGenerator` to allow easier maintenance.
Closes #2070
2015-06-05 12:53:25 -07:00
Tim Blasi
851797aecb
refactor(dart): Run dartfmt 0.1.8
...
Format Dart code using dartfmt 0.1.8. Update pubspec to require
dart_style 0.1.8.
2015-06-05 11:45:36 -07:00
Tim Blasi
dc6e7eb19b
feat(dart/transform): Record Type interfaces
...
To support interface-based lifecycle methods (#2220 ), we need to be able
to query for the `interface`s a class supports. Record implemented
interfaces to allow mirror-less querying at runtime.
Closes #2204
2015-06-04 15:02:12 -07:00
vsavkin
e5419febe4
feat(transformers): updated transformers
2015-06-04 14:14:03 -07:00
vsavkin
69b75b7fd8
feat(view): added support for exportAs, so any directive can be assigned to a variable
2015-06-04 14:14:03 -07:00
Tobias Bosch
827841ec5b
refactor(render): add `DomElement`
...
Replaces the multiple arrays of `DomView`
by a single array with `DomElement`s.
Note: this commit does not show a performance regression
(tested against the tree benchmark locally).
2015-06-04 11:44:26 -07:00
Victor Berchet
53694eb64a
feat(FakeAsync): check pending timers at the end of fakeAsync in Dart
...
Made possible with quiver 0.21.4
2015-06-04 09:09:18 +02:00
Rado Kirov
552985e305
fix(types): parametrize QueryList.
2015-06-03 17:08:55 -07:00
Martin Probst
f999d5a156
chore: move to clang-format 1.0.17.
...
clang-format 1.0.17 substantially improves formatting for fat arrow functions
and array literal detection. It also fixes a number of minor formatting issues.
2015-06-03 15:27:27 -07:00
vsavkin
3baf815d76
feat(forms): added support for status classes
2015-06-03 14:43:46 -07:00
vsavkin
96cadcc29e
refactor(forms): handle dirty/pristine explicitly
2015-06-03 14:43:46 -07:00
Tobias Bosch
5030ffb01c
feat(view): introduce free embedded views
...
Free embedded views are view instances that are created
logically in the same was as views of a ViewContainer,
but their dom nodes are not attached.
BREAKING CHANGE:
- `Renderer.detachFreeHostView` was renamed to
`Renderer.detachFreeView`
- `DomRenderer.getHostElement()` was generalized into
`DomRenderer.getRootNodes()`
2015-06-03 14:42:00 -07:00
Tim Blasi
246151b2f9
test(dart/transform): More change detector unit tests
...
Port some change detector unit tests which formerly ran only on dynamic
& JIT change detection to run for pre-generated Dart change detectors as
well.
2015-06-03 10:37:34 -07:00
Ian Riley
2b714df64e
refactor(test/mock): Ts'ify angular2/test/mock
...
Translates the last test directory -- angular2/test/mock -- to TypeScript.
2015-06-03 09:52:37 -07:00
Victor Berchet
c7572ac1f9
feat(fakeAsync): flush the microtasks before returning
...
fixes #2269
2015-06-03 06:48:08 +02:00
vsavkin
ec3a78289f
feat(forms): added touched and untouched to Control
2015-06-02 17:32:41 -07:00
vsavkin
f543834be9
feat(forms): renamed control, control-group into ng-control and ng-control-group
2015-06-02 16:24:08 -07:00
vsavkin
6bef1c4169
feat(forms): changed the selector of TemplatdrivenFormDirective to match <form>
2015-06-02 16:24:08 -07:00
vsavkin
652ed0cf6d
feat(form): implemented an imperative way of updating the view by updating the value of a control
2015-06-02 16:24:07 -07:00
vsavkin
559f54e92b
feat(forms): added ng-model
2015-06-02 16:24:07 -07:00
Tobias Bosch
ba7956f521
fix(render): only look for content tags in views that might have them.
...
Largetable benchmark with `interpolationAttr` and 200 rows / 20 columns:
Time for destroy/create pair dropped from about 1260ms to about 150ms.
Related to #2298 , but does not really fix it as we are still slow
if people are using `<content>`.
Closes #2297
2015-06-02 15:31:07 -07:00
Victor Berchet
0b43e3cf32
refactor(lang_spec): Add missing ;s and clang-format
2015-06-02 21:09:38 +02:00
Jeff Cross
ba07f39347
refactor(router): convert to typescript
...
Fixes #2001
2015-06-02 11:06:44 -07:00
Marc Laval
4c8e11a577
fix(ShadowCss): keyframes tests failing in Safari
...
Closes #2283
2015-06-02 19:23:06 +02:00
Victor Berchet
c60091b949
refactor(Compiler): improve the error message on component load error
...
by adding the fetched url.
relates to #1460
2015-06-02 12:59:50 +02:00
Tobias Bosch
62a95823e0
fix(selector): support multiple `:not` clauses
...
Fixes #2243
2015-06-01 14:24:19 -07:00
Tim Blasi
22f5925202
fix(facade): Make PromiseWrapper#all semantics equivalent
...
The semantics between ES6 `Promise#all` and Dart's `Future#wait` are
different for values that are not `Promise`/`Future`s. In ES6,
non-`Promise` values are immediately completed to their current value.
In Dart, non-`Future` values cause an error.
Updated Dart's `PromiseWrapper#all` implementation to conform to the ES6
spec.
2015-06-01 07:26:46 -07:00
vsavkin
a9d6fd9afa
feat(forms): implemented template-driven forms
2015-05-30 11:56:00 -07:00
vsavkin
f19970a481
feat(transformers): added support for lifecycle events
2015-05-29 16:40:34 -07:00
vsavkin
d523613329
test(di): added a test verifying hierarchical injection
2015-05-29 15:52:46 -07:00
Tim Blasi
000a8e25a2
fix(dart/transform): Fix DirectiveMetadata read tests
2015-05-29 14:56:42 -07:00
Tim Blasi
8a3b0b366f
feat(dart/transform): Generate ChangeDetector classes
...
Use the `ProtoViewDto` created by the render `Compiler` to create a
`ChangeDetectorDefinition`.
From there, generate a subclass of `AbstractChangeDetector` for each
`ChangeDetectorDefinition`.
Run some basic unit tests for the dynamic and JIT change detectors on
pre-generated change detectors.
2015-05-29 14:48:53 -07:00
Tobias Bosch
f9908cd436
feat(test): add element probe
...
Usage: bootstrap the app with the special binding
`ELEMENT_PROBE_CONFIG` from `angular2/debug`.
This will provide a global method `ngProbe(element)` that
will expose a `DebugElement` with directive instances, ... on it.
During tests that use Angular's test injector, the probe is
enabled by default. The `DebugElement ` can be retrieved via the
function `inspectDomElement` of `angular2/debug`. Note
that the `TestComponentBuilder` already returns `DebugElement `s.
Closes #1992
2015-05-29 12:44:21 -07:00
Tobias Bosch
75578f41e7
feat(view): add `AppViewListener` interface
...
Basic functionality how element probe is hooked into
the system.
2015-05-29 11:33:22 -07:00
Tim Blasi
ffb219fb91
style(dart): Format Dart source with dart_style 0.1.8
2015-05-29 10:42:47 -07:00
Victor Berchet
35f0ee510a
refactor(transformer): updates in properties syntax
2015-05-29 11:44:44 +02:00
Victor Berchet
d7df853bde
feat(Directive): convert properties to an array
...
fixes #2013
BREAKING CHANGE:
Before
@Directive(properties: {
'sameName': 'sameName',
'directiveProp': 'elProp | pipe'
})
After
@Directive(properties: [
'sameName',
'directiveProp: elProp | pipe'
])
2015-05-29 11:44:43 +02:00
vsavkin
c39c8ebcd0
feat(change_detection): added onInit and onCheck hooks
2015-05-28 16:46:22 -07:00
Tim Blasi
5d2af54730
feat(dart/transform): Improve constant evaluation
...
Use `package:analyzer`'s `ConstantEvaluator` to read from the AST.
This cleanly builds values for us from adjacent strings, interpolations,
etc.
2015-05-28 15:18:22 -07:00
Victor Berchet
a9be2ebf1b
feat: add support for the safe navigation (aka Elvis) operator
...
fixes #791
2015-05-28 23:03:30 +02:00
Victor Berchet
ec2d8cc2c8
feat(binding): throw on binding to a blank alias
...
fixes #2068
2015-05-28 22:37:29 +02:00
Jeff Cross
01fb8e6635
fix: fix clang errors
2015-05-28 11:08:26 -07:00
Jeff Cross
9d90128463
refactor(ChangeDetection): convert change detection tests to typescript
2015-05-28 10:01:30 -07:00
vsavkin
34cfc9f474
feat(di): added optional self parameter to Parent, Ancestor, and Unbounded
2015-05-28 09:53:06 -07:00
Ian Riley
ebe1e73b1a
refactor (test/test_lib): Ts'ifying test/test_lib
...
Translates AtScript files in test/test_lib to TypeScript.
Closes #2183
2015-05-28 09:50:59 -07:00
Ian Riley
8ce0a67c81
refactor (test/services): Ts'ifying test/services
...
Translates AtScript files in test/services to TypeScript
Closes #2193
2015-05-28 09:48:38 -07:00
Tim Blasi
c065fb1422
feat(dart/transform): Remove unnecessary .ng_deps.dart files
...
Removes `.ng_deps.dart` files which
1. Do not register any `@Injectable` classes
2. Do not call `initReflector` on any other `.ng_deps.dart` files.
Closes #1929
2015-05-28 07:51:10 -07:00
Tim Blasi
cda35101df
fix(facade): Fix bug in TS indexOf
...
startIndex defaults to -1, which in Chrome results in returning -1
regardless of the other parameters.
Added regression tests.
2015-05-28 06:56:24 -07:00
Julie Ralph
c32dbad747
feat(tests): add TestComponentBuilder
...
Adds a TestComponentBuilder for use in component level tests.
For usage examples, see test_component_builder_spec
Closes #1812
2015-05-27 17:15:13 -07:00
vsavkin
30b6542fc8
feat(core): added support for detecting lifecycle events based on interfaces
2015-05-27 16:23:42 -07:00
vsavkin
34d75e8918
feat(reflector): added a method to get type's interfaces
2015-05-27 15:50:08 -07:00
Marc Laval
c6335c128e
feat(test_lib): add method to compare stringified DOM element
...
Closes #2106
2015-05-27 16:19:39 +02:00
Marc Laval
fb42d5908e
fix(test): solve CSS discrepancies across browsers
...
Closes #2177
2015-05-27 14:54:00 +02:00
Ian Riley
8609543ad0
refactor (test/facade): Ts'ify test/facade
...
Translate AtScript in test/facade to TypeScript
2015-05-27 08:10:11 +02:00
Tobias Bosch
79f564be46
refactor(core): ts’ify tests
2015-05-26 17:01:31 -07:00
Tobias Bosch
23d59df81a
feat(test_lib): add `containsRegex`
2015-05-26 17:01:31 -07:00
Ian Riley
ef3e12e803
refactor (test/directives): ts'ify test/directives
...
Translate all of the AtScript code in .../test/directives to TypeScript.
Closes #2167
2015-05-26 16:51:38 -07:00
Victor Berchet
bb7ffce7eb
test(ShadowCss): add tests for keyframe rules
2015-05-26 19:42:17 +02:00
Victor Berchet
551586ced0
feat(RegExpWrapper): implement a test method
2015-05-26 19:42:17 +02:00
Tobias Bosch
1dc8ba6920
refactor(render): ts’ify tests
2015-05-26 09:38:26 -07:00
vsavkin
df59e969cf
chore(di): moved tests to typescript
2015-05-22 17:32:21 -07:00
vsavkin
d27e5512c0
chore(reflection): tsfy tests
2015-05-22 17:03:40 -07:00
yjbanov
d48fae3566
fix(core): resurrect OnChange interface
2015-05-22 16:48:00 -07:00
vsavkin
3525c9c074
chore(forms): moved tests/forms to typescript
2015-05-22 14:44:57 -07:00
Martin Probst
15f1eb28a2
fix(deps): Update clang-format to 1.0.14.
2015-05-22 09:39:15 -07:00
Victor Berchet
10bc7e948c
feat(key_event): alias esc to escape
...
fixes #2010
2015-05-22 15:39:21 +02:00
Victor Berchet
9988471fb8
test(fakeAsync): renable a test blocked on jasmine 2.3.3
2015-05-22 15:36:12 +02:00
Victor Berchet
b1c9bf14b2
feat(ElementInjector): support an arbitrary number of bindings
...
fixes #1853
2015-05-22 13:42:53 +02:00
Marc Laval
588fbfd848
fix(test): use a not expandable CSS rule in ShadowCSS spec (Firefox)
...
Closes #2061
2015-05-22 13:32:24 +02:00
Marc Laval
661a04798e
fix(test): adds longer timers for NgZone and PromisePipe tests (IE11)
...
Closes #2055
2015-05-22 13:30:49 +02:00
Marc Laval
9802debf71
fix(test): native shadow DOM is required (IE11, Firefox)
2015-05-22 13:30:45 +02:00
Marc Laval
2287938f5a
fix(router): event.defaultPrevented is not reliable (IE11)
2015-05-22 13:30:44 +02:00
gdi2290
d61a0dfa22
test(ObservablePipe): onDestroy shouldn't throw
2015-05-22 12:31:46 +02:00
Tobias Bosch
cc2c8f6b00
refactor(test): ts’if compiler integration tests.
2015-05-21 17:53:53 -07:00
vsavkin
30c3e5a84e
fix(forms): changed forms to create only one value accessor instead of always creating DefaultValueAccessor
2015-05-21 17:31:25 -07:00
yjbanov
c5996529c3
chore(expressions): add explicit test for map vs property access
2015-05-21 14:41:26 -07:00
vsavkin
00c3693daa
feat(forms): migrated forms to typescript
2015-05-21 13:55:15 -07:00
vsavkin
fed86fc8ac
feat(injector): support forwardRef in toAlias
2015-05-21 09:52:43 -07:00
vsavkin
705ee46f31
fix(di): changed host and view injector to respect visibility
2015-05-21 09:17:56 -07:00
vsavkin
f210c41c1f
feat(di): changed toFactory to support dependency annotations
2015-05-21 08:34:48 -07:00
vsavkin
b6b52e62b2
fix(element_injector): fixed element injector to inject view dependencies into its components
2015-05-20 17:48:04 -07:00
Tobias Bosch
e61d82b9be
refactor(core): ts’ify core
2015-05-20 16:30:41 -07:00
gdi2290
4afd2b4138
feat(PromisePipe): remove ref onDestroy
2015-05-20 14:00:57 -07:00
Rado Kirov
c45283216f
fix(router): router link should navigate to non-base Url.
...
While still displaying full base + custom part of url in the href.
2015-05-20 11:01:09 -07:00
vsavkin
28c2b8f432
fix(element_injector): fixed element injector to resolve dependencies of regular services
2015-05-20 10:56:33 -07:00
Victor Berchet
91ccc9af98
fix(XHRImpl): fix errors, add a spec
...
fixes #1715
2015-05-20 08:31:50 +02:00
Misko Hevery
a664f5a6de
fix: don't call onAllChangesDone on checkNoChanges
2015-05-20 08:27:48 +02:00
Victor Berchet
0ae89ac096
feat(CD): add support for === and !==
...
relates to #1500
2015-05-20 07:50:43 +02:00
Victor Berchet
6ec5d5daaf
refactor(async): extract timer related functions into a TimerWrapper
2015-05-20 07:47:46 +02:00
vsavkin
62b1a08f06
refactor(reflection): improved error message
2015-05-19 21:17:52 -07:00
Tobias Bosch
1beadb8607
refactor(render): ts’ify render api
2015-05-19 15:12:59 -07:00
Brian Ford
791caf0037
fix(router): use appRootComponentToken to get root route configs
...
Closes #1947
2015-05-19 14:36:45 -07:00
Yegor Jbanov
8ab773538b
fix(errors): require passing stack traces explicitly in ng2 own code
2015-05-19 12:48:00 -07:00
Victor Berchet
0f002a5b18
feat(fakeAsync): allow simulating the passage of time
2015-05-19 06:51:15 +02:00
vsavkin
b066b8d15a
feat(di): added hostInjector and viewInjector to the Directive annotation
2015-05-18 18:30:53 -07:00
vsavkin
7b511462af
refactor(core): renamed injectables into appInjector
...
BREAKING CHANGES
Before:
@Component({injectables: [Type]} class MyCmp{}
After:
@Component({appInjector: [Type]} class MyCmp{}
2015-05-18 18:30:52 -07:00
vsavkin
3a53f67911
feat(di): removed publishAs
...
BREAKING CHANGES
Removes the publishAs property from the Component annotation.
2015-05-18 18:30:52 -07:00
Brian Ford
5db89071d4
fix(router): improve route matching priorities
2015-05-18 15:57:08 -07:00
Brian Ford
c29ab86d85
refactor(router): improve control flow of descendant route activation
2015-05-18 15:57:08 -07:00
Brian Ford
6b02cb9b44
test(router): rename helpers in test
2015-05-18 15:57:08 -07:00
gdi2290
986038242a
feat(change_detection): json pipe
...
Closes #1957
2015-05-18 14:34:37 -07:00
Pawel Kozlowski
3011cd86bd
feat(compiler): special-case class attribute in hostAttributes
...
Closes #1774
Closes #1841
2015-05-18 14:34:36 -07:00
vsavkin
11e4385173
feat(forms): improved error messages
...
Closes #1839
2015-05-18 14:34:36 -07:00
Jeremy Elbourn
bb2eda2d15
feat(element_injector): allow @Optional for ProtoViewRef
2015-05-18 12:48:33 -07:00
Tim Blasi
3644036693
refactor(proto_view_factory): Move getChangeDetectorDefinitions out of ProtoViewFactory
...
Move `getChangeDetectorDefinitions` out of `ProtoViewFactory` since it
does not depend on any state in that object.
2015-05-18 08:45:59 -07:00
Misko Hevery
1eea2b254e
feat: allow for forward references in injection
...
It is possible for a class defined first to be referencing a class defined later,
and as a result at the time of the definition it is not possible to access the later's
class reference. This allows to refer to the later defined class through
a closure.Closes #1891
2015-05-15 21:12:57 -07:00
Yegor Jbanov
b6f29b4448
feat(errors): preserve stack traces of user exceptions in Dart
2015-05-15 15:03:31 -07:00
Tobias Bosch
421d8916a6
refactor(view_manager): split `inPlace` views into root and free host views.
...
BREAKING CHANGE:
`AppViewManager.createInPlaceHostView` is replaced by
`AppViewManager.createRootHostView` (for bootstrap) and
`AppViewManager.createFreeHostView` (for imperative components).
The later creates new host elements that are not attached anywhere.
To attach them, use `DomRenderer.getHostElement(hostviewRef)`
to get the host element.
Closes #1920
2015-05-15 13:24:53 -07:00
gdi2290
7a4a635399
feat(change_detection): uppercase and lowercase pipes
...
because the world needs more uppercase madness
[✔] clang-format
[✔] tests
2015-05-15 19:46:52 +02:00
gdi2290
557d54b3de
feat(facade): toUpperCase and toLowerCase
2015-05-15 19:46:52 +02:00
Victor Berchet
25cd6e4321
fix(Compiler): add an error when a directive is null or undefined
...
fixes #1908
2015-05-15 19:26:06 +02:00
Tobias Bosch
ecb068019b
refactor(proto_view_factory): expose data for generating change detectors
...
Also consolidates metadata handling in `ElementInjector`
BREAKING CHANGE:
- renames `DirectiveMetadataReader` into `DirectiveResolver`
and removes `src/core/compiler/directive_metadata`.
Fixes #1712
Fixes #1713
2015-05-13 17:11:59 -07:00
vsavkin
08f21dbf51
feat(change_detection): implemented change detection that can be configured with pregenerated change detectors
2015-05-13 16:23:22 -07:00
vsavkin
d8c7c274e4
refactor(change_detector): extracted ChangeDetectorDefinition
2015-05-13 16:23:22 -07:00
vsavkin
685a6507b6
feat(compiler): added support for [()] syntax
2015-05-13 16:08:59 -07:00
Jacob MacDonald
846354473d
chore(cleanup): Remove some unused files.
2015-05-13 13:56:54 -07:00
Brian Ford
390cfb793b
fix(router): generate links for router-link with baseHref
2015-05-13 12:22:45 -07:00
Brian Ford
17392f663f
fix(router): sort possible routes by cost
2015-05-13 11:57:57 -07:00
Victor Berchet
c20060d259
fix(directives): fix import path
2015-05-13 11:56:50 +02:00
Misko Hevery
111fa60a93
chore: rename for to ng-for
...
Closes #1598
Closes #1295
Closes #1827
Closes #1827
2015-05-12 15:32:44 -07:00
Misko Hevery
e9f236b70f
chore: rename switch to ng-switch
2015-05-12 15:32:44 -07:00
Misko Hevery
78d3f62b6a
chore: rename non-bindable to ng-non-bindable
2015-05-12 15:32:44 -07:00
Misko Hevery
d310a9c0b4
chore: rename if to ng-if
2015-05-12 15:32:44 -07:00
vsavkin
032f8b7840
fix(test): fixed a test
2015-05-12 14:40:20 -07:00
Victor Berchet
e11c20541a
refactor(VmTurnZone): renamed to NgZone
...
BREAKING CHANGE:
VmTurnZone has been renamed to NgZone.
- The public API has not chnanged,
- The "outer" zone is now named "mount" zone (private to NgZone).
2015-05-12 21:03:24 +02:00
Victor Berchet
c75e216871
refactor(VmTurnZone): outer zone = root zone
2015-05-12 21:03:24 +02:00
Victor Berchet
e8a6c95e2a
feat(VmTurnZone): Rework the implementation to minimize change detection runs
...
Before this PR there were only 2 zones: root zone = outer zone > inner
zone.
This PR creates the outer zone as a fork of the root zone: root > outer
> inner.
By doing this it is possible to detected microtasks scheduling in the
outer zone and run the change detection less often (no more than one
time per VM turn).
The PR also introduce a Promise monkey patch for the JS implementation.
It makes Promises aware of microtasks and again allow running the change
detection only once per turn.
2015-05-12 21:03:24 +02:00
yjbanov
358a6750ed
feat(di): support type literals in DI
2015-05-12 10:57:53 -07:00
Tim Blasi
97d24563f4
feat(dart/transform): Inline `templateUrl` values
...
Modify DirectiveProcessor to inline `templateUrl` values to avoid making
additional browser requests.
Closes #1035
2015-05-12 09:08:56 -07:00
Rado Kirov
a574154108
fix(router): add baseUrl to relative paths, but not absolute.
...
Closes #1783
2015-05-11 18:55:24 -07:00
vsavkin
7f976381d5
fix(view): fixed ProtoViewFactory to get all property bindings
2015-05-11 17:38:34 -07:00
Brian Ford
ac80df0959
fix(router): reuse common parent components
2015-05-11 15:49:40 -07:00
Brian Ford
aff85b5037
feat(facade): add equals method to StringMapWrapper
2015-05-11 15:49:40 -07:00
Jeff Cross
5691063ba0
refactor(ChangeDetection): rename AsyncPipe to ObservablePipe
...
The async pipe in templates will now delegate to both Observable pipe or Promise pipe,
whichever first says it can support the input. Therefore, it's beneficial to disambiguate
the name of the AsyncPipe/AsyncPipeFactory constructors to reflect that these actually
support only Observables.
2015-05-11 14:25:27 -07:00
Jeff Cross
7498758584
feat(PromisePipe): add pipe for promises
2015-05-11 14:23:46 -07:00
vsavkin
f9c1de46b3
feat(compiler): added support for host actions
2015-05-11 13:28:19 -07:00
Rado Kirov
77d1fc149a
fix(router): router-link works without params
...
Router-link attaches a listener to prevent default behavior and
navigate.
Closes: 1689
2015-05-11 11:58:38 -07:00
Rado Kirov
c2a42d5d2b
fix(location): dartium does not like pushState with null.
...
According to
https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history
the value of the title parameter is irrelevant anyways.
2015-05-11 11:48:45 -07:00
Jacob MacDonald
01d5c29513
fix(transformer): remove classDefParser in favor of hardcoded strings to speed up build
2015-05-11 10:45:02 -07:00
Kevin Moore
7844e3a275
chore: dartfmt Dart code in the repo
2015-05-11 09:50:33 -07:00
Pawel Kozlowski
4665726f48
feat(lang): support const expressions in TS/JS and Dart
...
Closes #1796
2015-05-11 12:11:24 +02:00
Tobias Bosch
4f3433b5bd
feat(view): allow to transplant a view into a ViewContainer at another place.
...
Closes #1492 .
2015-05-08 21:35:01 -07:00
yjbanov
2185e7cee9
feat(di): expose parent injector
2015-05-08 17:11:27 -07:00