Igor Minar
c28662d28d
fix(filter): remove the $ prefix from filter service ids
2011-12-07 13:07:19 -08:00
Igor Minar
b97c6e5f74
style(scopeSpec): clean up scopeSpec.js
2011-12-07 09:41:09 -08:00
Igor Minar
fd38655e6c
fix(): use angular.callbacks namespace for jsonp callbacks
...
Previously we used to put callbacks on the window object, but that
causes problems on IE8 where it is not possible to delete properties
from the window object
2011-12-07 07:54:09 -08:00
Vojta Jina
b9001e9147
fix(route): $destroy scope after update and reload
...
When we update route (changing only search param, no route reload) and then reload (change to different
route), it did not $destroy last scope.
2011-12-06 13:35:05 -08:00
Igor Minar
163e05ed36
feat($http): allow interceptors to be services
2011-12-05 23:53:26 -08:00
Misko Hevery
0e1fa2aefe
feat($interpolate): string interpolation function
2011-11-30 14:49:36 -05:00
Igor Minar
b00da987a9
scope($digest): add new&old val to the infinite $digest log
2011-11-30 14:49:35 -05:00
Igor Minar
188bdf7768
feat($http): add response interceptors
2011-11-30 14:49:35 -05:00
Igor Minar
dbd880cc0a
feat($http): add promise support
...
quite messy, some tests are missing, contains an experimental jasmine DI support)
2011-11-30 14:49:35 -05:00
Igor Minar
78b6e8a446
feat($parse): add support for transparent evaluation of Promises
...
Parser now builds expressions that can detect promises and transparently
evaluate them to undefined or the promise value.
If promiseA is resolved with value 'A', then {{promiseA}} evals to 'A';
If promiseA is unresolved, then {{promiseA}} evals to undefined;
Following invocations are supported:
- {{promise}}
- {{promise.futureProp}}
- {{[promise][0]}}
- {{object.promise}}
- {{object[promise]}}
- {{array[promise]}}
- {{fn(promise)}}
- combinations of the above
2011-11-30 14:49:35 -05:00
Vojta Jina
92995bbce9
fix($http): default json transformation should not crash on angular template
...
The way we determine whether it's json is lame anyway. We need to change that.
We should probably check the content type header...
2011-11-30 11:17:25 -05:00
Vojta Jina
b9707d910e
style(): get rid off some jsl warnings
2011-11-30 11:17:25 -05:00
Vojta Jina
5bbd64ac65
feat($http): allow passing custom cache instance per request
...
You can still use cache: true, which will use $http's default cache.
2011-11-30 11:17:25 -05:00
Vojta Jina
caeb1bf899
feat($httpBackend): fix 0 status code when "file" protocol
...
Browsers return always 0 status code for "file" protocol, so we convert them into 200/404.
2011-11-30 11:17:24 -05:00
Vojta Jina
6290bd4587
refactor(mock.$httpBackend): rename when().then() to when().respond()
2011-11-30 11:17:24 -05:00
Vojta Jina
afbe073121
feat(mock.$httpBackend): add verifyNoOutstandingRequest method
...
+ rename verifyExpectations to verifyNoOutstandingExpectation
2011-11-30 11:17:23 -05:00
Vojta Jina
7b705df2b7
feat($http): broadcast $http.request event
2011-11-30 11:17:23 -05:00
Vojta Jina
972c3e9be0
refactor($http): change callback matching mechanism
2011-11-30 11:17:22 -05:00
Vojta Jina
fe633dd0cf
fix($http): allow multiple json vulnerability prefixes
...
We strip out both:
)]}',
)]}'
2011-11-30 11:17:22 -05:00
Vojta Jina
fdcc2dbfd3
feat($http): expose pendingRequests and configuration object
...
- $http.pendingRequests is now an array of pending requests
- each request (its future object) has public property configuration
2011-11-30 11:17:22 -05:00
Vojta Jina
5ad0c7d0e4
feat($httpBackend): extract $browser.xhr into separate service
...
- remove whole $browser.xhr stuff
- remove whole mock $browser.xhr stuff
- add $httpBackend service + migrate unit tests from $browser
- add temporary API to access $browser's outstandingRequests count
2011-11-30 11:17:22 -05:00
Vojta Jina
cd28a2e952
feat(mocks.$httpBackend): add $httpBackend mock
...
$httpBackend mock allows:
- expecting (asserting) requests
- stubbing (responding without asserting)
Add empty $httpBackend service (currently just wrapper for $browser.xhr)
2011-11-30 11:12:14 -05:00
Vojta Jina
59adadca08
feat($http): new $http service, removing $xhr.*
...
Features:
- aborting requests
- more flexible callbacks (per status code)
- custom request headers (per request)
- access to response headers
- custom transform functions (both request, response)
- caching
- shortcut methods (get, head, post, put, delete, patch, jsonp)
- exposing pendingCount()
- setting timeout
Breaks Renaming $xhr to $http
Breaks Takes one parameter now - configuration object
Breaks $xhr.cache removed - use configuration cache: true instead
Breaks $xhr.error, $xhr.bulk removed
Breaks Callback functions get parameters: response, status, headers
Closes #38
Closes #80
Closes #180
Closes #299
Closes #342
Closes #395
Closes #413
Closes #414
Closes #507
2011-11-30 11:12:14 -05:00
Igor Minar
497839f583
feat($cacheFactory): add general purpose $cacheFactory service
2011-11-30 11:03:42 -05:00
Vojta Jina
5487bdb3d1
feat($browser.xhr): add timeout option to abort request
...
Timeouted request responds internal status code -1, which should be normalized
into 0 by $xhr.
2011-11-30 11:03:42 -05:00
Vojta Jina
3ae3ccf3da
fix($browser.xhr): fix IE6, IE7 bug - sync xhr when serving from cache
...
IE6, IE7 is sync when serving content from cache.
We want consistent api, so we have to use setTimeout to make it async.
2011-11-30 11:03:42 -05:00
Vojta Jina
e9b57f9df8
fix($browser.xhr): respond with internal -2 status on jsonp error
...
If jsonp is not successfull, we return internal status -2.
This internal status should by normalized by $xhr into 0,
but $xhr needs to distinguish between jsonp-error/abort/timeout (all status 0).
2011-11-30 11:03:42 -05:00
Vojta Jina
45f47ff6cd
fix($browser.xhr): change method "JSON" to "JSONP"
...
Breaks "JSON" xhr method is now called "JSONP"
2011-11-30 11:03:41 -05:00
Vojta Jina
0c8b35681e
feat($browser): xhr returns raw request object
2011-11-30 11:03:41 -05:00
Vojta Jina
3548fe3139
feat(service.$autoScroll): scroll to hash fragment
...
- whenever hash part of the url changes
- after ng:view / ng:include load
2011-11-21 17:49:49 -08:00
Codier
29f9e2665d
fix(scope): $watch (and angular.equals) should support NaN values
...
- since NaN !== NaN in javascript digest can get into an infinite loop
when model value is set to NaN
- angular.equals(NaN, NaN) should return true since that's what we
expect when comparing primitives or objects containing NaN values
Previously NaN because of its special === properties was used as the
initial value for watches, but that results in issues when NaN is used
as model value.
In order to allow for model to be anything incuding undefined and NaN we
need to mark the initial value differently in a way that would avoid
these issues, allow us to run digest without major perf penalties and
allow for clients to determine if the listener is being called because
the watcher is being initialized or because the model changed. This
implementation covers all of these scenarios.
BREAKING CHANGE: previously to detect if the listener was called because
the watcher was being initialized, it was suggested that clients check
if old value is NaN. With this change, the check should be if the newVal
equals the oldVal.
Closes #657
2011-11-21 15:43:12 -08:00
TEHEK Firefox
3e1a6688c3
chore(browser): rename Browser.js -> browser.js, BrowserSpec.js -> browserSpec.js
...
And move them to proper service subfolder...
2011-11-18 12:05:55 -08:00
Misko Hevery
e88dfb734a
refactor(injector): $injector is no longer a function.
...
- $injector('abc') -> $injector.get('abc');
- $injector(fn) -> $injector.invoke(null, fn);
2011-11-14 20:31:19 -08:00
Vojta Jina
acbd7cdf32
style(docs): make jslint happy - fix some warnings
2011-11-14 20:31:19 -08:00
Vojta Jina
5279de0e70
fix($location): links without path segment should not change the path
...
Closes #648
2011-11-14 20:31:17 -08:00
Misko Hevery
74fac45f48
doc($filter): added $filter documentation
2011-11-14 20:31:16 -08:00
Misko Hevery
f0fa5e6376
doc(AUTO, NG_MOCK): Documenting the AUTO and NG_MOCK module
2011-11-14 20:31:16 -08:00
Misko Hevery
c283bf6035
refactor($location): merged $locationConfig service into $locationProvider
2011-11-14 20:31:15 -08:00
Misko Hevery
a87f2fb9e4
refactor(mock): moved mocks into its own module
2011-11-14 20:31:14 -08:00
Misko Hevery
dd9151e522
refacter(filters): convert filter/limitTo/orderBy from type augmentation to filters
2011-11-14 20:31:13 -08:00
Misko Hevery
cb6f832f38
refactor(filter): filters are now injectable and services
...
BREAK:
- removed CSS support from filters
2011-11-14 20:31:09 -08:00
Misko Hevery
6022f3df39
move(filters): appease the History God
2011-11-14 16:39:34 -08:00
Misko Hevery
7c11531902
refactor(parser): turn parser into a service (keep compatibility hack)
2011-11-14 16:39:33 -08:00
Misko Hevery
bee6060e4b
move(parser): appease the History God
2011-11-14 16:39:33 -08:00
Misko Hevery
16597e8b52
refactor($service): removed almost all references to scope.$service
...
- still need to remove from factory
2011-11-14 16:39:33 -08:00
Misko Hevery
bd04316a89
refactor(services): migrate angular.service -> module
2011-11-14 16:39:33 -08:00
Misko Hevery
ed36b9da3b
refactor(injector): switch to injector 2.0 introduce modules
2011-11-14 16:39:32 -08:00
Misko Hevery
d12df0d360
refactor(compiler) turn compiler into a service
...
BREAK
- remove angular.compile() since the compile method is now a service and needs to be injected
2011-11-14 16:39:32 -08:00
Misko Hevery
d9b58f23f6
move(compiler): appease the History God
...
- renamed: src/Compiler.js -> src/service/compiler.js
- renamed: test/CompilerSpec.js -> test/service/compilerSpec.js
2011-11-14 16:39:32 -08:00
Misko Hevery
48697a2b86
refactor(injector): turn scope into a service
...
- turn scope into a $rootScope service.
- injector is now a starting point for creating angular application.
- added inject() method which wraps jasmine its/beforeEach/afterEach,
and which allows configuration and injection of services.
- refactor tests to use inject() where possible
BREAK:
- removed angular.scope() method
2011-11-14 16:39:31 -08:00