Commit graph

99 commits

Author SHA1 Message Date
Igor Minar
fe5240732d feat(strict mode): adding strict mode flag to all js files
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-18 12:12:55 -07:00
Di Peng
bad62d87a1 fix:scope - reintroduce support for eager services
8cad231 broke $eager services

Problem is that the injector.eager function is not invoked when a new scope
is created. Added a test to make sure service is eagerly instantiated.

Closes #403
2011-06-23 08:06:24 -07:00
Misko Hevery
8cad231bd2 Refactor injector to have invoke method for speed reasons 2011-06-08 15:21:31 -07:00
Misko Hevery
0e17ade959 Cleanup parser code to expose smaller API 2011-06-08 15:01:32 -07:00
Igor Minar
c35b0a7907 yet another docs batch 2011-06-06 23:10:30 -07:00
Igor Minar
3069566073 api doc fixes from ken 2011-06-06 23:10:28 -07:00
Vojta Jina
e21a868524 Fix links in docs 2011-06-06 22:52:00 -07:00
Igor Minar
1e59822df7 remove _null and _undefined
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-26 23:19:04 -07:00
Anthony Lieuallen
7cf70c587e Small spelling and grammar fixes in documentation. 2011-02-16 00:04:15 -05:00
Misko Hevery
882f412d57 Added remainder of the cookbook 2011-02-03 20:03:38 -08:00
Misko Hevery
ba6b68b6ae changed the documentation @example to use <doc:example> 2011-02-01 10:00:09 -08:00
Igor Minar
0144fa1ca9 fixing angular.Scope. docs 2011-01-30 14:43:03 -08:00
Igor Minar
9368ea3814 Scope should retrieve $log and $exceptionHandler via $service
- fix $log and $exceptionHandler retrieval
- remove reference to non-existent `error` handler
- update tests
2011-01-25 20:49:25 -08:00
Igor Minar
8d91ec4173 improve angular.Scope.$eval docs 2011-01-24 14:03:42 -08:00
Igor Minar
0a6cf70deb Rename angular.foreach to angular.forEach to make the api consistent.
camelcase is used for other angular functions and forEach is also
used by EcmaScript standard.

- rename the internal as well as the external function name
- tweak the implementation of the function so that it doesn't
  clober it self when we extend the angular object with an
  object that has a forEach property equal to this forEach function

Closes #85
2011-01-10 10:26:55 -08:00
Igor Minar
b2631f6170 rename scope.$inject to scope.$service
see changelog diff for more info
2011-01-04 18:04:00 -08:00
Misko Hevery
e5e69d9b90 Remove RegExp parser
- RegExp parser is rearly used, feature, and one should not have RegExps
  in views anyways, so we are removing it

BACKWARD INCOMPATIBLE CHANGE!!!
2010-12-08 14:36:51 -08:00
Misko Hevery
5a8ad8fe32 Closes #170. Corrected the behavior of select when options are ng:repeated
- Delete $postEval method, as it was a hack
2010-12-02 22:45:57 -08:00
Igor Minar
17eee57c52 fixing docs for angular.scope 2010-11-24 19:29:45 -08:00
Igor Minar
9c9a89f7ff docs for angular.scope. and angular.scope. 2010-11-24 18:07:11 -08:00
Igor Minar
1719b0aca5 fix all closure compilation warnings due to invalid function types 2010-11-18 17:03:43 -08:00
Igor Minar
fc7f11d03b add @workInProgress tag and mark all @ngdocs as work in progress 2010-11-18 16:28:42 -08:00
Igor Minar
72a5f007d8 most of the documentation for angular.scope and friends 2010-11-18 02:35:30 -08:00
Igor Minar
fc78738cc6 scope docs + lowercase doc fix 2010-11-18 02:34:52 -08:00
Misko Hevery
b2d63ac48b Changed error handling so that better stack traces are displayed in the ng-errors 2010-11-16 14:19:55 -08:00
Igor Minar
0a8b3161b1 $watch should optionally skip listener exec
- if initRun param is set to false, listener doesn't execute
- the oldValue should equal newValue during the initial execution
- added docs
- added specs
2010-11-11 16:39:01 -08:00
Misko Hevery
0499c47270 added ng:switch-when-default; changed $watch to always fire on init. (may be backward incompatible) 2010-11-10 21:01:17 -08:00
Misko Hevery
ba5f8ee27f fix typo, and change a list to string for more efficient compression. 2010-10-31 15:04:30 -07:00
Misko Hevery
9e9bdbdc40 JSON parser is now strict (ie, expressions are not allowed for security)
Close #57
2010-10-18 08:50:36 -07:00
Misko Hevery
de66a319b4 removed unneeded function rethrow from scope which was interfering with the test rethrow function 2010-10-15 10:55:58 -07:00
Misko Hevery
7903f4d940 use new Function instead of eval()
Close #52
2010-10-14 21:49:59 -07:00
Igor Minar
692333f2f5 temporary backwards compatibility patch for 2010-10-14 12:36:29 -07:00
Misko Hevery
d9abfe8a7e Introduced injector and $new to scope, and injection into link methods and controllers
- added angular.injector(scope, services, instanceCache) which returns inject
    - inject method can return, instance, or call function which have $inject
      property
    - initialize services with $creation=[eager|eager-publish] this means that
      only some of the services are now globally accessible
  - upgraded $become on scope to use injector hence respect the $inject property
    for injection
    - $become should not be run multiple times and will most likely be removed
      in future version
  - added $new on scope to create a child scope
     - $inject is respected on constructor function
  - simplified scopes so that they no longer have separate __proto__ for
    parent, api, behavior and instance this should speed up execution since
    scope will now create one __proto__ chain per scope (not three).

