<feed xmlns='http://www.w3.org/2005/Atom'>
<title>angular.js/src/ng/directive, branch v1.2.0-rc.3</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/'/>
<entry>
<title>docs: add missing priority documentation for structural directives</title>
<updated>2013-10-14T16:53:32+00:00</updated>
<author>
<name>Igor Minar</name>
</author>
<published>2013-10-14T16:53:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=08cdd77c28e95cb2d01d568f31873124c97ec33a'/>
<id>08cdd77c28e95cb2d01d568f31873124c97ec33a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(ngInit): fix typo</title>
<updated>2013-10-14T06:40:57+00:00</updated>
<author>
<name>Tyler McGinnis</name>
</author>
<published>2013-10-11T22:59:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=a780df877935f350990826bc5e577afa2b460006'/>
<id>a780df877935f350990826bc5e577afa2b460006</id>
<content type='text'>
Closes #4384
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #4384
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(ngNonBindable): improve description</title>
<updated>2013-10-14T06:20:31+00:00</updated>
<author>
<name>Pete Bacon Darwin</name>
</author>
<published>2013-10-12T22:38:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=977b482b0b9ee41fee7feb8d1016f3d86f54abc7'/>
<id>977b482b0b9ee41fee7feb8d1016f3d86f54abc7</id>
<content type='text'>
Closes #4391
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #4391
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(booleanAttrs): improve grammar and clarity</title>
<updated>2013-10-14T06:12:20+00:00</updated>
<author>
<name>Dave Peticolas</name>
</author>
<published>2013-10-13T00:33:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=e79a20e1ca2e725100acedc0ba5ac014fea0f412'/>
<id>e79a20e1ca2e725100acedc0ba5ac014fea0f412</id>
<content type='text'>
Closes #4392
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #4392
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(directives): correct priority of structural directives</title>
<updated>2013-10-12T00:12:24+00:00</updated>
<author>
<name>Igor Minar</name>
</author>
<published>2013-10-11T19:58:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=b7af76b4c5aa77648cc1bfd49935b48583419023'/>
<id>b7af76b4c5aa77648cc1bfd49935b48583419023</id>
<content type='text'>
BREAKING CHANGE: the priority of ngRepeat, ngSwitchWhen, ngIf,
ngInclude and ngView has changed. This could affect directives that
explicitly specify their priority.

In order to make ngRepeat, ngSwitchWhen, ngIf, ngInclude and ngView
work together in all common scenarios their directives are being
adjusted to achieve the following precendence:

Directive        | Old Priority | New Priority
=============================================
ngRepeat         | 1000         | 1000
---------------------------------------------
ngSwitchWhen     | 500          | 800
---------------------------------------------
ngIf             | 1000         | 600
---------------------------------------------
ngInclude/ngView | 1000         | 400
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BREAKING CHANGE: the priority of ngRepeat, ngSwitchWhen, ngIf,
ngInclude and ngView has changed. This could affect directives that
explicitly specify their priority.

In order to make ngRepeat, ngSwitchWhen, ngIf, ngInclude and ngView
work together in all common scenarios their directives are being
adjusted to achieve the following precendence:

Directive        | Old Priority | New Priority
=============================================
ngRepeat         | 1000         | 1000
---------------------------------------------
ngSwitchWhen     | 500          | 800
---------------------------------------------
ngIf             | 1000         | 600
---------------------------------------------
ngInclude/ngView | 1000         | 400
</pre>
</div>
</content>
</entry>
<entry>
<title>style: strip white space from files</title>
<updated>2013-10-12T00:12:24+00:00</updated>
<author>
<name>Igor Minar</name>
</author>
<published>2013-10-11T19:21:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=83fbaa54f13ff94d193115de0eaa3799739af3a5'/>
<id>83fbaa54f13ff94d193115de0eaa3799739af3a5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(ngInit): add note on best practices</title>
<updated>2013-10-10T20:53:50+00:00</updated>
<author>
<name>Brian Ford</name>
</author>
<published>2013-10-10T18:35:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=e819d21fa02f28a64fa8176c132800da2395427e'/>
<id>e819d21fa02f28a64fa8176c132800da2395427e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(ngRepeat): use block separator comments</title>
<updated>2013-10-09T22:19:10+00:00</updated>
<author>
<name>jankuca</name>
</author>
<published>2013-09-23T18:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=9efa46ae640cde17487c341daa9a75c0bd79da02'/>
<id>9efa46ae640cde17487c341daa9a75c0bd79da02</id>
<content type='text'>
Issue: multi-elements ng-repeat (ng-repeat-start, ng-repeat-end) can contain elements with a trancluding directive. This directive changes content of the row (template) and ng-repeat does not work correctly (when removing/moving rows), because ng-repeat works with the original template (elements).

