Tim Blasi
726fecbfb6
feat(dart/transform): Turn on transform for examples/todo
...
- Tag services with `@Injectable()`
- Update `pubspec.yaml` to transform examples/todo.
Closes #1527
2015-04-28 23:38:08 +00:00
vsavkin
818bb9b697
test: changed test bed to run change detection twice to make sure there are no changes second time
...
Closes #1517
2015-04-28 23:37:09 +00:00
vsavkin
e4586249fa
refactor(change_detection): removed NO_CHANGED and replaced it with WrappedValue
2015-04-28 23:37:09 +00:00
Matthew Hill
3d62546314
fix(compiler): only sets viewDefinition absUrl if the view has either a template or templateUrl
...
fixes #1326
closes #1327
2015-04-28 15:40:07 -07:00
Jeremy Elbourn
b9eab463f7
chore(): fix host properties for MD components.
2015-04-28 10:48:03 -07:00
Peter Bacon Darwin
7fb2f2069c
docs(Injector): remove unwanted tab characters in the examples
...
These mess up the jade templates that use tabs for structuring the output.
2015-04-28 14:31:35 +01:00
Tobias Bosch
a801da6f7c
fix(ViewManager): dehydrate views recursively over ViewContainers
...
Closes #1560
2015-04-27 17:39:20 -07:00
Tobias Bosch
6fcd3709cf
fix(render): return views when destroyed in ViewContainer
...
Closes #1316
2015-04-27 17:39:09 -07:00
Brian Ford
1b2754dacd
feat(router): add initial implementation
2015-04-27 17:15:58 -07:00
Brian Ford
e617ca6323
feat(facade): add isType method
2015-04-27 17:15:58 -07:00
Tim Blasi
15376a6d24
feat(dart/transform): Dedup getters, setters, & methods
...
Dedup the getters, setters, and methods generated by the transformer
when compiling a template.
Run `dartformat` over the transform code.
2015-04-27 17:04:31 -07:00
Naomi Black
6ab19dd095
docs(change_detection): document JitChangeDetection and DynamicChangeDetection
...
closes #1446
2015-04-27 15:34:40 -07:00
Tim Blasi
99fdb9ac41
fix(dart/transform): Use `var` instead of `bool` in generated files
...
If a source file hides `bool` (explicitly or implicitly via `show`), a
generated file using `bool` may not resolve.
Closes #1455
2015-04-27 14:23:24 -07:00
Yegor Jbanov
427f0d021c
perf(benchmarks): benchmark that measure cost of dynamic components
2015-04-27 10:16:53 -07:00
Yegor Jbanov
9fc9d53566
perf(benchmarks): benchmark measuring cost of decorators ( fixes #1479 )
2015-04-27 10:16:52 -07:00
Tobias Bosch
6dece68bb8
refactor(core): rename ViewContainer to ViewContainerRef
...
This also renames InternalAppViewContainer into AppViewContainer
Related to #1477
Closes #1554
2015-04-27 10:12:21 -07:00
Ciro Nunes
0676fef61f
docs(directives): CSS selectors are used for directives
...
Closes #1544
2015-04-27 15:32:26 +02:00
Sekib Omazic
1d52cfba13
chore(query_list.js): fix minor typos
...
Typos fixed
Closes #1549
2015-04-27 15:30:17 +02:00
Tobias Bosch
bfa381b35a
refactor(view): introduce AppViewManager to consolidate logic
...
AppViewManager is the single entry point to changing the view hierarchy.
It is split between the manager itself which does coordination and
helper methods, so both are easily testable in isolation.
Also, ViewContainer is now only a pure reference to a bound element
with the previous functionality but does not contain the list of views
any more.
Part of #1477
2015-04-24 20:26:18 -07:00
Tobias Bosch
f78406392b
fix(test_lib): support multi matches with deep equality for function calls
2015-04-24 17:53:41 -07:00
Alex Eagle
623edcd2d8
Copy a second package to TypeScript.
2015-04-24 15:49:04 -07:00
vsavkin
b5e350b18c
cleanup(forms): do not export AbstractControl
...
Closes #1299
2015-04-24 13:57:03 -07:00
Yegor Jbanov
87cf434929
chore(sources): intro modules_dart; move analyzer code there
...
We have Dart code in `angular2` module that ought to be in its own
package. Examples include Dart analysis plugins, and potentially the
transformers (although transformers cannot be moved out just yet).
However, this code is Dart-only and it doesn’t make sense to use JS
directory layout for it. This commit introduces a sub-directory called
`modules_dart`. All modules in this directory are pure Dart packages
using standard pub directory layout. The code in these packages never
gets transpiled. It is directly copied to `dist` unmodified, except an
adjustment in relative paths in `pubspec.yaml` files.
2015-04-24 13:29:18 -07:00
Pawel Kozlowski
4bab25b366
feat: alllow specifying directives as bindings
...
Related to #709
Closes #1498
2015-04-24 11:02:17 -07:00
Pawel Kozlowski
6896305e34
fix: export ShadowDom strategies
...
Fixes #1510
Closes #1511
2015-04-24 08:41:37 +02:00
vsavkin
8ccafb0524
feat(view): reimplemented property setters using change detection
2015-04-23 11:55:27 -07:00
Marc Laval
8a92a1f13e
fix(angular2): export QueryList in angular2/core
...
Closes #1502
2015-04-23 11:04:30 -07:00
Pawel Kozlowski
d0059b5d75
refactor(PipeRegistry): improve error messages
...
Closes #1504
2015-04-23 11:04:30 -07:00
Pawel Kozlowski
fa8e059f28
refacor(lexer): remove unused ~/ operator
...
Closes #1509
2015-04-23 11:04:30 -07:00
Wesley Cho
8e18d6c6cf
docs(annotations): fix casing in view annotation
...
- Fix the casing to match key name exposed for `templateUrl` in `View`
annotation
Closes #1495
2015-04-23 11:04:30 -07:00
Pawel Kozlowski
afe0e45453
feat(parser): support === and !== operators
...
Closes #1496
Closes #1500
2015-04-23 20:01:31 +02:00
Victor Berchet
2e3e41ba64
fix(ListWrapper): follow JS semantics
2015-04-23 09:46:09 +02:00
vsavkin
d74dd1126b
cleanup(di): removed dead code
2015-04-22 14:48:53 -07:00
Matthew Hill
6f4b6783c0
docs(02_directives): TemplateConfig -> @View
...
for #1224
Closes #1325
2015-04-21 16:31:25 -07:00
Sam Rawlins
642e7e5c46
fix(benchpress): only print the CV when it is meaningful
...
When the mean is 0, the coefficient of variation is calculated to be
NaN, which is not meaningful, so instead of printing "+-NaN%", just
don't print the CV at all.
Closes #908
Closes #1444
2015-04-21 16:31:12 -07:00
Kevin Moore
7551a28f1a
chore: show dart2js package warnings for angular2, benchmarks, examples
...
Closes #1468
2015-04-21 16:22:49 -07:00
Gion Kunz
e51a48fe4c
Fixed example for EventEmitter
...
I didn't get a full trace back for my evidence I got from making this example work. EventEmitter was instantiated and assigned to wrong property. Also the mapping should be done using the component property name as it will be obtained via accessor and exposed on the directive (as far as I understood).
2015-04-21 16:22:10 -07:00
Marc Laval
22c6c09daf
chore(build): run event tests in Node
...
Closes #1476
2015-04-21 16:21:39 -07:00
Tobias Bosch
e70a2f21dd
fix(dom): remove methods is allowed on text nodes as well
...
Fixes #1473
Closes #1478
2015-04-21 11:56:11 -07:00
Tobias Bosch
97e6fb6835
fix(benchmarks): wait for end of benchmarks
2015-04-21 11:25:07 -07:00
Julie Ralph
fa1ec48549
chore(example): fix TODO example on dart
...
Reflection for Dart was not set up properly for the TODO example,
so it was failing when served on dartium via
gulp serve/examples.dart
2015-04-21 10:17:26 -07:00
Kevin Moore
f7f06c5ad4
chore: add more type annotations
2015-04-21 08:49:05 -07:00
Pawel Kozlowski
e23004df52
fix(di): capture original exception in InvalidBindingError
...
Fixes #1406
Closes #1459
2015-04-21 10:59:44 +02:00
Tobias Bosch
ada1e642c5
feat(view): add imperative views
2015-04-20 17:18:44 -07:00
Julie Ralph
817c79ca77
refactor(testability): rename function to get testability
...
Previously, getting testability was `window.angular2.getTestability`
This was because the plan was to export the API to the window as
angular2. However, the decision was changed to make this just `angular`
in 3177576ad6
To decouple testability from the rest of the Angular API, just make it
one function, `window.getAngularTestability`.
2015-04-20 15:13:09 -07:00
vsavkin
a97a2266d3
feat(change_detection): added async pipe
2015-04-20 14:50:23 -07:00
vsavkin
2d929e73ec
cleanup(change_detection): moved pipes-related tests to the pipes dir
2015-04-20 14:24:15 -07:00
vsavkin
681d06386d
feat(view): implemented loading component next to existing location
2015-04-20 13:41:10 -07:00
Tim Blasi
77b31ab42f
feat(dart/transform): Add debug transform parameters
...
Add two transform parameters to aid in debugging the transformer
- `mirror_mode`, with values {`debug`, `none`, and `verbose`}
- `init_reflector`, with values {`true`, `false`}
`mirror_mode`:
- `debug`: Allow reflective access, but log a message if it is used
- `none`: Remove reflective access, `throw` if it is used. Default value
- `verbose`: Allow reflective access, log a stack trace if it is used
`init_reflector`: Whether to generate calls to our generated
`initReflector` code.
These will be useful to reveal areas where the transformer is not generating
appropriate code and to quickly see where reflective accesses occur.
When the pub mode is `transform_dynamic`, we run in MirrorMode.debug
with `init_reflector = false`. This is used for testing purposes.
2015-04-20 12:32:04 -07:00
Tim Blasi
5b4eb0c6d7
style(dart/transform): Format Dart files in reflection
...
Run the formatter on some Dart-specific reflection files.
2015-04-20 12:32:04 -07:00
Naomi Black
5c25248582
docs(x-ref links): Change links to use dgeni syntax
...
Closes #1440
2015-04-20 18:45:04 +00:00
Tobias Bosch
64ad74acbe
fix(shadowdom): remove unused nodes on redistribute
...
Previously, light dom nodes that were not used by any content tag
were not removed from a view on redistribute. This lead
to a bug when reusing a view from the view pool, as it
still contained stale reprojected nodes.
Fixes #1416
2015-04-20 11:36:39 -07:00
Tobias Bosch
02997f473a
fix(viewFactory): allow empty view cache
2015-04-20 11:36:39 -07:00
Misko Hevery
447018b54b
docs: change primordial injector to platform injector
2015-04-20 16:45:23 +00:00
Marc Laval
883e1c1541
feat(events): support preventdefault
...
Fixes #1039
Closes #1397
2015-04-20 15:20:52 +02:00
Marc Laval
aabe83cf63
chore(build): run application tests in Node
...
Closes #1423
2015-04-20 14:45:18 +02:00
Konstantin Shcheglov
a00cb1de50
feat(Compiler): Make Compiler.buildRenderDirective() static.
2015-04-17 21:57:25 -07:00
vsavkin
56f3429cc9
fix(view): chagned view factory to keep AstWithSource
2015-04-17 17:40:43 -07:00
vsavkin
4943c0f887
fix(view): fixed hydrator to pass the right element index when attaching an event listener
2015-04-17 17:27:12 -07:00
Tim Blasi
00e2d70f05
refactor(dart/transform): Remove index_static from hello_world
...
index_static.js & index_static.html are unnecessary in Js and are now
essentially generated via the Dart transformer. The angular
transformer is specified in examples/pubspec.yaml; use pub build to
create a transformed application that does not use dart:mirrors.
Create index_dynamic.js & index_dynamic.html, which are used to test
that the app runs equally well with mirrors and without.
Closes #495
2015-04-17 16:11:48 -07:00
Yegor Jbanov
e52d71060f
chore(analysis): fix analyzer warning in index_static
2015-04-17 14:01:42 -07:00
Yegor Jbanov
01869f9fa8
chore(format): format a TS file
2015-04-17 13:56:13 -07:00
Yegor Jbanov
526c51d1a6
fix(facades): fix splice semantics; add test
2015-04-17 13:52:03 -07:00
Yegor Jbanov
2b4d30d931
chore(analysis): analyze everything in lib folders recursively; fix existing warnings
2015-04-17 13:52:02 -07:00
Yegor Jbanov
3dc4df2ffa
chore(analysis): analyze web folders; fix existing warnings
2015-04-17 13:52:02 -07:00
Tobias Bosch
f830cfca12
refactor(view): provide ViewContainers dynamically on any element
2015-04-17 12:35:59 -07:00
vsavkin
eac5c88893
fix(view): fixed hydrator to export the dom element instead of ng element
2015-04-17 12:32:33 -07:00
Victor Berchet
abfe175c9e
doc(VmTurnZone): inline doc
...
Closes #1427
2015-04-17 18:19:59 +00:00
Victor Berchet
0fc66daef6
fix(core): typo ComponetRef -> ComponentRef
...
Closes #1426
2015-04-17 18:19:58 +00:00
Pawel Kozlowski
5a095bb257
refactor(di): rename ProviderError to BindingError
...
Closes #1428
2015-04-17 20:17:51 +02:00
Naomi Black
de31aca7a7
docs(di): Edits to DI.
...
Closes #1420
2015-04-17 17:49:12 +00:00
Peter Bacon Darwin
97220dd2ba
docs(life_cycle): mark `registerWith` as `@private`
2015-04-17 16:25:13 +01:00
Peter Bacon Darwin
66a2f9b23a
docs(angular2/annotations): convert `[...]` links to use `{@link ...}` style inline tags
...
This is an example of how to link to other code components using the `link`
inline tag.
2015-04-17 14:02:03 +01:00
Misko Hevery
87ac100c66
docs: add DI to public docs
2015-04-17 03:56:17 +00:00
vsavkin
5408abca68
refactor(change_detection): removed global change detection objects so it is possible to override pipe registry
2015-04-16 15:57:45 -07:00
vsavkin
233cb0f96a
feat(view): changed event emitters to be observables
2015-04-16 14:44:14 -07:00
Julie Ralph
8b28e99373
fix(benchpress): explicitly require navigation to finish before continuing
2015-04-16 14:04:41 -07:00
Tobias Bosch
923d90bce8
refactor(views): clean up creating views in place and extract view_hydrator
...
Major changes:
- `compiler.compileRoot(el, type)`
-> `compiler.compileInHost(type) + viewHydrator.hydrateHostViewInPlace(el, view)`
- move all `hydrate`/`dehydrate` methods out of `View` and `ViewContainer` into
a standalone class `view_hydrator` as private methods and provide new public
methods dedicated to the individual use cases.
Note: This PR does not change the current functionality, only moves it
into different places.
See design discussion in #1351 , in preparation for imperative views.
2015-04-16 11:58:01 -07:00
vsavkin
97fc248e00
cleanup(di): changed an error message to be more descriptive
2015-04-16 11:06:20 -07:00
vsavkin
7bd682bb27
feat(parser): changed parser to parse pipes in the middle of a binding
2015-04-16 10:39:03 -07:00
Tim Blasi
e927342e58
Read only a single DirectiveMetadata (will be squashed)
2015-04-16 09:11:03 -07:00
Tim Blasi
ae84eb7462
refactor(dart/transform): Correct Dart analyzer warnings
2015-04-16 09:11:03 -07:00
Tim Blasi
f89bb8eaf3
Address code review comments
2015-04-16 09:11:03 -07:00
Tim Blasi
0d0b3a35da
test(dart/transform): Add unit tests for DirectiveMetadataReader
2015-04-16 09:11:03 -07:00
Tim Blasi
cf7bef58b0
feat(dart/transform): Add the DirectiveMetadataReader
...
Add a class that parses and reads Directive metadata to prepare for
running the Render compiler in the Dart transformer.
2015-04-16 09:11:02 -07:00
Jacob MacDonald
c65fd31e86
feat(dart/transform): Detect annotations which extend Injectable or Template.
...
Create a method that recursively walks imports from an entry point and
determines where classes are registered.
Use this information to determine if a particular annotation implements or
extends Injectable or Template.
2015-04-16 07:17:24 -07:00
Kevin Moore
957384ceeb
fix: Fix issues found by Dart analyzer
2015-04-15 20:58:29 -07:00
Marc Laval
d3e391d176
chore(build): run render tests in Node
...
Closes #1358
2015-04-15 19:51:11 -07:00
Bradley Heinz
cd1295a823
Update 01_templates.md
...
Closes #1373
2015-04-15 19:48:34 -07:00
Bradley Heinz
5d302c504e
Update 02_directives.md
...
Closes #1374
2015-04-15 19:48:31 -07:00
vsavkin
68faddbf5c
feat(change_detection): updated handling ON_PUSH detectors so they get notified when their bindings change
2015-04-15 16:21:21 -07:00
vsavkin
8c1adabe1c
refactor(change_detection): renamed BindingPropagationConfig to ChangeDetectorRef
2015-04-15 12:58:58 -07:00
Tobias Bosch
213dabdceb
fix(view): remove dynamic components when the parent view is dehydrated
...
Also adds a bunch of unit tests for affected parts.
Fixes #1201
2015-04-15 12:53:21 -07:00
Tobias Bosch
6ecaa9aebb
feat(change detection): add removeShadowDomChild
2015-04-15 12:53:21 -07:00
Tobias Bosch
cb2e646332
fix(tests): create default spys for all methods on a class
2015-04-15 12:53:20 -07:00
Tim Blasi
fef1dee7aa
fix(dart/transform): Ensure consistent ordering of generated imports
...
- Linked imports are generated in a consistent order.
- Linked imports are generated immediately after their associated files.
2015-04-15 12:09:51 -07:00
Tobias Bosch
c25478380c
docs(benchpress): add details about normalized mobile environment.
2015-04-15 10:12:13 -07:00
Misko Hevery
e819e97f9a
docs: expose more API to public, document QueryList
2015-04-15 05:10:26 +00:00
Jeremy Elbourn
f149ae79c6
feat(material): first ng2 material design components
2015-04-14 16:15:35 -07:00
vsavkin
f0d0fe0801
refactor(change_detection): cleaned up change_detection.js
2015-04-14 14:34:57 -07:00
Naomi Black
d630d5baa5
docs(change_detection): document LifeCycle
2015-04-14 14:16:14 -07:00
Tim Blasi
7cac7c5157
refactor(dart/transform): Correct Dart analyzer warnings
...
- Fix numerous Dart analyzer warnings we had been ignoring.
- Delete unused `in_progress` dir
2015-04-14 13:41:22 -07:00
Naomi Black
8475c63a6a
misc(docs): Edits and additions for Forms and Change Detection
2015-04-14 13:34:29 -07:00
Peter Bacon Darwin
0e3d0fbec6
docs(change_detection): don't annotate exports that are already in public modules
...
Since `DynamicChangeDetection` and `JitChangeDetection` classes are alreadt in the
public module, they do not need to be annotated with a `@exportAs` tag
Closes #1353
2015-04-14 13:22:41 +01:00
vsavkin
8b97cf1479
cleanup(view): changed ComponentRef to contain ElementRef instead of extending it
2015-04-13 19:30:00 -07:00
vsavkin
b5c9f9ed9b
cleanup(element_injector): added a missing test
2015-04-13 19:30:00 -07:00
Rado Kirov
3177576ad6
feat(bundle): adds a self-executing dev bundle (SFX).
2015-04-13 18:05:53 -07:00
Yegor Jbanov
3667854a8f
refactor(di): move all binding resolution logic into injector.js
2015-04-13 15:06:44 -07:00
Yegor Jbanov
c5c1c9e38e
feat(docs): more docs on binding resolution
2015-04-13 15:06:44 -07:00
Yegor Jbanov
308823b6ea
perf(view): use pre-resolved bindings for child injector init
...
Creating a child injector from pre-resolved bindings (if any) is an
order of magnitude faster.
2015-04-13 15:06:44 -07:00
Yegor Jbanov
c05bad381c
perf(benchmark): measure Injector init from resolved bindings
2015-04-13 15:06:44 -07:00
Yegor Jbanov
4a961f4ecb
feat(di): provide two ways to create an injector, resolved and unresolved
...
Add two factory static functions to Injector: resolveAndCreate and
fromResolvedBindings.
We want to avoid resolution and flattening every time we create a new
injector. This commit allows the user to cache resolved bindings and
reuse them.
2015-04-13 15:06:43 -07:00
Yegor Jbanov
6c8398df9b
fix(di): refactor bindings to support Dart annotations
2015-04-13 15:06:43 -07:00
keertip
28ba179e31
feat: intiial commit for angular 2 dart analysis
...
Initial commit for analysis support to Angular 2 Dart
2015-04-13 13:50:29 -07:00
Marc Laval
b96e560c8d
feat(events): add support for global events
...
Fixes #1098
Closes #1255
2015-04-13 22:35:36 +02:00
Pawel Kozlowski
7c95cea3a8
chore(bundle): avoid imports in "global" format
...
If an "empty" file (like angular2/template.js) is imported
it is auto-detected as the one using "global" format by the
system builder. This is incorrect as the entire angular2 build
output is in the ES6 format.
Removing empty import till it has some content.
Closes #1329
2015-04-13 21:24:56 +02:00
Yegor Jbanov
0012caa4d5
perf(benchmarks): measure cost of Injector init with a variety of bindings
2015-04-13 10:02:13 -07:00
Tobias Bosch
8499cf84c3
fix(shadow_dom): redistribute light dom when a dynamic component is attached.
...
Fixes #1077
Closes #1315
2015-04-13 09:23:52 -07:00
Martin Probst
a3decad4c2
feat(build): Use broccoli for ts2dart transpilation.
2015-04-11 16:26:44 -07:00
Alex Eagle
7b790a3369
chore(build): fix check-format
2015-04-11 12:40:05 -07:00
vsavkin
6f8fef4f13
feat(bootstrap): changed bootstrap to return ComponentRef
2015-04-10 18:14:59 -07:00
Naomi Black
e295940833
cleanup(docs): Edited API docs
2015-04-10 18:02:10 -07:00
Tobias Bosch
6ce085a21a
feat(benchmark): make view cache a parameter to the tree benchmark
2015-04-10 16:57:46 -07:00
Tobias Bosch
e34146fc14
fix(view_factory): fix caching of views
...
Previous implementation had bugs, and did not cache per ProtoView.
2015-04-10 16:57:45 -07:00
Kevin Moore
5ce5a87abe
style: add more type info to Dart BrowserAdapter
2015-04-10 23:34:06 +00:00
Jeremy Elbourn
afe5465862
add return types for indexOf and lastIndexOf
...
closes #1277
2015-04-10 23:34:05 +00:00
Victor Berchet
678d541da7
refactor(compiler): add control.ignoreCurrentElement() to skip the current element
...
relates to #808
2015-04-10 23:34:05 +00:00
Peter Bacon Darwin
b5002fb46b
docs(test_lib/test_injector): fix invalid jsdoc type
...
chore(doc-gen): capture docs for modules from comments
Closes #1258
docs(*): add module description jsdoc tags
docs(*): add @public tag to public modules
chore(doc-gen): fix overview-dump template
The template was referencing an invalid property
chore(doc-gen): use `@exportedAs` and `@public` rather than `@publicModule`
This commit refactors how we describe components that are re-exported in another
module. For example the "public" modules like `angular/angular` and `angular/annotations`
are public but they only re-export components from "private" modules.
Previously, you must apply the `@publicModule` tag to a component that was to be
re-exported. Applying this tag caused the destination module to become public.
Now, you specify that a module is public by applying the `@public` tag and then
you can "re-export" components to other modules by applying the `@exportedAs`
giving the name of the module from which the component will be re-exported.
tag. This tag can be used multiple times on a single component, allowing the
component to be exported on multiple modules.
docs(*): rename `@publicModule` to `@exportedAs`
The `@publicModule` dgeni tag has been replaced by the `@exportedAs`
dgeni tag on components that are to be re-exported on another module.
Closes #1290
2015-04-10 22:00:41 +00:00
Tim Blasi
82127571b5
feat(dart/transform): Use the Dart transformer for benchmarks
...
Remove explicit generation of reflection information in benchmark code
and generate it with the transformer.
2015-04-10 14:01:55 -07:00
Tim Blasi
f6e9d1f857
feat(dart/transform): Fix handling of Dart keywords
...
Use `package:analyzer`'s list of Dart keywords to ensure we are properly
reporting usages of Dart keywords as runtime errors.
2015-04-10 13:43:11 -07:00
Tim Blasi
2cab7c79c3
feat(dart/transform): Allow multiple transformer entry points
...
- Allow the user to specify multiple entry points to an app.
- Allow the Angular 2 transformer to run without explicit entry points to
generate necessary setters & getters on built-in directives like `For`
and `If`.
Closes #1246
2015-04-10 13:41:26 -07:00
Tim Blasi
bba849909c
fix(dart/transform): Gracefully handle log calls before init
...
- Lazily create and use a logger that prints instead of `throw`ing.
- Use this logger in unit tests.
2015-04-10 13:41:26 -07:00
Tim Blasi
cac74c73e1
feat(dart/transform): Add stub implementations to Html5LibAdapter
...
Stub out some methods used in the `CompilerPipeline`.
2015-04-10 13:41:26 -07:00
Tim Blasi
f375dbd013
feat(dart/transform): Mark Compiler as Injectable
...
Necessary to allow runtime access via the `Injector`
2015-04-10 13:41:26 -07:00
Pawel Kozlowski
bf7933714a
chore(rename): rename View and Template concepts for #1244
2015-04-10 12:00:37 -07:00
Pawel Kozlowski
7e2c04e805
feat: add class directive to a list of directives
...
Closes #1292
2015-04-10 18:33:51 +02:00
David-Emmanuel Divernois
8fa1539bac
feat(keyEvents): support for <div (keyup.enter)="callback()">
...
This commit adds a plugin for the event manager, to allow a key name to
be appended to the event name (for keyup and keydown events), so that
the callback is only called for that key.
Here are some examples:
(keydown.shift.enter)
(keyup.space)
(keydown.control.shift.a)
(keyup.f1)
Key names mostly follow the DOM Level 3 event key values:
http://www.w3.org/TR/DOM-Level-3-Events-key/#key-value-tables
There are some limitations to be worked on (cf details
in https://github.com/angular/angular/pull/1136 ) but for now, this
implementation is reliable for the following keys (by "reliable" I mean
compatible with Chrome and Firefox and not depending on the keyboard
layout):
- alt, control, shift, meta (those keys can be combined with other keys)
- tab, enter, backspace, pause, scrolllock, capslock, numlock
- insert, delete, home, end, pageup, pagedown
- arrowup, arrowdown, arrowleft, arrowright
- latin letters (a-z), function keys (f1-f12)
- numbers on the numeric keypad (but those keys are not correctly simulated
by Chromedriver)
There is a sample to play with in examples/src/key_events/.
close #523
close #1136
2015-04-10 13:29:27 +02:00
vsavkin
f45281a10a
feat(view): generalized loading of dynamic components
2015-04-09 22:15:42 -07:00
Rado Kirov
e9f70293ac
feat(query): adds initial implementation of the query api.
...
Queries allow a directive to inject a live list of directives of a given
type from its LightDom. The injected list is Iterable (in JS and Dart).
It will be Observable when Observables are support in JS, for now it
maintains a simple list of onChange callbacks API.
To support queries, element injectors now maintain a list of
child injectors in the correct DOM order (dynamically updated by
viewports).
For performance reasons we allow only 3 active queries in an injector
subtree. The feature adds no overhead to the application when not
used. Queries walk the injector tree only during dynamic view
addition/removal as triggered by viewport directives.
Syncs changes between viewContainer on the render and logic sides.
Closes #792
2015-04-09 19:07:19 -07:00
vsavkin
61cb99ea42
refactor(change_detection): removed directive and binding mementos
2015-04-09 18:56:19 -07:00
vsavkin
5408a9a72d
cleanup(change_detection): removed dead code
2015-04-09 18:56:19 -07:00
Martin Probst
22c1a0d030
fix(benchmarks): Stop working around a Traceur bug.
2015-04-09 18:03:27 -07:00
vsavkin
a027912891
cleanup(change_detection): fixed ChangeDetector interface
2015-04-09 17:30:04 -07:00
vsavkin
3bdf669ddf
cleanup(change_detection): removed dead code
2015-04-09 17:30:04 -07:00
Alex Eagle
b94b04c074
chore(build): Migrate remaining tasks under build.js.dev to broccoli.
2015-04-09 14:09:38 -07:00
vsavkin
69c3bff086
feat(change_detection): updated change detection to update directive directly, without the dispatcher
2015-04-08 22:14:50 -07:00
Tobias Bosch
50098767fc
refactor(render): use render layer fully
...
Introduces angular2/src/core/compiler/ViewFactory which
extracts ProtoView.instantiate and replaces ViewPool.
Note: This is a work in progress commit to unblock other commits.
There will be follow ups to add unit tests, remove TODOs, …
2015-04-08 20:51:31 -07:00
Pawel Kozlowski
41262f4265
feat(Ruler): introduce Ruler service
...
Closes #1089
Closes #1253
2015-04-08 11:04:42 +02:00
Tobias Bosch
ca958464c4
refactor(render): create and store render ProtoViewRef in every app ProtoView
...
Needed to change Renderer.mergeChildComponentProtoViews to not create
new ProtoViews to be able to deal with cyclic references.
This commit is part of using the new render layer in Angular.
2015-04-07 20:27:25 -07:00
Tim Blasi
42c0171b40
chore(dart/transform): Create targets for serving transformed Dart code
...
- Allow pub (build|serve) to specify mode
- Update pubbuild.js & pubserve.js to allow the caller to provide a `mode` value.
- Update settings to allow the di benchmark to be transformed to run statically.
2015-04-07 10:57:01 -07:00
John Arstingstall
b7eea4f577
docs(directives): add # to for directive microsyntax example
2015-04-07 08:44:32 +02:00
vsavkin
9c62b5867e
benchmark(change_detection): added a new set of benchmarks measuring updating properties
2015-04-06 18:13:20 -07:00
Harry Terkelsen
2560af731a
refactor(dart): use Map instead of HashMap
...
Closes #1202
2015-04-06 17:16:54 +00:00
Victor Berchet
86211eb5f0
doc(directives): add inline documentation
...
Closes #1240
2015-04-06 17:11:23 +00:00
Pawel Kozlowski
a3387b7f48
fix(di): allow injecting static attrs without type annotations
...
Closes #1226
2015-04-06 12:33:37 +02:00
Victor Berchet
94a48e8640
test(VmTurnZone): provide a stub VmTurnZone for CJS tests
2015-04-06 10:30:17 +02:00
Victor Berchet
d8aeb40b49
reafactor(XHR): rename XHRMock to MockXHR for consistency
2015-04-06 10:30:16 +02:00
Victor Berchet
52c55d0ee8
test: convert to using TestBed
2015-04-06 10:30:16 +02:00
Victor Berchet
438c2b31e4
test(TestBed): initial implementation
2015-04-06 10:30:16 +02:00
Victor Berchet
57e308dd46
test(MockTemplateResolver): allow directive overriding
2015-04-06 10:07:50 +02:00
Gerd Jungbluth
c922b5a112
docs(annotations): fix some typos, align docs with code
...
Closes #1227
2015-04-04 12:23:01 +02:00
PatrickJS
d552303cd5
docs(02_directives.md): foreach -> for
...
Closes #1235
2015-04-04 10:32:53 +02:00
Tobias Bosch
1d4d18d9db
refactor(render): user render compiler
2015-04-03 23:41:00 -07:00
Patrick
069bbf3ed0
docs(02_directives.md): Fixes variable name for visibility in Components example
2015-04-03 14:18:15 -07:00
Kevin Moore
d77f409093
chore: analyzer fixes for Dart transformer
2015-04-03 14:18:14 -07:00
Andrew
25c709c58e
fix(angular2): export PrivateComponent{Loader,Location} in angular2/core
2015-04-03 14:18:14 -07:00
Tim Blasi
bc909d1d0f
refactor(dart/transform): Minor renames
...
Rename `setupReflection` => `initReflector`
Rename `TemplateComplier` => `TemplateCompiler`
Closes #1180
2015-04-03 13:16:24 -07:00
Tim Blasi
a6736ff9f2
perf(change detection): Assign this.locals in change detector ctor
...
Set `this.locals = null;` in the ctor of generated change detector
classes to prevent the class "shape" from changing on `hydrate`.
2015-04-03 12:23:47 -07:00
Alex Eagle
894a0f0ee5
chore(ts): duplicate the .es6 files in the facade directory to TypeScript.
...
Adds a gulp task which builds the .ts files (in the cjs build only).
The new files have extension .ts since they are now valid typescript.
Unfortunately until Typescript can emit System.require, we have to keep the old .es6 version
so traceur works inside the Karma preprocessor. This should be fixed soon.
2015-04-03 09:35:06 -07:00
vsavkin
abea92af59
refactor(change_detection): call onChange from the change detector
2015-04-02 21:22:42 -07:00
Misko Hevery
86dc3e5b07
docs: create public API surface
...
Closes #1181
2015-04-02 23:23:39 +00:00
Tobias Bosch
c1aa65239e
refactor(render): move services to render folder
...
property_setter_factory
selector
style_inliner
style_url_resolver
shadow_css
2015-04-02 14:40:49 -07:00
Tobias Bosch
be5ccf6957
refactor(render): delete copies files so we add them via moves
2015-04-02 14:24:55 -07:00
Marc Laval
90d9a1df3f
fix(IE11): first fixes
...
Closes #1179
2015-04-02 22:06:21 +02:00
Victor Berchet
1037cef22e
refactor(render): misc minor fixes
2015-04-02 20:50:05 +02:00
Tim Blasi
09948f4403
feat(dart/transform): Add a `di` transformer
...
Add a transformer for `di` which generates `.ng_deps.dart` files for all
`.dart` files it is run on. These `.ng_deps.dart` files register
metadata for any `@Injectable` classes.
Fix unit tests for changes introduced by the di transformer.
When using `pub (build|serve) --mode=ngstatic`, we will also generate
getters and setters, parse templates, and remove import of `dart:mirrors`
in the Angular transform. Because this is still relatively immature, we
use the mode to keep it opt-in for now.
Closes #700
2015-04-02 11:06:33 -07:00
Tim Blasi
788461b7e2
feat(di): Mark objects @Injectable
...
Allow `PrivateComponentLoader`, `Testability`, and `TestabilityRegistry` to be injected.
2015-04-02 11:02:26 -07:00
Tobias Bosch
4f56628566
refactor(render): move services to right location
...
core/compiler/events -> render/dom/events
core/compiler/url_resolver -> services/url_resolver
core/compiler/xhr/* -> services/*
2015-04-02 10:35:27 -07:00
Tobias Bosch
bcbf1ccc68
refactor(render): remove duplicate files to prepare for move
...
Remove first so Github shows the files as being moved instead of copied and deleted.
2015-04-02 10:35:27 -07:00
Pawel Kozlowski
ae30d7ba40
fix(di): allow injecting event emitter fns without specifying type annotation
...
Fixes #965
Closes #1155
2015-04-02 19:07:49 +02:00
Marc Laval
1d79d534d9
test(selector): add tests with multiple attributes
...
Fixes #1025
Closes #1117
2015-04-02 18:06:44 +02:00
Tobias Bosch
47542b0cb0
fix(build): don’t read out chrome perflogs during e2e tests
...
We do this as we are seeing flakes in Chrome with ECONNREFUSED.
Also reuses the same browser window.
Also reenables the infinite scroll benchmark
Closes #1137
2015-04-01 17:09:26 -07:00
Tobias Bosch
6c60c3e547
feat(render): add initial implementation of render layer
2015-04-01 16:50:22 -07:00
Julie Ralph
e81e5fb2b9
feat(testability): add an initial scaffold for the testability api
...
Make each application component register itself onto the testability
API and exports the API onto the window object.
2015-04-01 13:54:06 -07:00
Alex Eagle
f68cdf3878
chore(ts): introduce some TypeScript type declarations.
...
This uses tsd to fetch the typings from another git repo. I've forked the DefinitelyTyped repo because some typings we use are not available upstream.
We should probably fork it in the Angular org, so everyone on the team has commit access to our DefinitelyTyped fork.
2015-04-01 12:01:45 -07:00
vsavkin
514ba54282
feat(change_detection): added changeDetection to Component
2015-03-31 20:54:44 -07:00
Alex Eagle
a11f683e7b
chore(ts): Don't mask the Regexp builtin.
...
Doing so makes it impossible to compile with TypeScript, since it conflicts with the shape of the Regexp global var defined in the standard lib.
2015-03-31 19:20:21 -07:00
vsavkin
b65b145122
refactor(view): refactored DirectiveMemento to expose properties in a consistent way
2015-03-31 18:26:58 -07:00
vsavkin
982bb8b01d
fix(forms): fixed a directive selector
2015-03-31 17:45:38 -07:00
Martin Probst
eb7b7581ca
fix(build): Actually code in the subset of JS that Traceur-Dart supports.
2015-03-31 16:08:49 -07:00
Martin Probst
54a4e4a67c
fix(dart): The Traceur dart transpiler doesn't support shorthand syntax.
2015-03-31 13:17:56 -07:00
Pawel Kozlowski
aca4604879
feat(CSSClass): support binding to classList
...
Closes #876
2015-03-31 21:53:24 +02:00
Victor Berchet
48811cd805
doc(lifecycle): minor fixes
2015-03-31 21:12:37 +02:00
Martin Probst
136f64f4ac
fix(dart): don't instantiate abstract directive.
...
Directive is an abstract class, so it should not
be instantiated directly in tests.
2015-03-31 11:38:59 -07:00
Jeff Cross
123ee8e06f
feat(dom): add replaceChild to DOM adapter
2015-03-31 09:54:41 -07:00
Jeff Cross
a55efbd8b8
feat(perf): add Angular2 implementation of largetable benchmark from AngularJS 1.x
2015-03-31 09:54:41 -07:00
Jeff Cross
7bf9525353
fix(benchmark_util): remove strict equality check from getStringParameter
...
Transpiled dart code was using identical() method to compare, which checks reference
equality, even for strings.
2015-03-31 09:54:41 -07:00
Naomi Black
3915e1b242
docs(annotations): Added new text
2015-03-30 17:19:58 -07:00
Tim Blasi
ed5975d3e5
test(dart/transform): Add unit tests for url-linked templates
...
Test expression and method generation from url-linked templates.
2015-03-30 14:49:31 -07:00
Tim Blasi
1a788e6b0d
feat(dart/transform): Parse `url` values in `Template`s
...
When a `Template` annotation declares a `url` value, parse it to
generate `getter`s, `setter`s, and `method`s which will it needs to
access reflectively.
2015-03-30 14:49:31 -07:00
Marc Laval
d822793229
fix(test): add a test for @PropertySetter on a class with a dash
...
Closes #1113
Fixes #1099
2015-03-28 16:17:43 +01:00
Sekib Omazic
b46d0bc48c
docs(annotations): fix typo, align docs with code
...
Closes #1045
2015-03-28 15:39:50 +01:00
laiso
65320126c2
docs(directives): fix HTML in an example
...
Closes #1115
2015-03-28 15:37:11 +01:00
Tobias Bosch
8c5d9d372f
fix(build): publish docs as well and correct bench press docs
2015-03-27 16:47:52 -07:00
Tobias Bosch
8598c87ef4
docs(bench press): add initial docs
2015-03-27 16:16:35 -07:00
Tobias Bosch
33bfc4c24a
feat(bench press): replace microIterations with microMetrics
2015-03-27 16:16:35 -07:00
Julie Ralph
3afb744e77
chore(ci): reorganize e2e/perf test running
...
Now, running protractor configs by default only runs e2e tests. If
the --benchmark flag is added, it runs only the perf tests, and always
restarts the browser in between tests. If the --dryrun test is added,
the perf tests are run only once.
This should make it easier to run perf tests versus example e2e tests,
and help stabilize the travis build because perf tests always
run with a clean browser.
2015-03-27 13:29:21 -07:00
vsavkin
e92918bbfe
feat(change_detector): split light dom and shadow dom children
2015-03-27 13:26:37 -07:00
vsavkin
723e8fde93
feat(change_detection): added a directive lifecycle hook that is called after children are checked
2015-03-27 13:26:36 -07:00
vsavkin
6b985d56a5
cleanup(forms): added missing type annotations
...
Closes #1054
2015-03-27 11:30:39 -07:00
Victor Berchet
c8385ad998
refactor(cd): remove dead code
2015-03-27 16:59:23 +01:00
Caitlin Potter
9d21a6f40d
chore(package.json): upgrade traceur to v0.0.87
...
Fix in source-map test to follow through the sourcemap chain.
2015-03-26 18:37:03 -07:00
vsavkin
d304f41197
docs(core): improved docs on directive lifecycle
2015-03-26 18:18:25 -07:00
vsavkin
8d85b839b6
feat(change_detection): pass binding propagation config to pipe registry
2015-03-26 16:57:04 -07:00
Pawel Kozlowski
5306b6dd0c
fix(change_detection): expose values when detecting changes in key-value pairs
...
Fixes #1118
Closes #1123
2015-03-26 21:18:14 +01:00
vsavkin
b09624024b
example(forms): added a example of using forms
2015-03-26 11:36:14 -07:00
Pawel Kozlowski
edc3709451
fix(ElementBinderBuilder): properly bind CSS classes with "-" in their names
...
Fixes #1057
Closes #1059
2015-03-26 19:25:31 +01:00
Rob Wormald
e706f3477b
Remove invalid super() call
...
Unless I'm missing something?
2015-03-26 11:10:39 -07:00
Victor Berchet
878fce6482
fix(ts): ts doesn't like ";;"
2015-03-26 17:32:48 +01:00
vsavkin
b02bd65871
feat(forms): made forms works with single controls
2015-03-26 07:48:17 -07:00
vsavkin
ee36aaf163
fix(tests): fixed a broken test
2015-03-26 07:46:26 -07:00
vsavkin
ff84506bd5
feat(forms): added support for arrays of controls
2015-03-26 07:43:25 -07:00
Marc Laval
0ae33b7e3c
refactor(compiler): factorize common util code dash <-> camel
...
Closes #1114
Fixes #1097
2015-03-26 15:22:35 +01:00
Marc Laval
b1dc6239ef
feat(core): @Attribute annotation
...
Closes #1091
Fixes #622
2015-03-26 10:51:44 +01:00
Victor Berchet
3ec837bfdb
test(di): Add a test for sync binding + resolved async dependency
2015-03-26 08:38:29 +01:00
Alex Eagle
9a0a2e319c
chore(ts2dart) remove extra semi
...
This breaks our ts2dart transpilation.
2015-03-25 17:06:47 -07:00
Martin Probst
a0d86ac2bb
chore(ts2dart): ts2dart doesn't support mixed typed/untyped var decl lists.
2015-03-25 16:41:33 -07:00
Yegor Jbanov
99045b2f6a
refactor: update Dart package dependencies
2015-03-25 15:54:12 -07:00
Marc Laval
58dd75a1c8
feat(compiler): Add support for setting attributes to Component host element
...
Fixes #1008
Fixes #1009
Closes #1052
2015-03-25 17:32:07 +01:00
Misko Hevery
f995b07876
docs: annotations edits
2015-03-24 23:28:24 +00:00
Victor Berchet
101a4aa3cf
feat(PrivateComponentLoader): Explicit error message when loading a non-component
...
fixes #1062
2015-03-24 22:11:41 +01:00
Victor Berchet
65d759316b
fix(PrivateComponentLoader): add the loader to the app injector
...
fixes #1063
2015-03-24 22:10:26 +01:00
vsavkin
19c1773133
feat(forms): added an observable of value changes to Control
2015-03-24 13:45:47 -07:00
vsavkin
9b3b3d325f
feat(facade): added support for observables
2015-03-24 13:45:39 -07:00
vsavkin
f8e7a37c0d
fix(view): fixed view instantiation to use the component template's change detector when creating BindingPropagationConfig
2015-03-24 07:49:28 -07:00
Victor Berchet
aab084866c
doc(test): add a comment on why tests are disabled
2015-03-24 09:52:41 +01:00
Nick Van Dyck
0e61a86763
docs: annotations
2015-03-24 00:42:58 +00:00
vsavkin
47c1a0f381
feat(forms): added value accessor for input=text
2015-03-23 08:53:27 -07:00
vsavkin
514529b5d9
refactor(formed): changed forms to use event and property setters instead of NgElement
2015-03-23 08:52:54 -07:00
vsavkin
a12dc7d75a
refactor(forms): wrapped all validators into the Validator class
2015-03-23 08:50:56 -07:00
Marc Laval
41b53e71e1
feat(selector): support , for multiple targets
...
Fixes #867
Closes #1019
2015-03-23 10:06:33 +01:00
Pawel Kozlowski
0fb9f3bd6c
fix(ElementBinderBuilder): properly bind to web component properties
...
Fixes #776
Closes #1024
2015-03-22 14:14:36 +01:00
Pawel Kozlowski
81f3f32217
refactor(DirectiveParser): remove checks for missing directives
...
Based on the discussion in #776 we can't reliably check if a given
element has a particular property at the compilation time. As such
the existing algorithm detecting "missing" directives can't be used.
We need to see if there is a different / better algorithm or maybe
those checks need to be moved later in the process (runtime). Leaving
integration tests in place (disabled) so we can come back to the
topic after unblocking the situation.
This commit effectivelly reverts 94e203b9df
2015-03-22 14:14:36 +01:00
Tim Blasi
b35f288794
refactor(dart/transform): Use package:guinness in tests
...
`guinness` is a Dart port of Jasmine. Since the rest of Angular 2 uses
Jasmine, use it for the transformer too.
Closes #8
Closes #1037
Closes #1000
2015-03-21 15:18:15 -07:00
Tim Blasi
4e82cc0861
refactor(dart/transform): Test `directive_linker` as a unit
...
Formerly, it was tested only as a piece of the transformer pipeline. Add
its own directory and test the linker on its own.
2015-03-21 15:18:15 -07:00
Tim Blasi
c735644c57
refactor(dart/transform): Minor logging changes
...
Enable easier testing by providing a null log implementation and a way
to use it.
2015-03-21 15:18:15 -07:00
Tim Blasi
5d479fa0ae
refactor(dart/transform): Remove `ngData`
...
Now that we have `Parser`, `ngData` is redundant & unnecessary.
2015-03-21 15:18:15 -07:00
Tim Blasi
8baedca972
style(dart/transform): Remove `src` from library directives
...
Conform to Angular 2 style by removing `src` from library directives.
Completed with:
```
find -name "*.dart" | xargs sed -i -e 's!library\(.*\)src\.\(.*\)!library \1\2!'
```
Closes #1005
Closes #1038
2015-03-21 14:55:11 -07:00
Marc Laval
02aa8e7945
feat(compiler): support bindings for any attribute
...
Closes #1029
2015-03-21 14:55:11 -07:00
Victor Berchet
ee523efcb4
feat(ShadowCss): Support the new deep combinator syntax >>>
...
fixes #990
ref http://dev.w3.org/csswg/css-scoping-1/#deep-combinator
Closes #1028
2015-03-21 14:55:11 -07:00
David-Emmanuel Divernois
bd48c927d0
fix(ViewContainer) removeChild called with null parent
...
In view_container.js, templateElement.parentNode can be null
when two template tags are nested in one another.
Accessing the parent node through view.nodes[0].parentNode fixes
the problem.
closes #997
Closes #999
2015-03-21 14:55:10 -07:00
gdi2290
b61b8d60b7
refactor(forEach): change to for-of with iterable
...
rename: foreach -> for
rename: array -> iterable
update: DartParseTreeWriter
update: naive_infinite_scroll
update: todo
fix: tests in foreach_spec
Closes #919
2015-03-21 14:19:21 -07:00
Nick Van Dyck
f1fca5abb6
(docs) decorator events property
...
As from what i understand shouldn't the event property rather be events: https://github.com/angular/angular/blob/master/modules/angular2/src/core/annotations/annotations.js#L161
Closes #1018
2015-03-21 18:26:13 +00:00
Matt Follett
045ce3c77a
Fix which dependency is injected w/ current elem.
...
Docs for the "Injecting a directive from the current element" indicate that having a dependency of `dependency: Dependency` should cause the current element's dependency to be injected, but then uses the ID value from the parent element in the example.
Closes #1032
2015-03-21 18:14:43 +00:00
Misko Hevery
f822066e2a
docs: annotations
2015-03-21 18:05:12 +00:00
Marc Laval
2ff2ce3c6c
refactor(test_lib): remove IS_NODEJS
...
Closes #1015
2015-03-20 15:50:05 +01:00
Marc Laval
ab5ed6f2ec
chore(test): clean tests of if directive
...
Closes #1017
2015-03-20 15:48:55 +01:00
vsavkin
8a10edec01
feat(forms): added pristine and dirty
2015-03-19 14:36:21 -07:00
Misko Hevery
38b96ed746
docs: annotations
2015-03-19 18:21:52 +00:00
vsavkin
906fba4fab
fixed imports
2015-03-19 10:52:16 -07:00
vsavkin
d220b6a2a4
test(forms): added a test checking support for select
2015-03-19 10:19:14 -07:00
vsavkin
f42e6337b7
feat(forms): added support for textarea
2015-03-19 10:19:13 -07:00
Misko Hevery
81312e4b3e
docs: annotations
2015-03-19 16:56:52 +00:00
Tim Blasi
08b56e1c53
feat(dart/transform): Add simple ParseTemplates step
...
Generate methods in the ParseTemplates step.
Add a test for inline template method generation.
2015-03-19 08:05:44 -07:00
Tim Blasi
b3fa1fa4fa
feat(dart/transform): Add simple ParseTemplates step
...
Adds a step that parses `inline` Template values to generate getters and
setters.
2015-03-19 07:06:51 -07:00
Tim Blasi
5d502d4093
feat(dart/transform): Implement `Html5LibDomAdapter` methods.
...
Adding support for some additional `DomAdapter` methods necessary to run
`Complier` in the Dart transformer.
2015-03-19 07:06:51 -07:00
Pawel Kozlowski
e0710c4613
fix(PropertyBindingParser): detect bindings using full attribute name
...
Fixes #1001
Closes #1004
2015-03-18 21:52:15 -07:00
Patrice Chalin
376bdf4dc7
fix(bootstrap): report error on bootstrapping non-Component directive
...
Fixes #951 . Test case added to exercise new error reporting. Also added
extra test for when Template is missing.
Closes #961
2015-03-18 21:51:46 -07:00
Pawel Kozlowski
a35cc27781
fix(PropertyBindingParser): properly parse event bindings as actions
...
Fixes #981
Closes #987
2015-03-18 19:09:59 +01:00
Tim Blasi
014a28fef0
fix(examples): Fix type registration in hello_world
...
Fixing `registerType` call for `Content` in index_static.js.
Closes #991
2015-03-17 22:13:07 -07:00
Tim Blasi
153cee1244
feat(di): Modify hello_world to use @Injectable
...
Mark `GreetingService` as available to `Injector`s.
Closes #986
2015-03-17 22:12:47 -07:00
Tim Blasi
57723e1354
feat(di): Add the `@Injectable` annotation to `Compiler`
...
Mark `Compiler` and its dependencies as available to the `Injector`.
2015-03-17 22:12:47 -07:00
Tim Blasi
b656f63430
feat(di): Add the `@Injectable` annotation
...
Add an annotation marking a class as available to `Injector`s.
2015-03-17 22:12:47 -07:00
Marc Laval
a46af9c41c
feat(build): check circular depencies in Node.js
...
Closes #980
2015-03-17 22:12:26 -07:00
Tim Blasi
d10df7de44
style(dart/transform): Rename .ngDeps.dart => .ng_deps.dart
...
Update to conform with file naming conventions.
Closes #975
2015-03-17 22:12:08 -07:00
PatrickJS
91398c3425
docs(application.js): ensure bootstrap promise,
...
so people using something like systemjs won't break the promise chain and at the same time shows that it's a promise
```es6
Promise.all({
app1: System.import('app1').then(module => module.main()),
app2: System.import('app2').then(module => module.main()),
app3: System.import('app3').then(module => module.main())
})
.then(function(injectors) {
console.log('dem injectors', injectors);
});
```
Closes #967
2015-03-17 22:11:26 -07:00
Pawel Kozlowski
59a1f836a2
fix: allow creation of var with camelCased names
...
Closes #957
2015-03-17 21:39:26 -07:00
Victor Berchet
c6893aceed
perf(DirectiveDependency): iterate only once over Dependency properties
...
Closes #918
2015-03-17 21:24:02 -07:00
Nick Van Dyck
6fe294ff2b
(docs) decorator events typo?
...
Ok I'm not sure (trying to understand angular2) but according to what i can see. Shouldn't the decorator event property be events. Please correct me if I'm wrong :p
2015-03-17 17:10:47 -07:00
Marc Laval
46b03a524e
feat(test): more tests in Node.js
2015-03-17 16:58:58 -07:00
vsavkin
99f2d7faf6
removed circular deps so tests run on node
2015-03-17 16:31:37 -07:00
vsavkin
b92d16c08e
cleanup(change_detection): removed an unused method
2015-03-17 15:23:59 -07:00
vsavkin
2041860a21
feat: added an ability to dynamically load components
2015-03-17 15:23:59 -07:00
vsavkin
7488456d68
feat(element_injector): added PrivateComponentLocation
2015-03-17 15:23:58 -07:00
vsavkin
b69f3043e0
feat(compiler): added the DynamicComponent annotation
2015-03-17 15:23:58 -07:00
Peter Bacon Darwin
85799aa1a5
docs(*): add `@publicModule` tags
...
Initial set of tags to demonstrate the public docs filtering
Closes #988
2015-03-17 14:44:45 -07:00
vsavkin
a16954d3a5
refactor(view): separate context and locals
2015-03-17 14:25:57 -07:00
Yegor Jbanov
70c875ee14
refactor(shadow dom): do not use injectors nor directives
...
This prepares us for the app/render split in the compiler.
2015-03-16 16:58:38 -07:00
Misko Hevery
115ac5f290
docs: directive docs
2015-03-16 02:53:22 +00:00
Jacob MacDonald
a963ae48e5
feat(benchmarks): add polymer js 0.8-preview benchmark
...
Limitations because of preview status (see #960 ):
- does not yet use ShadowDOM
- does not use a builtin conditional like `if`
- uses a temporary bower repository
Closes #943
2015-03-13 20:48:03 -07:00
Tobias Bosch
21a293b017
refactor(bench press): rename metrics and adapt them to the features of the browser
...
* Rename metrics, add `Time` suffix to all so that they are
more consistent
* iOS does not give us `gc` metrics, so they should not be reported
* Rename `scriptMicroAvg` into `microScriptTimeAvg`
* Rename previous `script` metric into `pureScriptTime` metric,
and keep `scriptTime` metric as the overall time, so that we still
have a shared metric across devices independent of the supported
browser features
* `microScriptTimeAvg` is now based on overall `scriptTime`, including
gc and render time.
* Move more shared DI tokens into `common_options` (previously
`sample_options`).
Closes #930
2015-03-13 20:46:37 -07:00
vsavkin
75ecaf02b9
chore: upgrade guinness to remove a workaround in testlib
2015-03-13 18:19:10 -07:00
vsavkin
33bff17f33
refactor(tests): refactor tests to clarify the behavior of onChange
2015-03-13 18:09:31 -07:00
Misko Hevery
956b8c8792
docs: bootstrap method
2015-03-13 21:55:02 +00:00
vsavkin
3273adade5
refactor(view): change view to pass all bindings to proto change detector at once
2015-03-13 14:03:57 -07:00
Peter Bacon Darwin
1adb23d222
docs(TestInjector): reenable jsdoc comment for exported `inject` function
...
This was disabled due to a bug in dgeni. See #949
2015-03-13 20:53:25 +00:00
Pawel Kozlowski
b39d2c0101
fix: properly bind to camelCased properties
...
Fixes #866
Closes #941
2015-03-13 19:50:47 +01:00
David East
afda43dc02
feat(examples): Add TodoMVC sample application.
2015-03-13 19:28:59 +01:00
Marc Laval
e8965656a4
feat(directives/forms): run tests in NodeJS
...
Closes #921
2015-03-13 19:18:15 +01:00
Victor Berchet
7322ed721e
refactor: remove reference to the FIELD class
2015-03-13 18:59:51 +01:00
Victor Berchet
fde7e9e898
doc(TestInjector): fix a build error with dgeni
2015-03-13 18:48:29 +01:00
Marc Laval
8d2ee6bbda
feat(selector): add support for :not
...
Fixes #609
Closes #948
2015-03-13 18:26:10 +01:00
Tim Blasi
5c1c534894
test(dart/transform): Move BindGenerator tests to their own dir.
...
Move existing BindGenerator test to its own directory and to test that
phase specificially, rather than the whole pipeline.
Add another BindGenerator test.
2015-03-13 10:25:11 -07:00
Tim Blasi
4b12c19560
feat(dart/transform): Add a parser for `.ng_deps.dart` files and use.
...
Use the parser in `BindGenerator`
This checkin also removes types from `registerSetters` calls since they
can cause runtime failures (see #886 ). We will resolve this by
generating change detector classes in the future.
2015-03-13 10:24:15 -07:00
Tim Blasi
92b22d24d0
feat(dart/transform): Add a `.ng_deps.dart` file parser.
...
Create a common, reusable `.ng_deps.dart` file parser. All future transformer
phases build on the information in `.ng_deps.dart` files.
2015-03-13 10:24:15 -07:00
Tim Blasi
95c9eca64c
style(dart/transform): Change quote character for consistency.
...
Use ' as a quote character in generated output instead of ".
2015-03-13 10:24:15 -07:00
Victor Berchet
30253592ff
refactor(tests): refactor some tests to use the test injector
2015-03-13 18:20:02 +01:00
Victor Berchet
33b5ba863e
feat(tests): add a test injector
...
fixes #614
Asynchronous test should inject an AsyncTestCompleter:
Before:
it("async test", (done) => {
// ...
done();
});
After:
it("async test", inject([AsyncTestCompleter], (async) => {
// ...
async.done();
}));
Note: inject() is currently a function and the first parameter is the
array of DI tokens to inject as the test function parameters. This
construct is linked to Traceur limitations. The planned syntax is:
it("async test", @Inject (async: AsyncTestCompleter) => {
// ...
async.done();
});
2015-03-13 18:20:02 +01:00
Pawel Kozlowski
5926d2e2f7
refactor: use attributes for directives matching
...
Closes #940
2015-03-13 17:24:14 +01:00
Pawel Kozlowski
d35fdfcd40
refactor: return copy of DOM attributes in Dart
...
This alligns with JS-version behaviour
2015-03-13 17:24:13 +01:00
Rado Kirov
f7963e1ea6
fix(shadowdom): allow conditional content tags.
...
Distribution is triggered on the host element injector after each new
view creation.
2015-03-12 12:06:47 -07:00
Victor Berchet
a82e20889d
feat(Injector): Support binding to null
2015-03-12 19:52:08 +01:00
Victor Berchet
951a808e0e
refactor(PropertySetter): use the global reflector
2015-03-12 19:49:34 +01:00
Marc Laval
c67194a3ef
fix(test_lib): remove getDistributedNodes emulation in NodeJS
2015-03-12 11:16:47 +01:00
Rado Kirov
dd3e6271c2
chore(services): rename services.
...
Closes #711
2015-03-11 18:30:37 -07:00
Tim Blasi
f4e0f51f5a
feat(dart/transform) Register parameter metadata information
...
Adds any metadata attached to a parameter to the "parameters" value
passed in to `registerType`.
For example:
`MyComponent(@Inject(Foo) foo)` generates
`"parameters": const [const [const Inject(Foo)]]`
Also reorganizes the testing code.
Closes #7
2015-03-11 17:21:49 -07:00
Tobias Bosch
e1a1dd07e4
fix(test): add `v8` category to server spec
2015-03-11 16:35:23 -07:00
Rado Kirov
f1593ebca5
feat(shadowdom): turn on ShadowDom Emulated Mode by default.
...
Closes : #526
2015-03-11 12:46:15 -07:00
Marc Laval
1d4ff9bcdc
feat(compiler): parse5 DOM adapter
...
Closes #841
2015-03-11 14:42:54 +01:00
Marc Laval
537f943f57
refactor(compiler): remove direct accesses to DOM
...
Closes #898
2015-03-11 11:58:18 +01:00
Tim Blasi
d0aceef4e0
perf(dart/transform) Restructure transform to independent phases
...
Update summary:
- Removes the need for resolution, gaining transform speed at the cost
of some precision and ability to detect errors
- Generates type registrations in the package alongside their declarations
- Ensures that line numbers do not change in transformed user code
2015-03-10 19:19:02 -07:00
vsavkin
08bd3a4443
feat(forms): add form builder
2015-03-10 18:12:50 -07:00
vsavkin
10fb7bb05f
refactor(forms): make form group responsible for supporting optional controls
2015-03-10 18:12:30 -07:00
Marc Laval
5acde20c7d
refactor(compiler): remove direct accesses to DOM in tests
...
Closes #899
2015-03-10 22:08:27 +01:00
Marc Laval
f1f06018c1
fix(compiler): workaround for circular dependencies in nodejs
...
Closes #897
2015-03-10 21:58:13 +01:00
Brian Ford
e0feeaf973
fix(CompileStep): use namespace to resolve circular dep issue
2015-03-10 11:35:52 -07:00
Victor Berchet
370643539f
refactor(EventHandler): have a single instance of event handlers per ProtoView
2015-03-10 15:26:06 +01:00
Victor Berchet
bfa18ffd9b
feat(Directives): add the ability to declaratively bind events
...
relates to #621
2015-03-10 08:14:24 +01:00
Victor Berchet
86e9dd68a4
refactor(ElementBinderBuilder): refactor pipes support
2015-03-10 07:23:17 +01:00
Pawel Kozlowski
0d1dece7b4
feat: introduce Title service
...
Closes #612
Closes #900
2015-03-09 22:17:28 +01:00
Dylan Johnson
7e93c54603
docs(12_zones.md): Fix typos and inconsistent capitalization
...
Closes #893
2015-03-09 18:58:56 +01:00
Victor Berchet
b349c35678
feat(ElementInjector): implement @PropertySetter
...
relates to #621
2015-03-09 18:28:39 +01:00
Victor Berchet
c3873be295
fix(Compiler): asynchronous error reporting
2015-03-09 16:42:37 +01:00
Tobias Bosch
f9dcfa3ba5
feat(benchpress): add a file reporter
2015-03-06 12:50:05 -08:00
Tobias Bosch
146d731e73
feat(bench press): detect major gcs
2015-03-04 17:34:29 -08:00
Alex Eagle
91426a8efe
fix: remove one more use of for..of
2015-03-04 08:35:41 -08:00
Tobias Bosch
043b8c6d2e
feat(bench press): add microIterations option
2015-03-03 14:41:03 -08:00
Victor Berchet
03793d0714
feat(CssProcessor): add support for CssTransformers
...
Closes #860
2015-03-03 11:24:08 -08:00
Victor Berchet
9982520a23
refactor(Compiler): make shadow DOM stragegy support more flexible
2015-03-03 11:24:08 -08:00
Victor Berchet
bcf4a96a84
refactor(Compiler): simplify the code
...
Closes #862
2015-03-03 11:21:02 -08:00
Tobias Bosch
8adac5332a
fix(benchmarks): prepare publish to pub
2015-03-02 16:34:32 -08:00
Tobias Bosch
81a5ae8f6e
fix(build): report and fail on errors
...
tree benchmark was broken and we didn’t know it…
also changes reporting to not include messages from `console.time()`, …
2015-03-02 16:34:32 -08:00
vsavkin
733915d99b
feat(forms): add support for nested forms
2015-03-02 14:53:03 -08:00
Tobias Bosch
7ddfbf8bea
refactor(tests): move files from `angular2/e2e_test` to `angular2/src/test_lib`
...
The `e2e_test` folder in `angular2` never contained e2e tests but was
used to store utilities for writing e2e/perf tests. A better place for
them is `angular2/src/test_lib`.
Closes #855
2015-03-02 14:38:02 -08:00
vsavkin
ba0a1ec459
feat(di): add support for optional dependencies
2015-03-02 14:38:02 -08:00
Victor Berchet
23786aaa92
feat(DomAdapter): add types
...
Closes #842
2015-03-02 14:38:02 -08:00
Caitlin Potter
749a75812c
fix(browser_adapter): work around WebKit bug with importing template elements
...
Closes #851
Closes #853
2015-03-02 14:38:02 -08:00
Bertrand Laporte
3059104e8d
add compilation error test for dart
...
Closes #812
2015-03-02 14:38:02 -08:00
vsavkin
21f24d19dd
feat(change_detection): implement hydration/dehydration
2015-03-02 13:28:39 -08:00
Tobias Bosch
821d01ab34
refactor(benchpress): export webdriver adapters in benchpress/benchpress
...
Also adds default bindings for protractor.
Also removes sync web driver adapter for Dart as we don’t have tests
for it yet.
2015-03-02 11:31:06 -08:00
Richard Harrington
f30e3e59b5
fix(docs): fix typo in compiler integration_spec.js
...
Closes #834
2015-02-28 12:00:49 +01:00
Yegor Jbanov
cbe7b8c671
chore(refactor): easier to make sense of attr-to-prop map (even if a bit reduntant)
2015-02-27 22:11:08 -08:00
Yegor Jbanov
757eae8ad3
feat(compiler): DOM adapters + html5lib implementation; misc fixes
2015-02-27 16:49:14 -08:00
Alex Eagle
ab42664e76
Don't use the for..of syntax in AtScript.
2015-02-27 15:26:53 -08:00
Tim Blasi
ccb306cce7
docs(di): Fix typos, add some clarification.
...
Or maybe expose my lack of understanding, we'll see!
2015-02-27 14:54:16 -08:00
Tobias Bosch
3b40052dc7
feat(build): enforce mobile layout during e2e tests
...
This is important as we run our benchmarks on
mobile devices as web driver tests fails if buttons
are not visible / overlaid by other content.
2015-02-27 11:11:32 -08:00
Pawel Kozlowski
7e6f536cf5
fix(compiler): properly bind to properties that don't have matching attr name
...
Fixes #619
Closes #783
2015-02-27 16:10:16 +01:00
Tobias Bosch
5cbb174a6d
fix(bench press): Don’t use unicode in console reporter to prevent problems
2015-02-26 13:15:17 -08:00
Victor Berchet
8541cfd26d
feat(ShadowDomStrategy): implemented EmulatedUnscopedShadowDomStrategy
...
- The new strategy do not scope component styles but make them global,
- The former EmulatedShadowStrategy has been renamed to
EmulatedScopedShadowDomStrategy. It does scope the styles.
2015-02-26 20:00:23 +01:00
Victor Berchet
9f181f39e9
fix(StyleUrlResolver): add support for media query in import rules
2015-02-26 20:00:23 +01:00
Victor Berchet
4d8d17ce3d
fix(StyleInliner): add support for url(url) format
2015-02-26 20:00:23 +01:00
Victor Berchet
06f7481141
feat(RegExp): expose match indexes in Dart
2015-02-26 19:32:49 +01:00
Victor Berchet
009e11a6be
fix: Static DI init
2015-02-26 19:31:44 +01:00
Pawel Kozlowski
8d2720775c
chore: re-add dependency on zone.js
...
Closes #811
2015-02-26 19:20:02 +01:00
vsavkin
cf9cb61665
clean(forms): cleanup
2015-02-26 09:35:30 -08:00
vsavkin
f27e538e2c
feat(forms): add optional controls
2015-02-26 09:31:02 -08:00
vsavkin
a73c643322
feat(forms): remove support for declaring forms in html
2015-02-26 09:31:02 -08:00
vsavkin
ded83e589b
feat(forms): add support for validations
2015-02-26 09:31:01 -08:00
Tobias Bosch
65ebff056a
refactor(benchpress): make tests for error cases also work in Dart
...
Also introduces `PromiseWrapper.catchError`.
Could not use `PromiseWrapper.catch` as a name as Dart would not allow
this method name.
2015-02-26 09:24:40 -08:00
Victor Berchet
dd1898c132
fix(compiler): add a missing ;
2015-02-26 15:24:21 +01:00
Victor Berchet
929fc65493
refactor(template loading): add support for base URLs, css rewriting
...
fixes #654
2015-02-26 09:36:04 +01:00
Victor Berchet
26872f60e6
feat(ComponentUrlMapper): retrieve the base URL for components
2015-02-26 09:04:00 +01:00
Victor Berchet
9250cd6a78
fix(ShimShadowCss): preserve attribute on style elements
2015-02-26 09:04:00 +01:00
Victor Berchet
edb797e191
feat(StyleUrlResolver): rewrite url in styles
2015-02-26 09:04:00 +01:00
Victor Berchet
ff406e65dc
feat(UrlResolver): combine a base URL with an URL
2015-02-26 09:04:00 +01:00
Victor Berchet
e0cf1c7ab5
feat(StyleInliner): StyleInliner inlines @import css rules
2015-02-26 09:04:00 +01:00
Victor Berchet
e8bec99aa6
feat(test_lib): support not.toBePromise() for Dart
2015-02-26 09:04:00 +01:00
Victor Berchet
41c61e5bc7
refactor(Completer): rename complete() to resolve()
2015-02-26 08:46:32 +01:00
Rado Kirov
6ad2c18277
feat(events): adds support for bubbling native events (^event).
...
Refactor - move DomEventManager into its own plugin.
2015-02-25 19:08:16 -08:00
Rado Kirov
2f015cc336
fix(view_container): fixes injection on dynamically added views.
...
Closes #777
2015-02-25 18:05:57 -08:00
Alex Eagle
56906db4d5
fix es6 compilation for Element.remove.
...
Use DOM facade to delete an Element since the remove method is only in Dart.
2015-02-25 15:56:08 -08:00
Alex Eagle
642e9a36b7
fix es6 compilation for Map.remove.
...
In dart, Map has a remove method,but in ES6 it is delete.
2015-02-25 15:44:29 -08:00
vsavkin
6b2650996c
fix(parser): parse pipes in template bindings
2015-02-25 14:39:44 -08:00
Pawel Kozlowski
85abfa943d
feat: add keyValDiff to default pipes
2015-02-25 13:24:59 -08:00
Pawel Kozlowski
4a5d53c549
feat: allow using KeyValueChanges as a pipe
2015-02-25 13:24:59 -08:00
Bertrand Laporte
33b503720a
fix rebase glitch in PR #570
...
Closes #787
2015-02-25 10:04:48 -08:00
Tim Blasi
50a74b1d91
feat(dart/transform): Generate setter stubs.
...
Generate calls to Reflector#registerSetters from the information in
provided `Directive#bind` values.
This is only an initial attempt - it covers only the most basic values
of `bind`.
Closes #780
2015-02-25 09:54:13 -08:00
Victor Berchet
1376e49ea0
fix(Injector): fix dependencies in static injectors
...
Closes #784
2015-02-25 09:52:56 -08:00
Bertrand Laporte
94e203b9df
feat(DirectiveParser): throw errors when expected directives are not present
...
closes #527
Closes #570
2015-02-24 20:57:21 -08:00
Tobias Bosch
715ee14ced
release: release 2.0.0-alpha.11 which includes benchpress
2015-02-24 17:01:48 -08:00
Tobias Bosch
b0c6db1efb
fix(benchpress): support `tdur` in events
2015-02-24 16:53:44 -08:00
Tobias Bosch
cde8ffd6d9
feat(publish): update files to publish to npm
2015-02-24 16:53:44 -08:00
Yegor Jbanov
cfe71def7e
chore(packaging): 0.0.0-alpha.9; pubspec cleanup
2015-02-24 11:42:05 -08:00
Victor Berchet
e05079f4a8
feat(rtts_assert): avoid deep recursion in prettyPrint
2015-02-24 19:40:27 +01:00
Pawel Kozlowski
908a0aa7dc
test: introduce TemplateResolver mock
...
Closes #768
2015-02-24 10:34:52 -08:00
Sekib Omazic
4d35dd4d45
docs(02_directives.md): Change the description of bind property
...
Also add attribute open to the html
Closes #767
2015-02-24 10:34:26 -08:00
Tim Blasi
3b6aaf9054
feat(dart/transform) Remove import of dart:mirrors
...
+ Precede the call to `new ReflectionCapabilities()` with our generated
code which populates the reflection map statically.
+ Add the import of our generated code.
+ Once we are generating all necessary code, we will remove the
import of reflection_capabilities.dart and the instantiation of
`ReflectionCapabilities`, cutting the dependency on dart:mirrors.
Closes #761
2015-02-23 18:36:29 -08:00
Kevin Moore
fad25c2b10
chore: Adding return types to Dart facades
...
Closes #758
2015-02-23 14:26:55 -08:00
Yegor Jbanov
d1f03e509b
fix(benchpress): benchpress fixes and a smoke test for Dart
2015-02-23 10:50:51 -08:00
Tobias Bosch
f54f4e89e0
fix(facade): `ListWrapper.sort()` should not return the list
...
This is the semantics of the regular `Array.sort` in JS,
so the wrapper should imitate this.
2015-02-23 10:36:16 -08:00
Pawel Kozlowski
d8103aeca6
docs(di): fix code examples
...
Closes #750
2015-02-21 22:14:26 +00:00
Tim Blasi
fb49946160
feat(dart/transform) Allow ctor stubs to be tree shaken
...
Change the method used to discover Directive annotated classes to ensure
that the Dart code can be tree shaken.
Closes #497
Closes $\x23736
2015-02-21 18:20:05 +00:00
Pawel Kozlowski
0c4fbfc8e2
feat(di): introduce aliasing
...
Closes #710
Closes #747
2015-02-21 18:43:45 +01:00
vsavkin
0dfd287ec3
fix(change_detection): handle locals when invoking a method
...
Closes #660
2015-02-20 17:55:06 -08:00
vsavkin
7f31036427
fix(change_detection): pass the correct previous value when using pipes
...
Closes #588
2015-02-20 17:53:57 -08:00
Tobias Bosch
1d4ffd986d
feat(bench press): allow multiple reporters, metrics and driver extensions.
2015-02-20 17:49:47 -08:00
vsavkin
987a5fdf56
feat(change_detection): add support for pipes in the template
2015-02-20 17:16:57 -08:00
vsavkin
29f5ee0c29
fix(shadow_dom_emulation): handle the case when the array of element injectors has nulls
2015-02-20 15:52:15 -08:00
Tobias Bosch
7aa031b3d3
feat(bench press): use chrome tracing protocol and initial iOS support
2015-02-20 13:20:17 -08:00
Victor Berchet
8a3d9050d9
feat(TreeBenchmark): use angular2 If directive
2015-02-20 20:53:44 +01:00
vsavkin
58ba700b14
feat(change_detection): change binding syntax to explicitly specify pipes
2015-02-20 10:59:46 -08:00
Victor Berchet
69e02ee76f
feat(ViewSplitter): Change template shorthand syntax from '!' to '*'
...
fixes #717
Closes #727
2015-02-20 10:36:30 -08:00
Rado Kirov
b1fc3e87c6
fix(view): move nodes into the live document when cloning.
...
Closes #724
2015-02-20 09:46:10 -08:00
Tim Blasi
329b2eda66
refactor(dart/transform tests): Use actual directive def'n instead of mock.
...
In the transformer unit tests, we previously used a mock directive annotation. This update
substitutes the actual Angular2 directive annotations.
Closes #706
2015-02-20 09:44:56 -08:00
Marc Laval
85211f0a6b
fix(core): workaround for circular dependencies in nodejs
...
Closes #716
2015-02-19 13:42:27 -08:00
Victor Berchet
d0ca07afaa
refactor(Compiler): introduce ShimComponent to shim CSS & DOM in emulated mode
...
Closes #715
2015-02-19 13:42:18 -08:00
Victor Berchet
5111f9ae37
feat(ShadowCss): Make the shim also accept a selector for the host
2015-02-19 13:42:18 -08:00
Victor Berchet
d67f0299cd
feat(ShadowCss): port implementation from webcomponent.js
2015-02-19 13:42:18 -08:00
Marc Laval
89b3995756
refactor(core): remove direct accesses to DOM
...
Closes #713
2015-02-19 13:42:07 -08:00
Marc Laval
3496c8ac54
refactor(change_detection): remove circular dependencies
...
Closes #712
2015-02-19 13:42:00 -08:00
Rado Kirov
a768f2e124
fix(docgen): hide additional exports that throw off docgen.
...
Closes #707
2015-02-18 21:15:01 -08:00
Tim Blasi
4d56a1e1af
chore: Fixing review comments on Dart transformers
...
See https://codereview.chromium.org/927373004/
Closes #705
2015-02-18 21:08:42 -08:00
Kevin Moore
fb5b168b19
chore: Remove unused imports and enable checks for unused imports as part of build
2015-02-18 21:06:30 -08:00
Jeremy Elbourn
821f008462
chore(compiler): add integration tests for @Parent and @Ancestor
2015-02-18 17:20:47 -08:00
Jeremy Elbourn
785ec26322
feat(compiler): make directive bindings optional. Fixes #647
2015-02-18 13:56:14 -08:00
Tobias Bosch
74c0699ad9
fix(build): finally publish to `rtts_assert` on npm
2015-02-18 12:52:27 -08:00
Julie Ralph
5af0ac258b
tests(e2e): upgrade Protractor to 1.7.0 and remove special cases for shadow dom
...
With Protractor 1.7.0, which installs chromedriver 2.14, shadow DOM is supported.
2015-02-18 10:54:48 -08:00
Tobias Bosch
cd90038950
fix(types): Add StringMap type
2015-02-18 09:53:27 -08:00
Pawel Kozlowski
56f4e84d45
fix: flip attr / property bind in directives annotations
...
Fixes #648
Closes #684
2015-02-18 17:07:53 +01:00
Pawel Kozlowski
709c3ca6b5
refactor: use the ExceptionHandler service
...
Fixes #533
Closes #672
2015-02-18 13:48:28 +01:00
Pawel Kozlowski
a1f4060126
feat: introduce ExceptionHandler service
2015-02-18 12:11:16 +01:00
Victor Berchet
53d5f36557
feat(application): move classes to the application level injector
...
fixes #649
2015-02-18 10:10:07 +01:00
vsavkin
695b4ebbc7
feat(change_detection): add support for pipes
2015-02-17 17:12:58 -08:00
Kevin Moore
fa25965939
chore: Remove unused imports
...
Closes #624
2015-02-17 16:49:08 -08:00
Tim Blasi
6e90cacaf4
feat(dart/transformer:: Initial commit of ctor stubs & annotation register
...
Closes #646
Closes #496
Closes #498
2015-02-17 16:34:19 -08:00
Tobias Bosch
5e798c632b
refactor(bench press): wrap measure values into an object with time and iteration number.
...
Closes #689
2015-02-17 16:02:46 -08:00
Tobias Bosch
e163eb2a51
fix(test_lib): support deep compare of objects with private/static fields
2015-02-17 16:02:46 -08:00
Tobias Bosch
674848648a
feat(facade): add support for `Date`
...
Also refactors the dart transpilar to expose
the type mappings for future changes.
2015-02-17 16:02:46 -08:00
Peter Bacon Darwin
538b0879dc
docs(core/01_templates): add <pre> tags to improve layout
...
Closes #687
2015-02-17 15:54:33 -08:00
PatrickJS
40d0505782
refactor(ProtoView): use const for DOM.addClass
...
`DOM.addClass(insertionElement, 'ng-binding');` -> `DOM.addClass(insertionElement, NG_BINDING_CLASS);`
Closes #676
2015-02-17 15:51:33 -08:00
Misko Hevery
cf51057cdd
fix: constrain stack_trace version, which breaks build
2015-02-17 15:07:18 -08:00
Pascal Precht
2dcddcfb4a
docs(templates/directives): fixes several typos
...
Closes #674
2015-02-17 13:43:44 -08:00
Richard Harrington
a002ed1183
docs(core/templates): fix various typo and grammatical errors
...
Closes #666
2015-02-17 13:35:34 -08:00
Richard Harrington
81bc706ef1
docs(core/formatters): fix typos and grammar
...
Closes #665
2015-02-17 12:03:55 -08:00
Gerd Jungbluth
4d1254d6df
docs(core): fix some typos
2015-02-17 11:55:22 -08:00
Yegor Jbanov
08850a579b
chore(packaging): rename NPM package to angular2; remove ng2 tag prefix
2015-02-17 11:46:05 -08:00
Peter Bacon Darwin
83f650fca7
docs(change_detection): add explicit @name and @description
...
This demonstrates how to override the name of a guide doc
2015-02-17 08:08:47 +00:00
gdi2290
85d4d13c77
docs(02_directives): TemplateConfig -> @Template
...
Update docs with new template api and remove previous cssUrl api
2015-02-17 08:54:20 +01:00
Tobias Bosch
f6284f2a55
feat(benchpress): rewritten implementation
...
Limitations:
- cloud reporter is not yet supported any more
2015-02-16 11:43:27 -08:00
Peter Bacon Darwin
a0e284ed0e
docs(core/formatters): add some dummy code to stop marked plugin from bombing
2015-02-15 15:46:04 +00:00
Pawel Kozlowski
92afad6ebc
feat: support bindings for the 'role' attribute
...
Closes #630
2015-02-14 21:24:40 +01:00
Pawel Kozlowski
1846ce8c68
feat: support binding to aria-* attributes
...
Closes #643
2015-02-14 20:28:08 +01:00
Yegor Jbanov
6d45153b67
fix(benchmarks): fix scrolling benchmark; add more tests
2015-02-13 17:35:19 -08:00
Victor Berchet
e6c8bde808
feat(Compiler): Multiple template per component
...
fixes #596
- TemplateConfig becomes Template
- introduce a TemplateResolver to pick the cmp template,
- @Component and @Template are disociated
2015-02-13 18:07:08 +01:00
Matias Niemelä
52b062621d
Update 01_templates.md
2015-02-13 12:04:03 -05:00
Victor Berchet
6d23d00057
refactor(ViewPort): @Template -> @Viewport, ViewPort -> ViewContainer
...
fixes #595
2015-02-13 17:48:27 +01:00
Kevin Moore
3519714f64
add types
2015-02-13 16:38:03 +01:00
Marc Laval
0499eeb231
refactor(facade): remove dependency to rtts_assert
...
Closes #593
2015-02-13 12:57:10 +01:00
Marc Laval
6d8ccaa8e4
feat(TemplateConfig): support array of arrays in TemplateConfig directives
...
Fixes #592
Closes #600
2015-02-12 11:56:45 +01:00
Victor Berchet
8844671c8d
feat(EventManager): implement the EventManager
2015-02-12 10:46:11 +01:00
vsavkin
91fd5a69bf
test(change_detection): add an integration test verifying that binding propagation config works
2015-02-11 17:54:07 -08:00
Yegor Jbanov
234e1eccca
chore(sourcemaps): add e2e test
2015-02-11 15:07:13 -08:00
Tobias Bosch
013e1faf27
fix(build): support transpile to commonjs
2015-02-11 13:09:52 -08:00
Victor Berchet
fc1b791a7a
fix(view): ViewPort light should come from the direct parent
2015-02-11 09:16:53 +01:00
Victor Berchet
b953956a35
refactor(view_spec): Drop SomeComponentWithEmulatedShadowDom
2015-02-11 09:16:53 +01:00
Tobias Bosch
bbd212c256
fix(build): use `rtts-assert` instead of `ng-rtts-assert`.
...
We have the rights now :-)
2015-02-10 17:02:33 -08:00
Tobias Bosch
729e38af19
feat(build): add npm publish script
...
Also fixes gulpfile:
- `runSequence` needs to be called with `done` callback
- `es5build` should only run when the task executes…
2015-02-10 16:28:28 -08:00
Rado Kirov
6e923cbf84
fix(compiler): elements with events only create binders but not protoElementInjectors.
...
Closes #577
2015-02-10 15:29:34 -08:00
Tobias Bosch
dd532fee72
feat(build): add package.json and README.md for publishing to npm
2015-02-10 11:52:42 -08:00
vsavkin
4b24734855
feat(forms): add support for checkbox
2015-02-10 08:44:25 -08:00
Victor Berchet
74f92c6a79
perf(Compiler): use Promises only when strictly required
2015-02-10 09:13:21 +01:00
Victor Berchet
47042bc503
feature(ShadowDomTransformer): create a compiler step to transform the shadow DOM
2015-02-10 08:54:37 +01:00
Rado Kirov
7bf5ab8f43
feat(view_pool): adds a view pool of dehydrated views per protoview.
2015-02-09 22:17:38 -08:00
Kara
617206bd1c
docs: Update variables to match example
...
It looks like the {{item}} variable in the examples should be {{person}}, as that is what has been exported (#person, etc).
It seems like the docs aren't finalized, but the discrepancy might confuse people coming in to learn from them in the meantime.
Closes #589
2015-02-09 19:54:07 -08:00
Jorge Cruz
4ceb865632
docs(01_templates.md): typos
...
Fix spelling errors in 01_templates.md
Closes #585
2015-02-09 19:53:40 -08:00
Tobias Bosch
6f59f2f5a3
fix(transpile): fix usage of `int` and references to `assert` module
2015-02-06 22:06:55 -08:00
Tobias Bosch
f39c6dc2c7
fix(setup): use upstream traceur with explicit patches
...
Also correct the transpile to ES6
Also support generics correctly
All patches are hooked in via `/tools/transpiler/index.js`
https://github.com/google/traceur-compiler/issues/1700
https://github.com/google/traceur-compiler/issues/1699
https://github.com/google/traceur-compiler/issues/1708
https://github.com/google/traceur-compiler/issues/1625
https://github.com/google/traceur-compiler/issues/1706
2015-02-06 17:04:08 -08:00
Marc Laval
cf169f13a0
fix(compiler): add missing support to string literals
...
Fixes #531
Closes #559
2015-02-07 00:20:54 +01:00
Jeremy Elbourn
6dbfe0dc2e
feat(vars): assignment of component or element instance to vars.
2015-02-06 15:13:31 -08:00
vsavkin
ab733bd80e
refactor(change_detection): rename group memento into directive memento
2015-02-06 13:55:49 -08:00
vsavkin
1ec796a601
cleanup(change_detection): rename field name
2015-02-06 13:54:55 -08:00
vsavkin
9240b09011
refactor(directives): directives use declare that they listen to onChange in the annotations
2015-02-06 13:53:49 -08:00
Pawel Kozlowski
ee3f709fbf
feat: support binding to style.stylename.suffix
...
Closes #553
2015-02-06 12:30:03 -08:00
Yegor Jbanov
dbdadbafe9
chore(pub): update authors
2015-02-06 11:46:49 -08:00
Yegor Jbanov
d5b2c130ca
chore(pub): add primary authors, description and homepage to pubspec
2015-02-06 11:40:16 -08:00
vsavkin
e9a254ae86
refactor(forms): rename decorators into directives
2015-02-06 11:03:41 -08:00
vsavkin
640134dee1
feat(forms): initial implementation of forms declared in html
2015-02-06 11:03:41 -08:00
vsavkin
fa7cbf9bb1
test(di): add a test to di checking that child bindings are not used when resolving the dependencies of a parent binding
2015-02-06 09:39:22 -08:00
Marc Laval
6bfa48bc64
refactor(directives): Drop ng- prefix from all angular directives and rename NgRepeat to Foreach
...
fixes #532
Closes #539
2015-02-06 09:24:50 -08:00
Bertrand Laporte
63f23ec0b6
fix(life_cycle): remove cyclic dependency
...
fixes #477
Closes #530
2015-02-06 09:23:59 -08:00
Yegor Jbanov
5010cf9757
chore(view): remove obsolete HACK comment
2015-02-05 21:19:53 -08:00
Rado Kirov
7dba3a3e32
fix(benchmarks): fix infinite scroll benchmark.
2015-02-05 20:47:30 -08:00
Victor Berchet
746f85a621
feat(compiler, ShadowDom): adds TemplateLoader using XHR.
...
Also adds css shimming for emulated shadow dom and makes the shadowDom
strategy global to the application.
2015-02-05 19:47:29 -08:00
Yegor Jbanov
fcbdf02767
feat(perf): port table scrolling benchmark to Angular 2
2015-02-05 18:33:57 -08:00
Yegor Jbanov
d144e9a345
chore(packaging): fix warnings in forms
2015-02-05 15:47:13 -08:00
Yegor Jbanov
50b553964d
chore(packaging): update imports in forms
2015-02-05 15:47:13 -08:00
Yegor Jbanov
8250a8c1ca
chore(packaging): update benchmark imports
2015-02-05 15:47:13 -08:00
Yegor Jbanov
c99a575b1f
chore(merge): forms, compiler
2015-02-05 15:47:12 -08:00
Yegor Jbanov
3f228669d7
chore(packaging): update import for the new file structure
2015-02-05 15:47:12 -08:00
Yegor Jbanov
3820609f24
chore(packaging): move files to match target file structure
2015-02-05 15:46:13 -08:00
Pawel Kozlowski
7ce4f66cdc
feat: support binding to class.classname
...
Closes #551
2015-02-05 15:19:23 -08:00
vsavkin
ab9438ffdf
fix e2e tests
2015-02-05 14:36:18 -08:00
Bertrand Laporte
3395624cb3
feat(template): add bang syntax shortcut
...
Closes #522
2015-02-05 11:55:49 -08:00
vsavkin
cdb1e82216
feat(forms): initial implementation of forms
2015-02-05 11:55:49 -08:00
Kevin Moore
796d58c621
chore(clean-up): remove unused test method
2015-02-05 11:55:49 -08:00
vsavkin
4b8105c165
cleanup
2015-02-05 11:55:49 -08:00
vsavkin
fc6e421e7e
feat(compiler): add BindingPropagationConfig to the list of pre-built objects
2015-02-05 11:55:49 -08:00
vsavkin
23a080026a
feat(change_detection): add mode to ChangeDetector
2015-02-05 11:55:49 -08:00
vsavkin
3067601961
feat(change_detection): update change detection benchmark
2015-02-05 11:55:49 -08:00
vsavkin
709df12b10
feat(change_detection): do not register a change from switching from null to null
2015-02-05 11:55:49 -08:00
Kevin Moore
f014b53a4c
more types in fascades
2015-02-05 11:55:49 -08:00
Tobias Bosch
05ffdc9b44
refactor(build): explicitly mention `src` folder in imports
...
Export files are now directly under the module folder,
e.g. `core/core.js`. With this, an import like `core/core`
won’t need a path mapping (e.g. via `System.paths`) any more.
This adds the `src` folder to all other import statements as well.
2015-02-05 11:55:48 -08:00
Misko Hevery
9db13be4c7
feat: change template micro-syntax to new syntax
...
Old syntax:
- ng-repeat: #item in items;
- ng-repeat: #item; in: items;
- <template let-ng-repeat=“item” [in]=items>
New syntax:
- ng-repeat: var item in items;
- ng-repeat: var item; in items
- <template ng-repeat var-item [in]=items>
Notice that the var is now a standalone binding
rather then an argument to ng-repeat. This will
make the var bindings consistent with the rest of
the system.
Closes #482
2015-01-30 11:56:54 -08:00
Marc Laval
52d88457c8
fix(NgRepeat): activate index
2015-01-29 13:29:32 -08:00
vsavkin
db0f0c462b
perf(change_detection): use object pools not to create unnecessary garbage
2015-01-28 20:08:58 -08:00
Tobias Bosch
ec935565ca
fix(test_lib): support comparing Maps in nested structures
2015-01-28 09:35:35 -08:00
vsavkin
af41fa9ac4
feat(change_detection): modify change detectors to recompute pure functions only when their args change
2015-01-27 16:52:33 -08:00
vsavkin
2793d47c67
feat(change_detection): change proto change detectors to coalesce records
2015-01-27 16:42:55 -08:00
Marc Laval
5367749f54
docs(pipeline): fix some inline doc
...
Closes #463
2015-01-27 16:34:09 -08:00
vsavkin
850cf0fef4
feat(change_detection): implement a change detector generator
2015-01-27 16:18:15 -08:00
yjbanov
737914061f
feat(perf): add AngularDart v1 of table scrolling benchmark
2015-01-27 09:53:22 -08:00
gdi2290
a120d7f1c8
docs: follow/side effects/taught typos
2015-01-27 00:13:23 -08:00
Victor Berchet
814f3d01ef
Doc(LightDom): add some inline doc
2015-01-27 08:46:52 +01:00
Victor Berchet
c797a4fbd5
refactor(LightDom): refactor the code
2015-01-27 08:46:52 +01:00
Kevin Moore
a02e7b5067
Remove unused fields
2015-01-26 17:32:56 -08:00
yjbanov
9682437aeb
fix(tests): make Angular 2 compiler perf test use correct param name
2015-01-26 16:30:33 -08:00
yjbanov
f24b9f2499
fix(perf): use correct param name in compiler benchmark
2015-01-26 16:30:33 -08:00
otodockal
b3693e6e0f
cleanup(ng-if): remove OnChange
2015-01-26 10:05:20 +01:00
Rado Kirov
ec5cb3eb66
feat(package): introduce a catch-all package angular.
...
modules/angular has no implementation, but depends on all the pieces
that make angular - core, di, directives, etc. It is the package that
all client apps will depend on.
2015-01-23 10:31:24 -08:00
Victor Berchet
4df1825dc2
fix(Interpolation): switch to new AST API
2015-01-23 10:12:13 +01:00
Victor Berchet
be6ce02021
refactor(NgIf): replace createElement() by el()
2015-01-23 09:27:36 +01:00
Misko Hevery
3b34ef43b1
perf(CD): Special cased interpolation in AST, Parser, and CD
2015-01-22 16:31:58 -08:00
Victor Berchet
b734d56b83
fix(cd): report all changes on first cd run
...
- null values would not have been reported for Dart
- undefined values would not have been reported for JS
Closes #454
2015-01-22 16:15:17 -08:00
Misko Hevery
829c28f3ee
docs: initial version of the documentation
2015-01-23 00:03:21 +00:00
Marc Laval
d5a12d59ca
feat(ng-if): an implementation of ng-if
...
Closes #317
2015-01-22 15:34:25 -08:00
Rado Kirov
5c4238cd41
fix(compiler): fixes a bug with top level template directives.
2015-01-22 12:48:08 -08:00
Victor Berchet
b4338b623c
fix(compiler): fix directive registration order
...
fix #328
2015-01-22 20:54:18 +01:00
Rado Kirov
fd34a56347
feat(events): adds support for injectable angular event emitters.
...
Event emitters can be injected into Directives. Event emitters take over
browser events with the same name. Emitted events do not bubble. Event
emitters can be injected even if there is no corresponding callback in
the template.
Use as follows:
@Decorator(...)
class MyDec(@EventEmitter('click') clickEmitter) {
...
fireClick() {
var eventData = {...};
this._clickEmitter(eventData);
}
}
2015-01-22 10:14:03 -08:00
Victor Berchet
683bb6e5a2
feat(directive): add ng-switch directive
2015-01-22 18:49:10 +01:00
Victor Berchet
769e9741d3
refactor(OnChange): update message to ease debugging
2015-01-22 18:49:10 +01:00
Victor Berchet
85a714f022
style(cd): add types
2015-01-22 11:08:10 +01:00
Victor Berchet
211cb12413
fix(ListWrapper): fix JS ListWrapper.remove()
2015-01-22 09:41:26 +01:00
Rado Kirov
8612af9c50
fix(views): adds dehydration calls to ng-repeat removed views.
...
Closes #416
2015-01-21 17:15:57 -08:00
vsavkin
9957c1338e
feat(change_detection): reimplement change detection
2015-01-21 14:21:14 -08:00
Victor Berchet
03c21a8cb2
feat(events): add the $event local variable to the handler context
2015-01-21 10:03:21 +01:00
Victor Berchet
156f3d99e0
feat(parser): make method calls aware of ContextWithVariableBindings
2015-01-21 09:58:01 +01:00
Rado Kirov
8a8a4b2ae7
test(ng-repeat): enables nested ng-repeat test.
...
It was failing previously because we were using nested <li> incorrectly.
2015-01-20 14:19:57 -08:00
gdi2290
1d0de3ea54
style(lang): add missing type annotation js/dart
2015-01-20 14:12:09 -08:00
Tobias Bosch
48125a8448
fix(perf): fix selector benchmark
2015-01-20 13:06:37 -08:00
Tobias Bosch
5c064c19e2
feat(perf): autoscale benchmarks depending on the browser.
2015-01-20 13:06:37 -08:00
Rado Kirov
7f701da66f
fix(events): extract eventHandler to new function scope.
2015-01-16 16:46:01 -08:00
Rado Kirov
2381c3640b
fix(event): check hydration before firing event.
...
It is unlikely, but it can happen that an event is fired on a dehydrated
view. Extra guard asserts the events fire only on hydrated views.
2015-01-16 13:43:02 -08:00
vsavkin
fb1b1da7b9
feat(directive): notify directive before they get destroyed
2015-01-15 18:16:11 -08:00
vsavkin
ec8e9f5634
feat(emuldated_shadow_dom): implement intermediate content tags
2015-01-15 17:43:45 -08:00
Jeff Cross
bc8e517ae2
feat(largeTable): add AngularJS 1.x largetable benchmark
2015-01-15 13:38:31 -08:00
Jeff Cross
dfcce3a789
fix(treeBenchmark): bootstrap only relevant portion to prevent angular from clobbering form
2015-01-15 13:38:31 -08:00
Jeff Cross
a2b58202a0
feat(benchpress): add getStringParameter method to support text and radio inputs
2015-01-15 13:38:31 -08:00
Tobias Bosch
d02c0accbb
refactor(benchmarks): add cloud reporter, add params
...
- adds console and cloud reporter (via Google BigQuery).
- makes parameters of tests explicit and modifiable.
- removes `detect` and `ignoreGc` mode from benchpress
as these can result in unstable numbers.
2015-01-15 09:09:05 -08:00
Rado Kirov
af02f2beb1
fix(e2e): adds events to hello world static.
...
Extends e2e test to cover events.
2015-01-14 18:00:27 -08:00
vsavkin
bf609f0e56
refactor(tests): exctract createElement into a helper
2015-01-14 09:13:56 -08:00
Rado Kirov
c5b0baf805
feat(view): adds event binding to view instantiation.
...
Only native non-bubbling events are supported by the commit.
2015-01-13 21:12:52 -08:00
Rado Kirov
bccc863567
fix(benchmark): remove duplicate line.
2015-01-13 21:09:28 -08:00
Misko Hevery
f6ebaf74d3
perf: force GC on profiles
2015-01-13 13:06:17 -08:00
vsavkin
abf03401df
make dart analyzer happy
2015-01-13 11:14:05 -08:00
vsavkin
3c692a1b85
feat(element_injector): add distance to propertly implement @parent
2015-01-13 09:39:08 -08:00
Misko Hevery
bed4b52a63
perf: Change baseline benchmark to be more consistent with the Angular
2015-01-12 21:58:19 -08:00
Misko Hevery
e4a4ec840e
perf: run CPU profile on constant count so that time numbers can be compared between runs
2015-01-12 21:58:18 -08:00
Misko Hevery
c0a99ee7b1
perf: remove field declarations from branches in constructors
...
This should help with hidden class detection.
2015-01-12 15:16:25 -08:00
Misko Hevery
6e9f48564f
perf: add button for profiling tree benchmark
2015-01-12 15:16:24 -08:00
Misko Hevery
2e1feec257
perf: use === instead of == for faster checks.
2015-01-12 15:16:24 -08:00
Victor Berchet
41907853b4
refactor(view): code simplification
2015-01-09 19:09:54 +01:00
Victor Berchet
bcd6e4c468
feat(directive): add ng-non-bindable directive
2015-01-09 09:23:37 +01:00
Victor Berchet
48e50121d4
feat(compiler): handle compileChildren from @Decorator
2015-01-09 09:23:37 +01:00
Victor Berchet
9cacde92bb
refactor(NgRepeat): remove dead code
2015-01-09 09:23:37 +01:00
Victor Berchet
4f2f083b16
feat(compiler): allow ignoring element children
2015-01-09 09:22:50 +01:00
Victor Berchet
c141cbe865
refactor(pipeline_spec): remove dead code
2015-01-09 09:22:50 +01:00
vsavkin
2074cc1ca9
fix(bootstrap): change bootstrap not to create a separate injector for the provided bindings
...
Currently, we create a separate injector for the passed-in / root bindings. This injectors sits below the one creating the application component. This means that the applicaiton component cannot access the passed-in bindings.
2015-01-08 19:53:18 -08:00
vsavkin
fbcc59dc67
feat(components): initial implementation of emulated content tag
2015-01-08 19:38:37 -08:00
Tobias Bosch
14e91e209e
feat(test): add e2e tests for benchmarks and examples
...
Disables running the actual benchmarks on every commit as well
to speed up the build.
2015-01-08 10:51:08 -08:00
vsavkin
8c6527251b
cleanup: remove `import from "test_lib"` from production code
2015-01-08 09:53:17 -08:00
vsavkin
6bb3b81465
cleanup: remove toBool
...
Since we decided to use the semantics of the host language, toBool is no longer needed.
2015-01-08 09:52:09 -08:00
Tobias Bosch
77aa3ed61b
feat(benchpress): show more metrics and make the run mode configurable
...
Shows the metrics:
script, render, gcAmount, gcAmountInScript, gcTime
Run modes:
- detect: auto detect whether to force gc
- forceGc: forces a gc before every run and ignores no runs
- noGcInScript: ignore runs that have gc while a script was executing
- plain: does not force gc nor ignore runs
Closes #368
2015-01-07 16:37:52 -08:00
Tobias Bosch
82b1601a31
refactor(benchmarks): rename `timeBenchmark` into `benchmark`
2015-01-07 16:37:52 -08:00
Stephen Adams
1320175646
perf(change detection): minimized amount of code in protective try-catch
2015-01-07 13:12:43 -08:00
Rado Kirov
a6a6273263
fix(compiler): fix nextSibling iterator in compiler.
...
Due to DOM manipulations happening during compilation, it is not correct
to call nextSibling after compilation steps.
2015-01-07 13:12:37 -08:00
Felipe Batista
ef20b706aa
Replaced Children loop iteration for the firstChild method
2015-01-07 09:48:07 -08:00
Victor Berchet
457cbaa39b
fix(ProtoView): element injector should have either a parent or a host
...
fix #359
2015-01-07 11:55:58 +01:00
Victor Berchet
09092b269c
fix(ElementBinderBuilder): allow a directive to have mutliple bindings
...
fix #320
2015-01-07 09:33:29 +01:00
Victor Berchet
7027674081
fix(compiler): fix a typo in BIND_NAME_REGEXP
2015-01-07 09:31:52 +01:00
gdi2290
164cf5b2a3
style(async): add missing type annotation js/dart
2015-01-06 18:10:10 -08:00
Tobias Bosch
fe2a09bc7f
refactor(perf): e2e tests and benchpress should be written in es6
2015-01-06 15:32:49 -08:00
Misko Hevery
373fd7d04a
chore: add dart2js flags to benchmark to enable trust-type-annotations
2015-01-06 15:17:12 -08:00
Misko Hevery
0866485f95
perf: Traverse dom using firstChild instead of childNodes
...
5% improvement in speed by not using childNodes DOM API.
2015-01-06 13:16:57 -08:00
Tobias Bosch
6f303121c6
refactor(perf): introduce benchpress2
...
Major changes:
- make API more reusable
- format output nicely
- only force gc if needed
Regarding forcing gc:
Forcing gc can change script execution time.
We now don't force gc at first and ignore results where gc happens during script execution.
When we ignored too many results, we switch to forcing gc.
Closes #339
2015-01-05 17:49:50 -08:00
vsavkin
53906e484a
fix(compiler): fix a dart analyzer warning
2014-12-30 13:25:18 -08:00
Tobias Bosch
3a80c4197d
refactor(perf): move navigation into test files and rename `runSimpleBenchmark`
2014-12-29 16:58:31 -08:00
vsavkin
e5dbc69f42
cleanup(di): change di.js to declare all exported symbols
2014-12-29 15:20:50 -08:00
vsavkin
739f624cc8
refactor(change_detection): add change_detection library file
2014-12-29 15:20:42 -08:00
vsavkin
f06433fb58
feat(test_lib): implement SpyObject
2014-12-29 13:27:17 -08:00
vsavkin
a37950293a
cleanup(core): fix dart analyzer warnings
2014-12-29 12:12:11 -08:00
vsavkin
da9d041f90
feat(view): add support for components that use shadow dom emulation
2014-12-29 11:42:34 -08:00
Tobias Bosch
df4ac0dd33
refactor(perf): use webdriver to execute benchmarks
...
- use performance log of chromedriver / appium to get timeline data
for calculating metrics for benchmarks
- change all benchmarks to be made of a standalone application
and a protractor test that collectes timeline data
- fix and simplify benchmarks
- add dart2js to build
- remove benchpress
Closes #330
2014-12-23 22:22:55 -08:00
vsavkin
d642c6afb5
feat(change_detector): wrap exceptions into ChangeDetectionError
...
ChangeDetectionError references the original error and the location where the error happened
2014-12-18 13:38:33 -08:00
vsavkin
3d534928b5
refactor(parser): align expression language with host language
...
Remove "enhancements" to the language from the parser, so the expression language mimics the host language.
2014-12-18 10:57:34 -08:00
Victor Berchet
90daca02cf
fix(examples.dart): initialize the reflector
...
fixes #309
2014-12-18 11:11:18 +01:00
Victor Berchet
75549a660c
fix(examples.dart): add LifeCycle to the reflector
2014-12-18 11:11:18 +01:00
Victor Berchet
86fb564818
fix(ChangeDispatcher): update the onRecordChange signature
2014-12-18 10:28:17 +01:00
vsavkin
dbd85615b0
style(core): add missing type annotation
2014-12-17 15:58:20 -08:00
vsavkin
1d03c2af5d
feat(change_detector): add a way to inspect records and record ranges
2014-12-17 15:43:36 -08:00
vsavkin
df21c3c77d
feat(zone): add support for long stack traces
2014-12-17 14:56:54 -08:00
vsavkin
d5fcac4d7a
feat(compiler): pass compilation unit to the parser
2014-12-12 18:52:53 -08:00
vsavkin
cf8a5d2a0d
cleanup(zones): cleanup
2014-12-12 15:24:30 -08:00
vsavkin
2184150905
feat(bootstrap): use VmTurnZone and LifeCycle to bootstrap an application
2014-12-12 15:24:30 -08:00
vsavkin
0b550f9695
feat(LifeCycle): change LifeCycle to be able register it with a zone
2014-12-12 15:24:30 -08:00
vsavkin
df36ffb11d
feat(zone): add initial implementation of VmTurnZone
2014-12-12 15:24:30 -08:00
Misko Hevery
c25e9e7c5f
fix: properly close the <tree> tag in benchmark
2014-12-11 14:23:02 -08:00
Misko Hevery
56b7ba4bce
perf: improve baseline speed by 30%
...
Use node.firstChild and node.nextSibling instead
of node.children or node.childNodes in the baseline
benchmark.
2014-12-11 14:05:58 -08:00
Rado Kirov
60456c8b89
feat(ng-repeat): initial implementaion of ng-repeat.
...
- adds support for content bindings via '[]'.
- directives module
2014-12-11 11:23:02 -08:00
Victor Berchet
59d6d604b4
fix(analyzer): fix a warning about an unused variable
2014-12-11 00:31:31 +01:00
Tobias Bosch
3ec3d5e084
perf(view): inline and refactor view instantiation and hydration
...
- Don’t convert DOM array into JS array via `Array.slice`
- Inline static methods for instantiation and hydration
- Misc cleanup
Closes #291
2014-12-09 16:16:45 -08:00
vsavkin
8acf9fb609
feat(change_detection): ensure that expression do not change after they have been checked
2014-12-08 18:51:19 -08:00
Tobias Bosch
e7de5f8f37
feat(benchmarks): tree benchmark baseline
2014-12-08 15:54:04 -08:00
Victor Berchet
68da0012cc
perf(Change Detection): remove the usage of getters/setters
...
- Firefox is 2.4x faster (90 vs 221ms)
- Chrome is 24% slower (15.5 vs 12.5ms)
Chrome is still 5.8x faster than Firefox
2014-12-08 21:59:59 +01:00
Victor Berchet
2c4a2f5158
perf(Change Detection): Track the range & group on changes only
...
1.4x speed improvement with Firefox
There is no need to track the range & group for all the records but only
for the records that have changed.
2014-12-08 21:59:59 +01:00
Victor Berchet
ee36063fae
style: misc minor changes
2014-12-08 21:59:59 +01:00
Victor Berchet
c362f33fe4
style(Change Detection): rename WatchGroupDispatcher to ChangeDispatcher
2014-12-08 21:59:59 +01:00
Tobias Bosch
01fa90c11d
feat(benchmarks): initial version of tree benchmark
...
Closes #269
2014-12-08 12:05:00 -08:00
Tobias Bosch
9b7e2e3029
fix(benchmarks_external): use angular dart transformer
2014-12-08 12:00:48 -08:00
Tobias Bosch
5793311421
fix(benchmarks): use explicit `main()` function and do not reexport
...
Otherwise `pub` would not pick it up e.g. for `dart2js`.
2014-12-08 12:00:48 -08:00
Tobias Bosch
72b970e4e2
fix(core): export ViewPort in the public exports
2014-12-08 12:00:47 -08:00
Tobias Bosch
9329c0e8bc
fix(application): also bind the root component to the injector
2014-12-08 12:00:47 -08:00
Tobias Bosch
9c2d411450
feat(compiler): allow recursive components
2014-12-08 12:00:43 -08:00
vsavkin
c3dc373ec4
refactor(change_detector): moves enableRecord/disableRecord into the Record class
2014-12-08 11:06:56 -08:00
vsavkin
7f941eb936
fix(change_detector): adding new ranges when disabling the current enabled record
2014-12-08 11:06:56 -08:00
vsavkin
984ff9bf1b
cleanup(view): remove unused code
2014-12-05 19:06:11 -08:00
vsavkin
33b47bd5d4
fix(view): fix DirectivePropertyGroupMemento to return a new group instead of null
2014-12-05 19:01:16 -08:00
Tobias Bosch
8db77f2405
refactor(build): simplify and modularize
...
simplify:
- use same html file for dart and JS
- build benchmarks automatically when doing `gulp build`
- centralize configuration
modularize:
- move all build tasks into separate node.js modules under
`tools/build`.
changes:
- the `build` folder is now the `dist` folder
Closes #284
2014-12-05 16:30:36 -08:00
Victor Berchet
ceb9ee92bb
fix(Change Detection): fix merge error
2014-12-05 12:20:00 +01:00
Rado Kirov
174613067c
feat(views): adds (de)hydration of views and template vars.
...
Dehydrated views are views that are structurally fixed, but their
directive instances and viewports are purged.
Support for local bindings is added to the view.
2014-12-04 22:40:51 -08:00
Victor Berchet
5c531f718e
perf(RecordRange): optimize disable()
...
There could be no lastEnabledChildRecord when there is no
firstEnabledChildRecord
- saves time by skipping findLastEnabledRecord() when the result is know
to be null,
- saves a test as isPresent(lastEnabledChildRecord) ==
isPresent(firstEnabledChildRecord)
2014-12-04 19:52:43 +01:00
Peter Bacon Darwin
983c00c495
docs(di/src/annotations): use triple backticks to code-fence code blocks
2014-12-04 14:16:52 +00:00
Victor Berchet
11c52ce06d
style: fix typos
2014-12-04 11:01:19 +01:00
vsavkin
65242fbd6d
perf(change_detection): add baseline to change detection benchmark
2014-12-03 18:09:21 -08:00
vsavkin
847cefcb7b
feat(change_detector): notify directives on property changes
2014-12-03 14:33:52 -08:00
Rado Kirov
5bdefee6c9
fix(record-range): fixes bug when disabling empty ranges.
2014-12-03 12:04:06 -08:00
Rado Kirov
c59cc8631a
feat(examples): adds static dart hello world example.
...
Use gulp examples/pub.serve to start up the server and go to
http://localhost:8080/index_static.html to see the static app.
2014-12-03 10:58:30 -08:00
Victor Berchet
0f3134acd4
perf(ProtoRecordRange): re-use a ProtoRecordCreator
2014-12-03 12:10:07 +01:00
Victor Berchet
f8c070c5e4
perf(ProtoRecord): remove the unused prev field
2014-12-03 12:10:07 +01:00
Tommy Odom
f088e9ef15
feat(transpiler): Transform for..of to Dart as for..in
...
fixes #53
2014-12-03 10:48:48 +01:00
Victor Berchet
bf71b94bde
feat(Change Detector): Add support for collection content watch
2014-12-03 10:37:13 +01:00
Victor Berchet
2d2f44949d
perf(Change Detection): Remove a useless test
...
Only "implicit receiver" records get their context updated (since #239 )
2014-12-03 10:14:07 +01:00
Victor Berchet
7cb93fd59e
feat(Change Detection): Add support for keyed access
2014-12-02 16:15:13 +01:00
Tobias Bosch
7bc282d15e
feat(viewport): add initial integration test for template directives
2014-12-01 16:39:37 -08:00
Tobias Bosch
0758165fb5
fix(compiler): allow identifiers with `-` in the template bindings as keys.
2014-12-01 16:39:36 -08:00
Tobias Bosch
63053438ea
fix(compiler): always wrap views into an own `<template>` element
...
This is needed to allow view instantiation also in browsers that
don’t support the `<template>` element and because of this would
return elements from the content of `<template>` elements when
using `element.querySelectorAll`.
Also stores the `elementBinder.nestedProtoView` correctly
when a template directive was used on a `<template>` element.
2014-12-01 16:39:36 -08:00
Pawel Kozlowski
95d86d151a
fix(example): correct markup in the hello world example
2014-12-01 15:13:02 -08:00
Victor Berchet
fc2181ec4e
fix(Dart1.8): Promise handling
2014-12-01 21:17:16 +01:00
Victor Berchet
0703ee526c
fix(Dart1.8): fix analyzer warnings
2014-12-01 21:17:16 +01:00
Uri Shaked
3e57189e45
fix(examples): fix hello_world example (js)
...
Added missing path mapping for the new reflection module.
2014-11-26 14:14:18 -08:00
vsavkin
1863d50978
feat(parser): adds support for variable bindings
2014-11-26 14:03:05 -08:00
vsavkin
a3d9f0fead
fix(parser): handle empty strings
2014-11-26 12:59:11 -08:00
vsavkin
6f889e3094
feat(di): add OpaqueToken to DI
...
Using `new Object()` as a token causes cryptic errors. OpaqueToken class should be used instead.
2014-11-26 12:52:16 -08:00
vsavkin
6187b80ce6
benchmark(compiler): add a benchmark measuring view instantiation in AngularDart 1.0
2014-11-25 17:46:11 -08:00
Rado Kirov
c6f14dd833
feat(viewPort): adds initial implementation of ViewPort.
...
ViewPort is the mechanism backing @Template directives. Those
directives can use the viewport to dynamically create, attach and
detach views.
2014-11-25 16:19:50 -08:00
vsavkin
9a28fa8590
refactor(change_detection): make RecordRange responsible for removing iself
2014-11-25 14:33:19 -08:00
vsavkin
2b53a2f353
fix(ChangeDetector): fix issues with handling empty ranges
2014-11-25 14:28:02 -08:00
vsavkin
3d05f521fe
fix(benchmarks): add the reflection module to benchmark config files
2014-11-24 18:17:22 -08:00
vsavkin
9466592ca6
refactor(benchmarks): rename paths.js into register_system.js to match other benchmarks
2014-11-24 18:16:50 -08:00
vsavkin
bfd3c2d5a9
fix(reflection): update pubspec.yaml to add a missing dependency on reflection
2014-11-24 18:03:26 -08:00
vsavkin
f55011cde2
fix(reflection): fix a typo
2014-11-24 18:02:21 -08:00
vsavkin
9a9a13a553
feat(change_detection): add benchmarks
2014-11-24 18:01:31 -08:00
vsavkin
6e8175a816
feat(Reflection): extract reflection capabilities into a separate module
2014-11-24 16:53:12 -08:00
Misko Hevery
044625a098
chore: Make field declarations explicit
...
This used to be valid code:
```
class Foo {
constructor() {
this.bar = ‘string’;
}
}
```
This will now fail since ‘bar’ is not explicitly
defined as a field. We now have to write:
```
class Foo {
bar:string; // << REQUIRED
constructor() {
this.bar = ‘string’;
}
}
```
2014-11-24 16:35:39 -08:00
Victor Berchet
ab961b327e
feat(RecordRange): Set context for implicit receivers only
2014-11-24 15:32:25 +01:00
Victor Berchet
69af7ea2c0
feat(ChangeDetection): convert Record.mode to a bit field
2014-11-24 15:18:52 +01:00
Rado Kirov
70c38e6260
doc(example): adds comments to the hello world app.
...
Explains the basic concepts as seen in the demo app, but it is not a
substitute for proper documentation which will come later.
2014-11-20 12:32:30 -08:00
vsavkin
2980eb5b0b
refactor(ChangeDetector): rename WatchGroup into RecordRange
2014-11-20 10:24:18 -08:00
vsavkin
862c6412c4
feat(ChangeDetector): implement enabling/disabling watch group
2014-11-20 10:24:18 -08:00
Tobias Bosch
fc5b7edca4
feat(compiler): support `on-` and `[]`
2014-11-19 16:24:12 -08:00
Tobias Bosch
c6846f1163
feat(compiler): new semantics for `template` attributes and view variables.
...
- Supports `<div template=“…”>`, including parsing the expressions within
the attribute.
- Supports `<template let-ng-repeat=“rows”>`
- Adds attribute interpolation (was missing previously)
2014-11-19 14:32:15 -08:00
Rado Kirov
d6193e9073
feat(examples): adds hello-world app.
...
The app is writen in ES6 and transpiles to ES5 and dart as part of the
usual build.
The app contains a component, a directive and a services wired together
through dependency injection.
Before Each:
- gulp build
For es5:
- gulp serve
- open 'localhost:8000/js/examples/lib/hello_world/'
For dart:
- gulp examples/pub.serve
- open 'localhost:8080'
2014-11-19 12:24:14 -08:00
Rado Kirov
1221857d17
feat(bootstraping): application bootstrapping implementation.
...
Entry-point to bootstrapping is a rootComponent. The bootstrapping
method, uses the component's selector to find the insertion element in
the DOM, and attaches the component in its ShadowRoot.
2014-11-18 15:02:38 -08:00
vsavkin
f0d6464856
feat(ChangeDetector): change View to construct a WatchGroup hierarchy
2014-11-17 17:49:17 -08:00
Victor Berchet
384f0ae858
feat(Change Detection): Child watch groups
2014-11-17 17:49:17 -08:00
Tobias Bosch
7482b682d6
fix(test_lib): allow equality tests for `Map`
2014-11-17 17:47:50 -08:00
Tobias Bosch
b2ecdb5da7
fix(compiler): use parentheses around expressions and escape quotes
2014-11-17 17:47:50 -08:00
Tobias Bosch
03882dcccc
refactor(ElementInjector): remove stale file and make StaticKeys private
2014-11-17 17:44:39 -08:00
vsavkin
daf8f72b74
feat(ChangeDetector): implement enabling/disabling records
2014-11-17 16:54:25 -08:00
Tobias Bosch
8dfbc242af
refactor(benchmark): simplify writing benchmarks
...
Adds `benchmarks/benchpress` module and adjusts the compiler
benchmarks to use it. Also adds the Angular 1.3 benchmark
to the compiler benchmarks.
Closes #202
2014-11-17 12:27:29 -08:00
Rado Kirov
be4cb2db3a
feat(view): add support for instantiation of nested component views.
...
Include shadowDom creation and integration tests for nested components.
Fix accidentally clobbered modules/core/test/compiler/view_spec.js by
previous commit.
2014-11-14 16:09:36 -08:00
Tobias Bosch
b07ea6b90e
feat(compiler): add benchmarks
...
- compileEmptyTemplate
- compile25ElementsNoBindings
- compile25ElementsWithBindings
For the results see the PR #197 .
Closes #197
2014-11-14 14:25:02 -08:00
Tobias Bosch
aa9eeb80e7
fix(change_detection/lexer): support production mode
...
The Lexer uses the global `assert` function of Dart, which is not
yet available in JavaScript. Later on, all `assert` statements should
be automatically removed by Traceur.
2014-11-14 14:22:38 -08:00
vsavkin
d7208b8429
feat(ElementInjector): add NgElement
2014-11-14 13:22:39 -08:00
vsavkin
ac8351b7bc
feat(ElementInjector): change ElementInjector so @parent and @ancestor do not include self.
2014-11-14 13:18:39 -08:00
vsavkin
e15bcf0ffd
refactor(ChangeDetector): pass formatters when instantiating a watch group
2014-11-14 13:16:55 -08:00
vsavkin
03410850b4
feat(change_detector): cleanup
2014-11-14 13:16:55 -08:00
vsavkin
34d76f1c73
feat(change_detector): add support for map literals
2014-11-14 13:16:55 -08:00
vsavkin
75fd98428a
feat(change_detector): add support for array literals
2014-11-14 13:16:55 -08:00
vsavkin
0e6d52306b
feat(change_detector): add support for ternary
2014-11-14 13:16:55 -08:00
vsavkin
f38b94067a
feat(change_detector): add support for negate
2014-11-14 13:16:55 -08:00
vsavkin
4e38e3a96c
feat(change_detector): add support for method calls
2014-11-14 13:16:55 -08:00
vsavkin
dcd905ae85
feat(change_detector): add support for formatters
2014-11-14 13:16:55 -08:00
vsavkin
79a9430f2c
feat(change_detection): add support for binary operations and literals
2014-11-14 13:16:55 -08:00
Rado Kirov
b8e3617a1d
refactor(annotations): replace Module functions with plain lists.
...
Renames:
elementServices -> shadowDomServices.
2014-11-14 13:03:24 -08:00
Tobias Bosch
1b79c91320
fix(compiler, view): centralize TemplateElement checks and fix inconsistencies
...
Fixes #189
Closes #194
2014-11-14 11:04:18 -08:00
Tobias Bosch
5e0ff2cbb7
refactor(ElementBinder): Store componentDirective and templateDirective as well.
2014-11-13 17:36:45 -08:00
Tobias Bosch
352b6406ad
fix(BaseException): Support stack traces in BaseException
2014-11-13 17:32:56 -08:00
Tobias Bosch
7308a3acc7
refactor(ElementInjector): support components
...
- Allow to access containing component directive instance from the shadow DOM.
- Allow to access app services of the app level injector of the component
when the component is instantiated.
2014-11-13 17:32:52 -08:00
Tobias Bosch
7a70f8f92d
feat(compiler): initial version of the compiler.
...
Supports:
- binds text nodes, element properties and directive properties
- locates decorator, component and template directives.
- inline templates of components
The compiler is built using a pipeline design,
see core/src/compiler/pipeline package.
Integration tests to show how the compiler, change_detection and DI work
together:
core/test/compiler/integration_spec.js
2014-11-11 17:55:50 -08:00
Sekib Omazic
62efb56b0a
fix(lang): fix small typo.
2014-11-11 16:59:29 -08:00
Sekib Omazic
398571e3e4
docs(di): simple typo
2014-11-10 17:07:57 -08:00
vsavkin
90fd1a9227
refactor(Parser): cleanup
2014-11-07 16:21:12 -08:00
Alxandr
cb276fe412
Fixed small typo in example
...
Closes #165
2014-11-07 16:20:38 -08:00
Vojta Jina
d16d6a02ab
feat(transpiler): class fields for Dart
2014-11-07 10:29:48 -08:00
Vojta Jina
b4ff802e28
feat(deps): update Traceur 0.0.74
2014-11-07 10:29:48 -08:00
vsavkin
a1c6f1bbe9
refactor(Key): extract KeyRegistry to remove the need in `Key.clear`
2014-11-06 10:56:45 -08:00
vsavkin
9448d78aa8
refactor(ProtoElementInjector): change `instantiate` to take positional args
2014-11-06 10:13:07 -08:00
vsavkin
b5f6417635
refactor(ElementInjector): use `index` instead of the `elementInjector` field to instantiate element injectors
2014-11-06 10:03:20 -08:00
vsavkin
7908533336
refactor(Parser): cleanup
2014-11-06 09:59:22 -08:00
vsavkin
693489ce38
refactor(Parser): cleanup
2014-11-06 09:11:13 -08:00
vsavkin
7b777b1f71
feat(Parser): add support for method invocations
2014-11-06 09:11:13 -08:00
vsavkin
977bc77c96
feat(Parser): improve error handling
2014-11-06 09:11:13 -08:00
vsavkin
ac060ed405
feat(Parser): add support for arrays and maps
2014-11-06 09:11:13 -08:00
vsavkin
8cc008bda1
feat(Parser): add support for assignments
2014-11-06 09:11:13 -08:00
Victor Berchet
0a766f4654
feat(Change Detection): Implement map changes
2014-11-05 14:02:03 -08:00
Victor Berchet
1bd304e7ab
feat(Change Detection): Implement collection changes
2014-11-05 13:30:44 -08:00
Vojta Jina
2b7738c12c
fix(example): make it work
2014-11-05 11:19:02 -08:00
vsavkin
18cdab7450
refactor(parser): clean up tests
2014-11-04 16:08:01 -08:00
vsavkin
03c779321f
cleanup(parser): add type annotations to all AST classes
2014-11-04 15:56:43 -08:00
vsavkin
52b3838a21
feat(parser): split parse into parseBinding and parseAction
2014-11-04 15:51:56 -08:00
vsavkin
00bc9e5d56
feat(parser): add support for formatters
2014-11-04 10:47:33 -08:00
vsavkin
8a829d346b
feat(parser): throw when expected an identifier
2014-11-04 09:21:28 -08:00
vsavkin
c41f59c794
feat(parser): change Parser to return null when one of the operands is null
2014-11-04 09:06:46 -08:00
vsavkin
a7fe25d93f
feat(parser): add support for ternary operator
2014-11-03 17:25:16 -08:00
Rado Kirov
965fa1a985
feat(parser): adds basic expressions to the parser.
...
Mostly copy pasta from angular.dart.
Remove GetterFactory in favor for ClosureMap (which has basically the same
implementation).
2014-10-31 14:32:12 -07:00
Rado Kirov
8c566dcfb5
feat(elementBinder): introduce element binder.
...
It is a plain-old-data class to seperate the protoInjector from the
textNodes and elementBinding data.
2014-10-30 14:59:32 -07:00
Rado Kirov
91f50b67b7
feat(view): hook watch group instantiation in the view.
2014-10-29 17:04:56 -07:00
vsavkin
01e6c7b70c
feat(Parser): implement Parser
...
Add a simple parser implementation that supports only field reads.
2014-10-29 18:29:34 -04:00
vsavkin
acd7035347
feat(test_lib): change test_lib.dart to structurally compare objects
2014-10-29 18:25:32 -04:00
vsavkin
9bd65abb32
feat(ElementInjector): throw when encounter a cyclic dependency
2014-10-29 17:52:51 -04:00
Rado Kirov
b0c9d05ea7
feat(view): add onChange implementation to view.
2014-10-29 13:32:20 -07:00
Tobias Bosch
08d4a37c06
feat(selector): initial version of the selector
2014-10-28 14:46:55 -07:00
Tobias Bosch
d0c870fb32
feat(facade/collection): add StringMap support
2014-10-28 14:46:38 -07:00
Tobias Bosch
d4c099de8c
feat(facade/lang): add math and regexp support
2014-10-28 14:46:09 -07:00
Tobias Bosch
cc115d58ca
fix(facade/lang): use strict equality for performance
2014-10-28 14:45:50 -07:00
Victor Berchet
c90a7114d3
feat(ChangeDetector): Add support for chained properties
2014-10-28 11:33:09 +01:00
Victor Berchet
63494a74bf
chore(pubspec): fix a typo
2014-10-28 11:17:00 +01:00
vsavkin
c11ca944d4
perf(ElementInjector): add a benchmark measuring the instantiation of element injectors without using reflection
2014-10-27 17:56:05 -04:00
vsavkin
e3b772425e
feat(ElementInjector): change ElementInjector to accept bindings or types
2014-10-27 17:56:05 -04:00
vsavkin
31831eee5e
feat(View): implement ProtoView.instantiate
2014-10-27 17:18:35 -04:00
vsavkin
79d270c3dd
feat(ElementInjector): add support for "special" objects
2014-10-27 14:14:56 -04:00
vsavkin
e3548b497f
feat(ElementInjector): implement ElementInjector
2014-10-27 10:16:50 -04:00
vsavkin
ea0df352be
feat(di): add metadata to Key
2014-10-27 10:04:12 -04:00
vsavkin
2a4b63b614
refactor(collection): use Map instead of Object
2014-10-18 17:50:55 -04:00
vsavkin
1f4caa8773
feat(benchmark): add a simple benchmark for the di module
2014-10-18 17:06:23 -04:00
vsavkin
2f732c6b84
docs(di): add docs to di module
2014-10-14 08:11:44 -04:00
vsavkin
1a7d5160f2
use Promise instead of Future
2014-10-12 17:47:52 -04:00
vsavkin
f524a89cb6
feat(injector): add support for default bindings
2014-10-12 17:29:02 -04:00
vsavkin
b71cd9f380
refactor(di): use boolean instead of bool
2014-10-12 17:15:58 -04:00
vsavkin
92b2559109
refactor(di): cleanup
2014-10-12 17:06:41 -04:00
vsavkin
c3d9b5c91e
refactor(di): simplify Injector API
2014-10-12 17:06:41 -04:00
vsavkin
f0870791f6
refactor(di): cleanup to make dartanalyzer happy
2014-10-12 17:06:41 -04:00
vsavkin
97667e2591
refactor(di): make use of optional parameters
2014-10-12 17:06:41 -04:00
vsavkin
3f3fb7017e
refactor(injector): implement support for nested bindings
2014-10-12 17:06:41 -04:00
vsavkin
0b60f8494d
style(di): add new lines
2014-10-12 17:06:41 -04:00
vsavkin
d313cac42f
refactor(injector): change toFactory to use reflector to construct dependencies
2014-10-12 17:06:40 -04:00
vsavkin
06a221671c
refactor(injector): cleanup
2014-10-12 17:06:40 -04:00
vsavkin
9b411372df
feat(injector): change injector to recover from errors
...
So it can instantiate an object after a failed attempt.
2014-10-12 17:06:40 -04:00
vsavkin
b9d03e6635
refactor(di): move Dependency from key.js to binding.js
2014-10-12 17:06:40 -04:00
Misko Hevery
a9896ed391
design: view instantiation test
2014-10-10 20:54:33 -07:00
Victor Berchet
5527a1b1a4
feature(change detection): implement barebone ChangeDetector
...
fixes #39
2014-10-08 11:11:56 +02:00
Vojta Jina
cfc5fdc60d
chore: use es6-module-loader
...
Switch Traceur to use modules=“instantiate” and use es6-module-loader.
This setup supports cyclic dependencies.
2014-10-07 17:35:22 -07:00
Chirayu Krishnappa
e4ce69dcc7
test(scanner): port the rest of the lexer tests from AngularDart
...
Closes #64
2014-10-07 16:47:50 -07:00
vsavkin
5162b3c0ca
refactor(reflector): cleanup
2014-10-07 10:42:27 -04:00
vsavkin
7d566adea0
style(reflector): formatting
2014-10-07 10:34:07 -04:00
vsavkin
187c4aa33c
refactor(injector): uses one instance of reflector instead of creating a new instance every time
2014-10-07 10:29:32 -04:00
vsavkin
ab4f86a0cb
refactor(injector): cleanup
2014-10-07 10:03:06 -04:00
vsavkin
ea22cc4c7a
refactor(injector): add @FIELD annotations to Key and Dependency
2014-10-07 09:39:52 -04:00
vsavkin
df09a7c817
refactor(injector): add bool and int annotations
2014-10-07 09:37:45 -04:00
vsavkin
971e31fcd3
feat(facade): add bool type
2014-10-07 09:37:23 -04:00
vsavkin
4e0c368c03
refactor(injector): remove DIError
2014-10-07 09:21:00 -04:00
vsavkin
62004e22e0
feat(injector): change injector to show the full path when error happens in a constructor (async)
2014-10-07 09:04:11 -04:00
vsavkin
e7666d0612
feat(injector): handle async cyclic dependencies
2014-10-06 16:24:12 -04:00
vsavkin
a0176273c5
feat(injector): implement InjectLazy
2014-10-06 15:03:05 -04:00
vsavkin
e02cdfe733
feat(injector): handle in-progress async construction
2014-10-06 15:03:05 -04:00
vsavkin
4d6c7481ad
feat(injector): handle construction errors
...
- Detect cyclic deps
- Handle initialization errors
2014-10-06 15:03:05 -04:00
vsavkin
14af5a0a42
feat(injector): implement async dependencies
2014-10-06 15:02:41 -04:00
vsavkin
a814d48bbc
refactor(injector): use @CONST to create the Inject annotation
2014-10-03 20:34:37 -04:00
vsavkin
f63a5dd158
refactor(injector): change reflector to collect the resolving path only when an error occurs
2014-10-03 19:54:53 -04:00
vsavkin
15305b6cd7
refactor(facade): instantiate a fixed length array
2014-10-03 16:31:12 -04:00
vsavkin
a85812f688
refactor(injector): rename humanize into stringify
2014-10-03 16:29:59 -04:00
vsavkin
b2199632c7
feat(injector): initial implementaion of dynamic injector
2014-10-03 15:35:33 -04:00
Misko Hevery
6c8da62c1b
fix: Enabled annotation support for Dart
2014-10-02 21:48:46 -07:00
Misko Hevery
cbd429640f
chore: remove hello test
2014-10-02 21:02:48 -07:00
Victor Berchet
089a2f1b62
feat(transpiler): constructor and typed field semantics
...
fixes #11 (constructor and typed field semantics)
fixes #42 (Should we infer class property types from ctor args ?)
fixes #17 (number (js) should map to num (dart))
Closes #45
2014-10-02 21:02:47 -07:00
Misko Hevery
fd0c2d8063
design: added selector interface
2014-10-02 20:39:27 -07:00
Tobias Bosch
33af1d0b39
chore(build): execute `pub get` only if a pubspec.yaml changed and run `dart analyzer` on all dart files
...
`pub get` is now only executed when the `pubspec.yaml` in the `modules`
folder is different than the `pubspec.yaml` in the `build/dart` folder.
Generates the file `build/dart/_analyzer.dart` that imports all modules
to run `dart analyzer` against all of them. The build will fail whenever
there are errors, warnings or hints in `dart analyzer`.
Changes the sources so that `dart analyzer` does not report any
error, warning or hint.
Closes #40
2014-10-02 16:10:08 -07:00
Misko Hevery
f9923ea7db
test: add example test for change_detection
2014-10-01 22:17:14 -07:00
Chirayu Krishnappa
78d758b4bb
fixes to get tests green with karma dart
2014-10-01 19:58:22 -07:00
Chirayu Krishnappa
d7d52aaef2
refactor(lexer): rename to scanner, use ints, etc.
2014-10-01 17:06:17 -07:00
Chirayu Krishnappa
3482fb1291
feat(facade/lang): support int
2014-10-01 17:06:17 -07:00
Chirayu Krishnappa
c85ab3a5a4
feat(lexer): initial (wip) implementation.
2014-10-01 12:50:44 -07:00
Misko Hevery
69210e4fde
design: add test change_detection
2014-09-30 17:02:33 -07:00
Misko Hevery
e3254d4a7d
design: update change_detection
2014-09-30 15:57:05 -07:00
Tobias Bosch
c79f0c3472
refactor: simplify and make tests work in JS and Dart
...
* remove `wraps` syntax enhancements for imports
and support new `import * as module from ...` syntax
- default imports are the wrong construct for importing
everything from a module
* moved tests from transpiler to jasmine and karma
- transpiler tests are included when running karma in main project folder
- transpiler is reloaded after every test run in karma,
so no need to restart karma when the transpiler has been changed.
- removed own gulp build for transpiler and `postinstall.sh`
as they are no more needed.
- transpiler tests are now executed in Dart AND JavaScript (used to be executed
only in Dart), which allowed to catch some bugs (see the bug with the
import specification above).
* made tests work in dart as well by using the following hack:
- dependencies are loaded from the `build` folder, which makes
running `gulp build` necessary before running karma for dart
- for this to work,
the dependencies are included in main `pubspec.yaml` of project
- reason for the hack: `karma-dart` loads all `packages` urls
directly from disc (should rather use the karma file list)
* added explicit annotations `FIELD`, `ABSTRACT`, ... to `facade/lang.*`
- needed for now that we can run tests and don't get errors for undefined
annotations.
* added `README.md` with details about the build and tests
2014-09-28 21:50:38 -07:00
Misko Hevery
817c005845
test: added simple View test
2014-09-28 20:02:32 -07:00
Misko Hevery
9c7c7e8acf
design: simplified view interfaces
2014-09-28 16:30:13 -07:00
Tobias Bosch
d42fa07863
fix(examples): make todo example run again
2014-09-26 17:38:38 -07:00
Tobias Bosch
c8cf03f200
refactor: move rtts-assert into `modules` directory
...
The rtts assertion lib is only needed for js,
but it should be treated like any other module (e.g. facade, …)
2014-09-26 17:36:57 -07:00
Vojta Jina
c3b442ea53
chore: karma with JS, Dart
...
Note: karma with dart is still not working
because of how `karma-dart` loads `package:…` dependencies.
Usage:
```
karma start karma-js.conf.js
karma start karma-dart.conf.js
```
Make sure to set `DARTIUM_BIN` env variable.
Refactors `js2dart`:
- live outside of the traceur module (`tools/js2dart/index.js`)
so it can be reused by gulp and karma
- automatically build the sources in memory,
so that `js2dart` can be used without running `gulp build` first
- provide a way to specify the moduleName of a compilation run
independently of the input filename. This helps error messages
and source maps (not yet enabled) to report the correct file name
Changes project setup:
- add module `test_lib` that contains the primitives for tests
(e.g. `describe`, `it`, …)
- clean up some sources that had errors in them
- module names in transpiled js and dart files don’t contain
`lib`, `test` nor `src` any more (e.g. `di/di`).
2014-09-26 16:53:54 -07:00
Misko Hevery
6335fc407c
design: add changed detection API
2014-09-26 15:12:55 -07:00
Tobias Bosch
100d66222c
build: execute `pub get` and `dart analyzer`
...
When chaining a `pubspec.yaml` we automatically run `pub get`.
In `gulp build` we also run `dartanalyzer` for all files
that have the pattern:
`<module>/lib/<module>.dart`
Closes #13
Closes #5
Closes #2
2014-09-25 17:56:05 -07:00
Misko Hevery
b42111a608
design: added record interface
2014-09-25 16:53:32 -07:00
Misko Hevery
8afa421d75
first chunk of interfaces that are valid via dart analyzer
2014-09-25 13:51:50 -07:00
Tobias Bosch
57b3297bf6
refactor: always use js2dart traceur and make examples run again
2014-09-24 20:20:59 -07:00
Misko Hevery
6e4477fc08
WIP
2014-09-19 23:03:36 +00:00
Tobias Bosch
afa7616464
build - refactor
2014-09-19 13:59:28 -07:00