BACKWARD COMPATIBILITY WARNING:
  - services now need to have $inject instead of inject property for proper
    injection this breaks backward compatibility
  - not all services are now published into root scope
    (only: $location, $cookie, $window)
  - if you have widget/directive which uses services on scope
    (such as this.$xhr), you will now have to inject that service in
    (as it is not published on the root scope anymore)
2010-10-12 16:33:06 -07:00
Igor Minar
7e47a2d016 temparary backaward compatibility patch for Controller.init
- feedback relies on *Controller.init to be called when a Controller is
being created. this with previous angular refactoring this is not happening
in angular any more. To make it easier for feedback to transition, this
change makes $become call controller's init method if present.

- call to Controller.init from $route.updateRoute was removed. this was
left there by accident during the previous refactoring.
2010-10-13 04:37:45 +08:00
Misko Hevery
006fd2ca25 HEAD is now at 10c0151 Fixes on issue when a SELECT has OPTION which are data bound (ie OPTION has repeater or OPTION.value is bound), then SELECT does not update to match the correct OPTION after the change in model (ie after the OPTION repeater unrolls or OPTION.value is changed.) 2010-09-21 19:20:34 +02:00
Misko Hevery
894ffadc8c Fixed all trivial jslint violations 2010-09-14 23:22:15 +02:00
Misko Hevery
5ddd8d9586 stringify names for better compression, remove dead functions, removed underscore.js compatibility 2010-08-18 17:26:33 -07:00
Misko Hevery
5c14a35e62 initial perf testing 2010-08-13 09:50:03 -07:00
Misko Hevery
044ecb91c1 clean up for better obfuscation 2010-08-11 12:04:02 -07:00
Misko Hevery
9b392eca35 fix bug where $eval on undefined throws error 2010-08-10 11:23:23 -07:00
Misko Hevery
a161a99ff8 minor speed improvements 2010-07-26 15:54:50 -07:00
Misko Hevery
b288cb08b4 minor performance improvements 2010-07-26 15:32:08 -07:00
Misko Hevery
719f6e15a0 clean up error handling a bit. 2010-07-20 17:13:31 -07:00
Misko Hevery
09e2295975 updated list of JavaScript keywords 2010-07-15 09:41:25 -07:00
Misko Hevery
ee82dae318 added class as a constant keyword to generated code 2010-07-08 10:51:08 -07:00
Misko Hevery
b5195b8f67 changed the eval for ie to be able to return a function 2010-07-02 17:26:26 -07:00
Misko Hevery
105e9443c4 fixed special keywords in chrome such as x.throw must be x["throw"]. 2010-07-02 14:43:17 -07:00
Shyam Seshadri
39312d1fe3 Revert "Revert "removed few key foreach and replaced thime with for loop for performance.""
This reverts commit a29c5e4c7f.
2010-06-02 15:05:34 -07:00
Shyam Seshadri
a29c5e4c7f Revert "removed few key foreach and replaced thime with for loop for performance."
This reverts commit 6143b04384.
2010-06-02 15:04:26 -07:00
Misko Hevery
6143b04384 removed few key foreach and replaced thime with for loop for performance. 2010-05-31 00:58:29 -07:00