Commit Graph

482 Commits

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