Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

fix(select): respect tracking expression when shallow watching arrays of objects in ngOptions #9466

Closed
wants to merge 837 commits into from

Conversation

drjokepu
Copy link

@drjokepu drjokepu commented Oct 7, 2014

Attempts to resolve #9464 by using the tracking expression when shallow watching the elements of the array passed in to ngOptions.

rolfyone and others added 30 commits July 16, 2014 17:05
Two descriptions contain typo's to the word predicate.

Closes angular#8004
…low < in text content

This reverts commit 36d2658.

This commit broke the ci-checks task when ported into v1.2.x --- I will sort this out shortly.
Conflicts:
	src/Angular.js
	src/AngularPublic.js
	src/jqLite.js
	src/ng/directive/input.js
… text content

ngSanitize will now permit opening braces in text content, provided they are not followed by either
an unescaped backslash, or by an ASCII letter (u+0041 - u+005A, u+0061 - u+007A), in compliance with
rules of the parsing spec, without taking insertion mode into account.

BREAKING CHANGE

Previously, $sanitize would "fix" invalid markup in which a space preceded alphanumeric characters
in a start-tag. Following this change, any opening angle bracket which is not followed by either a
forward slash, or by an ASCII letter (a-z | A-Z) will not be considered a start tag delimiter, per
the HTML parsing spec (http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html).

Closes angular#8212
Closes angular#8193
… for loading pages

This should help with occasional safari page load timeouts. In a test of
4500 page loads, the current 10 second limit caused 3 errors while a 30 second limit
caused none.

Closes angular#8231
This fixes an issue with HTML encoding HTML entities in code blocks
- updated the internal jqLite helpers to use the low-level jqLite.data/removeData to avoid unnecessary jq wrappers and loops
- updated $compile to use the low-level jqLite.data/removeData to avoid unnecessary jq wrappers at link time
Global controllers have been disallowed in Angular 1.3

Closes angular#8248
Closes angular#8261

Conflicts:
	src/ng/directive/ngBind.js
npm-bundle-deps has been rewritten to be more robust
You can not change the use of `{{}}`/`ngBind` based on the time when it is used.
So this should be "if".

Closes angular#7786
This version supports `@packageName` tag that will allow us to fix the docs
for ngMock and ngMockE2E
When accessing the docs from https, the "Accessing the backend example fails
because it contains a hard coded protocol. By making the URL protocol relative,
the example should work over http and https.
Closes angular#8277

Conflicts:
	docs/content/guide/migration.ngdoc
Make clear that it is the name of the callback that should be `JSON_CALLBACK`, instead of the current vague description.

Closes angular#8269
on
element(by.css(.phones li a)).click();

selenium will throw a warning message that more then one element found.

element.all(by.css('.phones li a')).first().click(); fixes the issue
jeffbcross and others added 26 commits September 23, 2014 18:50
…rols

Backported from 1eda183

NgModel will format all scope-based values to string when setting the viewValue for
the associated input element. The formatting, however, only applies to input elements
that contain a text, email, url or blank input type. In the event of a null or undefined
scope or model value, the viewValue will be set to null or undefined instead of being
converted to an empty string.

Closes angular#5936
Closes angular#9277
I wrote a book on AngularJS (AngularJS: Novice to Ninja).

Closes angular#9293
In b290244 the doce2e tests were moved
into the 'unit' test job on Travis, but only half of this change ever made
it into v1.2.x. This change fixes up the other half, so that the doce2e
tests are run only once.
Stop an asynchronous compilation when this is performed on an
already destroyed scope

Closes angular#9199
Closes angular#9079
Closes angular#8504
Closes angular#9197
Prior to this fix, options added to a select by ngOptions would not cause
`selectCtrl.hasOption` to return `true`

Closes angular#8761
Prevent the tag from being processed (and not rendered). Thanks @davidlehn.

Closes angular#9331
This reverts commit 5c9c197.

This "fix" is not yet ready for 1.2.x as it has lots of issues when JQuery
is loaded.
…ext controls

This reverts commit 1b8b41a.

This is a breaking change.
The draggable example does not work as expected in Chrome (37.0.2062.124 m).
The span disappears when dragged beyond what appears to be a small area.
Changing the span to a block element (with a width of 65px) resolves this issue.
An alternative solution would be to change the span to a div.
… of objects in ngOptions

ngOptions does not use the tracking expression when shallow watching array elements passed in to ngOptions. This is a problem if the elements passed in to ngOptions are generated on the fly and while the array elements identical in value, they are different instances; this leads to infinite digest loops. This change attempts to rectify the situation by shallow watching an array of trackFn(values) rather than the array of values themselves.

Closes angular#9464
@caitp
Copy link
Contributor

caitp commented Oct 7, 2014

I think you just want 476c877 :)

@drjokepu drjokepu closed this Oct 7, 2014
@caitp
Copy link
Contributor

caitp commented Oct 7, 2014

you don't need to close, you can just do this:

git checkout origin/master -f -B select-infdig
git pull --rebase origin master
git cherry-pick 476c877
git push <your-remote> select-infdig -f

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.