Commit graph

307 commits

Author SHA1 Message Date
Misko Hevery
00cc9eb32a rewrite of JQuery lite implementation, which now better supports selected sets 2011-02-16 08:59:42 -05:00
Misko Hevery
ef4bb28be1 Change API angular.compile(element)([scope], [element/true]) 2011-02-16 01:03:12 -05:00
Misko Hevery
496e6bf901 refactored quickClone to cloneNode and exposed it on jQuery 2011-02-16 00:49:16 -05:00
Misko Hevery
23b255a8b7 remove $init on scope from applying compilation template
Closes #40
2011-02-16 00:49:15 -05:00
Misko Hevery
e2154cbc0b remove dom manipulation API from compiler 2011-02-16 00:48:22 -05:00
Misko Hevery
0a5c00abf8 Add public API to retrieve scope from element. 2011-02-16 00:48:22 -05:00
Misko Hevery
a004d487c4 allow jquery to be declared after angular in the script loading order 2011-02-16 00:48:22 -05:00
Anthony Lieuallen
7cf70c587e Small spelling and grammar fixes in documentation. 2011-02-16 00:04:15 -05:00
Igor Minar
ae20f0c1b3 adding docs for angular.markup and angular.attrMarkup 2011-02-07 23:55:02 -08:00
Misko Hevery
46d690ff01 smarter normalization of value on option, and htmlParser fixes 2011-02-04 13:44:22 -08:00
Misko Hevery
ba6b68b6ae changed the documentation @example to use <doc:example> 2011-02-01 10:00:09 -08:00
Igor Minar
6512a736ac adding jsdoc for angular namespace 2011-01-26 15:37:22 -08:00
Misko Hevery
5d0d34ae72 remove trailing whitespace 2011-01-24 14:23:51 -08:00
Igor Minar
ad3b811b8b fixes, examples and tests for angular.Object.* docs 2011-01-18 14:42:18 -08:00
Igor Minar
b0be87f663 fix for angular.Object.equals to handle equals({},null) 2011-01-13 07:55:31 -08:00
Misko Hevery
4f22d6866c complete rewrite of documentation generation
- romeved mustache.js
- unified templates
- improved testability of the code
2011-01-10 11:50:11 -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
84dedb81e7 jqLite should recognize window as an element even in IE
in IE window object has length property which makes it look like a
collection to jqLite. This commit makes jqLite properly identify
window as an element even in IE.

IE6 doesn't have Window type, so we need to check against window
object and only then do a more general check against Window. This
is not perfect, but I say screw IE6.
2011-01-10 10:24:12 -08:00
Igor Minar
16086aa37c $location service should utilize onhashchange events instead of polling 2011-01-07 14:39:41 -08:00
Igor Minar
142a985f33 Revert "Issue #51: Update extensionMap()"
This reverts commit 00ca67e4be.

Now that we don't have published services, we don't need to worryi
about this any more and in fact this behavior is confusing because
to override a service that has dependencies with a services with
no dependencies one must specify $inject:[] or else the old
dependencies will be injected.

Conflicts:

	src/Angular.js
	test/AngularSpec.js
