aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
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
2013-10-27docs(form): fix typoYuriy Bilogub
Close #4671
2013-10-26docs($location): document $location's eventsValentyn Shybanov
Closes #1569 Closes #4446
2013-10-26docs($q): promises are no longer automatically unwrapped, by defaultrjferguson21
Although it is still possible to turn this on, the feature is deprecated and it is best to remove this mention completely here. Closes #4632
2013-10-26docs(Angular.js): angular.equals calls itself recursively on objectsthorn0
Closes #4622
2013-10-26docs(http): add missing brace in the 2nd interceptors examplemgechev
Closes #4621
2013-10-26docs(ngForm): ensure correct attribute name in usage exampleDavid Bennett
Closes #4611
2013-10-25docs($rootScope): added $eval `locals` parameter documentationCaio Cunha
Added documentation for `locals` parameter of `$eval` method.
2013-10-25fix($compile): attribute bindings should not break due to terminal directivesIgor Minar
Recently we changed the priority of attribute interpolation directive to -100 to ensure that it executes early in the post linking phase. This causes issues with when terminal directives are placed on elements with attribute bindings because the terminal directive will usually have 0 or higher priority which results in attr interpolation directive not being applied to the element. To fix this issue I'm switching the priority back to 100 and making moving the binding setup into the pre-linking function. This means that: - terminal directives with priority lower than 100 will not affect the attribute binding - if a directive wants to add or alter bindings it can do so in the pre-linking phase, as long as the priority of this directive is more than 100 - all post-linking functions will execute after the attribute binding has been set up - all pre-linking functions with directive priority lower than 100 will execute after the attribute bindings have been setup BREAKING CHANGE: the attribute interpolation (binding) executes as a directive with priority 100 and the binding is set up in the pre-linking phase. It used to be that the priority was -100 in rc.2 (100 before rc.2) and that the binding was setup in the post-linking phase. Closes #4525 Closes #4528 Closes #4649
2013-10-25docs(compile): fix typo in 'Attributes' descriptionBrainCrumbz
Closes #4589
2013-10-25docs(ngIf): fix typoBalázs Suhajda
Closes #4512
2013-10-24docs(ngClass): fix typoSam Dornan
Closes #4471
2013-10-24docs(rootScope): add example of using a listener function for $watchWesley Cho
Closes #4451
2013-10-24style($route): fix line lengthPete Bacon Darwin
2013-10-24fix($animate): skip unnecessary addClass/removeClass animationsMatias Niemelä
Skip addClass animations if the element already contains the class that is being added to element. Also skip removeClass animations if the element does not contain the class that is being removed. Closes #4401 Closes #2332
2013-10-24docs(ngModelController): $parent can help isolate scope directivesbasarat
2013-10-24docs($routeProvider): document route.resolve rejectionJosh Schumacher
Add documentation that the $routeChangeError event is fired when a route resolve promise is rejected Closes #4447
2013-10-24docs(select): fix typowiebl
Closes #4433
2013-10-24docs(ngBindHtml): add exampleNicolas Brugneaux
Closes #4427
2013-10-24fix($compile): instantiate controlers when re-entering compilationIgor Minar
When we re-enter compilation either due to async directive templates or element transclude directive we need to keep track of controllers to instantiate during linking. This piece of info was missing when re-entering compilation and that's what this commit fixes. I also reordered the properties in the previousCompileContext object. Closes #4434 Closes #4616
2013-10-24docs(ngNonBindable): fix punctuationDave Peticolas
Closes #4424
2013-10-24docs($provide): Fix typoPete Bacon Darwin
Closes #4420
2013-10-24docs(ngController): do not attach a controller twiceTyler McGinnis
A common mistake for beginners is to attach a controller in both the $routeProvider and also in the html document using the ng-controller directive. This change highlights this, to help prevent developers from doing so in the future. Closes #4409
2013-10-24fix(input): keep track of min/max attars on-the-flyDmitry Shirokov
Now input[type=button] keeps track of both min and max attrs even if they change over time.
2013-10-23chore(docs): fix jsHint errors with long linesMatias Niemelä
2013-10-23docs(guide/directive,guide/compiler,): drastically improveBrian Ford
2013-10-23chore(ngMocks): shorten the length of the description line to avoid jsHint ↵Matias Niemelä
errors
2013-10-23feat(docs): provide index pages for each angular moduleMatias Niemelä
2013-10-23fix(ngView): ensure the new view element is placed after the old view elementMatias Niemelä
Closes #4362
2013-10-23fix($animate): ensure animations work properly when the $rootElement is ↵Matias Niemelä
being animated Closes #4397 Closes #4231
2013-10-23fix($animate): only cancel class-based animations if the follow-up class ↵Matias Niemelä
contains CSS transition/keyframe animation code Closes #4463 Closes #3784