aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2013-11-11fix(ngIf): don't create multiple elements when changing from a truthy to ↵Tobias Bosch
another thruthy value. Fixes #4852.
2013-11-11fix($resource): don't use $parse for @dotted.memberChirayu Krishnappa
params and paramDefaults support looking up the parameter value from the data object. The syntax for that is `@nested.property.name`. Currently, $resource uses $parse to do this. This is too liberal (you can use values like `@a=b` or `@a | filter` and have it work - which doesn't really make sense). It also puts up a dependency on $parse which is has restrictions to secure expressions used in templates. The value here, though a string, is specified in Javascript code and shouldn't have those restrictions.
2013-11-10docs($sce): ng-bind-html takes an expression `{{}}`Miško Hevery
2013-11-08fix(ngScenario): correctly disable animations for end 2 end testsPete Bacon Darwin
2013-11-08fix($animate): don't force animations to be enabledIgor Minar
The way that enabling of animations was set up, made it impossible to inject a module into the bootstrap to disable animations for things like end 2 end tests. Now animations are temporarily blocked by setting the animation state to RUNNING during bootstrap, which allows the developer to permanently disable at any point by calling $animate.enabled(false).
2013-11-08refactor($animate): speed up animationsDisabled checkIgor Minar
2013-11-07feat(jqLite): expose isolateScope() getter similar to scope()Igor Minar
See doc update in the diff for more info. BREAKING CHANGE: jqLite#scope() does not return the isolate scope on the element that triggered directive with isolate scope. Use jqLite#isolateScope() instead.
2013-11-07fix($compile): don't leak isolate scope state when replaced directive is ↵Igor Minar
used multiple times When an isolate scope directive is also a "replace" directive and at the root of its template it has other directives, we need to keep track remember to use isolate scope when linking these. This commit fixes the leakage of this state when this directive is used again later inside or outside of the isolate directive template.
2013-11-07fix($compile): correct isolate scope distribution to controllersIgor Minar
Fixes an issue when we didn't share the isolate scope with the controller of the directive from the isolate directive's template when this directive was replaced onto the isolate directive element.
2013-11-07fix($compile): replaced element has isolate scopeMisko Hevery
2013-11-07fix($compile): only pass isolate scope to children that belong to the ↵Vojta Jina
isolate directive I had to fix one unit test, as it assumed the broken behavior, where application template gets the isolate scope of other (isolate) directive, rather than the regular scope. BREAKING CHANGE: Child elements that are defined either in the application template or in some other directives template do not get the isolate scope. In theory, nobody should rely on this behavior, as it is very rare - in most cases the isolate directive has a template.
2013-11-07fix($compile): make isolate scope truly isolateVojta Jina
Fixes issue with isolate scope leaking all over the place into other directives on the same element. Isolate scope is now available only to the isolate directive that requested it and its template. A non-isolate directive should not get the isolate scope of an isolate directive on the same element, instead they will receive the original scope (which is the parent scope of the newly created isolate scope). Paired with Tobias. BREAKING CHANGE: Directives without isolate scope do not get the isolate scope from an isolate directive on the same element. If your code depends on this behavior (non-isolate directive needs to access state from within the isolate scope), change the isolate directive to use scope locals to pass these explicitly. // before <input ng-model="$parent.value" ng-isolate> .directive('ngIsolate', function() { return { scope: {}, template: '{{value}}' }; }); // after <input ng-model="value" ng-isolate> .directive('ngIsolate', function() { return { scope: {value: '=ngModel'}, template: '{{value}} }; }); Closes #1924 Closes #2500
2013-11-07docs(guide/filter): Refactor filter guide docsTobias Bosch
This refactors the filter guide docs into a single file. Also removes out of date references to the fact that Angular used to enhance Arrays while evaluating expressions.
2013-11-06chore(docs): add -webkit-transition for ngClass exampleMatias Niemelä
2013-11-06docs(guide/overview): Refactor overview and mvc docsTobias Bosch
Before, there we multiple overview docs: - guide/overview - guide/introduction - guide/dev_guide.mvc - guide/dev_guide.mvc.understanding_model - guide/dev_guide.mvc.understanding_view - guide/concepts Now we have: - guide/introduction: High level description of Angular with the key benefits but without code or any concrete concepts - guide/concepts: explains all important concepts with a simple example and contains deep links to the other parts of the guide. All the old information was moved into existing documents or deleted when they were duplicates.
2013-11-06chore(docs): specify how ngClass deals with natural CSS transitionsMatias Niemelä
2013-11-06fix(ngView): only run anchorScroll after animation is doneJeff Cross
2013-11-06fix(ngMock): throw more descriptive errors for $animate.flushNext()Jeff Cross
2013-11-06fix(ngInclude): only run anchorScroll after animation is donePete Bacon Darwin
We need to wait until animations have added the content to the document before trying to `autoscroll` to anchors that may have been inserted. Fixes #4723
2013-11-06fix($animate): only apply the fallback property if any transition animations ↵Matias Niemelä
are detected
2013-11-05chore(docs): refactor/improve new CSS transition code in examplesMatias Niemelä
2013-11-05chore(docs): update $animate and ngAnimate docsMatias Niemelä
2013-11-05feat($animate): ensure CSS transitions can work with inherited CSS class ↵Matias Niemelä
definitions BREAKING CHANGE ngAnimate addClass / removeClass animations are now applied right away. This means that as soon as the animation starts the class will be added (addClass) or removed (removeClass) to the element being animated instead of after the -add-active / -remove-active animations are completed. This allows for animations outside of ngAnimate to not conflict with $animate. This commit introduces beforeAddClass and beforeRemoveClass animation event functions and executes any addClass and removeClass event functions AFTER the class has been added or removed (this is opposite functionality of how ngAnimate used to work when performing JS-enabled animations addClass / removeClass animations). If your animation code relies on any animations being performed prior to the class change then simply use the new beforeAddClass and beforeRemoveClass animation event functions. Finally, when animating show and hide animations using CSS transitions or keyframe animations, ng-hide-remove doesn't require `display:block!important` for ng-hide-add anymore.
2013-11-05fix($animate): avoid hanging animations if the active CSS transition class ↵Matias Niemelä
is missing Closes #4732 Closes #4490
2013-11-05fix($animate): ensure staggering animations understand multiple delay valuesMatias Niemelä
2013-11-05fix($animate): ensure the active class is not applied if cancelled during reflowMatias Niemelä
Closes #4699
2013-11-05chore($sniffer): make msie variable publicMatias Niemelä
The msie variable is a global variable used within the ng core which contains the version number for the current Internet Explorer browser that is rendering the application. Other modules outside of the ng core could make use of this variable instead of having to rollout duplicate detection code. This code makes it easy to reuse this simple property within the $sniffer service.
2013-11-04docs(input): fix typoTim Graham
Closes #4734
2013-11-04docs($http): note that default $http headers can be overriddenDmitry Kichenko
Closes #4750
2013-11-04docs($log): add the word "safely" to clarifygranteagon
I was reading the doc and had to read the code to be sure it was safe. Spelling it out seems easier. Closes #4760
2013-11-04fix(ngModel): deregister from the form on scope not DOM destructionIgor Minar
Due to animations, DOM might get destroyed much later than scope and so the element $destroy event might get fired outside of $digest, which causes changes to the validation model go unobserved until the next digest. By deregistering on scope event, the deregistration always happens in $digest and the form validation model changes will be observed. Closes #4226 Closes #4779
2013-11-04fix(ngIf): destroy child scope when destroying DOMIgor Minar
2013-11-04style: remove wsIgor Minar
2013-11-04docs($parse): Fix typoJordan Klassen
2013-11-02docs($location): update paramValue description for search()Freek Wielstra
search() supports an array for paramValue, but this is not described in the docs.
2013-10-31fix(ngEventDirectives): parse expression only once during compile phase.Tobias Bosch
2013-10-30feat($parse): secure expressions by hiding "private" propertiesChirayu Krishnappa
BREAKING CHANGE: This commit introduces the notion of "private" properties (properties whose names begin and/or end with an underscore) on the scope chain. These properties will not be available to Angular expressions (i.e. {{ }} interpolation in templates and strings passed to `$parse`) They are freely available to JavaScript code (as before). Motivation ---------- Angular expressions execute in a limited context.  They do not have direct access to the global scope, Window, Document or the Function constructor.  However, they have direct access to names/properties on the scope chain.  It has been a long standing best practice to keep sensitive APIs outside of the scope chain (in a closure or your controller.)  That's easier said that done for two reasons: (1) JavaScript does not have a notion of private properties so if you need someone on the scope chain for JavaScript use, you also expose it to Angular expressions, and (2) the new "controller as" syntax that's now in increased usage exposes the entire controller on the scope chain greatly increaing the exposed surface.  Though Angular expressions are written and controlled by the developer, they (1) typically deal with user input and (2) don't get the kind of test coverage that JavaScript code would.  This commit provides a way, via a naming convention, to allow publishing/restricting properties from controllers/scopes to Angular expressions enabling one to only expose those properties that are actually needed by the expressions.
2013-10-30chore($compile): remove special case for ngIf and ngRepeatBrian Ford
2013-10-30chore: move getBlockElements to Angular.jsBrian Ford
2013-10-30fix(ngIf): ngIf removes elements dynamically added to itBrian Ford
When using ngIf with ngInclude on the same element, ngIf previously did not remove elements added by ngInclude. Similarly, when using ngIfStart/End, ngIf will miss elements added between the start/end markers added after ngIf is linked. This commit changes the behavior of ngIf to add a comment node at the end of its elements such that elements between the starting comment and this ending comment are removed when ngIf's predicate does not hold.
2013-10-30docs($route): split over-length linePete Bacon Darwin
2013-10-30docs($route): change example module nameAndrew Jackson
The name of the example module is `ngView`, which might cause needless confusion. Changed name to `ngViewExample`, which should make it clearer. Closes #4702
2013-10-28fix($animate): use direct DOM comparison when checking for $rootElementMatias Niemelä
Closes #4679
2013-10-28fix($animate): ensure former nodes are fully cleaned up when a follow-up ↵Matias Niemelä
structural animation takes place Closes #4435
2013-10-28docs($provide): fix link to factory sectionPete Bacon Darwin
2013-10-28fix($animate): ensure enable/disable animations work when the document node ↵Matias Niemelä
is used Closes #4669
2013-10-28feat(ngAnimate): provide support for staggering animations with CSSMatias Niemelä
2013-10-28fix(angular-mocks): add inline dependency annotationDerek Hammer
Annotation allows the angular-mocks to be minified, which sometimes happens with frameworks that automatically process files before running tests. Also, some developers have been using this library in code for their applications. This is not recommended as the library is only designed to support testing and not production applications. If you are likely to want to use the code here in production you would be best forking and maintaining your own version of the code as we will not guarantee that we won't break the annotation of the code in the future. Closes #4448
2013-10-28fix($compile): don't instantiate controllers twice for element transclude ↵Igor Minar
directives This is a fix for regression introduced last week by faf5b980. Closes #4654
2013-10-27docs($resource): fix typoJarrett Harris
Closes #4670