aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng/location.js
AgeCommit message (Collapse)Author
2013-07-01fix(Angular.js): handle duplicate params in parseKeyValue/toKeyValuejoshkurz
parseKeyValue and toKeyValue can now handle duplicate values in the query. ``` ?x=1&x=2 <-> {x:[1,2]} ``` The algorithm looks like: 1)parseKeyValue looks for presence of obj[key] 2)detects and replaces obj[key] with [obj[key],val] 3)then pushes more duplicates if necessary 4)toKeyValue decodes array correctly 5)(not changed)$location.search({param: 'key'}) still replaces if necessary 6)(not changed)$location.search({param: ['key1', 'key2']}) sets the url with duplicates BREAKING CHANGE: Before this change: - `parseKeyValue` only took the last key overwriting all the previous keys; - `toKeyValue` joined the keys together in a comma delimited string. This was deemed buggy behavior. If your server relied on this behavior then either the server should be fixed or a simple serialization of the array should be done on the client before passing it to $location.
2013-06-24fix($location): default to / for the url base if no base[href]Igor Minar
With the recent refactoring of $location service we changed this behavior resulting in a regression. Previously we thought that html5 mode always required base[href] to be set in order for urls to resolve properly. It turns out that base[href] is problematic because it makes anchor urls (#foo) to always resolve to the base url, which is almost always incorrect and results in all anchors links and other anchor urls (e.g. svg references) to be broken. For this reason, we should now start recommending that people just deploy to root context (/) and not set the base[href] when using the html5 mode (push/pop history state). If it's impossible to deploy to the root context then either all urls in the app must be absolute or base[href] must be set with the caveat that anchor urls in such app won't work. Closes #2762
2013-06-19feat(jqLite): switch bind/unbind to more recent jQuery on/offMichał Gołębiowski
jQuery switched to a completely new event binding implementation as of 1.7.0, centering around on/off methods instead of previous bind/unbind. This patch makes jqLite match this implementation while still supporting previous bind/unbind methods.
2013-06-17chore(minErr): replace ngError with minErrKen Sheedlo
2013-05-24feat(ngError): add error message compression and better error messagesIgor Minar
- add toThrowNg matcher
2013-05-06fix($location): prevent navigation when event isDefaultPreventedMisko Hevery
2013-05-02fix($location): compare against actual instead of current URLMisko Hevery
2013-05-02fix($location): prevent navigation if already on the URLMisko Hevery
2013-05-01fix($location): back-button should fire $locationChangeStartquazzie
Before $locationChangeStart event is not broadcast when pressing the back-button on the browser. Closes #2109
2013-04-25fix(location): correctly rewrite Html5 urlsPete Bacon Darwin
2013-04-15fix($location): fix URL interception in hash-bang modeMisko Hevery
Closes #1051
2013-03-15fix($location): parse FirefoxOS packaged app urlsManuel Braun
FirefoxOS uses special URLs like app://{d0419af1-8b42-41c5-96f4-ef4179e52315}/index.html for packaged Apps. Closes #2112
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.
2012-11-26fix($location): reset $location.$$replace with every watch callRado Kirov
Closes #1111
2012-06-20fix($location): url rewriting if element was removedVojta Jina
When user clicks a link, $location needs to intercept this event. The <a> doesn't have to be target element of the DOM event, so it needs to traverse the DOM, to find first <a> parent. If the target element was removed from DOM, during the same event, it would throw an exception. This fixes the issue. Closes #1058
2012-06-14fix($location): fix URL interception in hash-bang modeMisko Hevery
Closes #1051
2012-06-13fix($location): correctly parse link urls in hashbang mode with prefixMisko Hevery
This is a second fix for a regression that was introduced by 92a2e180. The fix addresses scenarios when the $location service is configured with a hash prefix. Closes #1037
2012-06-12fix($location): correctly parse link urls in hashbang modeMisko Hevery
This is a fix for a regression that was introduced by 92a2e180 Closes #1037
2012-06-12fix($location): throw Errors not StringsIgor Minar
2012-06-12docs(*): simplify doc urlsIgor Minar
we now have two types of namespaces: - true namespace: angular.* - used for all global apis - virtual namespace: ng.*, ngMock.*, ... - used for all DI modules the virual namespaces have services under the second namespace level (e.g. ng.) and filters and directives prefixed with filter: and directive: respectively (e.g. ng.filter:orderBy, ng.directive:ngRepeat) this simplifies urls and makes them a lot shorter while still avoiding name collisions
2012-06-02feat($location): add $locatonChange[begin|completed] eventMisko Hevery
This allows location change cancelation
2012-06-02chore($location) switch to use $rootElementMisko Hevery
2012-05-24fix(docs): accept return in addition to returnsMisko Hevery
documentation used @return but parser expected @returns, which made the generated documentation incomplete.
2012-05-14fix($location): support urls with any protocolIgor Minar
The url used for location parsing was quite strict and did not support custom url schemes like "chrome-extension://". With this change the only requirement for scheme is that it doesn't contain ":" character.
2012-04-12fix($location): properly rewrite urls in html5 mode with base url setIgor Minar
previously we were doing all kinds of checks to see if we should rewrite the url or not and we were missing many scenarios. not any more. with this change, we rewrite the url unless: - the href is not set - link has target attribute - the absolute url of the link doesn't match the absolute prefix for all urls in our app This also means that ng-ext-link attribute which we previously used to distinguish external links from app links is not necessary any more. apps can just set target=_self to prevent rewriting. BREAKING CHANGE: ng-ext-link directive was removed because it's unnecessary apps that relied on ng-ext-link should simply replace it with target=_self
2012-04-11fix($location): don't rewrite links to different base pathsThibault Leruitte
links to different base paths should not be left untouched
2012-04-10chore(*): remove dead code and fix code style issuesIgor Minar
2012-04-02fix($location): search setter should not double-encode the valueMykhailo Kotsur
By mistake both the setter and helper function that composes the whole url were encoding the search values. Closes #751
2012-03-28chore(module): move files around in preparation for more modulesMisko Hevery