aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng
AgeCommit message (Collapse)Author
2013-03-11fix($location): correctly rewrite html5 url to hashbang urlThibault Leruitte
In situations where path() matched basepath and we needed to convert from html5 url to hashbang url, the $location service considered the url to be already rewritten, which resulted in an error.
2013-03-11feat(ng:switch): Preserve the order of the elements not in the ng-switchLucas Galfasó
Preserve the order of the elements that are not part of a case nor default in a ng-switch directive BREAKING CHANGE: elements not in the ng-switch were rendered after the ng-switch elements. Now they are rendered in-place. Ng-switch directives should be updated with non ng-switch elements in render-order. e.g. The following was previously rendered with <li>1</li> after "2": <ul ng-switch="select"> <li>1</li> <li ng-switch-when="option">2</li> </ul> To keep the old behaviour, say: <ul ng-switch="select"> <li ng-switch-when="1">2</li> <li>1</li> </ul> Closes #1074
2013-03-08docs(ngCloak): update the CSS rule with data-ng-cloakChristian Vuerings
2013-03-08feat(directive): add ngKeypress directive for handling keypress eventMark Nadig
2013-03-08fix($route): make nextRoute.$route privateIgor Minar
the `nextRoute` object available in `$routeChangeStart` handler accidentaly leaked property which pointed to the route definition currently being matched. this was done just for the internal needs of the `$route` implementation and was never documented as public api. Some confusion arouse around why the $route property was not always available on the `nextRoute` object (see #1907). The right thing for us to do is to prefix the property with $$ for now and refactor the code to remove the property completely in the future. Application developers should use the `nextRoute` object itself rather than its `$route` property. The main diff is that nextRoute inherits from the object referenced by $route. BREAKING CHANGE: in $routeChangeStart event, nextRoute.$route property is gone. Use the nextRoute object instead of nextRoute.$route. Closes #1907
2013-03-08feat(http): set custom default cache in $http.defaults.cacheAlexander Shtuchkin
When we need more control over http caching, we may want to provide a custom cache to be used in all http requests by default. To skip default cache, set {cache: false} in request configuration. To use other cache, set {cache: cache} as before. See #2079
2013-03-06docs($http): add more info about transform functionIgor Minar
2013-02-28feat($compile): allow directives to modify interpolated attributesThibault Leruitte
A directive can now set/update/remove attribute values even those containing interpolation during the compile phase and have the new value be picked up during the compilation. For example in template: <div replace-directive some-attr-or-directive="{{originalInterpolationValue}}"></div> the replace-directive can now replace the value of some-attr-or-directive during compilation which produces this intermitent template: <div replace-directive some-attr-or-directive="{{replacedInterpolationValue}}"></div> or even <div replace-directive some-attr-or-directive="replacedStaticValue"></div> as well as <div replace-directive some-attr-or-directive></div>
2013-02-27feat($compile): support for dynamic template generationLuis Ramón López
`template` and `templateUrl` properties can now be optionally defined via a function. This allows templates to be dynamically generated on the fly.
2013-02-27feat($route): add `caseInsensitiveMatch` option for url matchingDavid Chang
with this property urls can be matched case-insensitively which enables some new use cases.
2013-02-27feat($compile): add attribute binding support via ngAttr*Luis Ramón López
Sometimes is not desirable to use interpolation on attributes because the user agent parses them before the interpolation takes place. I.e: <svg> <circle cx="{{cx}}" cy="{{cy}}" r="{{r}}"></circle> </svg> The snippet throws three browser errors, one for each attribute. For some attributes, AngularJS fixes that behaviour introducing special directives like ng-href or ng-src. This commit is a more general solution that allows prefixing any attribute with "ng-attr-", "ng:attr:" or "ng_attr_" so it will be set only when the binding is done. The prefix is then removed. Example usage: <svg> <circle ng-attr-cx="{{cx}}" ng-attr-cy="{{cy}}" ng:attr-r="{{r}}"></circle> </svg> Closes #1050 Closes #1925
2013-02-25fix($compile): compile replace directives in external templatedanilsomsikov
Passing DOMNode#childNodes to compileNodes when compiling remote template, so that directives with replace:true can be compiled. The previous version used jqLite#contents which returned collection that was not updated during the compilation. Closes #1859
2013-02-25feat($compile): '=?' makes '=' binding optionalLuis Ramón López
If you bind using '=' to a non-existant parent property, the compiler will throw a NON_ASSIGNABLE_MODEL_EXPRESSION exception, which is right because the model doesn't exist. This enhancement allow to specify that a binding is optional so it won't complain if the parent property is not defined. In order to mantain backward compability, the new behaviour must be specified using '=?' instead of '='. The local property will be undefined is these cases. Closes #909 Closes #1435
2013-02-25docs(dateFilter): properly specify range for the Z format modifierPawel Kozlowski
Closes #1533
2013-02-25refactor($route): use $q#all hash signature 2 simplify 'resolve' implAlexander Shtuchkin
2013-02-25feat($q): $q.all() now accepts hashAlexander Shtuchkin
When waiting for several promises at once, it is often desirable to have them by name, not just by index in array. Example of this kind of interface already implemented would be a $routeProvider.when(url, {resolve: <hash of promises>}), where resources/promises are given by names, and then results accessed by names in controller.
2013-02-25fix($compile): whitelist file:// in url sanitizationIgor Minar
2013-02-23fix($compile): handle elements with no childNodes propertyIgor Minar
see the test for more details
2013-02-23fix($httpBackend): prevent DOM err due to dereferencing .responseTextIgor Minar
If responseType is defined and the request fails for one reason or another the .response property returned falsy value which caused dereferencing of .responseText. If the responseType was a blob or document then an error was thrown. To prevent this, I'm checking for responseType first and based on that dereferencing .response or .responseText. We need to keep on checking .responseText because that's the original XHR response api that is still needed for IE8 and 9. Closes #1922
2013-02-20fix($compile): sanitize values bound to a[href]Igor Minar
2013-02-18fix(ngClass): keep track of old ngClass value manuallyPer Rovegård
ngClassWatchAction, when called as a $watch function, gets the wrong old value after it has been invoked previously due to observation of the interpolated class attribute. As a result it doesn't remove classes properly. Keeping track of the old value manually seems to fix this. Closes #1637
2013-02-18fix(compile): should not leak memory when there are top level empty text nodesPete Bacon Darwin
The change to prevent <span> elements being wrapped around empty text nodes caused these empty text nodes to have scopes and controllers attached, through jqLite.data() calls, which led to memory leaks and errors in IE8. Now we exclude all but document nodes and elements from having jqLite.data() set both in the compiler and in ng-view. Fixes: #1968 and #1876
2013-02-14feat(routeProvider): Add support to catch-all parameters in routesLuis Ramón López
This allows routeProvider to accept parameters that matches substrings even when they contain slashes if they are prefixed with an asterisk instead of a colon. For example, routes like edit/color/:color/largecode/*largecode will match with something like this http://appdomain.com/edit/color/brown/largecode/code/with/slashs.
2013-02-14fix(compile): Initialize interpolated attributes before directive linkingPete Bacon Darwin
2013-02-14fix(compile): Interpolate @ locals before the link function runsPete Bacon Darwin
Do a one-off interpolation of @ locals to ensure that the link fn receives attributes that are already interpolated.
2013-02-14feat(ngSwitch): support multiple matches on ngSwitchWhen and ngSwitchDefaultLucas Galfasó
Closes #1074
2013-02-14fix($httpBackend): patch for Firefox bug w/ CORS and response headersWill Moore
A workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=608735 In FF getAllResponseHeaders() returns null if the request is the result of CORS. Tried to format the code so that when a FF patch is released and gains enough traction it can easily be selected and deleted. Heavily inspired by jQuery's patch for the same bug. This patch falls short of passing through custom headers but covers all of the "simple response headers" in the spec at http://www.w3.org/TR/cors/ This commit should get reverted once Firefox 21 gets out. Closes #1468
2013-02-14fix(a): workaround IE bug affecting mailto urlsIgor Minar
Apparently there is a really weird bug in IE6-8 that causes anchor textContent to be reset with href content when both contain @ symbol. Inserting a bogus comment node into all anchor elements in IE works around this browser bug. I'm fixing the issue via directive because that way we'll fix it for jQuery as well. I fixed an e2e test too because it was incorrect. Closes #1949
2013-02-14style(filter): remove wsIgor Minar
2013-02-14fix(*): don't use instanceof to detect arraysIgor Minar
this breaks when multiple javascript contexts are involved - like in node-webkit see original PR: #1966 Closes #1966
2013-02-14docs($rootScope): rearrange event listener docsEwen Cumming
2013-02-14fix(ngSwitch): make ngSwitch compatible with controller BC moduledeboer
add a $scope to the ngSwitch's controller to fool the controller BC (backwards compatibility) module used by DFA.
2013-02-14docs($q): fix a few typosVineet Kumar
2013-02-14fix($http): do not encode special characters `@$:,` in paramsVojta Jina
encodeURIComponent is too aggressive and doesn't follow http://www.ietf.org/rfc/rfc3986.txt with regards to the character set (pchar) allowed in path segments so we need this test to make sure that we don't over-encode the params and break stuff like buzz api which uses @self. This is has already been fixed in `$resource`. This commit fixes it in a same way for `$http` as well. BREAKING CHANGE: $http does follow RFC3986 and does not encode special characters like `$@,:` in params. If your application needs to encode these characters, encode them manually, before sending the request.
2013-02-14feat(scope): only evaluate constant $watch expressions onceDaniel Luz
2013-02-14feat($parse): added `constant` and `literal` propertiesDaniel Luz
* `literal` is set to true if the expression's top-level is a JavaScript literal (number, string, boolean, null/undefined, array, object), even if it contains non-literals inside. * `constant` is set to true if the expression is known to be made entirely of constant values, i.e., evaluating it will always yield the same result. A consequence is that a JSON expression is guaranteed to be both literal and constant.
2013-02-14docs($parse): document function argument types, fix minor typoDaniel Luz
2013-02-14fix($rootScope): minor typo fixesDaniel Luz
2013-02-14feat(filter): Add comparison function to filterRosina Bignall
Add optional comparator function argument to $filter('filter')(array, expression, comparator) such that the comparator function is used to compare the values and predicates. When true, defaults to equality. When missing defaults to substring matching.
2013-02-14fix(numberFilter): fix formatting when "0" passed as fractionSizeKury Kruitbosch
When checking to add decimal and trialing 0s number filter used to check trueness of fractionSize. "0" evaluating to true causes "123" to return "123."
2013-02-07docs($q): fix typosradu
2013-02-07fix($compile): rename $compileNote to compileNodeEnrique Paredes
Directives was observing different instances of Attributes than the one that interpolation was registered with because we failed to realize that the compile node and link node were the same (one of them was a wrapper rather than raw node) Closes #1941
2013-02-07fix($cookies): set cookies on Safari&IE when base[href] is undefinedFredrik Bonander
Safari and IE don't like being told to store cookies with path set to undefined. This change ensures that if base[href] (from which cookie path is derived) is undefined then the cookie path defaults to ''. The test verifies that the cookie is set instead of checking that cookie has correct path, this is due to that cookie meta information is not avabile once the cookie is set. Closes #1190, #1191
2013-02-07feat(dateFilter): add `[.,]sss` formatter for millisecondsMaxim Grach
Also Implement getMilliseconds() method of TzDate and add test for this in ngMock.
2013-02-07feat($http): allow overriding the XSRF header and cookie nameSam McCall
Add 'xsrfCookieName' and 'xsrfHeaderName' property to $httpProvider.defaults and http config object, which give the name of the cookie the XSRF token is found in, and the name of the header it is sent in, respectively. This allows interop with servers with built-in XSRF support that use different names. The defaults match the current hard-coded values of 'XSRF-TOKEN' and 'X-XSRF-TOKEN'.
2013-02-07fix(date): invert timezone sign and always display signPhilip Roberts
This commit fixes #1261 and #1532. This covers two separate issues: - Positive timezones were being formatted without a leading `+` resulting in a formatting string like: "HH:MM:ssZ" giving "12:13:141000" instead of "12:13:14+1000". Fixed by checking if timezone is > 0 and adding a leading "+". - Timezone output signs were inverted. mock.TzDate expects the timezone _offset_ as it's first argument, _not_ the timezone. This means that a mock.TzDate with a positive offset should result in a date string with a negative timezone, and vice-versa. Closes #1261, #1532
2013-02-04docs(ngClass): fix typo in descriptionPowerKiKi
2013-01-30feat(Scope): expose transcluded and isolate scope info for batarangBrian Ford
test($compile): add test for exposing transclude and isolate scope info to batarang
2013-01-29docs(Scope): fix argument docs for $onFred Sauer
2013-01-26docs(a): escape sample code in ng a directiveFred Sauer