2011-01-07 12:02:45 -08:00
Igor Minar
bd5ec7c32a rename nodeName due to conflicts with jquery 2011-01-07 12:02:45 -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
Igor Minar
e7a0fb250f fromJson delegation to native JSON parser if available
- native parser delegation
- $xhr change to use native parser
2010-12-22 14:16:36 -08:00
Igor Minar
824eab9029 improving $resource docs 2010-12-07 16:06:31 -08:00
Misko Hevery
58d0e8945d allow documentation to be in external file
* Load templates once instead of per request
* show timing information
* load files ending in .ngdoc and process them
2010-12-06 15:48:40 -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
Vojta Jina
47f159cdf3 Doc service: added example into service overview 2010-11-25 08:51:26 -08:00
Igor Minar
99eb123d79 docs for all angular.* type checking functions 2010-11-25 08:19:14 -08:00
Igor Minar
b7aff92354 docs for angular.bind 2010-11-24 22:33:40 -08:00
Igor Minar
6b3b00e095 docs for angular.foreach 2010-11-24 21:13:58 -08:00
Igor Minar
921f7ce49e docs for angular.extend 2010-11-24 21:03:56 -08:00
Igor Minar
17eee57c52 fixing docs for angular.scope 2010-11-24 19:29:45 -08:00
Igor Minar
4fc3ee8040 docs for angular.compile 2010-11-24 19:14:34 -08:00
Igor Minar
39d3ae80d9 docs for angular.element 2010-11-24 19:03:06 -08:00
Igor Minar
480f2f33c1 docs for angular.noop and angular.identity 2010-11-24 18:23:21 -08:00
Igor Minar
73194009a9 docs for angular.Object.copy 2010-11-24 17:32:04 -08:00
Igor Minar
162f41a1ab docs for angular.Object.size 2010-11-24 17:21:37 -08:00
Igor Minar
7c82c4f837 docs for angular.Object and angular.Object.equals 2010-11-24 16:55:44 -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
9cb57772a4 fix docs for angular.directive and ng:autobind 2010-11-18 02:35:29 -08:00
Igor Minar
e509ec37f5 fixing angular.lowercase and angular.upppercase jsdocs + api 2010-11-18 02:34:54 -08:00
Igor Minar
ff7c738c21 fix ng docs for angular, angular.lowercase and uppercase 2010-11-18 02:34:53 -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
Vojta Jina
cc749760fd Added basic Services, which support @memberOf and @methodOf 2010-11-15 21:55:37 -08:00
Misko Hevery
a1652057a5 changed to ! notation for indexable apps 2010-11-15 10:04:17 -08:00
Misko Hevery
7e6f999221 added remaining directives and search box. 2010-11-15 10:04:17 -08:00
Misko Hevery
6b8ed42670 Added Directives 2010-11-10 12:02:49 -08:00
Igor Minar
6d53808475 improve jsdocs
- improve json filter example
- improve filter overview doc
- improving validator overview jsdocs
- simplify number filter examples and make them live + add specs
- various doc fixes
2010-11-09 22:33:27 -08:00
Igor Minar
324694a58b Better example widget
- syntax highlighting
- tabless design
- rename widget to doc:example
- rename widget files (wiki_widget.* -> doc_widget.*)
- example section is now optional
2010-11-09 22:27:31 -08:00
Misko Hevery
c048f0d8e8 Added formatter documentation. 2010-11-09 09:15:29 -08:00
Igor Minar
1a43f36e23 Add isDate method + fix old code 2010-11-08 22:49:29 -08:00
Vojta Jina
00ca67e4be Issue #51: Update extensionMap()
If user override existing extension, angular properties ($) will be preserved.

This piece of logic could be refactored into separate method:
Something like we have extend(), addMissingProperties() - I can't find a name
for this method...

Closes #51
2010-11-07 14:42:03 -08:00
Vojta Jina
5be325a0c1 Refactored toJsonArray(), added isBoolean() function 2010-11-05 21:39:00 -07:00
Misko Hevery
3d6a099d6e changed to showdown from markup. added validator overview 2010-11-05 13:32:37 -07:00
Misko Hevery
47066e70e1 added documentation for ng:include and ng:widget and test for doc collector. 2010-11-04 14:24:31 -07:00
Igor Minar
dfa8baf59a hide example for angular.filter 2010-11-03 10:02:20 -07:00
Misko Hevery
659af29adb jsdoc parser + generator + viewer + scenario runner
- parse jsdocs from source code
- generate prerendered (markdown + mustache) partials
- generate json
- generate scenario runner for examples in docs
- basic angular doc viewer
2010-11-03 09:47:22 -07:00
Igor Minar
1fe7e3a130 add jsdocs for angular and filter namespaces + all filters 2010-11-03 09:47:21 -07: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
4fdab37659 create HTML sanitizer to allow inclusion of untrusted HTML in safe manner.
Sanitization works in two phases:
 1) We parse the HTML into sax-like events (start, end, chars).
    HTML parsing is very complex, and so it may very well be that what
    most browser consider valid HTML may not pares properly here,
    but we do best effort. We treat this parser as untrusted.
 2) We have safe sanitizeWriter which treats its input (start, end, chars)
    as untrusted content and escapes everything. It only allows elements
    in the whitelist and only allows attributes which are whitelisted.
    Any attribute value must not start with 'javascript:'. This check
    is performed after escaping for entity (&xAB; etc..) and ignoring
    any whitespace.

 - Correct linky filter to use safeHtmlWriter
 - Correct html filter to use safeHtmlWriter

