aboutsummaryrefslogtreecommitdiffstats
path: root/src/widgets.js
AgeCommit message (Collapse)Author
2012-03-11doc(fixes): to better support ng-directive notationMisko Hevery
2012-03-08chore(directives,widgets): reorg the code under directive/ dirIgor Minar
2012-03-08docs(directive, module): add various missing docs and fix existing docsIgor Minar
2012-03-08docs(ng-view): improve the ng-view docsIgor Minar
2012-03-08chore(compiler): change default restriction to attribute only for directivesMisko Hevery
2012-03-05docs($route, ng:view): Fix the examples to work on jsfiddle, update docsVojta Jina
2012-03-05fix(ng-include): Compile only contentVojta Jina
2012-02-28feat(ng:include) Fire $contentLoaded eventVojta Jina
+ refactor unload to listen on this event -> we can use unload with ng:view as well Closes #743
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-28chore(ng:view): simplify, by taking advantage of new compiler featuresMisko Hevery
2012-02-28docs(directive.script): Subtle update to API docsVojta Jina
2012-02-28docs(directive.script): Add simple example of inlined templateVojta Jina
2012-02-28fix(directive.script): Do not compile content of script tagsVojta Jina
2012-02-22docs(scope): show which directives create scopesMisko Hevery
2012-02-21fix(ng:repeat): use transclusionMisko Hevery
2012-02-21chore(ng:switch): rewritten with transclusion APIMisko Hevery
BREAKING CHANGE: the change event fires on scope of switch not on scope of case.
2012-02-21feat($compile) add locals, isolate scope, transclusionMisko Hevery
2012-01-25docs(compiler): update the compiler docsMisko Hevery
2012-01-25feat(scriptTemplateLoader): provide template inliningMisko Hevery
populates $templateCache with content of ng-template scripts
2012-01-25refactor(directives): connect new compilerMisko Hevery
- turn everything into a directive
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-13refactor($autoScroll): rename to $anchorScroll and allow disabling auto ↵Vojta Jina
scrolling (links) Now, that we have autoscroll attribute on ng:include, there is no reason to disable the service completely, so $anchorScrollProvider.disableAutoScrolling() means it won't be scrolling when $location.hash() changes. And then, it's not $autoScroll at all, it actually scrolls to anchor when it's called, so I renamed it to $anchorScroll.
2012-01-07feat(ng:include): enable/disable scrolling through autoscroll attributeVojta Jina
2011-11-30fix(ng:include): prevent race conditions by ignoring stale http callbacksIgor Minar
This fix is similar to what I've done in ng:view, if a new template has been requested before the callback for the previous template returned, ignore it. Otherwise weird race conditions happen and users might end up getting the content for the previous include rendered instead of the most recent one.
2011-11-30feat($http): add promise supportIgor Minar
quite messy, some tests are missing, contains an experimental jasmine DI support)
2011-11-30refactor(ng:view, ng:include): pass cache instance into $httpVojta Jina
Instead of doing all the stuff in these widgets (checking cache, etc..) we can rely on $http now...
2011-11-30style(): get rid off some jsl warningsVojta Jina
2011-11-30feat($templateCache): add $templateCache - shared by ng:include, ng:viewVojta Jina
2011-11-30feat($http): new $http service, removing $xhr.*Vojta Jina
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
2011-11-21feat(service.$autoScroll): scroll to hash fragmentVojta Jina
- whenever hash part of the url changes - after ng:view / ng:include load
2011-11-14style(docs): make jslint happy - fix some warningsVojta Jina
2011-11-14fix(doc) cleanup all api doc link warningsMisko Hevery
2011-11-14refactor(injector): switch to injector 2.0 introduce modulesMisko Hevery
2011-10-26fix(ng:repeat) with array ignore properties not representing array elementsIgor Minar
Along the way I also changed the repeater impl to use for loop instead of for in loop. Iteration over objects is handled by creating an array of keys, which is sorted and this array then determines the order of iteration over an element. This makes repeating over objects deterministic and cross-browser compatible.
2011-10-26fix(ng:view): ignore stale xhr callbacksIgor Minar
A lot of badness happens when we don't ignore stale xhrs. These raceconditions are only apparent when user clicks through the app very quckly without waiting for routes to fully load. Closes #619
2011-10-18fix(ng:repeat): repeater should ignore $ and $$ propertiesIgor Minar
2011-10-12docs(dev_guide.bootstrap.auto_bootstrap): fixing a typoIgor Minar
2011-10-12docs(*): remove @workInProgress from everywhereIgor Minar
it's not useful any more and it only makes the docs look ugly
2011-10-11chore(formating): clean code to be function() {Misko Hevery
2011-10-11feat(forms): new and improved formsMisko Hevery
2011-10-11feat(ng:repeat) collection items and DOM elements affinity / stabilityMisko Hevery
2011-09-26feat(docs): use html5 history api for all routing in the docs appVojta Jina
- Configure our docs app to use new $location with html5 history api! - Update simple node web server to serve index.html for all links (rewritting). - Update .htaccess file to serve index.html for all links (rewritting). - At runtime determine the base href path and attach it to the DOM. We needed the absolute URL to get all browsers to work well. - Because of the above, we also need to dynamically determine all needed js/css resources and add them to the DOM. This was needed because FF6 would eagerly fetch resources with wrong URL since the base element is added to the dom at runtime. - All content html files were moved to the partials directory, because with the new html5 urls it was impossible to tell if request for http://domain/api/angular.filter.html was an html5 url for the html filter doc page, or an xhr/appcache request for the content html file for the html filter. f
2011-09-16fix(e2e tests): use prop() instead of attr() and quote attributesIgor Minar
Because of changes in jQuery, we need to use element().prop() instead of element().attr() to retrieve className and other element properties. Additionally all attribute selectors (e.g. input[name=value]) must have value quoted if it contains dots (".").
2011-09-16fix(ng:options): fix selecting optionsIgor Minar
Contains 3 fixes: - the internal model was by mistake using "checked" property instead of "selected" - use jqLite.prop() to set 'selected' property - added inChangeEvent check - we should not interfere with the browser selecting elements when not necessary
2011-09-08fix(docs): update docs to reflect new $location and fix e2e testsVojta Jina
2011-09-07fix(ng:options): ng:change should be called after the new val is setIgor Minar
Closes #547
2011-08-31feat($route): add events before/after route changeMisko Hevery
BREAKING CHANGE * removing `onChange` FEATURE * adding three events: $beforeRouteChange, $afterRouteChange, $routeReload
2011-08-30feat(widget): add ng:pluralize as an Angular widgetDi Peng