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