130 Commits

Author SHA1 Message Date
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
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
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
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
Misko Hevery
3b34ef43b1 perf(CD): Special cased interpolation in AST, Parser, and CD 2015-01-22 16:31:58 -08:00
Misko Hevery
829c28f3ee docs: initial version of the documentation 2015-01-23 00:03:21 +00: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
769e9741d3 refactor(OnChange): update message to ease debugging 2015-01-22 18:49:10 +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
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
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
vsavkin
3c692a1b85 feat(element_injector): add distance to propertly implement @parent 2015-01-13 09:39:08 -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
Victor Berchet
41907853b4 refactor(view): code simplification 2015-01-09 19:09:54 +01:00
Victor Berchet
48e50121d4 feat(compiler): handle compileChildren from @Decorator 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
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
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
vsavkin
53906e484a fix(compiler): fix a dart analyzer warning 2014-12-30 13:25:18 -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
dbd85615b0 style(core): add missing type annotation 2014-12-17 15:58:20 -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