aboutsummaryrefslogtreecommitdiffstats
path: root/test/service
AgeCommit message (Collapse)Author
2012-03-28chore(module): move files around in preparation for more modulesMisko Hevery
2012-03-26feat($compile): do not interpolate boolean attributes, rather evaluate themVojta Jina
So that we can have non string values, e.g. ng-value="true" for radio inputs Breaks boolean attrs are evaluated rather than interpolated To migrate your code, change: <input ng-disabled="{{someBooleanVariable}}"> to: <input ng-disabled="someBooleanVariabla"> Affected directives: * ng-multiple * ng-selected * ng-checked * ng-disabled * ng-readonly * ng-required
2012-03-26feat(ngValue): allow radio inputs to have non string valuesVojta Jina
Closes #816
2012-03-26refactor($sniffer): make $sniffer service privateIgor Minar
This service has been accidentaly documented in the past, it should not be considered to be public api. I'm also removing fallback to Modernizr since we don't need it. Breaks any app that depends on this service and its fallback to Modernizr, please migrate to custom "Modernizr" service: module.value('Modernizr', function() { return Modernizr; });
2012-03-26feat($controller): support controller registration via $controllerProviderIgor Minar
It's now possible to register controllers as: .register('MyCtrl', function($scope) { ... }); // or .register('MyCtrl', ['$scope', function($scope) { ... }); Additionally a module loader shortcut api was added as well: myModule.controller('MyCtr', function($scope) { ... });
2012-03-23feat(http): added params parameterMisko Hevery
The params parameter can now be used to serialize parameters in the URLs. The serialization does proper escaping and JSON encoding if it is an object.
2012-03-23fix(q): resolve all of nothing to nothingMisko Hevery
$q.all([]) no longer throws exception and resolves to empty array []
2012-03-23fix($compile): create new (isolate) scopes for directives on root elementsIgor Minar
previously we would not create them and it's causing all kinds of issues and accidental leaks Closes #817
2012-03-20refactor($resource): unify and simplify the codeIgor Minar
2012-03-20fix($http): don't send Content-Type header when no dataIgor Minar
When a http request has no data (body), we should not send the Content-Type header as it causes problems for some server-side frameworks. Closes #749
2012-03-20feat($route): when matching consider trailing slash as optionalIgor Minar
This makes for a much more flexible route matching: - route /foo matches /foo and redirects /foo/ to /foo - route /bar/ matches /bar/ and redirects /bar to /bar/ Closes #784
2012-03-20fix($log): avoid console.log.apply calls in IEIgor Minar
In IE window.console.log and friends are functions that don't have apply or call fns. For this reason we have to treat them specially and do our best to log at least something when running in this browser. Closes #805
2012-03-20fix($compile): Merge interpolated css class when replacing an elementVojta Jina
2012-03-19fix(compiler): allow transclusion of root elementsMisko Hevery
Fixed an issue where a directive that uses transclusion (such as ngRepeat) failed to link if it was declared on the root element of the compilation tree. (For example ngView or ngInclude including template where ngRepeat was the top most element).
2012-03-18feat(scope.$eval): Allow passing locals to the expressionVojta Jina
2012-03-16feat(scope): broadcast $destroy event on scope destructionIgor Minar
perf testing shows that in chrome this change adds 5-15% overhead when destroying 10k nested scopes where each scope has a $destroy listener
2012-03-13f(compile): boolean attributes too agresiveMisko Hevery
- compiler would rewrite boolean attributes on all elements. This is too aggressive and interferes with some third-party frameworks
2012-03-13fix(scope): remove scope $destroy eventIgor Minar
2012-03-12fix(svg): normalize class access for SVGMisko Hevery
2012-03-09chore(*): refactor all ng: to ng-Igor Minar
2012-03-09refactor($provide) Rename service -> providerVojta Jina
It registers a provider class, so this makes more sense. Breaks Rename $provide.service -> $provide.provider
2012-03-08chore(directives,widgets): reorg the code under directive/ dirIgor Minar
2012-03-08fix($parse): Allow property names that collide with native object propertiesVojta Jina
I.e. constructor, toString, or watch on FF (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/watch) + optimize parser a bit to not create getter function for operators
2012-03-08fix(tests): fix name collisions between various testsIgor Minar
2012-03-08docs($rootScope): rename ttl to digestTtl + docsIgor Minar
2012-03-08chore(compiler): change default restriction to attribute only for directivesMisko Hevery
2012-02-28refactor(ng:view) Make $route scope agnostic, add $contentLoaded eventVojta Jina
Problems: - controller was instantiated immediately on $afterRouteChange (even if no content), that's different compare to ng:controller, which instantiates controllers after compiling - route listened on current scope ($afterRouteChange), so if you were listening on $rootScope ($afterRouteChange), you get called first and current.scope === undefined, which is flaky - route handles scope destroying, but scope is created by ng:view - route fires after/before route change even if there is no route (when no otherwise specified) Solution: - route has no idea about scope, whole scope business moved to ng:view (creating/destroying) - scope is created (and controller instantiated) AFTER compiling the content - that means on $afterRouteChange - there is no scope yet (current.scope === undefined) - added $contentLoaded event fired by ng:view, after linking the content
2012-02-28refactor($route): remove .parent(); ng:view scope creationMisko Hevery
2012-02-28refactor($route): move when/otherwise to providerMisko Hevery
2012-02-28refactor(forms): Even better formsVojta Jina
- remove $formFactory completely - remove parallel scope hierarchy (forms, widgets) - use new compiler features (widgets, forms are controllers) - any directive can add formatter/parser (validators, convertors) Breaks no custom input types Breaks removed integer input type Breaks remove list input type (ng-list directive instead) Breaks inputs bind only blur event by default (added ng:bind-change directive)
2012-02-25fix($http): Do not serialize File objectVojta Jina
2012-02-23fix($httpBackend): Set current url, if not defined or empty stringVojta Jina
Reason to fix this was the fact that with undefined url, it ended up with weird exception (Cannot call method 'replace' of undefined), which was more confusing than helpful. jQuery.ajax() does request to current url, if url is not specified, so I decided for this solution.
2012-02-23feta(scope): watch object refference or equalityMisko Hevery
Breaks: Must set $watch equality to true for the old behavior
2012-02-21feat($compiler): Allow attr.$observe() interpolated attrsVojta Jina
2012-02-21feat($compile) add locals, isolate scope, transclusionMisko Hevery
2012-02-21feat($compile): mark scope creation with ng-scope classMisko Hevery
2012-02-21feat($compile): support compiling text nodes by wrapping them in <span>Misko Hevery
2012-02-21feat(parse): add support for local vars in expressionsMisko Hevery
2012-02-21feat(scope): scope.$emit/$broadcast return the event object, add cancelled ↵Vojta Jina
property
2012-01-25fix($parse): get rid of $unboundFnIgor Minar
Closes #731
2012-01-25refactor(directives): connect new compilerMisko Hevery
- turn everything into a directive
2012-01-25add($compile): add compiler v2.0 - not connectedMisko Hevery
2012-01-25refactor($interpolate): improve interpolation service add documentationMisko Hevery
2012-01-25feature($exceptionHandler): $exceptionHandler now supports var_argsMisko Hevery
2012-01-23fix(scope): support watching functionsIgor Minar
currently we run into infinite digest if a function is being watched as an expression. This is because we generate bound function wrapper when the watch is processed via parser. I'm not too keen on the solution because it relies on the unbound fn that is being exposed for other reasons, but I can't think of a better way to deal with this right now
2012-01-23refactor($controller): Add $controller service for instantiating controllersVojta Jina
So that we can allow user to override this service and use BC hack: https://gist.github.com/1649788
2012-01-23refactor(scope.$watch): rearrange arguments passed into watcher (newValue, ↵Vojta Jina
oldValue, scope) As scopes are injected into controllers now, you have the reference anyway, so having scope as first argument makes no sense… Breaks $watcher gets arguments in different order (newValue, oldValue, scope)
2012-01-23refactor(scope): separate controller from scopeVojta Jina
Controller is standalone object, created using "new" operator, not messed up with scope anymore. Instead, related scope is injected as $scope. See design proposal: https://docs.google.com/document/pub?id=1SsgVj17ec6tnZEX3ugsvg0rVVR11wTso5Md-RdEmC0k Closes #321 Closes #425 Breaks controller methods are not exported to scope automatically Breaks Scope#$new() does not take controller as argument anymore
2012-01-14fix($location): do not $digest if browser's url change fired within ↵Vojta Jina
$apply/$digest Chrome (probably other browsers as well) fires 'hashchange' event synchronously, so if you change raw location from within $apply/$digest, we don't want to $apply twice. (It would throw an exception)
2012-01-13style(*): small fixesIgor Minar