This changes ng-repeat behavior to traverse the DOM to find current elements everytime we are moving/removing rows (if the template has multiple elements).

Closes #3104
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Issue: multi-elements ng-repeat (ng-repeat-start, ng-repeat-end) can contain elements with a trancluding directive. This directive changes content of the row (template) and ng-repeat does not work correctly (when removing/moving rows), because ng-repeat works with the original template (elements).

This changes ng-repeat behavior to traverse the DOM to find current elements everytime we are moving/removing rows (if the template has multiple elements).

Closes #3104
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(input): `false` is no longer an empty value by default</title>
<updated>2013-10-07T23:47:51+00:00</updated>
<author>
<name>Pete Bacon Darwin</name>
</author>
<published>2013-09-25T11:49:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=b56b21a898b3c77589a48a290271f9dc181dafe8'/>
<id>b56b21a898b3c77589a48a290271f9dc181dafe8</id>
<content type='text'>
`checkboxInputType` and `ngList` directives need to have special logic for whether
they are empty or not.  Previously this had been hard coded into their
own directives or the `ngRequired` directive.  This made it difficult to handle
these special cases.

This change factors out the question of whether an input is empty into a method
`$isEmpty` on the `ngModelController`.  The `ngRequired` directive now uses this
method when testing for validity and directives, such as `checkbox` or `ngList`
can override it to apply logic specific to their needs.

Closes #3490, #3658, #2594
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`checkboxInputType` and `ngList` directives need to have special logic for whether
they are empty or not.  Previously this had been hard coded into their
own directives or the `ngRequired` directive.  This made it difficult to handle
these special cases.

This change factors out the question of whether an input is empty into a method
`$isEmpty` on the `ngModelController`.  The `ngRequired` directive now uses this
method when testing for validity and directives, such as `checkbox` or `ngList`
can override it to apply logic specific to their needs.

Closes #3490, #3658, #2594
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(*): protect calls to hasOwnProperty in public API</title>
<updated>2013-10-07T16:01:13+00:00</updated>
<author>
<name>Peter Bacon Darwin</name>
</author>
<published>2013-10-05T09:49:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=7a586e5c19f3d1ecc3fefef084ce992072ee7f60'/>
<id>7a586e5c19f3d1ecc3fefef084ce992072ee7f60</id>
<content type='text'>
Objects received from outside AngularJS may have had their `hasOwnProperty`
method overridden with something else. In cases where we can do this without
incurring a performance penalty we call directly on Object.prototype.hasOwnProperty
to ensure that we use the correct method.

Also, we have some internal hash objects, where the keys for the map are provided
from outside AngularJS. In such cases we either prevent `hasOwnProperty` from
being used as a key or provide some other way of preventing our objects from
having their `hasOwnProperty` overridden.

BREAKING CHANGE: Inputs with name equal to "hasOwnProperty" are not allowed inside
form or ngForm directives.

Before, inputs whose name was "hasOwnProperty" were quietly ignored and not added
to the scope.  Now a badname exception is thrown.

Using "hasOwnProperty" for an input name would be very unusual and bad practice.
Either do not include such an input in a `form` or `ngForm` directive or change
the name of the input.

Closes #3331</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Objects received from outside AngularJS may have had their `hasOwnProperty`
method overridden with something else. In cases where we can do this without
incurring a performance penalty we call directly on Object.prototype.hasOwnProperty
to ensure that we use the correct method.

Also, we have some internal hash objects, where the keys for the map are provided
from outside AngularJS. In such cases we either prevent `hasOwnProperty` from
being used as a key or provide some other way of preventing our objects from
having their `hasOwnProperty` overridden.

BREAKING CHANGE: Inputs with name equal to "hasOwnProperty" are not allowed inside
form or ngForm directives.

Before, inputs whose name was "hasOwnProperty" were quietly ignored and not added
to the scope.  Now a badname exception is thrown.

Using "hasOwnProperty" for an input name would be very unusual and bad practice.
Either do not include such an input in a `form` or `ngForm` directive or change
the name of the input.

Closes #3331</pre>
</div>
</content>
</entry>
</feed>
