├── lib
├── jquery
│ └── version.txt
├── closure-compiler
│ ├── version.txt
│ └── compiler.jar
└── grunt
│ └── plugins.js
├── logs
└── .gitignore
├── example
├── view1.html
├── view2.html
├── index.html
├── personalLog
│ ├── scenario
│ │ └── runner.html
│ ├── personalLog.html
│ └── personalLog.js
├── temp.html
├── tweeter
│ ├── tweeterclient.js
│ ├── style.css
│ └── tweeter_demo.html
└── buzz
│ ├── buzz.js
│ ├── buzz.css
│ └── buzz.html
├── src
├── module.suffix
├── publishExternalApis.js
├── ng
│ ├── directive
│ │ ├── style.js
│ │ ├── directives.js
│ │ ├── ngInit.js
│ │ ├── ngNonBindable.js
│ │ ├── ngCsp.js
│ │ ├── a.js
│ │ ├── script.js
│ │ ├── ngStyle.js
│ │ └── ngTransclude.js
│ ├── document.js
│ ├── rootElement.js
│ ├── exceptionHandler.js
│ ├── routeParams.js
│ ├── window.js
│ └── locale.js
├── loader.prefix
├── module.prefix
├── angular.prefix
├── ngScenario
│ ├── angular.prefix
│ ├── output
│ │ ├── Object.js
│ │ ├── Json.js
│ │ └── Xml.js
│ ├── angular.suffix
│ ├── matchers.js
│ ├── Future.js
│ └── angular-bootstrap.js
├── angular.suffix
├── ngMobile
│ └── mobile.js
├── loader.suffix
├── ngLocale
│ ├── angular-locale_chr.js
│ ├── angular-locale_haw.js
│ ├── angular-locale_cy.js
│ ├── angular-locale_en-zz.js
│ ├── angular-locale_tl-ph.js
│ ├── angular-locale_el-polyton.js
│ ├── angular-locale_mo.js
│ ├── angular-locale_sr-rs.js
│ ├── angular-locale_zh-hant.js
│ ├── angular-locale_zh-hans-hk.js
│ ├── angular-locale_zh-hans-mo.js
│ ├── angular-locale_zh-hans.js
│ ├── angular-locale_zh-hant-tw.js
│ ├── angular-locale_zh-hans-sg.js
│ ├── angular-locale_zh-hant-hk.js
│ └── angular-locale_zh-hant-mo.js
├── ngSanitize
│ └── directive
│ │ └── ngBindHtml.js
└── apis.js
├── docs
├── src
│ ├── templates
│ │ ├── js
│ │ │ ├── jquery.js
│ │ │ └── jquery.min.js
│ │ ├── favicon.ico
│ │ ├── font
│ │ │ ├── FontAwesome.otf
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ ├── fontawesome-webfont.svgz
│ │ │ └── fontawesome-webfont.woff
│ │ ├── offline.html
│ │ ├── .htaccess
│ │ ├── docs-scenario.html
│ │ └── css
│ │ │ └── animations.css
│ └── SiteMap.js
├── img
│ ├── bullet.png
│ ├── helloworld.png
│ ├── angular_parts.png
│ ├── form_data_flow.png
│ ├── AngularJS-small.png
│ ├── helloworld_2way.png
│ ├── guide
│ │ ├── concepts-view.png
│ │ ├── about_view_final.png
│ │ ├── concepts-model.png
│ │ ├── concepts-runtime.png
│ │ ├── concepts-scope.png
│ │ ├── concepts-startup.png
│ │ ├── dom_scope_final.png
│ │ ├── scenario_runner.png
│ │ ├── about_model_final.png
│ │ ├── concepts-directive.png
│ │ ├── di_sequence_final.png
│ │ ├── simple_scope_final.png
│ │ ├── concepts-controller.png
│ │ ├── hashbang_vs_regular_url.jpg
│ │ └── concepts-module-injector.png
│ ├── One_Way_Data_Binding.png
│ ├── Two_Way_Data_Binding.png
│ ├── glyphicons-halflings.png
│ ├── tutorial
│ │ ├── tutorial_00.png
│ │ ├── tutorial_02.png
│ │ ├── tutorial_03.png
│ │ ├── tutorial_04.png
│ │ ├── catalog_screen.png
│ │ ├── tutorial_00_final.png
│ │ ├── tutorial_07_final.png
│ │ ├── xhr_service_final.png
│ │ ├── tutorial_08-09_final.png
│ │ └── tutorial_10-11_final.png
│ └── glyphicons-halflings-white.png
├── content
│ ├── api
│ │ ├── ng.ngdoc
│ │ └── index.ngdoc
│ ├── guide
│ │ ├── index.ngdoc
│ │ ├── dev_guide.templates.filters.ngdoc
│ │ ├── dev_guide.services.ngdoc
│ │ ├── dev_guide.templates.css-styling.ngdoc
│ │ ├── dev_guide.mvc.understanding_view.ngdoc
│ │ ├── dev_guide.mvc.ngdoc
│ │ ├── dev_guide.templates.filters.using_filters.ngdoc
│ │ ├── dev_guide.services.testing_services.ngdoc
│ │ ├── dev_guide.services.understanding_services.ngdoc
│ │ ├── dev_guide.templates.filters.creating_filters.ngdoc
│ │ ├── introduction.ngdoc
│ │ └── dev_guide.templates.databinding.ngdoc
│ ├── tutorial
│ │ ├── the_end.ngdoc
│ │ └── step_01.ngdoc
│ ├── cookbook
│ │ ├── helloworld.ngdoc
│ │ └── index.ngdoc
│ └── misc
│ │ └── started.ngdoc
├── spec
│ ├── sitemapSpec.js
│ ├── specs.js
│ ├── writerSpec.js
│ └── domSpec.js
├── components
│ └── bootstrap
│ │ └── google-prettify
│ │ └── prettify.css
└── component-spec
│ └── syntaxSpec.js
├── images
├── favicon.ico
├── css
│ ├── arrow_left.gif
│ ├── arrow_right.gif
│ └── indicator-wait.png
├── docs
│ ├── Diagrams.graffle
│ │ ├── image1.png
│ │ ├── image2.png
│ │ ├── image4.png
│ │ ├── image8.png
│ │ ├── image9.png
│ │ └── QuickLook
│ │ │ ├── Preview.pdf
│ │ │ └── Thumbnail.tiff
│ ├── guide
│ │ ├── concepts.graffle
│ │ │ ├── image1.png
│ │ │ ├── image4.png
│ │ │ └── image5.png
│ │ ├── about_view.graffle
│ │ │ ├── image3.png
│ │ │ └── QuickLook
│ │ │ │ ├── Preview.pdf
│ │ │ │ └── Thumbnail.tiff
│ │ └── simple_scope.graffle
│ │ │ ├── image7.png
│ │ │ └── QuickLook
│ │ │ ├── Preview.pdf
│ │ │ └── Thumbnail.tiff
│ └── tutorial
│ │ ├── simple_scope.graffle
│ │ ├── image7.png
│ │ └── QuickLook
│ │ │ ├── Preview.pdf
│ │ │ └── Thumbnail.tiff
│ │ ├── tutorial_02.graffle
│ │ ├── image11.png
│ │ └── QuickLook
│ │ │ ├── Preview.pdf
│ │ │ └── Thumbnail.tiff
│ │ ├── tutorial_03.graffle
│ │ ├── image13.png
│ │ └── QuickLook
│ │ │ ├── Preview.pdf
│ │ │ └── Thumbnail.tiff
│ │ ├── tutorial_04.graffle
│ │ ├── image15.png
│ │ └── QuickLook
│ │ │ ├── Preview.pdf
│ │ │ └── Thumbnail.tiff
│ │ ├── tutorial_07.graffle
│ │ ├── image9.png
│ │ └── QuickLook
│ │ │ ├── Preview.pdf
│ │ │ └── Thumbnail.tiff
│ │ ├── tutorial_08-09.graffle
│ │ ├── image10.png
│ │ └── QuickLook
│ │ │ ├── Preview.pdf
│ │ │ └── Thumbnail.tiff
│ │ ├── tutorial_10-11.graffle
│ │ ├── image10.png
│ │ └── QuickLook
│ │ │ ├── Preview.pdf
│ │ │ └── Thumbnail.tiff
│ │ └── tutorial_proto.graffle
│ │ ├── image7.png
│ │ └── QuickLook
│ │ ├── Preview.pdf
│ │ └── Thumbnail.tiff
└── logo
│ ├── AngularJS.graffle
│ ├── data.plist
│ ├── image1.png
│ └── image2.png
│ ├── AngularJS.exports
│ ├── AngularJS.pdf
│ ├── AngularJS-huge.png
│ ├── AngularJS-large.png
│ ├── AngularJS-medium.png
│ └── AngularJS-small.png
│ └── AngularJS-Shield.exports
│ ├── AngularJS-Shield.pdf
│ ├── AngularJS-Shield-huge.png
│ ├── AngularJS-Shield-large.png
│ ├── AngularJS-Shield-medium.png
│ └── AngularJS-Shield-small.png
├── test
├── jquery_alias.js
├── jquery_remove.js
├── ngScenario
│ ├── e2e
│ │ ├── style.css
│ │ ├── Runner-compiled.html
│ │ └── Runner.html
│ ├── mocks.js
│ ├── ScenarioSpec.js
│ ├── output
│ │ ├── jsonSpec.js
│ │ ├── objectSpec.js
│ │ └── xmlSpec.js
│ └── matchersSpec.js
├── ng
│ ├── windowSpec.js
│ ├── documentSpec.js
│ ├── directive
│ │ ├── ngCspSpec.js
│ │ ├── ngInitSpec.js
│ │ ├── ngSrcsetSpec.js
│ │ ├── ngSrcSpec.js
│ │ ├── ngNonBindableSpec.js
│ │ ├── ngEventDirsSpec.js
│ │ ├── ngClickSpec.js
│ │ ├── styleSpec.js
│ │ ├── ngKeySpec.js
│ │ ├── scriptSpec.js
│ │ ├── ngCloakSpec.js
│ │ └── aSpec.js
│ ├── rootElementSpec.js
│ ├── animationSpec.js
│ ├── exceptionHandlerSpec.js
│ ├── filter
│ │ └── orderBySpec.js
│ ├── routeParamsSpec.js
│ └── localeSpec.js
├── ApiSpecs.js
├── ngSanitize
│ ├── directive
│ │ └── ngBindHtmlSpec.js
│ └── filter
│ │ └── linkySpec.js
├── jQueryPatchSpec.js
└── loaderSpec.js
├── i18n
├── run-tests.sh
├── generate.sh
├── src
│ ├── util.js
│ ├── parser.js
│ └── converter.js
├── e2e
│ ├── runner.html
│ ├── localeTest_cs.html
│ ├── localeTest_de.html
│ ├── localeTest_es.html
│ ├── localeTest_sk.html
│ ├── localeTest_zh.html
│ └── localeTest_en.html
├── README.md
├── spec
│ ├── utilSpec.js
│ └── converterSpec.js
└── update-closure.sh
├── check-size.sh
├── start-iteration.sh
├── css
└── angular.css
├── watchr-docs.rb
├── .gitignore
├── .travis.yml
├── karma-modules.conf.js
├── karma-jqlite.conf.js
├── karma-jquery.conf.js
├── karma-e2e.conf.js
├── gen_docs.sh
├── init-repo.sh
├── package.json
├── release-commit.sh
├── LICENSE
├── CONTRIBUTING.md
├── README.md
└── changelog.spec.js
/lib/jquery/version.txt:
--------------------------------------------------------------------------------
1 | 1.8.2
2 |
--------------------------------------------------------------------------------
/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/lib/closure-compiler/version.txt:
--------------------------------------------------------------------------------
1 | 20110615
2 |
--------------------------------------------------------------------------------
/example/view1.html:
--------------------------------------------------------------------------------
1 | view1
2 | location: {{url()}}
3 |
--------------------------------------------------------------------------------
/src/module.suffix:
--------------------------------------------------------------------------------
1 |
2 | })(window, window.angular);
3 |
--------------------------------------------------------------------------------
/docs/src/templates/js/jquery.js:
--------------------------------------------------------------------------------
1 | ../../../../lib/jquery/jquery.js
--------------------------------------------------------------------------------
/example/view2.html:
--------------------------------------------------------------------------------
1 | view2
2 | location: {{url()}}
3 |
--------------------------------------------------------------------------------
/docs/src/templates/js/jquery.min.js:
--------------------------------------------------------------------------------
1 | ../../../../lib/jquery/jquery.min.js
--------------------------------------------------------------------------------
/src/publishExternalApis.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | publishExternalAPI(angular);
4 |
--------------------------------------------------------------------------------
/docs/img/bullet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/bullet.png
--------------------------------------------------------------------------------
/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/favicon.ico
--------------------------------------------------------------------------------
/test/jquery_alias.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var _jQuery = jQuery,
4 | _jqLiteMode = false;
5 |
--------------------------------------------------------------------------------
/docs/img/helloworld.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/helloworld.png
--------------------------------------------------------------------------------
/images/css/arrow_left.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/css/arrow_left.gif
--------------------------------------------------------------------------------
/docs/img/angular_parts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/angular_parts.png
--------------------------------------------------------------------------------
/docs/img/form_data_flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/form_data_flow.png
--------------------------------------------------------------------------------
/images/css/arrow_right.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/css/arrow_right.gif
--------------------------------------------------------------------------------
/docs/img/AngularJS-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/AngularJS-small.png
--------------------------------------------------------------------------------
/docs/img/helloworld_2way.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/helloworld_2way.png
--------------------------------------------------------------------------------
/docs/src/templates/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/src/templates/favicon.ico
--------------------------------------------------------------------------------
/images/css/indicator-wait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/css/indicator-wait.png
--------------------------------------------------------------------------------
/test/jquery_remove.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var _jQuery = jQuery.noConflict(true),
4 | _jqLiteMode = true;
5 |
--------------------------------------------------------------------------------
/docs/img/guide/concepts-view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/concepts-view.png
--------------------------------------------------------------------------------
/i18n/run-tests.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 | PARENT_DIR="$(dirname "$0")"
5 | jasmine-node "$PARENT_DIR"/spec/
6 |
--------------------------------------------------------------------------------
/docs/img/One_Way_Data_Binding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/One_Way_Data_Binding.png
--------------------------------------------------------------------------------
/docs/img/Two_Way_Data_Binding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/Two_Way_Data_Binding.png
--------------------------------------------------------------------------------
/docs/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/docs/img/guide/about_view_final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/about_view_final.png
--------------------------------------------------------------------------------
/docs/img/guide/concepts-model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/concepts-model.png
--------------------------------------------------------------------------------
/docs/img/guide/concepts-runtime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/concepts-runtime.png
--------------------------------------------------------------------------------
/docs/img/guide/concepts-scope.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/concepts-scope.png
--------------------------------------------------------------------------------
/docs/img/guide/concepts-startup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/concepts-startup.png
--------------------------------------------------------------------------------
/docs/img/guide/dom_scope_final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/dom_scope_final.png
--------------------------------------------------------------------------------
/docs/img/guide/scenario_runner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/scenario_runner.png
--------------------------------------------------------------------------------
/docs/img/tutorial/tutorial_00.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/tutorial/tutorial_00.png
--------------------------------------------------------------------------------
/docs/img/tutorial/tutorial_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/tutorial/tutorial_02.png
--------------------------------------------------------------------------------
/docs/img/tutorial/tutorial_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/tutorial/tutorial_03.png
--------------------------------------------------------------------------------
/docs/img/tutorial/tutorial_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/tutorial/tutorial_04.png
--------------------------------------------------------------------------------
/lib/closure-compiler/compiler.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/lib/closure-compiler/compiler.jar
--------------------------------------------------------------------------------
/docs/img/guide/about_model_final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/about_model_final.png
--------------------------------------------------------------------------------
/docs/img/guide/concepts-directive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/concepts-directive.png
--------------------------------------------------------------------------------
/docs/img/guide/di_sequence_final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/di_sequence_final.png
--------------------------------------------------------------------------------
/docs/img/guide/simple_scope_final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/simple_scope_final.png
--------------------------------------------------------------------------------
/docs/img/tutorial/catalog_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/tutorial/catalog_screen.png
--------------------------------------------------------------------------------
/src/ng/directive/style.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var styleDirective = valueFn({
4 | restrict: 'E',
5 | terminal: true
6 | });
7 |
--------------------------------------------------------------------------------
/docs/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/docs/img/guide/concepts-controller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/concepts-controller.png
--------------------------------------------------------------------------------
/docs/img/tutorial/tutorial_00_final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/tutorial/tutorial_00_final.png
--------------------------------------------------------------------------------
/docs/img/tutorial/tutorial_07_final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/tutorial/tutorial_07_final.png
--------------------------------------------------------------------------------
/docs/img/tutorial/xhr_service_final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/tutorial/xhr_service_final.png
--------------------------------------------------------------------------------
/docs/src/templates/font/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/src/templates/font/FontAwesome.otf
--------------------------------------------------------------------------------
/images/docs/Diagrams.graffle/image1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/Diagrams.graffle/image1.png
--------------------------------------------------------------------------------
/images/docs/Diagrams.graffle/image2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/Diagrams.graffle/image2.png
--------------------------------------------------------------------------------
/images/docs/Diagrams.graffle/image4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/Diagrams.graffle/image4.png
--------------------------------------------------------------------------------
/images/docs/Diagrams.graffle/image8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/Diagrams.graffle/image8.png
--------------------------------------------------------------------------------
/images/docs/Diagrams.graffle/image9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/Diagrams.graffle/image9.png
--------------------------------------------------------------------------------
/images/logo/AngularJS.graffle/data.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS.graffle/data.plist
--------------------------------------------------------------------------------
/images/logo/AngularJS.graffle/image1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS.graffle/image1.png
--------------------------------------------------------------------------------
/images/logo/AngularJS.graffle/image2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS.graffle/image2.png
--------------------------------------------------------------------------------
/docs/img/guide/hashbang_vs_regular_url.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/hashbang_vs_regular_url.jpg
--------------------------------------------------------------------------------
/docs/img/tutorial/tutorial_08-09_final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/tutorial/tutorial_08-09_final.png
--------------------------------------------------------------------------------
/docs/img/tutorial/tutorial_10-11_final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/tutorial/tutorial_10-11_final.png
--------------------------------------------------------------------------------
/check-size.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | grunt minify
4 | gzip -c < build/angular.min.js > build/angular.min.js.gzip
5 | ls -l build/angular.min.*
6 |
--------------------------------------------------------------------------------
/docs/img/guide/concepts-module-injector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/img/guide/concepts-module-injector.png
--------------------------------------------------------------------------------
/images/docs/guide/concepts.graffle/image1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/guide/concepts.graffle/image1.png
--------------------------------------------------------------------------------
/images/docs/guide/concepts.graffle/image4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/guide/concepts.graffle/image4.png
--------------------------------------------------------------------------------
/images/docs/guide/concepts.graffle/image5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/guide/concepts.graffle/image5.png
--------------------------------------------------------------------------------
/images/logo/AngularJS.exports/AngularJS.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS.exports/AngularJS.pdf
--------------------------------------------------------------------------------
/docs/src/templates/font/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/src/templates/font/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/docs/src/templates/font/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/src/templates/font/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/images/docs/guide/about_view.graffle/image3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/guide/about_view.graffle/image3.png
--------------------------------------------------------------------------------
/docs/src/templates/font/fontawesome-webfont.svgz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/src/templates/font/fontawesome-webfont.svgz
--------------------------------------------------------------------------------
/docs/src/templates/font/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/docs/src/templates/font/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/images/docs/Diagrams.graffle/QuickLook/Preview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/Diagrams.graffle/QuickLook/Preview.pdf
--------------------------------------------------------------------------------
/images/docs/guide/simple_scope.graffle/image7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/guide/simple_scope.graffle/image7.png
--------------------------------------------------------------------------------
/images/logo/AngularJS.exports/AngularJS-huge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS.exports/AngularJS-huge.png
--------------------------------------------------------------------------------
/images/logo/AngularJS.exports/AngularJS-large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS.exports/AngularJS-large.png
--------------------------------------------------------------------------------
/images/logo/AngularJS.exports/AngularJS-medium.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS.exports/AngularJS-medium.png
--------------------------------------------------------------------------------
/images/logo/AngularJS.exports/AngularJS-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS.exports/AngularJS-small.png
--------------------------------------------------------------------------------
/docs/content/api/ng.ngdoc:
--------------------------------------------------------------------------------
1 | @ngdoc overview
2 | @name ng
3 | @description
4 |
5 | The `ng` is an angular module which contains all of the core angular services.
6 |
--------------------------------------------------------------------------------
/images/docs/tutorial/simple_scope.graffle/image7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/simple_scope.graffle/image7.png
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_02.graffle/image11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_02.graffle/image11.png
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_03.graffle/image13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_03.graffle/image13.png
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_04.graffle/image15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_04.graffle/image15.png
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_07.graffle/image9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_07.graffle/image9.png
--------------------------------------------------------------------------------
/i18n/generate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | BASE_DIR=`dirname $0`
4 | cd $BASE_DIR
5 |
6 |
7 | /usr/bin/env jasmine-node spec/ --noColor && node src/closureSlurper.js
8 |
--------------------------------------------------------------------------------
/images/docs/Diagrams.graffle/QuickLook/Thumbnail.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/Diagrams.graffle/QuickLook/Thumbnail.tiff
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_08-09.graffle/image10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_08-09.graffle/image10.png
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_10-11.graffle/image10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_10-11.graffle/image10.png
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_proto.graffle/image7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_proto.graffle/image7.png
--------------------------------------------------------------------------------
/images/logo/AngularJS-Shield.exports/AngularJS-Shield.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS-Shield.exports/AngularJS-Shield.pdf
--------------------------------------------------------------------------------
/images/docs/guide/about_view.graffle/QuickLook/Preview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/guide/about_view.graffle/QuickLook/Preview.pdf
--------------------------------------------------------------------------------
/images/docs/guide/simple_scope.graffle/QuickLook/Preview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/guide/simple_scope.graffle/QuickLook/Preview.pdf
--------------------------------------------------------------------------------
/src/loader.prefix:
--------------------------------------------------------------------------------
1 | /**
2 | * @license AngularJS v"NG_VERSION_FULL"
3 | * (c) 2010-2012 Google, Inc. http://angularjs.org
4 | * License: MIT
5 | */
6 | 'use strict';
7 | (
8 |
--------------------------------------------------------------------------------
/start-iteration.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ./version.js --minor-bump
4 | VERSION=`./version.js --curent`
5 | git commit -a -m "chore(relase): start v$VERSION iteration"
6 |
--------------------------------------------------------------------------------
/images/docs/guide/about_view.graffle/QuickLook/Thumbnail.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/guide/about_view.graffle/QuickLook/Thumbnail.tiff
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_02.graffle/QuickLook/Preview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_02.graffle/QuickLook/Preview.pdf
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_03.graffle/QuickLook/Preview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_03.graffle/QuickLook/Preview.pdf
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_04.graffle/QuickLook/Preview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_04.graffle/QuickLook/Preview.pdf
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_07.graffle/QuickLook/Preview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_07.graffle/QuickLook/Preview.pdf
--------------------------------------------------------------------------------
/images/logo/AngularJS-Shield.exports/AngularJS-Shield-huge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS-Shield.exports/AngularJS-Shield-huge.png
--------------------------------------------------------------------------------
/images/docs/guide/simple_scope.graffle/QuickLook/Thumbnail.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/guide/simple_scope.graffle/QuickLook/Thumbnail.tiff
--------------------------------------------------------------------------------
/images/docs/tutorial/simple_scope.graffle/QuickLook/Preview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/simple_scope.graffle/QuickLook/Preview.pdf
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_02.graffle/QuickLook/Thumbnail.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_02.graffle/QuickLook/Thumbnail.tiff
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_03.graffle/QuickLook/Thumbnail.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_03.graffle/QuickLook/Thumbnail.tiff
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_04.graffle/QuickLook/Thumbnail.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_04.graffle/QuickLook/Thumbnail.tiff
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_07.graffle/QuickLook/Thumbnail.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_07.graffle/QuickLook/Thumbnail.tiff
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_08-09.graffle/QuickLook/Preview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_08-09.graffle/QuickLook/Preview.pdf
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_10-11.graffle/QuickLook/Preview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_10-11.graffle/QuickLook/Preview.pdf
--------------------------------------------------------------------------------
/images/docs/tutorial/tutorial_proto.graffle/QuickLook/Preview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_proto.graffle/QuickLook/Preview.pdf
--------------------------------------------------------------------------------
/images/logo/AngularJS-Shield.exports/AngularJS-Shield-large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS-Shield.exports/AngularJS-Shield-large.png
--------------------------------------------------------------------------------
/images/logo/AngularJS-Shield.exports/AngularJS-Shield-medium.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS-Shield.exports/AngularJS-Shield-medium.png
--------------------------------------------------------------------------------
/images/logo/AngularJS-Shield.exports/AngularJS-Shield-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexyoung/angular.js/master/images/logo/AngularJS-Shield.exports/AngularJS-Shield-small.png
--------------------------------------------------------------------------------
/test/ngScenario/e2e/style.css:
--------------------------------------------------------------------------------
1 | th {
2 | text-align: left;
3 | }
4 |
5 | tr {
6 | border: 1px solid black;
7 | }
8 |
9 | .redbox {
10 | background-color: red;
11 | }
12 |
--------------------------------------------------------------------------------
/docs/src/templates/offline.html:
--------------------------------------------------------------------------------
1 |
This page is currently unavailable because your are offline.
4 |Please connect to the Internet and reload the page.
5 | -------------------------------------------------------------------------------- /images/docs/tutorial/simple_scope.graffle/QuickLook/Thumbnail.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/simple_scope.graffle/QuickLook/Thumbnail.tiff -------------------------------------------------------------------------------- /images/docs/tutorial/tutorial_08-09.graffle/QuickLook/Thumbnail.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_08-09.graffle/QuickLook/Thumbnail.tiff -------------------------------------------------------------------------------- /images/docs/tutorial/tutorial_10-11.graffle/QuickLook/Thumbnail.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_10-11.graffle/QuickLook/Thumbnail.tiff -------------------------------------------------------------------------------- /images/docs/tutorial/tutorial_proto.graffle/QuickLook/Thumbnail.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexyoung/angular.js/master/images/docs/tutorial/tutorial_proto.graffle/QuickLook/Thumbnail.tiff -------------------------------------------------------------------------------- /src/module.prefix: -------------------------------------------------------------------------------- 1 | /** 2 | * @license AngularJS v"NG_VERSION_FULL" 3 | * (c) 2010-2012 Google, Inc. http://angularjs.org 4 | * License: MIT 5 | */ 6 | (function(window, angular, undefined) { 7 | -------------------------------------------------------------------------------- /src/angular.prefix: -------------------------------------------------------------------------------- 1 | /** 2 | * @license AngularJS v"NG_VERSION_FULL" 3 | * (c) 2010-2012 Google, Inc. http://angularjs.org 4 | * License: MIT 5 | */ 6 | (function(window, document, undefined) { 7 | -------------------------------------------------------------------------------- /test/ng/windowSpec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | describe('$window', function() { 4 | it("should inject $window", inject(function($window) { 5 | expect($window).toBe(window); 6 | })); 7 | }); 8 | -------------------------------------------------------------------------------- /css/angular.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], 4 | .ng-cloak, .x-ng-cloak { 5 | display: none; 6 | } 7 | 8 | ng\:form { 9 | display: block; 10 | } 11 | -------------------------------------------------------------------------------- /test/ng/documentSpec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | describe('$document', function() { 4 | 5 | 6 | it("should inject $document", inject(function($document) { 7 | expect($document).toEqual(jqLite(document)); 8 | })); 9 | }); 10 | -------------------------------------------------------------------------------- /src/ngScenario/angular.prefix: -------------------------------------------------------------------------------- 1 | /** 2 | * @license AngularJS v"NG_VERSION_FULL" 3 | * (c) 2010-2012 Google, Inc. http://angularjs.org 4 | * License: MIT 5 | */ 6 | (function(window, document){ 7 | var _jQuery = window.jQuery.noConflict(true); 8 | -------------------------------------------------------------------------------- /src/ngScenario/output/Object.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Creates a global value $result with the result of the runner. 5 | */ 6 | angular.scenario.output('object', function(context, runner, model) { 7 | runner.$window.$result = model.value; 8 | }); 9 | -------------------------------------------------------------------------------- /watchr-docs.rb: -------------------------------------------------------------------------------- 1 | # config file for watchr http://github.com/mynyml/watchr 2 | # install: gem install watchr 3 | # run: watch watchr-docs.rb 4 | 5 | watch( '^src/|^docs/' ) do 6 | system 'echo "\n\ndoc run started @ `date`"; node docs/src/gen-docs.js' 7 | end 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | angularjs.netrc 3 | jstd.log 4 | .DS_Store 5 | gen_docs.disable 6 | test.disable 7 | regression/temp*.html 8 | performance/temp*.html 9 | .idea/workspace.xml 10 | *~ 11 | angular.js.tmproj 12 | node_modules 13 | angular.xcodeproj 14 | .idea 15 | -------------------------------------------------------------------------------- /i18n/src/util.js: -------------------------------------------------------------------------------- 1 | exports.findLocaleId = function findLocaleId(str, type) { 2 | if (type === 'num') { 3 | return (str.match(/^NumberFormatSymbols_(.+)$/) || [])[1]; 4 | } else if (type == 'datetime') { 5 | return (str.match(/^DateTimeSymbols_(.+)$/) || [])[1]; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/ng/directive/directives.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | function ngDirective(directive) { 4 | if (isFunction(directive)) { 5 | directive = { 6 | link: directive 7 | } 8 | } 9 | directive.restrict = directive.restrict || 'AC'; 10 | return valueFn(directive); 11 | } 12 | -------------------------------------------------------------------------------- /src/ngScenario/output/Json.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Generates JSON output into a context. 5 | */ 6 | angular.scenario.output('json', function(context, runner, model) { 7 | model.on('RunnerEnd', function() { 8 | context.text(angular.toJson(model.value)); 9 | }); 10 | }); 11 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | 5 | before_script: 6 | - export DISPLAY=:99.0 7 | - sh -e /etc/init.d/xvfb start 8 | - npm install -g grunt-cli 9 | - grunt package 10 | - grunt webserver > /dev/null & 11 | 12 | script: 13 | - grunt test --browsers Firefox --reporters=dots 14 | -------------------------------------------------------------------------------- /docs/content/api/index.ngdoc: -------------------------------------------------------------------------------- 1 | @ngdoc overview 2 | @name API Reference 3 | @description 4 | 5 | Use the API Reference documentation when you need more information about a specific feature. Check out 6 | {@link guide/ Developer Guide} for AngularJS concepts. If you are new to AngularJS we recommend the 7 | {@link tutorial/ Tutorial}. 8 | -------------------------------------------------------------------------------- /test/ng/directive/ngCspSpec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | describe('ngCsp', function() { 4 | 5 | it('it should turn on CSP mode in $sniffer', inject(function($sniffer, $compile) { 6 | expect($sniffer.csp).toBe(false); 7 | $compile(''); 8 | expect($sniffer.csp).toBe(true); 9 | })); 10 | }); 11 | -------------------------------------------------------------------------------- /src/angular.suffix: -------------------------------------------------------------------------------- 1 | //try to bind to jquery now so that one can write angular.element().read() 2 | //but we will rebind on bootstrap again. 3 | bindJQuery(); 4 | 5 | publishExternalAPI(angular); 6 | 7 | jqLite(document).ready(function() { 8 | angularInit(document, bootstrap); 9 | }); 10 | 11 | })(window, document); 12 | -------------------------------------------------------------------------------- /src/ngMobile/mobile.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * @ngdoc overview 5 | * @name ngMobile 6 | * @description 7 | * Touch events and other mobile helpers. 8 | * Based on jQuery Mobile touch event handling (jquerymobile.com) 9 | */ 10 | 11 | // define ngMobile module 12 | var ngMobile = angular.module('ngMobile', []); 13 | 14 | -------------------------------------------------------------------------------- /test/ng/rootElementSpec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | describe('$rootElement', function() { 4 | it('should publish the bootstrap element into $rootElement', function() { 5 | var element = jqLite(''); 6 | var injector = angular.bootstrap(element); 7 | 8 | expect(injector.get('$rootElement')[0]).toBe(element[0]); 9 | 10 | dealoc(element); 11 | }); 12 | }); 13 | -------------------------------------------------------------------------------- /test/ng/directive/ngInitSpec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | describe('ngInit', function() { 4 | var element; 5 | 6 | 7 | afterEach(function() { 8 | dealoc(element); 9 | }); 10 | 11 | 12 | it("should init model", inject(function($rootScope, $compile) { 13 | element = $compile('')($rootScope); 14 | expect($rootScope.a).toEqual(123); 15 | })); 16 | }); 17 | -------------------------------------------------------------------------------- /src/ng/document.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * @ngdoc object 5 | * @name ng.$document 6 | * @requires $window 7 | * 8 | * @description 9 | * A {@link angular.element jQuery (lite)}-wrapped reference to the browser's `window.document` 10 | * element. 11 | */ 12 | function $DocumentProvider(){ 13 | this.$get = ['$window', function(window){ 14 | return jqLite(window.document); 15 | }]; 16 | } 17 | -------------------------------------------------------------------------------- /karma-modules.conf.js: -------------------------------------------------------------------------------- 1 | var angularFiles = require(__dirname + '/angularFiles.js'); 2 | 3 | files = angularFiles.mergeFiles(JASMINE, JASMINE_ADAPTER, 'jstdModules', 'angularSrcModules'); 4 | exclude = ['**/*jasmine*/**', '**/*jstd*/**']; 5 | 6 | autoWatch = true; 7 | logLevel = LOG_INFO; 8 | logColors = true; 9 | browsers = ['Chrome']; 10 | 11 | junitReporter = { 12 | outputFile: 'test_out/modules.xml', 13 | suite: 'modules' 14 | }; 15 | -------------------------------------------------------------------------------- /example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |23 | view1 | view2 | blank 24 |
25 | 26 |
20 | * // Given:
21 | * // URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby
22 | * // Route: /Chapter/:chapterId/Section/:sectionId
23 | * //
24 | * // Then
25 | * $routeParams ==> {chapterId:1, sectionId:2, search:'moby'}
26 | *
27 | */
28 | function $RouteParamsProvider() {
29 | this.$get = valueFn({});
30 | }
31 |
--------------------------------------------------------------------------------
/test/ngScenario/ScenarioSpec.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | describe("ScenarioSpec: Compilation", function() {
4 | var element;
5 |
6 | afterEach(function() {
7 | dealoc(element);
8 | });
9 |
10 |
11 | describe('compilation', function() {
12 | it("should compile dom node and return scope", inject(function($rootScope, $compile) {
13 | var node = jqLite('
9 |
10 | In the Angular implementation of MVC, the view has knowledge of both the model and the controller.
11 | The view knows about the model where two-way data-binding occurs. The view has knowledge of the
12 | controller through Angular directives, such as {@link api/ng.directive:ngController
13 | ngController} and {@link api/ng.directive:ngView ngView}, and through bindings of this form:
14 | `{{someControllerFunction()}}`. In these ways, the view can call functions in an associated
15 | controller function.
16 |
17 |
18 | ## Related Topics
19 |
20 | * {@link dev_guide.mvc About MVC in Angular}
21 | * {@link dev_guide.mvc.understanding_model Understanding the Model Component}
22 | * {@link dev_guide.mvc.understanding_controller Understanding the Controller Component}
23 |
--------------------------------------------------------------------------------
/test/ngScenario/output/jsonSpec.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | describe('angular.scenario.output.json', function() {
4 | var output, context;
5 | var runner, model, $window;
6 | var spec, step;
7 |
8 | beforeEach(function() {
9 | $window = {};
10 | context = _jQuery('');
11 | runner = new angular.scenario.testing.MockRunner();
12 | model = new angular.scenario.ObjectModel(runner);
13 | output = angular.scenario.output.json(context, runner, model);
14 | spec = {
15 | name: 'test spec',
16 | definition: {
17 | id: 10,
18 | name: 'describe'
19 | }
20 | };
21 | step = {
22 | name: 'some step',
23 | line: function() { return 'unknown:-1'; }
24 | };
25 | });
26 |
27 | it('should put json in context on RunnerEnd', function() {
28 | runner.emit('SpecBegin', spec);
29 | runner.emit('StepBegin', spec, step);
30 | runner.emit('StepEnd', spec, step);
31 | runner.emit('SpecEnd', spec);
32 | runner.emit('RunnerEnd');
33 |
34 | expect(angular.fromJson(context.html()).children['describe']
35 | .specs['test spec'].status).toEqual('success');
36 | });
37 | });
38 |
--------------------------------------------------------------------------------
/src/ng/directive/ngNonBindable.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /**
4 | * @ngdoc directive
5 | * @name ng.directive:ngNonBindable
6 | * @priority 1000
7 | *
8 | * @description
9 | * Sometimes it is necessary to write code which looks like bindings but which should be left alone
10 | * by angular. Use `ngNonBindable` to make angular ignore a chunk of HTML.
11 | *
12 | * @element ANY
13 | *
14 | * @example
15 | * In this example there are two location where a simple binding (`{{}}`) is present, but the one
16 | * wrapped in `ngNonBindable` is left alone.
17 | *
18 | * @example
19 | 28 | 29 | 30 | ... 31 | ... 32 | 33 |34 | */ 35 | 36 | var ngCspDirective = ['$sniffer', function($sniffer) { 37 | return { 38 | priority: 1000, 39 | compile: function() { 40 | $sniffer.csp = true; 41 | } 42 | }; 43 | }]; 44 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Submitting issues 2 | 3 | If you have questions about how to use AngularJS, please direct these to the 4 | [Google Group][groups] discussion list or [StackOverflow][stackoverflow]. We are 5 | also available on [IRC][irc]. 6 | 7 | ### Guidelines 8 | 9 | * Search the archive first, it's likely that your question was already answered. 10 | * A live example demonstrating your problem or question, will get an answer faster. 11 | * Create one using this [template][template] 12 | * If you get help, help others. Good karma rulez! 13 | 14 | If your issue appears to be a bug, and hasn't been reported, open a new issue. 15 | Help us to maximize the effort we can spend fixing issues and adding new 16 | features, by not reporting duplicate issues. 17 | 18 | [stackoverflow]: http://stackoverflow.com/questions/tagged/angularjs 19 | [groups]: https://groups.google.com/forum/?fromgroups#!forum/angular 20 | [irc]: http://webchat.freenode.net/?channels=angularjs&uio=d4 21 | [template]: http://plnkr.co/edit/gist:3510140 22 | 23 | ## Contributing to Source Code 24 | 25 | We'd love for you to contribute to our source code and to make AngularJS even 26 | better than it is today! 27 | 28 | Please read the [contribution guidelines][contribute] to learn about how to submit code as well as 29 | other useful info like how to build and test AngularJS code. 30 | 31 | [list]: https://groups.google.com/forum/?fromgroups#!forum/angular 32 | [contribute]: http://docs.angularjs.org/misc/contribute 33 | -------------------------------------------------------------------------------- /test/ngSanitize/filter/linkySpec.js: -------------------------------------------------------------------------------- 1 | describe('linky', function() { 2 | var linky; 3 | 4 | beforeEach(module('ngSanitize')); 5 | 6 | beforeEach(inject(function($filter){ 7 | linky = $filter('linky'); 8 | })); 9 | 10 | it('should do basic filter', function() { 11 | expect(linky("http://ab/ (http://a/)
25 |
29 | Fast just got faster with Nexus S. 30 |
31 |35 | The Next, Next Generation tablet. 36 |
37 |Total number of phones: 2
47 | 48 | 49 | # Summary 50 | 51 | This addition to your app uses static HTML to display the list. Now, let's go to {@link step_02 52 | step 2} to learn how to use AngularJS to dynamically generate the same list. 53 | 54 | 55 |' + 20 | '' + 21 | '
tweets=(TODO: display me!!!)33 | 34 | 35 | -------------------------------------------------------------------------------- /test/ng/directive/aSpec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | describe('a', function() { 4 | var element, $compile, $rootScope; 5 | 6 | 7 | beforeEach(inject(function(_$compile_, _$rootScope_) { 8 | $compile = _$compile_; 9 | $rootScope = _$rootScope_; 10 | })); 11 | 12 | 13 | afterEach(function(){ 14 | dealoc(element); 15 | }); 16 | 17 | 18 | it('should prevent default action to be executed when href is empty', function() { 19 | var orgLocation = document.location.href, 20 | preventDefaultCalled = false, 21 | event; 22 | 23 | element = $compile('empty link')($rootScope); 24 | 25 | if (msie < 9) { 26 | 27 | event = document.createEventObject(); 28 | expect(event.returnValue).not.toBeDefined(); 29 | element[0].fireEvent('onclick', event); 30 | expect(event.returnValue).toEqual(false); 31 | 32 | } else { 33 | 34 | event = document.createEvent('MouseEvent'); 35 | event.initMouseEvent( 36 | 'click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); 37 | 38 | event.preventDefaultOrg = event.preventDefault; 39 | event.preventDefault = function() { 40 | preventDefaultCalled = true; 41 | if (this.preventDefaultOrg) this.preventDefaultOrg(); 42 | }; 43 | 44 | element[0].dispatchEvent(event); 45 | 46 | expect(preventDefaultCalled).toEqual(true); 47 | } 48 | 49 | expect(document.location.href).toEqual(orgLocation); 50 | }); 51 | 52 | 53 | it('should prevent IE for changing text content when setting attribute', function() { 54 | // see issue #1949 55 | element = jqLite('hello@you'); 56 | $compile(element); 57 | element.attr('href', 'bye@me'); 58 | 59 | expect(element.text()).toBe('hello@you'); 60 | }); 61 | }); 62 | -------------------------------------------------------------------------------- /test/ngScenario/matchersSpec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | describe('angular.scenario.matchers', function () { 4 | var matchers; 5 | 6 | function expectMatcher(value, test) { 7 | delete matchers.error; 8 | delete matchers.future.value; 9 | if (value !== undefined) { 10 | matchers.future.value = value; 11 | } 12 | test(); 13 | expect(matchers.error).toBeUndefined(); 14 | } 15 | 16 | beforeEach(function() { 17 | /** 18 | * Mock up the future system wrapped around matchers. 19 | * 20 | * @see Scenario.js#angular.scenario.matcher 21 | */ 22 | matchers = { 23 | future: { name: 'test' } 24 | }; 25 | matchers.addFuture = function(name, callback) { 26 | callback(function(error) { 27 | matchers.error = error; 28 | }); 29 | }; 30 | angular.extend(matchers, angular.scenario.matcher); 31 | }); 32 | 33 | it('should handle basic matching', function() { 34 | expectMatcher(10, function() { matchers.toEqual(10); }); 35 | expectMatcher('value', function() { matchers.toBeDefined(); }); 36 | expectMatcher([1], function() { matchers.toBeTruthy(); }); 37 | expectMatcher("", function() { matchers.toBeFalsy(); }); 38 | expectMatcher(0, function() { matchers.toBeFalsy(); }); 39 | expectMatcher('foo', function() { matchers.toMatch('.o.'); }); 40 | expectMatcher(null, function() { matchers.toBeNull(); }); 41 | expectMatcher([1, 2, 3], function() { matchers.toContain(2); }); 42 | expectMatcher(3, function() { matchers.toBeLessThan(10); }); 43 | expectMatcher(3, function() { matchers.toBeGreaterThan(-5); }); 44 | }); 45 | 46 | it('should have toHaveClass matcher', function(){ 47 | var e = angular.element('
myStyle={{myStyle}}
23 |
10 | var mock, notify;
11 |
12 | beforeEach(function() {
13 | mock = {alert: jasmine.createSpy()};
14 |
15 | module(function($provide) {
16 | $provide.value('$window', mock);
17 | });
18 |
19 | inject(function($injector) {
20 | notify = $injector.get('notify');
21 | });
22 | });
23 |
24 | it('should not alert first two notifications', function() {
25 | notify('one');
26 | notify('two');
27 |
28 | expect(mock.alert).not.toHaveBeenCalled();
29 | });
30 |
31 | it('should alert all after third notification', function() {
32 | notify('one');
33 | notify('two');
34 | notify('three');
35 |
36 | expect(mock.alert).toHaveBeenCalledWith("one\ntwo\nthree");
37 | });
38 |
39 | it('should clear messages after alert', function() {
40 | notify('one');
41 | notify('two');
42 | notify('third');
43 | notify('more');
44 | notify('two');
45 | notify('third');
46 |
47 | expect(mock.alert.callCount).toEqual(2);
48 | expect(mock.alert.mostRecentCall.args).toEqual(["more\ntwo\nthird"]);
49 | });
50 |
51 |
52 |
53 | ## Related Topics
54 |
55 | * {@link dev_guide.services.understanding_services Understanding Angular Services}
56 | * {@link dev_guide.services.creating_services Creating Angular Services}
57 | * {@link dev_guide.services.managing_dependencies Managing Service Dependencies}
58 | * {@link dev_guide.services.injecting_controllers Injecting Services Into Controllers}
59 |
60 | ## Related API
61 |
62 | * {@link api/ng Angular Service API}
63 |
--------------------------------------------------------------------------------
/changelog.spec.js:
--------------------------------------------------------------------------------
1 | describe('changelog.js', function() {
2 | var ch = require('./changelog');
3 |
4 | describe('parseRawCommit', function() {
5 | it('should parse raw commit', function() {
6 | var msg = ch.parseRawCommit(
7 | '9b1aff905b638aa274a5fc8f88662df446d374bd\n' +
8 | 'feat(scope): broadcast $destroy event on scope destruction\n' +
9 | 'perf testing shows that in chrome this change adds 5-15% overhead\n' +
10 | 'when destroying 10k nested scopes where each scope has a $destroy listener\n');
11 |
12 | expect(msg.type).toBe('feat');
13 | expect(msg.hash).toBe('9b1aff905b638aa274a5fc8f88662df446d374bd');
14 | expect(msg.subject).toBe('broadcast $destroy event on scope destruction');
15 | expect(msg.body).toBe('perf testing shows that in chrome this change adds 5-15% overhead\n' +
16 | 'when destroying 10k nested scopes where each scope has a $destroy listener\n')
17 | expect(msg.component).toBe('scope');
18 | });
19 |
20 |
21 | it('should parse closed issues', function() {
22 | var msg = ch.parseRawCommit(
23 | '13f31602f396bc269076ab4d389cfd8ca94b20ba\n' +
24 | 'feat(ng-list): Allow custom separator\n' +
25 | 'bla bla bla\n\n' +
26 | 'Closes #123\nCloses #25\n');
27 |
28 | expect(msg.closes).toEqual([123, 25]);
29 | });
30 |
31 |
32 | it('should parse breaking changes', function() {
33 | var msg = ch.parseRawCommit(
34 | '13f31602f396bc269076ab4d389cfd8ca94b20ba\n' +
35 | 'feat(ng-list): Allow custom separator\n' +
36 | 'bla bla bla\n\n' +
37 | 'BREAKING CHANGE: first breaking change\nsomething else\n' +
38 | 'another line with more info\n');
39 |
40 | expect(msg.breaking).toEqual(' first breaking change\nsomething else\nanother line with more info\n');
41 | });
42 | });
43 | });
44 |
--------------------------------------------------------------------------------
/src/ng/directive/ngTransclude.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /**
4 | * @ngdoc directive
5 | * @name ng.directive:ngTransclude
6 | *
7 | * @description
8 | * Insert the transcluded DOM here.
9 | *
10 | * @element ANY
11 | *
12 | * @example
13 |
13 | Most templating systems bind data in only one direction: they merge template and model components
14 | together into a view, as illustrated in the diagram. After the merge occurs, changes to the model
15 | or related sections of the view are NOT automatically reflected in the view. Worse, any changes
16 | that the user makes to the view are not reflected in the model. This means that the developer has
17 | to write code that constantly syncs the view with the model and the model with the view.
18 |
19 | ## Data Binding in Angular Templates
20 |
21 |
22 | The way Angular templates works is different, as illustrated in the diagram. They are different
23 | because first the template (which is the uncompiled HTML along with any additional markup or
24 | directives) is compiled on the browser, and second, the compilation step produces a live view. We
25 | say live because any changes to the view are immediately reflected in the model, and any changes in
26 | the model are propagated to the view. This makes the model always the single-source-of-truth for
27 | the application state, greatly simplifying the programming model for the developer. You can think of
28 | the view as simply an instant projection of your model.
29 |
30 | Because the view is just a projection of the model, the controller is completely separated from the
31 | view and unaware of it. This makes testing a snap because it is easy to test your controller in
32 | isolation without the view and the related DOM/browser dependency.
33 |
34 |
35 | ## Related Topics
36 |
37 | * {@link scope Angular Scopes}
38 | * {@link dev_guide.templates Angular Templates}
39 |
--------------------------------------------------------------------------------
/test/loaderSpec.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | describe('module loader', function() {
4 | var window;
5 |
6 | beforeEach(function () {
7 | window = {};
8 | setupModuleLoader(window);
9 | });
10 |
11 |
12 | it('should set up namespace', function() {
13 | expect(window.angular).toBeDefined();
14 | expect(window.angular.module).toBeDefined();
15 | });
16 |
17 |
18 | it('should not override existing namespace', function() {
19 | var angular = window.angular;
20 | var module = angular.module;
21 |
22 | setupModuleLoader(window);
23 | expect(window.angular).toBe(angular);
24 | expect(window.angular.module).toBe(module);
25 | });
26 |
27 |
28 | it('should record calls', function() {
29 | var otherModule = window.angular.module('other', []);
30 | otherModule.config('otherInit');
31 |
32 | var myModule = window.angular.module('my', ['other'], 'config');
33 |
34 | expect(myModule.
35 | provider('sk', 'sv').
36 | factory('fk', 'fv').
37 | service('a', 'aa').
38 | value('k', 'v').
39 | filter('f', 'ff').
40 | directive('d', 'dd').
41 | controller('ctrl', 'ccc').
42 | config('init2').
43 | constant('abc', 123).
44 | run('runBlock')).toBe(myModule);
45 |
46 | expect(myModule.requires).toEqual(['other']);
47 | expect(myModule._invokeQueue).toEqual([
48 | ['$provide', 'constant', ['abc', 123] ],
49 | ['$injector', 'invoke', ['config'] ],
50 | ['$provide', 'provider', ['sk', 'sv'] ],
51 | ['$provide', 'factory', ['fk', 'fv'] ],
52 | ['$provide', 'service', ['a', 'aa'] ],
53 | ['$provide', 'value', ['k', 'v'] ],
54 | ['$filterProvider', 'register', ['f', 'ff'] ],
55 | ['$compileProvider', 'directive', ['d', 'dd'] ],
56 | ['$controllerProvider', 'register', ['ctrl', 'ccc']],
57 | ['$injector', 'invoke', ['init2'] ]
58 | ]);
59 | expect(myModule._runBlocks).toEqual(['runBlock']);
60 | });
61 |
62 |
63 | it('should allow module redefinition', function() {
64 | expect(window.angular.module('a', [])).not.toBe(window.angular.module('a', []));
65 | });
66 |
67 |
68 | it('should complain of no module', function() {
69 | expect(function() {
70 | window.angular.module('dontExist');
71 | }).toThrow('No module: dontExist');
72 | });
73 | });
74 |
--------------------------------------------------------------------------------
/docs/content/cookbook/index.ngdoc:
--------------------------------------------------------------------------------
1 | @ngdoc overview
2 | @name Cookbook
3 | @description
4 |
5 | Welcome to the Angular cookbook. Here we will show you typical uses of Angular by example.
6 |
7 |
8 | # Hello World
9 |
10 | {@link helloworld Hello World}: The simplest possible application that demonstrates the
11 | classic Hello World!
12 |
13 |
14 | # Basic Form
15 |
16 | {@link form Basic Form}: Displaying forms to the user for editing is the bread and butter
17 | of web applications. Angular makes forms easy through bidirectional data binding.
18 |
19 |
20 | # Advanced Form
21 |
22 | {@link advancedform Advanced Form}: Taking the form example to the next level and
23 | providing advanced features such as dirty detection, form reverting and submit disabling if
24 | validation errors exist.
25 |
26 |
27 | # Model View Controller
28 |
29 | {@link mvc MVC}: Tic-Tac-Toe: Model View Controller (MVC) is a time-tested design pattern
30 | to separate the behavior (JavaScript controller) from the presentation (HTML view). This
31 | separation aids in maintainability and testability of your project.
32 |
33 |
34 | # Multi-page App and Deep Linking
35 |
36 | {@link deeplinking Deep Linking}: An AJAX application never navigates away from the
37 | first page it loads. Instead, it changes the DOM of its single page. Eliminating full-page reloads
38 | is what makes AJAX apps responsive, but it creates a problem in that apps with a single URL
39 | prevent you from emailing links to a particular screen within your application.
40 |
41 | Deep linking tries to solve this by changing the URL anchor without reloading a page, thus
42 | allowing you to send links to specific screens in your app.
43 |
44 |
45 | # Services
46 |
47 | {@link api/ng Services}: Services are long lived objects in your applications that are
48 | available across controllers. A collection of useful services are pre-bundled with Angular but you
49 | will likely add your own. Services are initialized using dependency injection, which resolves the
50 | order of initialization. This safeguards you from the perils of global state (a common way to
51 | implement long lived objects).
52 |
53 |
54 | # External Resources
55 |
56 | {@link buzz Resources}: Web applications must be able to communicate with the external
57 | services to get and update data. Resources are the abstractions of external URLs which are
58 | specially tailored to Angular data binding.
59 |
--------------------------------------------------------------------------------
/i18n/spec/converterSpec.js:
--------------------------------------------------------------------------------
1 | var converter = require('../src/converter.js');
2 |
3 | describe("convertNumberData", function() {
4 | var convert = converter.convertNumberData,
5 | dataObj = { DECIMAL_SEP: ',',
6 | GROUP_SEP: '.',
7 | DECIMAL_PATTERN: '#,##0.###;#,##0.###-',
8 | CURRENCY_PATTERN: '\u00A4#,##0.00;\u00A4#,##0.00-',
9 | DEF_CURRENCY_CODE: 'USD' };
10 |
11 | it('should convert number object', function() {
12 | var processedData = convert(dataObj, {USD: ['x', '$', 'y']});
13 | expect(processedData.DECIMAL_SEP).toBe(',');
14 | expect(processedData.GROUP_SEP).toBe('.');
15 | expect(processedData.PATTERNS.length).toBe(2);
16 | expect(processedData.PATTERNS[0].gSize).toBe(3);
17 | expect(processedData.PATTERNS[0].negSuf).toBe('-');
18 | expect(processedData.CURRENCY_SYM).toBe('$');
19 |
20 | dataObj.DEF_CURRENCY_CODE = 'NoSuchCode';
21 | processedData = convert(dataObj, {});
22 | expect(processedData.CURRENCY_SYM).toBe('NoSuchCode');
23 | });
24 | });
25 |
26 |
27 | describe("convertDatetimeData", function() {
28 | var convert = converter.convertDatetimeData,
29 | dataObj = { MONTHS: ['Enero', 'Pebrero'],
30 | SHORTMONTHS: ['Ene', 'Peb'],
31 | WEEKDAYS: ['Linggo', 'Lunes'],
32 | SHORTWEEKDAYS: ['Lin', 'Lun'],
33 | AMPMS: ['AM', 'PM'],
34 | DATEFORMATS: ['a', 'b', 'c', 'd'],
35 | TIMEFORMATS: ['e', 'f', 'g', 'h'] };
36 |
37 | it('should convert empty datetime obj', function() {
38 | var processedData = convert(dataObj);
39 | expect(processedData.MONTH).toEqual(['Enero', 'Pebrero']);
40 | expect(processedData.SHORTMONTH).toEqual(['Ene', 'Peb']);
41 | expect(processedData.DAY).toEqual(['Linggo', 'Lunes']);
42 | expect(processedData.SHORTDAY).toEqual(['Lin', 'Lun']);
43 | expect(processedData.AMPMS).toEqual(['AM', 'PM']);
44 | expect(processedData.medium).toBe('c g');
45 | expect(processedData.short).toBe('d h');
46 | expect(processedData.fullDate).toBe('a');
47 | expect(processedData.longDate).toBe('b');
48 | expect(processedData.mediumDate).toBe('c');
49 | expect(processedData.shortDate).toBe('d');
50 | expect(processedData.mediumTime).toBe('g');
51 | expect(processedData.shortTime).toBe('h');
52 | });
53 | });
54 |
--------------------------------------------------------------------------------
/src/ngLocale/angular-locale_zh-hant.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {
4 | "DATETIME_FORMATS": {
5 | "AMPMS": {
6 | "0": "上午",
7 | "1": "下午"
8 | },
9 | "DAY": {
10 | "0": "星期日",
11 | "1": "星期一",
12 | "2": "星期二",
13 | "3": "星期三",
14 | "4": "星期四",
15 | "5": "星期五",
16 | "6": "星期六"
17 | },
18 | "MONTH": {
19 | "0": "1月",
20 | "1": "2月",
21 | "2": "3月",
22 | "3": "4月",
23 | "4": "5月",
24 | "5": "6月",
25 | "6": "7月",
26 | "7": "8月",
27 | "8": "9月",
28 | "9": "10月",
29 | "10": "11月",
30 | "11": "12月"
31 | },
32 | "SHORTDAY": {
33 | "0": "週日",
34 | "1": "週一",
35 | "2": "週二",
36 | "3": "週三",
37 | "4": "週四",
38 | "5": "週五",
39 | "6": "週六"
40 | },
41 | "SHORTMONTH": {
42 | "0": "1月",
43 | "1": "2月",
44 | "2": "3月",
45 | "3": "4月",
46 | "4": "5月",
47 | "5": "6月",
48 | "6": "7月",
49 | "7": "8月",
50 | "8": "9月",
51 | "9": "10月",
52 | "10": "11月",
53 | "11": "12月"
54 | },
55 | "fullDate": "y年M月d日EEEE",
56 | "longDate": "y年M月d日",
57 | "medium": "yyyy/M/d ah:mm:ss",
58 | "mediumDate": "yyyy/M/d",
59 | "mediumTime": "ah:mm:ss",
60 | "short": "y/M/d ah:mm",
61 | "shortDate": "y/M/d",
62 | "shortTime": "ah:mm"
63 | },
64 | "NUMBER_FORMATS": {
65 | "CURRENCY_SYM": "¥",
66 | "DECIMAL_SEP": ".",
67 | "GROUP_SEP": ",",
68 | "PATTERNS": {
69 | "0": {
70 | "gSize": 3,
71 | "lgSize": 3,
72 | "macFrac": 0,
73 | "maxFrac": 3,
74 | "minFrac": 0,
75 | "minInt": 1,
76 | "negPre": "-",
77 | "negSuf": "",
78 | "posPre": "",
79 | "posSuf": ""
80 | },
81 | "1": {
82 | "gSize": 3,
83 | "lgSize": 3,
84 | "macFrac": 0,
85 | "maxFrac": 2,
86 | "minFrac": 2,
87 | "minInt": 1,
88 | "negPre": "(\u00A4",
89 | "negSuf": ")",
90 | "posPre": "\u00A4",
91 | "posSuf": ""
92 | }
93 | }
94 | },
95 | "id": "zh-hant",
96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
97 | });
98 | }]);
--------------------------------------------------------------------------------
/src/ngLocale/angular-locale_zh-hans-hk.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {
4 | "DATETIME_FORMATS": {
5 | "AMPMS": {
6 | "0": "上午",
7 | "1": "下午"
8 | },
9 | "DAY": {
10 | "0": "星期日",
11 | "1": "星期一",
12 | "2": "星期二",
13 | "3": "星期三",
14 | "4": "星期四",
15 | "5": "星期五",
16 | "6": "星期六"
17 | },
18 | "MONTH": {
19 | "0": "一月",
20 | "1": "二月",
21 | "2": "三月",
22 | "3": "四月",
23 | "4": "五月",
24 | "5": "六月",
25 | "6": "七月",
26 | "7": "八月",
27 | "8": "九月",
28 | "9": "十月",
29 | "10": "十一月",
30 | "11": "十二月"
31 | },
32 | "SHORTDAY": {
33 | "0": "周日",
34 | "1": "周一",
35 | "2": "周二",
36 | "3": "周三",
37 | "4": "周四",
38 | "5": "周五",
39 | "6": "周六"
40 | },
41 | "SHORTMONTH": {
42 | "0": "1月",
43 | "1": "2月",
44 | "2": "3月",
45 | "3": "4月",
46 | "4": "5月",
47 | "5": "6月",
48 | "6": "7月",
49 | "7": "8月",
50 | "8": "9月",
51 | "9": "10月",
52 | "10": "11月",
53 | "11": "12月"
54 | },
55 | "fullDate": "y年M月d日EEEE",
56 | "longDate": "y年M月d日",
57 | "medium": "y年M月d日 ah:mm:ss",
58 | "mediumDate": "y年M月d日",
59 | "mediumTime": "ah:mm:ss",
60 | "short": "d/M/yy ah:mm",
61 | "shortDate": "d/M/yy",
62 | "shortTime": "ah:mm"
63 | },
64 | "NUMBER_FORMATS": {
65 | "CURRENCY_SYM": "¥",
66 | "DECIMAL_SEP": ".",
67 | "GROUP_SEP": ",",
68 | "PATTERNS": {
69 | "0": {
70 | "gSize": 3,
71 | "lgSize": 3,
72 | "macFrac": 0,
73 | "maxFrac": 3,
74 | "minFrac": 0,
75 | "minInt": 1,
76 | "negPre": "-",
77 | "negSuf": "",
78 | "posPre": "",
79 | "posSuf": ""
80 | },
81 | "1": {
82 | "gSize": 3,
83 | "lgSize": 3,
84 | "macFrac": 0,
85 | "maxFrac": 2,
86 | "minFrac": 2,
87 | "minInt": 1,
88 | "negPre": "(\u00A4",
89 | "negSuf": ")",
90 | "posPre": "\u00A4",
91 | "posSuf": ""
92 | }
93 | }
94 | },
95 | "id": "zh-hans-hk",
96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
97 | });
98 | }]);
--------------------------------------------------------------------------------
/src/ngLocale/angular-locale_zh-hans-mo.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {
4 | "DATETIME_FORMATS": {
5 | "AMPMS": {
6 | "0": "上午",
7 | "1": "下午"
8 | },
9 | "DAY": {
10 | "0": "星期日",
11 | "1": "星期一",
12 | "2": "星期二",
13 | "3": "星期三",
14 | "4": "星期四",
15 | "5": "星期五",
16 | "6": "星期六"
17 | },
18 | "MONTH": {
19 | "0": "一月",
20 | "1": "二月",
21 | "2": "三月",
22 | "3": "四月",
23 | "4": "五月",
24 | "5": "六月",
25 | "6": "七月",
26 | "7": "八月",
27 | "8": "九月",
28 | "9": "十月",
29 | "10": "十一月",
30 | "11": "十二月"
31 | },
32 | "SHORTDAY": {
33 | "0": "周日",
34 | "1": "周一",
35 | "2": "周二",
36 | "3": "周三",
37 | "4": "周四",
38 | "5": "周五",
39 | "6": "周六"
40 | },
41 | "SHORTMONTH": {
42 | "0": "1月",
43 | "1": "2月",
44 | "2": "3月",
45 | "3": "4月",
46 | "4": "5月",
47 | "5": "6月",
48 | "6": "7月",
49 | "7": "8月",
50 | "8": "9月",
51 | "9": "10月",
52 | "10": "11月",
53 | "11": "12月"
54 | },
55 | "fullDate": "y年M月d日EEEE",
56 | "longDate": "y年M月d日",
57 | "medium": "y年M月d日 ah:mm:ss",
58 | "mediumDate": "y年M月d日",
59 | "mediumTime": "ah:mm:ss",
60 | "short": "d/M/yy ah:mm",
61 | "shortDate": "d/M/yy",
62 | "shortTime": "ah:mm"
63 | },
64 | "NUMBER_FORMATS": {
65 | "CURRENCY_SYM": "¥",
66 | "DECIMAL_SEP": ".",
67 | "GROUP_SEP": ",",
68 | "PATTERNS": {
69 | "0": {
70 | "gSize": 3,
71 | "lgSize": 3,
72 | "macFrac": 0,
73 | "maxFrac": 3,
74 | "minFrac": 0,
75 | "minInt": 1,
76 | "negPre": "-",
77 | "negSuf": "",
78 | "posPre": "",
79 | "posSuf": ""
80 | },
81 | "1": {
82 | "gSize": 3,
83 | "lgSize": 3,
84 | "macFrac": 0,
85 | "maxFrac": 2,
86 | "minFrac": 2,
87 | "minInt": 1,
88 | "negPre": "(\u00A4",
89 | "negSuf": ")",
90 | "posPre": "\u00A4",
91 | "posSuf": ""
92 | }
93 | }
94 | },
95 | "id": "zh-hans-mo",
96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
97 | });
98 | }]);
--------------------------------------------------------------------------------
/src/ngLocale/angular-locale_zh-hans.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {
4 | "DATETIME_FORMATS": {
5 | "AMPMS": {
6 | "0": "上午",
7 | "1": "下午"
8 | },
9 | "DAY": {
10 | "0": "星期日",
11 | "1": "星期一",
12 | "2": "星期二",
13 | "3": "星期三",
14 | "4": "星期四",
15 | "5": "星期五",
16 | "6": "星期六"
17 | },
18 | "MONTH": {
19 | "0": "1月",
20 | "1": "2月",
21 | "2": "3月",
22 | "3": "4月",
23 | "4": "5月",
24 | "5": "6月",
25 | "6": "7月",
26 | "7": "8月",
27 | "8": "9月",
28 | "9": "10月",
29 | "10": "11月",
30 | "11": "12月"
31 | },
32 | "SHORTDAY": {
33 | "0": "周日",
34 | "1": "周一",
35 | "2": "周二",
36 | "3": "周三",
37 | "4": "周四",
38 | "5": "周五",
39 | "6": "周六"
40 | },
41 | "SHORTMONTH": {
42 | "0": "1月",
43 | "1": "2月",
44 | "2": "3月",
45 | "3": "4月",
46 | "4": "5月",
47 | "5": "6月",
48 | "6": "7月",
49 | "7": "8月",
50 | "8": "9月",
51 | "9": "10月",
52 | "10": "11月",
53 | "11": "12月"
54 | },
55 | "fullDate": "y年M月d日EEEE",
56 | "longDate": "y年M月d日",
57 | "medium": "yyyy-M-d ah:mm:ss",
58 | "mediumDate": "yyyy-M-d",
59 | "mediumTime": "ah:mm:ss",
60 | "short": "yy-M-d ah:mm",
61 | "shortDate": "yy-M-d",
62 | "shortTime": "ah:mm"
63 | },
64 | "NUMBER_FORMATS": {
65 | "CURRENCY_SYM": "¥",
66 | "DECIMAL_SEP": ".",
67 | "GROUP_SEP": ",",
68 | "PATTERNS": {
69 | "0": {
70 | "gSize": 3,
71 | "lgSize": 3,
72 | "macFrac": 0,
73 | "maxFrac": 3,
74 | "minFrac": 0,
75 | "minInt": 1,
76 | "negPre": "-",
77 | "negSuf": "",
78 | "posPre": "",
79 | "posSuf": ""
80 | },
81 | "1": {
82 | "gSize": 3,
83 | "lgSize": 3,
84 | "macFrac": 0,
85 | "maxFrac": 2,
86 | "minFrac": 2,
87 | "minInt": 1,
88 | "negPre": "(\u00A4",
89 | "negSuf": ")",
90 | "posPre": "\u00A4",
91 | "posSuf": ""
92 | }
93 | }
94 | },
95 | "id": "zh-hans",
96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
97 | });
98 | }]);
--------------------------------------------------------------------------------
/src/ngLocale/angular-locale_zh-hant-tw.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {
4 | "DATETIME_FORMATS": {
5 | "AMPMS": {
6 | "0": "上午",
7 | "1": "下午"
8 | },
9 | "DAY": {
10 | "0": "星期日",
11 | "1": "星期一",
12 | "2": "星期二",
13 | "3": "星期三",
14 | "4": "星期四",
15 | "5": "星期五",
16 | "6": "星期六"
17 | },
18 | "MONTH": {
19 | "0": "1月",
20 | "1": "2月",
21 | "2": "3月",
22 | "3": "4月",
23 | "4": "5月",
24 | "5": "6月",
25 | "6": "7月",
26 | "7": "8月",
27 | "8": "9月",
28 | "9": "10月",
29 | "10": "11月",
30 | "11": "12月"
31 | },
32 | "SHORTDAY": {
33 | "0": "週日",
34 | "1": "週一",
35 | "2": "週二",
36 | "3": "週三",
37 | "4": "週四",
38 | "5": "週五",
39 | "6": "週六"
40 | },
41 | "SHORTMONTH": {
42 | "0": "1月",
43 | "1": "2月",
44 | "2": "3月",
45 | "3": "4月",
46 | "4": "5月",
47 | "5": "6月",
48 | "6": "7月",
49 | "7": "8月",
50 | "8": "9月",
51 | "9": "10月",
52 | "10": "11月",
53 | "11": "12月"
54 | },
55 | "fullDate": "y年M月d日EEEE",
56 | "longDate": "y年M月d日",
57 | "medium": "yyyy/M/d ah:mm:ss",
58 | "mediumDate": "yyyy/M/d",
59 | "mediumTime": "ah:mm:ss",
60 | "short": "y/M/d ah:mm",
61 | "shortDate": "y/M/d",
62 | "shortTime": "ah:mm"
63 | },
64 | "NUMBER_FORMATS": {
65 | "CURRENCY_SYM": "¥",
66 | "DECIMAL_SEP": ".",
67 | "GROUP_SEP": ",",
68 | "PATTERNS": {
69 | "0": {
70 | "gSize": 3,
71 | "lgSize": 3,
72 | "macFrac": 0,
73 | "maxFrac": 3,
74 | "minFrac": 0,
75 | "minInt": 1,
76 | "negPre": "-",
77 | "negSuf": "",
78 | "posPre": "",
79 | "posSuf": ""
80 | },
81 | "1": {
82 | "gSize": 3,
83 | "lgSize": 3,
84 | "macFrac": 0,
85 | "maxFrac": 2,
86 | "minFrac": 2,
87 | "minInt": 1,
88 | "negPre": "(\u00A4",
89 | "negSuf": ")",
90 | "posPre": "\u00A4",
91 | "posSuf": ""
92 | }
93 | }
94 | },
95 | "id": "zh-hant-tw",
96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
97 | });
98 | }]);
--------------------------------------------------------------------------------
/src/ngLocale/angular-locale_zh-hans-sg.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {
4 | "DATETIME_FORMATS": {
5 | "AMPMS": {
6 | "0": "上午",
7 | "1": "下午"
8 | },
9 | "DAY": {
10 | "0": "星期日",
11 | "1": "星期一",
12 | "2": "星期二",
13 | "3": "星期三",
14 | "4": "星期四",
15 | "5": "星期五",
16 | "6": "星期六"
17 | },
18 | "MONTH": {
19 | "0": "一月",
20 | "1": "二月",
21 | "2": "三月",
22 | "3": "四月",
23 | "4": "五月",
24 | "5": "六月",
25 | "6": "七月",
26 | "7": "八月",
27 | "8": "九月",
28 | "9": "十月",
29 | "10": "十一月",
30 | "11": "十二月"
31 | },
32 | "SHORTDAY": {
33 | "0": "周日",
34 | "1": "周一",
35 | "2": "周二",
36 | "3": "周三",
37 | "4": "周四",
38 | "5": "周五",
39 | "6": "周六"
40 | },
41 | "SHORTMONTH": {
42 | "0": "1月",
43 | "1": "2月",
44 | "2": "3月",
45 | "3": "4月",
46 | "4": "5月",
47 | "5": "6月",
48 | "6": "7月",
49 | "7": "8月",
50 | "8": "9月",
51 | "9": "10月",
52 | "10": "11月",
53 | "11": "12月"
54 | },
55 | "fullDate": "y年M月d日EEEE",
56 | "longDate": "y年M月d日",
57 | "medium": "y年M月d日 ah:mm:ss",
58 | "mediumDate": "y年M月d日",
59 | "mediumTime": "ah:mm:ss",
60 | "short": "dd/MM/yy ahh:mm",
61 | "shortDate": "dd/MM/yy",
62 | "shortTime": "ahh:mm"
63 | },
64 | "NUMBER_FORMATS": {
65 | "CURRENCY_SYM": "¥",
66 | "DECIMAL_SEP": ".",
67 | "GROUP_SEP": ",",
68 | "PATTERNS": {
69 | "0": {
70 | "gSize": 3,
71 | "lgSize": 3,
72 | "macFrac": 0,
73 | "maxFrac": 3,
74 | "minFrac": 0,
75 | "minInt": 1,
76 | "negPre": "-",
77 | "negSuf": "",
78 | "posPre": "",
79 | "posSuf": ""
80 | },
81 | "1": {
82 | "gSize": 3,
83 | "lgSize": 3,
84 | "macFrac": 0,
85 | "maxFrac": 2,
86 | "minFrac": 2,
87 | "minInt": 1,
88 | "negPre": "(\u00A4",
89 | "negSuf": ")",
90 | "posPre": "\u00A4",
91 | "posSuf": ""
92 | }
93 | }
94 | },
95 | "id": "zh-hans-sg",
96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
97 | });
98 | }]);
--------------------------------------------------------------------------------
/src/ngLocale/angular-locale_zh-hant-hk.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {
4 | "DATETIME_FORMATS": {
5 | "AMPMS": {
6 | "0": "上午",
7 | "1": "下午"
8 | },
9 | "DAY": {
10 | "0": "星期日",
11 | "1": "星期一",
12 | "2": "星期二",
13 | "3": "星期三",
14 | "4": "星期四",
15 | "5": "星期五",
16 | "6": "星期六"
17 | },
18 | "MONTH": {
19 | "0": "1月",
20 | "1": "2月",
21 | "2": "3月",
22 | "3": "4月",
23 | "4": "5月",
24 | "5": "6月",
25 | "6": "7月",
26 | "7": "8月",
27 | "8": "9月",
28 | "9": "10月",
29 | "10": "11月",
30 | "11": "12月"
31 | },
32 | "SHORTDAY": {
33 | "0": "週日",
34 | "1": "週一",
35 | "2": "週二",
36 | "3": "週三",
37 | "4": "週四",
38 | "5": "週五",
39 | "6": "週六"
40 | },
41 | "SHORTMONTH": {
42 | "0": "1月",
43 | "1": "2月",
44 | "2": "3月",
45 | "3": "4月",
46 | "4": "5月",
47 | "5": "6月",
48 | "6": "7月",
49 | "7": "8月",
50 | "8": "9月",
51 | "9": "10月",
52 | "10": "11月",
53 | "11": "12月"
54 | },
55 | "fullDate": "y年M月d日EEEE",
56 | "longDate": "y年M月d日",
57 | "medium": "y年M月d日 ahh:mm:ss",
58 | "mediumDate": "y年M月d日",
59 | "mediumTime": "ahh:mm:ss",
60 | "short": "yy年M月d日 ah:mm",
61 | "shortDate": "yy年M月d日",
62 | "shortTime": "ah:mm"
63 | },
64 | "NUMBER_FORMATS": {
65 | "CURRENCY_SYM": "¥",
66 | "DECIMAL_SEP": ".",
67 | "GROUP_SEP": ",",
68 | "PATTERNS": {
69 | "0": {
70 | "gSize": 3,
71 | "lgSize": 3,
72 | "macFrac": 0,
73 | "maxFrac": 3,
74 | "minFrac": 0,
75 | "minInt": 1,
76 | "negPre": "-",
77 | "negSuf": "",
78 | "posPre": "",
79 | "posSuf": ""
80 | },
81 | "1": {
82 | "gSize": 3,
83 | "lgSize": 3,
84 | "macFrac": 0,
85 | "maxFrac": 2,
86 | "minFrac": 2,
87 | "minInt": 1,
88 | "negPre": "(\u00A4",
89 | "negSuf": ")",
90 | "posPre": "\u00A4",
91 | "posSuf": ""
92 | }
93 | }
94 | },
95 | "id": "zh-hant-hk",
96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
97 | });
98 | }]);
--------------------------------------------------------------------------------
/src/ngLocale/angular-locale_zh-hant-mo.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {
4 | "DATETIME_FORMATS": {
5 | "AMPMS": {
6 | "0": "上午",
7 | "1": "下午"
8 | },
9 | "DAY": {
10 | "0": "星期日",
11 | "1": "星期一",
12 | "2": "星期二",
13 | "3": "星期三",
14 | "4": "星期四",
15 | "5": "星期五",
16 | "6": "星期六"
17 | },
18 | "MONTH": {
19 | "0": "1月",
20 | "1": "2月",
21 | "2": "3月",
22 | "3": "4月",
23 | "4": "5月",
24 | "5": "6月",
25 | "6": "7月",
26 | "7": "8月",
27 | "8": "9月",
28 | "9": "10月",
29 | "10": "11月",
30 | "11": "12月"
31 | },
32 | "SHORTDAY": {
33 | "0": "週日",
34 | "1": "週一",
35 | "2": "週二",
36 | "3": "週三",
37 | "4": "週四",
38 | "5": "週五",
39 | "6": "週六"
40 | },
41 | "SHORTMONTH": {
42 | "0": "1月",
43 | "1": "2月",
44 | "2": "3月",
45 | "3": "4月",
46 | "4": "5月",
47 | "5": "6月",
48 | "6": "7月",
49 | "7": "8月",
50 | "8": "9月",
51 | "9": "10月",
52 | "10": "11月",
53 | "11": "12月"
54 | },
55 | "fullDate": "y年MM月dd日EEEE",
56 | "longDate": "y年MM月dd日",
57 | "medium": "y年M月d日 ahh:mm:ss",
58 | "mediumDate": "y年M月d日",
59 | "mediumTime": "ahh:mm:ss",
60 | "short": "yy年M月d日 ah:mm",
61 | "shortDate": "yy年M月d日",
62 | "shortTime": "ah:mm"
63 | },
64 | "NUMBER_FORMATS": {
65 | "CURRENCY_SYM": "¥",
66 | "DECIMAL_SEP": ".",
67 | "GROUP_SEP": ",",
68 | "PATTERNS": {
69 | "0": {
70 | "gSize": 3,
71 | "lgSize": 3,
72 | "macFrac": 0,
73 | "maxFrac": 3,
74 | "minFrac": 0,
75 | "minInt": 1,
76 | "negPre": "-",
77 | "negSuf": "",
78 | "posPre": "",
79 | "posSuf": ""
80 | },
81 | "1": {
82 | "gSize": 3,
83 | "lgSize": 3,
84 | "macFrac": 0,
85 | "maxFrac": 2,
86 | "minFrac": 2,
87 | "minInt": 1,
88 | "negPre": "(\u00A4",
89 | "negSuf": ")",
90 | "posPre": "\u00A4",
91 | "posSuf": ""
92 | }
93 | }
94 | },
95 | "id": "zh-hant-mo",
96 | "pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
97 | });
98 | }]);
--------------------------------------------------------------------------------