| Age | Commit message (Collapse) | Author |
|
$httpBackend mock allows:
- expecting (asserting) requests
- stubbing (responding without asserting)
Add empty $httpBackend service (currently just wrapper for $browser.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
|
|
|
|
Timeouted request responds internal status code -1, which should be normalized
into 0 by $xhr.
|
|
IE6, IE7 is sync when serving content from cache.
We want consistent api, so we have to use setTimeout to make it async.
|
|
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).
|
|
Breaks "JSON" xhr method is now called "JSONP"
|
|
|
|
- whenever hash part of the url changes
- after ng:view / ng:include load
|
|
- 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
|
|
browserSpec.js
And move them to proper service subfolder...
|
|
|
|
|
|
- added module property to doc:example
|
|
- $injector('abc') -> $injector.get('abc');
- $injector(fn) -> $injector.invoke(null, fn);
|
|
|
|
|
|
|
|
|
|
Closes #648
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BREAK:
- remove angular.[Object/Array/String/Function]
- in templates [].$filter(predicate) and friends need to change to [] | filter:predicate
|
|
filters
|
|
|
|
BREAK:
- removed CSS support from filters
|
|
|
|
|
|
|
|
- still need to remove from factory
|
|
|
|
|
|
- not connected to keep the CL small
|
|
|
|
|
|
function invocation.
|
|
BREAK
- remove angular.compile() since the compile method is now a service and needs to be injected
|
|
- renamed: src/Compiler.js -> src/service/compiler.js
- renamed: test/CompilerSpec.js -> test/service/compilerSpec.js
|
|
|
|
- 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
|
|
- renamed: src/Scope.js -> src/service/scope.js
- renamed: test/ScopeSpec.js -> test/service/scopeSpec.js
|
|
- deleted: test/manual.html
|
|
+ tests
+ added docs for angular.directive
|
|
- better compatibility with 3rd party code - we clober 3rd party
style only if it direcrtly collides with 3rd party styles
- better perf since it doesn't execute stuff on every digest
- lots of tests
|
|
Prefix all used functions with angular.* so that they can be used with compiled angular as well...
|