aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng/directive
AgeCommit message (Collapse)Author
2012-06-02doc(guide): clean up broken linksMisko Hevery
2012-06-01feat($route): rename template -> tempalteUrl and add support for inline ↵Misko Hevery
templates BREAKING CHANGE: template in $route definition is now templateUrl To migrate just rename `template` to `templateUrl`.
2012-06-01chore($route): rename eventsMisko Hevery
BREAKING CHANGE rename $beforeRouteChange to $routeChangeStart rename $afterRouteChange to $routeChangeSuccess
2012-06-01feat($route): resolve local route promisesMisko Hevery
Resolve all promises on route before we fire $afterRouteChange which then renders the ngView.
2012-05-22fix(ngRepeat): expose $first, $middle and $last instead of $positionMax
$position marker doesn't work well in cases when we have just one item in the list because then the item is both the first and last. To solve this properly we need to expose individual $first and $middle and $last flags. BREAKING CHANGE: $position is not exposed in repeater scopes any more To update, search for $position and replace it with one of $first, $middle or $last. Closes #912
2012-05-06fix(ngSrc,ngHref): binding should set element prop as well as attrIgor Minar
IE9 ignores setAttribute('src', val) calls on img if "ng:src" attribute is present. It only fetches the image if element property is updated as well. Closes #935
2012-05-06fix(ngModel): use keydown/change events on IE9 instead of inputIgor Minar
On IE9 the input event is not fired when backspace or delete key are pressed or when cut is performed. This makes listening on the input event unreliable and therefore it's better for us to just use keydown/change events instead. Closes #879
2012-05-04chore(docs): re-skin main documentationMisko Hevery
2012-05-02fix(select): don't interfere with selection if not databoundIgor Minar
Closes #926
2012-04-30docs(ngCsp): make the CSP docs publicly visibleIgor Minar
2012-04-30docs(ngSanitize): fix directive linksIgor Minar
2012-04-27feat($parse): CSP compatibilityIgor Minar
CSP (content security policy) forbids apps to use eval or Function(string) generated functions (among other things). For us to be compatible, we just need to implement the "getterFn" in $parse without violating any of these restrictions. We currently use Function(string) generated functions as a speed optimization. With this change, it will be possible to opt into the CSP compatible mode using the ngCsp directive. When this mode is on Angular will evaluate all expressions up to 30% slower than in non-CSP mode, but no security violations will be raised. In order to use this feature put ngCsp directive on the root element of the application. For example: <!doctype html> <html ng-app ng-csp> ... ... </html> Closes #893
2012-04-20fix(select): properly handle empty & unknown options without ngOptionsIgor Minar
Previously only when ngOptions was used, we correctly handled situations when model was set to an unknown value. With this change, we'll add/remove extra unknown option or reuse an existing empty option (option with value set to "") when model is undefined.
2012-04-20fix(script): Incorrectly reading script text on ieMisko Hevery
IE deals with script tags in special way and .text() does not work. Reading the .text property directly fixes the issue.
2012-04-20docs(ngBind): "angular.module.ng.$sanitize" -> ↵johnlindquist
"angular.module.ngSanitize.$sanitize"
2012-04-20docs(ngBind): "makes make" -> "makes"johnlindquist
2012-04-12fix($location): properly rewrite urls in html5 mode with base url setIgor Minar
previously we were doing all kinds of checks to see if we should rewrite the url or not and we were missing many scenarios. not any more. with this change, we rewrite the url unless: - the href is not set - link has target attribute - the absolute url of the link doesn't match the absolute prefix for all urls in our app This also means that ng-ext-link attribute which we previously used to distinguish external links from app links is not necessary any more. apps can just set target=_self to prevent rewriting. BREAKING CHANGE: ng-ext-link directive was removed because it's unnecessary apps that relied on ng-ext-link should simply replace it with target=_self
2012-04-11test(ngView): fix failing e2e testsIgor Minar
2012-04-11fix(input.radio): support 2-way binding in a repeaterVojta Jina
Closes #869
2012-04-11chore(ngSanitize): extract $sanitize, ngBindHtml, linkyFilter into a moduleVojta Jina
Create build for other modules as well (ngResource, ngCookies): - wrap into a function - add license - add version Breaks `$sanitize` service, `ngBindHtml` directive and `linky` filter were moved to the `ngSanitize` module. Apps that depend on any of these will need to load `angular-sanitize.js` and include `ngSanitize` in their dependency list: `var myApp = angular.module('myApp', ['ngSanitize']);`
2012-04-10chore(*): remove dead code and fix code style issuesIgor Minar
2012-04-09fix(ngBindHtml): clear contents when model is falsyIgor Minar
Closes #864
2012-04-09fix(docs): change all directive references to use the normalized namesIgor Minar
2012-04-04fix(docs): remove ngModelInstant from all examplesIgor Minar
just fixing leftover code after the removal of ngModelInstant
2012-04-04chore(directive): correct file names for booleanAttrsVojta Jina
2012-04-04fix(booleanAttrs): convert to booleanVojta Jina
jQuery's attr() does not handle 0 as false, when it comes to boolean attrs.
2012-04-03fix(form): preperly clean up when invalid widget is removedMisko Hevery
Removing invalid widget sometimes resulted in improper cleanup of the form state.
2012-04-03fix(ng-href): copy even if no bindingMisko Hevery
Closes# 850 fixed an issue where ng-href would not copy its content into href if it did not contain binding.
2012-04-03refactor(ngView): remove extra $watch, refactor one ugly testVojta Jina
2012-04-03feat(ngInclude): allow ngInclude on css classVojta Jina
And make it terminal so that it does not compile its content, which would cause leaks.
2012-04-03fix(ngInclude): fire $includeContentLoaded on proper (child) scopeVojta Jina
2012-04-03refactor(ngInclude): remove scope attributeVojta Jina
The purpose of allowing the scope to be specified was to enable the $route service to work together with ngInclude. However the functionality of creating scopes was in the recent past moved from the $route service to the ngView directive, so currently there is no valid use case for specifying the scope for ngInclude. In fact, allowing the scope to be defined can under certain circumstances lead to memory leaks. Breaks ngInclude does not have scope attribute anymore.
2012-04-03feat(ngModel): update model on each key stroke (revert ngModelInstant)Vojta Jina
It turns out that listening only on "blur" event is not sufficient in many scenarios, especially when you use form validation you always had to use ngModelnstant e.g. if you want to disable a button based on valid/invalid form. The feedback we got from our apps as well as external apps is that the ngModelInstant should be the default. In the future we might provide alternative ways of suppressing updates on each key stroke, but it's not going to be the default behavior. Apps already using the ngModelInstant can safely remove it from their templates. Input fields without ngModelInstant directive will start propagating the input changes into the model on each key stroke.
2012-03-29fix(FormController): ask for dependency to fool the BC moduleIgor Minar
2012-03-29fix(ngValue): bind properly inside ng-repeatVojta Jina
2012-03-29refactor($compile): move methods of attr object into prototypeVojta Jina
We have many instances of this object and we clone them as well (e.g. ng-repeat). This should save some memory and performance as well. Double prefixed private properties of attr object: attr.$element -> attr.$$element attr.$observers -> attr.$$observers Update shallowCopy to not copy $$ properties and allow passing optional destination object.
2012-03-29fix($compile): properly clone attr.$observers in ng-repeatVojta Jina
The `attr` object was only shallow copied which caused all observers to be shared. Fixing similar issue in ng-* boolean attributes as well as ng-src and ng-href.
2012-03-28refactor(toJson): use native JSON.stringifyIgor Minar
Instead of using our custom serializer we now use the native one and use the replacer function to customize the serialization to preserve most of the previous behavior (ignore $ and $$ properties as well as window, document and scope instances).
2012-03-28chore(module): move files around in preparation for more modulesMisko Hevery