Close #33; Close #34
2010-10-26 13:41:07 -07:00
Igor Minar
6f3a757a37 Angular should look for angular-ie-compat file at the right location
The location should be based on the base path of the angular script
and the version identifier of the angular script.

ex: angular.js -> angular-ie-compat.js
    js/angular-0.9.0.min.js -> js/angular-ie-compat-0.9.0.js
2010-10-20 14:48:35 -07:00
Igor Minar
644c8514c5 extract and test regexp that identifies angular script tag 2010-10-20 14:48:35 -07:00
Misko Hevery
01c7abab35 Fix browser triggering in scenario to always do native events.
- Also fixed angular.suffix for scenarios
 - refactored click() to browserTrigger()
 - Fixed Rakefile with CSS and jQuery
2010-10-19 15:56:53 -07:00
Igor Minar
7059579c74 inline all images into css
* embedded images as data URIs
* rake task to generate multipart js file with embeded images for IE
* move images into a separate directory outside of src or css and
  keep them there for reference
* clean up Rakefile and ruby code
* .gitignore update
* don't penalize IE 8+ with an extra request to the ie-compat.js file
2010-10-18 16:24:43 -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
Vojta Jina
b08e2be64c Pass the toKeyValue() test - parsing flags 2010-10-16 22:10:01 -07:00
Elliott Sprehn
03df6cbddb New Angular Scenario runner and DSL system with redesigned HTML UI.
Uses the Jasmine syntax for tests, ex:

describe('widgets', function() {
  it('should verify that basic widgets work', function(){
    navigateTo('widgets.html');
    input('text.basic').enter('Carlos');
    expect(binding('text.basic')).toEqual('Carlos');
    input('text.basic').enter('Carlos Santana');
    expect(binding('text.basic')).not().toEqual('Carlos Boozer');
    input('text.password').enter('secret');
    expect(binding('text.password')).toEqual('secret');
    expect(binding('text.hidden')).toEqual('hiddenValue');
    expect(binding('gender')).toEqual('male');
    input('gender').select('female');
    expect(binding('gender')).toEqual('female');
  });
});

Note: To create new UI's implement the interface shown in angular.scenario.ui.Html.
2010-10-14 09:47:39 -07:00
Misko Hevery
805753dba4 fixed issue where date copy creates an object instead of date 2010-10-13 12:47:10 -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
Elliott Sprehn
8e40e7070d Fix bug in IE where clone removes whitespace nodes. 2010-10-05 07:12:13 +08:00
Igor Minar
eb8d46d380 Differentiate between flags and empty keys in $location.hashSearch
* #foo?key=var&flag&emptyKey= should parse into
  {key:'val', flag: true, emptyKey: ''}
* added docs and spec for parseKeyValue function
2010-09-29 09:52:03 -07:00
Igor Minar
7cb7fb91c6 Add JSDoc for the copy() method 2010-09-23 17:19:26 +08:00
Misko Hevery
0649009624 Refactored the Browser:
- change from using prototype to inner functions to help with better compression
  - removed watchers (url/cookie) and introduced a poller concept
  - moved the checking of URL and cookie into services which register with poolers
Benefits:
  - Smaller minified file
  - can call $browser.poll() from tests to simulate polling
  - single place where setTimeout needs to be tested
  - More testable $browser
