aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng
AgeCommit message (Collapse)Author
2012-11-26fix($http): only set X-XSFR-TOKEN header for same-domain requestRado Kirov
This is needed to prevent CORS preflight checks. The XSFR token is quite useless for CORS requests anyway. BREAKING CHANGE: X-XSFR-TOKEN is no longer send for cross domain requests. This shouldn't affect any known production service. Closes #1096
2012-11-26fix($http): remove 'X-Requested-With' from header defaultsRado Kirov
X-Requested-With header is rarely used in practice and by using it all the time we are triggering preflight checks for crossdomain requests. We could try detecting if we are doing CORS requests or not, but it doesn't look like it's worth the trouble. BREAKING CHANGE: X-Requested-With header is not set by $http service any more. If anyone actually uses this header it's quite easy to add it back via: ``` myAppModule.config(['$httpProvider', function($httpProvider) { $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest'; }]); ``` Closes #1004
2012-11-26fix($location): reset $location.$$replace with every watch callRado Kirov
Closes #1111
2012-11-26fix(ngClassOdd/ngClassEven): support shrinking/reordering in repeatersIgor Minar
We need to watch $index in addition to cssClasses because only then we can correctly respond to shrinking or reordered repeaters. Closes #1076
2012-11-26fix(ngRepeat): support mostly-stable repeating for primitivesIgor Minar
I'm reverting changes that were originally done to ngRepeat to fix #933, because these are now not necessary after the previous changes to keep ngModel always synced with the DOM.
2012-11-26fix(ngModel): sync ngModel state with scope stateIgor Minar
In cases when we reuse elements in a repeater but associate them with a new scope (see #933 - repeating over array of primitives) it's possible for the internal ngModel state and the scope state to get out of sync. This change ensure that the two are always sync-ed up even in cases where we reassociate an element with a different (but similar) scope. In the case of repeating over array of primitives it's still possible to run into issue if we iterate over primitives and use form controls or similar widgets without ngModel - oh well, we'd likely need a special repeater for primitives to deal with this properly, even then there might be cornercases. Closes #933
2012-11-26fix(ngRepeat): attempt to simplify and improve existing fix for #933Igor Minar
I'm keeping this in for future reference. The issue with this solution is that if we shift() the first item in the array, the whole repeater DOM will be rebuilt from scratch, we need to do better than that.
2012-11-26feat(form): add ability to reset a form to pristine statePawel Kozlowski
Retting a form to pristine state will cause all of the nested form and form controls to be recursively reset as well. Closes #856
2012-11-25fix(Scope): allow removing a listener during eventVojta Jina
2012-11-25docs(api): add ngRequired to input/select/textarea directivesDean Sofer
Closes #1202
2012-11-25feat($cacheFactory): cache.put now returns the added valueJP Sugarbroad
This allows common programming patterns to be expressed with more concise code. See #1583 for code examples.
2012-11-24fix($http): config.param should expand array values properlyTom Davis
Today, calling e.g. $http(url, { params: { a: [1,2,3] } }) results in a query string like "?a=%5B1%2C2%2C3%5D" which is undesirable. This commit enhances buildURL to createa query string like "?a=1&a=2&a=3". BREAKING CHANGE: if the server relied on the buggy behavior then either the backend should be fixed or a simple serialization of the array should be done on the client before calling the $http service. Closes #1363
2012-11-24fix($cacheFactory): return undefined when removing non-existent entryJeremy Tymes
Instead of throwning an exception, remove should return undefined when cache entry to be removed doesn't exist. Closes #1497
2012-11-17docs($q): fix missing bracket in the exampleUri Goldshtein
2012-11-15fix(CSP): update to the latest CSP apiIgor Minar
window.SecurityPolicy.isActive() is now window.securityPolicy.isActive since this is available only in Chrome Canary which has already been updated, we can safely make this change without worrying about backwards compatilibty. Closes #1577
2012-11-14fix($rootScope): workaround for Chrome's memleakIgor Minar
Under certain circumstances chrome fails to GC scopes because of buggy optimizations and caching. Nulling out references to (not from!) other scopes helps Chrome to realize that this object should be GC-ed. This is really just a workaround as the real problem needs to be fixed in Chrome. See discusstion at: https://github.com/angular/angular.js/issues/1313#issuecomment-10378451 And chrome bug at: https://code.google.com/p/v8/issues/detail?id=2073 Closes #1313
2012-11-11docs($timeout): set return type to Promise instead of *.Wes Alvaro
The cancel function accepts a Promise, but the timeout function fails to specify returning a Promise.
2012-11-11docs(ngList): fix typoJosh Adams
2012-11-11docs(ngHide): Fix typo and make it more in line with ngShowChristian Vuerings
2012-10-31fix(select): select option with a label of 0 is not shownSudhir Jonathan
Bug caused by the use of the `||` operator to replace all non-truthy values with an empty string. Changed to replace only `undefined` values. Closes #1401
2012-10-29fix($compile): don't look for class directives in empty stringIgor Minar
if className is undefined or empty string, don't bother looking for directives in there
2012-10-29fix($compile): compilation should not recurse into empty nodesIgor Minar
if a node doesn't have children then don't try to compile these non-existent children
2012-10-29style($compile): better fn names for debuggingIgor Minar
2012-10-29refactor(): simplify nodeLinkFnIgor Minar
2012-10-29fix($compile): prevent double attr interpolation w/ templateUrlIgor Minar
This fixes the issue that caused two attr interpolation observers to be registered for the same attribute as a result of isolate scope definition with attr (@) property for this attribute. Duplicate observers would then fight with each other updating the model. The issue occured only when this directive was used in a repeater because that's when we clone the template node which caused the two observers to point to two different sets of $attr instances. Closes #1166, #836
2012-10-26fix(currency): Handle not-quite-zero valuesBraden Shepherdson
IEEE 754 floating point sometimes results in values that are very small, rather than zero. One example is 1.0 + 1.07 - 2.07, which returns 4.440892098500626e-16 instead of 0. This change tweaks the number formatting logic so that an exponential value with a negative exponent that is larger than the precision+1 returns 0 instead. For example: with precision 2, anything with an exponent of -4, -5 or more would become 0. 9e-3 = 0.009 = 0.01, but 9e-4 = 0.0009 = 0.001 = 0.00. This detail is unlikely to matter since this quirk is usually only triggered with values very close to zero. Closes #1469
2012-09-20fix($compile): reference local in isolate scopeVojta Jina
This was really corner case: Watcher needs to return changed value, to notify that model might have changed and one more $digest cycle needs to be performed. The watcher, that takes care of reference binding into an isolate scope ("="), did not return changed value, if the change was from the isolate scope to the parent. If any other watcher returned change, it worked fine, as this change caused re-digest. Closes #1272
2012-09-11fix($route): support inline annotation on .resolveMisko Hevery
2012-09-11feat($http): Allow setting withCredentials on defaultsTom Hughes
Closes #1095.
2012-09-11fix($evalAsync): have only one global async queueMisko Hevery
Having one async queue per scope complicates the matters when users wish to do partial scope updates, since many services put events on the rootScope. By having single queue the programing model is simplified.
2012-09-11docs($rootScope): fix iteration limit described by $watch, it's actually 10 ↵Daniel Luz
as of now
2012-09-11docs($rootScope): fix typos and minor wording tweaks on $watchDaniel Luz
2012-09-11docs($rootScope): fix quoting on expressionDaniel Luz
2012-09-11docs($rootScope): standardize on present, third-person actions for descriptionsDaniel Luz
2012-09-11docs($rootScope): backquote attribute types too on $onDaniel Luz
2012-09-11docs($cacheFactory): fix backquotes on method descriptionsDaniel Luz
2012-09-11docs($rootScope): fix typos on $newDaniel Luz
2012-09-11docs($rootScope): fix typo on $evalDaniel Luz
2012-09-11docs($rootScope): fix typos on $watchDaniel Luz
2012-09-06fix(a): prevent Opera from incorrectly navigating on link clicksgtpep
we handle the navigation by ourselves, so we need to prevent the default action. Opera ignores event.preventDefault() call so we must return false.
2012-09-06fix(FormController): propagate dirty state to parent formsKai Groner
2012-09-06fix(*): name all anonymous watch functions in AngularShyam Seshadri
This will allow us to see function names in Batarang and debugger. Closes #1119
2012-09-06fix(ngSrc): don't set src if value is empty stringXiangru Chen
Current implementation of ngSrc may lead to empty src attribute when page is loading. For example: <img ng-src="{{image.url}}"> can be temporarily rendered as <img src=""> before the image resource is loaded. Some browser emits a request to the current page when seeing <img src=""> (Firefox13 and IE8 will, Chromium20 won't), which leads to performance problems.
2012-09-06fix(dateFilter): make timezone optionalIwein Fuld
Makes the time zone optional in the date filter Problem with the current R_ISO8601_STR regex was that the time was optional, but the zone was not. This results in the filter not formatting local date times, which it could easily do. For example: 2012-08-30 -> formatted 2012-08-30T06:06:06.123Z -> formatted 2012-08-30T06:06:06.123 -> NOT formatted A simple change in the regex fixes this. Arguably this is closer to the ISO8601 spec which specifies local dates being in the "current time zone" and not requiring a Z. In any case it behaves more like a user would expect.
2012-09-06feat(ngModel): support ngTrim attribute on inputGregory Pike
2012-09-06fix(ngClass): works with class interpolationMax Martinsson
Closes #1016
2012-09-06fix(ngRepeat): now works with primitive typesZhenbo Zhang
closes #933
2012-09-06fix($parser): string concatination with undefined modelpetrovalex
Closes #988
2012-09-06fix(dateFilter): support sub-second precision on dateFilterStein Jakob Nordbø
2012-09-06docs($route): rename leftover $afterRouteChange to $routeChangeSuccessIgor Minar