aboutsummaryrefslogtreecommitdiffstats
path: root/src/widgets.js
AgeCommit message (Collapse)Author
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
2011-08-16doc(sample): Add javascript sandbox integration (jsFiddle)dandoyon
Change doc_widget.js to: - render "edit in jsfiddle" button next to all examples - make opt out certain examples by adding jsfiddle="false" attribute to doc:source element
2011-08-15style(*): wrap all assignments in if statementsIgor Minar
we commonly assign stuff in if statments like this: if (variable = someFn()) { //do something with variable } This results in lint and IDE warnings (did you mean ==?). It is better to be explicit about our intention and wrap the assignement into parens: if ((variable = someFn())) { //do something with variable } Doing so suppresses warnings + is easier to understand the intention. I verified that the closure compiler strips the extra parens, so there is no byte overhead for this safety practice. We should use this style going forward...
2011-08-12perf(scope): re-enable statement cacheingMisko Hevery
2011-08-12refactor(scope): remove $flush/$observe ng:eval/ng:eval-orderMisko Hevery
2011-08-06refactor(widgets): remove input[button, submit, reset, image] and button ↵Di Peng
windgets These widgets are useless and only trigger extra $updateViews. The only reason we had them was to support ng:change on these widgets, but since there are no bindings present in these cases it doesn't make sense to support ng:change here. It's likely just a leftover from getangular.com Breaking change: ng:change for input[button], input[submit], input[reset], input[image] and button widgets is not supported any more
2011-08-02feat(scope): new and improved scope implementationMisko Hevery
- Speed improvements (about 4x on flush phase) - Memory improvements (uses no function closures) - Break $eval into $apply, $dispatch, $flush - Introduced $watch and $observe Breaks angular.equals() use === instead of == Breaks angular.scope() does not take parent as first argument Breaks scope.$watch() takes scope as first argument Breaks scope.$set(), scope.$get are removed Breaks scope.$config is removed Breaks $route.onChange callback has not "this" bounded
2011-07-30doc(typos): fix couple of typos in the docsdandoyon
Minor documentation fixes. Should not be any code changes. One test changed due to dependency on text in documentation.
2011-07-26style(ng:options): fix style and some docsIgor Minar
2011-07-26fix(ng:options): add support for option groupsMisko Hevery
Closes# 450
2011-07-26fix(directive): ng:options to support ng:changeMisko Hevery
Closes #463
2011-07-26fix(directive): ng:options to support iterating over objectsMisko Hevery
Closes #448
2011-07-26fix(directive): ng:options incorrectly re-grew options on datasource changeMisko Hevery
Closes #464
2011-07-26fix(directive): ng:options now support binding to expressionMisko Hevery
Closes #449
2011-07-26doc(ng:view): fix broken template links in docs; add scenario test.Misko Hevery
2011-07-18feat(strict mode): adding strict mode flag to all js filesIgor Minar
the flag must be in all src and test files so that we get the benefit of running in the strict mode even in jstd the following script was used to modify all files: for file in `find src test -name "*.js"`; do echo -e "'use strict';\n" > temp.txt cat $file >> temp.txt mv temp.txt $file done
2011-07-16doc(ng:include): improve the doc example to avoid confusionIgor Minar
2011-07-13doc($route): fix $route example and couple of typosVojta Jina
Rewrite $route example a bit, as it required $location and $route services to be eager published in the root scope. Fix small typos in formatter and ng:options docs.
2011-07-11doc:widget: improve angular.widget docsIgor Minar
2011-06-30docs:include: improve docsIgor Minar
2011-06-23fix:repeat: fix ending comment tagIgor Minar
2011-06-23fix:ng:repeater - fix $position when collection size changesMisko Hevery
2011-06-08Added ng:options directiveMisko Hevery
Closes #301
2011-06-08Refactor injector to have invoke method for speed reasonsMisko Hevery
2011-06-07Fix couple of failing e2e testsVojta Jina
The reason was recent change in docs url
2011-06-06yet another docs batchIgor Minar
2011-06-06api doc fixes from kenIgor Minar
2011-06-06Fix links in docsVojta Jina
2011-06-02Fix IE bug - ng:hrefVojta Jina
ng:href was producing unclickable links, as the event propagation was stopped by 'a' widget All links in regression/issue-352.html were tested in: * Chrome 11 * Opera 11 * Firefox 4 * IE7, IE8 Closes #352
2011-05-19Remove trailing white spaces from all source filesVojta Jina
find . -name "*.js" -print | xargs sed -Ei s/[[:space:]]*$//
2011-04-25Fix some typos, missing semi-colons, etc...Vojta Jina
This is a combination of 4 commits: * Fix some small typos, missing semi-colons, etc. * Fix comment for angular.scenario.SpecRunner.run method * Fixed some missing semi-colons in cookbook * Fixed missing semi-colon in nodeserver/server.js
2011-04-11doc fix - ng:autobind, ng:controller and moreKenneth R. Culp
2011-04-04revert ng:view sync cachingIgor Minar
sync caching in ng:view must be reverted becase ng:view uses $route.onChange to listen for changes. $route fires all onChange events before it calls $become(Controller) which means that if the template being included via ng:view contains ng:controller, ng:include or other widget that create new scopes, these scopes will be created and initialized before the parent scope is fully initialized (happens after $become is called). For this reason ng:view must be async. The new scope implemenetation will resolve this issue by providing us with an api to register one-off tasks to be executed during the flush phase. We'll be able to compile and link the included template safely at this time.
2011-03-30use document fragments to grow repeatersIgor Minar
- unless we are repeating OPTION elements, buffer new nodes in document fragment and append them to the DOM in one go at the end - for OPTION elements we have to keep on using the old way because of how option widget communicates with select widget this should be change, but that change is out of scope of this CL - modify jqLite to support wrapping of document fragments - fix jqLite documentation typo This change unintentionally avoids the following webkit bug that that affects repeater growth: https://bugs.webkit.org/show_bug.cgi?id=57059 However the following bug affecting shrining of repeaters is still unresolved https://bugs.webkit.org/show_bug.cgi?id=57061
2011-03-30extend size() to take ownPropsOnly paramIgor Minar
- extend size() to take size(obj, ownPropsOnly) - add specs for size() - update docs to mention string support - use size() in ng:repeat including the hasOwnProp check for all object doesn't create significant perf penalty: http://jsperf.com/dedicated-code-branch-for-hasownprop
2011-03-30call $eval in repeater only when neededIgor Minar
when growing children linker calls eval for new nodes, so we need to call it only for reused nodes.
2011-03-30make xhr.cache optionally synchronousIgor Minar
- add `sync` flag xhr.cache - change ng:include to use the sync flag - change ng:view to use the sync flag The end result is that there are fewer repaints in the browser, which means less "blinking" that user sees.
2011-03-26remove _null and _undefinedIgor Minar
they have no significant effect on minified and gziped size. in fact they make things worse. file | before | after removal ---------------------------------------- concat | 325415 | 325297 min | 62070 | 62161 min + gzip | 25187 | 25176 The bottom line is that we are getting 0.05% decrease in size after gzip without all of the hassle of using underscores everywhere.
2011-03-03fixing broken e2e testsIgor Minar