Commit Graph

564 Commits

Author SHA1 Message Date
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