2010-09-22 16:17:44 +02: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
Alkis Evlogimenos
b798ee80c2 Allow angular to be included with query parameters. This is a common
pattern for forcing a reload of the script in the browser irrespective
of the cache settings the host has.
2010-09-16 00:22:55 +02:00
Misko Hevery
894ffadc8c Fixed all trivial jslint violations 2010-09-14 23:22:15 +02:00
Misko Hevery
07699b1a70 removed accidental assignment of $element to glabal space 2010-09-06 07:46:28 -07: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
1087270c95 added better handling of ng:format=number 2010-08-18 16:04:40 -07:00
Misko Hevery
3d5719cd44 removed undocumented/unneeded methods from Array API 2010-08-11 11:44:12 -07:00
Misko Hevery
412f05977c removed google charts and few other filters, switched to simple optimization for compiler 2010-08-11 11:21:03 -07:00
Misko Hevery
49e08f5d2c compile should take existingScope 2010-08-05 14:01:46 -07:00
Misko Hevery
059703495d rename textMarkup to markup 2010-07-30 15:19:43 -07:00
Misko Hevery
cdda664f89 fix up the $location encoding 2010-07-30 10:56:36 -07:00
Misko Hevery
af1eb6914e keep #autobind for backward compatibility 2010-07-29 15:38:14 -07:00
Misko Hevery
03aac8b0ab fix broken build, fix #autobind and css loading 2010-07-29 15:26:10 -07:00
Misko Hevery
1b768b8443 refactored $location service so that it correctly updates under all conditions 2010-07-29 12:54:13 -07:00
unknown
6bd8006edc fix IE native mothods are not functions, and preventDefault 2010-07-27 16:53:23 -07:00
Misko Hevery
b288cb08b4 minor performance improvements 2010-07-26 15:32:08 -07:00
Misko Hevery
b5bbfaeb80 clean up error reporting 2010-07-21 13:28:14 -07:00
Misko Hevery
719f6e15a0 clean up error handling a bit. 2010-07-20 17:13:31 -07:00
Misko Hevery
bebfbeac0a fixed xhtml compatibility, fix console in chrome 2010-07-20 16:55:32 -07:00
Misko Hevery
7e96af0fdd added equals method to angular.equals and $equals 2010-07-19 12:29:24 -07:00
Misko Hevery
9abd10e7b8 proper handlig of $element in filters 2010-07-15 13:13:21 -07:00
Misko Hevery
81dac70e72 imrove $orderBy performance 2010-05-30 20:21:40 -07:00
Misko Hevery
c7d64f6d12 improve error handling with elements 2010-05-30 16:34:59 -07:00
Misko Hevery
d5ba889f63 fixes issues where the field clobbers itself 2010-05-12 15:25:16 -07:00
Misko Hevery
038a743e6f xhr bulk fixes 2010-05-07 12:09:14 -07:00
Misko Hevery
c7913a4b7a added $xhr service with bulk and cache, hooked up $resource 2010-04-29 17:28:33 -07:00
Misko Hevery
2a7cd9f390 fix ie bug with null and orphans elements 2010-04-26 16:49:34 -07:00
Misko Hevery
fe434307d1 tests work under jquery and without 2010-04-22 17:11:56 -07:00
Misko Hevery
2a9669e1d8 working on jQuery passing tests 2010-04-22 15:50:20 -07:00
Misko Hevery
e78405f6ed more if tests pass 2010-04-21 12:50:05 -07:00
Misko Hevery
22d93e0a3b fixes to enable ie 2010-04-20 18:14:13 -07:00
Misko Hevery
9f9bdcf3d1 lint 2010-04-19 14:41:36 -07:00
Misko Hevery
618a2b423d ie fixes 2010-04-19 14:36:41 -07:00
Misko Hevery
8394353b85 bettor function iterator 2010-04-16 20:10:09 -07:00
Misko Hevery
deb86fe357 lots of small fixes 2010-04-16 14:01:29 -07:00
Misko Hevery
713307b650 added ng-eval-order attribute 2010-04-12 16:24:28 -07:00
Misko Hevery
2637d4e90c removed Meta and allowed binding of HTML 2010-04-12 14:28:15 -07:00
Misko Hevery
843bd355d2 various bug fixes 2010-04-09 16:20:15 -07:00
Misko Hevery
c4ef1f2fdd tests failing jstd to show cory 2010-04-08 13:43:40 -07:00
Misko Hevery
e0ad7dfcd4 seperatio validation and exception handling 2010-04-07 17:24:24 -07:00
Misko Hevery
0df93fd49c clean up, fixes for app 2010-04-07 10:17:15 -07:00
Misko Hevery
2107eafcde added hover service 2010-04-05 20:53:33 -07:00
Misko Hevery
7a4b480206 added ng:switch widget 2010-04-05 11:46:53 -07:00
Misko Hevery
5dcf9bb4fe browser is now injectable into the system 2010-04-03 20:23:16 -07:00
Misko Hevery
a80a61839a injection is now working 2010-04-03 17:04:36 -07:00
Misko Hevery
5bd23fde7a merge 2010-04-02 11:16:49 -07:00
Misko Hevery
d717020911 widgets now work properly 2010-04-02 11:10:36 -07:00
Misko Hevery
85f13d602e work on $location and autobind 2010-04-01 14:10:28 -07:00
Misko Hevery
11a6431f89 started to add services 2010-03-31 18:18:10 -07:00
Misko Hevery
861bac1d28 started to add services 2010-03-31 17:56:16 -07:00
Misko Hevery
35a9108500 all tests green, some dissabled 2010-03-31 13:57:25 -07:00
Misko Hevery
b5b8f63e1e more tests passing 2010-03-30 15:39:51 -07:00
Misko Hevery
a7d62dcb55 more tests fixed 2010-03-30 14:55:04 -07:00
Misko Hevery
cc6def854f reenabled more tests 2010-03-29 21:36:34 -07:00
Misko Hevery
e55c97deba dissabled a lot of tests, and made the core test set pass. 2010-03-29 20:25:42 -07:00
Misko Hevery
258ca5f165 moved all uneeded files out, widgets.html works, tests horribly broken 2010-03-26 16:27:18 -07:00
Misko Hevery
d934054cfc major refactoring of scope 2010-03-25 22:03:11 -07:00
Misko Hevery
4fa166866b input select-one now works 2010-03-25 14:43:05 -07:00
Misko Hevery
f29f6a47c4 fixed .value vs attr(value) access 2010-03-24 16:47:11 -07:00
Misko Hevery
0c42eb9909 input[type=text] now works with binding, validation, formatter, required 2010-03-24 16:13:42 -07:00
Misko Hevery
bb98ae14f2 markup now wroks, some refactorings 2010-03-23 14:57:11 -07:00
Misko Hevery
6ff550cfa9 all angular.js directives now work 2010-03-22 21:29:57 -07:00
Misko Hevery
b4561ff951 ng-repeat works 2010-03-22 15:46:34 -07:00
Misko Hevery
84552f7f8a got few directives working 2010-03-22 13:58:04 -07:00
Misko Hevery
f6664ed7f6 tests fixed, still missing widgets 2010-03-19 22:18:39 -07:00
Misko Hevery
7634a3ed52 initial revision of new plugable compiler 2010-03-18 12:20:06 -07:00
Misko Hevery
cc71b745c3 added resources; removed compiled code 2010-03-15 14:36:50 -07:00
Adam Abrons
b561f6a0cc stop showing loading... text 2010-02-16 21:30:15 -08:00
Misko Hevery
799d72931a added onUpdateView listener for config 2010-02-09 13:13:18 -08:00
Misko Hevery
251fab4029 updateView is now called on binder instead of scope 2010-02-04 15:04:28 -08:00
Misko Hevery
9f919c42f0 better handling of $invalidWidgets 2010-02-04 14:02:20 -08:00
Misko Hevery
1da18e73a4 consider widget errors only when widgets are visible 2010-02-04 13:27:56 -08:00
Misko Hevery
a9c182764b added formatters 2010-01-28 22:11:01 -08:00
Misko Hevery
dd9d8bf030 merge 2010-01-28 20:46:01 -08:00
Misko Hevery
3d99e0f6de work 2010-01-28 20:44:34 -08:00
Adam Abrons
88384854c2 add default rake task (compile and test), send database name to login 2010-01-26 11:27:50 -08:00
Misko Hevery
a2540fd581 fixes to make it pass on IE 2010-01-25 23:49:52 -08:00
Misko Hevery
a5c446441f fix closure compiler incompatibilities 2010-01-24 19:12:01 -08:00
Misko Hevery
efad9ec5be changes to make it closure compiler compatible 2010-01-24 17:10:58 -08:00
Misko Hevery
c7719c2412 fix initialization 2010-01-24 12:10:26 -08:00
Misko Hevery
4460328bc1 lots of cleanup to get it ready for OS 2010-01-23 15:54:58 -08:00
Misko Hevery
0e566fe6cb tweeter demo client 2010-01-18 17:56:08 -08:00
Misko Hevery
595b4ea097 checkpoint for integration with angular 2010-01-18 10:47:03 -08:00
Renamed from src/Loader.js (Browse further)