From 6c4d2a0f9931fa49bee67a1472751a004a09982a Mon Sep 17 00:00:00 2001 From: Tobin Skinner Date: Tue, 15 Oct 2013 16:26:12 -0400 Subject: [PATCH 01/62] Setting up new LingSync spreadsheet site. --- public/css/lingsync.less | 242 + public/img/features.png | Bin 76506 -> 80170 bytes public/img/features.psd | Bin 0 -> 391804 bytes public/{ => img}/icon128.png | Bin public/{ => img}/icon16.png | Bin public/{ => img}/icon48.png | Bin public/img/lingsync_logo.png | Bin 0 -> 12050 bytes public/img/lingsync_logo_big.png | Bin 0 -> 32118 bytes public/img/lingsync_logo_big.psd | Bin 0 -> 191817 bytes public/img/revitalize.png | Bin 82865 -> 77520 bytes public/img/revitalize.psd | Bin 0 -> 316993 bytes public/img/search.png | Bin 61527 -> 57798 bytes public/img/search.psd | Bin 0 -> 252123 bytes public/img/share.png | Bin 43934 -> 40377 bytes public/img/share_opaque.psd | Bin 0 -> 205111 bytes public/index.html | 73 +- public/js/app.js | 27 + public/libs/angular/angular.js | 16876 ++++++++++++++++ public/libs/less-1.4.1.min.js | 11 + public/manifest.json | 2 +- .../bootstrap/css/bootstrap-responsive.css | 0 .../css/bootstrap-responsive.min.css | 0 public/{ => old}/bootstrap/css/bootstrap.css | 0 .../{ => old}/bootstrap/css/bootstrap.min.css | 0 .../img/glyphicons-halflings-white.png | Bin .../bootstrap/img/glyphicons-halflings.png | Bin .../{ => old}/bootstrap/js/bootstrap-alert.js | 0 .../bootstrap/js/bootstrap-button.js | 0 .../bootstrap/js/bootstrap-carousel.js | 0 .../bootstrap/js/bootstrap-collapse.js | 0 .../bootstrap/js/bootstrap-dropdown.js | 0 .../{ => old}/bootstrap/js/bootstrap-modal.js | 0 .../bootstrap/js/bootstrap-popover.js | 0 .../bootstrap/js/bootstrap-scrollspy.js | 0 .../{ => old}/bootstrap/js/bootstrap-tab.js | 0 .../bootstrap/js/bootstrap-tooltip.js | 0 .../bootstrap/js/bootstrap-transition.js | 0 .../bootstrap/js/bootstrap-typeahead.js | 0 public/{ => old}/bootstrap/js/bootstrap.js | 0 .../{ => old}/bootstrap/js/bootstrap.min.js | 0 public/{ => old}/css/LingSync.css | 0 public/{ => old}/css/font-awesome.min.css | 0 public/{ => old}/dev.html | 0 public/{ => old}/font/FontAwesome.otf | Bin public/{ => old}/font/fontawesome-webfont.eot | Bin public/{ => old}/font/fontawesome-webfont.svg | 0 public/{ => old}/font/fontawesome-webfont.ttf | Bin .../{ => old}/font/fontawesome-webfont.woff | Bin public/old/icon128.png | Bin 0 -> 26318 bytes public/old/icon16.png | Bin 0 -> 3594 bytes public/old/icon48.png | Bin 0 -> 8260 bytes .../images/EntityRelationDiagram.jpeg | Bin public/{ => old}/images/advancedSearch.jpeg | Bin public/{ => old}/images/allEntries.png | Bin .../images/authentication_sequence.jpg | Bin ...onfidential_datum_descryption_sequence.jpg | Bin public/{ => old}/images/cornerButtons.png | Bin public/{ => old}/images/dashboard.jpeg | Bin public/{ => old}/images/dataDropdown.jpeg | Bin public/{ => old}/images/dataEntrySD.jpeg | Bin public/{ => old}/images/datumMenu.jpeg | Bin public/{ => old}/images/datumPreferences.jpeg | Bin public/{ => old}/images/datumView.jpeg | Bin .../images/devblog/LL1Welcome_UnitChoice.jpg | Bin public/{ => old}/images/devblog/LL2Lesson.jpg | Bin .../images/devblog/LL2LessonIntro.jpg | Bin .../{ => old}/images/devblog/LL3Dialogue.jpg | Bin .../{ => old}/images/devblog/LL4Exercise.jpg | Bin .../images/devblog/LL5VocabChoice.jpg | Bin public/{ => old}/images/devblog/LL6Vocab.jpg | Bin .../images/entityRelationDiagram.jpg | Bin public/{ => old}/images/exportCVS.png | Bin public/{ => old}/images/fullScreenArrows.png | Bin public/{ => old}/images/ifield_goes_https.png | Bin public/{ => old}/images/importSD.jpeg | Bin public/{ => old}/images/ipaKeyboard.jpeg | Bin public/{ => old}/images/latex.png | Bin public/{ => old}/images/listView.jpeg | Bin public/{ => old}/images/navigation.jpeg | Bin .../{ => old}/images/new_user_storyboard.jpg | Bin public/{ => old}/images/newsFeed.jpeg | Bin public/{ => old}/images/pageLoad.jpeg | Bin public/{ => old}/images/redsoil.jpg | Bin public/{ => old}/images/search.jpeg | Bin public/{ => old}/images/team_at_work.jpg | Bin public/{ => old}/images/userPref.jpeg | Bin ...e_design_gimp-main_dashboard_dark_skin.png | Bin ...e_design_gimp-main_dashboard_leaf_skin.png | Bin ..._design_gimp-main_dashboard_light_skin.png | Bin ..._design_gimp-main_dashboard_llama_skin.png | Bin .../images/user_interface_design_gimp.png | Bin ...r_interface_design_gimp_less_cluttered.png | Bin public/{ => old}/images/wrench.png | Bin public/{ => old}/img/bground.psd | Bin public/old/img/features.png | Bin 0 -> 76506 bytes public/{ => old}/img/features_opaque.png | Bin .../img/home_menu_images/features.jpeg | Bin .../img/home_menu_images/features.psd | Bin .../menu_image_active_border.psd | Bin .../img/home_menu_images/refresh.jpeg | Bin .../img/home_menu_images/revitalize.jpg | Bin .../img/home_menu_images/revitalize.psd | Bin .../{ => old}/img/home_menu_images/search.psd | Bin .../img/home_menu_images/search1.jpeg | Bin .../{ => old}/img/home_menu_images/share.html | 0 .../{ => old}/img/home_menu_images/share.jpeg | Bin .../{ => old}/img/home_menu_images/share.psd | Bin .../{ => old}/img/home_menu_images/test.psd | Bin .../{ => old}/img/home_menu_images/video.jpeg | Bin .../{ => old}/img/home_menu_images/video.psd | Bin public/{ => old}/img/icon128_dev.png | Bin public/{ => old}/img/lingsync-logo.png | Bin public/{ => old}/img/lingsync.png | Bin public/{ => old}/img/lingsync_transparent.png | Bin public/{ => old}/img/list_bullet.gif | Bin public/{ => old}/img/loading-spinner.gif | Bin .../img/menu_image_active_border.png | Bin .../img/menu_image_active_border_test.png | Bin public/{ => old}/img/revitalize.jpg | Bin public/old/img/revitalize.png | Bin 0 -> 82865 bytes public/{ => old}/img/revitalize_opaque.png | Bin public/old/img/search.png | Bin 0 -> 61527 bytes public/{ => old}/img/search_opaque.png | Bin public/old/img/share.png | Bin 0 -> 43934 bytes public/{ => old}/img/share_opaque.png | Bin public/{ => old}/img/test_background.html | 0 public/{ => old}/img/test_background.jpg | Bin public/{ => old}/img/test_background.png | Bin public/{ => old}/img/test_ball.png | Bin public/{ => old}/img/video.png | Bin public/{ => old}/img/video_opaque.png | Bin public/old/index.html | 47 + public/{ => old}/js/LingSync.js | 0 public/{ => old}/js/LingSyncModule.js | 0 .../{ => old}/js/LingSyncWebsiteController.js | 0 public/{ => old}/js/angular.js | 0 public/{ => old}/js/jquery.js | 0 public/{ => old}/libs/analytics.js | 0 public/{ => old}/libs/jquery.js | 0 public/old/manifest.json | 19 + public/old/partials/home.html | 139 + public/{ => old}/partials/home_temp.html | 0 public/{ => old}/partials/people.html | 0 public/{ => old}/partials/projects.html | 0 public/{ => old}/partials/technology.html | 0 public/{ => old}/partials/tutorials.html | 0 public/{ => old}/privacy.html | 0 public/{ => old}/slides/20120924.odp | Bin .../{ => old}/slides/FieldDB_Architecture.png | Bin public/{ => old}/slides/bamboo_garden.jpg | Bin public/{ => old}/slides/couchdb_mapreduce.png | Bin public/{ => old}/slides/couchdb_versioned.png | Bin public/{ => old}/slides/dashboard.png | Bin public/{ => old}/slides/font-awesome.css | 0 .../{ => old}/slides/font_awesome/.gitignore | 0 .../font_awesome/FontAwesome-Vectors.pdf | Bin .../slides/font_awesome/FontAwesome.ttf | Bin .../{ => old}/slides/font_awesome/README.md | 0 .../font_awesome/css/font-awesome-ie7.css | 0 .../slides/font_awesome/css/font-awesome.css | 0 .../font_awesome/font/fontawesome-webfont.eot | Bin .../font_awesome/font/fontawesome-webfont.svg | 0 .../font_awesome/font/fontawesome-webfont.ttf | Bin .../font/fontawesome-webfont.woff | Bin .../font_awesome/less/font-awesome.less | 0 .../font_awesome/sass/font-awesome.sass | 0 .../font_awesome/sass/font-awesome.scss | 0 public/{ => old}/slides/futon_json.png | Bin public/{ => old}/slides/indexedDB_pouchDB.png | Bin .../{ => old}/slides/offline_databases.html | 0 .../{ => old}/slides/power_user_friendly.png | Bin public/{ => old}/slides/shells/embedder.html | 0 public/{ => old}/slides/shells/onstage.html | 0 .../webimages/ProximaNova-Regular.otf | Bin .../webimages/ProximaNova-Semibold.otf | Bin public/{ => old}/webimages/all.js | 0 public/{ => old}/webimages/arrowleft.png | Bin public/{ => old}/webimages/arrowright.png | Bin .../{ => old}/webimages/background_body.png | Bin public/{ => old}/webimages/bootstrap-tab.js | 0 public/{ => old}/webimages/bootstrap.min.css | 0 public/{ => old}/webimages/bootstrap.min.js | 0 public/{ => old}/webimages/bullets.png | Bin public/{ => old}/webimages/compiled.css | 0 .../webimages/divider-from-bottom.png | Bin public/{ => old}/webimages/event.js | 0 public/{ => old}/webimages/image1.png | Bin public/{ => old}/webimages/image2.png | Bin public/{ => old}/webimages/image3.png | Bin public/{ => old}/webimages/image4.png | Bin public/{ => old}/webimages/jquery.js | 0 public/{ => old}/webimages/logo-top.png | Bin .../{ => old}/webimages/mulitple_devices.png | Bin public/{ => old}/webimages/shine-teaser.jpg | Bin public/partials/home.html | 170 +- 195 files changed, 17424 insertions(+), 182 deletions(-) create mode 100644 public/css/lingsync.less create mode 100644 public/img/features.psd rename public/{ => img}/icon128.png (100%) rename public/{ => img}/icon16.png (100%) rename public/{ => img}/icon48.png (100%) create mode 100644 public/img/lingsync_logo.png create mode 100644 public/img/lingsync_logo_big.png create mode 100644 public/img/lingsync_logo_big.psd create mode 100644 public/img/revitalize.psd create mode 100644 public/img/search.psd create mode 100644 public/img/share_opaque.psd create mode 100644 public/js/app.js create mode 100644 public/libs/angular/angular.js create mode 100644 public/libs/less-1.4.1.min.js rename public/{ => old}/bootstrap/css/bootstrap-responsive.css (100%) rename public/{ => old}/bootstrap/css/bootstrap-responsive.min.css (100%) rename public/{ => old}/bootstrap/css/bootstrap.css (100%) rename public/{ => old}/bootstrap/css/bootstrap.min.css (100%) rename public/{ => old}/bootstrap/img/glyphicons-halflings-white.png (100%) rename public/{ => old}/bootstrap/img/glyphicons-halflings.png (100%) rename public/{ => old}/bootstrap/js/bootstrap-alert.js (100%) rename public/{ => old}/bootstrap/js/bootstrap-button.js (100%) rename public/{ => old}/bootstrap/js/bootstrap-carousel.js (100%) rename public/{ => old}/bootstrap/js/bootstrap-collapse.js (100%) rename public/{ => old}/bootstrap/js/bootstrap-dropdown.js (100%) rename public/{ => old}/bootstrap/js/bootstrap-modal.js (100%) rename public/{ => old}/bootstrap/js/bootstrap-popover.js (100%) rename public/{ => old}/bootstrap/js/bootstrap-scrollspy.js (100%) rename public/{ => old}/bootstrap/js/bootstrap-tab.js (100%) rename public/{ => old}/bootstrap/js/bootstrap-tooltip.js (100%) rename public/{ => old}/bootstrap/js/bootstrap-transition.js (100%) rename public/{ => old}/bootstrap/js/bootstrap-typeahead.js (100%) rename public/{ => old}/bootstrap/js/bootstrap.js (100%) rename public/{ => old}/bootstrap/js/bootstrap.min.js (100%) rename public/{ => old}/css/LingSync.css (100%) rename public/{ => old}/css/font-awesome.min.css (100%) rename public/{ => old}/dev.html (100%) rename public/{ => old}/font/FontAwesome.otf (100%) rename public/{ => old}/font/fontawesome-webfont.eot (100%) rename public/{ => old}/font/fontawesome-webfont.svg (100%) rename public/{ => old}/font/fontawesome-webfont.ttf (100%) rename public/{ => old}/font/fontawesome-webfont.woff (100%) create mode 100644 public/old/icon128.png create mode 100644 public/old/icon16.png create mode 100644 public/old/icon48.png rename public/{ => old}/images/EntityRelationDiagram.jpeg (100%) rename public/{ => old}/images/advancedSearch.jpeg (100%) rename public/{ => old}/images/allEntries.png (100%) rename public/{ => old}/images/authentication_sequence.jpg (100%) rename public/{ => old}/images/confidential_datum_descryption_sequence.jpg (100%) rename public/{ => old}/images/cornerButtons.png (100%) rename public/{ => old}/images/dashboard.jpeg (100%) rename public/{ => old}/images/dataDropdown.jpeg (100%) rename public/{ => old}/images/dataEntrySD.jpeg (100%) rename public/{ => old}/images/datumMenu.jpeg (100%) rename public/{ => old}/images/datumPreferences.jpeg (100%) rename public/{ => old}/images/datumView.jpeg (100%) rename public/{ => old}/images/devblog/LL1Welcome_UnitChoice.jpg (100%) rename public/{ => old}/images/devblog/LL2Lesson.jpg (100%) rename public/{ => old}/images/devblog/LL2LessonIntro.jpg (100%) rename public/{ => old}/images/devblog/LL3Dialogue.jpg (100%) rename public/{ => old}/images/devblog/LL4Exercise.jpg (100%) rename public/{ => old}/images/devblog/LL5VocabChoice.jpg (100%) rename public/{ => old}/images/devblog/LL6Vocab.jpg (100%) rename public/{ => old}/images/entityRelationDiagram.jpg (100%) rename public/{ => old}/images/exportCVS.png (100%) rename public/{ => old}/images/fullScreenArrows.png (100%) rename public/{ => old}/images/ifield_goes_https.png (100%) rename public/{ => old}/images/importSD.jpeg (100%) rename public/{ => old}/images/ipaKeyboard.jpeg (100%) rename public/{ => old}/images/latex.png (100%) rename public/{ => old}/images/listView.jpeg (100%) rename public/{ => old}/images/navigation.jpeg (100%) rename public/{ => old}/images/new_user_storyboard.jpg (100%) rename public/{ => old}/images/newsFeed.jpeg (100%) rename public/{ => old}/images/pageLoad.jpeg (100%) rename public/{ => old}/images/redsoil.jpg (100%) rename public/{ => old}/images/search.jpeg (100%) rename public/{ => old}/images/team_at_work.jpg (100%) rename public/{ => old}/images/userPref.jpeg (100%) rename public/{ => old}/images/user_interface_design_gimp-main_dashboard_dark_skin.png (100%) rename public/{ => old}/images/user_interface_design_gimp-main_dashboard_leaf_skin.png (100%) rename public/{ => old}/images/user_interface_design_gimp-main_dashboard_light_skin.png (100%) rename public/{ => old}/images/user_interface_design_gimp-main_dashboard_llama_skin.png (100%) rename public/{ => old}/images/user_interface_design_gimp.png (100%) rename public/{ => old}/images/user_interface_design_gimp_less_cluttered.png (100%) rename public/{ => old}/images/wrench.png (100%) rename public/{ => old}/img/bground.psd (100%) create mode 100644 public/old/img/features.png rename public/{ => old}/img/features_opaque.png (100%) rename public/{ => old}/img/home_menu_images/features.jpeg (100%) rename public/{ => old}/img/home_menu_images/features.psd (100%) rename public/{ => old}/img/home_menu_images/menu_image_active_border.psd (100%) rename public/{ => old}/img/home_menu_images/refresh.jpeg (100%) rename public/{ => old}/img/home_menu_images/revitalize.jpg (100%) rename public/{ => old}/img/home_menu_images/revitalize.psd (100%) rename public/{ => old}/img/home_menu_images/search.psd (100%) rename public/{ => old}/img/home_menu_images/search1.jpeg (100%) rename public/{ => old}/img/home_menu_images/share.html (100%) rename public/{ => old}/img/home_menu_images/share.jpeg (100%) rename public/{ => old}/img/home_menu_images/share.psd (100%) rename public/{ => old}/img/home_menu_images/test.psd (100%) rename public/{ => old}/img/home_menu_images/video.jpeg (100%) rename public/{ => old}/img/home_menu_images/video.psd (100%) rename public/{ => old}/img/icon128_dev.png (100%) rename public/{ => old}/img/lingsync-logo.png (100%) rename public/{ => old}/img/lingsync.png (100%) rename public/{ => old}/img/lingsync_transparent.png (100%) rename public/{ => old}/img/list_bullet.gif (100%) rename public/{ => old}/img/loading-spinner.gif (100%) rename public/{ => old}/img/menu_image_active_border.png (100%) rename public/{ => old}/img/menu_image_active_border_test.png (100%) rename public/{ => old}/img/revitalize.jpg (100%) create mode 100644 public/old/img/revitalize.png rename public/{ => old}/img/revitalize_opaque.png (100%) create mode 100644 public/old/img/search.png rename public/{ => old}/img/search_opaque.png (100%) create mode 100644 public/old/img/share.png rename public/{ => old}/img/share_opaque.png (100%) rename public/{ => old}/img/test_background.html (100%) rename public/{ => old}/img/test_background.jpg (100%) rename public/{ => old}/img/test_background.png (100%) rename public/{ => old}/img/test_ball.png (100%) rename public/{ => old}/img/video.png (100%) rename public/{ => old}/img/video_opaque.png (100%) create mode 100644 public/old/index.html rename public/{ => old}/js/LingSync.js (100%) rename public/{ => old}/js/LingSyncModule.js (100%) rename public/{ => old}/js/LingSyncWebsiteController.js (100%) rename public/{ => old}/js/angular.js (100%) rename public/{ => old}/js/jquery.js (100%) rename public/{ => old}/libs/analytics.js (100%) rename public/{ => old}/libs/jquery.js (100%) create mode 100644 public/old/manifest.json create mode 100644 public/old/partials/home.html rename public/{ => old}/partials/home_temp.html (100%) rename public/{ => old}/partials/people.html (100%) rename public/{ => old}/partials/projects.html (100%) rename public/{ => old}/partials/technology.html (100%) rename public/{ => old}/partials/tutorials.html (100%) rename public/{ => old}/privacy.html (100%) rename public/{ => old}/slides/20120924.odp (100%) rename public/{ => old}/slides/FieldDB_Architecture.png (100%) rename public/{ => old}/slides/bamboo_garden.jpg (100%) rename public/{ => old}/slides/couchdb_mapreduce.png (100%) rename public/{ => old}/slides/couchdb_versioned.png (100%) rename public/{ => old}/slides/dashboard.png (100%) rename public/{ => old}/slides/font-awesome.css (100%) rename public/{ => old}/slides/font_awesome/.gitignore (100%) rename public/{ => old}/slides/font_awesome/FontAwesome-Vectors.pdf (100%) rename public/{ => old}/slides/font_awesome/FontAwesome.ttf (100%) rename public/{ => old}/slides/font_awesome/README.md (100%) rename public/{ => old}/slides/font_awesome/css/font-awesome-ie7.css (100%) rename public/{ => old}/slides/font_awesome/css/font-awesome.css (100%) rename public/{ => old}/slides/font_awesome/font/fontawesome-webfont.eot (100%) rename public/{ => old}/slides/font_awesome/font/fontawesome-webfont.svg (100%) rename public/{ => old}/slides/font_awesome/font/fontawesome-webfont.ttf (100%) rename public/{ => old}/slides/font_awesome/font/fontawesome-webfont.woff (100%) rename public/{ => old}/slides/font_awesome/less/font-awesome.less (100%) rename public/{ => old}/slides/font_awesome/sass/font-awesome.sass (100%) rename public/{ => old}/slides/font_awesome/sass/font-awesome.scss (100%) rename public/{ => old}/slides/futon_json.png (100%) rename public/{ => old}/slides/indexedDB_pouchDB.png (100%) rename public/{ => old}/slides/offline_databases.html (100%) rename public/{ => old}/slides/power_user_friendly.png (100%) rename public/{ => old}/slides/shells/embedder.html (100%) rename public/{ => old}/slides/shells/onstage.html (100%) rename public/{ => old}/webimages/ProximaNova-Regular.otf (100%) rename public/{ => old}/webimages/ProximaNova-Semibold.otf (100%) rename public/{ => old}/webimages/all.js (100%) rename public/{ => old}/webimages/arrowleft.png (100%) rename public/{ => old}/webimages/arrowright.png (100%) rename public/{ => old}/webimages/background_body.png (100%) rename public/{ => old}/webimages/bootstrap-tab.js (100%) rename public/{ => old}/webimages/bootstrap.min.css (100%) rename public/{ => old}/webimages/bootstrap.min.js (100%) rename public/{ => old}/webimages/bullets.png (100%) rename public/{ => old}/webimages/compiled.css (100%) rename public/{ => old}/webimages/divider-from-bottom.png (100%) rename public/{ => old}/webimages/event.js (100%) rename public/{ => old}/webimages/image1.png (100%) rename public/{ => old}/webimages/image2.png (100%) rename public/{ => old}/webimages/image3.png (100%) rename public/{ => old}/webimages/image4.png (100%) rename public/{ => old}/webimages/jquery.js (100%) rename public/{ => old}/webimages/logo-top.png (100%) rename public/{ => old}/webimages/mulitple_devices.png (100%) rename public/{ => old}/webimages/shine-teaser.jpg (100%) diff --git a/public/css/lingsync.less b/public/css/lingsync.less new file mode 100644 index 0000000..6fae785 --- /dev/null +++ b/public/css/lingsync.less @@ -0,0 +1,242 @@ +/* All content HTML files are contained in the partials folder */ + + +/* Change the following values to alter the color scheme */ +@pagebordercolor: #2433A7; +@mainbgcolor: #FFFFFF; +@darkestcolor: #5D5E5E; +@darkcolor: #6D8CA0; +@mediumcolor: #F1F0FF; +@lightcolor: #FCFCFC; + +/* Change the following value to alter the text color */ +@darktextcolor: #000000; +@lighttextcolor: #FFFFFF; + +/* Change the following value to alter the border color */ +@bordercolor: #000000; + +@pagemargin: 50px; + +@navfont: 'Numans', sans-serif; +@contentfont: 'Quattrocento', sans-serif; + + +body { + background-color: @mainbgcolor; + color: @darktextcolor; + height: 100%; + overflow: hidden; +} + +.margin_container { + position: relative; + margin-left: @pagemargin; + margin-right: @pagemargin; +} + +.top_page_border { + position: absolute; + top: 0; + right: 0; + left: 0; + height: 10px; + background-color: @pagebordercolor; + border-bottom: 2px solid #000000; +} + +.title_bar { + height: 75px; + margin-top: 20px; +} + +.logo_image { + float: left; + height: 100%; +} + +.lingsync_link { + height: 100%; + float: right; + display: table; +} + +.lingsync_link a { + display: table-cell; + vertical-align: middle; + text-decoration: none; + font-weight: 700; + font-size: 24px; + font-family: @navfont; +} + + +.lingsync_link a:link {color:@pagebordercolor;} +.lingsync_link a:visited {color:@pagebordercolor;} +.lingsync_link a:hover {color:@darkestcolor;} + +.navbar_container { + width: 100%; + margin-top: 5px; + background-color: @darkestcolor; +} + +.navbar { + padding-top: 10px; + padding-left: 50px; + height: 30px; + text-align: left; + width: 100%; + display: inline-block; + z-index: 100; +} + +.navbar span { + padding-right: 75px; + position: relative; + font-family: @navfont; + font-size: 14px; + /* text-transform: uppercase; */ + font-weight: 700; +} + +.navbar a { + text-decoration: none; +} + +.navbar a:link {color:@mediumcolor;} +.navbar a:visited {color:@mediumcolor;} +.navbar a:hover {color:@pagebordercolor;} + +.dropdown { + position: absolute; + top: 20px; + left: 0; + padding: 10px; + width: 100%; + border-radius: 2px; + text-align: left; + background-color: @darkestcolor; + border: 1px solid @bordercolor; + z-index: 1000; +} + +.content_div { + position: absolute; + color: @lightcolor; + padding: 10px; + left: 0; + right: 0; + top: 145px; + min-height: 400px; + text-align: left; + font-family: @contentfont; + background-color: @darkcolor; +} + +.content_div img { + height: 40px; +} + +.main_body_bottom_bar_container { + position: fixed; + bottom: 0; + left: 0; + right: 0; + height: 20px; + background-color: @pagebordercolor; + z-index: 1000; + border-top: 2px solid #000000; +} + +.main_body_bottom_bar { + position: absolute; + bottom: 10px; + right: @pagemargin; + left: @pagemargin; + text-align: center; + min-height: 100px; + background-color: @mediumcolor; + box-shadow: 0px 0px 10px @darkestcolor; + border-radius: 5px; +} + +.nav_image_container { + display: inline-block; + width: 20%; + padding-top: 15px; +} + +.nav_image_container:hover { + cursor: pointer; + color: @pagebordercolor; +} + +.nav_image { + height: 100px; + padding-left: 25px; +} + +.nav_image img { + height: 60px; +} + +.nav_image span { + font-family: @navfont; + font-size: 16px; + font-weight: 700; +} + + +/* ANIMATIONS */ + +.collapse-hide, .collapse-show { + -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) .5s; + -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) .5s; + -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) .5s; + transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) .5s; +} + +.collapse-hide { + width: 100%; +} +.collapse-hide.collapse-hide-active { + width: 20%; +} + +.collapse-show { + width: 20%; +} +.collapse-show.collapse-show-active { + width: 100%; +} + +.fade-hide, .fade-show { + -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s; + -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s; + -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s; + transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s; +} + +.fade-hide { + opacity: 1; + left: 0px; + right: 0px; +} +.fade-hide.fade-hide-active { + opacity: 0; + left: 800; + right: -800px; +} + +.fade-show { + opacity: 0; + left: 100%; + right: -800px; +} + +.fade-show.fade-show-active { + opacity: 1; + left: 0px; + right: 0px; +} diff --git a/public/img/features.png b/public/img/features.png index 0fc047db88bb6619b8fddfd50b44ddea28327ea7..d14e79d3f40a64ee524131c5bdb0c6b8bf53b43f 100644 GIT binary patch literal 80170 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
5CUaP+I9efxs@8Sj@#W77S=t7tX{w} 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 diff --git a/public/img/features.psd b/public/img/features.psd new file mode 100644 index 0000000000000000000000000000000000000000..9a5a5545e82e4c42f5d613e49cf4dd418af17cc8 GIT binary patch literal 391804 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ðOm3CJSsEx( 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

>uN81c}#*pD-i08!bu5=SB_n- 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

TK!w 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 literal 0 HcmV?d00001 diff --git a/public/icon128.png b/public/img/icon128.png similarity index 100% rename from public/icon128.png rename to public/img/icon128.png diff --git a/public/icon16.png b/public/img/icon16.png similarity index 100% rename from public/icon16.png rename to public/img/icon16.png diff --git a/public/icon48.png b/public/img/icon48.png similarity index 100% rename from public/icon48.png rename to public/img/icon48.png diff --git a/public/img/lingsync_logo.png b/public/img/lingsync_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c556be0d2b1f9aa23535f64317dd40cf9247ab29 GIT binary patch literal 12050 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 literal 0 HcmV?d00001 diff --git a/public/img/lingsync_logo_big.png b/public/img/lingsync_logo_big.png new file mode 100644 index 0000000000000000000000000000000000000000..54c129904430ce66f4f555a133abaabc0211e412 GIT binary patch literal 32118 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 literal 0 HcmV?d00001 diff --git a/public/img/lingsync_logo_big.psd b/public/img/lingsync_logo_big.psd new file mode 100644 index 0000000000000000000000000000000000000000..3c2fec7044cd8a0123e4b1439082bbec340b1915 GIT binary patch literal 191817 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

Y{Mox4a&_& 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%0AB($)z7?9L}Q?>9DePH%24&W-oCK`Gz8|ERgO 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 MrEDzVe|zoyAB^j{*Z=?k literal 0 HcmV?d00001 diff --git a/public/img/search.png b/public/img/search.png index 9662ed863cf8756c625328b0862e290d9563d6fa..9bff2d3705e56545130ee8a08e8cc8b62a959513 100644 GIT binary patch literal 57798 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ⅇ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 literal 61527 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%0DanirgZ*r5}~2qnfug&f5muu8>Z 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 diff --git a/public/img/share_opaque.psd b/public/img/share_opaque.psd new file mode 100644 index 0000000000000000000000000000000000000000..0c25bb6bdf20bca4a32c18988500b39b37e04b49 GIT binary patch literal 205111 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�fNf3fHjE4ZR;Jx%F;od$W0`XNrmIVA-J0oL z$@SyU(Mzs#X)vNp-&uE{$jYZ^mgLiLN!gnC!e>;?axU*|tmQ zC33|w>G(@WiwxOt5ePqCyAz6(-4=Z9lh3d5y|0mR$glHLBe&wsbywagE+n_f=X6*d z1qeMBAIS-}gR{{S=E&^l&pLh3o~)k8@)P7vyc$p7x!2$S^@WR9E?@Zcy;n|??@Qtr zSVyolY)uEMpBgO8c^?%e-$NG_7&R2XwYkWK^My;aBmZ3F6UGbvKOTp-=;-lGky*I@ zxE%&ES%D=dieNG64}^#guyRoPl|21-XzmDGhMCuN_#U+16(_9IH!K#6hEQ3FR9tLa)Ht_%q_EVE_MbF3ASu;2{9RZtL0L>M~?}N zfSVX_@a;U}Hh3J*cd%dih=Ej}5o;_xbGtIA`bir&eUg}pm0k&tlB^YwA;amc!8+#^ z^0*a_np+ro8yP9CK-f@;RFI9S!_KrjNZ;`pukdvMYKwD#D4rvbCZ0+3geMU66nVkB ztZYm_suUu<7I=$eIG)}OjBqNhk2adp$ga?fuOhOWR&p zObc9}C+^QTe*k5$vk)+YWYbWk-@NmIjYJ=}zeMPLpiNHLD5tcYfKr0f0w#d>c+~5Y z%taPckRIGO+^EEj_q`r&K0s6f;XG~{lJe~EfDuV_hp3<7^jv|nx|s636>;DG$nfCC z!ZCF_z5d0d>Mb@mxoa>69UR1>!q4E}E#@!_4|h{y@I%ExqQ5&(VgMp8reVuYR$Vp> ze&e|J6Kdzk$HJ_%X91+sbA9Jj;2xb^YS0@i5gQ}}{0Ddel<8f*I1Jb7t5H$mpU+qH ze^~hQlG8p9qIX&I*z9vt9RPM;$ZPvZvZCSZNe+7^LrIRAp>sBkEO?RiDQ&Z(&=U+2 zN(x?_=H>X8i{m#_n_;L(jBVi8A-hrPC)Q*Q#?KX9tUJ`=3*&GN1<$cWM3y(7pOpG? zm`Wqp%WO6+=o6nD)JuI=J7=92Q_n(w?9_w=r&7JZR(Pg-jNlzM7L4#kDeS}8uqbc@ zFlHiP^OCSdGN!;3LMP1_D+Lje3It@LVe@440$9|5*^-9r!?bX@g6~A8Fg@e|LnxDe zDGih4ioaL!JbX&TDXFlyA8Z;w`f0Jde9RBw)B99cp%N+ysU*+@RGa;|N{*>jQ{XN! zcXO)aeb=#KXCZ11N+8ONpaEJ=ml5s7R(1=Gn|K0Nj*sMZyT9<*%N_W0QrBgKY&{89 z4_ag zWs`0MOUg=ot|P}zoOU-m8D%B1|1(lmceQIu~}5@oS8%6F_nC|{Sjk>WRhl=avA__tYqVzv8yp8q!#PLU!k ze_|C{`5AxnCzPT2OMd@d>&I_f#c6&(0hUK8<055lo}{qNQGg;FD)apf-Y+F(e#lII z%+pem<_G-S?=XwMpm@w5@b`bp{Qi(W{+F!(n)NF0EXfKof>Vq{O6-2`1u{4`j51b zRhJc)wf`fY+W&Qln|qXpMC-G2xLo*#-NFc$WBZH$_wPOZ#J;?b^54y0pLgJiN1yur z|MAPFQ4SUX2|gq!r!_O5y)e!dDB4WG(Tuq>0sl5VHI`hseaAF!eRlNs4E)<3dtcY%y$L&2V%ySA-ck+nYmnLjvMjx`HvJ3lkSci0kNX|%iy$@L(^6wSuh zy!4CjZ_Qe8u;!DW_vq96w&bqgw0XmZeNX@FU*3vy=txP#f&`mc)NACl z0A!01v@J2+_l4uTSy}53AKbfb%dUgp{_)|xGL)@*AARQF-aY#te|-PJ@9kTWRq$75 zyD4tPee-p_D$4$21nxwz)6p-E?#;^Dk+<<%-*_}X@8F|{7lpF3VDFxSLx=Vk?0@Xg zx?TCX*((nH_g8xPC@7}PPH_k;i{mRcagZO3g?kfxaANlA-~YzSReKKRZQf!vFb{6tpTBd{`VG1NjV$e++X+4q zDGjJsld&R3J)iw;!M62V_w3%8xBo0}*s}Y;!Mq)N3O23C`UjH8`2Y>s0y4F2g7mVI zpZ>4gH}2hEuybqPx4yGi#@R)rG7ER$;YxlwbwsZBaL;H4a*4wAI6LcXPyPboz@AT0sM_}YKnpR;!JfdhLB_OVy;_w5r2 zuH2iKUy#mUzi-2~r@y&p^_KtMDRoJ*k}Jr0#OvS}%nYHUv>$tF!|ua}cke3859e<} zqI;isYUh?eeDM|sK9eSt#1KJ~t&2Q&?CkfmRvr58Gds2woLGE()6OTqy>H#VKYfKV zc0?Nq$#BMbUOpvb=Dzi3`Pm!yJ@MGCor}*iy93WWnYUr{&cCSxaYR>&&jh1qLKM_| z|6lIhwR`uLtp$hnu>;Qqxo_3s;oWF_z6y#<05Auff zTmGzi0Y<%;R3=Afa5U5M=UKZ7@(T9l@7cIt~q zH*MNe;AgPg^LFjpxogk9Lr*-uZO4wCyJce*?91%mxbMJ$f^Yxs)A<{7Hx+#AnZ3RF ztM@)}ctzefFXrF|qBrR2UNRFuvNCVeZhB&H1$%bv-S_C@Pd@dHC-M&*IQ;mN&ph-0 zv-ckGab3m!_*HMK?fu^EO{=<+T+@ghC9z{WPF!Lj1ftloEh1Y+mJuZI_yO-hs0k^6 zLkdXO!Bo^j(xZVainMTLH&uBCT163k1 zXceqICB>qOOUO(y$)hKks7Qv1@G*%}RxOQ-j8&(l(Xfm%&2=IJ6H(d=|8|%|_`{1M z#VMvAfF7&{6ILy)BtD9XmRe>n$uD_$)5f*;t-5334L9mzC74R1p$#>t)R``AM8w>k zG`eg3~*9s|>i@X5z^ zeDOMyQUgkXh%g+-I-nAzn_ZC!bKfB&&oKXVR)TU)lHJVy2o-5qJtt5l=_*QVUfG{d zlQ|HSH%cz!YPzWfK|21Ee|k92C=#O-)oM7!#jqN=WWF&*V*GDm()5vOu2Wz$ zt3xh{k!Tj}AZm<%!WeIL8C5!<9rfs4DJ;vWAUp4Wr)3CiA2HU8!+E-O9xLbg@R1*< z#XHm0i5lB!F2-mvJ9OF@t=jn&qQ=1$Qmj8N4N+q&m&n@OsTsB?#{Ttsxc}lf9x`BT z2v^ELSjV4u?RJSSg_CGe4W`CrHpZAW@wX16n*9!mn^mOh1JxuLRBT47I?nlDN09P^ z;`AtM&-euHvW0O3g7WPp5_P6qhkA5Mozr2BvFRB*E^FYwr%-0FavQ4`x+68H&n{iO&8F(x{xn#Vcp~p!-}1D7`&By;vk;_N|Fi%wx}@BE1^&#uDSO%G4`CPj;(9 z=}t|M+DrmH$*nRb^#_*4!1#M0EW7KctOH^sP| z9Gi=(5_2T6vu|MHTozPyjFW-Tpk0{~6K;I0rLU_8o)mQ2IXQ@_iyDOd@*%Px4nPpU zy}zEtK#hW6WZ51LQf`hhHlB-dr`jzk7_7#sQ(NsSVX!AS1r!{JsSLM)5fvYqob2p| zuMO_-nS_rC#R1|gg?xyI2ai2{U9>A*8!Jt7YS}(?*km(kG#qb=GMG~#9t>EB^?Ee= z1MVcJfS%+qh%~twGA8o{bc*irL^>SW-Hs0S*F79#%TO?~bi1wx%p-6e&qnD@X_SNq z@FIg)onnQWV~^s#(ugfBoJ$Cv(rqJfqw8U#=Qb4K9?6O;p%A_a3dWgCj90wpa6$A)n@bIk> zNokpSg*L3k6HwY@8b_*Kp_{*(us?x07T|CUnlSi~M4IK+>6GmG&~BdKq-M3!l449w z`SKAYBSL7pzZIzwkSLc9u@ff$kgKs7v<7uJ7|_Z(jgSFK(M@kbWgDYQy(TBy;e6v8 zhT{&-m^w<`$s)DY7}iIEb2~VVG&Xrr6F<~Tsds(DBkh#iA3G(wW!*P4@%kKwk(<*@ zY-e~^6P#u<^t<@ya4Fa*GLr-Uz^H<@M`XBwd(4@|aSE}`ZM+21sy92#W)W@@-OtC| zr?g8_EMXlx!6jH(lik3%+IU1w#QIA(jmjN9Gbm%xo9$Zt9jB>GobSohBsN1Eju{j( z=`D7JW(zFRNEP$;e8!xm(9b}6fWXB;_6mlo7%t(Iu@Ie6}(ATk~D{3gbpgPm$vjTZ#%Y0{9O(b_GH8mL2fcS;P)Yi#_*;n2%>Q8 zc7cA>8iUQ{N=b1!lo1iDakX6MAVDBbW_TlGv#Dl6h*`PXXm>e`Iyo21cz%Ud=5!y8 z0T6>p{?ekPLSDxJx0H>pH%Or+;A5@kaIo}j^=Tg^Dk(ispmYO~42Y8B$d1o^E$ zI|(X=Zvi@mobQVnn`s6Cba8THs!b;rDXrP_zWin<4CA;87t4qbLS^?2jKQD@AH@VT z3qMrFNvMK`G?O?gDfQm(JWt+=L*qCs6r3F}hi~RG8kP;iFzL#Xq}#GGy$;e1iZ1je zomiH!_T?kwZ#OalKtg&vdh7p{D?)EN8_IT2SFA3JIx#^km&QeibPkhB<(?I*zTu${ z2Ix8^Xd?*g96iAg-5VjEV=+q~JrF)x>cot1N=Cm%e!vsRgmBkM+P=E5YA*r$TA6sAll5oHM92b~~%mXk>BG z@d>jx{tm}Ik>lM6D~9ffc5ryI{rA~Q5C7(=-JcQ2MWxL8f_N0*wkW~)}^2nYW$=fn1t zHc)aF)(%}llyd1a&4|yKfbxV>m*`0(`^Wquatmg4z9Ye5vl>*oj1)ttaDAMUm`w(q zTr8Gr^g5+fB+-am*J&78_S$D^k$8$WVK`tRw{(iff`{tqK7QA&3hcQ!J!cM;22XHO zXbKkW9CSLov!$lHxFo4e;#~9O{&P4xntT&@?CS30n?J)CS(r`uP)dIiET~VCvyRN{ z47bDPO3!qglu1cZtAD-w>=^9uBja!K@gv9u-%}=zFdVx`;RMJgN;H-XPlnT&>Shy} zXjk-oU#AR3q}Gg$zYV?|I^W6nKA~eop`aMN(PXkYZ7`j%>bN-lt&cE`qlg}(1U}=P z=lP-SHb$m9daV7QR$@ zlBgqTv~K`LNmwP}6Z@_Zw>!xX);-QLy4hB#H3ZrV6h}fn`wWp#_oF$zo!%7>tf%Lx1W0W;m3aU!7*S1 zE`emz09s(b>plw$jc9cL_O)!R+@%%i%<8ZXCbKTPS|pNbwQ4;?lOH>98Cel@YPm#C zra^R%`UgeUVS+x+TGJeAi`#A0E2QE`#q|%pH#7pnvfn2n7fnRxjr5%B>Vh#rd}h~= zK9{SPB+2Zz6g_(osbeXR5fvdPY5$~hV!RVZ?7o_xEly(eCZpbfRt+J2^Kyv>PNy?E z(^8=q`{Gq1nOYGqlBzkID=i~6Ej<;>pPn7%Sfj;iHPd`yr4%J9Oja$s;w!JW4uFin zr|8@Sp~L2%Jd1<=p%a}0{JCAh0gNKF;HPJ1IU$~bHG`fV=i&_tiQek8 zvP!>1mKYnScFel|F7IjVad9R_$*++r1p*b*YDS_^Y%R)b${egXQL52vG&+?O>#qA# zYv0}9)QKEx6#k1FLAuYLKDO%{v!a;@T~3xRtYaV@lak!^ll!ko#V*S{2MdF z#F?_PovNr9jltoz$fKD^b^2ZZ^}EIaa+Mw#>^idN)faC|NKTY;?(8{f;oXw3W}Dq+ z(kaBzhFNK5b;1}UiAj>HG)Yo$g-mVDGy_*;WssPyR)gGreIk>T|G@>^Eg=YgAv+Kv zD*5XXEinxLZocoy46z9e!^sm9WF}6kgcZqZ(rbuTjYd|lyJ z1e@6?jz};20P%+-7Y0XhRn{%TEuD`Sq{BaBxT*Xxi(l| z^)|PQ)hZ=PiT(tIMyryE;^Sf?*)+Swpp(WkNv4oF^m0y&iq&8qO-r^t{M4VTPV`Uu z;VE>Ye(zhazqoEmrd|u`h6QZ`CpFlw8uTi)!8-SgPq$%T1MCd;55RR9n}#laA!ZPg zX=1SFOv`WXQ8Cd9PH#)GTdc7DYciJR=;9*dl(rP;FX>qx4-O+ZnENy;rId5pOd6$9 zkJUeZVSzIkSiQxlh>w!zJn*f(!&sXmk%0*5fhym6eC<3oIWdts2LofOOBc&T zr?32ZXCFc;keY2`5_c_)`o|FFLzK@?W@3BJ_gDY<3vN-85(<@3r_^v(tjG$r4KxeV zFq*Y`P^<$)3?Yft(U=IKt=H;J&a4!DSnp(Z6|D6-t;xkn6O^+aczjRi7=npN-XQhj zU_aQoYyVT9&(Vu?M!!J~4#f=XWHQ^*@4o{vK`72vl+VkLecW52ve%VZ&pDaldB=K^#&=FNU)RH$VnuAu^Oj5$($LcQJfxF%$yE` zuv=JN2o1Jl5APDksq`|XJu4~3`oJ5=^f5|d78Eg}IRDx@k5Zw9)eS5wk5}Xrywr{u zQ^-yO5~&Fn4&&BcoWh-hzT8vui&e&WZ1155`=9|$!XSh#4*iHU8jO<$#yG|?>?D@9 z`ior9!2#!y&g)X-DvLfwoA<5vPt$Q0GS6_xJcDoJ$KHK4C0?!&$HqyZPp$r01$KXw z+QvsG@e@d%;~VPs`v%&ML%|hj6@t2!g@!F5HJb2sIQ- z*<|mrmJ?kdjHuDx-eH=WNW{6p3I-t!`y)&`fBbwl$4G51r`xTI(uCIB&c(B8g*uth zmp0%)(>L1Njf~u}lS92d19TGtr5sL}Kri7lIoj1vy^frqs2dHua^bY#+x?AMF^mXC zbBHD!bs9sF0>WZddS#SiQwRBbOpJnF5Rcx2aBDc!_QS;1+ue<;8mN~;eHcpQ@aax! z!hm>cpks2hr@wE{x92A&X{GV$Tw;8(f=j=_st>`;DG<{bCo{<+)rDSuqGt?8M#xn} z@l7HM=*A^x!y_k-&qdutACg52 zJI6@haGz)ZQBatYn(xhtjx+uEBK4i-6h^B_rNlnNYGiERZo=X3_#h%)7`V>H_y_0+ zU*zxX@{KqC=vIR!C6x^UM#~0Pqc^Zxoe_qG)o;O+Fb3$i`PjY@IGpst4xiBS=mJ$N zM6_ilq)wuBIytRYD#?2qcYT5pM}6?X0xg3+{2^yn%LBTdP0Xe45lA*|bS7&9N zbnk;pGt9@6@1tGH!6dlkLW(uLaG%J=M8}Iw&UBAUln{!wGf+KrN>i2t$4`cPFOY%F zH|BdE`L}>BP|i^Q#Aw?KYcz}~N|$1jC8%7vStjkwKIqk!OoJprdi~Gnw&e+2`hps0 z_>*G;=T4mc{jxYF$|y>)>kS!m(j<)N`URS>Q7GW$;L21+MiY-$?_#=O z);{08KxQ%Fj>NY70%sI(S~N?{CvKgA`eB>NTmow{#@lA;nVSyp<3%``1pIjSAgC5HJfZpN zHTGnMJ>Ru zo$?_h69N>@4)KGBXupb!*w9?v?KeA= zGBtK3&_Q6F!-hvc0~<*oBZpqatUAG8fGHpfTXL*y>fPVCB~qrdrMN(%(3Uu>!=i)A z7S`$+F3F%(WoR|bnr{9KfN}3V!ngT>GKL{_!3wQG>m%bmX(HXDs3{HdH`v> zXdl4fFMg!UIR4~{>!Opi05+Jgv9Umm znl5T{3OJ%e>JvphIOs0>r;pqH- z!uo-eR;8YmS{@!mEFytV099Ia0}`tL+?ny$7D=LGwMJ8l(`3{o$3>~oiK!{7wWot_%SMTt!z6`X|O%c2#FRL+%jy#&lNW8h_; zV(u|}A{b}(d~1<1R$_3uj8Q6)D!g&I!Kk(C;^i(Q_cvN2`VmL{A=&=mPChx_wt%}I_F*XFg{=tK!PmJ>7(Ox>E^x?|bzW2YeC^cTM&|#AX^6^6$M?%kj z{Nmiv!mg1!Q?y1;x*{gFpdOB0!^q?^=|2uv85muC<9?(gnH(U0dvd7X{jhS5OoGEb zRtHlPTytPBTw)O`S13*NaIRjA?#6@*)jh(C8I!I9hw#-UQix* zZEl3qt%?)rtqMr-v{bS{h1A!^Nff5}5U#_J0%Qms^PS*Fk^G427=<~BA6A}kJopGS zqEs7{Ba2=o#a_&r5>iJ879QgqQS6<2;H(9zg4RVs_Xs)PAT2;FR99je<#12u$=zQ! zF=D5hy)i|d5F=t!(!=VBV-2ZliR`XDuoVg>EnJN~avE9`WxN{0xFX4n10N;j_$cmD z@BZ6Y(%=$dfN6@;X_Tt4xza!sZw{N`b0^j}Erup)i zWJ6j;SbvnPake7C>Qoyw5B&8c-1^`)F@_-}jPxOiNADm`Z%<-mFmw5oKBQ~JDt@vH zy8L+c)A@5vSh7QEYvbhRS=Jayy4xJR`L9Q5lF$#-HQaOI+_?)qgOp}~M{GVFqVwbM z`5qiX-{B|&HmrPfDH{dP5RSH%tN}+%4BY)DAW|827|a0UYVfqUl}oZ1H9BnD)neOb zxLd@I4I&DJ4q(X=07LBDBJ+lwU9O|W8Susm6<1%AHyM!RX7~#`} zXs_<3SHE-%ljz8F8DNN#KyH|AFld;d4LHdQ#e_34vj!K9M#Uwo^aiI327U_+nDF0H z%H>!d&7n4pR?bXpj9mt-5AHQT`4Br4C^gu>4D|JM_h8>RN}Yk!G&OAh!gcC+m<;1= zi|&7+xfhqTA~7qX7zB5W38XurEG)pe@63Uh?#)VwSHhG94;+Wx2*aw`IKtU=WXrIc zOcqC4wkOr1#(^80YOuv;EmjVctTQ>nEG~6if^N<%eUdis>+hVKRwqTX5tJ+nKLZ~ z?l|bnCGALY;i`N8ZM$1mp?Vejc0m&h}EKwOJ-Bk^l?m#ea$!i z)^U1hkhhQZ9{BSQ@3BTQ@M*KdF3+muvZQ3s=HF7Tu3@A*qV!xn@CAwh8}jPO!JeLp zp~@fTiJ4^12BQc|epT2{;&hVSt+X&fsTIiyNphoG=oC!weq(~gm64t9(22rqu^>0i z9JNNzaazfo2ev-`#@@zbXU=rAH+v6%@b({nb@%m_#E3YJGYcknyUnPTC#0lCFq#M7 zYDd%x*~uy6Q3P(_gT6O1(BFfdK>Pp8Rl=epOD3D5#W)VfH*2a%jk8nEpovLR8tryC z6GNwiWm>J2C&tUreWOOIFg9HzeN3D|B~uxkZmT5H&tyhR9XH+krLTRxbmOWU9m!ZR zW8-1rPlNGQs==Ha6p8RFN{eThReP`@r&R%lPU;(-GDZ1&Xit#b^KDj?EKZgv)EvBc zCtxVFrf5a+5!?ug#!<|p!euiu)DHatw9;ZFv%$kS1r5_J8x-HQer|94%AQr&Ojm9@^YWD z!l4H)tp?Ve12Qydlu{N4ULZc`Rcr?or2&4pT9#~qdZiYO1vg-B@wOce6k^&7 zLg(Qt0h`hYJfD4?CkG~c4R3tyRtFA->4d<6<6#h&IVB_WjxYbFyyMuBhEr$HoI2Tl z=&irp?{b^8Dy?xQ^W9{`QMSOg0>-4&xB+*c6i5dgM3xPT2MJe%5c0LU%yNVVGYcf;JP?1S?jo)4GOu|2+N`oE}1IOKX7VNDAj5$ zdTCCEBfisV)vK&F*h4|85ODA&go2?}NfSieEnj=>t8BMxuvUcLzaqup?j( zGeq9;EW}2?_th_5FV?u7Hdd|FSxic~R5Ne$EBo6)pk!EvY@u}s7Tx1}e)FZ-q8PPZ zp>Smz<3+}>Qykt%9;k3|jloU^BG1Q8!qyKR+>``PqWul=6ZSYhR)v4fPKzckLbL3L z?|{bo`r&;JmcU+fWDM&#)+XFm4eMUp_WM)iiey+1jTy#B^}OQWpG1-*QcIK1|8luD zMrL)v*CAQPhIHjwNG}*-VY`qUQg8j$F67loz*c*hf*B@}R+DOvq}(&SYV>5we}5`l z6C0f)wvRHx2)PT#$+9dOZT`bIR?cx+b++s3fO_M{7A4(Io$&P&hisb0{Xg! zFF*$xhZu=(xlfi1GnXy2yU&s_Mh=_1)2>g7)yrd|WjFtz73V zj3YPV_z5^M_I3A=n|d5H)(KeWap!a7cyA9~OGx))jKDY1*YkW%M50U+g5769L2wW= z+5M?9x66@|p5|bsak2ORY}Z*V#JGtRNPyQye;+n{-RHX~SCl_;_yWARB7OZ`gklQc zA4iMOllg&{GMV@=6hFi1h~F)+*BeYwB~suVsM5;apL@Cnio2k2BdT>mgBr%i2YUM8 zRtAF=@-z-1oj0T-T>3_aeAptwVCWy2=zHl?Qk@C91qV$@AL77*b_`hbuv5p`l3q^- zRi@Njd4gv4#^);-Qrv*`C~RJ7YA2xz!M2P``4C1l)DPXRAAC#GItm3>31t$-D}LgQ z`HTW_0vx;#?V;`%zYsXj4-L(4NWgKn-6D;QGOScSTL~?a?#RS77f37u<2dd*-i7A+ z;iZ&(Vw;pnu}TbXRdTjD)HULJP#U833W+*Zw)nGu?K#^uHa;|f@H&{P1}EM{ob3?6 z`3t|gGfoSE!?9XhXlK3$S8mR1P>GXeDx=~qr1b40Tky!}U|;tLK@U?>+wmjYT_Qt@ zMrOe|Zir_IptYoC%SEvwaZHTi-pWZjQXU?HZT~$e(Lyi~KiT#$=6^u!+nD zhl^9hN6g*&w=O|uLJYo70u=Qm@xHb~hgv3gq=xwy61-HZwYbyMm8mX^H9gxJ%P_fL z|4V%jc1}>}KA3U^#n~%Vwm;vVEVVk!VO0PDpe49EnI#spLhZ6^Ij5G1y=l{q4(y#q zsfKZ&UpzUCYYF(ijq$P^hce7{44q)%0jo$BOL&=<)g?(d=*Mm@l3Vn{nhQ|(Y18J1 zXE%jV)Im3bJDGSAj>6ci{zNCAWmC#RXXIPl2)6kqtCV4!o8Rr9JO|Yjw+Vn;2Ve+F z^q=hhg4}4nE@p=N)Cg93qXmxny6n%9ls`%7F_CAC&fiJrf%{;h|4er=r!~yOX=0eO z-w4!Ycu0V06s%{-*Q&uQ2;S=K8W*8?Z3Jc+GmPm_G*pQR zhU*@#gY6dP&LRIm#PB$hu={(5{KV2)^M~i^*hVAl@afitCEuG7QQiBw~=+|12+iRaIcAe)kJ2tw=?mrfJr zf7eeAe8QS9f6Aejej>LIyAT)aniI7k;&;Qzq zL+cRH8YmZ=>4{6Yf0FMT36^`_e7SN7={aI1vx^@P%F)T&6Ixaq>VXxgPiD{5M6i{< z5o#B!tl$6NVy!0B&+A(pd}OtHyE$I-+Nh86aZQYFi&ATC;Y4wQi?c{n4xRox{kQ~k ztb0A9&^f~AA4O8)MJZPEw!VF!k?sc=nf_AWUkU6AZg)}&?%KdM6lZTWIDbLh|E?Po z^wNwO(+huSOpM#fL>+)V3+pYkky@0;qV=drYS3I-y-d&AQuMLMDexLHnXa@90e2^K(QZZk9aUff1$UY_2_;n`M0ov5B-U zk53?llkc+{snnW1lh(7#>1P&wdy4%$ubub4Idg7W3Kq{sB6;8=kD=lls4j!vJh$qj1>L4fU4M$ABZu zY4C+(wPxt!ez@+VO|wa5bju_jk@Lr$;gLIBhXXHJSvr_l@bkYa(uC7qQ?|0_jULPcnU`ZG2FPoi`Ce%`}rw@SS~=q zIAMx`bFIRTs0oXWm1&(O35H1lJqghDHzDUNES!KGMqD#o-~Z?mAhEHx809ei8`ojLMRYITMU}SD97V4pY{3MK>!o}zDa)Xb&QdMS&XcSmBpwGV#%ig`K9zo zk=d+LxhROJ6BXzN2 zO=A;6j(X3pq}!DeeUBnY4Iuq4K27m0H0`T&kpQj1F( zJHL1@20DK1br04Gc&_4n+ho&o4&EG~{IBi_(~ zKqrGjfeK>fj|u^1Jx$9ZweeX7Jq66UOfn``ZeRKHCh)+(5cXqG$%uIeE}S{qOg8Vo zeIt*J7aQBTXsa{9VUA&zcR)qP_=f%8WMUIi+%&_rSf}Akni!Roe*a@{_2XKyN$LdR zMEVZ>;(<9v_%0gSs0N8CJ|_8bN}-;_<3#6e2cy>rGhM?uVDtg8Cnf6UKlJUN{-NSD z9gvUopFdKw=WlO4ydX_3(!haE-$C&?2CWStwl`PvV3;Hxa^Tz-Bi!++L^2eUs8w20 z(^E{)jgsVu;9K|A?;_97!&@G>d*SSCF(ZQ8mYGwk3_?tzJ}Fxi9rIlTby8Kx_rm|d zWs8M%Oc<3>9;>rh?Cw;vQm>Ijk1*nxxP%0Q6Lu$w40gjn9jwSD$&SGdv(RZlO%oS< zo!>~73Yiz~$-mK&WG1k2Wdp(z}LENWyIKomNTt`Ip3w_AAhAy64E zeWxfE)~uB4tWFnP@#Ng2J%}m|96Ru1Vt(Y!+ajb^c=X}i#A1F5@sl{+gL*N7%?~_# zCt#C?;lU@w)Y>gtwU#rP^sHL8?7dOC*n+rLN*8ZUG(6%GLj&O4PObJy?os&IQ2+#7 zVZqMNb>KQAigL#F8Gsl%SfogVNyXvB`LGb>Y*eUm(u+egMXYA)xv~Bjq@#r@AI*=z zx&XH6duI+*1RabsoHhU;mfGA-rv>%r?S?3fq4eDZfCXCM?ZJm#G6knHxe=@+L@pa8 zayx>kIJIup4=~MrF(ZCDw2wl56G#X+fb8GE#_J6htRaEGYo!hbS+z)!_N5ARWs>%h z2m+XfGBP8EoAUJ3}z#@@K!C z$e1$CK1@^;?M0sDwsX85=rzKrPOP=0S`_h2+Eaae=V>^|kMsbXg99F#gTdc-ez>JD zD$#0!1ENeMfwF2gQdBwbR#`O?ST8>J1&2ruvM=i4_jv0RE- zt(J*pI;=?qD7C>2Tq;%Rbv8SvOg22!PT~28|Hm2DktLCdMk}^!7(X0ssJL9JFo0z3 z4x7^;PBd<9#>pxL&JXcYq#G<>5)+SuSVv~M35KpfdATtqEtSH5RSCAOjbrE(m8X1C z=UWDO@ABvbqtWhm+jLT?K?whctskNoet;5*tLQik%0mz^0>s%S@=ZIooQc6nfD(pU zr2rw;Dc~V$XXTPa&8GGqoDd4h0*;=+u@h!^&vL02{_!g4^eiRw=FP(~oxGcB^5eaO%U>p9W_i zg-bQ0E!g7x3!k=1WlB8`Uf@DQ)>54sj%qr%QM`fd5Pmk6Odl+3@tb(F3LfuHQ*u;{ z`-^X#Awdhq@&_tK9t@C8&%qxo)<-61I-#&YYH27KDH()gMLLbwIASIPA{B5DXmUDm zs9~_c+$7C;_z*HxA!mwy9IBB2)F0NGVr2;uYj#em4ZgSz7=rce?*Y%^3j(PTXc;Xx zA+SPh$-xmp$-d#yfv&0CAi^T18F>GDw_yq8I9Iw+nwgV3CpXoq5eE{cXkbz_!99mX zgojZYlVnJRqM*3-X#@~Q_8%V%q+QWt4H+659Q1C!Ss9lk(>Sx`8nZhi&CV)xl+i=O zTA<$G02qQ06v`seh=zUWtz)46NPq8Wppt0+NIxZLP#k^d8}kyP<(xhyL8dj@9d>&l z?}~x7rE(IH+<-$0tJ@`En9Tp$d2Xb?3#MnR@Kg)XI!wW>@Gcs_f!>*S|7Wp2CMr5E zSxI(zyO5gPP41%i21)vvJyg)UP{pZN8Hr@rle(}JE-?}>o zmPsT906sC%uR~xP1vhvDhvPW;9X~h-XCxe@LKY15cM1dQhSLYEKjd`?7YB$h(NNuM z|F3Y7HI7M8SqyKmud~S4XkAgqX^{)qfBI8 z*>>Dv+Fn*>9SA8j&P0@TARwlQstQ^T%*aM~rfdws z6lLv*%M5#!hl?S14l$9dcgm)o?;s>F>+yW`*+3=ReN3dRYzH*DN6OBjXjvK7m+fVF z#|b;2LFSP@2H~FFIP)(rqw325Yz+WMZ)X_Ub{zF>m-PT=JNnU+epHJq0w3`)5!RjK zJhOd}iOAal57OW&(dX@fK1ZzIiR#J$ zw;s69r5VP6%b1<8kD|~hy4{Tfk8&AiF&C&^e-0&1;a}<-T51nKMC@1(_a6X^p@TGw zJN!5t@20sp9{>n8v7S&rI8_$C;3L-~X9ZIRw3X*xz&m&thWJF7W_EFJJ zU?LCyf&?PgGoZ?{0Zdj8ilBvdE3iy3+rbWHKq<|2UH~5CF$qLc0X$rfhug6g*}(u! zJHRX5>-&T{nAK=@J4)<4jb2Zcqz>+sq0UFZheW+rya0kDWaXH|au5L1jwj`)lxC`Y z3RGY;7(I6|3`&#(_7NbT{>{T+Wjp(X!3v;MR0h!YP|#66svC!Wz%9L64OnWw3`2MX zpkNFEG#CBB1voQ7nKC~?Qh$g@$_NsIArC!fb`lNXMUbo7dx20tn1mRB&_zH3c-e^n zO|6GKVRq1zqMmL7rxpi^^~!OvdQhZv`>4%F2#DGQ3?W)58-zixAAy7jLX-;-+X-R_ zIN1)G=#~YAOb|xkg|iodb_zf{2?)HGTRx0eGhqZqICEJT%=8YT&`Uv>o&A`uGMfKj z2SeHdmbQ=ZGokQ1k3>iw$cqRj91!Gwp^RDGOI(JRR* z2&af0G=pUXs~)jIY~CY0znx)lbM~c_jSiHL@G;w0V{L3ls6u!Rx!A&ijia!rVS$Sj zD!EuBh!50(Ea4ZQ`xwGKNY6*vg;NQ_H076^oLZ!5Zpik4F#P!`+ zV0Y3|){Qkeq}eV~X1au>h-V_!W95$M7MAYN3b6KCchIzeGt0u^JF(o;0^DBaV~~X@ zudEEKDAa`9Jy^NR+F|V~Yh}(cQJ8lmW`Rh6?8KrMeeFNrgo5+`hrds-bv3j23AU~Z zTMYeg-onMp?#eGM4SrwsmC_uB`Rtd>S$V~4w{0reT)LuQYw@;{wFO(vH{4*(x~+I~ z>B@pq;rqom_lErzeyl7lDahZnDu07H>z3l;qE%nrQb4fgti|h4Y2o_9f)b(Jo%x#z z%qcK#=P@NrF;j>fxGR}_W;3&u$w1!MVq~OU=Qd{%ygA!^(@j(Vr@jQ+|L59U#(Whm z7NV_n$dyZNXD};}gLeb74Q=K#CBarbA7`rz&{{F`0NPoMF@72CZ^fpz7~e~;Nqei% z!X~t~6&ZjFm@cLC4Km{q}6LvVW^4LECA@fQo1Y}-_LOYypbRmHayNH-pd>)gA)_;U%vpDp6s#*)U%0to9Z_!1-id#{f-O^D7v*o>P`G)+)UR+c^!FB^X_mND1TKNlqh+*MU=?DK z5@9L5T*nv-^Eo$@j+E=y!IJtZq@({j^P*X4)|m}vk0r{I;EC`=dSW~Yo+MAAN8*ur zRGtN%TRgXVZuczqto3}`^FN;NdVcKrh36U1v!3TXFL++^yzF_!^QvdJ=Y;2!=ZvS@ zGvpceOn4?eJ`dcUaC=DtFXF|N9*8&bH}dy|;)eNL3i8oE%)G?BV%C~DPdpkGdBh&6 zNA6MLKrWh(=gs`}{Js1sfCbTr{yNM~JP1K1^_$wk({QAIBsueskh&7cT`#QMmqRLH z?=pBJ{7g(?;qTyJ#=w;rG6ww54mX7T!Z?6_Ow-UOH1bc-$p1+i_!o-cfG}NI`c)`( z8w(0P+U{YRBuSo@2pVe9&%PEeW;;fvrj5L)a$dWI~m@Eq~ir z78Vz+Gq2At+FB6!y|^^LsBmrY$%1XA#Y+qF*OA;UE!l=L!CxM#U{P^N;X~N6ES&EC8dS<8S-dVN&eagsSdnen7_542gg`HL5g9W7(@}hOZoClG88zBJ=Yz;nGUIN5pYJ$I4mgR5V82quSuoMH?5d4WA zY%UPMZ!0d@bP)tZg*`>#+Uaggzgmu7(e8En!EJ>bKrw+X0nK-n6mKcURAR(M%L;(e zwbLb+D{fHX%n<2zohV%joX4PPW@bp8NQ`>TcE;_ zXSe5XA<(HOE4MvB1s7}*N|Klle-R+yOhG3KzFJebuDEOp0-c=#SYEPaWB%q#9^bJI zm|qWG5a@C)#(v9ZR&U8GF5A3d-52pr7&7{U$4d*=m#!$>u(34!4Lx4)V4*of;H*G_ z>7REL=7IlcKz9}|gel>{AQo;bEGoLCxTrW_J_s>0tSsELrKsSp{6exaTr4qVImo&v zzi1mI#=Qa`6Bh*k1OY`mUes0mAW(ZP>Rwn>0JV>%;gTK;uV4+KF3{j^E5g<@z?Xp@ z2@ir&j0zN%U?UwUK>*9YTu^dX2@QLyPypA`~a;Fv%Kd01A2l^ps=sCto|Ny0y%YX|}fJ)rlCzPe>& z0j-}?>^%K@-J0T(bt_4mnIr660xxI@0h5$o{DqZqYr)!WrG;NE2s{*~?6bw23(UE5 zhybQ*M7Ih_{duTh-HgVt2tw~&Ur;xIXXfS-M=vcX z#drx7f!9Gf8ld2;+lw%!i*JMUP5%OTC19|yVQ}Fyf>8!{ZBs&w(1W#u=886WtBN;3 z=K-Dra&O_blKidt8?ZnI(K)qUhgw0C0ieM4-JG?#un51lL21e_fGi@r=E{w5uss=tFft^>dK7U(LDINzzXaMO`PXjzU zRdSlZFDeY^Wf&Hqh-@rgN1YEgdn;K51Yt?W(?ETJ0nzVOWJE`4;oXCUTY{aW-$8Nt zPq5-DD0@)XHhnZB?81VFg0}p-u%bX_+&jIrhLT3;_W;XJ@0o*BNC;nEQV4dOQk1c* zpfAfev9Qs7y^PsMFQ5PdICdgGV z>M~jfL7p_9)Y5dnf>fLlVk|(RK<}p~@iYKw>Q} z?W1FXQkbkuVR|e=iB+)PY`CHgg9a0J7&5(mx_oP^nJxHGYim*OR(xB4R<^)&p8t{C z4jL4$w(X_Z(3Sl!+YZ`IueR+=$9?fQBrpRX74t#c>DBh&($W93JrERk5aZSMU?C{2 zNT8|Gk383cnN%SBe|VG=)}4>la67FW1rH{dKk!9tyaLBK!DrybQmin6hl>i=VQClE zBjMx6)cZy<1|w49{EspA`jvrkxHc`C?}U*6CYouJ z6RnYfXVZ(Ypk>nYmD{%9EO2c};g(WC-O8LjFE{Mzv@r$hkMQP!%aopaHnS{xQ3Sm! zP%*a1tG5=c+=R1$ySEjC-lkNUi%$fNJ8(c6YA9H~rC@Vj@iuHv1URBDGY3rEQUuLp z<_iN}5I{iDx(J{R0?d4&o1X9KHnApNu1%`?s@g==0f3LtCb;l2Z8EO~tC%rPW+z_! zZ^w!0{Fk?h{q1GiG#jrlPGO=iH%@&JU?y%c(Nl6~dOo4i|I6EiLVuYyuYNw~Uum4z zT{=#1*k#(hw!AX$vTa`dIIo63=l>hp%!aJ|mm@d(3XHhOt+WWKiO{ddTt?0<(q%Kmpqq?{{Aq-(mA=3GG{UE4;lAd#+Z zqgRkfS8Vj-&^&XlAd#-R(JQJ)mr-|fE-#U;eht4GT_xuV66uL_w8w#-7B34gDo`d|dM4YV^b0E69s$N?Wu! zzMO)1Mb@R>5Wvh0%oSPpGCP~x%gc+aXWgqp@8#viwN(&vuOKh3EqX66FRn3quU1}s zEQEAtSyzxqgvG0} zV_l7KnDuc%B%6UXMGT63x`qXW@Y`{iKuY>1Vs42|#FYNS`4#z(^)t^4_|Ia?vhYL01HFN4e-H`ibZ1zs>XX6YtXhpLv&(zu+aVi=l3V zLV-`*Mn7>I{aD;aVdS`|(f#Y)*{E&7Ws|He)R!rbR>4grprQ)H{0O>ch>ySwJ#)H^ zaE()NB*8jH{|1))|NWYuojWUYmdE3PPV^rTbAn#b;Qj++P68Ukw7bnkRbt9F^O}a7 z1R5uL`45UX!CZY3aq>yTNw|;olu-QmBTlB+jC6@hVoUznkdsW3dLbbvnVy_%vQT{z zbrK$p5*`uqNz@62dR;l{;qyu5z{{1lZ#loNKDg+ z%gD*joa324hhV3L>OTRxc=MNOP6P2xh-JFiz%&78=Xf&bd1e7sVU4cbn2+deVZ*vL zxC9AOJs|m~B}{OK8VK-4^d3313;#jSXGB*88S&yC9y}a;7|3BTHEXcemuwc|v_K5E zB7fF8it}As@MWC)kVHn9Tu}j$I1&g@4}#qR`iay7KLPq5*E^cdP~ylo&z>St#C~pF zy!n^017^xP}x&ve!SU&TMLINDZ z&cg)kPGR|z1BoImInxmtAkt3`B&ITo*BYq5wgK;xifSH4v zgFb}>(sW;topCZLOd1kAXEE7$=RqkK%BACzf!qgoBh$j|$ic7_e|I5a@JeP4ax$#N zA7yDMz_)wxSAfK?OOR?d4|Og;-Je1W*E93cQt&ey-{w!RW;&f2%OY6_}M3 z7$@O&7V4lnZxrx;6aJ+vrSnkZ5|mwozZLl0g<6(ke2auWP@i%!-)We66K;}9{D>5E zc}inZODe`P3wWj5r*6jI9L6R*CA!KK=qd|TMRb)We6GU?R$+vM@x|yHVSn`$U9A@= zYaQ^u7N5HXD!2{vumCj^UD5qk^MNbE8sUsuosZ{q%hgTzEJTgV1+3kLe~H4DqL$BM zcJ9Vg!UN6s2F&1ge13sMs=o$Z{hHaq{1MNHqP~jss$avuTQI-(;qw_l-755yX!JI; zADC0(q5vP=geQd6z~^T4V2RKc(Gs<`6f?059~$RkVbr%_Rvraa{SdVE94PBK<{3)q z%KQ|G&ndsjm+;wy3@9Z?)cqOYY7uB454|Ajrm@p36E0}p7XmYLfaT!lB3%)+Q|Wnt zCOmu!B^RO&;t%4yJV4WpU_@7U3!gP8Ni<1y(_REl& zFQLs+v`kWKi}1Y&u&V(@lzqEE-Sg2BaWLH!M^u#utluC|K`y8vSCCO8b7l)%NAmqT zK$3h4lwKtCaEX8!qSHGtzSS7nDm?i-=p`4hvjp18#yCkD5(U!;iJzAX5_~1bv=a14 zqoVN;PCia~mB=UqwQA_ur#rwcZ4`6;jkN$ibGq()0wgAvH;=q_Q zG2&E#OH=S)`Z$HvfH;>{1?ov)bqKr-aCERNtuCaG5VokVgi%_%INXD1z@Hgwm|6JO z%vkXaSKMLsu?w0FwL{Q>aRy`tjfvKaPXVvAPG+MnHo&9|LNb8>6bsg;ub$jqyQdeD3-&9wAuyGBN-iF&?hY=q{n=m9(9+x_ zU<<%)^;L%tmseI*Ry7MC!2V`GE2rnl&LHP^z}lTeW9TTt|QRAmOc@ zZ{p*6TlO7lXlttVd->XEZ(W@iKo}cl^Ks#uzt-oCuC8mSJ(#ek=EON%lZwWV@GZDy z{_O6Z`)g728{Y4DqgxspjvY%p@Ta{ed%6b4Q2S9Hm)QHx?SE+?|{tfT{c%$lD zj~^E`S032ce(qeKFpT54r!-;m+~I>&t!=f3D*ixK9j+88Un*PR9# ze&vyt(*nR5{unQw=%}cvYijgXS5{Qj*3}7vY;COZHpnqsb(QrejvRWo?bsB=S^hXM z(pgho@2#!HY}CDu`gzO=Q>(!5x~i(CBS-2Fw;mSC`~2tl6MUTS^q#%-9c^{5c)#iO zd8IAh!wsj~_w8>w+#Kk}c@&E8-~ZP`Ehtp`8dpfr%7*%?Llt$+O|@-pA6C45py>>aqMJX%Cl9{|l4`B1 z!R*vG)V}I{*BeD(ll6RK0yirF}x|)iE2hlZ1qo$VD_O{j*Uu#rbgSXaS8C~1Z7ObnXys7^1 zzREW~tUK8|>I>9$e$UC~L)AjhoOR%#<|D_CA8BrCZ*8nC-}k|L?;ffsudF61*VJ+H z)RFqC>c*z?=$N#ws6yjVCVu;^xBpymq-xjuhwB?ED^b^=SJK!}*>}xtZFpjD^`S`J;4Xyk4wlvhzBqY^(Ypcum?=L^Rf7cG*qx@t1Pa+?G;)%(p zlAe6xuY33I-&YQ4Q9BMo8bIe{wJk0CYif>GRUiEAyH!WKMtr!i8daWeI###)ZxG=` zA8}0`V8|Blem|t z*js+2b??5H{~YM4Q0=j{j(s1Nw>P5N{oZ-CRh2b$jrEP~#~R=NVE>%OYDKRD{Gsi|r?;oVg?h@Q*qst#2**3?(* zJpBA`->Cv(ef~lI0+xrSrlW`VRkRX1_Ipj$m6g?X&29CE-rL*02Q8q9r+)VI^Dq5+ z$LnwW`K_Jr`rlW+_s-wm{>z{K@Y`2jI^0n4VR>6)c|~K(0MIQ1n>E!m*1liW@bX{w zHJ<}JQWNoA2kMV|p=Q)S?>*o(*MgqvjvcMqy|;4LPGJmB{rs6<{`$9Xy!FnmJqNG| z`0JFIlZr$8cE9)bAAh^A@=$qu)7}s2j}xZkwGEB6P2QH40|#4v`TBb`$9uVXa)g7)mTEFYy;lH4f z$DjQ9b1%RC)~-X|*5hX{^!5)9kBs4}b;bDD*vRl;Z`avl&|=>Ac6ciqS_6$#9jt0= zZER_S2!3`4W*wKa3nS?`SYKaJ6KG_gm#fjwyi4!%-t-O$OBezmVF;I*TIVJ}0_07q=gkX!=%l4!pB+?gViwM-@pS7^{r93OEUzX~UV z-JWnGwyd@8>g^|O1A*l5)V%1WV3QP!M+)mJi*u9tm^T&gbCTUug5wksgb>`pNW;(1 z`Xb|R*UF~DxU9q37%tx%ypR7fj0gH#JXBGCJ278>?OsEtQ^>uVD_ft#U+8{M>8p0X#u#Fk*C)lc3^^53Z(Z3c;e8(UkhL7gZvMXAfFICE>GIu z>uD>0<9<_*H$FN8ZwJ2EG(K^vu>S7NWNswgItX_;;N!y)p@3n0CE&%vB@+tsktdhS zQ&cFv!$*qzF1$5Y_y86l3eU^!Njlwba;WRC-EZyfHm zpZRz!#dmtDMg@n*Xxi8kM4_=a8``*SknXogEd6jetJs4Eo^@nY)1pEk? z$cQEur}J&zw7|zbm>M#iht|vY+k78Pg!r$+dEV~LOvYTnHj}yL^4;cvvM-Y?9Vr%8 z7vA)`(=j3L-CbyDbxAgbzpXu{rZ7x%UwjYhjdkxGpaLkcIO{lWZ@r>)8K{&@OIdnft>kzj>S zCHPXLNN%5a((6o&hugZ$^*?W3628*zDR&?uJ@-leTOo;n79ngT-WQt5c)a4g*prjX z1#fB3q?3;Xr8hTennLXFayXri*ht>d-(<90y8GNkCdXUaJMN4LI}hfEot@yn!F5YK zbI0JTWUtdfw&?vfZ*F#_=q>FVb!B)*NRU1iDgHYl?DT~2(gCRu26`RMMpG>=bn*T{ z>%1o~*gn@f1lJ&*9YS#6;azxZajc*A3gi~_A+k&QM+AGN<_Uf`oLYD-C*hGg$SaEd zuz9r5csUr(huxJLqvv4(fveXY40~)Z#MT#YJ?##P$IDmRH|LIK!@de@JcFIF3n6Ne zUke{Z%rKM;`T3~3XgrEXq~_91+>S}&_F@Jm9f=HI$ODDZvA0JnDD3y5aw_lJMTh@a#lz(Ch2#hA9)g-^(}eJ$c^a zj^<|;5lwna`)3i3q=S`5`VS;ZP6Ks^6_AW zr(uTwQ!p|#l1oGg2I6;hJp5qlVRNS)I30W%(c$ov_WNz*atcSJdp6DgK9b0frkp)? zPrybDkx=3CjXRH;ItG2QAs7-J0e9)ZdWTDN;iJ-)X5eM~AS7Y|yUpFd)uYQd?mlYn zwE3dBiPsC8h7N7y27QUB*O#pH7La(j$R7}V{z%ASiv)_svzy(z`?#gk=8xsZU%wS0 zDM#txT8|JGB3@6rLcfZ9G4kID0bhWR16CwKJ+LKbZ=b_i_W8+ZVYUm?M$7{9D;Djg z-D@EqE|F5`%ZMO7-Xj0s3$X+O2q6NXE1t@v;PTsSy!ZW%+cG=!3T9UclnA@U(S8{G zQV2_5swMs(!w6cVscah0e=rh@!oQ412m8qqo2|8%u5b1=|7v!DV57z2U}@Ks!?hs! zK9=}@ApRoUMws&j0Fm`LzyovqKKub7iSX|cZMpbV++!0W<@FUO^26uEz1R(uFKCO7 zMjZZx7exJ9G%s;08;#D$j;&7+mEE8-PF~Gj{w=-6%G^f=H7^l+whWPLsz3L$_(5Xgt6 zc8b9N0e5dGD8!O61d2hA%jJ)xlYW46ya3RU2ig=41;UY4bc{Gdz?^`M0dDfTJU{T+ zyff&34-))*zoD(qL$<``98HwI-dLOQ_V(CZEGnpZ zBTDE@M?qFuP zXKSXe+`Rvk1pJxN4>R?v^|i^6*BwUM$L|Mv8FJe_k^J-dp0@U2my7)(*VS0*SF1hULSkrSI14l{n#|==yw8K=$ne4@jBvELG?8^WoWa!i zt9&dhHE$t!t$#y6S;X)8SkO7p)7fjY0c0V7A5f3Up@=VlzMTMe8VN^}*(@%8r&Ac| z|F((T5Eg4aJc6e$fWst5rskK#IT8ZYWBP5_b1^_Xy}jh!0DR=N1+lir z{T@G_rnKO5xuZgFtMTiyYe0JVyc<1)Yf#20#!J5|z7Dy9(O3X@BOmg6J@5zZb}tWq zVQGFMD|j6P{o!KlcpUp^RPY2N@kBJ>@Brrg^sov*i=CcGI>o#Cy1XIYZ^Owe0@*y? z+0)lQ81fGE!$%7A284C&Kcp1WnTV_BrGF^YjyXJ2_7uvV5W2YOa*X3iejW7&;^}z6 zR}B0EHgMSM^*9FyU4Y%9!^0z^`3xq`kE4g1AQbkvL$MeE(kp_&B%tOfUb`17(Jb%{bjR%@rY&`Gud$#|)vE#7K7ZV*^;zA)QRxC|9d)&cL zd^{GG{_=0aLAxtAmGby|@!?Ges-*;E`Ek-nFW4;>!AZP4%S zAWO96B)uH)9W49R`}twb_mR}jy7A}usa3^>F85cWEKkr-UKPGSfMD_;Bd0WY7- zk4;X`&c7`z{_d@aM33cDf_I>!>EZ2bmujsRGtT;Z-yo9RFZ$nbl*dZPmQo12;=^eq z#Ulej$(hdZ{}~?+N8H{xc|tALi`VZxYlCl=8J(H~I=!;GzP_=szP?7_>9=!JquHp> zM!tRh^2Pdk00G1j<3l&y52A2Ubmz(1CDtw7>k- z+fQCPgdCzuvGeoz=y!#UwdJ=nW7%lHZ66%Kb0nm<9ELB76Q#4ocX_9PR3btuT(!|` z9vNspCb^r&`5)j*@dAh@p3s=zPC@}o?d97~J6y401lbtqH1K-(Mfl>xa3+cLT_!&^ zz4_K6dAw&HXo~Q-UMzmE!V>~X&#H@IcE(;Xk(Lb?wW$^0$M%}f<156sMMPHd6n zbf^4ql%ioNyW@bn;ZY$kA5F#_NkB)I8uYl+ofw;2Mu$f+N5?ToWFIarEt4%mNHJ5T z0}G-4fnX9TPHD5h3IVx{g@kmH?+=iZb?N8F?d~{9=ogB4Ohd6y+9<-<8esRs>x<*T zK36o6$fPUS`wku#lAYO1$U~4KOZ|<9ZO+)3NK^2X=1Tk57N(*|0Q1GzE+opOIyDAb zOdy%cjVA0~f`Qjwz5m=6K{6gduDkT6bZm7x9t0gA%6mM~RM>x0VjaeTwebigvP1s< zcrzK+?S`%NzpJ!RI#GBx5_Gt{(F9mKaJ-^XDJx_A*M?Z}+4{x`DH_ zT>5IYxD>N{l0#9uGXP&T=5*!9LsBCe=g%UgAN2)&UC1~BJ-gd%i;fd=fTOfhIT50dws3(|=kT>tTMB6d`G*UB}A*a8GpyZD>^Q^Yg zM(My@!s`MQ5e*w98jkWOgOOy`;cG5~XX zf&C%XbR3>rD2y}>yr2(wxxKWjkn1|!6`Ak@*YG zi<5S`_`~TGQb+;Z4v6?Fv<~@&P{N(*{{Wx60njc-qe0-ehm!E#13-i_>9|f})cAS` zDU7fKX@%PBkGuI%0KA^kfu-TF!y860u`3?*6~lW8VJlLp|Dj+m?uP|T+_V1Z1QrSw zhWY{_M4a*TF2F?vFkqxVeE5jcahHd_Vc5ikD91UBk zfZ_d(=*1CdwZE-lz~12ur4xSS(GZIwgarLH_=|+8G=Dgebh{hDS|Q!C<9RC;f7tXv zGlB=U+@5epb9iPnT6haRqtsDsk0QrSB>1@Pp*!0BTOpj&+cW>*{euu|l<5LmP{$k(~d!+3g z4UEPI`=f%GHY;E+0ZxN=4VM�H^f4c-rdnmMOK)N5 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 Mhw)MQf5E4J0KlNr761SM literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html index 4ab40a8..d1f1810 100644 --- a/public/index.html +++ b/public/index.html @@ -1,48 +1,37 @@ - - + + LingSync - - - - - - - - - - + + + + - -

- + + \ No newline at end of file diff --git a/public/js/app.js b/public/js/app.js new file mode 100644 index 0000000..e3e5596 --- /dev/null +++ b/public/js/app.js @@ -0,0 +1,27 @@ +'use strict'; + + +// Declare app level module which depends on filters, and services +angular.module('LingSyncWebSiteApp', []). +config(['$routeProvider', + function($routeProvider) { + $routeProvider + .when('/home', { + templateUrl: 'partials/home.html' + }) + .otherwise({ + redirectTo: '/home' + }); + } +]) + .controller('LingSyncWebSiteController', function($scope) { + $scope.navigateToRoute = function(route) { + window.location.assign("#/" + route); + } + + $scope.divToShow = function(div) { + $scope.contentToShow = div; + } + + $scope.divToShow('welcome'); + }); \ No newline at end of file diff --git a/public/libs/angular/angular.js b/public/libs/angular/angular.js new file mode 100644 index 0000000..5a732aa --- /dev/null +++ b/public/libs/angular/angular.js @@ -0,0 +1,16876 @@ +/** + * @license AngularJS v1.1.5 + * (c) 2010-2012 Google, Inc. http://angularjs.org + * License: MIT + */ +(function(window, document, undefined) { +'use strict'; + +//////////////////////////////////// + +/** + * @ngdoc function + * @name angular.lowercase + * @function + * + * @description Converts the specified string to lowercase. + * @param {string} string String to be converted to lowercase. + * @returns {string} Lowercased string. + */ +var lowercase = function(string){return isString(string) ? string.toLowerCase() : string;}; + + +/** + * @ngdoc function + * @name angular.uppercase + * @function + * + * @description Converts the specified string to uppercase. + * @param {string} string String to be converted to uppercase. + * @returns {string} Uppercased string. + */ +var uppercase = function(string){return isString(string) ? string.toUpperCase() : string;}; + + +var manualLowercase = function(s) { + return isString(s) + ? s.replace(/[A-Z]/g, function(ch) {return String.fromCharCode(ch.charCodeAt(0) | 32);}) + : s; +}; +var manualUppercase = function(s) { + return isString(s) + ? s.replace(/[a-z]/g, function(ch) {return String.fromCharCode(ch.charCodeAt(0) & ~32);}) + : s; +}; + + +// String#toLowerCase and String#toUpperCase don't produce correct results in browsers with Turkish +// locale, for this reason we need to detect this case and redefine lowercase/uppercase methods +// with correct but slower alternatives. +if ('i' !== 'I'.toLowerCase()) { + lowercase = manualLowercase; + uppercase = manualUppercase; +} + + +var /** holds major version number for IE or NaN for real browsers */ + msie = int((/msie (\d+)/.exec(lowercase(navigator.userAgent)) || [])[1]), + jqLite, // delay binding since jQuery could be loaded after us. + jQuery, // delay binding + slice = [].slice, + push = [].push, + toString = Object.prototype.toString, + + + _angular = window.angular, + /** @name angular */ + angular = window.angular || (window.angular = {}), + angularModule, + nodeName_, + uid = ['0', '0', '0']; + +/** + * @ngdoc function + * @name angular.noConflict + * @function + * + * @description + * Restores the previous global value of angular and returns the current instance. Other libraries may already use the + * angular namespace. Or a previous version of angular is already loaded on the page. In these cases you may want to + * restore the previous namespace and keep a reference to angular. + * + * @return {Object} The current angular namespace + */ +function noConflict() { + var a = window.angular; + window.angular = _angular; + return a; +} + +/** + * @private + * @param {*} obj + * @return {boolean} Returns true if `obj` is an array or array-like object (NodeList, Arguments, ...) + */ +function isArrayLike(obj) { + if (!obj || (typeof obj.length !== 'number')) return false; + + // We have on object which has length property. Should we treat it as array? + if (typeof obj.hasOwnProperty != 'function' && + typeof obj.constructor != 'function') { + // This is here for IE8: it is a bogus object treat it as array; + return true; + } else { + return obj instanceof JQLite || // JQLite + (jQuery && obj instanceof jQuery) || // jQuery + toString.call(obj) !== '[object Object]' || // some browser native object + typeof obj.callee === 'function'; // arguments (on IE8 looks like regular obj) + } +} + +/** + * @ngdoc function + * @name angular.forEach + * @function + * + * @description + * Invokes the `iterator` function once for each item in `obj` collection, which can be either an + * object or an array. The `iterator` function is invoked with `iterator(value, key)`, where `value` + * is the value of an object property or an array element and `key` is the object property key or + * array element index. Specifying a `context` for the function is optional. + * + * Note: this function was previously known as `angular.foreach`. + * +
+     var values = {name: 'misko', gender: 'male'};
+     var log = [];
+     angular.forEach(values, function(value, key){
+       this.push(key + ': ' + value);
+     }, log);
+     expect(log).toEqual(['name: misko', 'gender:male']);
+   
+ * + * @param {Object|Array} obj Object to iterate over. + * @param {Function} iterator Iterator function. + * @param {Object=} context Object to become context (`this`) for the iterator function. + * @returns {Object|Array} Reference to `obj`. + */ +function forEach(obj, iterator, context) { + var key; + if (obj) { + if (isFunction(obj)){ + for (key in obj) { + if (key != 'prototype' && key != 'length' && key != 'name' && obj.hasOwnProperty(key)) { + iterator.call(context, obj[key], key); + } + } + } else if (obj.forEach && obj.forEach !== forEach) { + obj.forEach(iterator, context); + } else if (isArrayLike(obj)) { + for (key = 0; key < obj.length; key++) + iterator.call(context, obj[key], key); + } else { + for (key in obj) { + if (obj.hasOwnProperty(key)) { + iterator.call(context, obj[key], key); + } + } + } + } + return obj; +} + +function sortedKeys(obj) { + var keys = []; + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + keys.push(key); + } + } + return keys.sort(); +} + +function forEachSorted(obj, iterator, context) { + var keys = sortedKeys(obj); + for ( var i = 0; i < keys.length; i++) { + iterator.call(context, obj[keys[i]], keys[i]); + } + return keys; +} + + +/** + * when using forEach the params are value, key, but it is often useful to have key, value. + * @param {function(string, *)} iteratorFn + * @returns {function(*, string)} + */ +function reverseParams(iteratorFn) { + return function(value, key) { iteratorFn(key, value) }; +} + +/** + * A consistent way of creating unique IDs in angular. The ID is a sequence of alpha numeric + * characters such as '012ABC'. The reason why we are not using simply a number counter is that + * the number string gets longer over time, and it can also overflow, where as the nextId + * will grow much slower, it is a string, and it will never overflow. + * + * @returns an unique alpha-numeric string + */ +function nextUid() { + var index = uid.length; + var digit; + + while(index) { + index--; + digit = uid[index].charCodeAt(0); + if (digit == 57 /*'9'*/) { + uid[index] = 'A'; + return uid.join(''); + } + if (digit == 90 /*'Z'*/) { + uid[index] = '0'; + } else { + uid[index] = String.fromCharCode(digit + 1); + return uid.join(''); + } + } + uid.unshift('0'); + return uid.join(''); +} + + +/** + * Set or clear the hashkey for an object. + * @param obj object + * @param h the hashkey (!truthy to delete the hashkey) + */ +function setHashKey(obj, h) { + if (h) { + obj.$$hashKey = h; + } + else { + delete obj.$$hashKey; + } +} + +/** + * @ngdoc function + * @name angular.extend + * @function + * + * @description + * Extends the destination object `dst` by copying all of the properties from the `src` object(s) + * to `dst`. You can specify multiple `src` objects. + * + * @param {Object} dst Destination object. + * @param {...Object} src Source object(s). + * @returns {Object} Reference to `dst`. + */ +function extend(dst) { + var h = dst.$$hashKey; + forEach(arguments, function(obj){ + if (obj !== dst) { + forEach(obj, function(value, key){ + dst[key] = value; + }); + } + }); + + setHashKey(dst,h); + return dst; +} + +function int(str) { + return parseInt(str, 10); +} + + +function inherit(parent, extra) { + return extend(new (extend(function() {}, {prototype:parent}))(), extra); +} + +var START_SPACE = /^\s*/; +var END_SPACE = /\s*$/; +function stripWhitespace(str) { + return isString(str) ? str.replace(START_SPACE, '').replace(END_SPACE, '') : str; +} + +/** + * @ngdoc function + * @name angular.noop + * @function + * + * @description + * A function that performs no operations. This function can be useful when writing code in the + * functional style. +
+     function foo(callback) {
+       var result = calculateResult();
+       (callback || angular.noop)(result);
+     }
+   
+ */ +function noop() {} +noop.$inject = []; + + +/** + * @ngdoc function + * @name angular.identity + * @function + * + * @description + * A function that returns its first argument. This function is useful when writing code in the + * functional style. + * +
+     function transformer(transformationFn, value) {
+       return (transformationFn || identity)(value);
+     };
+   
+ */ +function identity($) {return $;} +identity.$inject = []; + + +function valueFn(value) {return function() {return value;};} + +/** + * @ngdoc function + * @name angular.isUndefined + * @function + * + * @description + * Determines if a reference is undefined. + * + * @param {*} value Reference to check. + * @returns {boolean} True if `value` is undefined. + */ +function isUndefined(value){return typeof value == 'undefined';} + + +/** + * @ngdoc function + * @name angular.isDefined + * @function + * + * @description + * Determines if a reference is defined. + * + * @param {*} value Reference to check. + * @returns {boolean} True if `value` is defined. + */ +function isDefined(value){return typeof value != 'undefined';} + + +/** + * @ngdoc function + * @name angular.isObject + * @function + * + * @description + * Determines if a reference is an `Object`. Unlike `typeof` in JavaScript, `null`s are not + * considered to be objects. + * + * @param {*} value Reference to check. + * @returns {boolean} True if `value` is an `Object` but not `null`. + */ +function isObject(value){return value != null && typeof value == 'object';} + + +/** + * @ngdoc function + * @name angular.isString + * @function + * + * @description + * Determines if a reference is a `String`. + * + * @param {*} value Reference to check. + * @returns {boolean} True if `value` is a `String`. + */ +function isString(value){return typeof value == 'string';} + + +/** + * @ngdoc function + * @name angular.isNumber + * @function + * + * @description + * Determines if a reference is a `Number`. + * + * @param {*} value Reference to check. + * @returns {boolean} True if `value` is a `Number`. + */ +function isNumber(value){return typeof value == 'number';} + + +/** + * @ngdoc function + * @name angular.isDate + * @function + * + * @description + * Determines if a value is a date. + * + * @param {*} value Reference to check. + * @returns {boolean} True if `value` is a `Date`. + */ +function isDate(value){ + return toString.apply(value) == '[object Date]'; +} + + +/** + * @ngdoc function + * @name angular.isArray + * @function + * + * @description + * Determines if a reference is an `Array`. + * + * @param {*} value Reference to check. + * @returns {boolean} True if `value` is an `Array`. + */ +function isArray(value) { + return toString.apply(value) == '[object Array]'; +} + + +/** + * @ngdoc function + * @name angular.isFunction + * @function + * + * @description + * Determines if a reference is a `Function`. + * + * @param {*} value Reference to check. + * @returns {boolean} True if `value` is a `Function`. + */ +function isFunction(value){return typeof value == 'function';} + + +/** + * Checks if `obj` is a window object. + * + * @private + * @param {*} obj Object to check + * @returns {boolean} True if `obj` is a window obj. + */ +function isWindow(obj) { + return obj && obj.document && obj.location && obj.alert && obj.setInterval; +} + + +function isScope(obj) { + return obj && obj.$evalAsync && obj.$watch; +} + + +function isFile(obj) { + return toString.apply(obj) === '[object File]'; +} + + +function isBoolean(value) { + return typeof value == 'boolean'; +} + + +function trim(value) { + return isString(value) ? value.replace(/^\s*/, '').replace(/\s*$/, '') : value; +} + +/** + * @ngdoc function + * @name angular.isElement + * @function + * + * @description + * Determines if a reference is a DOM element (or wrapped jQuery element). + * + * @param {*} value Reference to check. + * @returns {boolean} True if `value` is a DOM element (or wrapped jQuery element). + */ +function isElement(node) { + return node && + (node.nodeName // we are a direct element + || (node.bind && node.find)); // we have a bind and find method part of jQuery API +} + +/** + * @param str 'key1,key2,...' + * @returns {object} in the form of {key1:true, key2:true, ...} + */ +function makeMap(str){ + var obj = {}, items = str.split(","), i; + for ( i = 0; i < items.length; i++ ) + obj[ items[i] ] = true; + return obj; +} + + +if (msie < 9) { + nodeName_ = function(element) { + element = element.nodeName ? element : element[0]; + return (element.scopeName && element.scopeName != 'HTML') + ? uppercase(element.scopeName + ':' + element.nodeName) : element.nodeName; + }; +} else { + nodeName_ = function(element) { + return element.nodeName ? element.nodeName : element[0].nodeName; + }; +} + + +function map(obj, iterator, context) { + var results = []; + forEach(obj, function(value, index, list) { + results.push(iterator.call(context, value, index, list)); + }); + return results; +} + + +/** + * @description + * Determines the number of elements in an array, the number of properties an object has, or + * the length of a string. + * + * Note: This function is used to augment the Object type in Angular expressions. See + * {@link angular.Object} for more information about Angular arrays. + * + * @param {Object|Array|string} obj Object, array, or string to inspect. + * @param {boolean} [ownPropsOnly=false] Count only "own" properties in an object + * @returns {number} The size of `obj` or `0` if `obj` is neither an object nor an array. + */ +function size(obj, ownPropsOnly) { + var size = 0, key; + + if (isArray(obj) || isString(obj)) { + return obj.length; + } else if (isObject(obj)){ + for (key in obj) + if (!ownPropsOnly || obj.hasOwnProperty(key)) + size++; + } + + return size; +} + + +function includes(array, obj) { + return indexOf(array, obj) != -1; +} + +function indexOf(array, obj) { + if (array.indexOf) return array.indexOf(obj); + + for ( var i = 0; i < array.length; i++) { + if (obj === array[i]) return i; + } + return -1; +} + +function arrayRemove(array, value) { + var index = indexOf(array, value); + if (index >=0) + array.splice(index, 1); + return value; +} + +function isLeafNode (node) { + if (node) { + switch (node.nodeName) { + case "OPTION": + case "PRE": + case "TITLE": + return true; + } + } + return false; +} + +/** + * @ngdoc function + * @name angular.copy + * @function + * + * @description + * Creates a deep copy of `source`, which should be an object or an array. + * + * * If no destination is supplied, a copy of the object or array is created. + * * If a destination is provided, all of its elements (for array) or properties (for objects) + * are deleted and then all elements/properties from the source are copied to it. + * * If `source` is not an object or array, `source` is returned. + * + * Note: this function is used to augment the Object type in Angular expressions. See + * {@link ng.$filter} for more information about Angular arrays. + * + * @param {*} source The source that will be used to make a copy. + * Can be any type, including primitives, `null`, and `undefined`. + * @param {(Object|Array)=} destination Destination into which the source is copied. If + * provided, must be of the same type as `source`. + * @returns {*} The copy or updated `destination`, if `destination` was specified. + */ +function copy(source, destination){ + if (isWindow(source) || isScope(source)) throw Error("Can't copy Window or Scope"); + if (!destination) { + destination = source; + if (source) { + if (isArray(source)) { + destination = copy(source, []); + } else if (isDate(source)) { + destination = new Date(source.getTime()); + } else if (isObject(source)) { + destination = copy(source, {}); + } + } + } else { + if (source === destination) throw Error("Can't copy equivalent objects or arrays"); + if (isArray(source)) { + destination.length = 0; + for ( var i = 0; i < source.length; i++) { + destination.push(copy(source[i])); + } + } else { + var h = destination.$$hashKey; + forEach(destination, function(value, key){ + delete destination[key]; + }); + for ( var key in source) { + destination[key] = copy(source[key]); + } + setHashKey(destination,h); + } + } + return destination; +} + +/** + * Create a shallow copy of an object + */ +function shallowCopy(src, dst) { + dst = dst || {}; + + for(var key in src) { + if (src.hasOwnProperty(key) && key.substr(0, 2) !== '$$') { + dst[key] = src[key]; + } + } + + return dst; +} + + +/** + * @ngdoc function + * @name angular.equals + * @function + * + * @description + * Determines if two objects or two values are equivalent. Supports value types, arrays and + * objects. + * + * Two objects or values are considered equivalent if at least one of the following is true: + * + * * Both objects or values pass `===` comparison. + * * Both objects or values are of the same type and all of their properties pass `===` comparison. + * * Both values are NaN. (In JavasScript, NaN == NaN => false. But we consider two NaN as equal) + * + * During a property comparison, properties of `function` type and properties with names + * that begin with `$` are ignored. + * + * Scope and DOMWindow objects are being compared only by identify (`===`). + * + * @param {*} o1 Object or value to compare. + * @param {*} o2 Object or value to compare. + * @returns {boolean} True if arguments are equal. + */ +function equals(o1, o2) { + if (o1 === o2) return true; + if (o1 === null || o2 === null) return false; + if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN + var t1 = typeof o1, t2 = typeof o2, length, key, keySet; + if (t1 == t2) { + if (t1 == 'object') { + if (isArray(o1)) { + if ((length = o1.length) == o2.length) { + for(key=0; key 2 ? sliceArgs(arguments, 2) : []; + if (isFunction(fn) && !(fn instanceof RegExp)) { + return curryArgs.length + ? function() { + return arguments.length + ? fn.apply(self, curryArgs.concat(slice.call(arguments, 0))) + : fn.apply(self, curryArgs); + } + : function() { + return arguments.length + ? fn.apply(self, arguments) + : fn.call(self); + }; + } else { + // in IE, native methods are not functions so they cannot be bound (note: they don't need to be) + return fn; + } +} + + +function toJsonReplacer(key, value) { + var val = value; + + if (/^\$+/.test(key)) { + val = undefined; + } else if (isWindow(value)) { + val = '$WINDOW'; + } else if (value && document === value) { + val = '$DOCUMENT'; + } else if (isScope(value)) { + val = '$SCOPE'; + } + + return val; +} + + +/** + * @ngdoc function + * @name angular.toJson + * @function + * + * @description + * Serializes input into a JSON-formatted string. + * + * @param {Object|Array|Date|string|number} obj Input to be serialized into JSON. + * @param {boolean=} pretty If set to true, the JSON output will contain newlines and whitespace. + * @returns {string} Jsonified string representing `obj`. + */ +function toJson(obj, pretty) { + return JSON.stringify(obj, toJsonReplacer, pretty ? ' ' : null); +} + + +/** + * @ngdoc function + * @name angular.fromJson + * @function + * + * @description + * Deserializes a JSON string. + * + * @param {string} json JSON string to deserialize. + * @returns {Object|Array|Date|string|number} Deserialized thingy. + */ +function fromJson(json) { + return isString(json) + ? JSON.parse(json) + : json; +} + + +function toBoolean(value) { + if (value && value.length !== 0) { + var v = lowercase("" + value); + value = !(v == 'f' || v == '0' || v == 'false' || v == 'no' || v == 'n' || v == '[]'); + } else { + value = false; + } + return value; +} + +/** + * @returns {string} Returns the string representation of the element. + */ +function startingTag(element) { + element = jqLite(element).clone(); + try { + // turns out IE does not let you set .html() on elements which + // are not allowed to have children. So we just ignore it. + element.html(''); + } catch(e) {} + // As Per DOM Standards + var TEXT_NODE = 3; + var elemHtml = jqLite('
').append(element).html(); + try { + return element[0].nodeType === TEXT_NODE ? lowercase(elemHtml) : + elemHtml. + match(/^(<[^>]+>)/)[1]. + replace(/^<([\w\-]+)/, function(match, nodeName) { return '<' + lowercase(nodeName); }); + } catch(e) { + return lowercase(elemHtml); + } + +} + + +///////////////////////////////////////////////// + +/** + * Parses an escaped url query string into key-value pairs. + * @returns Object.<(string|boolean)> + */ +function parseKeyValue(/**string*/keyValue) { + var obj = {}, key_value, key; + forEach((keyValue || "").split('&'), function(keyValue){ + if (keyValue) { + key_value = keyValue.split('='); + key = decodeURIComponent(key_value[0]); + obj[key] = isDefined(key_value[1]) ? decodeURIComponent(key_value[1]) : true; + } + }); + return obj; +} + +function toKeyValue(obj) { + var parts = []; + forEach(obj, function(value, key) { + parts.push(encodeUriQuery(key, true) + (value === true ? '' : '=' + encodeUriQuery(value, true))); + }); + return parts.length ? parts.join('&') : ''; +} + + +/** + * We need our custom method because encodeURIComponent is too aggressive and doesn't follow + * http://www.ietf.org/rfc/rfc3986.txt with regards to the character set (pchar) allowed in path + * segments: + * segment = *pchar + * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" + * pct-encoded = "%" HEXDIG HEXDIG + * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" + * sub-delims = "!" / "$" / "&" / "'" / "(" / ")" + * / "*" / "+" / "," / ";" / "=" + */ +function encodeUriSegment(val) { + return encodeUriQuery(val, true). + replace(/%26/gi, '&'). + replace(/%3D/gi, '='). + replace(/%2B/gi, '+'); +} + + +/** + * This method is intended for encoding *key* or *value* parts of query component. We need a custom + * method because encodeURIComponent is too aggressive and encodes stuff that doesn't have to be + * encoded per http://tools.ietf.org/html/rfc3986: + * query = *( pchar / "/" / "?" ) + * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" + * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" + * pct-encoded = "%" HEXDIG HEXDIG + * sub-delims = "!" / "$" / "&" / "'" / "(" / ")" + * / "*" / "+" / "," / ";" / "=" + */ +function encodeUriQuery(val, pctEncodeSpaces) { + return encodeURIComponent(val). + replace(/%40/gi, '@'). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, (pctEncodeSpaces ? '%20' : '+')); +} + + +/** + * @ngdoc directive + * @name ng.directive:ngApp + * + * @element ANY + * @param {angular.Module} ngApp an optional application + * {@link angular.module module} name to load. + * + * @description + * + * Use this directive to auto-bootstrap an application. Only + * one directive can be used per HTML document. The directive + * designates the root of the application and is typically placed + * at the root of the page. + * + * In the example below if the `ngApp` directive would not be placed + * on the `html` element then the document would not be compiled + * and the `{{ 1+2 }}` would not be resolved to `3`. + * + * `ngApp` is the easiest way to bootstrap an application. + * + + + I can add: 1 + 2 = {{ 1+2 }} + + + * + */ +function angularInit(element, bootstrap) { + var elements = [element], + appElement, + module, + names = ['ng:app', 'ng-app', 'x-ng-app', 'data-ng-app'], + NG_APP_CLASS_REGEXP = /\sng[:\-]app(:\s*([\w\d_]+);?)?\s/; + + function append(element) { + element && elements.push(element); + } + + forEach(names, function(name) { + names[name] = true; + append(document.getElementById(name)); + name = name.replace(':', '\\:'); + if (element.querySelectorAll) { + forEach(element.querySelectorAll('.' + name), append); + forEach(element.querySelectorAll('.' + name + '\\:'), append); + forEach(element.querySelectorAll('[' + name + ']'), append); + } + }); + + forEach(elements, function(element) { + if (!appElement) { + var className = ' ' + element.className + ' '; + var match = NG_APP_CLASS_REGEXP.exec(className); + if (match) { + appElement = element; + module = (match[2] || '').replace(/\s+/g, ','); + } else { + forEach(element.attributes, function(attr) { + if (!appElement && names[attr.name]) { + appElement = element; + module = attr.value; + } + }); + } + } + }); + if (appElement) { + bootstrap(appElement, module ? [module] : []); + } +} + +/** + * @ngdoc function + * @name angular.bootstrap + * @description + * Use this function to manually start up angular application. + * + * See: {@link guide/bootstrap Bootstrap} + * + * @param {Element} element DOM element which is the root of angular application. + * @param {Array=} modules an array of module declarations. See: {@link angular.module modules} + * @returns {AUTO.$injector} Returns the newly created injector for this app. + */ +function bootstrap(element, modules) { + var resumeBootstrapInternal = function() { + element = jqLite(element); + modules = modules || []; + modules.unshift(['$provide', function($provide) { + $provide.value('$rootElement', element); + }]); + modules.unshift('ng'); + var injector = createInjector(modules); + injector.invoke(['$rootScope', '$rootElement', '$compile', '$injector', '$animator', + function(scope, element, compile, injector, animator) { + scope.$apply(function() { + element.data('$injector', injector); + compile(element)(scope); + }); + animator.enabled(true); + }] + ); + return injector; + }; + + var NG_DEFER_BOOTSTRAP = /^NG_DEFER_BOOTSTRAP!/; + + if (window && !NG_DEFER_BOOTSTRAP.test(window.name)) { + return resumeBootstrapInternal(); + } + + window.name = window.name.replace(NG_DEFER_BOOTSTRAP, ''); + angular.resumeBootstrap = function(extraModules) { + forEach(extraModules, function(module) { + modules.push(module); + }); + resumeBootstrapInternal(); + }; +} + +var SNAKE_CASE_REGEXP = /[A-Z]/g; +function snake_case(name, separator){ + separator = separator || '_'; + return name.replace(SNAKE_CASE_REGEXP, function(letter, pos) { + return (pos ? separator : '') + letter.toLowerCase(); + }); +} + +function bindJQuery() { + // bind to jQuery if present; + jQuery = window.jQuery; + // reset to jQuery or default to us. + if (jQuery) { + jqLite = jQuery; + extend(jQuery.fn, { + scope: JQLitePrototype.scope, + controller: JQLitePrototype.controller, + injector: JQLitePrototype.injector, + inheritedData: JQLitePrototype.inheritedData + }); + JQLitePatchJQueryRemove('remove', true); + JQLitePatchJQueryRemove('empty'); + JQLitePatchJQueryRemove('html'); + } else { + jqLite = JQLite; + } + angular.element = jqLite; +} + +/** + * throw error if the argument is falsy. + */ +function assertArg(arg, name, reason) { + if (!arg) { + throw new Error("Argument '" + (name || '?') + "' is " + (reason || "required")); + } + return arg; +} + +function assertArgFn(arg, name, acceptArrayAnnotation) { + if (acceptArrayAnnotation && isArray(arg)) { + arg = arg[arg.length - 1]; + } + + assertArg(isFunction(arg), name, 'not a function, got ' + + (arg && typeof arg == 'object' ? arg.constructor.name || 'Object' : typeof arg)); + return arg; +} + +/** + * @ngdoc interface + * @name angular.Module + * @description + * + * Interface for configuring angular {@link angular.module modules}. + */ + +function setupModuleLoader(window) { + + function ensure(obj, name, factory) { + return obj[name] || (obj[name] = factory()); + } + + return ensure(ensure(window, 'angular', Object), 'module', function() { + /** @type {Object.} */ + var modules = {}; + + /** + * @ngdoc function + * @name angular.module + * @description + * + * The `angular.module` is a global place for creating and registering Angular modules. All + * modules (angular core or 3rd party) that should be available to an application must be + * registered using this mechanism. + * + * + * # Module + * + * A module is a collocation of services, directives, filters, and configuration information. Module + * is used to configure the {@link AUTO.$injector $injector}. + * + *
+     * // Create a new module
+     * var myModule = angular.module('myModule', []);
+     *
+     * // register a new service
+     * myModule.value('appName', 'MyCoolApp');
+     *
+     * // configure existing services inside initialization blocks.
+     * myModule.config(function($locationProvider) {
+     *   // Configure existing providers
+     *   $locationProvider.hashPrefix('!');
+     * });
+     * 
+ * + * Then you can create an injector and load your modules like this: + * + *
+     * var injector = angular.injector(['ng', 'MyModule'])
+     * 
+ * + * However it's more likely that you'll just use + * {@link ng.directive:ngApp ngApp} or + * {@link angular.bootstrap} to simplify this process for you. + * + * @param {!string} name The name of the module to create or retrieve. + * @param {Array.=} requires If specified then new module is being created. If unspecified then the + * the module is being retrieved for further configuration. + * @param {Function} configFn Optional configuration function for the module. Same as + * {@link angular.Module#config Module#config()}. + * @returns {module} new module with the {@link angular.Module} api. + */ + return function module(name, requires, configFn) { + if (requires && modules.hasOwnProperty(name)) { + modules[name] = null; + } + return ensure(modules, name, function() { + if (!requires) { + throw Error('No module: ' + name); + } + + /** @type {!Array.>} */ + var invokeQueue = []; + + /** @type {!Array.} */ + var runBlocks = []; + + var config = invokeLater('$injector', 'invoke'); + + /** @type {angular.Module} */ + var moduleInstance = { + // Private state + _invokeQueue: invokeQueue, + _runBlocks: runBlocks, + + /** + * @ngdoc property + * @name angular.Module#requires + * @propertyOf angular.Module + * @returns {Array.} List of module names which must be loaded before this module. + * @description + * Holds the list of modules which the injector will load before the current module is loaded. + */ + requires: requires, + + /** + * @ngdoc property + * @name angular.Module#name + * @propertyOf angular.Module + * @returns {string} Name of the module. + * @description + */ + name: name, + + + /** + * @ngdoc method + * @name angular.Module#provider + * @methodOf angular.Module + * @param {string} name service name + * @param {Function} providerType Construction function for creating new instance of the service. + * @description + * See {@link AUTO.$provide#provider $provide.provider()}. + */ + provider: invokeLater('$provide', 'provider'), + + /** + * @ngdoc method + * @name angular.Module#factory + * @methodOf angular.Module + * @param {string} name service name + * @param {Function} providerFunction Function for creating new instance of the service. + * @description + * See {@link AUTO.$provide#factory $provide.factory()}. + */ + factory: invokeLater('$provide', 'factory'), + + /** + * @ngdoc method + * @name angular.Module#service + * @methodOf angular.Module + * @param {string} name service name + * @param {Function} constructor A constructor function that will be instantiated. + * @description + * See {@link AUTO.$provide#service $provide.service()}. + */ + service: invokeLater('$provide', 'service'), + + /** + * @ngdoc method + * @name angular.Module#value + * @methodOf angular.Module + * @param {string} name service name + * @param {*} object Service instance object. + * @description + * See {@link AUTO.$provide#value $provide.value()}. + */ + value: invokeLater('$provide', 'value'), + + /** + * @ngdoc method + * @name angular.Module#constant + * @methodOf angular.Module + * @param {string} name constant name + * @param {*} object Constant value. + * @description + * Because the constant are fixed, they get applied before other provide methods. + * See {@link AUTO.$provide#constant $provide.constant()}. + */ + constant: invokeLater('$provide', 'constant', 'unshift'), + + /** + * @ngdoc method + * @name angular.Module#animation + * @methodOf angular.Module + * @param {string} name animation name + * @param {Function} animationFactory Factory function for creating new instance of an animation. + * @description + * + * Defines an animation hook that can be later used with {@link ng.directive:ngAnimate ngAnimate} + * alongside {@link ng.directive:ngAnimate#Description common ng directives} as well as custom directives. + *
+           * module.animation('animation-name', function($inject1, $inject2) {
+           *   return {
+           *     //this gets called in preparation to setup an animation
+           *     setup : function(element) { ... },
+           *
+           *     //this gets called once the animation is run
+           *     start : function(element, done, memo) { ... }
+           *   }
+           * })
+           * 
+ * + * See {@link ng.$animationProvider#register $animationProvider.register()} and + * {@link ng.directive:ngAnimate ngAnimate} for more information. + */ + animation: invokeLater('$animationProvider', 'register'), + + /** + * @ngdoc method + * @name angular.Module#filter + * @methodOf angular.Module + * @param {string} name Filter name. + * @param {Function} filterFactory Factory function for creating new instance of filter. + * @description + * See {@link ng.$filterProvider#register $filterProvider.register()}. + */ + filter: invokeLater('$filterProvider', 'register'), + + /** + * @ngdoc method + * @name angular.Module#controller + * @methodOf angular.Module + * @param {string} name Controller name. + * @param {Function} constructor Controller constructor function. + * @description + * See {@link ng.$controllerProvider#register $controllerProvider.register()}. + */ + controller: invokeLater('$controllerProvider', 'register'), + + /** + * @ngdoc method + * @name angular.Module#directive + * @methodOf angular.Module + * @param {string} name directive name + * @param {Function} directiveFactory Factory function for creating new instance of + * directives. + * @description + * See {@link ng.$compileProvider#directive $compileProvider.directive()}. + */ + directive: invokeLater('$compileProvider', 'directive'), + + /** + * @ngdoc method + * @name angular.Module#config + * @methodOf angular.Module + * @param {Function} configFn Execute this function on module load. Useful for service + * configuration. + * @description + * Use this method to register work which needs to be performed on module loading. + */ + config: config, + + /** + * @ngdoc method + * @name angular.Module#run + * @methodOf angular.Module + * @param {Function} initializationFn Execute this function after injector creation. + * Useful for application initialization. + * @description + * Use this method to register work which should be performed when the injector is done + * loading all modules. + */ + run: function(block) { + runBlocks.push(block); + return this; + } + }; + + if (configFn) { + config(configFn); + } + + return moduleInstance; + + /** + * @param {string} provider + * @param {string} method + * @param {String=} insertMethod + * @returns {angular.Module} + */ + function invokeLater(provider, method, insertMethod) { + return function() { + invokeQueue[insertMethod || 'push']([provider, method, arguments]); + return moduleInstance; + } + } + }); + }; + }); + +} + +/** + * @ngdoc property + * @name angular.version + * @description + * An object that contains information about the current AngularJS version. This object has the + * following properties: + * + * - `full` – `{string}` – Full version string, such as "0.9.18". + * - `major` – `{number}` – Major version number, such as "0". + * - `minor` – `{number}` – Minor version number, such as "9". + * - `dot` – `{number}` – Dot version number, such as "18". + * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat". + */ +var version = { + full: '1.1.5', // all of these placeholder strings will be replaced by grunt's + major: 1, // package task + minor: 1, + dot: 5, + codeName: 'triangle-squarification' +}; + + +function publishExternalAPI(angular){ + extend(angular, { + 'bootstrap': bootstrap, + 'copy': copy, + 'extend': extend, + 'equals': equals, + 'element': jqLite, + 'forEach': forEach, + 'injector': createInjector, + 'noop':noop, + 'bind':bind, + 'toJson': toJson, + 'fromJson': fromJson, + 'identity':identity, + 'isUndefined': isUndefined, + 'isDefined': isDefined, + 'isString': isString, + 'isFunction': isFunction, + 'isObject': isObject, + 'isNumber': isNumber, + 'isElement': isElement, + 'isArray': isArray, + 'version': version, + 'isDate': isDate, + 'lowercase': lowercase, + 'uppercase': uppercase, + 'callbacks': {counter: 0}, + 'noConflict': noConflict + }); + + angularModule = setupModuleLoader(window); + try { + angularModule('ngLocale'); + } catch (e) { + angularModule('ngLocale', []).provider('$locale', $LocaleProvider); + } + + angularModule('ng', ['ngLocale'], ['$provide', + function ngModule($provide) { + $provide.provider('$compile', $CompileProvider). + directive({ + a: htmlAnchorDirective, + input: inputDirective, + textarea: inputDirective, + form: formDirective, + script: scriptDirective, + select: selectDirective, + style: styleDirective, + option: optionDirective, + ngBind: ngBindDirective, + ngBindHtmlUnsafe: ngBindHtmlUnsafeDirective, + ngBindTemplate: ngBindTemplateDirective, + ngClass: ngClassDirective, + ngClassEven: ngClassEvenDirective, + ngClassOdd: ngClassOddDirective, + ngCsp: ngCspDirective, + ngCloak: ngCloakDirective, + ngController: ngControllerDirective, + ngForm: ngFormDirective, + ngHide: ngHideDirective, + ngIf: ngIfDirective, + ngInclude: ngIncludeDirective, + ngInit: ngInitDirective, + ngNonBindable: ngNonBindableDirective, + ngPluralize: ngPluralizeDirective, + ngRepeat: ngRepeatDirective, + ngShow: ngShowDirective, + ngSubmit: ngSubmitDirective, + ngStyle: ngStyleDirective, + ngSwitch: ngSwitchDirective, + ngSwitchWhen: ngSwitchWhenDirective, + ngSwitchDefault: ngSwitchDefaultDirective, + ngOptions: ngOptionsDirective, + ngView: ngViewDirective, + ngTransclude: ngTranscludeDirective, + ngModel: ngModelDirective, + ngList: ngListDirective, + ngChange: ngChangeDirective, + required: requiredDirective, + ngRequired: requiredDirective, + ngValue: ngValueDirective + }). + directive(ngAttributeAliasDirectives). + directive(ngEventDirectives); + $provide.provider({ + $anchorScroll: $AnchorScrollProvider, + $animation: $AnimationProvider, + $animator: $AnimatorProvider, + $browser: $BrowserProvider, + $cacheFactory: $CacheFactoryProvider, + $controller: $ControllerProvider, + $document: $DocumentProvider, + $exceptionHandler: $ExceptionHandlerProvider, + $filter: $FilterProvider, + $interpolate: $InterpolateProvider, + $http: $HttpProvider, + $httpBackend: $HttpBackendProvider, + $location: $LocationProvider, + $log: $LogProvider, + $parse: $ParseProvider, + $route: $RouteProvider, + $routeParams: $RouteParamsProvider, + $rootScope: $RootScopeProvider, + $q: $QProvider, + $sniffer: $SnifferProvider, + $templateCache: $TemplateCacheProvider, + $timeout: $TimeoutProvider, + $window: $WindowProvider + }); + } + ]); +} + +////////////////////////////////// +//JQLite +////////////////////////////////// + +/** + * @ngdoc function + * @name angular.element + * @function + * + * @description + * Wraps a raw DOM element or HTML string as a [jQuery](http://jquery.com) element. + * `angular.element` can be either an alias for [jQuery](http://api.jquery.com/jQuery/) function, if + * jQuery is available, or a function that wraps the element or string in Angular's jQuery lite + * implementation (commonly referred to as jqLite). + * + * Real jQuery always takes precedence over jqLite, provided it was loaded before `DOMContentLoaded` + * event fired. + * + * jqLite is a tiny, API-compatible subset of jQuery that allows + * Angular to manipulate the DOM. jqLite implements only the most commonly needed functionality + * within a very small footprint, so only a subset of the jQuery API - methods, arguments and + * invocation styles - are supported. + * + * Note: All element references in Angular are always wrapped with jQuery or jqLite; they are never + * raw DOM references. + * + * ## Angular's jQuery lite provides the following methods: + * + * - [addClass()](http://api.jquery.com/addClass/) + * - [after()](http://api.jquery.com/after/) + * - [append()](http://api.jquery.com/append/) + * - [attr()](http://api.jquery.com/attr/) + * - [bind()](http://api.jquery.com/bind/) - Does not support namespaces + * - [children()](http://api.jquery.com/children/) - Does not support selectors + * - [clone()](http://api.jquery.com/clone/) + * - [contents()](http://api.jquery.com/contents/) + * - [css()](http://api.jquery.com/css/) + * - [data()](http://api.jquery.com/data/) + * - [eq()](http://api.jquery.com/eq/) + * - [find()](http://api.jquery.com/find/) - Limited to lookups by tag name + * - [hasClass()](http://api.jquery.com/hasClass/) + * - [html()](http://api.jquery.com/html/) + * - [next()](http://api.jquery.com/next/) - Does not support selectors + * - [parent()](http://api.jquery.com/parent/) - Does not support selectors + * - [prepend()](http://api.jquery.com/prepend/) + * - [prop()](http://api.jquery.com/prop/) + * - [ready()](http://api.jquery.com/ready/) + * - [remove()](http://api.jquery.com/remove/) + * - [removeAttr()](http://api.jquery.com/removeAttr/) + * - [removeClass()](http://api.jquery.com/removeClass/) + * - [removeData()](http://api.jquery.com/removeData/) + * - [replaceWith()](http://api.jquery.com/replaceWith/) + * - [text()](http://api.jquery.com/text/) + * - [toggleClass()](http://api.jquery.com/toggleClass/) + * - [triggerHandler()](http://api.jquery.com/triggerHandler/) - Passes a dummy event object to handlers. + * - [unbind()](http://api.jquery.com/unbind/) - Does not support namespaces + * - [val()](http://api.jquery.com/val/) + * - [wrap()](http://api.jquery.com/wrap/) + * + * ## In addition to the above, Angular provides additional methods to both jQuery and jQuery lite: + * + * - `controller(name)` - retrieves the controller of the current element or its parent. By default + * retrieves controller associated with the `ngController` directive. If `name` is provided as + * camelCase directive name, then the controller for this directive will be retrieved (e.g. + * `'ngModel'`). + * - `injector()` - retrieves the injector of the current element or its parent. + * - `scope()` - retrieves the {@link api/ng.$rootScope.Scope scope} of the current + * element or its parent. + * - `inheritedData()` - same as `data()`, but walks up the DOM until a value is found or the top + * parent element is reached. + * + * @param {string|DOMElement} element HTML string or DOMElement to be wrapped into jQuery. + * @returns {Object} jQuery object. + */ + +var jqCache = JQLite.cache = {}, + jqName = JQLite.expando = 'ng-' + new Date().getTime(), + jqId = 1, + addEventListenerFn = (window.document.addEventListener + ? function(element, type, fn) {element.addEventListener(type, fn, false);} + : function(element, type, fn) {element.attachEvent('on' + type, fn);}), + removeEventListenerFn = (window.document.removeEventListener + ? function(element, type, fn) {element.removeEventListener(type, fn, false); } + : function(element, type, fn) {element.detachEvent('on' + type, fn); }); + +function jqNextId() { return ++jqId; } + + +var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g; +var MOZ_HACK_REGEXP = /^moz([A-Z])/; + +/** + * Converts snake_case to camelCase. + * Also there is special case for Moz prefix starting with upper case letter. + * @param name Name to normalize + */ +function camelCase(name) { + return name. + replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }). + replace(MOZ_HACK_REGEXP, 'Moz$1'); +} + +///////////////////////////////////////////// +// jQuery mutation patch +// +// In conjunction with bindJQuery intercepts all jQuery's DOM destruction apis and fires a +// $destroy event on all DOM nodes being removed. +// +///////////////////////////////////////////// + +function JQLitePatchJQueryRemove(name, dispatchThis) { + var originalJqFn = jQuery.fn[name]; + originalJqFn = originalJqFn.$original || originalJqFn; + removePatch.$original = originalJqFn; + jQuery.fn[name] = removePatch; + + function removePatch() { + var list = [this], + fireEvent = dispatchThis, + set, setIndex, setLength, + element, childIndex, childLength, children, + fns, events; + + while(list.length) { + set = list.shift(); + for(setIndex = 0, setLength = set.length; setIndex < setLength; setIndex++) { + element = jqLite(set[setIndex]); + if (fireEvent) { + element.triggerHandler('$destroy'); + } else { + fireEvent = !fireEvent; + } + for(childIndex = 0, childLength = (children = element.children()).length; + childIndex < childLength; + childIndex++) { + list.push(jQuery(children[childIndex])); + } + } + } + return originalJqFn.apply(this, arguments); + } +} + +///////////////////////////////////////////// +function JQLite(element) { + if (element instanceof JQLite) { + return element; + } + if (!(this instanceof JQLite)) { + if (isString(element) && element.charAt(0) != '<') { + throw Error('selectors not implemented'); + } + return new JQLite(element); + } + + if (isString(element)) { + var div = document.createElement('div'); + // Read about the NoScope elements here: + // http://msdn.microsoft.com/en-us/library/ms533897(VS.85).aspx + div.innerHTML = '
 
' + element; // IE insanity to make NoScope elements work! + div.removeChild(div.firstChild); // remove the superfluous div + JQLiteAddNodes(this, div.childNodes); + this.remove(); // detach the elements from the temporary DOM div. + } else { + JQLiteAddNodes(this, element); + } +} + +function JQLiteClone(element) { + return element.cloneNode(true); +} + +function JQLiteDealoc(element){ + JQLiteRemoveData(element); + for ( var i = 0, children = element.childNodes || []; i < children.length; i++) { + JQLiteDealoc(children[i]); + } +} + +function JQLiteUnbind(element, type, fn) { + var events = JQLiteExpandoStore(element, 'events'), + handle = JQLiteExpandoStore(element, 'handle'); + + if (!handle) return; //no listeners registered + + if (isUndefined(type)) { + forEach(events, function(eventHandler, type) { + removeEventListenerFn(element, type, eventHandler); + delete events[type]; + }); + } else { + if (isUndefined(fn)) { + removeEventListenerFn(element, type, events[type]); + delete events[type]; + } else { + arrayRemove(events[type], fn); + } + } +} + +function JQLiteRemoveData(element) { + var expandoId = element[jqName], + expandoStore = jqCache[expandoId]; + + if (expandoStore) { + if (expandoStore.handle) { + expandoStore.events.$destroy && expandoStore.handle({}, '$destroy'); + JQLiteUnbind(element); + } + delete jqCache[expandoId]; + element[jqName] = undefined; // ie does not allow deletion of attributes on elements. + } +} + +function JQLiteExpandoStore(element, key, value) { + var expandoId = element[jqName], + expandoStore = jqCache[expandoId || -1]; + + if (isDefined(value)) { + if (!expandoStore) { + element[jqName] = expandoId = jqNextId(); + expandoStore = jqCache[expandoId] = {}; + } + expandoStore[key] = value; + } else { + return expandoStore && expandoStore[key]; + } +} + +function JQLiteData(element, key, value) { + var data = JQLiteExpandoStore(element, 'data'), + isSetter = isDefined(value), + keyDefined = !isSetter && isDefined(key), + isSimpleGetter = keyDefined && !isObject(key); + + if (!data && !isSimpleGetter) { + JQLiteExpandoStore(element, 'data', data = {}); + } + + if (isSetter) { + data[key] = value; + } else { + if (keyDefined) { + if (isSimpleGetter) { + // don't create data in this case. + return data && data[key]; + } else { + extend(data, key); + } + } else { + return data; + } + } +} + +function JQLiteHasClass(element, selector) { + return ((" " + element.className + " ").replace(/[\n\t]/g, " "). + indexOf( " " + selector + " " ) > -1); +} + +function JQLiteRemoveClass(element, cssClasses) { + if (cssClasses) { + forEach(cssClasses.split(' '), function(cssClass) { + element.className = trim( + (" " + element.className + " ") + .replace(/[\n\t]/g, " ") + .replace(" " + trim(cssClass) + " ", " ") + ); + }); + } +} + +function JQLiteAddClass(element, cssClasses) { + if (cssClasses) { + forEach(cssClasses.split(' '), function(cssClass) { + if (!JQLiteHasClass(element, cssClass)) { + element.className = trim(element.className + ' ' + trim(cssClass)); + } + }); + } +} + +function JQLiteAddNodes(root, elements) { + if (elements) { + elements = (!elements.nodeName && isDefined(elements.length) && !isWindow(elements)) + ? elements + : [ elements ]; + for(var i=0; i < elements.length; i++) { + root.push(elements[i]); + } + } +} + +function JQLiteController(element, name) { + return JQLiteInheritedData(element, '$' + (name || 'ngController' ) + 'Controller'); +} + +function JQLiteInheritedData(element, name, value) { + element = jqLite(element); + + // if element is the document object work with the html element instead + // this makes $(document).scope() possible + if(element[0].nodeType == 9) { + element = element.find('html'); + } + + while (element.length) { + if (value = element.data(name)) return value; + element = element.parent(); + } +} + +////////////////////////////////////////// +// Functions which are declared directly. +////////////////////////////////////////// +var JQLitePrototype = JQLite.prototype = { + ready: function(fn) { + var fired = false; + + function trigger() { + if (fired) return; + fired = true; + fn(); + } + + // check if document already is loaded + if (document.readyState === 'complete'){ + setTimeout(trigger); + } else { + this.bind('DOMContentLoaded', trigger); // works for modern browsers and IE9 + // we can not use jqLite since we are not done loading and jQuery could be loaded later. + JQLite(window).bind('load', trigger); // fallback to window.onload for others + } + }, + toString: function() { + var value = []; + forEach(this, function(e){ value.push('' + e);}); + return '[' + value.join(', ') + ']'; + }, + + eq: function(index) { + return (index >= 0) ? jqLite(this[index]) : jqLite(this[this.length + index]); + }, + + length: 0, + push: push, + sort: [].sort, + splice: [].splice +}; + +////////////////////////////////////////// +// Functions iterating getter/setters. +// these functions return self on setter and +// value on get. +////////////////////////////////////////// +var BOOLEAN_ATTR = {}; +forEach('multiple,selected,checked,disabled,readOnly,required,open'.split(','), function(value) { + BOOLEAN_ATTR[lowercase(value)] = value; +}); +var BOOLEAN_ELEMENTS = {}; +forEach('input,select,option,textarea,button,form,details'.split(','), function(value) { + BOOLEAN_ELEMENTS[uppercase(value)] = true; +}); + +function getBooleanAttrName(element, name) { + // check dom last since we will most likely fail on name + var booleanAttr = BOOLEAN_ATTR[name.toLowerCase()]; + + // booleanAttr is here twice to minimize DOM access + return booleanAttr && BOOLEAN_ELEMENTS[element.nodeName] && booleanAttr; +} + +forEach({ + data: JQLiteData, + inheritedData: JQLiteInheritedData, + + scope: function(element) { + return JQLiteInheritedData(element, '$scope'); + }, + + controller: JQLiteController , + + injector: function(element) { + return JQLiteInheritedData(element, '$injector'); + }, + + removeAttr: function(element,name) { + element.removeAttribute(name); + }, + + hasClass: JQLiteHasClass, + + css: function(element, name, value) { + name = camelCase(name); + + if (isDefined(value)) { + element.style[name] = value; + } else { + var val; + + if (msie <= 8) { + // this is some IE specific weirdness that jQuery 1.6.4 does not sure why + val = element.currentStyle && element.currentStyle[name]; + if (val === '') val = 'auto'; + } + + val = val || element.style[name]; + + if (msie <= 8) { + // jquery weirdness :-/ + val = (val === '') ? undefined : val; + } + + return val; + } + }, + + attr: function(element, name, value){ + var lowercasedName = lowercase(name); + if (BOOLEAN_ATTR[lowercasedName]) { + if (isDefined(value)) { + if (!!value) { + element[name] = true; + element.setAttribute(name, lowercasedName); + } else { + element[name] = false; + element.removeAttribute(lowercasedName); + } + } else { + return (element[name] || + (element.attributes.getNamedItem(name)|| noop).specified) + ? lowercasedName + : undefined; + } + } else if (isDefined(value)) { + element.setAttribute(name, value); + } else if (element.getAttribute) { + // the extra argument "2" is to get the right thing for a.href in IE, see jQuery code + // some elements (e.g. Document) don't have get attribute, so return undefined + var ret = element.getAttribute(name, 2); + // normalize non-existing attributes to undefined (as jQuery) + return ret === null ? undefined : ret; + } + }, + + prop: function(element, name, value) { + if (isDefined(value)) { + element[name] = value; + } else { + return element[name]; + } + }, + + text: extend((msie < 9) + ? function(element, value) { + if (element.nodeType == 1 /** Element */) { + if (isUndefined(value)) + return element.innerText; + element.innerText = value; + } else { + if (isUndefined(value)) + return element.nodeValue; + element.nodeValue = value; + } + } + : function(element, value) { + if (isUndefined(value)) { + return element.textContent; + } + element.textContent = value; + }, {$dv:''}), + + val: function(element, value) { + if (isUndefined(value)) { + return element.value; + } + element.value = value; + }, + + html: function(element, value) { + if (isUndefined(value)) { + return element.innerHTML; + } + for (var i = 0, childNodes = element.childNodes; i < childNodes.length; i++) { + JQLiteDealoc(childNodes[i]); + } + element.innerHTML = value; + } +}, function(fn, name){ + /** + * Properties: writes return selection, reads return first value + */ + JQLite.prototype[name] = function(arg1, arg2) { + var i, key; + + // JQLiteHasClass has only two arguments, but is a getter-only fn, so we need to special-case it + // in a way that survives minification. + if (((fn.length == 2 && (fn !== JQLiteHasClass && fn !== JQLiteController)) ? arg1 : arg2) === undefined) { + if (isObject(arg1)) { + + // we are a write, but the object properties are the key/values + for(i=0; i < this.length; i++) { + if (fn === JQLiteData) { + // data() takes the whole object in jQuery + fn(this[i], arg1); + } else { + for (key in arg1) { + fn(this[i], key, arg1[key]); + } + } + } + // return self for chaining + return this; + } else { + // we are a read, so read the first child. + if (this.length) + return fn(this[0], arg1, arg2); + } + } else { + // we are a write, so apply to all children + for(i=0; i < this.length; i++) { + fn(this[i], arg1, arg2); + } + // return self for chaining + return this; + } + return fn.$dv; + }; +}); + +function createEventHandler(element, events) { + var eventHandler = function (event, type) { + if (!event.preventDefault) { + event.preventDefault = function() { + event.returnValue = false; //ie + }; + } + + if (!event.stopPropagation) { + event.stopPropagation = function() { + event.cancelBubble = true; //ie + }; + } + + if (!event.target) { + event.target = event.srcElement || document; + } + + if (isUndefined(event.defaultPrevented)) { + var prevent = event.preventDefault; + event.preventDefault = function() { + event.defaultPrevented = true; + prevent.call(event); + }; + event.defaultPrevented = false; + } + + event.isDefaultPrevented = function() { + return event.defaultPrevented || event.returnValue == false; + }; + + forEach(events[type || event.type], function(fn) { + fn.call(element, event); + }); + + // Remove monkey-patched methods (IE), + // as they would cause memory leaks in IE8. + if (msie <= 8) { + // IE7/8 does not allow to delete property on native object + event.preventDefault = null; + event.stopPropagation = null; + event.isDefaultPrevented = null; + } else { + // It shouldn't affect normal browsers (native methods are defined on prototype). + delete event.preventDefault; + delete event.stopPropagation; + delete event.isDefaultPrevented; + } + }; + eventHandler.elem = element; + return eventHandler; +} + +////////////////////////////////////////// +// Functions iterating traversal. +// These functions chain results into a single +// selector. +////////////////////////////////////////// +forEach({ + removeData: JQLiteRemoveData, + + dealoc: JQLiteDealoc, + + bind: function bindFn(element, type, fn){ + var events = JQLiteExpandoStore(element, 'events'), + handle = JQLiteExpandoStore(element, 'handle'); + + if (!events) JQLiteExpandoStore(element, 'events', events = {}); + if (!handle) JQLiteExpandoStore(element, 'handle', handle = createEventHandler(element, events)); + + forEach(type.split(' '), function(type){ + var eventFns = events[type]; + + if (!eventFns) { + if (type == 'mouseenter' || type == 'mouseleave') { + var contains = document.body.contains || document.body.compareDocumentPosition ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + events[type] = []; + + // Refer to jQuery's implementation of mouseenter & mouseleave + // Read about mouseenter and mouseleave: + // http://www.quirksmode.org/js/events_mouse.html#link8 + var eventmap = { mouseleave : "mouseout", mouseenter : "mouseover"} + bindFn(element, eventmap[type], function(event) { + var ret, target = this, related = event.relatedTarget; + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !contains(target, related)) ){ + handle(event, type); + } + + }); + + } else { + addEventListenerFn(element, type, handle); + events[type] = []; + } + eventFns = events[type] + } + eventFns.push(fn); + }); + }, + + unbind: JQLiteUnbind, + + replaceWith: function(element, replaceNode) { + var index, parent = element.parentNode; + JQLiteDealoc(element); + forEach(new JQLite(replaceNode), function(node){ + if (index) { + parent.insertBefore(node, index.nextSibling); + } else { + parent.replaceChild(node, element); + } + index = node; + }); + }, + + children: function(element) { + var children = []; + forEach(element.childNodes, function(element){ + if (element.nodeType === 1) + children.push(element); + }); + return children; + }, + + contents: function(element) { + return element.childNodes || []; + }, + + append: function(element, node) { + forEach(new JQLite(node), function(child){ + if (element.nodeType === 1 || element.nodeType === 11) { + element.appendChild(child); + } + }); + }, + + prepend: function(element, node) { + if (element.nodeType === 1) { + var index = element.firstChild; + forEach(new JQLite(node), function(child){ + if (index) { + element.insertBefore(child, index); + } else { + element.appendChild(child); + index = child; + } + }); + } + }, + + wrap: function(element, wrapNode) { + wrapNode = jqLite(wrapNode)[0]; + var parent = element.parentNode; + if (parent) { + parent.replaceChild(wrapNode, element); + } + wrapNode.appendChild(element); + }, + + remove: function(element) { + JQLiteDealoc(element); + var parent = element.parentNode; + if (parent) parent.removeChild(element); + }, + + after: function(element, newElement) { + var index = element, parent = element.parentNode; + forEach(new JQLite(newElement), function(node){ + parent.insertBefore(node, index.nextSibling); + index = node; + }); + }, + + addClass: JQLiteAddClass, + removeClass: JQLiteRemoveClass, + + toggleClass: function(element, selector, condition) { + if (isUndefined(condition)) { + condition = !JQLiteHasClass(element, selector); + } + (condition ? JQLiteAddClass : JQLiteRemoveClass)(element, selector); + }, + + parent: function(element) { + var parent = element.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + + next: function(element) { + if (element.nextElementSibling) { + return element.nextElementSibling; + } + + // IE8 doesn't have nextElementSibling + var elm = element.nextSibling; + while (elm != null && elm.nodeType !== 1) { + elm = elm.nextSibling; + } + return elm; + }, + + find: function(element, selector) { + return element.getElementsByTagName(selector); + }, + + clone: JQLiteClone, + + triggerHandler: function(element, eventName) { + var eventFns = (JQLiteExpandoStore(element, 'events') || {})[eventName]; + var event; + + forEach(eventFns, function(fn) { + fn.call(element, {preventDefault: noop}); + }); + } +}, function(fn, name){ + /** + * chaining functions + */ + JQLite.prototype[name] = function(arg1, arg2) { + var value; + for(var i=0; i < this.length; i++) { + if (value == undefined) { + value = fn(this[i], arg1, arg2); + if (value !== undefined) { + // any function which returns a value needs to be wrapped + value = jqLite(value); + } + } else { + JQLiteAddNodes(value, fn(this[i], arg1, arg2)); + } + } + return value == undefined ? this : value; + }; +}); + +/** + * Computes a hash of an 'obj'. + * Hash of a: + * string is string + * number is number as string + * object is either result of calling $$hashKey function on the object or uniquely generated id, + * that is also assigned to the $$hashKey property of the object. + * + * @param obj + * @returns {string} hash string such that the same input will have the same hash string. + * The resulting string key is in 'type:hashKey' format. + */ +function hashKey(obj) { + var objType = typeof obj, + key; + + if (objType == 'object' && obj !== null) { + if (typeof (key = obj.$$hashKey) == 'function') { + // must invoke on object to keep the right this + key = obj.$$hashKey(); + } else if (key === undefined) { + key = obj.$$hashKey = nextUid(); + } + } else { + key = obj; + } + + return objType + ':' + key; +} + +/** + * HashMap which can use objects as keys + */ +function HashMap(array){ + forEach(array, this.put, this); +} +HashMap.prototype = { + /** + * Store key value pair + * @param key key to store can be any type + * @param value value to store can be any type + */ + put: function(key, value) { + this[hashKey(key)] = value; + }, + + /** + * @param key + * @returns the value for the key + */ + get: function(key) { + return this[hashKey(key)]; + }, + + /** + * Remove the key/value pair + * @param key + */ + remove: function(key) { + var value = this[key = hashKey(key)]; + delete this[key]; + return value; + } +}; + +/** + * @ngdoc function + * @name angular.injector + * @function + * + * @description + * Creates an injector function that can be used for retrieving services as well as for + * dependency injection (see {@link guide/di dependency injection}). + * + + * @param {Array.} modules A list of module functions or their aliases. See + * {@link angular.module}. The `ng` module must be explicitly added. + * @returns {function()} Injector function. See {@link AUTO.$injector $injector}. + * + * @example + * Typical usage + *
+ *   // create an injector
+ *   var $injector = angular.injector(['ng']);
+ *
+ *   // use the injector to kick off your application
+ *   // use the type inference to auto inject arguments, or use implicit injection
+ *   $injector.invoke(function($rootScope, $compile, $document){
+ *     $compile($document)($rootScope);
+ *     $rootScope.$digest();
+ *   });
+ * 
+ */ + + +/** + * @ngdoc overview + * @name AUTO + * @description + * + * Implicit module which gets automatically added to each {@link AUTO.$injector $injector}. + */ + +var FN_ARGS = /^function\s*[^\(]*\(\s*([^\)]*)\)/m; +var FN_ARG_SPLIT = /,/; +var FN_ARG = /^\s*(_?)(\S+?)\1\s*$/; +var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; +function annotate(fn) { + var $inject, + fnText, + argDecl, + last; + + if (typeof fn == 'function') { + if (!($inject = fn.$inject)) { + $inject = []; + fnText = fn.toString().replace(STRIP_COMMENTS, ''); + argDecl = fnText.match(FN_ARGS); + forEach(argDecl[1].split(FN_ARG_SPLIT), function(arg){ + arg.replace(FN_ARG, function(all, underscore, name){ + $inject.push(name); + }); + }); + fn.$inject = $inject; + } + } else if (isArray(fn)) { + last = fn.length - 1; + assertArgFn(fn[last], 'fn'); + $inject = fn.slice(0, last); + } else { + assertArgFn(fn, 'fn', true); + } + return $inject; +} + +/////////////////////////////////////// + +/** + * @ngdoc object + * @name AUTO.$injector + * @function + * + * @description + * + * `$injector` is used to retrieve object instances as defined by + * {@link AUTO.$provide provider}, instantiate types, invoke methods, + * and load modules. + * + * The following always holds true: + * + *
+ *   var $injector = angular.injector();
+ *   expect($injector.get('$injector')).toBe($injector);
+ *   expect($injector.invoke(function($injector){
+ *     return $injector;
+ *   }).toBe($injector);
+ * 
+ * + * # Injection Function Annotation + * + * JavaScript does not have annotations, and annotations are needed for dependency injection. The + * following are all valid ways of annotating function with injection arguments and are equivalent. + * + *
+ *   // inferred (only works if code not minified/obfuscated)
+ *   $injector.invoke(function(serviceA){});
+ *
+ *   // annotated
+ *   function explicit(serviceA) {};
+ *   explicit.$inject = ['serviceA'];
+ *   $injector.invoke(explicit);
+ *
+ *   // inline
+ *   $injector.invoke(['serviceA', function(serviceA){}]);
+ * 
+ * + * ## Inference + * + * In JavaScript calling `toString()` on a function returns the function definition. The definition can then be + * parsed and the function arguments can be extracted. *NOTE:* This does not work with minification, and obfuscation + * tools since these tools change the argument names. + * + * ## `$inject` Annotation + * By adding a `$inject` property onto a function the injection parameters can be specified. + * + * ## Inline + * As an array of injection names, where the last item in the array is the function to call. + */ + +/** + * @ngdoc method + * @name AUTO.$injector#get + * @methodOf AUTO.$injector + * + * @description + * Return an instance of the service. + * + * @param {string} name The name of the instance to retrieve. + * @return {*} The instance. + */ + +/** + * @ngdoc method + * @name AUTO.$injector#invoke + * @methodOf AUTO.$injector + * + * @description + * Invoke the method and supply the method arguments from the `$injector`. + * + * @param {!function} fn The function to invoke. The function arguments come form the function annotation. + * @param {Object=} self The `this` for the invoked method. + * @param {Object=} locals Optional object. If preset then any argument names are read from this object first, before + * the `$injector` is consulted. + * @returns {*} the value returned by the invoked `fn` function. + */ + +/** + * @ngdoc method + * @name AUTO.$injector#has + * @methodOf AUTO.$injector + * + * @description + * Allows the user to query if the particular service exist. + * + * @param {string} Name of the service to query. + * @returns {boolean} returns true if injector has given service. + */ + +/** + * @ngdoc method + * @name AUTO.$injector#instantiate + * @methodOf AUTO.$injector + * @description + * Create a new instance of JS type. The method takes a constructor function invokes the new operator and supplies + * all of the arguments to the constructor function as specified by the constructor annotation. + * + * @param {function} Type Annotated constructor function. + * @param {Object=} locals Optional object. If preset then any argument names are read from this object first, before + * the `$injector` is consulted. + * @returns {Object} new instance of `Type`. + */ + +/** + * @ngdoc method + * @name AUTO.$injector#annotate + * @methodOf AUTO.$injector + * + * @description + * Returns an array of service names which the function is requesting for injection. This API is used by the injector + * to determine which services need to be injected into the function when the function is invoked. There are three + * ways in which the function can be annotated with the needed dependencies. + * + * # Argument names + * + * The simplest form is to extract the dependencies from the arguments of the function. This is done by converting + * the function into a string using `toString()` method and extracting the argument names. + *
+ *   // Given
+ *   function MyController($scope, $route) {
+ *     // ...
+ *   }
+ *
+ *   // Then
+ *   expect(injector.annotate(MyController)).toEqual(['$scope', '$route']);
+ * 
+ * + * This method does not work with code minfication / obfuscation. For this reason the following annotation strategies + * are supported. + * + * # The `$inject` property + * + * If a function has an `$inject` property and its value is an array of strings, then the strings represent names of + * services to be injected into the function. + *
+ *   // Given
+ *   var MyController = function(obfuscatedScope, obfuscatedRoute) {
+ *     // ...
+ *   }
+ *   // Define function dependencies
+ *   MyController.$inject = ['$scope', '$route'];
+ *
+ *   // Then
+ *   expect(injector.annotate(MyController)).toEqual(['$scope', '$route']);
+ * 
+ * + * # The array notation + * + * It is often desirable to inline Injected functions and that's when setting the `$inject` property is very + * inconvenient. In these situations using the array notation to specify the dependencies in a way that survives + * minification is a better choice: + * + *
+ *   // We wish to write this (not minification / obfuscation safe)
+ *   injector.invoke(function($compile, $rootScope) {
+ *     // ...
+ *   });
+ *
+ *   // We are forced to write break inlining
+ *   var tmpFn = function(obfuscatedCompile, obfuscatedRootScope) {
+ *     // ...
+ *   };
+ *   tmpFn.$inject = ['$compile', '$rootScope'];
+ *   injector.invoke(tmpFn);
+ *
+ *   // To better support inline function the inline annotation is supported
+ *   injector.invoke(['$compile', '$rootScope', function(obfCompile, obfRootScope) {
+ *     // ...
+ *   }]);
+ *
+ *   // Therefore
+ *   expect(injector.annotate(
+ *      ['$compile', '$rootScope', function(obfus_$compile, obfus_$rootScope) {}])
+ *    ).toEqual(['$compile', '$rootScope']);
+ * 
+ * + * @param {function|Array.} fn Function for which dependent service names need to be retrieved as described + * above. + * + * @returns {Array.} The names of the services which the function requires. + */ + + + + +/** + * @ngdoc object + * @name AUTO.$provide + * + * @description + * + * Use `$provide` to register new providers with the `$injector`. The providers are the factories for the instance. + * The providers share the same name as the instance they create with `Provider` suffixed to them. + * + * A provider is an object with a `$get()` method. The injector calls the `$get` method to create a new instance of + * a service. The Provider can have additional methods which would allow for configuration of the provider. + * + *
+ *   function GreetProvider() {
+ *     var salutation = 'Hello';
+ *
+ *     this.salutation = function(text) {
+ *       salutation = text;
+ *     };
+ *
+ *     this.$get = function() {
+ *       return function (name) {
+ *         return salutation + ' ' + name + '!';
+ *       };
+ *     };
+ *   }
+ *
+ *   describe('Greeter', function(){
+ *
+ *     beforeEach(module(function($provide) {
+ *       $provide.provider('greet', GreetProvider);
+ *     }));
+ *
+ *     it('should greet', inject(function(greet) {
+ *       expect(greet('angular')).toEqual('Hello angular!');
+ *     }));
+ *
+ *     it('should allow configuration of salutation', function() {
+ *       module(function(greetProvider) {
+ *         greetProvider.salutation('Ahoj');
+ *       });
+ *       inject(function(greet) {
+ *         expect(greet('angular')).toEqual('Ahoj angular!');
+ *       });
+ *     });
+ * 
+ */ + +/** + * @ngdoc method + * @name AUTO.$provide#provider + * @methodOf AUTO.$provide + * @description + * + * Register a provider for a service. The providers can be retrieved and can have additional configuration methods. + * + * @param {string} name The name of the instance. NOTE: the provider will be available under `name + 'Provider'` key. + * @param {(Object|function())} provider If the provider is: + * + * - `Object`: then it should have a `$get` method. The `$get` method will be invoked using + * {@link AUTO.$injector#invoke $injector.invoke()} when an instance needs to be created. + * - `Constructor`: a new instance of the provider will be created using + * {@link AUTO.$injector#instantiate $injector.instantiate()}, then treated as `object`. + * + * @returns {Object} registered provider instance + */ + +/** + * @ngdoc method + * @name AUTO.$provide#factory + * @methodOf AUTO.$provide + * @description + * + * A short hand for configuring services if only `$get` method is required. + * + * @param {string} name The name of the instance. + * @param {function()} $getFn The $getFn for the instance creation. Internally this is a short hand for + * `$provide.provider(name, {$get: $getFn})`. + * @returns {Object} registered provider instance + */ + + +/** + * @ngdoc method + * @name AUTO.$provide#service + * @methodOf AUTO.$provide + * @description + * + * A short hand for registering service of given class. + * + * @param {string} name The name of the instance. + * @param {Function} constructor A class (constructor function) that will be instantiated. + * @returns {Object} registered provider instance + */ + + +/** + * @ngdoc method + * @name AUTO.$provide#value + * @methodOf AUTO.$provide + * @description + * + * A short hand for configuring services if the `$get` method is a constant. + * + * @param {string} name The name of the instance. + * @param {*} value The value. + * @returns {Object} registered provider instance + */ + + +/** + * @ngdoc method + * @name AUTO.$provide#constant + * @methodOf AUTO.$provide + * @description + * + * A constant value, but unlike {@link AUTO.$provide#value value} it can be injected + * into configuration function (other modules) and it is not interceptable by + * {@link AUTO.$provide#decorator decorator}. + * + * @param {string} name The name of the constant. + * @param {*} value The constant value. + * @returns {Object} registered instance + */ + + +/** + * @ngdoc method + * @name AUTO.$provide#decorator + * @methodOf AUTO.$provide + * @description + * + * Decoration of service, allows the decorator to intercept the service instance creation. The + * returned instance may be the original instance, or a new instance which delegates to the + * original instance. + * + * @param {string} name The name of the service to decorate. + * @param {function()} decorator This function will be invoked when the service needs to be + * instantiated. The function is called using the {@link AUTO.$injector#invoke + * injector.invoke} method and is therefore fully injectable. Local injection arguments: + * + * * `$delegate` - The original service instance, which can be monkey patched, configured, + * decorated or delegated to. + */ + + +function createInjector(modulesToLoad) { + var INSTANTIATING = {}, + providerSuffix = 'Provider', + path = [], + loadedModules = new HashMap(), + providerCache = { + $provide: { + provider: supportObject(provider), + factory: supportObject(factory), + service: supportObject(service), + value: supportObject(value), + constant: supportObject(constant), + decorator: decorator + } + }, + providerInjector = (providerCache.$injector = + createInternalInjector(providerCache, function() { + throw Error("Unknown provider: " + path.join(' <- ')); + })), + instanceCache = {}, + instanceInjector = (instanceCache.$injector = + createInternalInjector(instanceCache, function(servicename) { + var provider = providerInjector.get(servicename + providerSuffix); + return instanceInjector.invoke(provider.$get, provider); + })); + + + forEach(loadModules(modulesToLoad), function(fn) { instanceInjector.invoke(fn || noop); }); + + return instanceInjector; + + //////////////////////////////////// + // $provider + //////////////////////////////////// + + function supportObject(delegate) { + return function(key, value) { + if (isObject(key)) { + forEach(key, reverseParams(delegate)); + } else { + return delegate(key, value); + } + } + } + + function provider(name, provider_) { + if (isFunction(provider_) || isArray(provider_)) { + provider_ = providerInjector.instantiate(provider_); + } + if (!provider_.$get) { + throw Error('Provider ' + name + ' must define $get factory method.'); + } + return providerCache[name + providerSuffix] = provider_; + } + + function factory(name, factoryFn) { return provider(name, { $get: factoryFn }); } + + function service(name, constructor) { + return factory(name, ['$injector', function($injector) { + return $injector.instantiate(constructor); + }]); + } + + function value(name, value) { return factory(name, valueFn(value)); } + + function constant(name, value) { + providerCache[name] = value; + instanceCache[name] = value; + } + + function decorator(serviceName, decorFn) { + var origProvider = providerInjector.get(serviceName + providerSuffix), + orig$get = origProvider.$get; + + origProvider.$get = function() { + var origInstance = instanceInjector.invoke(orig$get, origProvider); + return instanceInjector.invoke(decorFn, null, {$delegate: origInstance}); + }; + } + + //////////////////////////////////// + // Module Loading + //////////////////////////////////// + function loadModules(modulesToLoad){ + var runBlocks = []; + forEach(modulesToLoad, function(module) { + if (loadedModules.get(module)) return; + loadedModules.put(module, true); + if (isString(module)) { + var moduleFn = angularModule(module); + runBlocks = runBlocks.concat(loadModules(moduleFn.requires)).concat(moduleFn._runBlocks); + + try { + for(var invokeQueue = moduleFn._invokeQueue, i = 0, ii = invokeQueue.length; i < ii; i++) { + var invokeArgs = invokeQueue[i], + provider = providerInjector.get(invokeArgs[0]); + + provider[invokeArgs[1]].apply(provider, invokeArgs[2]); + } + } catch (e) { + if (e.message) e.message += ' from ' + module; + throw e; + } + } else if (isFunction(module)) { + try { + runBlocks.push(providerInjector.invoke(module)); + } catch (e) { + if (e.message) e.message += ' from ' + module; + throw e; + } + } else if (isArray(module)) { + try { + runBlocks.push(providerInjector.invoke(module)); + } catch (e) { + if (e.message) e.message += ' from ' + String(module[module.length - 1]); + throw e; + } + } else { + assertArgFn(module, 'module'); + } + }); + return runBlocks; + } + + //////////////////////////////////// + // internal Injector + //////////////////////////////////// + + function createInternalInjector(cache, factory) { + + function getService(serviceName) { + if (typeof serviceName !== 'string') { + throw Error('Service name expected'); + } + if (cache.hasOwnProperty(serviceName)) { + if (cache[serviceName] === INSTANTIATING) { + throw Error('Circular dependency: ' + path.join(' <- ')); + } + return cache[serviceName]; + } else { + try { + path.unshift(serviceName); + cache[serviceName] = INSTANTIATING; + return cache[serviceName] = factory(serviceName); + } finally { + path.shift(); + } + } + } + + function invoke(fn, self, locals){ + var args = [], + $inject = annotate(fn), + length, i, + key; + + for(i = 0, length = $inject.length; i < length; i++) { + key = $inject[i]; + args.push( + locals && locals.hasOwnProperty(key) + ? locals[key] + : getService(key) + ); + } + if (!fn.$inject) { + // this means that we must be an array. + fn = fn[length]; + } + + + // Performance optimization: http://jsperf.com/apply-vs-call-vs-invoke + switch (self ? -1 : args.length) { + case 0: return fn(); + case 1: return fn(args[0]); + case 2: return fn(args[0], args[1]); + case 3: return fn(args[0], args[1], args[2]); + case 4: return fn(args[0], args[1], args[2], args[3]); + case 5: return fn(args[0], args[1], args[2], args[3], args[4]); + case 6: return fn(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + case 8: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]); + case 9: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]); + case 10: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]); + default: return fn.apply(self, args); + } + } + + function instantiate(Type, locals) { + var Constructor = function() {}, + instance, returnedValue; + + // Check if Type is annotated and use just the given function at n-1 as parameter + // e.g. someModule.factory('greeter', ['$window', function(renamed$window) {}]); + Constructor.prototype = (isArray(Type) ? Type[Type.length - 1] : Type).prototype; + instance = new Constructor(); + returnedValue = invoke(Type, instance, locals); + + return isObject(returnedValue) ? returnedValue : instance; + } + + return { + invoke: invoke, + instantiate: instantiate, + get: getService, + annotate: annotate, + has: function(name) { + return providerCache.hasOwnProperty(name + providerSuffix) || cache.hasOwnProperty(name); + } + }; + } +} + +/** + * @ngdoc function + * @name ng.$anchorScroll + * @requires $window + * @requires $location + * @requires $rootScope + * + * @description + * When called, it checks current value of `$location.hash()` and scroll to related element, + * according to rules specified in + * {@link http://dev.w3.org/html5/spec/Overview.html#the-indicated-part-of-the-document Html5 spec}. + * + * It also watches the `$location.hash()` and scroll whenever it changes to match any anchor. + * This can be disabled by calling `$anchorScrollProvider.disableAutoScrolling()`. + */ +function $AnchorScrollProvider() { + + var autoScrollingEnabled = true; + + this.disableAutoScrolling = function() { + autoScrollingEnabled = false; + }; + + this.$get = ['$window', '$location', '$rootScope', function($window, $location, $rootScope) { + var document = $window.document; + + // helper function to get first anchor from a NodeList + // can't use filter.filter, as it accepts only instances of Array + // and IE can't convert NodeList to an array using [].slice + // TODO(vojta): use filter if we change it to accept lists as well + function getFirstAnchor(list) { + var result = null; + forEach(list, function(element) { + if (!result && lowercase(element.nodeName) === 'a') result = element; + }); + return result; + } + + function scroll() { + var hash = $location.hash(), elm; + + // empty hash, scroll to the top of the page + if (!hash) $window.scrollTo(0, 0); + + // element with given id + else if ((elm = document.getElementById(hash))) elm.scrollIntoView(); + + // first anchor with given name :-D + else if ((elm = getFirstAnchor(document.getElementsByName(hash)))) elm.scrollIntoView(); + + // no element and hash == 'top', scroll to the top of the page + else if (hash === 'top') $window.scrollTo(0, 0); + } + + // does not scroll when user clicks on anchor link that is currently on + // (no url change, no $location.hash() change), browser native does scroll + if (autoScrollingEnabled) { + $rootScope.$watch(function autoScrollWatch() {return $location.hash();}, + function autoScrollWatchAction() { + $rootScope.$evalAsync(scroll); + }); + } + + return scroll; + }]; +} + + +/** + * @ngdoc object + * @name ng.$animationProvider + * @description + * + * The $AnimationProvider provider allows developers to register and access custom JavaScript animations directly inside + * of a module. + * + */ +$AnimationProvider.$inject = ['$provide']; +function $AnimationProvider($provide) { + var suffix = 'Animation'; + + /** + * @ngdoc function + * @name ng.$animation#register + * @methodOf ng.$animationProvider + * + * @description + * Registers a new injectable animation factory function. The factory function produces the animation object which + * has these two properties: + * + * * `setup`: `function(Element):*` A function which receives the starting state of the element. The purpose + * of this function is to get the element ready for animation. Optionally the function returns an memento which + * is passed to the `start` function. + * * `start`: `function(Element, doneFunction, *)` The element to animate, the `doneFunction` to be called on + * element animation completion, and an optional memento from the `setup` function. + * + * @param {string} name The name of the animation. + * @param {function} factory The factory function that will be executed to return the animation object. + * + */ + this.register = function(name, factory) { + $provide.factory(camelCase(name) + suffix, factory); + }; + + this.$get = ['$injector', function($injector) { + /** + * @ngdoc function + * @name ng.$animation + * @function + * + * @description + * The $animation service is used to retrieve any defined animation functions. When executed, the $animation service + * will return a object that contains the setup and start functions that were defined for the animation. + * + * @param {String} name Name of the animation function to retrieve. Animation functions are registered and stored + * inside of the AngularJS DI so a call to $animate('custom') is the same as injecting `customAnimation` + * via dependency injection. + * @return {Object} the animation object which contains the `setup` and `start` functions that perform the animation. + */ + return function $animation(name) { + if (name) { + var animationName = camelCase(name) + suffix; + if ($injector.has(animationName)) { + return $injector.get(animationName); + } + } + }; + }]; +} + +// NOTE: this is a pseudo directive. + +/** + * @ngdoc directive + * @name ng.directive:ngAnimate + * + * @description + * The `ngAnimate` directive works as an attribute that is attached alongside pre-existing directives. + * It effects how the directive will perform DOM manipulation. This allows for complex animations to take place + * without burdening the directive which uses the animation with animation details. The built in directives + * `ngRepeat`, `ngInclude`, `ngSwitch`, `ngShow`, `ngHide` and `ngView` already accept `ngAnimate` directive. + * Custom directives can take advantage of animation through {@link ng.$animator $animator service}. + * + * Below is a more detailed breakdown of the supported callback events provided by pre-exisitng ng directives: + * + * | Directive | Supported Animations | + * |========================================================== |====================================================| + * | {@link ng.directive:ngRepeat#animations ngRepeat} | enter, leave and move | + * | {@link ng.directive:ngView#animations ngView} | enter and leave | + * | {@link ng.directive:ngInclude#animations ngInclude} | enter and leave | + * | {@link ng.directive:ngSwitch#animations ngSwitch} | enter and leave | + * | {@link ng.directive:ngIf#animations ngIf} | enter and leave | + * | {@link ng.directive:ngShow#animations ngShow & ngHide} | show and hide | + * + * You can find out more information about animations upon visiting each directive page. + * + * Below is an example of a directive that makes use of the ngAnimate attribute: + * + *
+ * 
+ * 
+ *
+ * 
+ * 
+ * 
+ * 
+ *
+ * 
+ * 
+ * 
+ * + * The `event1` and `event2` attributes refer to the animation events specific to the directive that has been assigned. + * + * Keep in mind that if an animation is running, no child element of such animation can also be animated. + * + *

CSS-defined Animations

+ * By default, ngAnimate attaches two CSS classes per animation event to the DOM element to achieve the animation. + * It is up to you, the developer, to ensure that the animations take place using cross-browser CSS3 transitions as + * well as CSS animations. + * + * The following code below demonstrates how to perform animations using **CSS transitions** with ngAnimate: + * + *
+ * 
+ *
+ * 
+ *
+ * + * The following code below demonstrates how to perform animations using **CSS animations** with ngAnimate: + * + *
+ * 
+ *
+ * 
+ *
+ * + * ngAnimate will first examine any CSS animation code and then fallback to using CSS transitions. + * + * Upon DOM mutation, the event class is added first, then the browser is allowed to reflow the content and then, + * the active class is added to trigger the animation. The ngAnimate directive will automatically extract the duration + * of the animation to determine when the animation ends. Once the animation is over then both CSS classes will be + * removed from the DOM. If a browser does not support CSS transitions or CSS animations then the animation will start and end + * immediately resulting in a DOM element that is at it's final state. This final state is when the DOM element + * has no CSS transition/animation classes surrounding it. + * + *

JavaScript-defined Animations

+ * In the event that you do not want to use CSS3 transitions or CSS3 animations or if you wish to offer animations to browsers that do not + * yet support them, then you can make use of JavaScript animations defined inside of your AngularJS module. + * + *
+ * var ngModule = angular.module('YourApp', []);
+ * ngModule.animation('animate-enter', function() {
+ *   return {
+ *     setup : function(element) {
+ *       //prepare the element for animation
+ *       element.css({ 'opacity': 0 });
+ *       var memo = "..."; //this value is passed to the start function
+ *       return memo;
+ *     },
+ *     start : function(element, done, memo) {
+ *       //start the animation
+ *       element.animate({
+ *         'opacity' : 1
+ *       }, function() {
+ *         //call when the animation is complete
+ *         done()
+ *       });
+ *     }
+ *   }
+ * });
+ * 
+ * + * As you can see, the JavaScript code follows a similar template to the CSS3 animations. Once defined, the animation + * can be used in the same way with the ngAnimate attribute. Keep in mind that, when using JavaScript-enabled + * animations, ngAnimate will also add in the same CSS classes that CSS-enabled animations do (even if you're not using + * CSS animations) to animated the element, but it will not attempt to find any CSS3 transition or animation duration/delay values. + * It will instead close off the animation once the provided done function is executed. So it's important that you + * make sure your animations remember to fire off the done function once the animations are complete. + * + * @param {expression} ngAnimate Used to configure the DOM manipulation animations. + * + */ + +var $AnimatorProvider = function() { + var NG_ANIMATE_CONTROLLER = '$ngAnimateController'; + var rootAnimateController = {running:true}; + + this.$get = ['$animation', '$window', '$sniffer', '$rootElement', '$rootScope', + function($animation, $window, $sniffer, $rootElement, $rootScope) { + $rootElement.data(NG_ANIMATE_CONTROLLER, rootAnimateController); + + /** + * @ngdoc function + * @name ng.$animator + * @function + * + * @description + * The $animator.create service provides the DOM manipulation API which is decorated with animations. + * + * @param {Scope} scope the scope for the ng-animate. + * @param {Attributes} attr the attributes object which contains the ngAnimate key / value pair. (The attributes are + * passed into the linking function of the directive using the `$animator`.) + * @return {object} the animator object which contains the enter, leave, move, show, hide and animate methods. + */ + var AnimatorService = function(scope, attrs) { + var animator = {}; + + /** + * @ngdoc function + * @name ng.animator#enter + * @methodOf ng.$animator + * @function + * + * @description + * Injects the element object into the DOM (inside of the parent element) and then runs the enter animation. + * + * @param {jQuery/jqLite element} element the element that will be the focus of the enter animation + * @param {jQuery/jqLite element} parent the parent element of the element that will be the focus of the enter animation + * @param {jQuery/jqLite element} after the sibling element (which is the previous element) of the element that will be the focus of the enter animation + */ + animator.enter = animateActionFactory('enter', insert, noop); + + /** + * @ngdoc function + * @name ng.animator#leave + * @methodOf ng.$animator + * @function + * + * @description + * Runs the leave animation operation and, upon completion, removes the element from the DOM. + * + * @param {jQuery/jqLite element} element the element that will be the focus of the leave animation + * @param {jQuery/jqLite element} parent the parent element of the element that will be the focus of the leave animation + */ + animator.leave = animateActionFactory('leave', noop, remove); + + /** + * @ngdoc function + * @name ng.animator#move + * @methodOf ng.$animator + * @function + * + * @description + * Fires the move DOM operation. Just before the animation starts, the animator will either append it into the parent container or + * add the element directly after the after element if present. Then the move animation will be run. + * + * @param {jQuery/jqLite element} element the element that will be the focus of the move animation + * @param {jQuery/jqLite element} parent the parent element of the element that will be the focus of the move animation + * @param {jQuery/jqLite element} after the sibling element (which is the previous element) of the element that will be the focus of the move animation + */ + animator.move = animateActionFactory('move', move, noop); + + /** + * @ngdoc function + * @name ng.animator#show + * @methodOf ng.$animator + * @function + * + * @description + * Reveals the element by setting the CSS property `display` to `block` and then starts the show animation directly after. + * + * @param {jQuery/jqLite element} element the element that will be rendered visible or hidden + */ + animator.show = animateActionFactory('show', show, noop); + + /** + * @ngdoc function + * @name ng.animator#hide + * @methodOf ng.$animator + * + * @description + * Starts the hide animation first and sets the CSS `display` property to `none` upon completion. + * + * @param {jQuery/jqLite element} element the element that will be rendered visible or hidden + */ + animator.hide = animateActionFactory('hide', noop, hide); + + /** + * @ngdoc function + * @name ng.animator#animate + * @methodOf ng.$animator + * + * @description + * Triggers a custom animation event to be executed on the given element + * + * @param {jQuery/jqLite element} element that will be animated + */ + animator.animate = function(event, element) { + animateActionFactory(event, noop, noop)(element); + } + return animator; + + function animateActionFactory(type, beforeFn, afterFn) { + return function(element, parent, after) { + var ngAnimateValue = scope.$eval(attrs.ngAnimate); + var className = ngAnimateValue + ? isObject(ngAnimateValue) ? ngAnimateValue[type] : ngAnimateValue + '-' + type + : ''; + var animationPolyfill = $animation(className); + var polyfillSetup = animationPolyfill && animationPolyfill.setup; + var polyfillStart = animationPolyfill && animationPolyfill.start; + var polyfillCancel = animationPolyfill && animationPolyfill.cancel; + + if (!className) { + beforeFn(element, parent, after); + afterFn(element, parent, after); + } else { + var activeClassName = className + '-active'; + + if (!parent) { + parent = after ? after.parent() : element.parent(); + } + if ((!$sniffer.transitions && !polyfillSetup && !polyfillStart) || + (parent.inheritedData(NG_ANIMATE_CONTROLLER) || noop).running) { + beforeFn(element, parent, after); + afterFn(element, parent, after); + return; + } + + var animationData = element.data(NG_ANIMATE_CONTROLLER) || {}; + if(animationData.running) { + (polyfillCancel || noop)(element); + animationData.done(); + } + + element.data(NG_ANIMATE_CONTROLLER, {running:true, done:done}); + element.addClass(className); + beforeFn(element, parent, after); + if (element.length == 0) return done(); + + var memento = (polyfillSetup || noop)(element); + + // $window.setTimeout(beginAnimation, 0); this was causing the element not to animate + // keep at 1 for animation dom rerender + $window.setTimeout(beginAnimation, 1); + } + + function parseMaxTime(str) { + var total = 0, values = isString(str) ? str.split(/\s*,\s*/) : []; + forEach(values, function(value) { + total = Math.max(parseFloat(value) || 0, total); + }); + return total; + } + + function beginAnimation() { + element.addClass(activeClassName); + if (polyfillStart) { + polyfillStart(element, done, memento); + } else if (isFunction($window.getComputedStyle)) { + //one day all browsers will have these properties + var w3cAnimationProp = 'animation'; + var w3cTransitionProp = 'transition'; + + //but some still use vendor-prefixed styles + var vendorAnimationProp = $sniffer.vendorPrefix + 'Animation'; + var vendorTransitionProp = $sniffer.vendorPrefix + 'Transition'; + + var durationKey = 'Duration', + delayKey = 'Delay', + animationIterationCountKey = 'IterationCount', + duration = 0; + + //we want all the styles defined before and after + var ELEMENT_NODE = 1; + forEach(element, function(element) { + if (element.nodeType == ELEMENT_NODE) { + var w3cProp = w3cTransitionProp, + vendorProp = vendorTransitionProp, + iterations = 1, + elementStyles = $window.getComputedStyle(element) || {}; + + //use CSS Animations over CSS Transitions + if(parseFloat(elementStyles[w3cAnimationProp + durationKey]) > 0 || + parseFloat(elementStyles[vendorAnimationProp + durationKey]) > 0) { + w3cProp = w3cAnimationProp; + vendorProp = vendorAnimationProp; + iterations = Math.max(parseInt(elementStyles[w3cProp + animationIterationCountKey]) || 0, + parseInt(elementStyles[vendorProp + animationIterationCountKey]) || 0, + iterations); + } + + var parsedDelay = Math.max(parseMaxTime(elementStyles[w3cProp + delayKey]), + parseMaxTime(elementStyles[vendorProp + delayKey])); + + var parsedDuration = Math.max(parseMaxTime(elementStyles[w3cProp + durationKey]), + parseMaxTime(elementStyles[vendorProp + durationKey])); + + duration = Math.max(parsedDelay + (iterations * parsedDuration), duration); + } + }); + $window.setTimeout(done, duration * 1000); + } else { + done(); + } + } + + function done() { + if(!done.run) { + done.run = true; + afterFn(element, parent, after); + element.removeClass(className); + element.removeClass(activeClassName); + element.removeData(NG_ANIMATE_CONTROLLER); + } + } + }; + } + + function show(element) { + element.css('display', ''); + } + + function hide(element) { + element.css('display', 'none'); + } + + function insert(element, parent, after) { + if (after) { + after.after(element); + } else { + parent.append(element); + } + } + + function remove(element) { + element.remove(); + } + + function move(element, parent, after) { + // Do not remove element before insert. Removing will cause data associated with the + // element to be dropped. Insert will implicitly do the remove. + insert(element, parent, after); + } + }; + + /** + * @ngdoc function + * @name ng.animator#enabled + * @methodOf ng.$animator + * @function + * + * @param {Boolean=} If provided then set the animation on or off. + * @return {Boolean} Current animation state. + * + * @description + * Globally enables/disables animations. + * + */ + AnimatorService.enabled = function(value) { + if (arguments.length) { + rootAnimateController.running = !value; + } + return !rootAnimateController.running; + }; + + return AnimatorService; + }]; +}; + +/** + * ! This is a private undocumented service ! + * + * @name ng.$browser + * @requires $log + * @description + * This object has two goals: + * + * - hide all the global state in the browser caused by the window object + * - abstract away all the browser specific features and inconsistencies + * + * For tests we provide {@link ngMock.$browser mock implementation} of the `$browser` + * service, which can be used for convenient testing of the application without the interaction with + * the real browser apis. + */ +/** + * @param {object} window The global window object. + * @param {object} document jQuery wrapped document. + * @param {function()} XHR XMLHttpRequest constructor. + * @param {object} $log console.log or an object with the same interface. + * @param {object} $sniffer $sniffer service + */ +function Browser(window, document, $log, $sniffer) { + var self = this, + rawDocument = document[0], + location = window.location, + history = window.history, + setTimeout = window.setTimeout, + clearTimeout = window.clearTimeout, + pendingDeferIds = {}; + + self.isMock = false; + + var outstandingRequestCount = 0; + var outstandingRequestCallbacks = []; + + // TODO(vojta): remove this temporary api + self.$$completeOutstandingRequest = completeOutstandingRequest; + self.$$incOutstandingRequestCount = function() { outstandingRequestCount++; }; + + /** + * Executes the `fn` function(supports currying) and decrements the `outstandingRequestCallbacks` + * counter. If the counter reaches 0, all the `outstandingRequestCallbacks` are executed. + */ + function completeOutstandingRequest(fn) { + try { + fn.apply(null, sliceArgs(arguments, 1)); + } finally { + outstandingRequestCount--; + if (outstandingRequestCount === 0) { + while(outstandingRequestCallbacks.length) { + try { + outstandingRequestCallbacks.pop()(); + } catch (e) { + $log.error(e); + } + } + } + } + } + + /** + * @private + * Note: this method is used only by scenario runner + * TODO(vojta): prefix this method with $$ ? + * @param {function()} callback Function that will be called when no outstanding request + */ + self.notifyWhenNoOutstandingRequests = function(callback) { + // force browser to execute all pollFns - this is needed so that cookies and other pollers fire + // at some deterministic time in respect to the test runner's actions. Leaving things up to the + // regular poller would result in flaky tests. + forEach(pollFns, function(pollFn){ pollFn(); }); + + if (outstandingRequestCount === 0) { + callback(); + } else { + outstandingRequestCallbacks.push(callback); + } + }; + + ////////////////////////////////////////////////////////////// + // Poll Watcher API + ////////////////////////////////////////////////////////////// + var pollFns = [], + pollTimeout; + + /** + * @name ng.$browser#addPollFn + * @methodOf ng.$browser + * + * @param {function()} fn Poll function to add + * + * @description + * Adds a function to the list of functions that poller periodically executes, + * and starts polling if not started yet. + * + * @returns {function()} the added function + */ + self.addPollFn = function(fn) { + if (isUndefined(pollTimeout)) startPoller(100, setTimeout); + pollFns.push(fn); + return fn; + }; + + /** + * @param {number} interval How often should browser call poll functions (ms) + * @param {function()} setTimeout Reference to a real or fake `setTimeout` function. + * + * @description + * Configures the poller to run in the specified intervals, using the specified + * setTimeout fn and kicks it off. + */ + function startPoller(interval, setTimeout) { + (function check() { + forEach(pollFns, function(pollFn){ pollFn(); }); + pollTimeout = setTimeout(check, interval); + })(); + } + + ////////////////////////////////////////////////////////////// + // URL API + ////////////////////////////////////////////////////////////// + + var lastBrowserUrl = location.href, + baseElement = document.find('base'); + + /** + * @name ng.$browser#url + * @methodOf ng.$browser + * + * @description + * GETTER: + * Without any argument, this method just returns current value of location.href. + * + * SETTER: + * With at least one argument, this method sets url to new value. + * If html5 history api supported, pushState/replaceState is used, otherwise + * location.href/location.replace is used. + * Returns its own instance to allow chaining + * + * NOTE: this api is intended for use only by the $location service. Please use the + * {@link ng.$location $location service} to change url. + * + * @param {string} url New url (when used as setter) + * @param {boolean=} replace Should new url replace current history record ? + */ + self.url = function(url, replace) { + // setter + if (url) { + if (lastBrowserUrl == url) return; + lastBrowserUrl = url; + if ($sniffer.history) { + if (replace) history.replaceState(null, '', url); + else { + history.pushState(null, '', url); + // Crazy Opera Bug: http://my.opera.com/community/forums/topic.dml?id=1185462 + baseElement.attr('href', baseElement.attr('href')); + } + } else { + if (replace) location.replace(url); + else location.href = url; + } + return self; + // getter + } else { + // the replacement is a workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=407172 + return location.href.replace(/%27/g,"'"); + } + }; + + var urlChangeListeners = [], + urlChangeInit = false; + + function fireUrlChange() { + if (lastBrowserUrl == self.url()) return; + + lastBrowserUrl = self.url(); + forEach(urlChangeListeners, function(listener) { + listener(self.url()); + }); + } + + /** + * @name ng.$browser#onUrlChange + * @methodOf ng.$browser + * @TODO(vojta): refactor to use node's syntax for events + * + * @description + * Register callback function that will be called, when url changes. + * + * It's only called when the url is changed by outside of angular: + * - user types different url into address bar + * - user clicks on history (forward/back) button + * - user clicks on a link + * + * It's not called when url is changed by $browser.url() method + * + * The listener gets called with new url as parameter. + * + * NOTE: this api is intended for use only by the $location service. Please use the + * {@link ng.$location $location service} to monitor url changes in angular apps. + * + * @param {function(string)} listener Listener function to be called when url changes. + * @return {function(string)} Returns the registered listener fn - handy if the fn is anonymous. + */ + self.onUrlChange = function(callback) { + if (!urlChangeInit) { + // We listen on both (hashchange/popstate) when available, as some browsers (e.g. Opera) + // don't fire popstate when user change the address bar and don't fire hashchange when url + // changed by push/replaceState + + // html5 history api - popstate event + if ($sniffer.history) jqLite(window).bind('popstate', fireUrlChange); + // hashchange event + if ($sniffer.hashchange) jqLite(window).bind('hashchange', fireUrlChange); + // polling + else self.addPollFn(fireUrlChange); + + urlChangeInit = true; + } + + urlChangeListeners.push(callback); + return callback; + }; + + ////////////////////////////////////////////////////////////// + // Misc API + ////////////////////////////////////////////////////////////// + + /** + * Returns current + * (always relative - without domain) + * + * @returns {string=} + */ + self.baseHref = function() { + var href = baseElement.attr('href'); + return href ? href.replace(/^https?\:\/\/[^\/]*/, '') : ''; + }; + + ////////////////////////////////////////////////////////////// + // Cookies API + ////////////////////////////////////////////////////////////// + var lastCookies = {}; + var lastCookieString = ''; + var cookiePath = self.baseHref(); + + /** + * @name ng.$browser#cookies + * @methodOf ng.$browser + * + * @param {string=} name Cookie name + * @param {string=} value Cookie value + * + * @description + * The cookies method provides a 'private' low level access to browser cookies. + * It is not meant to be used directly, use the $cookie service instead. + * + * The return values vary depending on the arguments that the method was called with as follows: + *
    + *
  • cookies() -> hash of all cookies, this is NOT a copy of the internal state, so do not modify it
  • + *
  • cookies(name, value) -> set name to value, if value is undefined delete the cookie
  • + *
  • cookies(name) -> the same as (name, undefined) == DELETES (no one calls it right now that way)
  • + *
+ * + * @returns {Object} Hash of all cookies (if called without any parameter) + */ + self.cookies = function(name, value) { + var cookieLength, cookieArray, cookie, i, index; + + if (name) { + if (value === undefined) { + rawDocument.cookie = escape(name) + "=;path=" + cookiePath + ";expires=Thu, 01 Jan 1970 00:00:00 GMT"; + } else { + if (isString(value)) { + cookieLength = (rawDocument.cookie = escape(name) + '=' + escape(value) + ';path=' + cookiePath).length + 1; + + // per http://www.ietf.org/rfc/rfc2109.txt browser must allow at minimum: + // - 300 cookies + // - 20 cookies per unique domain + // - 4096 bytes per cookie + if (cookieLength > 4096) { + $log.warn("Cookie '"+ name +"' possibly not set or overflowed because it was too large ("+ + cookieLength + " > 4096 bytes)!"); + } + } + } + } else { + if (rawDocument.cookie !== lastCookieString) { + lastCookieString = rawDocument.cookie; + cookieArray = lastCookieString.split("; "); + lastCookies = {}; + + for (i = 0; i < cookieArray.length; i++) { + cookie = cookieArray[i]; + index = cookie.indexOf('='); + if (index > 0) { //ignore nameless cookies + var name = unescape(cookie.substring(0, index)); + // the first value that is seen for a cookie is the most + // specific one. values for the same cookie name that + // follow are for less specific paths. + if (lastCookies[name] === undefined) { + lastCookies[name] = unescape(cookie.substring(index + 1)); + } + } + } + } + return lastCookies; + } + }; + + + /** + * @name ng.$browser#defer + * @methodOf ng.$browser + * @param {function()} fn A function, who's execution should be defered. + * @param {number=} [delay=0] of milliseconds to defer the function execution. + * @returns {*} DeferId that can be used to cancel the task via `$browser.defer.cancel()`. + * + * @description + * Executes a fn asynchronously via `setTimeout(fn, delay)`. + * + * Unlike when calling `setTimeout` directly, in test this function is mocked and instead of using + * `setTimeout` in tests, the fns are queued in an array, which can be programmatically flushed + * via `$browser.defer.flush()`. + * + */ + self.defer = function(fn, delay) { + var timeoutId; + outstandingRequestCount++; + timeoutId = setTimeout(function() { + delete pendingDeferIds[timeoutId]; + completeOutstandingRequest(fn); + }, delay || 0); + pendingDeferIds[timeoutId] = true; + return timeoutId; + }; + + + /** + * @name ng.$browser#defer.cancel + * @methodOf ng.$browser.defer + * + * @description + * Cancels a defered task identified with `deferId`. + * + * @param {*} deferId Token returned by the `$browser.defer` function. + * @returns {boolean} Returns `true` if the task hasn't executed yet and was successfully canceled. + */ + self.defer.cancel = function(deferId) { + if (pendingDeferIds[deferId]) { + delete pendingDeferIds[deferId]; + clearTimeout(deferId); + completeOutstandingRequest(noop); + return true; + } + return false; + }; + +} + +function $BrowserProvider(){ + this.$get = ['$window', '$log', '$sniffer', '$document', + function( $window, $log, $sniffer, $document){ + return new Browser($window, $document, $log, $sniffer); + }]; +} + +/** + * @ngdoc object + * @name ng.$cacheFactory + * + * @description + * Factory that constructs cache objects. + * + * + * @param {string} cacheId Name or id of the newly created cache. + * @param {object=} options Options object that specifies the cache behavior. Properties: + * + * - `{number=}` `capacity` — turns the cache into LRU cache. + * + * @returns {object} Newly created cache object with the following set of methods: + * + * - `{object}` `info()` — Returns id, size, and options of cache. + * - `{{*}}` `put({string} key, {*} value)` — Puts a new key-value pair into the cache and returns it. + * - `{{*}}` `get({string} key)` — Returns cached value for `key` or undefined for cache miss. + * - `{void}` `remove({string} key)` — Removes a key-value pair from the cache. + * - `{void}` `removeAll()` — Removes all cached values. + * - `{void}` `destroy()` — Removes references to this cache from $cacheFactory. + * + */ +function $CacheFactoryProvider() { + + this.$get = function() { + var caches = {}; + + function cacheFactory(cacheId, options) { + if (cacheId in caches) { + throw Error('cacheId ' + cacheId + ' taken'); + } + + var size = 0, + stats = extend({}, options, {id: cacheId}), + data = {}, + capacity = (options && options.capacity) || Number.MAX_VALUE, + lruHash = {}, + freshEnd = null, + staleEnd = null; + + return caches[cacheId] = { + + put: function(key, value) { + var lruEntry = lruHash[key] || (lruHash[key] = {key: key}); + + refresh(lruEntry); + + if (isUndefined(value)) return; + if (!(key in data)) size++; + data[key] = value; + + if (size > capacity) { + this.remove(staleEnd.key); + } + + return value; + }, + + + get: function(key) { + var lruEntry = lruHash[key]; + + if (!lruEntry) return; + + refresh(lruEntry); + + return data[key]; + }, + + + remove: function(key) { + var lruEntry = lruHash[key]; + + if (!lruEntry) return; + + if (lruEntry == freshEnd) freshEnd = lruEntry.p; + if (lruEntry == staleEnd) staleEnd = lruEntry.n; + link(lruEntry.n,lruEntry.p); + + delete lruHash[key]; + delete data[key]; + size--; + }, + + + removeAll: function() { + data = {}; + size = 0; + lruHash = {}; + freshEnd = staleEnd = null; + }, + + + destroy: function() { + data = null; + stats = null; + lruHash = null; + delete caches[cacheId]; + }, + + + info: function() { + return extend({}, stats, {size: size}); + } + }; + + + /** + * makes the `entry` the freshEnd of the LRU linked list + */ + function refresh(entry) { + if (entry != freshEnd) { + if (!staleEnd) { + staleEnd = entry; + } else if (staleEnd == entry) { + staleEnd = entry.n; + } + + link(entry.n, entry.p); + link(entry, freshEnd); + freshEnd = entry; + freshEnd.n = null; + } + } + + + /** + * bidirectionally links two entries of the LRU linked list + */ + function link(nextEntry, prevEntry) { + if (nextEntry != prevEntry) { + if (nextEntry) nextEntry.p = prevEntry; //p stands for previous, 'prev' didn't minify + if (prevEntry) prevEntry.n = nextEntry; //n stands for next, 'next' didn't minify + } + } + } + + + cacheFactory.info = function() { + var info = {}; + forEach(caches, function(cache, cacheId) { + info[cacheId] = cache.info(); + }); + return info; + }; + + + cacheFactory.get = function(cacheId) { + return caches[cacheId]; + }; + + + return cacheFactory; + }; +} + +/** + * @ngdoc object + * @name ng.$templateCache + * + * @description + * Cache used for storing html templates. + * + * See {@link ng.$cacheFactory $cacheFactory}. + * + */ +function $TemplateCacheProvider() { + this.$get = ['$cacheFactory', function($cacheFactory) { + return $cacheFactory('templates'); + }]; +} + +/* ! VARIABLE/FUNCTION NAMING CONVENTIONS THAT APPLY TO THIS FILE! + * + * DOM-related variables: + * + * - "node" - DOM Node + * - "element" - DOM Element or Node + * - "$node" or "$element" - jqLite-wrapped node or element + * + * + * Compiler related stuff: + * + * - "linkFn" - linking fn of a single directive + * - "nodeLinkFn" - function that aggregates all linking fns for a particular node + * - "childLinkFn" - function that aggregates all linking fns for child nodes of a particular node + * - "compositeLinkFn" - function that aggregates all linking fns for a compilation root (nodeList) + */ + + +var NON_ASSIGNABLE_MODEL_EXPRESSION = 'Non-assignable model expression: '; + + +/** + * @ngdoc function + * @name ng.$compile + * @function + * + * @description + * Compiles a piece of HTML string or DOM into a template and produces a template function, which + * can then be used to link {@link ng.$rootScope.Scope scope} and the template together. + * + * The compilation is a process of walking the DOM tree and trying to match DOM elements to + * {@link ng.$compileProvider#directive directives}. For each match it + * executes corresponding template function and collects the + * instance functions into a single template function which is then returned. + * + * The template function can then be used once to produce the view or as it is the case with + * {@link ng.directive:ngRepeat repeater} many-times, in which + * case each call results in a view that is a DOM clone of the original template. + * + + + +
+
+
+
+
+
+ + it('should auto compile', function() { + expect(element('div[compile]').text()).toBe('Hello Angular'); + input('html').enter('{{name}}!'); + expect(element('div[compile]').text()).toBe('Angular!'); + }); + +
+ + * + * + * @param {string|DOMElement} element Element or HTML string to compile into a template function. + * @param {function(angular.Scope[, cloneAttachFn]} transclude function available to directives. + * @param {number} maxPriority only apply directives lower then given priority (Only effects the + * root element(s), not their children) + * @returns {function(scope[, cloneAttachFn])} a link function which is used to bind template + * (a DOM element/tree) to a scope. Where: + * + * * `scope` - A {@link ng.$rootScope.Scope Scope} to bind to. + * * `cloneAttachFn` - If `cloneAttachFn` is provided, then the link function will clone the + * `template` and call the `cloneAttachFn` function allowing the caller to attach the + * cloned elements to the DOM document at the appropriate place. The `cloneAttachFn` is + * called as:
`cloneAttachFn(clonedElement, scope)` where: + * + * * `clonedElement` - is a clone of the original `element` passed into the compiler. + * * `scope` - is the current scope with which the linking function is working with. + * + * Calling the linking function returns the element of the template. It is either the original element + * passed in, or the clone of the element if the `cloneAttachFn` is provided. + * + * After linking the view is not updated until after a call to $digest which typically is done by + * Angular automatically. + * + * If you need access to the bound view, there are two ways to do it: + * + * - If you are not asking the linking function to clone the template, create the DOM element(s) + * before you send them to the compiler and keep this reference around. + *
+ *     var element = $compile('

{{total}}

')(scope); + *
+ * + * - if on the other hand, you need the element to be cloned, the view reference from the original + * example would not point to the clone, but rather to the original template that was cloned. In + * this case, you can access the clone via the cloneAttachFn: + *
+ *     var templateHTML = angular.element('

{{total}}

'), + * scope = ....; + * + * var clonedElement = $compile(templateHTML)(scope, function(clonedElement, scope) { + * //attach the clone to DOM document at the right place + * }); + * + * //now we have reference to the cloned DOM via `clone` + *
+ * + * + * For information on how the compiler works, see the + * {@link guide/compiler Angular HTML Compiler} section of the Developer Guide. + */ + + +/** + * @ngdoc service + * @name ng.$compileProvider + * @function + * + * @description + */ +$CompileProvider.$inject = ['$provide']; +function $CompileProvider($provide) { + var hasDirectives = {}, + Suffix = 'Directive', + COMMENT_DIRECTIVE_REGEXP = /^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/, + CLASS_DIRECTIVE_REGEXP = /(([\d\w\-_]+)(?:\:([^;]+))?;?)/, + MULTI_ROOT_TEMPLATE_ERROR = 'Template must have exactly one root element. was: ', + urlSanitizationWhitelist = /^\s*(https?|ftp|mailto|file):/; + + + /** + * @ngdoc function + * @name ng.$compileProvider#directive + * @methodOf ng.$compileProvider + * @function + * + * @description + * Register a new directives with the compiler. + * + * @param {string} name Name of the directive in camel-case. (ie ngBind which will match as + * ng-bind). + * @param {function} directiveFactory An injectable directive factory function. See {@link guide/directive} for more + * info. + * @returns {ng.$compileProvider} Self for chaining. + */ + this.directive = function registerDirective(name, directiveFactory) { + if (isString(name)) { + assertArg(directiveFactory, 'directive'); + if (!hasDirectives.hasOwnProperty(name)) { + hasDirectives[name] = []; + $provide.factory(name + Suffix, ['$injector', '$exceptionHandler', + function($injector, $exceptionHandler) { + var directives = []; + forEach(hasDirectives[name], function(directiveFactory) { + try { + var directive = $injector.invoke(directiveFactory); + if (isFunction(directive)) { + directive = { compile: valueFn(directive) }; + } else if (!directive.compile && directive.link) { + directive.compile = valueFn(directive.link); + } + directive.priority = directive.priority || 0; + directive.name = directive.name || name; + directive.require = directive.require || (directive.controller && directive.name); + directive.restrict = directive.restrict || 'A'; + directives.push(directive); + } catch (e) { + $exceptionHandler(e); + } + }); + return directives; + }]); + } + hasDirectives[name].push(directiveFactory); + } else { + forEach(name, reverseParams(registerDirective)); + } + return this; + }; + + + /** + * @ngdoc function + * @name ng.$compileProvider#urlSanitizationWhitelist + * @methodOf ng.$compileProvider + * @function + * + * @description + * Retrieves or overrides the default regular expression that is used for whitelisting of safe + * urls during a[href] sanitization. + * + * The sanitization is a security measure aimed at prevent XSS attacks via html links. + * + * Any url about to be assigned to a[href] via data-binding is first normalized and turned into an + * absolute url. Afterwards the url is matched against the `urlSanitizationWhitelist` regular + * expression. If a match is found the original url is written into the dom. Otherwise the + * absolute url is prefixed with `'unsafe:'` string and only then it is written into the DOM. + * + * @param {RegExp=} regexp New regexp to whitelist urls with. + * @returns {RegExp|ng.$compileProvider} Current RegExp if called without value or self for + * chaining otherwise. + */ + this.urlSanitizationWhitelist = function(regexp) { + if (isDefined(regexp)) { + urlSanitizationWhitelist = regexp; + return this; + } + return urlSanitizationWhitelist; + }; + + + this.$get = [ + '$injector', '$interpolate', '$exceptionHandler', '$http', '$templateCache', '$parse', + '$controller', '$rootScope', '$document', + function($injector, $interpolate, $exceptionHandler, $http, $templateCache, $parse, + $controller, $rootScope, $document) { + + var Attributes = function(element, attr) { + this.$$element = element; + this.$attr = attr || {}; + }; + + Attributes.prototype = { + $normalize: directiveNormalize, + + + /** + * Set a normalized attribute on the element in a way such that all directives + * can share the attribute. This function properly handles boolean attributes. + * @param {string} key Normalized key. (ie ngAttribute) + * @param {string|boolean} value The value to set. If `null` attribute will be deleted. + * @param {boolean=} writeAttr If false, does not write the value to DOM element attribute. + * Defaults to true. + * @param {string=} attrName Optional none normalized name. Defaults to key. + */ + $set: function(key, value, writeAttr, attrName) { + var booleanKey = getBooleanAttrName(this.$$element[0], key), + $$observers = this.$$observers, + normalizedVal; + + if (booleanKey) { + this.$$element.prop(key, value); + attrName = booleanKey; + } + + this[key] = value; + + // translate normalized key to actual key + if (attrName) { + this.$attr[key] = attrName; + } else { + attrName = this.$attr[key]; + if (!attrName) { + this.$attr[key] = attrName = snake_case(key, '-'); + } + } + + + // sanitize a[href] values + if (nodeName_(this.$$element[0]) === 'A' && key === 'href') { + urlSanitizationNode.setAttribute('href', value); + + // href property always returns normalized absolute url, so we can match against that + normalizedVal = urlSanitizationNode.href; + if (!normalizedVal.match(urlSanitizationWhitelist)) { + this[key] = value = 'unsafe:' + normalizedVal; + } + } + + + if (writeAttr !== false) { + if (value === null || value === undefined) { + this.$$element.removeAttr(attrName); + } else { + this.$$element.attr(attrName, value); + } + } + + // fire observers + $$observers && forEach($$observers[key], function(fn) { + try { + fn(value); + } catch (e) { + $exceptionHandler(e); + } + }); + }, + + + /** + * Observe an interpolated attribute. + * The observer will never be called, if given attribute is not interpolated. + * + * @param {string} key Normalized key. (ie ngAttribute) . + * @param {function(*)} fn Function that will be called whenever the attribute value changes. + * @returns {function(*)} the `fn` Function passed in. + */ + $observe: function(key, fn) { + var attrs = this, + $$observers = (attrs.$$observers || (attrs.$$observers = {})), + listeners = ($$observers[key] || ($$observers[key] = [])); + + listeners.push(fn); + $rootScope.$evalAsync(function() { + if (!listeners.$$inter) { + // no one registered attribute interpolation function, so lets call it manually + fn(attrs[key]); + } + }); + return fn; + } + }; + + var urlSanitizationNode = $document[0].createElement('a'), + startSymbol = $interpolate.startSymbol(), + endSymbol = $interpolate.endSymbol(), + denormalizeTemplate = (startSymbol == '{{' || endSymbol == '}}') + ? identity + : function denormalizeTemplate(template) { + return template.replace(/\{\{/g, startSymbol).replace(/}}/g, endSymbol); + }, + NG_ATTR_BINDING = /^ngAttr[A-Z]/; + + + return compile; + + //================================ + + function compile($compileNodes, transcludeFn, maxPriority) { + if (!($compileNodes instanceof jqLite)) { + // jquery always rewraps, whereas we need to preserve the original selector so that we can modify it. + $compileNodes = jqLite($compileNodes); + } + // We can not compile top level text elements since text nodes can be merged and we will + // not be able to attach scope data to them, so we will wrap them in + forEach($compileNodes, function(node, index){ + if (node.nodeType == 3 /* text node */ && node.nodeValue.match(/\S+/) /* non-empty */ ) { + $compileNodes[index] = jqLite(node).wrap('').parent()[0]; + } + }); + var compositeLinkFn = compileNodes($compileNodes, transcludeFn, $compileNodes, maxPriority); + return function publicLinkFn(scope, cloneConnectFn){ + assertArg(scope, 'scope'); + // important!!: we must call our jqLite.clone() since the jQuery one is trying to be smart + // and sometimes changes the structure of the DOM. + var $linkNode = cloneConnectFn + ? JQLitePrototype.clone.call($compileNodes) // IMPORTANT!!! + : $compileNodes; + + // Attach scope only to non-text nodes. + for(var i = 0, ii = $linkNode.length; i + addDirective(directives, + directiveNormalize(nodeName_(node).toLowerCase()), 'E', maxPriority); + + // iterate over the attributes + for (var attr, name, nName, ngAttrName, value, nAttrs = node.attributes, + j = 0, jj = nAttrs && nAttrs.length; j < jj; j++) { + attr = nAttrs[j]; + if (attr.specified) { + name = attr.name; + // support ngAttr attribute binding + ngAttrName = directiveNormalize(name); + if (NG_ATTR_BINDING.test(ngAttrName)) { + name = ngAttrName.substr(6).toLowerCase(); + } + nName = directiveNormalize(name.toLowerCase()); + attrsMap[nName] = name; + attrs[nName] = value = trim((msie && name == 'href') + ? decodeURIComponent(node.getAttribute(name, 2)) + : attr.value); + if (getBooleanAttrName(node, nName)) { + attrs[nName] = true; // presence means true + } + addAttrInterpolateDirective(node, directives, value, nName); + addDirective(directives, nName, 'A', maxPriority); + } + } + + // use class as directive + className = node.className; + if (isString(className) && className !== '') { + while (match = CLASS_DIRECTIVE_REGEXP.exec(className)) { + nName = directiveNormalize(match[2]); + if (addDirective(directives, nName, 'C', maxPriority)) { + attrs[nName] = trim(match[3]); + } + className = className.substr(match.index + match[0].length); + } + } + break; + case 3: /* Text Node */ + addTextInterpolateDirective(directives, node.nodeValue); + break; + case 8: /* Comment */ + try { + match = COMMENT_DIRECTIVE_REGEXP.exec(node.nodeValue); + if (match) { + nName = directiveNormalize(match[1]); + if (addDirective(directives, nName, 'M', maxPriority)) { + attrs[nName] = trim(match[2]); + } + } + } catch (e) { + // turns out that under some circumstances IE9 throws errors when one attempts to read comment's node value. + // Just ignore it and continue. (Can't seem to reproduce in test case.) + } + break; + } + + directives.sort(byPriority); + return directives; + } + + + /** + * Once the directives have been collected, their compile functions are executed. This method + * is responsible for inlining directive templates as well as terminating the application + * of the directives if the terminal directive has been reached. + * + * @param {Array} directives Array of collected directives to execute their compile function. + * this needs to be pre-sorted by priority order. + * @param {Node} compileNode The raw DOM node to apply the compile functions to + * @param {Object} templateAttrs The shared attribute function + * @param {function(angular.Scope[, cloneAttachFn]} transcludeFn A linking function, where the + * scope argument is auto-generated to the new child of the transcluded parent scope. + * @param {JQLite} jqCollection If we are working on the root of the compile tree then this + * argument has the root jqLite array so that we can replace nodes on it. + * @returns linkFn + */ + function applyDirectivesToNode(directives, compileNode, templateAttrs, transcludeFn, jqCollection) { + var terminalPriority = -Number.MAX_VALUE, + preLinkFns = [], + postLinkFns = [], + newScopeDirective = null, + newIsolateScopeDirective = null, + templateDirective = null, + $compileNode = templateAttrs.$$element = jqLite(compileNode), + directive, + directiveName, + $template, + transcludeDirective, + childTranscludeFn = transcludeFn, + controllerDirectives, + linkFn, + directiveValue; + + // executes all directives on the current element + for(var i = 0, ii = directives.length; i < ii; i++) { + directive = directives[i]; + $template = undefined; + + if (terminalPriority > directive.priority) { + break; // prevent further processing of directives + } + + if (directiveValue = directive.scope) { + assertNoDuplicate('isolated scope', newIsolateScopeDirective, directive, $compileNode); + if (isObject(directiveValue)) { + safeAddClass($compileNode, 'ng-isolate-scope'); + newIsolateScopeDirective = directive; + } + safeAddClass($compileNode, 'ng-scope'); + newScopeDirective = newScopeDirective || directive; + } + + directiveName = directive.name; + + if (directiveValue = directive.controller) { + controllerDirectives = controllerDirectives || {}; + assertNoDuplicate("'" + directiveName + "' controller", + controllerDirectives[directiveName], directive, $compileNode); + controllerDirectives[directiveName] = directive; + } + + if (directiveValue = directive.transclude) { + assertNoDuplicate('transclusion', transcludeDirective, directive, $compileNode); + transcludeDirective = directive; + terminalPriority = directive.priority; + if (directiveValue == 'element') { + $template = jqLite(compileNode); + $compileNode = templateAttrs.$$element = + jqLite(document.createComment(' ' + directiveName + ': ' + templateAttrs[directiveName] + ' ')); + compileNode = $compileNode[0]; + replaceWith(jqCollection, jqLite($template[0]), compileNode); + childTranscludeFn = compile($template, transcludeFn, terminalPriority); + } else { + $template = jqLite(JQLiteClone(compileNode)).contents(); + $compileNode.html(''); // clear contents + childTranscludeFn = compile($template, transcludeFn); + } + } + + if (directive.template) { + assertNoDuplicate('template', templateDirective, directive, $compileNode); + templateDirective = directive; + + directiveValue = (isFunction(directive.template)) + ? directive.template($compileNode, templateAttrs) + : directive.template; + + directiveValue = denormalizeTemplate(directiveValue); + + if (directive.replace) { + $template = jqLite('
' + + trim(directiveValue) + + '
').contents(); + compileNode = $template[0]; + + if ($template.length != 1 || compileNode.nodeType !== 1) { + throw new Error(MULTI_ROOT_TEMPLATE_ERROR + directiveValue); + } + + replaceWith(jqCollection, $compileNode, compileNode); + + var newTemplateAttrs = {$attr: {}}; + + // combine directives from the original node and from the template: + // - take the array of directives for this element + // - split it into two parts, those that were already applied and those that weren't + // - collect directives from the template, add them to the second group and sort them + // - append the second group with new directives to the first group + directives = directives.concat( + collectDirectives( + compileNode, + directives.splice(i + 1, directives.length - (i + 1)), + newTemplateAttrs + ) + ); + mergeTemplateAttributes(templateAttrs, newTemplateAttrs); + + ii = directives.length; + } else { + $compileNode.html(directiveValue); + } + } + + if (directive.templateUrl) { + assertNoDuplicate('template', templateDirective, directive, $compileNode); + templateDirective = directive; + nodeLinkFn = compileTemplateUrl(directives.splice(i, directives.length - i), + nodeLinkFn, $compileNode, templateAttrs, jqCollection, directive.replace, + childTranscludeFn); + ii = directives.length; + } else if (directive.compile) { + try { + linkFn = directive.compile($compileNode, templateAttrs, childTranscludeFn); + if (isFunction(linkFn)) { + addLinkFns(null, linkFn); + } else if (linkFn) { + addLinkFns(linkFn.pre, linkFn.post); + } + } catch (e) { + $exceptionHandler(e, startingTag($compileNode)); + } + } + + if (directive.terminal) { + nodeLinkFn.terminal = true; + terminalPriority = Math.max(terminalPriority, directive.priority); + } + + } + + nodeLinkFn.scope = newScopeDirective && newScopeDirective.scope; + nodeLinkFn.transclude = transcludeDirective && childTranscludeFn; + + // might be normal or delayed nodeLinkFn depending on if templateUrl is present + return nodeLinkFn; + + //////////////////// + + function addLinkFns(pre, post) { + if (pre) { + pre.require = directive.require; + preLinkFns.push(pre); + } + if (post) { + post.require = directive.require; + postLinkFns.push(post); + } + } + + + function getControllers(require, $element) { + var value, retrievalMethod = 'data', optional = false; + if (isString(require)) { + while((value = require.charAt(0)) == '^' || value == '?') { + require = require.substr(1); + if (value == '^') { + retrievalMethod = 'inheritedData'; + } + optional = optional || value == '?'; + } + value = $element[retrievalMethod]('$' + require + 'Controller'); + if (!value && !optional) { + throw Error("No controller: " + require); + } + return value; + } else if (isArray(require)) { + value = []; + forEach(require, function(require) { + value.push(getControllers(require, $element)); + }); + } + return value; + } + + + function nodeLinkFn(childLinkFn, scope, linkNode, $rootElement, boundTranscludeFn) { + var attrs, $element, i, ii, linkFn, controller; + + if (compileNode === linkNode) { + attrs = templateAttrs; + } else { + attrs = shallowCopy(templateAttrs, new Attributes(jqLite(linkNode), templateAttrs.$attr)); + } + $element = attrs.$$element; + + if (newIsolateScopeDirective) { + var LOCAL_REGEXP = /^\s*([@=&])(\??)\s*(\w*)\s*$/; + + var parentScope = scope.$parent || scope; + + forEach(newIsolateScopeDirective.scope, function(definiton, scopeName) { + var match = definiton.match(LOCAL_REGEXP) || [], + attrName = match[3] || scopeName, + optional = (match[2] == '?'), + mode = match[1], // @, =, or & + lastValue, + parentGet, parentSet; + + scope.$$isolateBindings[scopeName] = mode + attrName; + + switch (mode) { + + case '@': { + attrs.$observe(attrName, function(value) { + scope[scopeName] = value; + }); + attrs.$$observers[attrName].$$scope = parentScope; + if( attrs[attrName] ) { + // If the attribute has been provided then we trigger an interpolation to ensure the value is there for use in the link fn + scope[scopeName] = $interpolate(attrs[attrName])(parentScope); + } + break; + } + + case '=': { + if (optional && !attrs[attrName]) { + return; + } + parentGet = $parse(attrs[attrName]); + parentSet = parentGet.assign || function() { + // reset the change, or we will throw this exception on every $digest + lastValue = scope[scopeName] = parentGet(parentScope); + throw Error(NON_ASSIGNABLE_MODEL_EXPRESSION + attrs[attrName] + + ' (directive: ' + newIsolateScopeDirective.name + ')'); + }; + lastValue = scope[scopeName] = parentGet(parentScope); + scope.$watch(function parentValueWatch() { + var parentValue = parentGet(parentScope); + + if (parentValue !== scope[scopeName]) { + // we are out of sync and need to copy + if (parentValue !== lastValue) { + // parent changed and it has precedence + lastValue = scope[scopeName] = parentValue; + } else { + // if the parent can be assigned then do so + parentSet(parentScope, parentValue = lastValue = scope[scopeName]); + } + } + return parentValue; + }); + break; + } + + case '&': { + parentGet = $parse(attrs[attrName]); + scope[scopeName] = function(locals) { + return parentGet(parentScope, locals); + }; + break; + } + + default: { + throw Error('Invalid isolate scope definition for directive ' + + newIsolateScopeDirective.name + ': ' + definiton); + } + } + }); + } + + if (controllerDirectives) { + forEach(controllerDirectives, function(directive) { + var locals = { + $scope: scope, + $element: $element, + $attrs: attrs, + $transclude: boundTranscludeFn + }; + + controller = directive.controller; + if (controller == '@') { + controller = attrs[directive.name]; + } + + $element.data( + '$' + directive.name + 'Controller', + $controller(controller, locals)); + }); + } + + // PRELINKING + for(i = 0, ii = preLinkFns.length; i < ii; i++) { + try { + linkFn = preLinkFns[i]; + linkFn(scope, $element, attrs, + linkFn.require && getControllers(linkFn.require, $element)); + } catch (e) { + $exceptionHandler(e, startingTag($element)); + } + } + + // RECURSION + childLinkFn && childLinkFn(scope, linkNode.childNodes, undefined, boundTranscludeFn); + + // POSTLINKING + for(i = 0, ii = postLinkFns.length; i < ii; i++) { + try { + linkFn = postLinkFns[i]; + linkFn(scope, $element, attrs, + linkFn.require && getControllers(linkFn.require, $element)); + } catch (e) { + $exceptionHandler(e, startingTag($element)); + } + } + } + } + + + /** + * looks up the directive and decorates it with exception handling and proper parameters. We + * call this the boundDirective. + * + * @param {string} name name of the directive to look up. + * @param {string} location The directive must be found in specific format. + * String containing any of theses characters: + * + * * `E`: element name + * * `A': attribute + * * `C`: class + * * `M`: comment + * @returns true if directive was added. + */ + function addDirective(tDirectives, name, location, maxPriority) { + var match = false; + if (hasDirectives.hasOwnProperty(name)) { + for(var directive, directives = $injector.get(name + Suffix), + i = 0, ii = directives.length; i directive.priority) && + directive.restrict.indexOf(location) != -1) { + tDirectives.push(directive); + match = true; + } + } catch(e) { $exceptionHandler(e); } + } + } + return match; + } + + + /** + * When the element is replaced with HTML template then the new attributes + * on the template need to be merged with the existing attributes in the DOM. + * The desired effect is to have both of the attributes present. + * + * @param {object} dst destination attributes (original DOM) + * @param {object} src source attributes (from the directive template) + */ + function mergeTemplateAttributes(dst, src) { + var srcAttr = src.$attr, + dstAttr = dst.$attr, + $element = dst.$$element; + + // reapply the old attributes to the new element + forEach(dst, function(value, key) { + if (key.charAt(0) != '$') { + if (src[key]) { + value += (key === 'style' ? ';' : ' ') + src[key]; + } + dst.$set(key, value, true, srcAttr[key]); + } + }); + + // copy the new attributes on the old attrs object + forEach(src, function(value, key) { + if (key == 'class') { + safeAddClass($element, value); + dst['class'] = (dst['class'] ? dst['class'] + ' ' : '') + value; + } else if (key == 'style') { + $element.attr('style', $element.attr('style') + ';' + value); + } else if (key.charAt(0) != '$' && !dst.hasOwnProperty(key)) { + dst[key] = value; + dstAttr[key] = srcAttr[key]; + } + }); + } + + + function compileTemplateUrl(directives, beforeTemplateNodeLinkFn, $compileNode, tAttrs, + $rootElement, replace, childTranscludeFn) { + var linkQueue = [], + afterTemplateNodeLinkFn, + afterTemplateChildLinkFn, + beforeTemplateCompileNode = $compileNode[0], + origAsyncDirective = directives.shift(), + // The fact that we have to copy and patch the directive seems wrong! + derivedSyncDirective = extend({}, origAsyncDirective, { + controller: null, templateUrl: null, transclude: null, scope: null + }), + templateUrl = (isFunction(origAsyncDirective.templateUrl)) + ? origAsyncDirective.templateUrl($compileNode, tAttrs) + : origAsyncDirective.templateUrl; + + $compileNode.html(''); + + $http.get(templateUrl, {cache: $templateCache}). + success(function(content) { + var compileNode, tempTemplateAttrs, $template; + + content = denormalizeTemplate(content); + + if (replace) { + $template = jqLite('
' + trim(content) + '
').contents(); + compileNode = $template[0]; + + if ($template.length != 1 || compileNode.nodeType !== 1) { + throw new Error(MULTI_ROOT_TEMPLATE_ERROR + content); + } + + tempTemplateAttrs = {$attr: {}}; + replaceWith($rootElement, $compileNode, compileNode); + collectDirectives(compileNode, directives, tempTemplateAttrs); + mergeTemplateAttributes(tAttrs, tempTemplateAttrs); + } else { + compileNode = beforeTemplateCompileNode; + $compileNode.html(content); + } + + directives.unshift(derivedSyncDirective); + afterTemplateNodeLinkFn = applyDirectivesToNode(directives, compileNode, tAttrs, childTranscludeFn); + afterTemplateChildLinkFn = compileNodes($compileNode[0].childNodes, childTranscludeFn); + + + while(linkQueue.length) { + var scope = linkQueue.shift(), + beforeTemplateLinkNode = linkQueue.shift(), + linkRootElement = linkQueue.shift(), + controller = linkQueue.shift(), + linkNode = compileNode; + + if (beforeTemplateLinkNode !== beforeTemplateCompileNode) { + // it was cloned therefore we have to clone as well. + linkNode = JQLiteClone(compileNode); + replaceWith(linkRootElement, jqLite(beforeTemplateLinkNode), linkNode); + } + + afterTemplateNodeLinkFn(function() { + beforeTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, linkNode, $rootElement, controller); + }, scope, linkNode, $rootElement, controller); + } + linkQueue = null; + }). + error(function(response, code, headers, config) { + throw Error('Failed to load template: ' + config.url); + }); + + return function delayedNodeLinkFn(ignoreChildLinkFn, scope, node, rootElement, controller) { + if (linkQueue) { + linkQueue.push(scope); + linkQueue.push(node); + linkQueue.push(rootElement); + linkQueue.push(controller); + } else { + afterTemplateNodeLinkFn(function() { + beforeTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, node, rootElement, controller); + }, scope, node, rootElement, controller); + } + }; + } + + + /** + * Sorting function for bound directives. + */ + function byPriority(a, b) { + return b.priority - a.priority; + } + + + function assertNoDuplicate(what, previousDirective, directive, element) { + if (previousDirective) { + throw Error('Multiple directives [' + previousDirective.name + ', ' + + directive.name + '] asking for ' + what + ' on: ' + startingTag(element)); + } + } + + + function addTextInterpolateDirective(directives, text) { + var interpolateFn = $interpolate(text, true); + if (interpolateFn) { + directives.push({ + priority: 0, + compile: valueFn(function textInterpolateLinkFn(scope, node) { + var parent = node.parent(), + bindings = parent.data('$binding') || []; + bindings.push(interpolateFn); + safeAddClass(parent.data('$binding', bindings), 'ng-binding'); + scope.$watch(interpolateFn, function interpolateFnWatchAction(value) { + node[0].nodeValue = value; + }); + }) + }); + } + } + + + function addAttrInterpolateDirective(node, directives, value, name) { + var interpolateFn = $interpolate(value, true); + + // no interpolation found -> ignore + if (!interpolateFn) return; + + + directives.push({ + priority: 100, + compile: valueFn(function attrInterpolateLinkFn(scope, element, attr) { + var $$observers = (attr.$$observers || (attr.$$observers = {})); + + // we need to interpolate again, in case the attribute value has been updated + // (e.g. by another directive's compile function) + interpolateFn = $interpolate(attr[name], true); + + // if attribute was updated so that there is no interpolation going on we don't want to + // register any observers + if (!interpolateFn) return; + + attr[name] = interpolateFn(scope); + ($$observers[name] || ($$observers[name] = [])).$$inter = true; + (attr.$$observers && attr.$$observers[name].$$scope || scope). + $watch(interpolateFn, function interpolateFnWatchAction(value) { + attr.$set(name, value); + }); + }) + }); + } + + + /** + * This is a special jqLite.replaceWith, which can replace items which + * have no parents, provided that the containing jqLite collection is provided. + * + * @param {JqLite=} $rootElement The root of the compile tree. Used so that we can replace nodes + * in the root of the tree. + * @param {JqLite} $element The jqLite element which we are going to replace. We keep the shell, + * but replace its DOM node reference. + * @param {Node} newNode The new DOM node. + */ + function replaceWith($rootElement, $element, newNode) { + var oldNode = $element[0], + parent = oldNode.parentNode, + i, ii; + + if ($rootElement) { + for(i = 0, ii = $rootElement.length; i < ii; i++) { + if ($rootElement[i] == oldNode) { + $rootElement[i] = newNode; + break; + } + } + } + + if (parent) { + parent.replaceChild(newNode, oldNode); + } + + newNode[jqLite.expando] = oldNode[jqLite.expando]; + $element[0] = newNode; + } + }]; +} + +var PREFIX_REGEXP = /^(x[\:\-_]|data[\:\-_])/i; +/** + * Converts all accepted directives format into proper directive name. + * All of these will become 'myDirective': + * my:DiRective + * my-directive + * x-my-directive + * data-my:directive + * + * Also there is special case for Moz prefix starting with upper case letter. + * @param name Name to normalize + */ +function directiveNormalize(name) { + return camelCase(name.replace(PREFIX_REGEXP, '')); +} + +/** + * @ngdoc object + * @name ng.$compile.directive.Attributes + * @description + * + * A shared object between directive compile / linking functions which contains normalized DOM element + * attributes. The the values reflect current binding state `{{ }}`. The normalization is needed + * since all of these are treated as equivalent in Angular: + * + * + */ + +/** + * @ngdoc property + * @name ng.$compile.directive.Attributes#$attr + * @propertyOf ng.$compile.directive.Attributes + * @returns {object} A map of DOM element attribute names to the normalized name. This is + * needed to do reverse lookup from normalized name back to actual name. + */ + + +/** + * @ngdoc function + * @name ng.$compile.directive.Attributes#$set + * @methodOf ng.$compile.directive.Attributes + * @function + * + * @description + * Set DOM element attribute value. + * + * + * @param {string} name Normalized element attribute name of the property to modify. The name is + * revers translated using the {@link ng.$compile.directive.Attributes#$attr $attr} + * property to the original name. + * @param {string} value Value to set the attribute to. The value can be an interpolated string. + */ + + + +/** + * Closure compiler type information + */ + +function nodesetLinkingFn( + /* angular.Scope */ scope, + /* NodeList */ nodeList, + /* Element */ rootElement, + /* function(Function) */ boundTranscludeFn +){} + +function directiveLinkingFn( + /* nodesetLinkingFn */ nodesetLinkingFn, + /* angular.Scope */ scope, + /* Node */ node, + /* Element */ rootElement, + /* function(Function) */ boundTranscludeFn +){} + +/** + * @ngdoc object + * @name ng.$controllerProvider + * @description + * The {@link ng.$controller $controller service} is used by Angular to create new + * controllers. + * + * This provider allows controller registration via the + * {@link ng.$controllerProvider#register register} method. + */ +function $ControllerProvider() { + var controllers = {}, + CNTRL_REG = /^(\S+)(\s+as\s+(\w+))?$/; + + + /** + * @ngdoc function + * @name ng.$controllerProvider#register + * @methodOf ng.$controllerProvider + * @param {string} name Controller name + * @param {Function|Array} constructor Controller constructor fn (optionally decorated with DI + * annotations in the array notation). + */ + this.register = function(name, constructor) { + if (isObject(name)) { + extend(controllers, name) + } else { + controllers[name] = constructor; + } + }; + + + this.$get = ['$injector', '$window', function($injector, $window) { + + /** + * @ngdoc function + * @name ng.$controller + * @requires $injector + * + * @param {Function|string} constructor If called with a function then it's considered to be the + * controller constructor function. Otherwise it's considered to be a string which is used + * to retrieve the controller constructor using the following steps: + * + * * check if a controller with given name is registered via `$controllerProvider` + * * check if evaluating the string on the current scope returns a constructor + * * check `window[constructor]` on the global `window` object + * + * @param {Object} locals Injection locals for Controller. + * @return {Object} Instance of given controller. + * + * @description + * `$controller` service is responsible for instantiating controllers. + * + * It's just a simple call to {@link AUTO.$injector $injector}, but extracted into + * a service, so that one can override this service with {@link https://gist.github.com/1649788 + * BC version}. + */ + return function(expression, locals) { + var instance, match, constructor, identifier; + + if(isString(expression)) { + match = expression.match(CNTRL_REG), + constructor = match[1], + identifier = match[3]; + expression = controllers.hasOwnProperty(constructor) + ? controllers[constructor] + : getter(locals.$scope, constructor, true) || getter($window, constructor, true); + + assertArgFn(expression, constructor, true); + } + + instance = $injector.instantiate(expression, locals); + + if (identifier) { + if (typeof locals.$scope !== 'object') { + throw new Error('Can not export controller as "' + identifier + '". ' + + 'No scope object provided!'); + } + + locals.$scope[identifier] = instance; + } + + return instance; + }; + }]; +} + +/** + * @ngdoc object + * @name ng.$document + * @requires $window + * + * @description + * A {@link angular.element jQuery (lite)}-wrapped reference to the browser's `window.document` + * element. + */ +function $DocumentProvider(){ + this.$get = ['$window', function(window){ + return jqLite(window.document); + }]; +} + +/** + * @ngdoc function + * @name ng.$exceptionHandler + * @requires $log + * + * @description + * Any uncaught exception in angular expressions is delegated to this service. + * The default implementation simply delegates to `$log.error` which logs it into + * the browser console. + * + * In unit tests, if `angular-mocks.js` is loaded, this service is overridden by + * {@link ngMock.$exceptionHandler mock $exceptionHandler} which aids in testing. + * + * @param {Error} exception Exception associated with the error. + * @param {string=} cause optional information about the context in which + * the error was thrown. + * + */ +function $ExceptionHandlerProvider() { + this.$get = ['$log', function($log) { + return function(exception, cause) { + $log.error.apply($log, arguments); + }; + }]; +} + +/** + * @ngdoc object + * @name ng.$interpolateProvider + * @function + * + * @description + * + * Used for configuring the interpolation markup. Defaults to `{{` and `}}`. + */ +function $InterpolateProvider() { + var startSymbol = '{{'; + var endSymbol = '}}'; + + /** + * @ngdoc method + * @name ng.$interpolateProvider#startSymbol + * @methodOf ng.$interpolateProvider + * @description + * Symbol to denote start of expression in the interpolated string. Defaults to `{{`. + * + * @param {string=} value new value to set the starting symbol to. + * @returns {string|self} Returns the symbol when used as getter and self if used as setter. + */ + this.startSymbol = function(value){ + if (value) { + startSymbol = value; + return this; + } else { + return startSymbol; + } + }; + + /** + * @ngdoc method + * @name ng.$interpolateProvider#endSymbol + * @methodOf ng.$interpolateProvider + * @description + * Symbol to denote the end of expression in the interpolated string. Defaults to `}}`. + * + * @param {string=} value new value to set the ending symbol to. + * @returns {string|self} Returns the symbol when used as getter and self if used as setter. + */ + this.endSymbol = function(value){ + if (value) { + endSymbol = value; + return this; + } else { + return endSymbol; + } + }; + + + this.$get = ['$parse', '$exceptionHandler', function($parse, $exceptionHandler) { + var startSymbolLength = startSymbol.length, + endSymbolLength = endSymbol.length; + + /** + * @ngdoc function + * @name ng.$interpolate + * @function + * + * @requires $parse + * + * @description + * + * Compiles a string with markup into an interpolation function. This service is used by the + * HTML {@link ng.$compile $compile} service for data binding. See + * {@link ng.$interpolateProvider $interpolateProvider} for configuring the + * interpolation markup. + * + * +
+         var $interpolate = ...; // injected
+         var exp = $interpolate('Hello {{name}}!');
+         expect(exp({name:'Angular'}).toEqual('Hello Angular!');
+       
+ * + * + * @param {string} text The text with markup to interpolate. + * @param {boolean=} mustHaveExpression if set to true then the interpolation string must have + * embedded expression in order to return an interpolation function. Strings with no + * embedded expression will return null for the interpolation function. + * @returns {function(context)} an interpolation function which is used to compute the interpolated + * string. The function has these parameters: + * + * * `context`: an object against which any expressions embedded in the strings are evaluated + * against. + * + */ + function $interpolate(text, mustHaveExpression) { + var startIndex, + endIndex, + index = 0, + parts = [], + length = text.length, + hasInterpolation = false, + fn, + exp, + concat = []; + + while(index < length) { + if ( ((startIndex = text.indexOf(startSymbol, index)) != -1) && + ((endIndex = text.indexOf(endSymbol, startIndex + startSymbolLength)) != -1) ) { + (index != startIndex) && parts.push(text.substring(index, startIndex)); + parts.push(fn = $parse(exp = text.substring(startIndex + startSymbolLength, endIndex))); + fn.exp = exp; + index = endIndex + endSymbolLength; + hasInterpolation = true; + } else { + // we did not find anything, so we have to add the remainder to the parts array + (index != length) && parts.push(text.substring(index)); + index = length; + } + } + + if (!(length = parts.length)) { + // we added, nothing, must have been an empty string. + parts.push(''); + length = 1; + } + + if (!mustHaveExpression || hasInterpolation) { + concat.length = length; + fn = function(context) { + try { + for(var i = 0, ii = length, part; i=} search New search params - string or hash object + * @param {string=} paramValue If `search` is a string, then `paramValue` will override only a + * single search parameter. If the value is `null`, the parameter will be deleted. + * + * @return {string} search + */ + search: function(search, paramValue) { + if (isUndefined(search)) + return this.$$search; + + if (isDefined(paramValue)) { + if (paramValue === null) { + delete this.$$search[search]; + } else { + this.$$search[search] = paramValue; + } + } else { + this.$$search = isString(search) ? parseKeyValue(search) : search; + } + + this.$$compose(); + return this; + }, + + /** + * @ngdoc method + * @name ng.$location#hash + * @methodOf ng.$location + * + * @description + * This method is getter / setter. + * + * Return hash fragment when called without any parameter. + * + * Change hash fragment when called with parameter and return `$location`. + * + * @param {string=} hash New hash fragment + * @return {string} hash + */ + hash: locationGetterSetter('$$hash', identity), + + /** + * @ngdoc method + * @name ng.$location#replace + * @methodOf ng.$location + * + * @description + * If called, all changes to $location during current `$digest` will be replacing current history + * record, instead of adding new one. + */ + replace: function() { + this.$$replace = true; + return this; + } +}; + +function locationGetter(property) { + return function() { + return this[property]; + }; +} + + +function locationGetterSetter(property, preprocess) { + return function(value) { + if (isUndefined(value)) + return this[property]; + + this[property] = preprocess(value); + this.$$compose(); + + return this; + }; +} + + +/** + * @ngdoc object + * @name ng.$location + * + * @requires $browser + * @requires $sniffer + * @requires $rootElement + * + * @description + * The $location service parses the URL in the browser address bar (based on the + * {@link https://developer.mozilla.org/en/window.location window.location}) and makes the URL + * available to your application. Changes to the URL in the address bar are reflected into + * $location service and changes to $location are reflected into the browser address bar. + * + * **The $location service:** + * + * - Exposes the current URL in the browser address bar, so you can + * - Watch and observe the URL. + * - Change the URL. + * - Synchronizes the URL with the browser when the user + * - Changes the address bar. + * - Clicks the back or forward button (or clicks a History link). + * - Clicks on a link. + * - Represents the URL object as a set of methods (protocol, host, port, path, search, hash). + * + * For more information see {@link guide/dev_guide.services.$location Developer Guide: Angular + * Services: Using $location} + */ + +/** + * @ngdoc object + * @name ng.$locationProvider + * @description + * Use the `$locationProvider` to configure how the application deep linking paths are stored. + */ +function $LocationProvider(){ + var hashPrefix = '', + html5Mode = false; + + /** + * @ngdoc property + * @name ng.$locationProvider#hashPrefix + * @methodOf ng.$locationProvider + * @description + * @param {string=} prefix Prefix for hash part (containing path and search) + * @returns {*} current value if used as getter or itself (chaining) if used as setter + */ + this.hashPrefix = function(prefix) { + if (isDefined(prefix)) { + hashPrefix = prefix; + return this; + } else { + return hashPrefix; + } + }; + + /** + * @ngdoc property + * @name ng.$locationProvider#html5Mode + * @methodOf ng.$locationProvider + * @description + * @param {string=} mode Use HTML5 strategy if available. + * @returns {*} current value if used as getter or itself (chaining) if used as setter + */ + this.html5Mode = function(mode) { + if (isDefined(mode)) { + html5Mode = mode; + return this; + } else { + return html5Mode; + } + }; + + this.$get = ['$rootScope', '$browser', '$sniffer', '$rootElement', + function( $rootScope, $browser, $sniffer, $rootElement) { + var $location, + LocationMode, + baseHref = $browser.baseHref(), + initialUrl = $browser.url(), + appBase; + + if (html5Mode) { + appBase = baseHref ? serverBase(initialUrl) + baseHref : initialUrl; + LocationMode = $sniffer.history ? LocationHtml5Url : LocationHashbangInHtml5Url; + } else { + appBase = stripHash(initialUrl); + LocationMode = LocationHashbangUrl; + } + $location = new LocationMode(appBase, '#' + hashPrefix); + $location.$$parse($location.$$rewrite(initialUrl)); + + $rootElement.bind('click', function(event) { + // TODO(vojta): rewrite link when opening in new tab/window (in legacy browser) + // currently we open nice url link and redirect then + + if (event.ctrlKey || event.metaKey || event.which == 2) return; + + var elm = jqLite(event.target); + + // traverse the DOM up to find first A tag + while (lowercase(elm[0].nodeName) !== 'a') { + // ignore rewriting if no A tag (reached root element, or no parent - removed from document) + if (elm[0] === $rootElement[0] || !(elm = elm.parent())[0]) return; + } + + var absHref = elm.prop('href'); + var rewrittenUrl = $location.$$rewrite(absHref); + + if (absHref && !elm.attr('target') && rewrittenUrl && !event.isDefaultPrevented()) { + event.preventDefault(); + if (rewrittenUrl != $browser.url()) { + // update location manually + $location.$$parse(rewrittenUrl); + $rootScope.$apply(); + // hack to work around FF6 bug 684208 when scenario runner clicks on links + window.angular['ff-684208-preventDefault'] = true; + } + } + }); + + + // rewrite hashbang url <> html5 url + if ($location.absUrl() != initialUrl) { + $browser.url($location.absUrl(), true); + } + + // update $location when $browser url changes + $browser.onUrlChange(function(newUrl) { + if ($location.absUrl() != newUrl) { + if ($rootScope.$broadcast('$locationChangeStart', newUrl, $location.absUrl()).defaultPrevented) { + $browser.url($location.absUrl()); + return; + } + $rootScope.$evalAsync(function() { + var oldUrl = $location.absUrl(); + + $location.$$parse(newUrl); + afterLocationChange(oldUrl); + }); + if (!$rootScope.$$phase) $rootScope.$digest(); + } + }); + + // update browser + var changeCounter = 0; + $rootScope.$watch(function $locationWatch() { + var oldUrl = $browser.url(); + var currentReplace = $location.$$replace; + + if (!changeCounter || oldUrl != $location.absUrl()) { + changeCounter++; + $rootScope.$evalAsync(function() { + if ($rootScope.$broadcast('$locationChangeStart', $location.absUrl(), oldUrl). + defaultPrevented) { + $location.$$parse(oldUrl); + } else { + $browser.url($location.absUrl(), currentReplace); + afterLocationChange(oldUrl); + } + }); + } + $location.$$replace = false; + + return changeCounter; + }); + + return $location; + + function afterLocationChange(oldUrl) { + $rootScope.$broadcast('$locationChangeSuccess', $location.absUrl(), oldUrl); + } +}]; +} + +/** + * @ngdoc object + * @name ng.$log + * @requires $window + * + * @description + * Simple service for logging. Default implementation writes the message + * into the browser's console (if present). + * + * The main purpose of this service is to simplify debugging and troubleshooting. + * + * @example + + + function LogCtrl($scope, $log) { + $scope.$log = $log; + $scope.message = 'Hello World!'; + } + + +
+

Reload this page with open console, enter text and hit the log button...

+ Message: + + + + + +
+
+
+ */ + +/** + * @ngdoc object + * @name ng.$logProvider + * @description + * Use the `$logProvider` to configure how the application logs messages + */ +function $LogProvider(){ + var debug = true, + self = this; + + /** + * @ngdoc property + * @name ng.$logProvider#debugEnabled + * @methodOf ng.$logProvider + * @description + * @param {string=} flag enable or disable debug level messages + * @returns {*} current value if used as getter or itself (chaining) if used as setter + */ + this.debugEnabled = function(flag) { + if (isDefined(flag)) { + debug = flag; + return this; + } else { + return debug; + } + }; + + this.$get = ['$window', function($window){ + return { + /** + * @ngdoc method + * @name ng.$log#log + * @methodOf ng.$log + * + * @description + * Write a log message + */ + log: consoleLog('log'), + + /** + * @ngdoc method + * @name ng.$log#warn + * @methodOf ng.$log + * + * @description + * Write a warning message + */ + warn: consoleLog('warn'), + + /** + * @ngdoc method + * @name ng.$log#info + * @methodOf ng.$log + * + * @description + * Write an information message + */ + info: consoleLog('info'), + + /** + * @ngdoc method + * @name ng.$log#error + * @methodOf ng.$log + * + * @description + * Write an error message + */ + error: consoleLog('error'), + + /** + * @ngdoc method + * @name ng.$log#debug + * @methodOf ng.$log + * + * @description + * Write a debug message + */ + debug: (function () { + var fn = consoleLog('debug'); + + return function() { + if (debug) { + fn.apply(self, arguments); + } + } + }()) + }; + + function formatError(arg) { + if (arg instanceof Error) { + if (arg.stack) { + arg = (arg.message && arg.stack.indexOf(arg.message) === -1) + ? 'Error: ' + arg.message + '\n' + arg.stack + : arg.stack; + } else if (arg.sourceURL) { + arg = arg.message + '\n' + arg.sourceURL + ':' + arg.line; + } + } + return arg; + } + + function consoleLog(type) { + var console = $window.console || {}, + logFn = console[type] || console.log || noop; + + if (logFn.apply) { + return function() { + var args = []; + forEach(arguments, function(arg) { + args.push(formatError(arg)); + }); + return logFn.apply(console, args); + }; + } + + // we are IE which either doesn't have window.console => this is noop and we do nothing, + // or we are IE where console.log doesn't have apply so we log at least first 2 args + return function(arg1, arg2) { + logFn(arg1, arg2); + } + } + }]; +} + +var OPERATORS = { + 'null':function(){return null;}, + 'true':function(){return true;}, + 'false':function(){return false;}, + undefined:noop, + '+':function(self, locals, a,b){ + a=a(self, locals); b=b(self, locals); + if (isDefined(a)) { + if (isDefined(b)) { + return a + b; + } + return a; + } + return isDefined(b)?b:undefined;}, + '-':function(self, locals, a,b){a=a(self, locals); b=b(self, locals); return (isDefined(a)?a:0)-(isDefined(b)?b:0);}, + '*':function(self, locals, a,b){return a(self, locals)*b(self, locals);}, + '/':function(self, locals, a,b){return a(self, locals)/b(self, locals);}, + '%':function(self, locals, a,b){return a(self, locals)%b(self, locals);}, + '^':function(self, locals, a,b){return a(self, locals)^b(self, locals);}, + '=':noop, + '===':function(self, locals, a, b){return a(self, locals)===b(self, locals);}, + '!==':function(self, locals, a, b){return a(self, locals)!==b(self, locals);}, + '==':function(self, locals, a,b){return a(self, locals)==b(self, locals);}, + '!=':function(self, locals, a,b){return a(self, locals)!=b(self, locals);}, + '<':function(self, locals, a,b){return a(self, locals)':function(self, locals, a,b){return a(self, locals)>b(self, locals);}, + '<=':function(self, locals, a,b){return a(self, locals)<=b(self, locals);}, + '>=':function(self, locals, a,b){return a(self, locals)>=b(self, locals);}, + '&&':function(self, locals, a,b){return a(self, locals)&&b(self, locals);}, + '||':function(self, locals, a,b){return a(self, locals)||b(self, locals);}, + '&':function(self, locals, a,b){return a(self, locals)&b(self, locals);}, +// '|':function(self, locals, a,b){return a|b;}, + '|':function(self, locals, a,b){return b(self, locals)(self, locals, a(self, locals));}, + '!':function(self, locals, a){return !a(self, locals);} +}; +var ESCAPE = {"n":"\n", "f":"\f", "r":"\r", "t":"\t", "v":"\v", "'":"'", '"':'"'}; + +function lex(text, csp){ + var tokens = [], + token, + index = 0, + json = [], + ch, + lastCh = ':'; // can start regexp + + while (index < text.length) { + ch = text.charAt(index); + if (is('"\'')) { + readString(ch); + } else if (isNumber(ch) || is('.') && isNumber(peek())) { + readNumber(); + } else if (isIdent(ch)) { + readIdent(); + // identifiers can only be if the preceding char was a { or , + if (was('{,') && json[0]=='{' && + (token=tokens[tokens.length-1])) { + token.json = token.text.indexOf('.') == -1; + } + } else if (is('(){}[].,;:?')) { + tokens.push({ + index:index, + text:ch, + json:(was(':[,') && is('{[')) || is('}]:,') + }); + if (is('{[')) json.unshift(ch); + if (is('}]')) json.shift(); + index++; + } else if (isWhitespace(ch)) { + index++; + continue; + } else { + var ch2 = ch + peek(), + ch3 = ch2 + peek(2), + fn = OPERATORS[ch], + fn2 = OPERATORS[ch2], + fn3 = OPERATORS[ch3]; + if (fn3) { + tokens.push({index:index, text:ch3, fn:fn3}); + index += 3; + } else if (fn2) { + tokens.push({index:index, text:ch2, fn:fn2}); + index += 2; + } else if (fn) { + tokens.push({index:index, text:ch, fn:fn, json: was('[,:') && is('+-')}); + index += 1; + } else { + throwError("Unexpected next character ", index, index+1); + } + } + lastCh = ch; + } + return tokens; + + function is(chars) { + return chars.indexOf(ch) != -1; + } + + function was(chars) { + return chars.indexOf(lastCh) != -1; + } + + function peek(i) { + var num = i || 1; + return index + num < text.length ? text.charAt(index + num) : false; + } + function isNumber(ch) { + return '0' <= ch && ch <= '9'; + } + function isWhitespace(ch) { + return ch == ' ' || ch == '\r' || ch == '\t' || + ch == '\n' || ch == '\v' || ch == '\u00A0'; // IE treats non-breaking space as \u00A0 + } + function isIdent(ch) { + return 'a' <= ch && ch <= 'z' || + 'A' <= ch && ch <= 'Z' || + '_' == ch || ch == '$'; + } + function isExpOperator(ch) { + return ch == '-' || ch == '+' || isNumber(ch); + } + + function throwError(error, start, end) { + end = end || index; + throw Error("Lexer Error: " + error + " at column" + + (isDefined(start) + ? "s " + start + "-" + index + " [" + text.substring(start, end) + "]" + : " " + end) + + " in expression [" + text + "]."); + } + + function readNumber() { + var number = ""; + var start = index; + while (index < text.length) { + var ch = lowercase(text.charAt(index)); + if (ch == '.' || isNumber(ch)) { + number += ch; + } else { + var peekCh = peek(); + if (ch == 'e' && isExpOperator(peekCh)) { + number += ch; + } else if (isExpOperator(ch) && + peekCh && isNumber(peekCh) && + number.charAt(number.length - 1) == 'e') { + number += ch; + } else if (isExpOperator(ch) && + (!peekCh || !isNumber(peekCh)) && + number.charAt(number.length - 1) == 'e') { + throwError('Invalid exponent'); + } else { + break; + } + } + index++; + } + number = 1 * number; + tokens.push({index:start, text:number, json:true, + fn:function() {return number;}}); + } + function readIdent() { + var ident = "", + start = index, + lastDot, peekIndex, methodName, ch; + + while (index < text.length) { + ch = text.charAt(index); + if (ch == '.' || isIdent(ch) || isNumber(ch)) { + if (ch == '.') lastDot = index; + ident += ch; + } else { + break; + } + index++; + } + + //check if this is not a method invocation and if it is back out to last dot + if (lastDot) { + peekIndex = index; + while(peekIndex < text.length) { + ch = text.charAt(peekIndex); + if (ch == '(') { + methodName = ident.substr(lastDot - start + 1); + ident = ident.substr(0, lastDot - start); + index = peekIndex; + break; + } + if(isWhitespace(ch)) { + peekIndex++; + } else { + break; + } + } + } + + + var token = { + index:start, + text:ident + }; + + if (OPERATORS.hasOwnProperty(ident)) { + token.fn = token.json = OPERATORS[ident]; + } else { + var getter = getterFn(ident, csp); + token.fn = extend(function(self, locals) { + return (getter(self, locals)); + }, { + assign: function(self, value) { + return setter(self, ident, value); + } + }); + } + + tokens.push(token); + + if (methodName) { + tokens.push({ + index:lastDot, + text: '.', + json: false + }); + tokens.push({ + index: lastDot + 1, + text: methodName, + json: false + }); + } + } + + function readString(quote) { + var start = index; + index++; + var string = ""; + var rawString = quote; + var escape = false; + while (index < text.length) { + var ch = text.charAt(index); + rawString += ch; + if (escape) { + if (ch == 'u') { + var hex = text.substring(index + 1, index + 5); + if (!hex.match(/[\da-f]{4}/i)) + throwError( "Invalid unicode escape [\\u" + hex + "]"); + index += 4; + string += String.fromCharCode(parseInt(hex, 16)); + } else { + var rep = ESCAPE[ch]; + if (rep) { + string += rep; + } else { + string += ch; + } + } + escape = false; + } else if (ch == '\\') { + escape = true; + } else if (ch == quote) { + index++; + tokens.push({ + index:start, + text:rawString, + string:string, + json:true, + fn:function() { return string; } + }); + return; + } else { + string += ch; + } + index++; + } + throwError("Unterminated quote", start); + } +} + +///////////////////////////////////////// + +function parser(text, json, $filter, csp){ + var ZERO = valueFn(0), + value, + tokens = lex(text, csp), + assignment = _assignment, + functionCall = _functionCall, + fieldAccess = _fieldAccess, + objectIndex = _objectIndex, + filterChain = _filterChain; + + if(json){ + // The extra level of aliasing is here, just in case the lexer misses something, so that + // we prevent any accidental execution in JSON. + assignment = logicalOR; + functionCall = + fieldAccess = + objectIndex = + filterChain = + function() { throwError("is not valid json", {text:text, index:0}); }; + value = primary(); + } else { + value = statements(); + } + if (tokens.length !== 0) { + throwError("is an unexpected token", tokens[0]); + } + value.literal = !!value.literal; + value.constant = !!value.constant; + return value; + + /////////////////////////////////// + function throwError(msg, token) { + throw Error("Syntax Error: Token '" + token.text + + "' " + msg + " at column " + + (token.index + 1) + " of the expression [" + + text + "] starting at [" + text.substring(token.index) + "]."); + } + + function peekToken() { + if (tokens.length === 0) + throw Error("Unexpected end of expression: " + text); + return tokens[0]; + } + + function peek(e1, e2, e3, e4) { + if (tokens.length > 0) { + var token = tokens[0]; + var t = token.text; + if (t==e1 || t==e2 || t==e3 || t==e4 || + (!e1 && !e2 && !e3 && !e4)) { + return token; + } + } + return false; + } + + function expect(e1, e2, e3, e4){ + var token = peek(e1, e2, e3, e4); + if (token) { + if (json && !token.json) { + throwError("is not valid json", token); + } + tokens.shift(); + return token; + } + return false; + } + + function consume(e1){ + if (!expect(e1)) { + throwError("is unexpected, expecting [" + e1 + "]", peek()); + } + } + + function unaryFn(fn, right) { + return extend(function(self, locals) { + return fn(self, locals, right); + }, { + constant:right.constant + }); + } + + function ternaryFn(left, middle, right){ + return extend(function(self, locals){ + return left(self, locals) ? middle(self, locals) : right(self, locals); + }, { + constant: left.constant && middle.constant && right.constant + }); + } + + function binaryFn(left, fn, right) { + return extend(function(self, locals) { + return fn(self, locals, left, right); + }, { + constant:left.constant && right.constant + }); + } + + function statements() { + var statements = []; + while(true) { + if (tokens.length > 0 && !peek('}', ')', ';', ']')) + statements.push(filterChain()); + if (!expect(';')) { + // optimize for the common case where there is only one statement. + // TODO(size): maybe we should not support multiple statements? + return statements.length == 1 + ? statements[0] + : function(self, locals){ + var value; + for ( var i = 0; i < statements.length; i++) { + var statement = statements[i]; + if (statement) + value = statement(self, locals); + } + return value; + }; + } + } + } + + function _filterChain() { + var left = expression(); + var token; + while(true) { + if ((token = expect('|'))) { + left = binaryFn(left, token.fn, filter()); + } else { + return left; + } + } + } + + function filter() { + var token = expect(); + var fn = $filter(token.text); + var argsFn = []; + while(true) { + if ((token = expect(':'))) { + argsFn.push(expression()); + } else { + var fnInvoke = function(self, locals, input){ + var args = [input]; + for ( var i = 0; i < argsFn.length; i++) { + args.push(argsFn[i](self, locals)); + } + return fn.apply(self, args); + }; + return function() { + return fnInvoke; + }; + } + } + } + + function expression() { + return assignment(); + } + + function _assignment() { + var left = ternary(); + var right; + var token; + if ((token = expect('='))) { + if (!left.assign) { + throwError("implies assignment but [" + + text.substring(0, token.index) + "] can not be assigned to", token); + } + right = ternary(); + return function(scope, locals){ + return left.assign(scope, right(scope, locals), locals); + }; + } else { + return left; + } + } + + function ternary() { + var left = logicalOR(); + var middle; + var token; + if((token = expect('?'))){ + middle = ternary(); + if((token = expect(':'))){ + return ternaryFn(left, middle, ternary()); + } + else { + throwError('expected :', token); + } + } + else { + return left; + } + } + + function logicalOR() { + var left = logicalAND(); + var token; + while(true) { + if ((token = expect('||'))) { + left = binaryFn(left, token.fn, logicalAND()); + } else { + return left; + } + } + } + + function logicalAND() { + var left = equality(); + var token; + if ((token = expect('&&'))) { + left = binaryFn(left, token.fn, logicalAND()); + } + return left; + } + + function equality() { + var left = relational(); + var token; + if ((token = expect('==','!=','===','!=='))) { + left = binaryFn(left, token.fn, equality()); + } + return left; + } + + function relational() { + var left = additive(); + var token; + if ((token = expect('<', '>', '<=', '>='))) { + left = binaryFn(left, token.fn, relational()); + } + return left; + } + + function additive() { + var left = multiplicative(); + var token; + while ((token = expect('+','-'))) { + left = binaryFn(left, token.fn, multiplicative()); + } + return left; + } + + function multiplicative() { + var left = unary(); + var token; + while ((token = expect('*','/','%'))) { + left = binaryFn(left, token.fn, unary()); + } + return left; + } + + function unary() { + var token; + if (expect('+')) { + return primary(); + } else if ((token = expect('-'))) { + return binaryFn(ZERO, token.fn, unary()); + } else if ((token = expect('!'))) { + return unaryFn(token.fn, unary()); + } else { + return primary(); + } + } + + + function primary() { + var primary; + if (expect('(')) { + primary = filterChain(); + consume(')'); + } else if (expect('[')) { + primary = arrayDeclaration(); + } else if (expect('{')) { + primary = object(); + } else { + var token = expect(); + primary = token.fn; + if (!primary) { + throwError("not a primary expression", token); + } + if (token.json) { + primary.constant = primary.literal = true; + } + } + + var next, context; + while ((next = expect('(', '[', '.'))) { + if (next.text === '(') { + primary = functionCall(primary, context); + context = null; + } else if (next.text === '[') { + context = primary; + primary = objectIndex(primary); + } else if (next.text === '.') { + context = primary; + primary = fieldAccess(primary); + } else { + throwError("IMPOSSIBLE"); + } + } + return primary; + } + + function _fieldAccess(object) { + var field = expect().text; + var getter = getterFn(field, csp); + return extend( + function(scope, locals, self) { + return getter(self || object(scope, locals), locals); + }, + { + assign:function(scope, value, locals) { + return setter(object(scope, locals), field, value); + } + } + ); + } + + function _objectIndex(obj) { + var indexFn = expression(); + consume(']'); + return extend( + function(self, locals){ + var o = obj(self, locals), + i = indexFn(self, locals), + v, p; + + if (!o) return undefined; + v = o[i]; + if (v && v.then) { + p = v; + if (!('$$v' in v)) { + p.$$v = undefined; + p.then(function(val) { p.$$v = val; }); + } + v = v.$$v; + } + return v; + }, { + assign:function(self, value, locals){ + return obj(self, locals)[indexFn(self, locals)] = value; + } + }); + } + + function _functionCall(fn, contextGetter) { + var argsFn = []; + if (peekToken().text != ')') { + do { + argsFn.push(expression()); + } while (expect(',')); + } + consume(')'); + return function(scope, locals){ + var args = [], + context = contextGetter ? contextGetter(scope, locals) : scope; + + for ( var i = 0; i < argsFn.length; i++) { + args.push(argsFn[i](scope, locals)); + } + var fnPtr = fn(scope, locals, context) || noop; + // IE stupidity! + return fnPtr.apply + ? fnPtr.apply(context, args) + : fnPtr(args[0], args[1], args[2], args[3], args[4]); + }; + } + + // This is used with json array declaration + function arrayDeclaration () { + var elementFns = []; + var allConstant = true; + if (peekToken().text != ']') { + do { + var elementFn = expression(); + elementFns.push(elementFn); + if (!elementFn.constant) { + allConstant = false; + } + } while (expect(',')); + } + consume(']'); + return extend(function(self, locals){ + var array = []; + for ( var i = 0; i < elementFns.length; i++) { + array.push(elementFns[i](self, locals)); + } + return array; + }, { + literal:true, + constant:allConstant + }); + } + + function object () { + var keyValues = []; + var allConstant = true; + if (peekToken().text != '}') { + do { + var token = expect(), + key = token.string || token.text; + consume(":"); + var value = expression(); + keyValues.push({key:key, value:value}); + if (!value.constant) { + allConstant = false; + } + } while (expect(',')); + } + consume('}'); + return extend(function(self, locals){ + var object = {}; + for ( var i = 0; i < keyValues.length; i++) { + var keyValue = keyValues[i]; + object[keyValue.key] = keyValue.value(self, locals); + } + return object; + }, { + literal:true, + constant:allConstant + }); + } +} + +////////////////////////////////////////////////// +// Parser helper functions +////////////////////////////////////////////////// + +function setter(obj, path, setValue) { + var element = path.split('.'); + for (var i = 0; element.length > 1; i++) { + var key = element.shift(); + var propertyObj = obj[key]; + if (!propertyObj) { + propertyObj = {}; + obj[key] = propertyObj; + } + obj = propertyObj; + } + obj[element.shift()] = setValue; + return setValue; +} + +/** + * Return the value accessible from the object by path. Any undefined traversals are ignored + * @param {Object} obj starting object + * @param {string} path path to traverse + * @param {boolean=true} bindFnToScope + * @returns value as accessible by path + */ +//TODO(misko): this function needs to be removed +function getter(obj, path, bindFnToScope) { + if (!path) return obj; + var keys = path.split('.'); + var key; + var lastInstance = obj; + var len = keys.length; + + for (var i = 0; i < len; i++) { + key = keys[i]; + if (obj) { + obj = (lastInstance = obj)[key]; + } + } + if (!bindFnToScope && isFunction(obj)) { + return bind(lastInstance, obj); + } + return obj; +} + +var getterFnCache = {}; + +/** + * Implementation of the "Black Hole" variant from: + * - http://jsperf.com/angularjs-parse-getter/4 + * - http://jsperf.com/path-evaluation-simplified/7 + */ +function cspSafeGetterFn(key0, key1, key2, key3, key4) { + return function(scope, locals) { + var pathVal = (locals && locals.hasOwnProperty(key0)) ? locals : scope, + promise; + + if (pathVal === null || pathVal === undefined) return pathVal; + + pathVal = pathVal[key0]; + if (pathVal && pathVal.then) { + if (!("$$v" in pathVal)) { + promise = pathVal; + promise.$$v = undefined; + promise.then(function(val) { promise.$$v = val; }); + } + pathVal = pathVal.$$v; + } + if (!key1 || pathVal === null || pathVal === undefined) return pathVal; + + pathVal = pathVal[key1]; + if (pathVal && pathVal.then) { + if (!("$$v" in pathVal)) { + promise = pathVal; + promise.$$v = undefined; + promise.then(function(val) { promise.$$v = val; }); + } + pathVal = pathVal.$$v; + } + if (!key2 || pathVal === null || pathVal === undefined) return pathVal; + + pathVal = pathVal[key2]; + if (pathVal && pathVal.then) { + if (!("$$v" in pathVal)) { + promise = pathVal; + promise.$$v = undefined; + promise.then(function(val) { promise.$$v = val; }); + } + pathVal = pathVal.$$v; + } + if (!key3 || pathVal === null || pathVal === undefined) return pathVal; + + pathVal = pathVal[key3]; + if (pathVal && pathVal.then) { + if (!("$$v" in pathVal)) { + promise = pathVal; + promise.$$v = undefined; + promise.then(function(val) { promise.$$v = val; }); + } + pathVal = pathVal.$$v; + } + if (!key4 || pathVal === null || pathVal === undefined) return pathVal; + + pathVal = pathVal[key4]; + if (pathVal && pathVal.then) { + if (!("$$v" in pathVal)) { + promise = pathVal; + promise.$$v = undefined; + promise.then(function(val) { promise.$$v = val; }); + } + pathVal = pathVal.$$v; + } + return pathVal; + }; +} + +function getterFn(path, csp) { + if (getterFnCache.hasOwnProperty(path)) { + return getterFnCache[path]; + } + + var pathKeys = path.split('.'), + pathKeysLength = pathKeys.length, + fn; + + if (csp) { + fn = (pathKeysLength < 6) + ? cspSafeGetterFn(pathKeys[0], pathKeys[1], pathKeys[2], pathKeys[3], pathKeys[4]) + : function(scope, locals) { + var i = 0, val; + do { + val = cspSafeGetterFn( + pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++] + )(scope, locals); + + locals = undefined; // clear after first iteration + scope = val; + } while (i < pathKeysLength); + return val; + } + } else { + var code = 'var l, fn, p;\n'; + forEach(pathKeys, function(key, index) { + code += 'if(s === null || s === undefined) return s;\n' + + 'l=s;\n' + + 's='+ (index + // we simply dereference 's' on any .dot notation + ? 's' + // but if we are first then we check locals first, and if so read it first + : '((k&&k.hasOwnProperty("' + key + '"))?k:s)') + '["' + key + '"]' + ';\n' + + 'if (s && s.then) {\n' + + ' if (!("$$v" in s)) {\n' + + ' p=s;\n' + + ' p.$$v = undefined;\n' + + ' p.then(function(v) {p.$$v=v;});\n' + + '}\n' + + ' s=s.$$v\n' + + '}\n'; + }); + code += 'return s;'; + fn = Function('s', 'k', code); // s=scope, k=locals + fn.toString = function() { return code; }; + } + + return getterFnCache[path] = fn; +} + +/////////////////////////////////// + +/** + * @ngdoc function + * @name ng.$parse + * @function + * + * @description + * + * Converts Angular {@link guide/expression expression} into a function. + * + *
+ *   var getter = $parse('user.name');
+ *   var setter = getter.assign;
+ *   var context = {user:{name:'angular'}};
+ *   var locals = {user:{name:'local'}};
+ *
+ *   expect(getter(context)).toEqual('angular');
+ *   setter(context, 'newValue');
+ *   expect(context.user.name).toEqual('newValue');
+ *   expect(getter(context, locals)).toEqual('local');
+ * 
+ * + * + * @param {string} expression String expression to compile. + * @returns {function(context, locals)} a function which represents the compiled expression: + * + * * `context` – `{object}` – an object against which any expressions embedded in the strings + * are evaluated against (typically a scope object). + * * `locals` – `{object=}` – local variables context object, useful for overriding values in + * `context`. + * + * The returned function also has the following properties: + * * `literal` – `{boolean}` – whether the expression's top-level node is a JavaScript + * literal. + * * `constant` – `{boolean}` – whether the expression is made entirely of JavaScript + * constant literals. + * * `assign` – `{?function(context, value)}` – if the expression is assignable, this will be + * set to a function to change its value on the given context. + * + */ +function $ParseProvider() { + var cache = {}; + this.$get = ['$filter', '$sniffer', function($filter, $sniffer) { + return function(exp) { + switch(typeof exp) { + case 'string': + return cache.hasOwnProperty(exp) + ? cache[exp] + : cache[exp] = parser(exp, false, $filter, $sniffer.csp); + case 'function': + return exp; + default: + return noop; + } + }; + }]; +} + +/** + * @ngdoc service + * @name ng.$q + * @requires $rootScope + * + * @description + * A promise/deferred implementation inspired by [Kris Kowal's Q](https://github.com/kriskowal/q). + * + * [The CommonJS Promise proposal](http://wiki.commonjs.org/wiki/Promises) describes a promise as an + * interface for interacting with an object that represents the result of an action that is + * performed asynchronously, and may or may not be finished at any given point in time. + * + * From the perspective of dealing with error handling, deferred and promise APIs are to + * asynchronous programming what `try`, `catch` and `throw` keywords are to synchronous programming. + * + *
+ *   // for the purpose of this example let's assume that variables `$q` and `scope` are
+ *   // available in the current lexical scope (they could have been injected or passed in).
+ *
+ *   function asyncGreet(name) {
+ *     var deferred = $q.defer();
+ *
+ *     setTimeout(function() {
+ *       // since this fn executes async in a future turn of the event loop, we need to wrap
+ *       // our code into an $apply call so that the model changes are properly observed.
+ *       scope.$apply(function() {
+ *         if (okToGreet(name)) {
+ *           deferred.resolve('Hello, ' + name + '!');
+ *         } else {
+ *           deferred.reject('Greeting ' + name + ' is not allowed.');
+ *         }
+ *       });
+ *     }, 1000);
+ *
+ *     return deferred.promise;
+ *   }
+ *
+ *   var promise = asyncGreet('Robin Hood');
+ *   promise.then(function(greeting) {
+ *     alert('Success: ' + greeting);
+ *   }, function(reason) {
+ *     alert('Failed: ' + reason);
+ *   });
+ * 
+ * + * At first it might not be obvious why this extra complexity is worth the trouble. The payoff + * comes in the way of + * [guarantees that promise and deferred APIs make](https://github.com/kriskowal/uncommonjs/blob/master/promises/specification.md). + * + * Additionally the promise api allows for composition that is very hard to do with the + * traditional callback ([CPS](http://en.wikipedia.org/wiki/Continuation-passing_style)) approach. + * For more on this please see the [Q documentation](https://github.com/kriskowal/q) especially the + * section on serial or parallel joining of promises. + * + * + * # The Deferred API + * + * A new instance of deferred is constructed by calling `$q.defer()`. + * + * The purpose of the deferred object is to expose the associated Promise instance as well as APIs + * that can be used for signaling the successful or unsuccessful completion of the task. + * + * **Methods** + * + * - `resolve(value)` – resolves the derived promise with the `value`. If the value is a rejection + * constructed via `$q.reject`, the promise will be rejected instead. + * - `reject(reason)` – rejects the derived promise with the `reason`. This is equivalent to + * resolving it with a rejection constructed via `$q.reject`. + * + * **Properties** + * + * - promise – `{Promise}` – promise object associated with this deferred. + * + * + * # The Promise API + * + * A new promise instance is created when a deferred instance is created and can be retrieved by + * calling `deferred.promise`. + * + * The purpose of the promise object is to allow for interested parties to get access to the result + * of the deferred task when it completes. + * + * **Methods** + * + * - `then(successCallback, errorCallback)` – regardless of when the promise was or will be resolved + * or rejected calls one of the success or error callbacks asynchronously as soon as the result + * is available. The callbacks are called with a single argument the result or rejection reason. + * + * This method *returns a new promise* which is resolved or rejected via the return value of the + * `successCallback` or `errorCallback`. + * + * - `always(callback)` – allows you to observe either the fulfillment or rejection of a promise, + * but to do so without modifying the final value. This is useful to release resources or do some + * clean-up that needs to be done whether the promise was rejected or resolved. See the [full + * specification](https://github.com/kriskowal/q/wiki/API-Reference#promisefinallycallback) for + * more information. + * + * # Chaining promises + * + * Because calling `then` api of a promise returns a new derived promise, it is easily possible + * to create a chain of promises: + * + *
+ *   promiseB = promiseA.then(function(result) {
+ *     return result + 1;
+ *   });
+ *
+ *   // promiseB will be resolved immediately after promiseA is resolved and its value will be
+ *   // the result of promiseA incremented by 1
+ * 
+ * + * It is possible to create chains of any length and since a promise can be resolved with another + * promise (which will defer its resolution further), it is possible to pause/defer resolution of + * the promises at any point in the chain. This makes it possible to implement powerful apis like + * $http's response interceptors. + * + * + * # Differences between Kris Kowal's Q and $q + * + * There are three main differences: + * + * - $q is integrated with the {@link ng.$rootScope.Scope} Scope model observation + * mechanism in angular, which means faster propagation of resolution or rejection into your + * models and avoiding unnecessary browser repaints, which would result in flickering UI. + * - $q promises are recognized by the templating engine in angular, which means that in templates + * you can treat promises attached to a scope as if they were the resulting values. + * - Q has many more features than $q, but that comes at a cost of bytes. $q is tiny, but contains + * all the important functionality needed for common async tasks. + * + * # Testing + * + *
+ *    it('should simulate promise', inject(function($q, $rootScope) {
+ *      var deferred = $q.defer();
+ *      var promise = deferred.promise;
+ *      var resolvedValue;
+ * 
+ *      promise.then(function(value) { resolvedValue = value; });
+ *      expect(resolvedValue).toBeUndefined();
+ * 
+ *      // Simulate resolving of promise
+ *      deferred.resolve(123);
+ *      // Note that the 'then' function does not get called synchronously.
+ *      // This is because we want the promise API to always be async, whether or not
+ *      // it got called synchronously or asynchronously.
+ *      expect(resolvedValue).toBeUndefined();
+ * 
+ *      // Propagate promise resolution to 'then' functions using $apply().
+ *      $rootScope.$apply();
+ *      expect(resolvedValue).toEqual(123);
+ *    });
+ *  
+ */ +function $QProvider() { + + this.$get = ['$rootScope', '$exceptionHandler', function($rootScope, $exceptionHandler) { + return qFactory(function(callback) { + $rootScope.$evalAsync(callback); + }, $exceptionHandler); + }]; +} + + +/** + * Constructs a promise manager. + * + * @param {function(function)} nextTick Function for executing functions in the next turn. + * @param {function(...*)} exceptionHandler Function into which unexpected exceptions are passed for + * debugging purposes. + * @returns {object} Promise manager. + */ +function qFactory(nextTick, exceptionHandler) { + + /** + * @ngdoc + * @name ng.$q#defer + * @methodOf ng.$q + * @description + * Creates a `Deferred` object which represents a task which will finish in the future. + * + * @returns {Deferred} Returns a new instance of deferred. + */ + var defer = function() { + var pending = [], + value, deferred; + + deferred = { + + resolve: function(val) { + if (pending) { + var callbacks = pending; + pending = undefined; + value = ref(val); + + if (callbacks.length) { + nextTick(function() { + var callback; + for (var i = 0, ii = callbacks.length; i < ii; i++) { + callback = callbacks[i]; + value.then(callback[0], callback[1]); + } + }); + } + } + }, + + + reject: function(reason) { + deferred.resolve(reject(reason)); + }, + + + promise: { + then: function(callback, errback) { + var result = defer(); + + var wrappedCallback = function(value) { + try { + result.resolve((callback || defaultCallback)(value)); + } catch(e) { + exceptionHandler(e); + result.reject(e); + } + }; + + var wrappedErrback = function(reason) { + try { + result.resolve((errback || defaultErrback)(reason)); + } catch(e) { + exceptionHandler(e); + result.reject(e); + } + }; + + if (pending) { + pending.push([wrappedCallback, wrappedErrback]); + } else { + value.then(wrappedCallback, wrappedErrback); + } + + return result.promise; + }, + always: function(callback) { + + function makePromise(value, resolved) { + var result = defer(); + if (resolved) { + result.resolve(value); + } else { + result.reject(value); + } + return result.promise; + } + + function handleCallback(value, isResolved) { + var callbackOutput = null; + try { + callbackOutput = (callback ||defaultCallback)(); + } catch(e) { + return makePromise(e, false); + } + if (callbackOutput && callbackOutput.then) { + return callbackOutput.then(function() { + return makePromise(value, isResolved); + }, function(error) { + return makePromise(error, false); + }); + } else { + return makePromise(value, isResolved); + } + } + + return this.then(function(value) { + return handleCallback(value, true); + }, function(error) { + return handleCallback(error, false); + }); + } + } + }; + + return deferred; + }; + + + var ref = function(value) { + if (value && value.then) return value; + return { + then: function(callback) { + var result = defer(); + nextTick(function() { + result.resolve(callback(value)); + }); + return result.promise; + } + }; + }; + + + /** + * @ngdoc + * @name ng.$q#reject + * @methodOf ng.$q + * @description + * Creates a promise that is resolved as rejected with the specified `reason`. This api should be + * used to forward rejection in a chain of promises. If you are dealing with the last promise in + * a promise chain, you don't need to worry about it. + * + * When comparing deferreds/promises to the familiar behavior of try/catch/throw, think of + * `reject` as the `throw` keyword in JavaScript. This also means that if you "catch" an error via + * a promise error callback and you want to forward the error to the promise derived from the + * current promise, you have to "rethrow" the error by returning a rejection constructed via + * `reject`. + * + *
+   *   promiseB = promiseA.then(function(result) {
+   *     // success: do something and resolve promiseB
+   *     //          with the old or a new result
+   *     return result;
+   *   }, function(reason) {
+   *     // error: handle the error if possible and
+   *     //        resolve promiseB with newPromiseOrValue,
+   *     //        otherwise forward the rejection to promiseB
+   *     if (canHandle(reason)) {
+   *      // handle the error and recover
+   *      return newPromiseOrValue;
+   *     }
+   *     return $q.reject(reason);
+   *   });
+   * 
+ * + * @param {*} reason Constant, message, exception or an object representing the rejection reason. + * @returns {Promise} Returns a promise that was already resolved as rejected with the `reason`. + */ + var reject = function(reason) { + return { + then: function(callback, errback) { + var result = defer(); + nextTick(function() { + result.resolve((errback || defaultErrback)(reason)); + }); + return result.promise; + } + }; + }; + + + /** + * @ngdoc + * @name ng.$q#when + * @methodOf ng.$q + * @description + * Wraps an object that might be a value or a (3rd party) then-able promise into a $q promise. + * This is useful when you are dealing with an object that might or might not be a promise, or if + * the promise comes from a source that can't be trusted. + * + * @param {*} value Value or a promise + * @returns {Promise} Returns a promise of the passed value or promise + */ + var when = function(value, callback, errback) { + var result = defer(), + done; + + var wrappedCallback = function(value) { + try { + return (callback || defaultCallback)(value); + } catch (e) { + exceptionHandler(e); + return reject(e); + } + }; + + var wrappedErrback = function(reason) { + try { + return (errback || defaultErrback)(reason); + } catch (e) { + exceptionHandler(e); + return reject(e); + } + }; + + nextTick(function() { + ref(value).then(function(value) { + if (done) return; + done = true; + result.resolve(ref(value).then(wrappedCallback, wrappedErrback)); + }, function(reason) { + if (done) return; + done = true; + result.resolve(wrappedErrback(reason)); + }); + }); + + return result.promise; + }; + + + function defaultCallback(value) { + return value; + } + + + function defaultErrback(reason) { + return reject(reason); + } + + + /** + * @ngdoc + * @name ng.$q#all + * @methodOf ng.$q + * @description + * Combines multiple promises into a single promise that is resolved when all of the input + * promises are resolved. + * + * @param {Array.|Object.} promises An array or hash of promises. + * @returns {Promise} Returns a single promise that will be resolved with an array/hash of values, + * each value corresponding to the promise at the same index/key in the `promises` array/hash. If any of + * the promises is resolved with a rejection, this resulting promise will be resolved with the + * same rejection. + */ + function all(promises) { + var deferred = defer(), + counter = 0, + results = isArray(promises) ? [] : {}; + + forEach(promises, function(promise, key) { + counter++; + ref(promise).then(function(value) { + if (results.hasOwnProperty(key)) return; + results[key] = value; + if (!(--counter)) deferred.resolve(results); + }, function(reason) { + if (results.hasOwnProperty(key)) return; + deferred.reject(reason); + }); + }); + + if (counter === 0) { + deferred.resolve(results); + } + + return deferred.promise; + } + + return { + defer: defer, + reject: reject, + when: when, + all: all + }; +} + +/** + * @ngdoc object + * @name ng.$routeProvider + * @function + * + * @description + * + * Used for configuring routes. See {@link ng.$route $route} for an example. + */ +function $RouteProvider(){ + var routes = {}; + + /** + * @ngdoc method + * @name ng.$routeProvider#when + * @methodOf ng.$routeProvider + * + * @param {string} path Route path (matched against `$location.path`). If `$location.path` + * contains redundant trailing slash or is missing one, the route will still match and the + * `$location.path` will be updated to add or drop the trailing slash to exactly match the + * route definition. + * + * * `path` can contain named groups starting with a colon (`:name`). All characters up + * to the next slash are matched and stored in `$routeParams` under the given `name` + * when the route matches. + * * `path` can contain named groups starting with a star (`*name`). All characters are + * eagerly stored in `$routeParams` under the given `name` when the route matches. + * + * For example, routes like `/color/:color/largecode/*largecode/edit` will match + * `/color/brown/largecode/code/with/slashs/edit` and extract: + * + * * `color: brown` + * * `largecode: code/with/slashs`. + * + * + * @param {Object} route Mapping information to be assigned to `$route.current` on route + * match. + * + * Object properties: + * + * - `controller` – `{(string|function()=}` – Controller fn that should be associated with newly + * created scope or the name of a {@link angular.Module#controller registered controller} + * if passed as a string. + * - `controllerAs` – `{string=}` – A controller alias name. If present the controller will be + * published to scope under the `controllerAs` name. + * - `template` – `{string=|function()=}` – html template as a string or function that returns + * an html template as a string which should be used by {@link ng.directive:ngView ngView} or + * {@link ng.directive:ngInclude ngInclude} directives. + * This property takes precedence over `templateUrl`. + * + * If `template` is a function, it will be called with the following parameters: + * + * - `{Array.}` - route parameters extracted from the current + * `$location.path()` by applying the current route + * + * - `templateUrl` – `{string=|function()=}` – path or function that returns a path to an html + * template that should be used by {@link ng.directive:ngView ngView}. + * + * If `templateUrl` is a function, it will be called with the following parameters: + * + * - `{Array.}` - route parameters extracted from the current + * `$location.path()` by applying the current route + * + * - `resolve` - `{Object.=}` - An optional map of dependencies which should + * be injected into the controller. If any of these dependencies are promises, they will be + * resolved and converted to a value before the controller is instantiated and the + * `$routeChangeSuccess` event is fired. The map object is: + * + * - `key` – `{string}`: a name of a dependency to be injected into the controller. + * - `factory` - `{string|function}`: If `string` then it is an alias for a service. + * Otherwise if function, then it is {@link api/AUTO.$injector#invoke injected} + * and the return value is treated as the dependency. If the result is a promise, it is resolved + * before its value is injected into the controller. + * + * - `redirectTo` – {(string|function())=} – value to update + * {@link ng.$location $location} path with and trigger route redirection. + * + * If `redirectTo` is a function, it will be called with the following parameters: + * + * - `{Object.}` - route parameters extracted from the current + * `$location.path()` by applying the current route templateUrl. + * - `{string}` - current `$location.path()` + * - `{Object}` - current `$location.search()` + * + * The custom `redirectTo` function is expected to return a string which will be used + * to update `$location.path()` and `$location.search()`. + * + * - `[reloadOnSearch=true]` - {boolean=} - reload route when only $location.search() + * changes. + * + * If the option is set to `false` and url in the browser changes, then + * `$routeUpdate` event is broadcasted on the root scope. + * + * - `[caseInsensitiveMatch=false]` - {boolean=} - match routes without being case sensitive + * + * If the option is set to `true`, then the particular route can be matched without being + * case sensitive + * + * @returns {Object} self + * + * @description + * Adds a new route definition to the `$route` service. + */ + this.when = function(path, route) { + routes[path] = extend({reloadOnSearch: true, caseInsensitiveMatch: false}, route); + + // create redirection for trailing slashes + if (path) { + var redirectPath = (path[path.length-1] == '/') + ? path.substr(0, path.length-1) + : path +'/'; + + routes[redirectPath] = {redirectTo: path}; + } + + return this; + }; + + /** + * @ngdoc method + * @name ng.$routeProvider#otherwise + * @methodOf ng.$routeProvider + * + * @description + * Sets route definition that will be used on route change when no other route definition + * is matched. + * + * @param {Object} params Mapping information to be assigned to `$route.current`. + * @returns {Object} self + */ + this.otherwise = function(params) { + this.when(null, params); + return this; + }; + + + this.$get = ['$rootScope', '$location', '$routeParams', '$q', '$injector', '$http', '$templateCache', + function( $rootScope, $location, $routeParams, $q, $injector, $http, $templateCache) { + + /** + * @ngdoc object + * @name ng.$route + * @requires $location + * @requires $routeParams + * + * @property {Object} current Reference to the current route definition. + * The route definition contains: + * + * - `controller`: The controller constructor as define in route definition. + * - `locals`: A map of locals which is used by {@link ng.$controller $controller} service for + * controller instantiation. The `locals` contain + * the resolved values of the `resolve` map. Additionally the `locals` also contain: + * + * - `$scope` - The current route scope. + * - `$template` - The current route template HTML. + * + * @property {Array.} routes Array of all configured routes. + * + * @description + * Is used for deep-linking URLs to controllers and views (HTML partials). + * It watches `$location.url()` and tries to map the path to an existing route definition. + * + * You can define routes through {@link ng.$routeProvider $routeProvider}'s API. + * + * The `$route` service is typically used in conjunction with {@link ng.directive:ngView ngView} + * directive and the {@link ng.$routeParams $routeParams} service. + * + * @example + This example shows how changing the URL hash causes the `$route` to match a route against the + URL, and the `ngView` pulls in the partial. + + Note that this example is using {@link ng.directive:script inlined templates} + to get it working on jsfiddle as well. + + + +
+ Choose: + Moby | + Moby: Ch1 | + Gatsby | + Gatsby: Ch4 | + Scarlet Letter
+ +
+
+ +
$location.path() = {{$location.path()}}
+
$route.current.templateUrl = {{$route.current.templateUrl}}
+
$route.current.params = {{$route.current.params}}
+
$route.current.scope.name = {{$route.current.scope.name}}
+
$routeParams = {{$routeParams}}
+
+
+ + + controller: {{name}}
+ Book Id: {{params.bookId}}
+
+ + + controller: {{name}}
+ Book Id: {{params.bookId}}
+ Chapter Id: {{params.chapterId}} +
+ + + angular.module('ngView', [], function($routeProvider, $locationProvider) { + $routeProvider.when('/Book/:bookId', { + templateUrl: 'book.html', + controller: BookCntl, + resolve: { + // I will cause a 1 second delay + delay: function($q, $timeout) { + var delay = $q.defer(); + $timeout(delay.resolve, 1000); + return delay.promise; + } + } + }); + $routeProvider.when('/Book/:bookId/ch/:chapterId', { + templateUrl: 'chapter.html', + controller: ChapterCntl + }); + + // configure html5 to get links working on jsfiddle + $locationProvider.html5Mode(true); + }); + + function MainCntl($scope, $route, $routeParams, $location) { + $scope.$route = $route; + $scope.$location = $location; + $scope.$routeParams = $routeParams; + } + + function BookCntl($scope, $routeParams) { + $scope.name = "BookCntl"; + $scope.params = $routeParams; + } + + function ChapterCntl($scope, $routeParams) { + $scope.name = "ChapterCntl"; + $scope.params = $routeParams; + } + + + + it('should load and compile correct template', function() { + element('a:contains("Moby: Ch1")').click(); + var content = element('.doc-example-live [ng-view]').text(); + expect(content).toMatch(/controller\: ChapterCntl/); + expect(content).toMatch(/Book Id\: Moby/); + expect(content).toMatch(/Chapter Id\: 1/); + + element('a:contains("Scarlet")').click(); + sleep(2); // promises are not part of scenario waiting + content = element('.doc-example-live [ng-view]').text(); + expect(content).toMatch(/controller\: BookCntl/); + expect(content).toMatch(/Book Id\: Scarlet/); + }); + +
+ */ + + /** + * @ngdoc event + * @name ng.$route#$routeChangeStart + * @eventOf ng.$route + * @eventType broadcast on root scope + * @description + * Broadcasted before a route change. At this point the route services starts + * resolving all of the dependencies needed for the route change to occurs. + * Typically this involves fetching the view template as well as any dependencies + * defined in `resolve` route property. Once all of the dependencies are resolved + * `$routeChangeSuccess` is fired. + * + * @param {Route} next Future route information. + * @param {Route} current Current route information. + */ + + /** + * @ngdoc event + * @name ng.$route#$routeChangeSuccess + * @eventOf ng.$route + * @eventType broadcast on root scope + * @description + * Broadcasted after a route dependencies are resolved. + * {@link ng.directive:ngView ngView} listens for the directive + * to instantiate the controller and render the view. + * + * @param {Object} angularEvent Synthetic event object. + * @param {Route} current Current route information. + * @param {Route|Undefined} previous Previous route information, or undefined if current is first route entered. + */ + + /** + * @ngdoc event + * @name ng.$route#$routeChangeError + * @eventOf ng.$route + * @eventType broadcast on root scope + * @description + * Broadcasted if any of the resolve promises are rejected. + * + * @param {Route} current Current route information. + * @param {Route} previous Previous route information. + * @param {Route} rejection Rejection of the promise. Usually the error of the failed promise. + */ + + /** + * @ngdoc event + * @name ng.$route#$routeUpdate + * @eventOf ng.$route + * @eventType broadcast on root scope + * @description + * + * The `reloadOnSearch` property has been set to false, and we are reusing the same + * instance of the Controller. + */ + + var forceReload = false, + $route = { + routes: routes, + + /** + * @ngdoc method + * @name ng.$route#reload + * @methodOf ng.$route + * + * @description + * Causes `$route` service to reload the current route even if + * {@link ng.$location $location} hasn't changed. + * + * As a result of that, {@link ng.directive:ngView ngView} + * creates new scope, reinstantiates the controller. + */ + reload: function() { + forceReload = true; + $rootScope.$evalAsync(updateRoute); + } + }; + + $rootScope.$on('$locationChangeSuccess', updateRoute); + + return $route; + + ///////////////////////////////////////////////////// + + /** + * @param on {string} current url + * @param when {string} route when template to match the url against + * @param whenProperties {Object} properties to define when's matching behavior + * @return {?Object} + */ + function switchRouteMatcher(on, when, whenProperties) { + // TODO(i): this code is convoluted and inefficient, we should construct the route matching + // regex only once and then reuse it + + // Escape regexp special characters. + when = '^' + when.replace(/[-\/\\^$:*+?.()|[\]{}]/g, "\\$&") + '$'; + + var regex = '', + params = [], + dst = {}; + + var re = /\\([:*])(\w+)/g, + paramMatch, + lastMatchedIndex = 0; + + while ((paramMatch = re.exec(when)) !== null) { + // Find each :param in `when` and replace it with a capturing group. + // Append all other sections of when unchanged. + regex += when.slice(lastMatchedIndex, paramMatch.index); + switch(paramMatch[1]) { + case ':': + regex += '([^\\/]*)'; + break; + case '*': + regex += '(.*)'; + break; + } + params.push(paramMatch[2]); + lastMatchedIndex = re.lastIndex; + } + // Append trailing path part. + regex += when.substr(lastMatchedIndex); + + var match = on.match(new RegExp(regex, whenProperties.caseInsensitiveMatch ? 'i' : '')); + if (match) { + forEach(params, function(name, index) { + dst[name] = match[index + 1]; + }); + } + return match ? dst : null; + } + + function updateRoute() { + var next = parseRoute(), + last = $route.current; + + if (next && last && next.$$route === last.$$route + && equals(next.pathParams, last.pathParams) && !next.reloadOnSearch && !forceReload) { + last.params = next.params; + copy(last.params, $routeParams); + $rootScope.$broadcast('$routeUpdate', last); + } else if (next || last) { + forceReload = false; + $rootScope.$broadcast('$routeChangeStart', next, last); + $route.current = next; + if (next) { + if (next.redirectTo) { + if (isString(next.redirectTo)) { + $location.path(interpolate(next.redirectTo, next.params)).search(next.params) + .replace(); + } else { + $location.url(next.redirectTo(next.pathParams, $location.path(), $location.search())) + .replace(); + } + } + } + + $q.when(next). + then(function() { + if (next) { + var locals = extend({}, next.resolve), + template; + + forEach(locals, function(value, key) { + locals[key] = isString(value) ? $injector.get(value) : $injector.invoke(value); + }); + + if (isDefined(template = next.template)) { + if (isFunction(template)) { + template = template(next.params); + } + } else if (isDefined(template = next.templateUrl)) { + if (isFunction(template)) { + template = template(next.params); + } + if (isDefined(template)) { + next.loadedTemplateUrl = template; + template = $http.get(template, {cache: $templateCache}). + then(function(response) { return response.data; }); + } + } + if (isDefined(template)) { + locals['$template'] = template; + } + return $q.all(locals); + } + }). + // after route change + then(function(locals) { + if (next == $route.current) { + if (next) { + next.locals = locals; + copy(next.params, $routeParams); + } + $rootScope.$broadcast('$routeChangeSuccess', next, last); + } + }, function(error) { + if (next == $route.current) { + $rootScope.$broadcast('$routeChangeError', next, last, error); + } + }); + } + } + + + /** + * @returns the current active route, by matching it against the URL + */ + function parseRoute() { + // Match a route + var params, match; + forEach(routes, function(route, path) { + if (!match && (params = switchRouteMatcher($location.path(), path, route))) { + match = inherit(route, { + params: extend({}, $location.search(), params), + pathParams: params}); + match.$$route = route; + } + }); + // No route matched; fallback to "otherwise" route + return match || routes[null] && inherit(routes[null], {params: {}, pathParams:{}}); + } + + /** + * @returns interpolation of the redirect path with the parameters + */ + function interpolate(string, params) { + var result = []; + forEach((string||'').split(':'), function(segment, i) { + if (i == 0) { + result.push(segment); + } else { + var segmentMatch = segment.match(/(\w+)(.*)/); + var key = segmentMatch[1]; + result.push(params[key]); + result.push(segmentMatch[2] || ''); + delete params[key]; + } + }); + return result.join(''); + } + }]; +} + +/** + * @ngdoc object + * @name ng.$routeParams + * @requires $route + * + * @description + * Current set of route parameters. The route parameters are a combination of the + * {@link ng.$location $location} `search()`, and `path()`. The `path` parameters + * are extracted when the {@link ng.$route $route} path is matched. + * + * In case of parameter name collision, `path` params take precedence over `search` params. + * + * The service guarantees that the identity of the `$routeParams` object will remain unchanged + * (but its properties will likely change) even when a route change occurs. + * + * @example + *
+ *  // Given:
+ *  // URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby
+ *  // Route: /Chapter/:chapterId/Section/:sectionId
+ *  //
+ *  // Then
+ *  $routeParams ==> {chapterId:1, sectionId:2, search:'moby'}
+ * 
+ */ +function $RouteParamsProvider() { + this.$get = valueFn({}); +} + +/** + * DESIGN NOTES + * + * The design decisions behind the scope are heavily favored for speed and memory consumption. + * + * The typical use of scope is to watch the expressions, which most of the time return the same + * value as last time so we optimize the operation. + * + * Closures construction is expensive in terms of speed as well as memory: + * - No closures, instead use prototypical inheritance for API + * - Internal state needs to be stored on scope directly, which means that private state is + * exposed as $$____ properties + * + * Loop operations are optimized by using while(count--) { ... } + * - this means that in order to keep the same order of execution as addition we have to add + * items to the array at the beginning (shift) instead of at the end (push) + * + * Child scopes are created and removed often + * - Using an array would be slow since inserts in middle are expensive so we use linked list + * + * There are few watches then a lot of observers. This is why you don't want the observer to be + * implemented in the same way as watch. Watch requires return of initialization function which + * are expensive to construct. + */ + + +/** + * @ngdoc object + * @name ng.$rootScopeProvider + * @description + * + * Provider for the $rootScope service. + */ + +/** + * @ngdoc function + * @name ng.$rootScopeProvider#digestTtl + * @methodOf ng.$rootScopeProvider + * @description + * + * Sets the number of digest iterations the scope should attempt to execute before giving up and + * assuming that the model is unstable. + * + * The current default is 10 iterations. + * + * @param {number} limit The number of digest iterations. + */ + + +/** + * @ngdoc object + * @name ng.$rootScope + * @description + * + * Every application has a single root {@link ng.$rootScope.Scope scope}. + * All other scopes are child scopes of the root scope. Scopes provide mechanism for watching the model and provide + * event processing life-cycle. See {@link guide/scope developer guide on scopes}. + */ +function $RootScopeProvider(){ + var TTL = 10; + + this.digestTtl = function(value) { + if (arguments.length) { + TTL = value; + } + return TTL; + }; + + this.$get = ['$injector', '$exceptionHandler', '$parse', + function( $injector, $exceptionHandler, $parse) { + + /** + * @ngdoc function + * @name ng.$rootScope.Scope + * + * @description + * A root scope can be retrieved using the {@link ng.$rootScope $rootScope} key from the + * {@link AUTO.$injector $injector}. Child scopes are created using the + * {@link ng.$rootScope.Scope#$new $new()} method. (Most scopes are created automatically when + * compiled HTML template is executed.) + * + * Here is a simple scope snippet to show how you can interact with the scope. + *
+     * 
+     * 
+ * + * # Inheritance + * A scope can inherit from a parent scope, as in this example: + *
+         var parent = $rootScope;
+         var child = parent.$new();
+
+         parent.salutation = "Hello";
+         child.name = "World";
+         expect(child.salutation).toEqual('Hello');
+
+         child.salutation = "Welcome";
+         expect(child.salutation).toEqual('Welcome');
+         expect(parent.salutation).toEqual('Hello');
+     * 
+ * + * + * @param {Object.=} providers Map of service factory which need to be provided + * for the current scope. Defaults to {@link ng}. + * @param {Object.=} instanceCache Provides pre-instantiated services which should + * append/override services provided by `providers`. This is handy when unit-testing and having + * the need to override a default service. + * @returns {Object} Newly created scope. + * + */ + function Scope() { + this.$id = nextUid(); + this.$$phase = this.$parent = this.$$watchers = + this.$$nextSibling = this.$$prevSibling = + this.$$childHead = this.$$childTail = null; + this['this'] = this.$root = this; + this.$$destroyed = false; + this.$$asyncQueue = []; + this.$$listeners = {}; + this.$$isolateBindings = {}; + } + + /** + * @ngdoc property + * @name ng.$rootScope.Scope#$id + * @propertyOf ng.$rootScope.Scope + * @returns {number} Unique scope ID (monotonically increasing alphanumeric sequence) useful for + * debugging. + */ + + + Scope.prototype = { + /** + * @ngdoc function + * @name ng.$rootScope.Scope#$new + * @methodOf ng.$rootScope.Scope + * @function + * + * @description + * Creates a new child {@link ng.$rootScope.Scope scope}. + * + * The parent scope will propagate the {@link ng.$rootScope.Scope#$digest $digest()} and + * {@link ng.$rootScope.Scope#$digest $digest()} events. The scope can be removed from the scope + * hierarchy using {@link ng.$rootScope.Scope#$destroy $destroy()}. + * + * {@link ng.$rootScope.Scope#$destroy $destroy()} must be called on a scope when it is desired for + * the scope and its child scopes to be permanently detached from the parent and thus stop + * participating in model change detection and listener notification by invoking. + * + * @param {boolean} isolate if true then the scope does not prototypically inherit from the + * parent scope. The scope is isolated, as it can not see parent scope properties. + * When creating widgets it is useful for the widget to not accidentally read parent + * state. + * + * @returns {Object} The newly created child scope. + * + */ + $new: function(isolate) { + var Child, + child; + + if (isFunction(isolate)) { + // TODO: remove at some point + throw Error('API-CHANGE: Use $controller to instantiate controllers.'); + } + if (isolate) { + child = new Scope(); + child.$root = this.$root; + } else { + Child = function() {}; // should be anonymous; This is so that when the minifier munges + // the name it does not become random set of chars. These will then show up as class + // name in the debugger. + Child.prototype = this; + child = new Child(); + child.$id = nextUid(); + } + child['this'] = child; + child.$$listeners = {}; + child.$parent = this; + child.$$watchers = child.$$nextSibling = child.$$childHead = child.$$childTail = null; + child.$$prevSibling = this.$$childTail; + if (this.$$childHead) { + this.$$childTail.$$nextSibling = child; + this.$$childTail = child; + } else { + this.$$childHead = this.$$childTail = child; + } + return child; + }, + + /** + * @ngdoc function + * @name ng.$rootScope.Scope#$watch + * @methodOf ng.$rootScope.Scope + * @function + * + * @description + * Registers a `listener` callback to be executed whenever the `watchExpression` changes. + * + * - The `watchExpression` is called on every call to {@link ng.$rootScope.Scope#$digest $digest()} and + * should return the value which will be watched. (Since {@link ng.$rootScope.Scope#$digest $digest()} + * reruns when it detects changes the `watchExpression` can execute multiple times per + * {@link ng.$rootScope.Scope#$digest $digest()} and should be idempotent.) + * - The `listener` is called only when the value from the current `watchExpression` and the + * previous call to `watchExpression` are not equal (with the exception of the initial run, + * see below). The inequality is determined according to + * {@link angular.equals} function. To save the value of the object for later comparison, the + * {@link angular.copy} function is used. It also means that watching complex options will + * have adverse memory and performance implications. + * - The watch `listener` may change the model, which may trigger other `listener`s to fire. This + * is achieved by rerunning the watchers until no changes are detected. The rerun iteration + * limit is 10 to prevent an infinite loop deadlock. + * + * + * If you want to be notified whenever {@link ng.$rootScope.Scope#$digest $digest} is called, + * you can register a `watchExpression` function with no `listener`. (Since `watchExpression` + * can execute multiple times per {@link ng.$rootScope.Scope#$digest $digest} cycle when a change is + * detected, be prepared for multiple calls to your listener.) + * + * After a watcher is registered with the scope, the `listener` fn is called asynchronously + * (via {@link ng.$rootScope.Scope#$evalAsync $evalAsync}) to initialize the + * watcher. In rare cases, this is undesirable because the listener is called when the result + * of `watchExpression` didn't change. To detect this scenario within the `listener` fn, you + * can compare the `newVal` and `oldVal`. If these two values are identical (`===`) then the + * listener was called due to initialization. + * + * + * # Example + *
+           // let's assume that scope was dependency injected as the $rootScope
+           var scope = $rootScope;
+           scope.name = 'misko';
+           scope.counter = 0;
+
+           expect(scope.counter).toEqual(0);
+           scope.$watch('name', function(newValue, oldValue) { scope.counter = scope.counter + 1; });
+           expect(scope.counter).toEqual(0);
+
+           scope.$digest();
+           // no variable change
+           expect(scope.counter).toEqual(0);
+
+           scope.name = 'adam';
+           scope.$digest();
+           expect(scope.counter).toEqual(1);
+       * 
+ * + * + * + * @param {(function()|string)} watchExpression Expression that is evaluated on each + * {@link ng.$rootScope.Scope#$digest $digest} cycle. A change in the return value triggers a + * call to the `listener`. + * + * - `string`: Evaluated as {@link guide/expression expression} + * - `function(scope)`: called with current `scope` as a parameter. + * @param {(function()|string)=} listener Callback called whenever the return value of + * the `watchExpression` changes. + * + * - `string`: Evaluated as {@link guide/expression expression} + * - `function(newValue, oldValue, scope)`: called with current and previous values as parameters. + * + * @param {boolean=} objectEquality Compare object for equality rather than for reference. + * @returns {function()} Returns a deregistration function for this listener. + */ + $watch: function(watchExp, listener, objectEquality) { + var scope = this, + get = compileToFn(watchExp, 'watch'), + array = scope.$$watchers, + watcher = { + fn: listener, + last: initWatchVal, + get: get, + exp: watchExp, + eq: !!objectEquality + }; + + // in the case user pass string, we need to compile it, do we really need this ? + if (!isFunction(listener)) { + var listenFn = compileToFn(listener || noop, 'listener'); + watcher.fn = function(newVal, oldVal, scope) {listenFn(scope);}; + } + + if (typeof watchExp == 'string' && get.constant) { + var originalFn = watcher.fn; + watcher.fn = function(newVal, oldVal, scope) { + originalFn.call(this, newVal, oldVal, scope); + arrayRemove(array, watcher); + }; + } + + if (!array) { + array = scope.$$watchers = []; + } + // we use unshift since we use a while loop in $digest for speed. + // the while loop reads in reverse order. + array.unshift(watcher); + + return function() { + arrayRemove(array, watcher); + }; + }, + + + /** + * @ngdoc function + * @name ng.$rootScope.Scope#$watchCollection + * @methodOf ng.$rootScope.Scope + * @function + * + * @description + * Shallow watches the properties of an object and fires whenever any of the properties change + * (for arrays this implies watching the array items, for object maps this implies watching the properties). + * If a change is detected the `listener` callback is fired. + * + * - The `obj` collection is observed via standard $watch operation and is examined on every call to $digest() to + * see if any items have been added, removed, or moved. + * - The `listener` is called whenever anything within the `obj` has changed. Examples include adding new items + * into the object or array, removing and moving items around. + * + * + * # Example + *
+          $scope.names = ['igor', 'matias', 'misko', 'james'];
+          $scope.dataCount = 4;
+
+          $scope.$watchCollection('names', function(newNames, oldNames) {
+            $scope.dataCount = newNames.length;
+          });
+
+          expect($scope.dataCount).toEqual(4);
+          $scope.$digest();
+
+          //still at 4 ... no changes
+          expect($scope.dataCount).toEqual(4);
+
+          $scope.names.pop();
+          $scope.$digest();
+
+          //now there's been a change
+          expect($scope.dataCount).toEqual(3);
+       * 
+ * + * + * @param {string|Function(scope)} obj Evaluated as {@link guide/expression expression}. The expression value + * should evaluate to an object or an array which is observed on each + * {@link ng.$rootScope.Scope#$digest $digest} cycle. Any shallow change within the collection will trigger + * a call to the `listener`. + * + * @param {function(newCollection, oldCollection, scope)} listener a callback function that is fired with both + * the `newCollection` and `oldCollection` as parameters. + * The `newCollection` object is the newly modified data obtained from the `obj` expression and the + * `oldCollection` object is a copy of the former collection data. + * The `scope` refers to the current scope. + * + * @returns {function()} Returns a de-registration function for this listener. When the de-registration function is executed + * then the internal watch operation is terminated. + */ + $watchCollection: function(obj, listener) { + var self = this; + var oldValue; + var newValue; + var changeDetected = 0; + var objGetter = $parse(obj); + var internalArray = []; + var internalObject = {}; + var oldLength = 0; + + function $watchCollectionWatch() { + newValue = objGetter(self); + var newLength, key; + + if (!isObject(newValue)) { + if (oldValue !== newValue) { + oldValue = newValue; + changeDetected++; + } + } else if (isArrayLike(newValue)) { + if (oldValue !== internalArray) { + // we are transitioning from something which was not an array into array. + oldValue = internalArray; + oldLength = oldValue.length = 0; + changeDetected++; + } + + newLength = newValue.length; + + if (oldLength !== newLength) { + // if lengths do not match we need to trigger change notification + changeDetected++; + oldValue.length = oldLength = newLength; + } + // copy the items to oldValue and look for changes. + for (var i = 0; i < newLength; i++) { + if (oldValue[i] !== newValue[i]) { + changeDetected++; + oldValue[i] = newValue[i]; + } + } + } else { + if (oldValue !== internalObject) { + // we are transitioning from something which was not an object into object. + oldValue = internalObject = {}; + oldLength = 0; + changeDetected++; + } + // copy the items to oldValue and look for changes. + newLength = 0; + for (key in newValue) { + if (newValue.hasOwnProperty(key)) { + newLength++; + if (oldValue.hasOwnProperty(key)) { + if (oldValue[key] !== newValue[key]) { + changeDetected++; + oldValue[key] = newValue[key]; + } + } else { + oldLength++; + oldValue[key] = newValue[key]; + changeDetected++; + } + } + } + if (oldLength > newLength) { + // we used to have more keys, need to find them and destroy them. + changeDetected++; + for(key in oldValue) { + if (oldValue.hasOwnProperty(key) && !newValue.hasOwnProperty(key)) { + oldLength--; + delete oldValue[key]; + } + } + } + } + return changeDetected; + } + + function $watchCollectionAction() { + listener(newValue, oldValue, self); + } + + return this.$watch($watchCollectionWatch, $watchCollectionAction); + }, + + /** + * @ngdoc function + * @name ng.$rootScope.Scope#$digest + * @methodOf ng.$rootScope.Scope + * @function + * + * @description + * Processes all of the {@link ng.$rootScope.Scope#$watch watchers} of the current scope and its children. + * Because a {@link ng.$rootScope.Scope#$watch watcher}'s listener can change the model, the + * `$digest()` keeps calling the {@link ng.$rootScope.Scope#$watch watchers} until no more listeners are + * firing. This means that it is possible to get into an infinite loop. This function will throw + * `'Maximum iteration limit exceeded.'` if the number of iterations exceeds 10. + * + * Usually you don't call `$digest()` directly in + * {@link ng.directive:ngController controllers} or in + * {@link ng.$compileProvider#directive directives}. + * Instead a call to {@link ng.$rootScope.Scope#$apply $apply()} (typically from within a + * {@link ng.$compileProvider#directive directives}) will force a `$digest()`. + * + * If you want to be notified whenever `$digest()` is called, + * you can register a `watchExpression` function with {@link ng.$rootScope.Scope#$watch $watch()} + * with no `listener`. + * + * You may have a need to call `$digest()` from within unit-tests, to simulate the scope + * life-cycle. + * + * # Example + *
+           var scope = ...;
+           scope.name = 'misko';
+           scope.counter = 0;
+
+           expect(scope.counter).toEqual(0);
+           scope.$watch('name', function(newValue, oldValue) {
+             scope.counter = scope.counter + 1;
+           });
+           expect(scope.counter).toEqual(0);
+
+           scope.$digest();
+           // no variable change
+           expect(scope.counter).toEqual(0);
+
+           scope.name = 'adam';
+           scope.$digest();
+           expect(scope.counter).toEqual(1);
+       * 
+ * + */ + $digest: function() { + var watch, value, last, + watchers, + asyncQueue = this.$$asyncQueue, + length, + dirty, ttl = TTL, + next, current, target = this, + watchLog = [], + logIdx, logMsg; + + beginPhase('$digest'); + + do { // "while dirty" loop + dirty = false; + current = target; + + while(asyncQueue.length) { + try { + current.$eval(asyncQueue.shift()); + } catch (e) { + $exceptionHandler(e); + } + } + + do { // "traverse the scopes" loop + if ((watchers = current.$$watchers)) { + // process our watches + length = watchers.length; + while (length--) { + try { + watch = watchers[length]; + // Most common watches are on primitives, in which case we can short + // circuit it with === operator, only when === fails do we use .equals + if ((value = watch.get(current)) !== (last = watch.last) && + !(watch.eq + ? equals(value, last) + : (typeof value == 'number' && typeof last == 'number' + && isNaN(value) && isNaN(last)))) { + dirty = true; + watch.last = watch.eq ? copy(value) : value; + watch.fn(value, ((last === initWatchVal) ? value : last), current); + if (ttl < 5) { + logIdx = 4 - ttl; + if (!watchLog[logIdx]) watchLog[logIdx] = []; + logMsg = (isFunction(watch.exp)) + ? 'fn: ' + (watch.exp.name || watch.exp.toString()) + : watch.exp; + logMsg += '; newVal: ' + toJson(value) + '; oldVal: ' + toJson(last); + watchLog[logIdx].push(logMsg); + } + } + } catch (e) { + $exceptionHandler(e); + } + } + } + + // Insanity Warning: scope depth-first traversal + // yes, this code is a bit crazy, but it works and we have tests to prove it! + // this piece should be kept in sync with the traversal in $broadcast + if (!(next = (current.$$childHead || (current !== target && current.$$nextSibling)))) { + while(current !== target && !(next = current.$$nextSibling)) { + current = current.$parent; + } + } + } while ((current = next)); + + if(dirty && !(ttl--)) { + clearPhase(); + throw Error(TTL + ' $digest() iterations reached. Aborting!\n' + + 'Watchers fired in the last 5 iterations: ' + toJson(watchLog)); + } + } while (dirty || asyncQueue.length); + + clearPhase(); + }, + + + /** + * @ngdoc event + * @name ng.$rootScope.Scope#$destroy + * @eventOf ng.$rootScope.Scope + * @eventType broadcast on scope being destroyed + * + * @description + * Broadcasted when a scope and its children are being destroyed. + */ + + /** + * @ngdoc function + * @name ng.$rootScope.Scope#$destroy + * @methodOf ng.$rootScope.Scope + * @function + * + * @description + * Removes the current scope (and all of its children) from the parent scope. Removal implies + * that calls to {@link ng.$rootScope.Scope#$digest $digest()} will no longer + * propagate to the current scope and its children. Removal also implies that the current + * scope is eligible for garbage collection. + * + * The `$destroy()` is usually used by directives such as + * {@link ng.directive:ngRepeat ngRepeat} for managing the + * unrolling of the loop. + * + * Just before a scope is destroyed a `$destroy` event is broadcasted on this scope. + * Application code can register a `$destroy` event handler that will give it chance to + * perform any necessary cleanup. + */ + $destroy: function() { + // we can't destroy the root scope or a scope that has been already destroyed + if ($rootScope == this || this.$$destroyed) return; + var parent = this.$parent; + + this.$broadcast('$destroy'); + this.$$destroyed = true; + + if (parent.$$childHead == this) parent.$$childHead = this.$$nextSibling; + if (parent.$$childTail == this) parent.$$childTail = this.$$prevSibling; + if (this.$$prevSibling) this.$$prevSibling.$$nextSibling = this.$$nextSibling; + if (this.$$nextSibling) this.$$nextSibling.$$prevSibling = this.$$prevSibling; + + // This is bogus code that works around Chrome's GC leak + // see: https://github.com/angular/angular.js/issues/1313#issuecomment-10378451 + this.$parent = this.$$nextSibling = this.$$prevSibling = this.$$childHead = + this.$$childTail = null; + }, + + /** + * @ngdoc function + * @name ng.$rootScope.Scope#$eval + * @methodOf ng.$rootScope.Scope + * @function + * + * @description + * Executes the `expression` on the current scope returning the result. Any exceptions in the + * expression are propagated (uncaught). This is useful when evaluating Angular expressions. + * + * # Example + *
+           var scope = ng.$rootScope.Scope();
+           scope.a = 1;
+           scope.b = 2;
+
+           expect(scope.$eval('a+b')).toEqual(3);
+           expect(scope.$eval(function(scope){ return scope.a + scope.b; })).toEqual(3);
+       * 
+ * + * @param {(string|function())=} expression An angular expression to be executed. + * + * - `string`: execute using the rules as defined in {@link guide/expression expression}. + * - `function(scope)`: execute the function with the current `scope` parameter. + * + * @returns {*} The result of evaluating the expression. + */ + $eval: function(expr, locals) { + return $parse(expr)(this, locals); + }, + + /** + * @ngdoc function + * @name ng.$rootScope.Scope#$evalAsync + * @methodOf ng.$rootScope.Scope + * @function + * + * @description + * Executes the expression on the current scope at a later point in time. + * + * The `$evalAsync` makes no guarantees as to when the `expression` will be executed, only that: + * + * - it will execute in the current script execution context (before any DOM rendering). + * - at least one {@link ng.$rootScope.Scope#$digest $digest cycle} will be performed after + * `expression` execution. + * + * Any exceptions from the execution of the expression are forwarded to the + * {@link ng.$exceptionHandler $exceptionHandler} service. + * + * @param {(string|function())=} expression An angular expression to be executed. + * + * - `string`: execute using the rules as defined in {@link guide/expression expression}. + * - `function(scope)`: execute the function with the current `scope` parameter. + * + */ + $evalAsync: function(expr) { + this.$$asyncQueue.push(expr); + }, + + /** + * @ngdoc function + * @name ng.$rootScope.Scope#$apply + * @methodOf ng.$rootScope.Scope + * @function + * + * @description + * `$apply()` is used to execute an expression in angular from outside of the angular framework. + * (For example from browser DOM events, setTimeout, XHR or third party libraries). + * Because we are calling into the angular framework we need to perform proper scope life-cycle + * of {@link ng.$exceptionHandler exception handling}, + * {@link ng.$rootScope.Scope#$digest executing watches}. + * + * ## Life cycle + * + * # Pseudo-Code of `$apply()` + *
+           function $apply(expr) {
+             try {
+               return $eval(expr);
+             } catch (e) {
+               $exceptionHandler(e);
+             } finally {
+               $root.$digest();
+             }
+           }
+       * 
+ * + * + * Scope's `$apply()` method transitions through the following stages: + * + * 1. The {@link guide/expression expression} is executed using the + * {@link ng.$rootScope.Scope#$eval $eval()} method. + * 2. Any exceptions from the execution of the expression are forwarded to the + * {@link ng.$exceptionHandler $exceptionHandler} service. + * 3. The {@link ng.$rootScope.Scope#$watch watch} listeners are fired immediately after the expression + * was executed using the {@link ng.$rootScope.Scope#$digest $digest()} method. + * + * + * @param {(string|function())=} exp An angular expression to be executed. + * + * - `string`: execute using the rules as defined in {@link guide/expression expression}. + * - `function(scope)`: execute the function with current `scope` parameter. + * + * @returns {*} The result of evaluating the expression. + */ + $apply: function(expr) { + try { + beginPhase('$apply'); + return this.$eval(expr); + } catch (e) { + $exceptionHandler(e); + } finally { + clearPhase(); + try { + $rootScope.$digest(); + } catch (e) { + $exceptionHandler(e); + throw e; + } + } + }, + + /** + * @ngdoc function + * @name ng.$rootScope.Scope#$on + * @methodOf ng.$rootScope.Scope + * @function + * + * @description + * Listens on events of a given type. See {@link ng.$rootScope.Scope#$emit $emit} for discussion of + * event life cycle. + * + * The event listener function format is: `function(event, args...)`. The `event` object + * passed into the listener has the following attributes: + * + * - `targetScope` - `{Scope}`: the scope on which the event was `$emit`-ed or `$broadcast`-ed. + * - `currentScope` - `{Scope}`: the current scope which is handling the event. + * - `name` - `{string}`: Name of the event. + * - `stopPropagation` - `{function=}`: calling `stopPropagation` function will cancel further event + * propagation (available only for events that were `$emit`-ed). + * - `preventDefault` - `{function}`: calling `preventDefault` sets `defaultPrevented` flag to true. + * - `defaultPrevented` - `{boolean}`: true if `preventDefault` was called. + * + * @param {string} name Event name to listen on. + * @param {function(event, args...)} listener Function to call when the event is emitted. + * @returns {function()} Returns a deregistration function for this listener. + */ + $on: function(name, listener) { + var namedListeners = this.$$listeners[name]; + if (!namedListeners) { + this.$$listeners[name] = namedListeners = []; + } + namedListeners.push(listener); + + return function() { + namedListeners[indexOf(namedListeners, listener)] = null; + }; + }, + + + /** + * @ngdoc function + * @name ng.$rootScope.Scope#$emit + * @methodOf ng.$rootScope.Scope + * @function + * + * @description + * Dispatches an event `name` upwards through the scope hierarchy notifying the + * registered {@link ng.$rootScope.Scope#$on} listeners. + * + * The event life cycle starts at the scope on which `$emit` was called. All + * {@link ng.$rootScope.Scope#$on listeners} listening for `name` event on this scope get notified. + * Afterwards, the event traverses upwards toward the root scope and calls all registered + * listeners along the way. The event will stop propagating if one of the listeners cancels it. + * + * Any exception emitted from the {@link ng.$rootScope.Scope#$on listeners} will be passed + * onto the {@link ng.$exceptionHandler $exceptionHandler} service. + * + * @param {string} name Event name to emit. + * @param {...*} args Optional set of arguments which will be passed onto the event listeners. + * @return {Object} Event object, see {@link ng.$rootScope.Scope#$on} + */ + $emit: function(name, args) { + var empty = [], + namedListeners, + scope = this, + stopPropagation = false, + event = { + name: name, + targetScope: scope, + stopPropagation: function() {stopPropagation = true;}, + preventDefault: function() { + event.defaultPrevented = true; + }, + defaultPrevented: false + }, + listenerArgs = concat([event], arguments, 1), + i, length; + + do { + namedListeners = scope.$$listeners[name] || empty; + event.currentScope = scope; + for (i=0, length=namedListeners.length; i 7), + hasEvent: function(event) { + // IE9 implements 'input' event it's so fubared that we rather pretend that it doesn't have + // it. In particular the event is not fired when backspace or delete key are pressed or + // when cut operation is performed. + if (event == 'input' && msie == 9) return false; + + if (isUndefined(eventSupport[event])) { + var divElm = document.createElement('div'); + eventSupport[event] = 'on' + event in divElm; + } + + return eventSupport[event]; + }, + csp: document.securityPolicy ? document.securityPolicy.isActive : false, + vendorPrefix: vendorPrefix, + transitions : transitions, + animations : animations + }; + }]; +} + +/** + * @ngdoc object + * @name ng.$window + * + * @description + * A reference to the browser's `window` object. While `window` + * is globally available in JavaScript, it causes testability problems, because + * it is a global variable. In angular we always refer to it through the + * `$window` service, so it may be overridden, removed or mocked for testing. + * + * All expressions are evaluated with respect to current scope so they don't + * suffer from window globality. + * + * @example + + + +
+ + +
+
+ + it('should display the greeting in the input box', function() { + input('greeting').enter('Hello, E2E Tests'); + // If we click the button it will block the test runner + // element(':button').click(); + }); + +
+ */ +function $WindowProvider(){ + this.$get = valueFn(window); +} + +/** + * Parse headers into key value object + * + * @param {string} headers Raw headers as a string + * @returns {Object} Parsed headers as key value object + */ +function parseHeaders(headers) { + var parsed = {}, key, val, i; + + if (!headers) return parsed; + + forEach(headers.split('\n'), function(line) { + i = line.indexOf(':'); + key = lowercase(trim(line.substr(0, i))); + val = trim(line.substr(i + 1)); + + if (key) { + if (parsed[key]) { + parsed[key] += ', ' + val; + } else { + parsed[key] = val; + } + } + }); + + return parsed; +} + + +var IS_SAME_DOMAIN_URL_MATCH = /^(([^:]+):)?\/\/(\w+:{0,1}\w*@)?([\w\.-]*)?(:([0-9]+))?(.*)$/; + + +/** + * Parse a request and location URL and determine whether this is a same-domain request. + * + * @param {string} requestUrl The url of the request. + * @param {string} locationUrl The current browser location url. + * @returns {boolean} Whether the request is for the same domain. + */ +function isSameDomain(requestUrl, locationUrl) { + var match = IS_SAME_DOMAIN_URL_MATCH.exec(requestUrl); + // if requestUrl is relative, the regex does not match. + if (match == null) return true; + + var domain1 = { + protocol: match[2], + host: match[4], + port: int(match[6]) || DEFAULT_PORTS[match[2]] || null, + // IE8 sets unmatched groups to '' instead of undefined. + relativeProtocol: match[2] === undefined || match[2] === '' + }; + + match = SERVER_MATCH.exec(locationUrl); + var domain2 = { + protocol: match[1], + host: match[3], + port: int(match[5]) || DEFAULT_PORTS[match[1]] || null + }; + + return (domain1.protocol == domain2.protocol || domain1.relativeProtocol) && + domain1.host == domain2.host && + (domain1.port == domain2.port || (domain1.relativeProtocol && + domain2.port == DEFAULT_PORTS[domain2.protocol])); +} + + +/** + * Returns a function that provides access to parsed headers. + * + * Headers are lazy parsed when first requested. + * @see parseHeaders + * + * @param {(string|Object)} headers Headers to provide access to. + * @returns {function(string=)} Returns a getter function which if called with: + * + * - if called with single an argument returns a single header value or null + * - if called with no arguments returns an object containing all headers. + */ +function headersGetter(headers) { + var headersObj = isObject(headers) ? headers : undefined; + + return function(name) { + if (!headersObj) headersObj = parseHeaders(headers); + + if (name) { + return headersObj[lowercase(name)] || null; + } + + return headersObj; + }; +} + + +/** + * Chain all given functions + * + * This function is used for both request and response transforming + * + * @param {*} data Data to transform. + * @param {function(string=)} headers Http headers getter fn. + * @param {(function|Array.)} fns Function or an array of functions. + * @returns {*} Transformed data. + */ +function transformData(data, headers, fns) { + if (isFunction(fns)) + return fns(data, headers); + + forEach(fns, function(fn) { + data = fn(data, headers); + }); + + return data; +} + + +function isSuccess(status) { + return 200 <= status && status < 300; +} + + +function $HttpProvider() { + var JSON_START = /^\s*(\[|\{[^\{])/, + JSON_END = /[\}\]]\s*$/, + PROTECTION_PREFIX = /^\)\]\}',?\n/, + CONTENT_TYPE_APPLICATION_JSON = {'Content-Type': 'application/json;charset=utf-8'}; + + var defaults = this.defaults = { + // transform incoming response data + transformResponse: [function(data) { + if (isString(data)) { + // strip json vulnerability protection prefix + data = data.replace(PROTECTION_PREFIX, ''); + if (JSON_START.test(data) && JSON_END.test(data)) + data = fromJson(data, true); + } + return data; + }], + + // transform outgoing request data + transformRequest: [function(d) { + return isObject(d) && !isFile(d) ? toJson(d) : d; + }], + + // default headers + headers: { + common: { + 'Accept': 'application/json, text/plain, */*' + }, + post: CONTENT_TYPE_APPLICATION_JSON, + put: CONTENT_TYPE_APPLICATION_JSON, + patch: CONTENT_TYPE_APPLICATION_JSON + }, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN' + }; + + /** + * Are order by request. I.E. they are applied in the same order as + * array on request, but revers order on response. + */ + var interceptorFactories = this.interceptors = []; + /** + * For historical reasons, response interceptors ordered by the order in which + * they are applied to response. (This is in revers to interceptorFactories) + */ + var responseInterceptorFactories = this.responseInterceptors = []; + + this.$get = ['$httpBackend', '$browser', '$cacheFactory', '$rootScope', '$q', '$injector', + function($httpBackend, $browser, $cacheFactory, $rootScope, $q, $injector) { + + var defaultCache = $cacheFactory('$http'); + + /** + * Interceptors stored in reverse order. Inner interceptors before outer interceptors. + * The reversal is needed so that we can build up the interception chain around the + * server request. + */ + var reversedInterceptors = []; + + forEach(interceptorFactories, function(interceptorFactory) { + reversedInterceptors.unshift(isString(interceptorFactory) + ? $injector.get(interceptorFactory) : $injector.invoke(interceptorFactory)); + }); + + forEach(responseInterceptorFactories, function(interceptorFactory, index) { + var responseFn = isString(interceptorFactory) + ? $injector.get(interceptorFactory) + : $injector.invoke(interceptorFactory); + + /** + * Response interceptors go before "around" interceptors (no real reason, just + * had to pick one.) But they are already revesed, so we can't use unshift, hence + * the splice. + */ + reversedInterceptors.splice(index, 0, { + response: function(response) { + return responseFn($q.when(response)); + }, + responseError: function(response) { + return responseFn($q.reject(response)); + } + }); + }); + + + /** + * @ngdoc function + * @name ng.$http + * @requires $httpBackend + * @requires $browser + * @requires $cacheFactory + * @requires $rootScope + * @requires $q + * @requires $injector + * + * @description + * The `$http` service is a core Angular service that facilitates communication with the remote + * HTTP servers via the browser's {@link https://developer.mozilla.org/en/xmlhttprequest + * XMLHttpRequest} object or via {@link http://en.wikipedia.org/wiki/JSONP JSONP}. + * + * For unit testing applications that use `$http` service, see + * {@link ngMock.$httpBackend $httpBackend mock}. + * + * For a higher level of abstraction, please check out the {@link ngResource.$resource + * $resource} service. + * + * The $http API is based on the {@link ng.$q deferred/promise APIs} exposed by + * the $q service. While for simple usage patterns this doesn't matter much, for advanced usage + * it is important to familiarize yourself with these APIs and the guarantees they provide. + * + * + * # General usage + * The `$http` service is a function which takes a single argument — a configuration object — + * that is used to generate an HTTP request and returns a {@link ng.$q promise} + * with two $http specific methods: `success` and `error`. + * + *
+     *   $http({method: 'GET', url: '/someUrl'}).
+     *     success(function(data, status, headers, config) {
+     *       // this callback will be called asynchronously
+     *       // when the response is available
+     *     }).
+     *     error(function(data, status, headers, config) {
+     *       // called asynchronously if an error occurs
+     *       // or server returns response with an error status.
+     *     });
+     * 
+ * + * Since the returned value of calling the $http function is a `promise`, you can also use + * the `then` method to register callbacks, and these callbacks will receive a single argument – + * an object representing the response. See the API signature and type info below for more + * details. + * + * A response status code between 200 and 299 is considered a success status and + * will result in the success callback being called. Note that if the response is a redirect, + * XMLHttpRequest will transparently follow it, meaning that the error callback will not be + * called for such responses. + * + * # Shortcut methods + * + * Since all invocations of the $http service require passing in an HTTP method and URL, and + * POST/PUT requests require request data to be provided as well, shortcut methods + * were created: + * + *
+     *   $http.get('/someUrl').success(successCallback);
+     *   $http.post('/someUrl', data).success(successCallback);
+     * 
+ * + * Complete list of shortcut methods: + * + * - {@link ng.$http#get $http.get} + * - {@link ng.$http#head $http.head} + * - {@link ng.$http#post $http.post} + * - {@link ng.$http#put $http.put} + * - {@link ng.$http#delete $http.delete} + * - {@link ng.$http#jsonp $http.jsonp} + * + * + * # Setting HTTP Headers + * + * The $http service will automatically add certain HTTP headers to all requests. These defaults + * can be fully configured by accessing the `$httpProvider.defaults.headers` configuration + * object, which currently contains this default configuration: + * + * - `$httpProvider.defaults.headers.common` (headers that are common for all requests): + * - `Accept: application/json, text/plain, * / *` + * - `$httpProvider.defaults.headers.post`: (header defaults for POST requests) + * - `Content-Type: application/json` + * - `$httpProvider.defaults.headers.put` (header defaults for PUT requests) + * - `Content-Type: application/json` + * + * To add or overwrite these defaults, simply add or remove a property from these configuration + * objects. To add headers for an HTTP method other than POST or PUT, simply add a new object + * with the lowercased HTTP method name as the key, e.g. + * `$httpProvider.defaults.headers.get['My-Header']='value'`. + * + * Additionally, the defaults can be set at runtime via the `$http.defaults` object in the same + * fashion. + * + * + * # Transforming Requests and Responses + * + * Both requests and responses can be transformed using transform functions. By default, Angular + * applies these transformations: + * + * Request transformations: + * + * - If the `data` property of the request configuration object contains an object, serialize it into + * JSON format. + * + * Response transformations: + * + * - If XSRF prefix is detected, strip it (see Security Considerations section below). + * - If JSON response is detected, deserialize it using a JSON parser. + * + * To globally augment or override the default transforms, modify the `$httpProvider.defaults.transformRequest` and + * `$httpProvider.defaults.transformResponse` properties. These properties are by default an + * array of transform functions, which allows you to `push` or `unshift` a new transformation function into the + * transformation chain. You can also decide to completely override any default transformations by assigning your + * transformation functions to these properties directly without the array wrapper. + * + * Similarly, to locally override the request/response transforms, augment the `transformRequest` and/or + * `transformResponse` properties of the configuration object passed into `$http`. + * + * + * # Caching + * + * To enable caching, set the configuration property `cache` to `true`. When the cache is + * enabled, `$http` stores the response from the server in local cache. Next time the + * response is served from the cache without sending a request to the server. + * + * Note that even if the response is served from cache, delivery of the data is asynchronous in + * the same way that real requests are. + * + * If there are multiple GET requests for the same URL that should be cached using the same + * cache, but the cache is not populated yet, only one request to the server will be made and + * the remaining requests will be fulfilled using the response from the first request. + * + * A custom default cache built with $cacheFactory can be provided in $http.defaults.cache. + * To skip it, set configuration property `cache` to `false`. + * + * + * # Interceptors + * + * Before you start creating interceptors, be sure to understand the + * {@link ng.$q $q and deferred/promise APIs}. + * + * For purposes of global error handling, authentication, or any kind of synchronous or + * asynchronous pre-processing of request or postprocessing of responses, it is desirable to be + * able to intercept requests before they are handed to the server and + * responses before they are handed over to the application code that + * initiated these requests. The interceptors leverage the {@link ng.$q + * promise APIs} to fulfill this need for both synchronous and asynchronous pre-processing. + * + * The interceptors are service factories that are registered with the `$httpProvider` by + * adding them to the `$httpProvider.interceptors` array. The factory is called and + * injected with dependencies (if specified) and returns the interceptor. + * + * There are two kinds of interceptors (and two kinds of rejection interceptors): + * + * * `request`: interceptors get called with http `config` object. The function is free to modify + * the `config` or create a new one. The function needs to return the `config` directly or as a + * promise. + * * `requestError`: interceptor gets called when a previous interceptor threw an error or resolved + * with a rejection. + * * `response`: interceptors get called with http `response` object. The function is free to modify + * the `response` or create a new one. The function needs to return the `response` directly or as a + * promise. + * * `responseError`: interceptor gets called when a previous interceptor threw an error or resolved + * with a rejection. + * + * + *
+     *   // register the interceptor as a service
+     *   $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
+     *     return {
+     *       // optional method
+     *       'request': function(config) {
+     *         // do something on success
+     *         return config || $q.when(config);
+     *       },
+     *
+     *       // optional method
+     *      'requestError': function(rejection) {
+     *         // do something on error
+     *         if (canRecover(rejection)) {
+     *           return responseOrNewPromise
+     *         }
+     *         return $q.reject(rejection);
+     *       },
+     *
+     *
+     *
+     *       // optional method
+     *       'response': function(response) {
+     *         // do something on success
+     *         return response || $q.when(response);
+     *       },
+     *
+     *       // optional method
+     *      'responseError': function(rejection) {
+     *         // do something on error
+     *         if (canRecover(rejection)) {
+     *           return responseOrNewPromise
+     *         }
+     *         return $q.reject(rejection);
+     *       };
+     *     }
+     *   });
+     *
+     *   $httpProvider.interceptors.push('myHttpInterceptor');
+     *
+     *
+     *   // register the interceptor via an anonymous factory
+     *   $httpProvider.interceptors.push(function($q, dependency1, dependency2) {
+     *     return {
+     *      'request': function(config) {
+     *          // same as above
+     *       },
+     *       'response': function(response) {
+     *          // same as above
+     *       }
+     *   });
+     * 
+ * + * # Response interceptors (DEPRECATED) + * + * Before you start creating interceptors, be sure to understand the + * {@link ng.$q $q and deferred/promise APIs}. + * + * For purposes of global error handling, authentication or any kind of synchronous or + * asynchronous preprocessing of received responses, it is desirable to be able to intercept + * responses for http requests before they are handed over to the application code that + * initiated these requests. The response interceptors leverage the {@link ng.$q + * promise apis} to fulfil this need for both synchronous and asynchronous preprocessing. + * + * The interceptors are service factories that are registered with the $httpProvider by + * adding them to the `$httpProvider.responseInterceptors` array. The factory is called and + * injected with dependencies (if specified) and returns the interceptor — a function that + * takes a {@link ng.$q promise} and returns the original or a new promise. + * + *
+     *   // register the interceptor as a service
+     *   $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
+     *     return function(promise) {
+     *       return promise.then(function(response) {
+     *         // do something on success
+     *       }, function(response) {
+     *         // do something on error
+     *         if (canRecover(response)) {
+     *           return responseOrNewPromise
+     *         }
+     *         return $q.reject(response);
+     *       });
+     *     }
+     *   });
+     *
+     *   $httpProvider.responseInterceptors.push('myHttpInterceptor');
+     *
+     *
+     *   // register the interceptor via an anonymous factory
+     *   $httpProvider.responseInterceptors.push(function($q, dependency1, dependency2) {
+     *     return function(promise) {
+     *       // same as above
+     *     }
+     *   });
+     * 
+ * + * + * # Security Considerations + * + * When designing web applications, consider security threats from: + * + * - {@link http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx + * JSON vulnerability} + * - {@link http://en.wikipedia.org/wiki/Cross-site_request_forgery XSRF} + * + * Both server and the client must cooperate in order to eliminate these threats. Angular comes + * pre-configured with strategies that address these issues, but for this to work backend server + * cooperation is required. + * + * ## JSON Vulnerability Protection + * + * A {@link http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx + * JSON vulnerability} allows third party website to turn your JSON resource URL into + * {@link http://en.wikipedia.org/wiki/JSONP JSONP} request under some conditions. To + * counter this your server can prefix all JSON requests with following string `")]}',\n"`. + * Angular will automatically strip the prefix before processing it as JSON. + * + * For example if your server needs to return: + *
+     * ['one','two']
+     * 
+ * + * which is vulnerable to attack, your server can return: + *
+     * )]}',
+     * ['one','two']
+     * 
+ * + * Angular will strip the prefix, before processing the JSON. + * + * + * ## Cross Site Request Forgery (XSRF) Protection + * + * {@link http://en.wikipedia.org/wiki/Cross-site_request_forgery XSRF} is a technique by which + * an unauthorized site can gain your user's private data. Angular provides a mechanism + * to counter XSRF. When performing XHR requests, the $http service reads a token from a cookie + * (by default, `XSRF-TOKEN`) and sets it as an HTTP header (`X-XSRF-TOKEN`). Since only + * JavaScript that runs on your domain could read the cookie, your server can be assured that + * the XHR came from JavaScript running on your domain. The header will not be set for + * cross-domain requests. + * + * To take advantage of this, your server needs to set a token in a JavaScript readable session + * cookie called `XSRF-TOKEN` on the first HTTP GET request. On subsequent XHR requests the + * server can verify that the cookie matches `X-XSRF-TOKEN` HTTP header, and therefore be sure + * that only JavaScript running on your domain could have sent the request. The token must be + * unique for each user and must be verifiable by the server (to prevent the JavaScript from making + * up its own tokens). We recommend that the token is a digest of your site's authentication + * cookie with a {@link https://en.wikipedia.org/wiki/Salt_(cryptography) salt} for added security. + * + * The name of the headers can be specified using the xsrfHeaderName and xsrfCookieName + * properties of either $httpProvider.defaults, or the per-request config object. + * + * + * @param {object} config Object describing the request to be made and how it should be + * processed. The object has following properties: + * + * - **method** – `{string}` – HTTP method (e.g. 'GET', 'POST', etc) + * - **url** – `{string}` – Absolute or relative URL of the resource that is being requested. + * - **params** – `{Object.}` – Map of strings or objects which will be turned to + * `?key1=value1&key2=value2` after the url. If the value is not a string, it will be JSONified. + * - **data** – `{string|Object}` – Data to be sent as the request message data. + * - **headers** – `{Object}` – Map of strings representing HTTP headers to send to the server. + * - **xsrfHeaderName** – `{string}` – Name of HTTP header to populate with the XSRF token. + * - **xsrfCookieName** – `{string}` – Name of cookie containing the XSRF token. + * - **transformRequest** – `{function(data, headersGetter)|Array.}` – + * transform function or an array of such functions. The transform function takes the http + * request body and headers and returns its transformed (typically serialized) version. + * - **transformResponse** – `{function(data, headersGetter)|Array.}` – + * transform function or an array of such functions. The transform function takes the http + * response body and headers and returns its transformed (typically deserialized) version. + * - **cache** – `{boolean|Cache}` – If true, a default $http cache will be used to cache the + * GET request, otherwise if a cache instance built with + * {@link ng.$cacheFactory $cacheFactory}, this cache will be used for + * caching. + * - **timeout** – `{number|Promise}` – timeout in milliseconds, or {@link ng.$q promise} + * that should abort the request when resolved. + * - **withCredentials** - `{boolean}` - whether to to set the `withCredentials` flag on the + * XHR object. See {@link https://developer.mozilla.org/en/http_access_control#section_5 + * requests with credentials} for more information. + * - **responseType** - `{string}` - see {@link + * https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType requestType}. + * + * @returns {HttpPromise} Returns a {@link ng.$q promise} object with the + * standard `then` method and two http specific methods: `success` and `error`. The `then` + * method takes two arguments a success and an error callback which will be called with a + * response object. The `success` and `error` methods take a single argument - a function that + * will be called when the request succeeds or fails respectively. The arguments passed into + * these functions are destructured representation of the response object passed into the + * `then` method. The response object has these properties: + * + * - **data** – `{string|Object}` – The response body transformed with the transform functions. + * - **status** – `{number}` – HTTP status code of the response. + * - **headers** – `{function([headerName])}` – Header getter function. + * - **config** – `{Object}` – The configuration object that was used to generate the request. + * + * @property {Array.} pendingRequests Array of config objects for currently pending + * requests. This is primarily meant to be used for debugging purposes. + * + * + * @example + + +
+ + +
+ + + +
http status code: {{status}}
+
http response data: {{data}}
+
+
+ + function FetchCtrl($scope, $http, $templateCache) { + $scope.method = 'GET'; + $scope.url = 'http-hello.html'; + + $scope.fetch = function() { + $scope.code = null; + $scope.response = null; + + $http({method: $scope.method, url: $scope.url, cache: $templateCache}). + success(function(data, status) { + $scope.status = status; + $scope.data = data; + }). + error(function(data, status) { + $scope.data = data || "Request failed"; + $scope.status = status; + }); + }; + + $scope.updateModel = function(method, url) { + $scope.method = method; + $scope.url = url; + }; + } + + + Hello, $http! + + + it('should make an xhr GET request', function() { + element(':button:contains("Sample GET")').click(); + element(':button:contains("fetch")').click(); + expect(binding('status')).toBe('200'); + expect(binding('data')).toMatch(/Hello, \$http!/); + }); + + it('should make a JSONP request to angularjs.org', function() { + element(':button:contains("Sample JSONP")').click(); + element(':button:contains("fetch")').click(); + expect(binding('status')).toBe('200'); + expect(binding('data')).toMatch(/Super Hero!/); + }); + + it('should make JSONP request to invalid URL and invoke the error handler', + function() { + element(':button:contains("Invalid JSONP")').click(); + element(':button:contains("fetch")').click(); + expect(binding('status')).toBe('0'); + expect(binding('data')).toBe('Request failed'); + }); + +
+ */ + function $http(requestConfig) { + var config = { + transformRequest: defaults.transformRequest, + transformResponse: defaults.transformResponse + }; + var headers = {}; + + extend(config, requestConfig); + config.headers = headers; + config.method = uppercase(config.method); + + extend(headers, + defaults.headers.common, + defaults.headers[lowercase(config.method)], + requestConfig.headers); + + var xsrfValue = isSameDomain(config.url, $browser.url()) + ? $browser.cookies()[config.xsrfCookieName || defaults.xsrfCookieName] + : undefined; + if (xsrfValue) { + headers[(config.xsrfHeaderName || defaults.xsrfHeaderName)] = xsrfValue; + } + + + var serverRequest = function(config) { + var reqData = transformData(config.data, headersGetter(headers), config.transformRequest); + + // strip content-type if data is undefined + if (isUndefined(config.data)) { + delete headers['Content-Type']; + } + + if (isUndefined(config.withCredentials) && !isUndefined(defaults.withCredentials)) { + config.withCredentials = defaults.withCredentials; + } + + // send request + return sendReq(config, reqData, headers).then(transformResponse, transformResponse); + }; + + var chain = [serverRequest, undefined]; + var promise = $q.when(config); + + // apply interceptors + forEach(reversedInterceptors, function(interceptor) { + if (interceptor.request || interceptor.requestError) { + chain.unshift(interceptor.request, interceptor.requestError); + } + if (interceptor.response || interceptor.responseError) { + chain.push(interceptor.response, interceptor.responseError); + } + }); + + while(chain.length) { + var thenFn = chain.shift(); + var rejectFn = chain.shift(); + + promise = promise.then(thenFn, rejectFn); + } + + promise.success = function(fn) { + promise.then(function(response) { + fn(response.data, response.status, response.headers, config); + }); + return promise; + }; + + promise.error = function(fn) { + promise.then(null, function(response) { + fn(response.data, response.status, response.headers, config); + }); + return promise; + }; + + return promise; + + function transformResponse(response) { + // make a copy since the response must be cacheable + var resp = extend({}, response, { + data: transformData(response.data, response.headers, config.transformResponse) + }); + return (isSuccess(response.status)) + ? resp + : $q.reject(resp); + } + } + + $http.pendingRequests = []; + + /** + * @ngdoc method + * @name ng.$http#get + * @methodOf ng.$http + * + * @description + * Shortcut method to perform `GET` request. + * + * @param {string} url Relative or absolute URL specifying the destination of the request + * @param {Object=} config Optional configuration object + * @returns {HttpPromise} Future object + */ + + /** + * @ngdoc method + * @name ng.$http#delete + * @methodOf ng.$http + * + * @description + * Shortcut method to perform `DELETE` request. + * + * @param {string} url Relative or absolute URL specifying the destination of the request + * @param {Object=} config Optional configuration object + * @returns {HttpPromise} Future object + */ + + /** + * @ngdoc method + * @name ng.$http#head + * @methodOf ng.$http + * + * @description + * Shortcut method to perform `HEAD` request. + * + * @param {string} url Relative or absolute URL specifying the destination of the request + * @param {Object=} config Optional configuration object + * @returns {HttpPromise} Future object + */ + + /** + * @ngdoc method + * @name ng.$http#jsonp + * @methodOf ng.$http + * + * @description + * Shortcut method to perform `JSONP` request. + * + * @param {string} url Relative or absolute URL specifying the destination of the request. + * Should contain `JSON_CALLBACK` string. + * @param {Object=} config Optional configuration object + * @returns {HttpPromise} Future object + */ + createShortMethods('get', 'delete', 'head', 'jsonp'); + + /** + * @ngdoc method + * @name ng.$http#post + * @methodOf ng.$http + * + * @description + * Shortcut method to perform `POST` request. + * + * @param {string} url Relative or absolute URL specifying the destination of the request + * @param {*} data Request content + * @param {Object=} config Optional configuration object + * @returns {HttpPromise} Future object + */ + + /** + * @ngdoc method + * @name ng.$http#put + * @methodOf ng.$http + * + * @description + * Shortcut method to perform `PUT` request. + * + * @param {string} url Relative or absolute URL specifying the destination of the request + * @param {*} data Request content + * @param {Object=} config Optional configuration object + * @returns {HttpPromise} Future object + */ + createShortMethodsWithData('post', 'put'); + + /** + * @ngdoc property + * @name ng.$http#defaults + * @propertyOf ng.$http + * + * @description + * Runtime equivalent of the `$httpProvider.defaults` property. Allows configuration of + * default headers, withCredentials as well as request and response transformations. + * + * See "Setting HTTP Headers" and "Transforming Requests and Responses" sections above. + */ + $http.defaults = defaults; + + + return $http; + + + function createShortMethods(names) { + forEach(arguments, function(name) { + $http[name] = function(url, config) { + return $http(extend(config || {}, { + method: name, + url: url + })); + }; + }); + } + + + function createShortMethodsWithData(name) { + forEach(arguments, function(name) { + $http[name] = function(url, data, config) { + return $http(extend(config || {}, { + method: name, + url: url, + data: data + })); + }; + }); + } + + + /** + * Makes the request. + * + * !!! ACCESSES CLOSURE VARS: + * $httpBackend, defaults, $log, $rootScope, defaultCache, $http.pendingRequests + */ + function sendReq(config, reqData, reqHeaders) { + var deferred = $q.defer(), + promise = deferred.promise, + cache, + cachedResp, + url = buildUrl(config.url, config.params); + + $http.pendingRequests.push(config); + promise.then(removePendingReq, removePendingReq); + + + if ((config.cache || defaults.cache) && config.cache !== false && config.method == 'GET') { + cache = isObject(config.cache) ? config.cache + : isObject(defaults.cache) ? defaults.cache + : defaultCache; + } + + if (cache) { + cachedResp = cache.get(url); + if (cachedResp) { + if (cachedResp.then) { + // cached request has already been sent, but there is no response yet + cachedResp.then(removePendingReq, removePendingReq); + return cachedResp; + } else { + // serving from cache + if (isArray(cachedResp)) { + resolvePromise(cachedResp[1], cachedResp[0], copy(cachedResp[2])); + } else { + resolvePromise(cachedResp, 200, {}); + } + } + } else { + // put the promise for the non-transformed response into cache as a placeholder + cache.put(url, promise); + } + } + + // if we won't have the response in cache, send the request to the backend + if (!cachedResp) { + $httpBackend(config.method, url, reqData, done, reqHeaders, config.timeout, + config.withCredentials, config.responseType); + } + + return promise; + + + /** + * Callback registered to $httpBackend(): + * - caches the response if desired + * - resolves the raw $http promise + * - calls $apply + */ + function done(status, response, headersString) { + if (cache) { + if (isSuccess(status)) { + cache.put(url, [status, response, parseHeaders(headersString)]); + } else { + // remove promise from the cache + cache.remove(url); + } + } + + resolvePromise(response, status, headersString); + if (!$rootScope.$$phase) $rootScope.$apply(); + } + + + /** + * Resolves the raw $http promise. + */ + function resolvePromise(response, status, headers) { + // normalize internal statuses to 0 + status = Math.max(status, 0); + + (isSuccess(status) ? deferred.resolve : deferred.reject)({ + data: response, + status: status, + headers: headersGetter(headers), + config: config + }); + } + + + function removePendingReq() { + var idx = indexOf($http.pendingRequests, config); + if (idx !== -1) $http.pendingRequests.splice(idx, 1); + } + } + + + function buildUrl(url, params) { + if (!params) return url; + var parts = []; + forEachSorted(params, function(value, key) { + if (value == null || value == undefined) return; + if (!isArray(value)) value = [value]; + + forEach(value, function(v) { + if (isObject(v)) { + v = toJson(v); + } + parts.push(encodeUriQuery(key) + '=' + + encodeUriQuery(v)); + }); + }); + return url + ((url.indexOf('?') == -1) ? '?' : '&') + parts.join('&'); + } + + + }]; +} + +var XHR = window.XMLHttpRequest || function() { + try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e1) {} + try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e2) {} + try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e3) {} + throw new Error("This browser does not support XMLHttpRequest."); +}; + + +/** + * @ngdoc object + * @name ng.$httpBackend + * @requires $browser + * @requires $window + * @requires $document + * + * @description + * HTTP backend used by the {@link ng.$http service} that delegates to + * XMLHttpRequest object or JSONP and deals with browser incompatibilities. + * + * You should never need to use this service directly, instead use the higher-level abstractions: + * {@link ng.$http $http} or {@link ngResource.$resource $resource}. + * + * During testing this implementation is swapped with {@link ngMock.$httpBackend mock + * $httpBackend} which can be trained with responses. + */ +function $HttpBackendProvider() { + this.$get = ['$browser', '$window', '$document', function($browser, $window, $document) { + return createHttpBackend($browser, XHR, $browser.defer, $window.angular.callbacks, + $document[0], $window.location.protocol.replace(':', '')); + }]; +} + +function createHttpBackend($browser, XHR, $browserDefer, callbacks, rawDocument, locationProtocol) { + // TODO(vojta): fix the signature + return function(method, url, post, callback, headers, timeout, withCredentials, responseType) { + var status; + $browser.$$incOutstandingRequestCount(); + url = url || $browser.url(); + + if (lowercase(method) == 'jsonp') { + var callbackId = '_' + (callbacks.counter++).toString(36); + callbacks[callbackId] = function(data) { + callbacks[callbackId].data = data; + }; + + var jsonpDone = jsonpReq(url.replace('JSON_CALLBACK', 'angular.callbacks.' + callbackId), + function() { + if (callbacks[callbackId].data) { + completeRequest(callback, 200, callbacks[callbackId].data); + } else { + completeRequest(callback, status || -2); + } + delete callbacks[callbackId]; + }); + } else { + var xhr = new XHR(); + xhr.open(method, url, true); + forEach(headers, function(value, key) { + if (value) xhr.setRequestHeader(key, value); + }); + + // In IE6 and 7, this might be called synchronously when xhr.send below is called and the + // response is in the cache. the promise api will ensure that to the app code the api is + // always async + xhr.onreadystatechange = function() { + if (xhr.readyState == 4) { + var responseHeaders = xhr.getAllResponseHeaders(); + + // TODO(vojta): remove once Firefox 21 gets released. + // begin: workaround to overcome Firefox CORS http response headers bug + // https://bugzilla.mozilla.org/show_bug.cgi?id=608735 + // Firefox already patched in nightly. Should land in Firefox 21. + + // CORS "simple response headers" http://www.w3.org/TR/cors/ + var value, + simpleHeaders = ["Cache-Control", "Content-Language", "Content-Type", + "Expires", "Last-Modified", "Pragma"]; + if (!responseHeaders) { + responseHeaders = ""; + forEach(simpleHeaders, function (header) { + var value = xhr.getResponseHeader(header); + if (value) { + responseHeaders += header + ": " + value + "\n"; + } + }); + } + // end of the workaround. + + // responseText is the old-school way of retrieving response (supported by IE8 & 9) + // response and responseType properties were introduced in XHR Level2 spec (supported by IE10) + completeRequest(callback, + status || xhr.status, + (xhr.responseType ? xhr.response : xhr.responseText), + responseHeaders); + } + }; + + if (withCredentials) { + xhr.withCredentials = true; + } + + if (responseType) { + xhr.responseType = responseType; + } + + xhr.send(post || ''); + } + + if (timeout > 0) { + var timeoutId = $browserDefer(timeoutRequest, timeout); + } else if (timeout && timeout.then) { + timeout.then(timeoutRequest); + } + + + function timeoutRequest() { + status = -1; + jsonpDone && jsonpDone(); + xhr && xhr.abort(); + } + + function completeRequest(callback, status, response, headersString) { + // URL_MATCH is defined in src/service/location.js + var protocol = (url.match(SERVER_MATCH) || ['', locationProtocol])[1]; + + // cancel timeout and subsequent timeout promise resolution + timeoutId && $browserDefer.cancel(timeoutId); + jsonpDone = xhr = null; + + // fix status code for file protocol (it's always 0) + status = (protocol == 'file') ? (response ? 200 : 404) : status; + + // normalize IE bug (http://bugs.jquery.com/ticket/1450) + status = status == 1223 ? 204 : status; + + callback(status, response, headersString); + $browser.$$completeOutstandingRequest(noop); + } + }; + + function jsonpReq(url, done) { + // we can't use jQuery/jqLite here because jQuery does crazy shit with script elements, e.g.: + // - fetches local scripts via XHR and evals them + // - adds and immediately removes script elements from the document + var script = rawDocument.createElement('script'), + doneWrapper = function() { + rawDocument.body.removeChild(script); + if (done) done(); + }; + + script.type = 'text/javascript'; + script.src = url; + + if (msie) { + script.onreadystatechange = function() { + if (/loaded|complete/.test(script.readyState)) doneWrapper(); + }; + } else { + script.onload = script.onerror = doneWrapper; + } + + rawDocument.body.appendChild(script); + return doneWrapper; + } +} + +/** + * @ngdoc object + * @name ng.$locale + * + * @description + * $locale service provides localization rules for various Angular components. As of right now the + * only public api is: + * + * * `id` – `{string}` – locale id formatted as `languageId-countryId` (e.g. `en-us`) + */ +function $LocaleProvider(){ + this.$get = function() { + return { + id: 'en-us', + + NUMBER_FORMATS: { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PATTERNS: [ + { // Decimal Pattern + minInt: 1, + minFrac: 0, + maxFrac: 3, + posPre: '', + posSuf: '', + negPre: '-', + negSuf: '', + gSize: 3, + lgSize: 3 + },{ //Currency Pattern + minInt: 1, + minFrac: 2, + maxFrac: 2, + posPre: '\u00A4', + posSuf: '', + negPre: '(\u00A4', + negSuf: ')', + gSize: 3, + lgSize: 3 + } + ], + CURRENCY_SYM: '$' + }, + + DATETIME_FORMATS: { + MONTH: 'January,February,March,April,May,June,July,August,September,October,November,December' + .split(','), + SHORTMONTH: 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'.split(','), + DAY: 'Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday'.split(','), + SHORTDAY: 'Sun,Mon,Tue,Wed,Thu,Fri,Sat'.split(','), + AMPMS: ['AM','PM'], + medium: 'MMM d, y h:mm:ss a', + short: 'M/d/yy h:mm a', + fullDate: 'EEEE, MMMM d, y', + longDate: 'MMMM d, y', + mediumDate: 'MMM d, y', + shortDate: 'M/d/yy', + mediumTime: 'h:mm:ss a', + shortTime: 'h:mm a' + }, + + pluralCat: function(num) { + if (num === 1) { + return 'one'; + } + return 'other'; + } + }; + }; +} + +function $TimeoutProvider() { + this.$get = ['$rootScope', '$browser', '$q', '$exceptionHandler', + function($rootScope, $browser, $q, $exceptionHandler) { + var deferreds = {}; + + + /** + * @ngdoc function + * @name ng.$timeout + * @requires $browser + * + * @description + * Angular's wrapper for `window.setTimeout`. The `fn` function is wrapped into a try/catch + * block and delegates any exceptions to + * {@link ng.$exceptionHandler $exceptionHandler} service. + * + * The return value of registering a timeout function is a promise, which will be resolved when + * the timeout is reached and the timeout function is executed. + * + * To cancel a timeout request, call `$timeout.cancel(promise)`. + * + * In tests you can use {@link ngMock.$timeout `$timeout.flush()`} to + * synchronously flush the queue of deferred functions. + * + * @param {function()} fn A function, whose execution should be delayed. + * @param {number=} [delay=0] Delay in milliseconds. + * @param {boolean=} [invokeApply=true] If set to `false` skips model dirty checking, otherwise + * will invoke `fn` within the {@link ng.$rootScope.Scope#$apply $apply} block. + * @returns {Promise} Promise that will be resolved when the timeout is reached. The value this + * promise will be resolved with is the return value of the `fn` function. + */ + function timeout(fn, delay, invokeApply) { + var deferred = $q.defer(), + promise = deferred.promise, + skipApply = (isDefined(invokeApply) && !invokeApply), + timeoutId, cleanup; + + timeoutId = $browser.defer(function() { + try { + deferred.resolve(fn()); + } catch(e) { + deferred.reject(e); + $exceptionHandler(e); + } + + if (!skipApply) $rootScope.$apply(); + }, delay); + + cleanup = function() { + delete deferreds[promise.$$timeoutId]; + }; + + promise.$$timeoutId = timeoutId; + deferreds[timeoutId] = deferred; + promise.then(cleanup, cleanup); + + return promise; + } + + + /** + * @ngdoc function + * @name ng.$timeout#cancel + * @methodOf ng.$timeout + * + * @description + * Cancels a task associated with the `promise`. As a result of this, the promise will be + * resolved with a rejection. + * + * @param {Promise=} promise Promise returned by the `$timeout` function. + * @returns {boolean} Returns `true` if the task hasn't executed yet and was successfully + * canceled. + */ + timeout.cancel = function(promise) { + if (promise && promise.$$timeoutId in deferreds) { + deferreds[promise.$$timeoutId].reject('canceled'); + return $browser.defer.cancel(promise.$$timeoutId); + } + return false; + }; + + return timeout; + }]; +} + +/** + * @ngdoc object + * @name ng.$filterProvider + * @description + * + * Filters are just functions which transform input to an output. However filters need to be Dependency Injected. To + * achieve this a filter definition consists of a factory function which is annotated with dependencies and is + * responsible for creating a filter function. + * + *
+ *   // Filter registration
+ *   function MyModule($provide, $filterProvider) {
+ *     // create a service to demonstrate injection (not always needed)
+ *     $provide.value('greet', function(name){
+ *       return 'Hello ' + name + '!';
+ *     });
+ *
+ *     // register a filter factory which uses the
+ *     // greet service to demonstrate DI.
+ *     $filterProvider.register('greet', function(greet){
+ *       // return the filter function which uses the greet service
+ *       // to generate salutation
+ *       return function(text) {
+ *         // filters need to be forgiving so check input validity
+ *         return text && greet(text) || text;
+ *       };
+ *     });
+ *   }
+ * 
+ * + * The filter function is registered with the `$injector` under the filter name suffixe with `Filter`. + *
+ *   it('should be the same instance', inject(
+ *     function($filterProvider) {
+ *       $filterProvider.register('reverse', function(){
+ *         return ...;
+ *       });
+ *     },
+ *     function($filter, reverseFilter) {
+ *       expect($filter('reverse')).toBe(reverseFilter);
+ *     });
+ * 
+ * + * + * For more information about how angular filters work, and how to create your own filters, see + * {@link guide/dev_guide.templates.filters Understanding Angular Filters} in the angular Developer + * Guide. + */ +/** + * @ngdoc method + * @name ng.$filterProvider#register + * @methodOf ng.$filterProvider + * @description + * Register filter factory function. + * + * @param {String} name Name of the filter. + * @param {function} fn The filter factory function which is injectable. + */ + + +/** + * @ngdoc function + * @name ng.$filter + * @function + * @description + * Filters are used for formatting data displayed to the user. + * + * The general syntax in templates is as follows: + * + * {{ expression [| filter_name[:parameter_value] ... ] }} + * + * @param {String} name Name of the filter function to retrieve + * @return {Function} the filter function + */ +$FilterProvider.$inject = ['$provide']; +function $FilterProvider($provide) { + var suffix = 'Filter'; + + function register(name, factory) { + return $provide.factory(name + suffix, factory); + } + this.register = register; + + this.$get = ['$injector', function($injector) { + return function(name) { + return $injector.get(name + suffix); + } + }]; + + //////////////////////////////////////// + + register('currency', currencyFilter); + register('date', dateFilter); + register('filter', filterFilter); + register('json', jsonFilter); + register('limitTo', limitToFilter); + register('lowercase', lowercaseFilter); + register('number', numberFilter); + register('orderBy', orderByFilter); + register('uppercase', uppercaseFilter); +} + +/** + * @ngdoc filter + * @name ng.filter:filter + * @function + * + * @description + * Selects a subset of items from `array` and returns it as a new array. + * + * Note: This function is used to augment the `Array` type in Angular expressions. See + * {@link ng.$filter} for more information about Angular arrays. + * + * @param {Array} array The source array. + * @param {string|Object|function()} expression The predicate to be used for selecting items from + * `array`. + * + * Can be one of: + * + * - `string`: Predicate that results in a substring match using the value of `expression` + * string. All strings or objects with string properties in `array` that contain this string + * will be returned. The predicate can be negated by prefixing the string with `!`. + * + * - `Object`: A pattern object can be used to filter specific properties on objects contained + * by `array`. For example `{name:"M", phone:"1"}` predicate will return an array of items + * which have property `name` containing "M" and property `phone` containing "1". A special + * property name `$` can be used (as in `{$:"text"}`) to accept a match against any + * property of the object. That's equivalent to the simple substring match with a `string` + * as described above. + * + * - `function`: A predicate function can be used to write arbitrary filters. The function is + * called for each element of `array`. The final result is an array of those elements that + * the predicate returned true for. + * + * @param {function(expected, actual)|true|undefined} comparator Comparator which is used in + * determining if the expected value (from the filter expression) and actual value (from + * the object in the array) should be considered a match. + * + * Can be one of: + * + * - `function(expected, actual)`: + * The function will be given the object value and the predicate value to compare and + * should return true if the item should be included in filtered result. + * + * - `true`: A shorthand for `function(expected, actual) { return angular.equals(expected, actual)}`. + * this is essentially strict comparison of expected and actual. + * + * - `false|undefined`: A short hand for a function which will look for a substring match in case + * insensitive way. + * + * @example + + +
+ + Search: + + + + + + +
NamePhone
{{friend.name}}{{friend.phone}}
+
+ Any:
+ Name only
+ Phone only
+ Equality
+ + + + + + +
NamePhone
{{friend.name}}{{friend.phone}}
+
+ + it('should search across all fields when filtering with a string', function() { + input('searchText').enter('m'); + expect(repeater('#searchTextResults tr', 'friend in friends').column('friend.name')). + toEqual(['Mary', 'Mike', 'Adam']); + + input('searchText').enter('76'); + expect(repeater('#searchTextResults tr', 'friend in friends').column('friend.name')). + toEqual(['John', 'Julie']); + }); + + it('should search in specific fields when filtering with a predicate object', function() { + input('search.$').enter('i'); + expect(repeater('#searchObjResults tr', 'friend in friends').column('friend.name')). + toEqual(['Mary', 'Mike', 'Julie', 'Juliette']); + }); + it('should use a equal comparison when comparator is true', function() { + input('search.name').enter('Julie'); + input('strict').check(); + expect(repeater('#searchObjResults tr', 'friend in friends').column('friend.name')). + toEqual(['Julie']); + }); + +
+ */ +function filterFilter() { + return function(array, expression, comperator) { + if (!isArray(array)) return array; + var predicates = []; + predicates.check = function(value) { + for (var j = 0; j < predicates.length; j++) { + if(!predicates[j](value)) { + return false; + } + } + return true; + }; + switch(typeof comperator) { + case "function": + break; + case "boolean": + if(comperator == true) { + comperator = function(obj, text) { + return angular.equals(obj, text); + } + break; + } + default: + comperator = function(obj, text) { + text = (''+text).toLowerCase(); + return (''+obj).toLowerCase().indexOf(text) > -1 + }; + } + var search = function(obj, text){ + if (typeof text == 'string' && text.charAt(0) === '!') { + return !search(obj, text.substr(1)); + } + switch (typeof obj) { + case "boolean": + case "number": + case "string": + return comperator(obj, text); + case "object": + switch (typeof text) { + case "object": + return comperator(obj, text); + break; + default: + for ( var objKey in obj) { + if (objKey.charAt(0) !== '$' && search(obj[objKey], text)) { + return true; + } + } + break; + } + return false; + case "array": + for ( var i = 0; i < obj.length; i++) { + if (search(obj[i], text)) { + return true; + } + } + return false; + default: + return false; + } + }; + switch (typeof expression) { + case "boolean": + case "number": + case "string": + expression = {$:expression}; + case "object": + for (var key in expression) { + if (key == '$') { + (function() { + if (!expression[key]) return; + var path = key + predicates.push(function(value) { + return search(value, expression[path]); + }); + })(); + } else { + (function() { + if (!expression[key]) return; + var path = key; + predicates.push(function(value) { + return search(getter(value,path), expression[path]); + }); + })(); + } + } + break; + case 'function': + predicates.push(expression); + break; + default: + return array; + } + var filtered = []; + for ( var j = 0; j < array.length; j++) { + var value = array[j]; + if (predicates.check(value)) { + filtered.push(value); + } + } + return filtered; + } +} + +/** + * @ngdoc filter + * @name ng.filter:currency + * @function + * + * @description + * Formats a number as a currency (ie $1,234.56). When no currency symbol is provided, default + * symbol for current locale is used. + * + * @param {number} amount Input to filter. + * @param {string=} symbol Currency symbol or identifier to be displayed. + * @returns {string} Formatted number. + * + * + * @example + + + +
+
+ default currency symbol ($): {{amount | currency}}
+ custom currency identifier (USD$): {{amount | currency:"USD$"}} +
+
+ + it('should init with 1234.56', function() { + expect(binding('amount | currency')).toBe('$1,234.56'); + expect(binding('amount | currency:"USD$"')).toBe('USD$1,234.56'); + }); + it('should update', function() { + input('amount').enter('-1234'); + expect(binding('amount | currency')).toBe('($1,234.00)'); + expect(binding('amount | currency:"USD$"')).toBe('(USD$1,234.00)'); + }); + +
+ */ +currencyFilter.$inject = ['$locale']; +function currencyFilter($locale) { + var formats = $locale.NUMBER_FORMATS; + return function(amount, currencySymbol){ + if (isUndefined(currencySymbol)) currencySymbol = formats.CURRENCY_SYM; + return formatNumber(amount, formats.PATTERNS[1], formats.GROUP_SEP, formats.DECIMAL_SEP, 2). + replace(/\u00A4/g, currencySymbol); + }; +} + +/** + * @ngdoc filter + * @name ng.filter:number + * @function + * + * @description + * Formats a number as text. + * + * If the input is not a number an empty string is returned. + * + * @param {number|string} number Number to format. + * @param {(number|string)=} [fractionSize=2] Number of decimal places to round the number to. + * @returns {string} Number rounded to decimalPlaces and places a “,” after each third digit. + * + * @example + + + +
+ Enter number:
+ Default formatting: {{val | number}}
+ No fractions: {{val | number:0}}
+ Negative number: {{-val | number:4}} +
+
+ + it('should format numbers', function() { + expect(binding('val | number')).toBe('1,234.568'); + expect(binding('val | number:0')).toBe('1,235'); + expect(binding('-val | number:4')).toBe('-1,234.5679'); + }); + + it('should update', function() { + input('val').enter('3374.333'); + expect(binding('val | number')).toBe('3,374.333'); + expect(binding('val | number:0')).toBe('3,374'); + expect(binding('-val | number:4')).toBe('-3,374.3330'); + }); + +
+ */ + + +numberFilter.$inject = ['$locale']; +function numberFilter($locale) { + var formats = $locale.NUMBER_FORMATS; + return function(number, fractionSize) { + return formatNumber(number, formats.PATTERNS[0], formats.GROUP_SEP, formats.DECIMAL_SEP, + fractionSize); + }; +} + +var DECIMAL_SEP = '.'; +function formatNumber(number, pattern, groupSep, decimalSep, fractionSize) { + if (isNaN(number) || !isFinite(number)) return ''; + + var isNegative = number < 0; + number = Math.abs(number); + var numStr = number + '', + formatedText = '', + parts = []; + + var hasExponent = false; + if (numStr.indexOf('e') !== -1) { + var match = numStr.match(/([\d\.]+)e(-?)(\d+)/); + if (match && match[2] == '-' && match[3] > fractionSize + 1) { + numStr = '0'; + } else { + formatedText = numStr; + hasExponent = true; + } + } + + if (!hasExponent) { + var fractionLen = (numStr.split(DECIMAL_SEP)[1] || '').length; + + // determine fractionSize if it is not specified + if (isUndefined(fractionSize)) { + fractionSize = Math.min(Math.max(pattern.minFrac, fractionLen), pattern.maxFrac); + } + + var pow = Math.pow(10, fractionSize); + number = Math.round(number * pow) / pow; + var fraction = ('' + number).split(DECIMAL_SEP); + var whole = fraction[0]; + fraction = fraction[1] || ''; + + var pos = 0, + lgroup = pattern.lgSize, + group = pattern.gSize; + + if (whole.length >= (lgroup + group)) { + pos = whole.length - lgroup; + for (var i = 0; i < pos; i++) { + if ((pos - i)%group === 0 && i !== 0) { + formatedText += groupSep; + } + formatedText += whole.charAt(i); + } + } + + for (i = pos; i < whole.length; i++) { + if ((whole.length - i)%lgroup === 0 && i !== 0) { + formatedText += groupSep; + } + formatedText += whole.charAt(i); + } + + // format fraction part. + while(fraction.length < fractionSize) { + fraction += '0'; + } + + if (fractionSize && fractionSize !== "0") formatedText += decimalSep + fraction.substr(0, fractionSize); + } + + parts.push(isNegative ? pattern.negPre : pattern.posPre); + parts.push(formatedText); + parts.push(isNegative ? pattern.negSuf : pattern.posSuf); + return parts.join(''); +} + +function padNumber(num, digits, trim) { + var neg = ''; + if (num < 0) { + neg = '-'; + num = -num; + } + num = '' + num; + while(num.length < digits) num = '0' + num; + if (trim) + num = num.substr(num.length - digits); + return neg + num; +} + + +function dateGetter(name, size, offset, trim) { + offset = offset || 0; + return function(date) { + var value = date['get' + name](); + if (offset > 0 || value > -offset) + value += offset; + if (value === 0 && offset == -12 ) value = 12; + return padNumber(value, size, trim); + }; +} + +function dateStrGetter(name, shortForm) { + return function(date, formats) { + var value = date['get' + name](); + var get = uppercase(shortForm ? ('SHORT' + name) : name); + + return formats[get][value]; + }; +} + +function timeZoneGetter(date) { + var zone = -1 * date.getTimezoneOffset(); + var paddedZone = (zone >= 0) ? "+" : ""; + + paddedZone += padNumber(Math[zone > 0 ? 'floor' : 'ceil'](zone / 60), 2) + + padNumber(Math.abs(zone % 60), 2); + + return paddedZone; +} + +function ampmGetter(date, formats) { + return date.getHours() < 12 ? formats.AMPMS[0] : formats.AMPMS[1]; +} + +var DATE_FORMATS = { + yyyy: dateGetter('FullYear', 4), + yy: dateGetter('FullYear', 2, 0, true), + y: dateGetter('FullYear', 1), + MMMM: dateStrGetter('Month'), + MMM: dateStrGetter('Month', true), + MM: dateGetter('Month', 2, 1), + M: dateGetter('Month', 1, 1), + dd: dateGetter('Date', 2), + d: dateGetter('Date', 1), + HH: dateGetter('Hours', 2), + H: dateGetter('Hours', 1), + hh: dateGetter('Hours', 2, -12), + h: dateGetter('Hours', 1, -12), + mm: dateGetter('Minutes', 2), + m: dateGetter('Minutes', 1), + ss: dateGetter('Seconds', 2), + s: dateGetter('Seconds', 1), + // while ISO 8601 requires fractions to be prefixed with `.` or `,` + // we can be just safely rely on using `sss` since we currently don't support single or two digit fractions + sss: dateGetter('Milliseconds', 3), + EEEE: dateStrGetter('Day'), + EEE: dateStrGetter('Day', true), + a: ampmGetter, + Z: timeZoneGetter +}; + +var DATE_FORMATS_SPLIT = /((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/, + NUMBER_STRING = /^\d+$/; + +/** + * @ngdoc filter + * @name ng.filter:date + * @function + * + * @description + * Formats `date` to a string based on the requested `format`. + * + * `format` string can be composed of the following elements: + * + * * `'yyyy'`: 4 digit representation of year (e.g. AD 1 => 0001, AD 2010 => 2010) + * * `'yy'`: 2 digit representation of year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10) + * * `'y'`: 1 digit representation of year, e.g. (AD 1 => 1, AD 199 => 199) + * * `'MMMM'`: Month in year (January-December) + * * `'MMM'`: Month in year (Jan-Dec) + * * `'MM'`: Month in year, padded (01-12) + * * `'M'`: Month in year (1-12) + * * `'dd'`: Day in month, padded (01-31) + * * `'d'`: Day in month (1-31) + * * `'EEEE'`: Day in Week,(Sunday-Saturday) + * * `'EEE'`: Day in Week, (Sun-Sat) + * * `'HH'`: Hour in day, padded (00-23) + * * `'H'`: Hour in day (0-23) + * * `'hh'`: Hour in am/pm, padded (01-12) + * * `'h'`: Hour in am/pm, (1-12) + * * `'mm'`: Minute in hour, padded (00-59) + * * `'m'`: Minute in hour (0-59) + * * `'ss'`: Second in minute, padded (00-59) + * * `'s'`: Second in minute (0-59) + * * `'.sss' or ',sss'`: Millisecond in second, padded (000-999) + * * `'a'`: am/pm marker + * * `'Z'`: 4 digit (+sign) representation of the timezone offset (-1200-+1200) + * + * `format` string can also be one of the following predefined + * {@link guide/i18n localizable formats}: + * + * * `'medium'`: equivalent to `'MMM d, y h:mm:ss a'` for en_US locale + * (e.g. Sep 3, 2010 12:05:08 pm) + * * `'short'`: equivalent to `'M/d/yy h:mm a'` for en_US locale (e.g. 9/3/10 12:05 pm) + * * `'fullDate'`: equivalent to `'EEEE, MMMM d,y'` for en_US locale + * (e.g. Friday, September 3, 2010) + * * `'longDate'`: equivalent to `'MMMM d, y'` for en_US locale (e.g. September 3, 2010 + * * `'mediumDate'`: equivalent to `'MMM d, y'` for en_US locale (e.g. Sep 3, 2010) + * * `'shortDate'`: equivalent to `'M/d/yy'` for en_US locale (e.g. 9/3/10) + * * `'mediumTime'`: equivalent to `'h:mm:ss a'` for en_US locale (e.g. 12:05:08 pm) + * * `'shortTime'`: equivalent to `'h:mm a'` for en_US locale (e.g. 12:05 pm) + * + * `format` string can contain literal values. These need to be quoted with single quotes (e.g. + * `"h 'in the morning'"`). In order to output single quote, use two single quotes in a sequence + * (e.g. `"h o''clock"`). + * + * @param {(Date|number|string)} date Date to format either as Date object, milliseconds (string or + * number) or various ISO 8601 datetime string formats (e.g. yyyy-MM-ddTHH:mm:ss.SSSZ and its + * shorter versions like yyyy-MM-ddTHH:mmZ, yyyy-MM-dd or yyyyMMddTHHmmssZ). If no timezone is + * specified in the string input, the time is considered to be in the local timezone. + * @param {string=} format Formatting rules (see Description). If not specified, + * `mediumDate` is used. + * @returns {string} Formatted string or the input if input is not recognized as date/millis. + * + * @example + + + {{1288323623006 | date:'medium'}}: + {{1288323623006 | date:'medium'}}
+ {{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}: + {{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}
+ {{1288323623006 | date:'MM/dd/yyyy @ h:mma'}}: + {{'1288323623006' | date:'MM/dd/yyyy @ h:mma'}}
+
+ + it('should format date', function() { + expect(binding("1288323623006 | date:'medium'")). + toMatch(/Oct 2\d, 2010 \d{1,2}:\d{2}:\d{2} (AM|PM)/); + expect(binding("1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'")). + toMatch(/2010\-10\-2\d \d{2}:\d{2}:\d{2} (\-|\+)?\d{4}/); + expect(binding("'1288323623006' | date:'MM/dd/yyyy @ h:mma'")). + toMatch(/10\/2\d\/2010 @ \d{1,2}:\d{2}(AM|PM)/); + }); + +
+ */ +dateFilter.$inject = ['$locale']; +function dateFilter($locale) { + + + var R_ISO8601_STR = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/; + // 1 2 3 4 5 6 7 8 9 10 11 + function jsonStringToDate(string) { + var match; + if (match = string.match(R_ISO8601_STR)) { + var date = new Date(0), + tzHour = 0, + tzMin = 0, + dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear, + timeSetter = match[8] ? date.setUTCHours : date.setHours; + + if (match[9]) { + tzHour = int(match[9] + match[10]); + tzMin = int(match[9] + match[11]); + } + dateSetter.call(date, int(match[1]), int(match[2]) - 1, int(match[3])); + var h = int(match[4]||0) - tzHour; + var m = int(match[5]||0) - tzMin + var s = int(match[6]||0); + var ms = Math.round(parseFloat('0.' + (match[7]||0)) * 1000); + timeSetter.call(date, h, m, s, ms); + return date; + } + return string; + } + + + return function(date, format) { + var text = '', + parts = [], + fn, match; + + format = format || 'mediumDate'; + format = $locale.DATETIME_FORMATS[format] || format; + if (isString(date)) { + if (NUMBER_STRING.test(date)) { + date = int(date); + } else { + date = jsonStringToDate(date); + } + } + + if (isNumber(date)) { + date = new Date(date); + } + + if (!isDate(date)) { + return date; + } + + while(format) { + match = DATE_FORMATS_SPLIT.exec(format); + if (match) { + parts = concat(parts, match, 1); + format = parts.pop(); + } else { + parts.push(format); + format = null; + } + } + + forEach(parts, function(value){ + fn = DATE_FORMATS[value]; + text += fn ? fn(date, $locale.DATETIME_FORMATS) + : value.replace(/(^'|'$)/g, '').replace(/''/g, "'"); + }); + + return text; + }; +} + + +/** + * @ngdoc filter + * @name ng.filter:json + * @function + * + * @description + * Allows you to convert a JavaScript object into JSON string. + * + * This filter is mostly useful for debugging. When using the double curly {{value}} notation + * the binding is automatically converted to JSON. + * + * @param {*} object Any JavaScript object (including arrays and primitive types) to filter. + * @returns {string} JSON string. + * + * + * @example: + + +
{{ {'name':'value'} | json }}
+
+ + it('should jsonify filtered objects', function() { + expect(binding("{'name':'value'}")).toMatch(/\{\n "name": ?"value"\n}/); + }); + +
+ * + */ +function jsonFilter() { + return function(object) { + return toJson(object, true); + }; +} + + +/** + * @ngdoc filter + * @name ng.filter:lowercase + * @function + * @description + * Converts string to lowercase. + * @see angular.lowercase + */ +var lowercaseFilter = valueFn(lowercase); + + +/** + * @ngdoc filter + * @name ng.filter:uppercase + * @function + * @description + * Converts string to uppercase. + * @see angular.uppercase + */ +var uppercaseFilter = valueFn(uppercase); + +/** + * @ngdoc function + * @name ng.filter:limitTo + * @function + * + * @description + * Creates a new array or string containing only a specified number of elements. The elements + * are taken from either the beginning or the end of the source array or string, as specified by + * the value and sign (positive or negative) of `limit`. + * + * Note: This function is used to augment the `Array` type in Angular expressions. See + * {@link ng.$filter} for more information about Angular arrays. + * + * @param {Array|string} input Source array or string to be limited. + * @param {string|number} limit The length of the returned array or string. If the `limit` number + * is positive, `limit` number of items from the beginning of the source array/string are copied. + * If the number is negative, `limit` number of items from the end of the source array/string + * are copied. The `limit` will be trimmed if it exceeds `array.length` + * @returns {Array|string} A new sub-array or substring of length `limit` or less if input array + * had less than `limit` elements. + * + * @example + + + +
+ Limit {{numbers}} to: +

Output numbers: {{ numbers | limitTo:numLimit }}

+ Limit {{letters}} to: +

Output letters: {{ letters | limitTo:letterLimit }}

+
+
+ + it('should limit the number array to first three items', function() { + expect(element('.doc-example-live input[ng-model=numLimit]').val()).toBe('3'); + expect(element('.doc-example-live input[ng-model=letterLimit]').val()).toBe('3'); + expect(binding('numbers | limitTo:numLimit')).toEqual('[1,2,3]'); + expect(binding('letters | limitTo:letterLimit')).toEqual('abc'); + }); + + it('should update the output when -3 is entered', function() { + input('numLimit').enter(-3); + input('letterLimit').enter(-3); + expect(binding('numbers | limitTo:numLimit')).toEqual('[7,8,9]'); + expect(binding('letters | limitTo:letterLimit')).toEqual('ghi'); + }); + + it('should not exceed the maximum size of input array', function() { + input('numLimit').enter(100); + input('letterLimit').enter(100); + expect(binding('numbers | limitTo:numLimit')).toEqual('[1,2,3,4,5,6,7,8,9]'); + expect(binding('letters | limitTo:letterLimit')).toEqual('abcdefghi'); + }); + +
+ */ +function limitToFilter(){ + return function(input, limit) { + if (!isArray(input) && !isString(input)) return input; + + limit = int(limit); + + if (isString(input)) { + //NaN check on limit + if (limit) { + return limit >= 0 ? input.slice(0, limit) : input.slice(limit, input.length); + } else { + return ""; + } + } + + var out = [], + i, n; + + // if abs(limit) exceeds maximum length, trim it + if (limit > input.length) + limit = input.length; + else if (limit < -input.length) + limit = -input.length; + + if (limit > 0) { + i = 0; + n = limit; + } else { + i = input.length + limit; + n = input.length; + } + + for (; i} expression A predicate to be + * used by the comparator to determine the order of elements. + * + * Can be one of: + * + * - `function`: Getter function. The result of this function will be sorted using the + * `<`, `=`, `>` operator. + * - `string`: An Angular expression which evaluates to an object to order by, such as 'name' + * to sort by a property called 'name'. Optionally prefixed with `+` or `-` to control + * ascending or descending sort order (for example, +name or -name). + * - `Array`: An array of function or string predicates. The first predicate in the array + * is used for sorting, but when two items are equivalent, the next predicate is used. + * + * @param {boolean=} reverse Reverse the order the array. + * @returns {Array} Sorted copy of the source array. + * + * @example + + + +
+
Sorting predicate = {{predicate}}; reverse = {{reverse}}
+
+ [ unsorted ] + + + + + + + + + + + +
Name + (^)Phone NumberAge
{{friend.name}}{{friend.phone}}{{friend.age}}
+
+
+ + it('should be reverse ordered by aged', function() { + expect(binding('predicate')).toBe('-age'); + expect(repeater('table.friend', 'friend in friends').column('friend.age')). + toEqual(['35', '29', '21', '19', '10']); + expect(repeater('table.friend', 'friend in friends').column('friend.name')). + toEqual(['Adam', 'Julie', 'Mike', 'Mary', 'John']); + }); + + it('should reorder the table when user selects different predicate', function() { + element('.doc-example-live a:contains("Name")').click(); + expect(repeater('table.friend', 'friend in friends').column('friend.name')). + toEqual(['Adam', 'John', 'Julie', 'Mary', 'Mike']); + expect(repeater('table.friend', 'friend in friends').column('friend.age')). + toEqual(['35', '10', '29', '19', '21']); + + element('.doc-example-live a:contains("Phone")').click(); + expect(repeater('table.friend', 'friend in friends').column('friend.phone')). + toEqual(['555-9876', '555-8765', '555-5678', '555-4321', '555-1212']); + expect(repeater('table.friend', 'friend in friends').column('friend.name')). + toEqual(['Mary', 'Julie', 'Adam', 'Mike', 'John']); + }); + +
+ */ +orderByFilter.$inject = ['$parse']; +function orderByFilter($parse){ + return function(array, sortPredicate, reverseOrder) { + if (!isArray(array)) return array; + if (!sortPredicate) return array; + sortPredicate = isArray(sortPredicate) ? sortPredicate: [sortPredicate]; + sortPredicate = map(sortPredicate, function(predicate){ + var descending = false, get = predicate || identity; + if (isString(predicate)) { + if ((predicate.charAt(0) == '+' || predicate.charAt(0) == '-')) { + descending = predicate.charAt(0) == '-'; + predicate = predicate.substring(1); + } + get = $parse(predicate); + } + return reverseComparator(function(a,b){ + return compare(get(a),get(b)); + }, descending); + }); + var arrayCopy = []; + for ( var i = 0; i < array.length; i++) { arrayCopy.push(array[i]); } + return arrayCopy.sort(reverseComparator(comparator, reverseOrder)); + + function comparator(o1, o2){ + for ( var i = 0; i < sortPredicate.length; i++) { + var comp = sortPredicate[i](o1, o2); + if (comp !== 0) return comp; + } + return 0; + } + function reverseComparator(comp, descending) { + return toBoolean(descending) + ? function(a,b){return comp(b,a);} + : comp; + } + function compare(v1, v2){ + var t1 = typeof v1; + var t2 = typeof v2; + if (t1 == t2) { + if (t1 == "string") v1 = v1.toLowerCase(); + if (t1 == "string") v2 = v2.toLowerCase(); + if (v1 === v2) return 0; + return v1 < v2 ? -1 : 1; + } else { + return t1 < t2 ? -1 : 1; + } + } + } +} + +function ngDirective(directive) { + if (isFunction(directive)) { + directive = { + link: directive + } + } + directive.restrict = directive.restrict || 'AC'; + return valueFn(directive); +} + +/** + * @ngdoc directive + * @name ng.directive:a + * @restrict E + * + * @description + * Modifies the default behavior of html A tag, so that the default action is prevented when href + * attribute is empty. + * + * The reasoning for this change is to allow easy creation of action links with `ngClick` directive + * without changing the location or causing page reloads, e.g.: + * `Save` + */ +var htmlAnchorDirective = valueFn({ + restrict: 'E', + compile: function(element, attr) { + + if (msie <= 8) { + + // turn link into a stylable link in IE + // but only if it doesn't have name attribute, in which case it's an anchor + if (!attr.href && !attr.name) { + attr.$set('href', ''); + } + + // add a comment node to anchors to workaround IE bug that causes element content to be reset + // to new attribute content if attribute is updated with value containing @ and element also + // contains value with @ + // see issue #1949 + element.append(document.createComment('IE fix')); + } + + return function(scope, element) { + element.bind('click', function(event){ + // if we have no href url, then don't navigate anywhere. + if (!element.attr('href')) { + event.preventDefault(); + } + }); + } + } +}); + +/** + * @ngdoc directive + * @name ng.directive:ngHref + * @restrict A + * + * @description + * Using Angular markup like {{hash}} in an href attribute makes + * the page open to a wrong URL, if the user clicks that link before + * angular has a chance to replace the {{hash}} with actual URL, the + * link will be broken and will most likely return a 404 error. + * The `ngHref` directive solves this problem. + * + * The buggy way to write it: + *
+ * 
+ * 
+ * + * The correct way to write it: + *
+ * 
+ * 
+ * + * @element A + * @param {template} ngHref any string which can contain `{{}}` markup. + * + * @example + * This example uses `link` variable inside `href` attribute: + + +
+
link 1 (link, don't reload)
+ link 2 (link, don't reload)
+ link 3 (link, reload!)
+ anchor (link, don't reload)
+ anchor (no link)
+ link (link, change location) + + + it('should execute ng-click but not reload when href without value', function() { + element('#link-1').click(); + expect(input('value').val()).toEqual('1'); + expect(element('#link-1').attr('href')).toBe(""); + }); + + it('should execute ng-click but not reload when href empty string', function() { + element('#link-2').click(); + expect(input('value').val()).toEqual('2'); + expect(element('#link-2').attr('href')).toBe(""); + }); + + it('should execute ng-click and change url when ng-href specified', function() { + expect(element('#link-3').attr('href')).toBe("/123"); + + element('#link-3').click(); + expect(browser().window().path()).toEqual('/123'); + }); + + it('should execute ng-click but not reload when href empty string and name specified', function() { + element('#link-4').click(); + expect(input('value').val()).toEqual('4'); + expect(element('#link-4').attr('href')).toBe(''); + }); + + it('should execute ng-click but not reload when no href but name specified', function() { + element('#link-5').click(); + expect(input('value').val()).toEqual('5'); + expect(element('#link-5').attr('href')).toBe(undefined); + }); + + it('should only change url when only ng-href', function() { + input('value').enter('6'); + expect(element('#link-6').attr('href')).toBe('6'); + + element('#link-6').click(); + expect(browser().location().url()).toEqual('/6'); + }); + + + */ + +/** + * @ngdoc directive + * @name ng.directive:ngSrc + * @restrict A + * + * @description + * Using Angular markup like `{{hash}}` in a `src` attribute doesn't + * work right: The browser will fetch from the URL with the literal + * text `{{hash}}` until Angular replaces the expression inside + * `{{hash}}`. The `ngSrc` directive solves this problem. + * + * The buggy way to write it: + *
+ * 
+ * 
+ * + * The correct way to write it: + *
+ * 
+ * 
+ * + * @element IMG + * @param {template} ngSrc any string which can contain `{{}}` markup. + */ + +/** + * @ngdoc directive + * @name ng.directive:ngSrcset + * @restrict A + * + * @description + * Using Angular markup like `{{hash}}` in a `srcset` attribute doesn't + * work right: The browser will fetch from the URL with the literal + * text `{{hash}}` until Angular replaces the expression inside + * `{{hash}}`. The `ngSrcset` directive solves this problem. + * + * The buggy way to write it: + *
+ * 
+ * 
+ * + * The correct way to write it: + *
+ * 
+ * 
+ * + * @element IMG + * @param {template} ngSrcset any string which can contain `{{}}` markup. + */ + +/** + * @ngdoc directive + * @name ng.directive:ngDisabled + * @restrict A + * + * @description + * + * The following markup will make the button enabled on Chrome/Firefox but not on IE8 and older IEs: + *
+ * 
+ * + *
+ *
+ * + * The HTML specs do not require browsers to preserve the special attributes such as disabled. + * (The presence of them means true and absence means false) + * This prevents the angular compiler from correctly retrieving the binding expression. + * To solve this problem, we introduce the `ngDisabled` directive. + * + * @example + + + Click me to toggle:
+ +
+ + it('should toggle button', function() { + expect(element('.doc-example-live :button').prop('disabled')).toBeFalsy(); + input('checked').check(); + expect(element('.doc-example-live :button').prop('disabled')).toBeTruthy(); + }); + +
+ * + * @element INPUT + * @param {expression} ngDisabled Angular expression that will be evaluated. + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngChecked + * @restrict A + * + * @description + * The HTML specs do not require browsers to preserve the special attributes such as checked. + * (The presence of them means true and absence means false) + * This prevents the angular compiler from correctly retrieving the binding expression. + * To solve this problem, we introduce the `ngChecked` directive. + * @example + + + Check me to check both:
+ +
+ + it('should check both checkBoxes', function() { + expect(element('.doc-example-live #checkSlave').prop('checked')).toBeFalsy(); + input('master').check(); + expect(element('.doc-example-live #checkSlave').prop('checked')).toBeTruthy(); + }); + +
+ * + * @element INPUT + * @param {expression} ngChecked Angular expression that will be evaluated. + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngMultiple + * @restrict A + * + * @description + * The HTML specs do not require browsers to preserve the special attributes such as multiple. + * (The presence of them means true and absence means false) + * This prevents the angular compiler from correctly retrieving the binding expression. + * To solve this problem, we introduce the `ngMultiple` directive. + * + * @example + + + Check me check multiple:
+ +
+ + it('should toggle multiple', function() { + expect(element('.doc-example-live #select').prop('multiple')).toBeFalsy(); + input('checked').check(); + expect(element('.doc-example-live #select').prop('multiple')).toBeTruthy(); + }); + +
+ * + * @element SELECT + * @param {expression} ngMultiple Angular expression that will be evaluated. + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngReadonly + * @restrict A + * + * @description + * The HTML specs do not require browsers to preserve the special attributes such as readonly. + * (The presence of them means true and absence means false) + * This prevents the angular compiler from correctly retrieving the binding expression. + * To solve this problem, we introduce the `ngReadonly` directive. + * @example + + + Check me to make text readonly:
+ +
+ + it('should toggle readonly attr', function() { + expect(element('.doc-example-live :text').prop('readonly')).toBeFalsy(); + input('checked').check(); + expect(element('.doc-example-live :text').prop('readonly')).toBeTruthy(); + }); + +
+ * + * @element INPUT + * @param {string} expression Angular expression that will be evaluated. + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngSelected + * @restrict A + * + * @description + * The HTML specs do not require browsers to preserve the special attributes such as selected. + * (The presence of them means true and absence means false) + * This prevents the angular compiler from correctly retrieving the binding expression. + * To solve this problem, we introduced the `ngSelected` directive. + * @example + + + Check me to select:
+ +
+ + it('should select Greetings!', function() { + expect(element('.doc-example-live #greet').prop('selected')).toBeFalsy(); + input('selected').check(); + expect(element('.doc-example-live #greet').prop('selected')).toBeTruthy(); + }); + +
+ * + * @element OPTION + * @param {string} expression Angular expression that will be evaluated. + */ + +/** + * @ngdoc directive + * @name ng.directive:ngOpen + * @restrict A + * + * @description + * The HTML specs do not require browsers to preserve the special attributes such as open. + * (The presence of them means true and absence means false) + * This prevents the angular compiler from correctly retrieving the binding expression. + * To solve this problem, we introduce the `ngOpen` directive. + * + * @example + + + Check me check multiple:
+
+ Show/Hide me +
+
+ + it('should toggle open', function() { + expect(element('#details').prop('open')).toBeFalsy(); + input('open').check(); + expect(element('#details').prop('open')).toBeTruthy(); + }); + +
+ * + * @element DETAILS + * @param {string} expression Angular expression that will be evaluated. + */ + +var ngAttributeAliasDirectives = {}; + + +// boolean attrs are evaluated +forEach(BOOLEAN_ATTR, function(propName, attrName) { + var normalized = directiveNormalize('ng-' + attrName); + ngAttributeAliasDirectives[normalized] = function() { + return { + priority: 100, + compile: function() { + return function(scope, element, attr) { + scope.$watch(attr[normalized], function ngBooleanAttrWatchAction(value) { + attr.$set(attrName, !!value); + }); + }; + } + }; + }; +}); + + +// ng-src, ng-srcset, ng-href are interpolated +forEach(['src', 'srcset', 'href'], function(attrName) { + var normalized = directiveNormalize('ng-' + attrName); + ngAttributeAliasDirectives[normalized] = function() { + return { + priority: 99, // it needs to run after the attributes are interpolated + link: function(scope, element, attr) { + attr.$observe(normalized, function(value) { + if (!value) + return; + + attr.$set(attrName, value); + + // on IE, if "ng:src" directive declaration is used and "src" attribute doesn't exist + // then calling element.setAttribute('src', 'foo') doesn't do anything, so we need + // to set the property as well to achieve the desired effect. + // we use attr[attrName] value since $set can sanitize the url. + if (msie) element.prop(attrName, attr[attrName]); + }); + } + }; + }; +}); + +var nullFormCtrl = { + $addControl: noop, + $removeControl: noop, + $setValidity: noop, + $setDirty: noop, + $setPristine: noop +}; + +/** + * @ngdoc object + * @name ng.directive:form.FormController + * + * @property {boolean} $pristine True if user has not interacted with the form yet. + * @property {boolean} $dirty True if user has already interacted with the form. + * @property {boolean} $valid True if all of the containing forms and controls are valid. + * @property {boolean} $invalid True if at least one containing control or form is invalid. + * + * @property {Object} $error Is an object hash, containing references to all invalid controls or + * forms, where: + * + * - keys are validation tokens (error names) — such as `required`, `url` or `email`), + * - values are arrays of controls or forms that are invalid with given error. + * + * @description + * `FormController` keeps track of all its controls and nested forms as well as state of them, + * such as being valid/invalid or dirty/pristine. + * + * Each {@link ng.directive:form form} directive creates an instance + * of `FormController`. + * + */ +//asks for $scope to fool the BC controller module +FormController.$inject = ['$element', '$attrs', '$scope']; +function FormController(element, attrs) { + var form = this, + parentForm = element.parent().controller('form') || nullFormCtrl, + invalidCount = 0, // used to easily determine if we are valid + errors = form.$error = {}, + controls = []; + + // init state + form.$name = attrs.name; + form.$dirty = false; + form.$pristine = true; + form.$valid = true; + form.$invalid = false; + + parentForm.$addControl(form); + + // Setup initial state of the control + element.addClass(PRISTINE_CLASS); + toggleValidCss(true); + + // convenience method for easy toggling of classes + function toggleValidCss(isValid, validationErrorKey) { + validationErrorKey = validationErrorKey ? '-' + snake_case(validationErrorKey, '-') : ''; + element. + removeClass((isValid ? INVALID_CLASS : VALID_CLASS) + validationErrorKey). + addClass((isValid ? VALID_CLASS : INVALID_CLASS) + validationErrorKey); + } + + form.$addControl = function(control) { + controls.push(control); + + if (control.$name && !form.hasOwnProperty(control.$name)) { + form[control.$name] = control; + } + }; + + form.$removeControl = function(control) { + if (control.$name && form[control.$name] === control) { + delete form[control.$name]; + } + forEach(errors, function(queue, validationToken) { + form.$setValidity(validationToken, true, control); + }); + + arrayRemove(controls, control); + }; + + form.$setValidity = function(validationToken, isValid, control) { + var queue = errors[validationToken]; + + if (isValid) { + if (queue) { + arrayRemove(queue, control); + if (!queue.length) { + invalidCount--; + if (!invalidCount) { + toggleValidCss(isValid); + form.$valid = true; + form.$invalid = false; + } + errors[validationToken] = false; + toggleValidCss(true, validationToken); + parentForm.$setValidity(validationToken, true, form); + } + } + + } else { + if (!invalidCount) { + toggleValidCss(isValid); + } + if (queue) { + if (includes(queue, control)) return; + } else { + errors[validationToken] = queue = []; + invalidCount++; + toggleValidCss(false, validationToken); + parentForm.$setValidity(validationToken, false, form); + } + queue.push(control); + + form.$valid = false; + form.$invalid = true; + } + }; + + form.$setDirty = function() { + element.removeClass(PRISTINE_CLASS).addClass(DIRTY_CLASS); + form.$dirty = true; + form.$pristine = false; + parentForm.$setDirty(); + }; + + /** + * @ngdoc function + * @name ng.directive:form.FormController#$setPristine + * @methodOf ng.directive:form.FormController + * + * @description + * Sets the form to its pristine state. + * + * This method can be called to remove the 'ng-dirty' class and set the form to its pristine + * state (ng-pristine class). This method will also propagate to all the controls contained + * in this form. + * + * Setting a form back to a pristine state is often useful when we want to 'reuse' a form after + * saving or resetting it. + */ + form.$setPristine = function () { + element.removeClass(DIRTY_CLASS).addClass(PRISTINE_CLASS); + form.$dirty = false; + form.$pristine = true; + forEach(controls, function(control) { + control.$setPristine(); + }); + }; +} + + +/** + * @ngdoc directive + * @name ng.directive:ngForm + * @restrict EAC + * + * @description + * Nestable alias of {@link ng.directive:form `form`} directive. HTML + * does not allow nesting of form elements. It is useful to nest forms, for example if the validity of a + * sub-group of controls needs to be determined. + * + * @param {string=} name|ngForm Name of the form. If specified, the form controller will be published into + * related scope, under this name. + * + */ + + /** + * @ngdoc directive + * @name ng.directive:form + * @restrict E + * + * @description + * Directive that instantiates + * {@link ng.directive:form.FormController FormController}. + * + * If `name` attribute is specified, the form controller is published onto the current scope under + * this name. + * + * # Alias: {@link ng.directive:ngForm `ngForm`} + * + * In angular forms can be nested. This means that the outer form is valid when all of the child + * forms are valid as well. However browsers do not allow nesting of `
` elements, for this + * reason angular provides {@link ng.directive:ngForm `ngForm`} alias + * which behaves identical to `` but allows form nesting. + * + * + * # CSS classes + * - `ng-valid` Is set if the form is valid. + * - `ng-invalid` Is set if the form is invalid. + * - `ng-pristine` Is set if the form is pristine. + * - `ng-dirty` Is set if the form is dirty. + * + * + * # Submitting a form and preventing default action + * + * Since the role of forms in client-side Angular applications is different than in classical + * roundtrip apps, it is desirable for the browser not to translate the form submission into a full + * page reload that sends the data to the server. Instead some javascript logic should be triggered + * to handle the form submission in application specific way. + * + * For this reason, Angular prevents the default action (form submission to the server) unless the + * `` element has an `action` attribute specified. + * + * You can use one of the following two ways to specify what javascript method should be called when + * a form is submitted: + * + * - {@link ng.directive:ngSubmit ngSubmit} directive on the form element + * - {@link ng.directive:ngClick ngClick} directive on the first + * button or input field of type submit (input[type=submit]) + * + * To prevent double execution of the handler, use only one of ngSubmit or ngClick directives. This + * is because of the following form submission rules coming from the html spec: + * + * - If a form has only one input field then hitting enter in this field triggers form submit + * (`ngSubmit`) + * - if a form has has 2+ input fields and no buttons or input[type=submit] then hitting enter + * doesn't trigger submit + * - if a form has one or more input fields and one or more buttons or input[type=submit] then + * hitting enter in any of the input fields will trigger the click handler on the *first* button or + * input[type=submit] (`ngClick`) *and* a submit handler on the enclosing form (`ngSubmit`) + * + * @param {string=} name Name of the form. If specified, the form controller will be published into + * related scope, under this name. + * + * @example + + + + + userType: + Required!
+ userType = {{userType}}
+ myForm.input.$valid = {{myForm.input.$valid}}
+ myForm.input.$error = {{myForm.input.$error}}
+ myForm.$valid = {{myForm.$valid}}
+ myForm.$error.required = {{!!myForm.$error.required}}
+ +
+ + it('should initialize to model', function() { + expect(binding('userType')).toEqual('guest'); + expect(binding('myForm.input.$valid')).toEqual('true'); + }); + + it('should be invalid if empty', function() { + input('userType').enter(''); + expect(binding('userType')).toEqual(''); + expect(binding('myForm.input.$valid')).toEqual('false'); + }); + +
+ */ +var formDirectiveFactory = function(isNgForm) { + return ['$timeout', function($timeout) { + var formDirective = { + name: 'form', + restrict: 'E', + controller: FormController, + compile: function() { + return { + pre: function(scope, formElement, attr, controller) { + if (!attr.action) { + // we can't use jq events because if a form is destroyed during submission the default + // action is not prevented. see #1238 + // + // IE 9 is not affected because it doesn't fire a submit event and try to do a full + // page reload if the form was destroyed by submission of the form via a click handler + // on a button in the form. Looks like an IE9 specific bug. + var preventDefaultListener = function(event) { + event.preventDefault + ? event.preventDefault() + : event.returnValue = false; // IE + }; + + addEventListenerFn(formElement[0], 'submit', preventDefaultListener); + + // unregister the preventDefault listener so that we don't not leak memory but in a + // way that will achieve the prevention of the default action. + formElement.bind('$destroy', function() { + $timeout(function() { + removeEventListenerFn(formElement[0], 'submit', preventDefaultListener); + }, 0, false); + }); + } + + var parentFormCtrl = formElement.parent().controller('form'), + alias = attr.name || attr.ngForm; + + if (alias) { + scope[alias] = controller; + } + if (parentFormCtrl) { + formElement.bind('$destroy', function() { + parentFormCtrl.$removeControl(controller); + if (alias) { + scope[alias] = undefined; + } + extend(controller, nullFormCtrl); //stop propagating child destruction handlers upwards + }); + } + } + }; + } + }; + + return isNgForm ? extend(copy(formDirective), {restrict: 'EAC'}) : formDirective; + }]; +}; + +var formDirective = formDirectiveFactory(); +var ngFormDirective = formDirectiveFactory(true); + +var URL_REGEXP = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/; +var EMAIL_REGEXP = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/; +var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/; + +var inputType = { + + /** + * @ngdoc inputType + * @name ng.directive:input.text + * + * @description + * Standard HTML text input with angular data binding. + * + * @param {string} ngModel Assignable angular expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} required Adds `required` validation error key if the value is not entered. + * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to + * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of + * `required` when you want to data-bind to the `required` attribute. + * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than + * minlength. + * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than + * maxlength. + * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the + * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for + * patterns defined as scope expressions. + * @param {string=} ngChange Angular expression to be executed when input changes due to user + * interaction with the input element. + * @param {boolean=} [ngTrim=true] If set to false Angular will not automatically trimming the + * input. + * + * @example + + + +
+ Single word: + + Required! + + Single word only! + + text = {{text}}
+ myForm.input.$valid = {{myForm.input.$valid}}
+ myForm.input.$error = {{myForm.input.$error}}
+ myForm.$valid = {{myForm.$valid}}
+ myForm.$error.required = {{!!myForm.$error.required}}
+
+
+ + it('should initialize to model', function() { + expect(binding('text')).toEqual('guest'); + expect(binding('myForm.input.$valid')).toEqual('true'); + }); + + it('should be invalid if empty', function() { + input('text').enter(''); + expect(binding('text')).toEqual(''); + expect(binding('myForm.input.$valid')).toEqual('false'); + }); + + it('should be invalid if multi word', function() { + input('text').enter('hello world'); + expect(binding('myForm.input.$valid')).toEqual('false'); + }); + + it('should not be trimmed', function() { + input('text').enter('untrimmed '); + expect(binding('text')).toEqual('untrimmed '); + expect(binding('myForm.input.$valid')).toEqual('true'); + }); + +
+ */ + 'text': textInputType, + + + /** + * @ngdoc inputType + * @name ng.directive:input.number + * + * @description + * Text input with number validation and transformation. Sets the `number` validation + * error if not a valid number. + * + * @param {string} ngModel Assignable angular expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} min Sets the `min` validation error key if the value entered is less than `min`. + * @param {string=} max Sets the `max` validation error key if the value entered is greater than `max`. + * @param {string=} required Sets `required` validation error key if the value is not entered. + * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to + * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of + * `required` when you want to data-bind to the `required` attribute. + * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than + * minlength. + * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than + * maxlength. + * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the + * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for + * patterns defined as scope expressions. + * @param {string=} ngChange Angular expression to be executed when input changes due to user + * interaction with the input element. + * + * @example + + + +
+ Number: + + Required! + + Not valid number! + value = {{value}}
+ myForm.input.$valid = {{myForm.input.$valid}}
+ myForm.input.$error = {{myForm.input.$error}}
+ myForm.$valid = {{myForm.$valid}}
+ myForm.$error.required = {{!!myForm.$error.required}}
+
+
+ + it('should initialize to model', function() { + expect(binding('value')).toEqual('12'); + expect(binding('myForm.input.$valid')).toEqual('true'); + }); + + it('should be invalid if empty', function() { + input('value').enter(''); + expect(binding('value')).toEqual(''); + expect(binding('myForm.input.$valid')).toEqual('false'); + }); + + it('should be invalid if over max', function() { + input('value').enter('123'); + expect(binding('value')).toEqual(''); + expect(binding('myForm.input.$valid')).toEqual('false'); + }); + +
+ */ + 'number': numberInputType, + + + /** + * @ngdoc inputType + * @name ng.directive:input.url + * + * @description + * Text input with URL validation. Sets the `url` validation error key if the content is not a + * valid URL. + * + * @param {string} ngModel Assignable angular expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} required Sets `required` validation error key if the value is not entered. + * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to + * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of + * `required` when you want to data-bind to the `required` attribute. + * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than + * minlength. + * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than + * maxlength. + * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the + * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for + * patterns defined as scope expressions. + * @param {string=} ngChange Angular expression to be executed when input changes due to user + * interaction with the input element. + * + * @example + + + +
+ URL: + + Required! + + Not valid url! + text = {{text}}
+ myForm.input.$valid = {{myForm.input.$valid}}
+ myForm.input.$error = {{myForm.input.$error}}
+ myForm.$valid = {{myForm.$valid}}
+ myForm.$error.required = {{!!myForm.$error.required}}
+ myForm.$error.url = {{!!myForm.$error.url}}
+
+
+ + it('should initialize to model', function() { + expect(binding('text')).toEqual('http://google.com'); + expect(binding('myForm.input.$valid')).toEqual('true'); + }); + + it('should be invalid if empty', function() { + input('text').enter(''); + expect(binding('text')).toEqual(''); + expect(binding('myForm.input.$valid')).toEqual('false'); + }); + + it('should be invalid if not url', function() { + input('text').enter('xxx'); + expect(binding('myForm.input.$valid')).toEqual('false'); + }); + +
+ */ + 'url': urlInputType, + + + /** + * @ngdoc inputType + * @name ng.directive:input.email + * + * @description + * Text input with email validation. Sets the `email` validation error key if not a valid email + * address. + * + * @param {string} ngModel Assignable angular expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} required Sets `required` validation error key if the value is not entered. + * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to + * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of + * `required` when you want to data-bind to the `required` attribute. + * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than + * minlength. + * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than + * maxlength. + * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the + * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for + * patterns defined as scope expressions. + * + * @example + + + +
+ Email: + + Required! + + Not valid email! + text = {{text}}
+ myForm.input.$valid = {{myForm.input.$valid}}
+ myForm.input.$error = {{myForm.input.$error}}
+ myForm.$valid = {{myForm.$valid}}
+ myForm.$error.required = {{!!myForm.$error.required}}
+ myForm.$error.email = {{!!myForm.$error.email}}
+
+
+ + it('should initialize to model', function() { + expect(binding('text')).toEqual('me@example.com'); + expect(binding('myForm.input.$valid')).toEqual('true'); + }); + + it('should be invalid if empty', function() { + input('text').enter(''); + expect(binding('text')).toEqual(''); + expect(binding('myForm.input.$valid')).toEqual('false'); + }); + + it('should be invalid if not email', function() { + input('text').enter('xxx'); + expect(binding('myForm.input.$valid')).toEqual('false'); + }); + +
+ */ + 'email': emailInputType, + + + /** + * @ngdoc inputType + * @name ng.directive:input.radio + * + * @description + * HTML radio button. + * + * @param {string} ngModel Assignable angular expression to data-bind to. + * @param {string} value The value to which the expression should be set when selected. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} ngChange Angular expression to be executed when input changes due to user + * interaction with the input element. + * + * @example + + + +
+ Red
+ Green
+ Blue
+ color = {{color}}
+
+
+ + it('should change state', function() { + expect(binding('color')).toEqual('blue'); + + input('color').select('red'); + expect(binding('color')).toEqual('red'); + }); + +
+ */ + 'radio': radioInputType, + + + /** + * @ngdoc inputType + * @name ng.directive:input.checkbox + * + * @description + * HTML checkbox. + * + * @param {string} ngModel Assignable angular expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} ngTrueValue The value to which the expression should be set when selected. + * @param {string=} ngFalseValue The value to which the expression should be set when not selected. + * @param {string=} ngChange Angular expression to be executed when input changes due to user + * interaction with the input element. + * + * @example + + + +
+ Value1:
+ Value2:
+ value1 = {{value1}}
+ value2 = {{value2}}
+
+
+ + it('should change state', function() { + expect(binding('value1')).toEqual('true'); + expect(binding('value2')).toEqual('YES'); + + input('value1').check(); + input('value2').check(); + expect(binding('value1')).toEqual('false'); + expect(binding('value2')).toEqual('NO'); + }); + +
+ */ + 'checkbox': checkboxInputType, + + 'hidden': noop, + 'button': noop, + 'submit': noop, + 'reset': noop +}; + + +function isEmpty(value) { + return isUndefined(value) || value === '' || value === null || value !== value; +} + + +function textInputType(scope, element, attr, ctrl, $sniffer, $browser) { + + var listener = function() { + var value = element.val(); + + // By default we will trim the value + // If the attribute ng-trim exists we will avoid trimming + // e.g. + if (toBoolean(attr.ngTrim || 'T')) { + value = trim(value); + } + + if (ctrl.$viewValue !== value) { + scope.$apply(function() { + ctrl.$setViewValue(value); + }); + } + }; + + // if the browser does support "input" event, we are fine - except on IE9 which doesn't fire the + // input event on backspace, delete or cut + if ($sniffer.hasEvent('input')) { + element.bind('input', listener); + } else { + var timeout; + + var deferListener = function() { + if (!timeout) { + timeout = $browser.defer(function() { + listener(); + timeout = null; + }); + } + }; + + element.bind('keydown', function(event) { + var key = event.keyCode; + + // ignore + // command modifiers arrows + if (key === 91 || (15 < key && key < 19) || (37 <= key && key <= 40)) return; + + deferListener(); + }); + + // if user paste into input using mouse, we need "change" event to catch it + element.bind('change', listener); + + // if user modifies input value using context menu in IE, we need "paste" and "cut" events to catch it + if ($sniffer.hasEvent('paste')) { + element.bind('paste cut', deferListener); + } + } + + + ctrl.$render = function() { + element.val(isEmpty(ctrl.$viewValue) ? '' : ctrl.$viewValue); + }; + + // pattern validator + var pattern = attr.ngPattern, + patternValidator, + match; + + var validate = function(regexp, value) { + if (isEmpty(value) || regexp.test(value)) { + ctrl.$setValidity('pattern', true); + return value; + } else { + ctrl.$setValidity('pattern', false); + return undefined; + } + }; + + if (pattern) { + match = pattern.match(/^\/(.*)\/([gim]*)$/); + if (match) { + pattern = new RegExp(match[1], match[2]); + patternValidator = function(value) { + return validate(pattern, value) + }; + } else { + patternValidator = function(value) { + var patternObj = scope.$eval(pattern); + + if (!patternObj || !patternObj.test) { + throw new Error('Expected ' + pattern + ' to be a RegExp but was ' + patternObj); + } + return validate(patternObj, value); + }; + } + + ctrl.$formatters.push(patternValidator); + ctrl.$parsers.push(patternValidator); + } + + // min length validator + if (attr.ngMinlength) { + var minlength = int(attr.ngMinlength); + var minLengthValidator = function(value) { + if (!isEmpty(value) && value.length < minlength) { + ctrl.$setValidity('minlength', false); + return undefined; + } else { + ctrl.$setValidity('minlength', true); + return value; + } + }; + + ctrl.$parsers.push(minLengthValidator); + ctrl.$formatters.push(minLengthValidator); + } + + // max length validator + if (attr.ngMaxlength) { + var maxlength = int(attr.ngMaxlength); + var maxLengthValidator = function(value) { + if (!isEmpty(value) && value.length > maxlength) { + ctrl.$setValidity('maxlength', false); + return undefined; + } else { + ctrl.$setValidity('maxlength', true); + return value; + } + }; + + ctrl.$parsers.push(maxLengthValidator); + ctrl.$formatters.push(maxLengthValidator); + } +} + +function numberInputType(scope, element, attr, ctrl, $sniffer, $browser) { + textInputType(scope, element, attr, ctrl, $sniffer, $browser); + + ctrl.$parsers.push(function(value) { + var empty = isEmpty(value); + if (empty || NUMBER_REGEXP.test(value)) { + ctrl.$setValidity('number', true); + return value === '' ? null : (empty ? value : parseFloat(value)); + } else { + ctrl.$setValidity('number', false); + return undefined; + } + }); + + ctrl.$formatters.push(function(value) { + return isEmpty(value) ? '' : '' + value; + }); + + if (attr.min) { + var min = parseFloat(attr.min); + var minValidator = function(value) { + if (!isEmpty(value) && value < min) { + ctrl.$setValidity('min', false); + return undefined; + } else { + ctrl.$setValidity('min', true); + return value; + } + }; + + ctrl.$parsers.push(minValidator); + ctrl.$formatters.push(minValidator); + } + + if (attr.max) { + var max = parseFloat(attr.max); + var maxValidator = function(value) { + if (!isEmpty(value) && value > max) { + ctrl.$setValidity('max', false); + return undefined; + } else { + ctrl.$setValidity('max', true); + return value; + } + }; + + ctrl.$parsers.push(maxValidator); + ctrl.$formatters.push(maxValidator); + } + + ctrl.$formatters.push(function(value) { + + if (isEmpty(value) || isNumber(value)) { + ctrl.$setValidity('number', true); + return value; + } else { + ctrl.$setValidity('number', false); + return undefined; + } + }); +} + +function urlInputType(scope, element, attr, ctrl, $sniffer, $browser) { + textInputType(scope, element, attr, ctrl, $sniffer, $browser); + + var urlValidator = function(value) { + if (isEmpty(value) || URL_REGEXP.test(value)) { + ctrl.$setValidity('url', true); + return value; + } else { + ctrl.$setValidity('url', false); + return undefined; + } + }; + + ctrl.$formatters.push(urlValidator); + ctrl.$parsers.push(urlValidator); +} + +function emailInputType(scope, element, attr, ctrl, $sniffer, $browser) { + textInputType(scope, element, attr, ctrl, $sniffer, $browser); + + var emailValidator = function(value) { + if (isEmpty(value) || EMAIL_REGEXP.test(value)) { + ctrl.$setValidity('email', true); + return value; + } else { + ctrl.$setValidity('email', false); + return undefined; + } + }; + + ctrl.$formatters.push(emailValidator); + ctrl.$parsers.push(emailValidator); +} + +function radioInputType(scope, element, attr, ctrl) { + // make the name unique, if not defined + if (isUndefined(attr.name)) { + element.attr('name', nextUid()); + } + + element.bind('click', function() { + if (element[0].checked) { + scope.$apply(function() { + ctrl.$setViewValue(attr.value); + }); + } + }); + + ctrl.$render = function() { + var value = attr.value; + element[0].checked = (value == ctrl.$viewValue); + }; + + attr.$observe('value', ctrl.$render); +} + +function checkboxInputType(scope, element, attr, ctrl) { + var trueValue = attr.ngTrueValue, + falseValue = attr.ngFalseValue; + + if (!isString(trueValue)) trueValue = true; + if (!isString(falseValue)) falseValue = false; + + element.bind('click', function() { + scope.$apply(function() { + ctrl.$setViewValue(element[0].checked); + }); + }); + + ctrl.$render = function() { + element[0].checked = ctrl.$viewValue; + }; + + ctrl.$formatters.push(function(value) { + return value === trueValue; + }); + + ctrl.$parsers.push(function(value) { + return value ? trueValue : falseValue; + }); +} + + +/** + * @ngdoc directive + * @name ng.directive:textarea + * @restrict E + * + * @description + * HTML textarea element control with angular data-binding. The data-binding and validation + * properties of this element are exactly the same as those of the + * {@link ng.directive:input input element}. + * + * @param {string} ngModel Assignable angular expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} required Sets `required` validation error key if the value is not entered. + * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to + * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of + * `required` when you want to data-bind to the `required` attribute. + * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than + * minlength. + * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than + * maxlength. + * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the + * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for + * patterns defined as scope expressions. + * @param {string=} ngChange Angular expression to be executed when input changes due to user + * interaction with the input element. + */ + + +/** + * @ngdoc directive + * @name ng.directive:input + * @restrict E + * + * @description + * HTML input element control with angular data-binding. Input control follows HTML5 input types + * and polyfills the HTML5 validation behavior for older browsers. + * + * @param {string} ngModel Assignable angular expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} required Sets `required` validation error key if the value is not entered. + * @param {boolean=} ngRequired Sets `required` attribute if set to true + * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than + * minlength. + * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than + * maxlength. + * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the + * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for + * patterns defined as scope expressions. + * @param {string=} ngChange Angular expression to be executed when input changes due to user + * interaction with the input element. + * + * @example + + + +
+
+ User name: + + Required!
+ Last name: + + Too short! + + Too long!
+
+
+ user = {{user}}
+ myForm.userName.$valid = {{myForm.userName.$valid}}
+ myForm.userName.$error = {{myForm.userName.$error}}
+ myForm.lastName.$valid = {{myForm.lastName.$valid}}
+ myForm.lastName.$error = {{myForm.lastName.$error}}
+ myForm.$valid = {{myForm.$valid}}
+ myForm.$error.required = {{!!myForm.$error.required}}
+ myForm.$error.minlength = {{!!myForm.$error.minlength}}
+ myForm.$error.maxlength = {{!!myForm.$error.maxlength}}
+
+
+ + it('should initialize to model', function() { + expect(binding('user')).toEqual('{"name":"guest","last":"visitor"}'); + expect(binding('myForm.userName.$valid')).toEqual('true'); + expect(binding('myForm.$valid')).toEqual('true'); + }); + + it('should be invalid if empty when required', function() { + input('user.name').enter(''); + expect(binding('user')).toEqual('{"last":"visitor"}'); + expect(binding('myForm.userName.$valid')).toEqual('false'); + expect(binding('myForm.$valid')).toEqual('false'); + }); + + it('should be valid if empty when min length is set', function() { + input('user.last').enter(''); + expect(binding('user')).toEqual('{"name":"guest","last":""}'); + expect(binding('myForm.lastName.$valid')).toEqual('true'); + expect(binding('myForm.$valid')).toEqual('true'); + }); + + it('should be invalid if less than required min length', function() { + input('user.last').enter('xx'); + expect(binding('user')).toEqual('{"name":"guest"}'); + expect(binding('myForm.lastName.$valid')).toEqual('false'); + expect(binding('myForm.lastName.$error')).toMatch(/minlength/); + expect(binding('myForm.$valid')).toEqual('false'); + }); + + it('should be invalid if longer than max length', function() { + input('user.last').enter('some ridiculously long name'); + expect(binding('user')) + .toEqual('{"name":"guest"}'); + expect(binding('myForm.lastName.$valid')).toEqual('false'); + expect(binding('myForm.lastName.$error')).toMatch(/maxlength/); + expect(binding('myForm.$valid')).toEqual('false'); + }); + +
+ */ +var inputDirective = ['$browser', '$sniffer', function($browser, $sniffer) { + return { + restrict: 'E', + require: '?ngModel', + link: function(scope, element, attr, ctrl) { + if (ctrl) { + (inputType[lowercase(attr.type)] || inputType.text)(scope, element, attr, ctrl, $sniffer, + $browser); + } + } + }; +}]; + +var VALID_CLASS = 'ng-valid', + INVALID_CLASS = 'ng-invalid', + PRISTINE_CLASS = 'ng-pristine', + DIRTY_CLASS = 'ng-dirty'; + +/** + * @ngdoc object + * @name ng.directive:ngModel.NgModelController + * + * @property {string} $viewValue Actual string value in the view. + * @property {*} $modelValue The value in the model, that the control is bound to. + * @property {Array.} $parsers Whenever the control reads value from the DOM, it executes + * all of these functions to sanitize / convert the value as well as validate. + * + * @property {Array.} $formatters Whenever the model value changes, it executes all of + * these functions to convert the value as well as validate. + * + * @property {Object} $error An object hash with all errors as keys. + * + * @property {boolean} $pristine True if user has not interacted with the control yet. + * @property {boolean} $dirty True if user has already interacted with the control. + * @property {boolean} $valid True if there is no error. + * @property {boolean} $invalid True if at least one error on the control. + * + * @description + * + * `NgModelController` provides API for the `ng-model` directive. The controller contains + * services for data-binding, validation, CSS update, value formatting and parsing. It + * specifically does not contain any logic which deals with DOM rendering or listening to + * DOM events. The `NgModelController` is meant to be extended by other directives where, the + * directive provides DOM manipulation and the `NgModelController` provides the data-binding. + * + * This example shows how to use `NgModelController` with a custom control to achieve + * data-binding. Notice how different directives (`contenteditable`, `ng-model`, and `required`) + * collaborate together to achieve the desired result. + * + * + + [contenteditable] { + border: 1px solid black; + background-color: white; + min-height: 20px; + } + + .ng-invalid { + border: 1px solid red; + } + + + + angular.module('customControl', []). + directive('contenteditable', function() { + return { + restrict: 'A', // only activate on element attribute + require: '?ngModel', // get a hold of NgModelController + link: function(scope, element, attrs, ngModel) { + if(!ngModel) return; // do nothing if no ng-model + + // Specify how UI should be updated + ngModel.$render = function() { + element.html(ngModel.$viewValue || ''); + }; + + // Listen for change events to enable binding + element.bind('blur keyup change', function() { + scope.$apply(read); + }); + read(); // initialize + + // Write data to the model + function read() { + ngModel.$setViewValue(element.html()); + } + } + }; + }); + + +
+
Change me!
+ Required! +
+ +
+
+ + it('should data-bind and become invalid', function() { + var contentEditable = element('[contenteditable]'); + + expect(contentEditable.text()).toEqual('Change me!'); + input('userContent').enter(''); + expect(contentEditable.text()).toEqual(''); + expect(contentEditable.prop('className')).toMatch(/ng-invalid-required/); + }); + + *
+ * + */ +var NgModelController = ['$scope', '$exceptionHandler', '$attrs', '$element', '$parse', + function($scope, $exceptionHandler, $attr, $element, $parse) { + this.$viewValue = Number.NaN; + this.$modelValue = Number.NaN; + this.$parsers = []; + this.$formatters = []; + this.$viewChangeListeners = []; + this.$pristine = true; + this.$dirty = false; + this.$valid = true; + this.$invalid = false; + this.$name = $attr.name; + + var ngModelGet = $parse($attr.ngModel), + ngModelSet = ngModelGet.assign; + + if (!ngModelSet) { + throw Error(NON_ASSIGNABLE_MODEL_EXPRESSION + $attr.ngModel + + ' (' + startingTag($element) + ')'); + } + + /** + * @ngdoc function + * @name ng.directive:ngModel.NgModelController#$render + * @methodOf ng.directive:ngModel.NgModelController + * + * @description + * Called when the view needs to be updated. It is expected that the user of the ng-model + * directive will implement this method. + */ + this.$render = noop; + + var parentForm = $element.inheritedData('$formController') || nullFormCtrl, + invalidCount = 0, // used to easily determine if we are valid + $error = this.$error = {}; // keep invalid keys here + + + // Setup initial state of the control + $element.addClass(PRISTINE_CLASS); + toggleValidCss(true); + + // convenience method for easy toggling of classes + function toggleValidCss(isValid, validationErrorKey) { + validationErrorKey = validationErrorKey ? '-' + snake_case(validationErrorKey, '-') : ''; + $element. + removeClass((isValid ? INVALID_CLASS : VALID_CLASS) + validationErrorKey). + addClass((isValid ? VALID_CLASS : INVALID_CLASS) + validationErrorKey); + } + + /** + * @ngdoc function + * @name ng.directive:ngModel.NgModelController#$setValidity + * @methodOf ng.directive:ngModel.NgModelController + * + * @description + * Change the validity state, and notifies the form when the control changes validity. (i.e. it + * does not notify form if given validator is already marked as invalid). + * + * This method should be called by validators - i.e. the parser or formatter functions. + * + * @param {string} validationErrorKey Name of the validator. the `validationErrorKey` will assign + * to `$error[validationErrorKey]=isValid` so that it is available for data-binding. + * The `validationErrorKey` should be in camelCase and will get converted into dash-case + * for class name. Example: `myError` will result in `ng-valid-my-error` and `ng-invalid-my-error` + * class and can be bound to as `{{someForm.someControl.$error.myError}}` . + * @param {boolean} isValid Whether the current state is valid (true) or invalid (false). + */ + this.$setValidity = function(validationErrorKey, isValid) { + if ($error[validationErrorKey] === !isValid) return; + + if (isValid) { + if ($error[validationErrorKey]) invalidCount--; + if (!invalidCount) { + toggleValidCss(true); + this.$valid = true; + this.$invalid = false; + } + } else { + toggleValidCss(false); + this.$invalid = true; + this.$valid = false; + invalidCount++; + } + + $error[validationErrorKey] = !isValid; + toggleValidCss(isValid, validationErrorKey); + + parentForm.$setValidity(validationErrorKey, isValid, this); + }; + + /** + * @ngdoc function + * @name ng.directive:ngModel.NgModelController#$setPristine + * @methodOf ng.directive:ngModel.NgModelController + * + * @description + * Sets the control to its pristine state. + * + * This method can be called to remove the 'ng-dirty' class and set the control to its pristine + * state (ng-pristine class). + */ + this.$setPristine = function () { + this.$dirty = false; + this.$pristine = true; + $element.removeClass(DIRTY_CLASS).addClass(PRISTINE_CLASS); + }; + + /** + * @ngdoc function + * @name ng.directive:ngModel.NgModelController#$setViewValue + * @methodOf ng.directive:ngModel.NgModelController + * + * @description + * Read a value from view. + * + * This method should be called from within a DOM event handler. + * For example {@link ng.directive:input input} or + * {@link ng.directive:select select} directives call it. + * + * It internally calls all `parsers` and if resulted value is valid, updates the model and + * calls all registered change listeners. + * + * @param {string} value Value from the view. + */ + this.$setViewValue = function(value) { + this.$viewValue = value; + + // change to dirty + if (this.$pristine) { + this.$dirty = true; + this.$pristine = false; + $element.removeClass(PRISTINE_CLASS).addClass(DIRTY_CLASS); + parentForm.$setDirty(); + } + + forEach(this.$parsers, function(fn) { + value = fn(value); + }); + + if (this.$modelValue !== value) { + this.$modelValue = value; + ngModelSet($scope, value); + forEach(this.$viewChangeListeners, function(listener) { + try { + listener(); + } catch(e) { + $exceptionHandler(e); + } + }) + } + }; + + // model -> value + var ctrl = this; + + $scope.$watch(function ngModelWatch() { + var value = ngModelGet($scope); + + // if scope model value and ngModel value are out of sync + if (ctrl.$modelValue !== value) { + + var formatters = ctrl.$formatters, + idx = formatters.length; + + ctrl.$modelValue = value; + while(idx--) { + value = formatters[idx](value); + } + + if (ctrl.$viewValue !== value) { + ctrl.$viewValue = value; + ctrl.$render(); + } + } + }); +}]; + + +/** + * @ngdoc directive + * @name ng.directive:ngModel + * + * @element input + * + * @description + * Is directive that tells Angular to do two-way data binding. It works together with `input`, + * `select`, `textarea`. You can easily write your own directives to use `ngModel` as well. + * + * `ngModel` is responsible for: + * + * - binding the view into the model, which other directives such as `input`, `textarea` or `select` + * require, + * - providing validation behavior (i.e. required, number, email, url), + * - keeping state of the control (valid/invalid, dirty/pristine, validation errors), + * - setting related css class onto the element (`ng-valid`, `ng-invalid`, `ng-dirty`, `ng-pristine`), + * - register the control with parent {@link ng.directive:form form}. + * + * For basic examples, how to use `ngModel`, see: + * + * - {@link ng.directive:input input} + * - {@link ng.directive:input.text text} + * - {@link ng.directive:input.checkbox checkbox} + * - {@link ng.directive:input.radio radio} + * - {@link ng.directive:input.number number} + * - {@link ng.directive:input.email email} + * - {@link ng.directive:input.url url} + * - {@link ng.directive:select select} + * - {@link ng.directive:textarea textarea} + * + */ +var ngModelDirective = function() { + return { + require: ['ngModel', '^?form'], + controller: NgModelController, + link: function(scope, element, attr, ctrls) { + // notify others, especially parent forms + + var modelCtrl = ctrls[0], + formCtrl = ctrls[1] || nullFormCtrl; + + formCtrl.$addControl(modelCtrl); + + element.bind('$destroy', function() { + formCtrl.$removeControl(modelCtrl); + }); + } + }; +}; + + +/** + * @ngdoc directive + * @name ng.directive:ngChange + * @restrict E + * + * @description + * Evaluate given expression when user changes the input. + * The expression is not evaluated when the value change is coming from the model. + * + * Note, this directive requires `ngModel` to be present. + * + * @element input + * + * @example + * + * + * + *
+ * + * + *
+ * debug = {{confirmed}}
+ * counter = {{counter}} + *
+ *
+ * + * it('should evaluate the expression if changing from view', function() { + * expect(binding('counter')).toEqual('0'); + * element('#ng-change-example1').click(); + * expect(binding('counter')).toEqual('1'); + * expect(binding('confirmed')).toEqual('true'); + * }); + * + * it('should not evaluate the expression if changing from model', function() { + * element('#ng-change-example2').click(); + * expect(binding('counter')).toEqual('0'); + * expect(binding('confirmed')).toEqual('true'); + * }); + * + *
+ */ +var ngChangeDirective = valueFn({ + require: 'ngModel', + link: function(scope, element, attr, ctrl) { + ctrl.$viewChangeListeners.push(function() { + scope.$eval(attr.ngChange); + }); + } +}); + + +var requiredDirective = function() { + return { + require: '?ngModel', + link: function(scope, elm, attr, ctrl) { + if (!ctrl) return; + attr.required = true; // force truthy in case we are on non input element + + var validator = function(value) { + if (attr.required && (isEmpty(value) || value === false)) { + ctrl.$setValidity('required', false); + return; + } else { + ctrl.$setValidity('required', true); + return value; + } + }; + + ctrl.$formatters.push(validator); + ctrl.$parsers.unshift(validator); + + attr.$observe('required', function() { + validator(ctrl.$viewValue); + }); + } + }; +}; + + +/** + * @ngdoc directive + * @name ng.directive:ngList + * + * @description + * Text input that converts between comma-separated string into an array of strings. + * + * @element input + * @param {string=} ngList optional delimiter that should be used to split the value. If + * specified in form `/something/` then the value will be converted into a regular expression. + * + * @example + + + +
+ List: + + Required! + names = {{names}}
+ myForm.namesInput.$valid = {{myForm.namesInput.$valid}}
+ myForm.namesInput.$error = {{myForm.namesInput.$error}}
+ myForm.$valid = {{myForm.$valid}}
+ myForm.$error.required = {{!!myForm.$error.required}}
+
+
+ + it('should initialize to model', function() { + expect(binding('names')).toEqual('["igor","misko","vojta"]'); + expect(binding('myForm.namesInput.$valid')).toEqual('true'); + }); + + it('should be invalid if empty', function() { + input('names').enter(''); + expect(binding('names')).toEqual('[]'); + expect(binding('myForm.namesInput.$valid')).toEqual('false'); + }); + +
+ */ +var ngListDirective = function() { + return { + require: 'ngModel', + link: function(scope, element, attr, ctrl) { + var match = /\/(.*)\//.exec(attr.ngList), + separator = match && new RegExp(match[1]) || attr.ngList || ','; + + var parse = function(viewValue) { + var list = []; + + if (viewValue) { + forEach(viewValue.split(separator), function(value) { + if (value) list.push(trim(value)); + }); + } + + return list; + }; + + ctrl.$parsers.push(parse); + ctrl.$formatters.push(function(value) { + if (isArray(value)) { + return value.join(', '); + } + + return undefined; + }); + } + }; +}; + + +var CONSTANT_VALUE_REGEXP = /^(true|false|\d+)$/; + +var ngValueDirective = function() { + return { + priority: 100, + compile: function(tpl, tplAttr) { + if (CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue)) { + return function(scope, elm, attr) { + attr.$set('value', scope.$eval(attr.ngValue)); + }; + } else { + return function(scope, elm, attr) { + scope.$watch(attr.ngValue, function valueWatchAction(value) { + attr.$set('value', value, false); + }); + }; + } + } + }; +}; + +/** + * @ngdoc directive + * @name ng.directive:ngBind + * + * @description + * The `ngBind` attribute tells Angular to replace the text content of the specified HTML element + * with the value of a given expression, and to update the text content when the value of that + * expression changes. + * + * Typically, you don't use `ngBind` directly, but instead you use the double curly markup like + * `{{ expression }}` which is similar but less verbose. + * + * One scenario in which the use of `ngBind` is preferred over `{{ expression }}` binding is when + * it's desirable to put bindings into template that is momentarily displayed by the browser in its + * raw state before Angular compiles it. Since `ngBind` is an element attribute, it makes the + * bindings invisible to the user while the page is loading. + * + * An alternative solution to this problem would be using the + * {@link ng.directive:ngCloak ngCloak} directive. + * + * + * @element ANY + * @param {expression} ngBind {@link guide/expression Expression} to evaluate. + * + * @example + * Enter a name in the Live Preview text box; the greeting below the text box changes instantly. + + + +
+ Enter name:
+ Hello ! +
+
+ + it('should check ng-bind', function() { + expect(using('.doc-example-live').binding('name')).toBe('Whirled'); + using('.doc-example-live').input('name').enter('world'); + expect(using('.doc-example-live').binding('name')).toBe('world'); + }); + +
+ */ +var ngBindDirective = ngDirective(function(scope, element, attr) { + element.addClass('ng-binding').data('$binding', attr.ngBind); + scope.$watch(attr.ngBind, function ngBindWatchAction(value) { + element.text(value == undefined ? '' : value); + }); +}); + + +/** + * @ngdoc directive + * @name ng.directive:ngBindTemplate + * + * @description + * The `ngBindTemplate` directive specifies that the element + * text should be replaced with the template in ngBindTemplate. + * Unlike ngBind the ngBindTemplate can contain multiple `{{` `}}` + * expressions. (This is required since some HTML elements + * can not have SPAN elements such as TITLE, or OPTION to name a few.) + * + * @element ANY + * @param {string} ngBindTemplate template of form + * {{ expression }} to eval. + * + * @example + * Try it here: enter text in text box and watch the greeting change. + + + +
+ Salutation:
+ Name:
+

+       
+
+ + it('should check ng-bind', function() { + expect(using('.doc-example-live').binding('salutation')). + toBe('Hello'); + expect(using('.doc-example-live').binding('name')). + toBe('World'); + using('.doc-example-live').input('salutation').enter('Greetings'); + using('.doc-example-live').input('name').enter('user'); + expect(using('.doc-example-live').binding('salutation')). + toBe('Greetings'); + expect(using('.doc-example-live').binding('name')). + toBe('user'); + }); + +
+ */ +var ngBindTemplateDirective = ['$interpolate', function($interpolate) { + return function(scope, element, attr) { + // TODO: move this to scenario runner + var interpolateFn = $interpolate(element.attr(attr.$attr.ngBindTemplate)); + element.addClass('ng-binding').data('$binding', interpolateFn); + attr.$observe('ngBindTemplate', function(value) { + element.text(value); + }); + } +}]; + + +/** + * @ngdoc directive + * @name ng.directive:ngBindHtmlUnsafe + * + * @description + * Creates a binding that will innerHTML the result of evaluating the `expression` into the current + * element. *The innerHTML-ed content will not be sanitized!* You should use this directive only if + * {@link ngSanitize.directive:ngBindHtml ngBindHtml} directive is too + * restrictive and when you absolutely trust the source of the content you are binding to. + * + * See {@link ngSanitize.$sanitize $sanitize} docs for examples. + * + * @element ANY + * @param {expression} ngBindHtmlUnsafe {@link guide/expression Expression} to evaluate. + */ +var ngBindHtmlUnsafeDirective = [function() { + return function(scope, element, attr) { + element.addClass('ng-binding').data('$binding', attr.ngBindHtmlUnsafe); + scope.$watch(attr.ngBindHtmlUnsafe, function ngBindHtmlUnsafeWatchAction(value) { + element.html(value || ''); + }); + }; +}]; + +function classDirective(name, selector) { + name = 'ngClass' + name; + return ngDirective(function(scope, element, attr) { + var oldVal = undefined; + + scope.$watch(attr[name], ngClassWatchAction, true); + + attr.$observe('class', function(value) { + var ngClass = scope.$eval(attr[name]); + ngClassWatchAction(ngClass, ngClass); + }); + + + if (name !== 'ngClass') { + scope.$watch('$index', function($index, old$index) { + var mod = $index & 1; + if (mod !== old$index & 1) { + if (mod === selector) { + addClass(scope.$eval(attr[name])); + } else { + removeClass(scope.$eval(attr[name])); + } + } + }); + } + + + function ngClassWatchAction(newVal) { + if (selector === true || scope.$index % 2 === selector) { + if (oldVal && !equals(newVal,oldVal)) { + removeClass(oldVal); + } + addClass(newVal); + } + oldVal = copy(newVal); + } + + + function removeClass(classVal) { + if (isObject(classVal) && !isArray(classVal)) { + classVal = map(classVal, function(v, k) { if (v) return k }); + } + element.removeClass(isArray(classVal) ? classVal.join(' ') : classVal); + } + + + function addClass(classVal) { + if (isObject(classVal) && !isArray(classVal)) { + classVal = map(classVal, function(v, k) { if (v) return k }); + } + if (classVal) { + element.addClass(isArray(classVal) ? classVal.join(' ') : classVal); + } + } + }); +} + +/** + * @ngdoc directive + * @name ng.directive:ngClass + * + * @description + * The `ngClass` allows you to set CSS class on HTML element dynamically by databinding an + * expression that represents all classes to be added. + * + * The directive won't add duplicate classes if a particular class was already set. + * + * When the expression changes, the previously added classes are removed and only then the + * new classes are added. + * + * @element ANY + * @param {expression} ngClass {@link guide/expression Expression} to eval. The result + * of the evaluation can be a string representing space delimited class + * names, an array, or a map of class names to boolean values. + * + * @example + + + + +
+ Sample Text +
+ + .my-class { + color: red; + } + + + it('should check ng-class', function() { + expect(element('.doc-example-live span').prop('className')).not(). + toMatch(/my-class/); + + using('.doc-example-live').element(':button:first').click(); + + expect(element('.doc-example-live span').prop('className')). + toMatch(/my-class/); + + using('.doc-example-live').element(':button:last').click(); + + expect(element('.doc-example-live span').prop('className')).not(). + toMatch(/my-class/); + }); + +
+ */ +var ngClassDirective = classDirective('', true); + +/** + * @ngdoc directive + * @name ng.directive:ngClassOdd + * + * @description + * The `ngClassOdd` and `ngClassEven` directives work exactly as + * {@link ng.directive:ngClass ngClass}, except it works in + * conjunction with `ngRepeat` and takes affect only on odd (even) rows. + * + * This directive can be applied only within a scope of an + * {@link ng.directive:ngRepeat ngRepeat}. + * + * @element ANY + * @param {expression} ngClassOdd {@link guide/expression Expression} to eval. The result + * of the evaluation can be a string representing space delimited class names or an array. + * + * @example + + +
    +
  1. + + {{name}} + +
  2. +
+
+ + .odd { + color: red; + } + .even { + color: blue; + } + + + it('should check ng-class-odd and ng-class-even', function() { + expect(element('.doc-example-live li:first span').prop('className')). + toMatch(/odd/); + expect(element('.doc-example-live li:last span').prop('className')). + toMatch(/even/); + }); + +
+ */ +var ngClassOddDirective = classDirective('Odd', 0); + +/** + * @ngdoc directive + * @name ng.directive:ngClassEven + * + * @description + * The `ngClassOdd` and `ngClassEven` directives work exactly as + * {@link ng.directive:ngClass ngClass}, except it works in + * conjunction with `ngRepeat` and takes affect only on odd (even) rows. + * + * This directive can be applied only within a scope of an + * {@link ng.directive:ngRepeat ngRepeat}. + * + * @element ANY + * @param {expression} ngClassEven {@link guide/expression Expression} to eval. The + * result of the evaluation can be a string representing space delimited class names or an array. + * + * @example + + +
    +
  1. + + {{name}}       + +
  2. +
+
+ + .odd { + color: red; + } + .even { + color: blue; + } + + + it('should check ng-class-odd and ng-class-even', function() { + expect(element('.doc-example-live li:first span').prop('className')). + toMatch(/odd/); + expect(element('.doc-example-live li:last span').prop('className')). + toMatch(/even/); + }); + +
+ */ +var ngClassEvenDirective = classDirective('Even', 1); + +/** + * @ngdoc directive + * @name ng.directive:ngCloak + * + * @description + * The `ngCloak` directive is used to prevent the Angular html template from being briefly + * displayed by the browser in its raw (uncompiled) form while your application is loading. Use this + * directive to avoid the undesirable flicker effect caused by the html template display. + * + * The directive can be applied to the `` element, but typically a fine-grained application is + * preferred in order to benefit from progressive rendering of the browser view. + * + * `ngCloak` works in cooperation with a css rule that is embedded within `angular.js` and + * `angular.min.js` files. Following is the css rule: + * + *
+ * [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
+ *   display: none;
+ * }
+ * 
+ * + * When this css rule is loaded by the browser, all html elements (including their children) that + * are tagged with the `ng-cloak` directive are hidden. When Angular comes across this directive + * during the compilation of the template it deletes the `ngCloak` element attribute, which + * makes the compiled element visible. + * + * For the best result, `angular.js` script must be loaded in the head section of the html file; + * alternatively, the css rule (above) must be included in the external stylesheet of the + * application. + * + * Legacy browsers, like IE7, do not provide attribute selector support (added in CSS 2.1) so they + * cannot match the `[ng\:cloak]` selector. To work around this limitation, you must add the css + * class `ngCloak` in addition to `ngCloak` directive as shown in the example below. + * + * @element ANY + * + * @example + + +
{{ 'hello' }}
+
{{ 'hello IE7' }}
+
+ + it('should remove the template directive and css class', function() { + expect(element('.doc-example-live #template1').attr('ng-cloak')). + not().toBeDefined(); + expect(element('.doc-example-live #template2').attr('ng-cloak')). + not().toBeDefined(); + }); + +
+ * + */ +var ngCloakDirective = ngDirective({ + compile: function(element, attr) { + attr.$set('ngCloak', undefined); + element.removeClass('ng-cloak'); + } +}); + +/** + * @ngdoc directive + * @name ng.directive:ngController + * + * @description + * The `ngController` directive assigns behavior to a scope. This is a key aspect of how angular + * supports the principles behind the Model-View-Controller design pattern. + * + * MVC components in angular: + * + * * Model — The Model is data in scope properties; scopes are attached to the DOM. + * * View — The template (HTML with data bindings) is rendered into the View. + * * Controller — The `ngController` directive specifies a Controller class; the class has + * methods that typically express the business logic behind the application. + * + * Note that an alternative way to define controllers is via the {@link ng.$route $route} service. + * + * @element ANY + * @scope + * @param {expression} ngController Name of a globally accessible constructor function or an + * {@link guide/expression expression} that on the current scope evaluates to a + * constructor function. The controller instance can further be published into the scope + * by adding `as localName` the controller name attribute. + * + * @example + * Here is a simple form for editing user contact information. Adding, removing, clearing, and + * greeting are methods declared on the controller (see source tab). These methods can + * easily be called from the angular markup. Notice that the scope becomes the `this` for the + * controller's instance. This allows for easy access to the view data from the controller. Also + * notice that any changes to the data are automatically reflected in the View without the need + * for a manual update. The example is included in two different declaration styles based on + * your style preferences. + + + +
+ Name: + [ greet ]
+ Contact: +
    +
  • + + + [ clear + | X ] +
  • +
  • [ add ]
  • +
+
+
+ + it('should check controller', function() { + expect(element('.doc-example-live div>:input').val()).toBe('John Smith'); + expect(element('.doc-example-live li:nth-child(1) input').val()) + .toBe('408 555 1212'); + expect(element('.doc-example-live li:nth-child(2) input').val()) + .toBe('john.smith@example.org'); + + element('.doc-example-live li:first a:contains("clear")').click(); + expect(element('.doc-example-live li:first input').val()).toBe(''); + + element('.doc-example-live li:last a:contains("add")').click(); + expect(element('.doc-example-live li:nth-child(3) input').val()) + .toBe('yourname@example.org'); + }); + +
+ + + + + + +
+ Name: + [ greet ]
+ Contact: +
    +
  • + + + [ clear + | X ] +
  • +
  • [ add ]
  • +
+
+
+ + it('should check controller', function() { + expect(element('.doc-example-live div>:input').val()).toBe('John Smith'); + expect(element('.doc-example-live li:nth-child(1) input').val()) + .toBe('408 555 1212'); + expect(element('.doc-example-live li:nth-child(2) input').val()) + .toBe('john.smith@example.org'); + + element('.doc-example-live li:first a:contains("clear")').click(); + expect(element('.doc-example-live li:first input').val()).toBe(''); + + element('.doc-example-live li:last a:contains("add")').click(); + expect(element('.doc-example-live li:nth-child(3) input').val()) + .toBe('yourname@example.org'); + }); + +
+ + */ +var ngControllerDirective = [function() { + return { + scope: true, + controller: '@' + }; +}]; + +/** + * @ngdoc directive + * @name ng.directive:ngCsp + * @priority 1000 + * + * @element html + * @description + * Enables [CSP (Content Security Policy)](https://developer.mozilla.org/en/Security/CSP) support. + * + * This is necessary when developing things like Google Chrome Extensions. + * + * CSP forbids apps to use `eval` or `Function(string)` generated functions (among other things). + * For us to be compatible, we just need to implement the "getterFn" in $parse without violating + * any of these restrictions. + * + * AngularJS uses `Function(string)` generated functions as a speed optimization. By applying `ngCsp` + * it is be possible to opt into the CSP compatible mode. When this mode is on AngularJS will + * evaluate all expressions up to 30% slower than in non-CSP mode, but no security violations will + * be raised. + * + * In order to use this feature put `ngCsp` directive on the root element of the application. + * + * @example + * This example shows how to apply the `ngCsp` directive to the `html` tag. +
+     
+     
+     ...
+     ...
+     
+   
+ */ + +var ngCspDirective = ['$sniffer', function($sniffer) { + return { + priority: 1000, + compile: function() { + $sniffer.csp = true; + } + }; +}]; + +/** + * @ngdoc directive + * @name ng.directive:ngClick + * + * @description + * The ngClick allows you to specify custom behavior when + * element is clicked. + * + * @element ANY + * @param {expression} ngClick {@link guide/expression Expression} to evaluate upon + * click. (Event object is available as `$event`) + * + * @example + + + + count: {{count}} + + + it('should check ng-click', function() { + expect(binding('count')).toBe('0'); + element('.doc-example-live :button').click(); + expect(binding('count')).toBe('1'); + }); + + + */ +/* + * A directive that allows creation of custom onclick handlers that are defined as angular + * expressions and are compiled and executed within the current scope. + * + * Events that are handled via these handler are always configured not to propagate further. + */ +var ngEventDirectives = {}; +forEach( + 'click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress'.split(' '), + function(name) { + var directiveName = directiveNormalize('ng-' + name); + ngEventDirectives[directiveName] = ['$parse', function($parse) { + return function(scope, element, attr) { + var fn = $parse(attr[directiveName]); + element.bind(lowercase(name), function(event) { + scope.$apply(function() { + fn(scope, {$event:event}); + }); + }); + }; + }]; + } +); + +/** + * @ngdoc directive + * @name ng.directive:ngDblclick + * + * @description + * The `ngDblclick` directive allows you to specify custom behavior on dblclick event. + * + * @element ANY + * @param {expression} ngDblclick {@link guide/expression Expression} to evaluate upon + * dblclick. (Event object is available as `$event`) + * + * @example + * See {@link ng.directive:ngClick ngClick} + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngMousedown + * + * @description + * The ngMousedown directive allows you to specify custom behavior on mousedown event. + * + * @element ANY + * @param {expression} ngMousedown {@link guide/expression Expression} to evaluate upon + * mousedown. (Event object is available as `$event`) + * + * @example + * See {@link ng.directive:ngClick ngClick} + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngMouseup + * + * @description + * Specify custom behavior on mouseup event. + * + * @element ANY + * @param {expression} ngMouseup {@link guide/expression Expression} to evaluate upon + * mouseup. (Event object is available as `$event`) + * + * @example + * See {@link ng.directive:ngClick ngClick} + */ + +/** + * @ngdoc directive + * @name ng.directive:ngMouseover + * + * @description + * Specify custom behavior on mouseover event. + * + * @element ANY + * @param {expression} ngMouseover {@link guide/expression Expression} to evaluate upon + * mouseover. (Event object is available as `$event`) + * + * @example + * See {@link ng.directive:ngClick ngClick} + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngMouseenter + * + * @description + * Specify custom behavior on mouseenter event. + * + * @element ANY + * @param {expression} ngMouseenter {@link guide/expression Expression} to evaluate upon + * mouseenter. (Event object is available as `$event`) + * + * @example + * See {@link ng.directive:ngClick ngClick} + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngMouseleave + * + * @description + * Specify custom behavior on mouseleave event. + * + * @element ANY + * @param {expression} ngMouseleave {@link guide/expression Expression} to evaluate upon + * mouseleave. (Event object is available as `$event`) + * + * @example + * See {@link ng.directive:ngClick ngClick} + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngMousemove + * + * @description + * Specify custom behavior on mousemove event. + * + * @element ANY + * @param {expression} ngMousemove {@link guide/expression Expression} to evaluate upon + * mousemove. (Event object is available as `$event`) + * + * @example + * See {@link ng.directive:ngClick ngClick} + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngKeydown + * + * @description + * Specify custom behavior on keydown event. + * + * @element ANY + * @param {expression} ngKeydown {@link guide/expression Expression} to evaluate upon + * keydown. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.) + * + * @example + * See {@link ng.directive:ngClick ngClick} + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngKeyup + * + * @description + * Specify custom behavior on keyup event. + * + * @element ANY + * @param {expression} ngKeyup {@link guide/expression Expression} to evaluate upon + * keyup. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.) + * + * @example + * See {@link ng.directive:ngClick ngClick} + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngKeypress + * + * @description + * Specify custom behavior on keypress event. + * + * @element ANY + * @param {expression} ngKeypress {@link guide/expression Expression} to evaluate upon + * keypress. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.) + * + * @example + * See {@link ng.directive:ngClick ngClick} + */ + + +/** + * @ngdoc directive + * @name ng.directive:ngSubmit + * + * @description + * Enables binding angular expressions to onsubmit events. + * + * Additionally it prevents the default action (which for form means sending the request to the + * server and reloading the current page). + * + * @element form + * @param {expression} ngSubmit {@link guide/expression Expression} to eval. + * + * @example + + + +
+ Enter text and hit enter: + + +
list={{list}}
+
+
+ + it('should check ng-submit', function() { + expect(binding('list')).toBe('[]'); + element('.doc-example-live #submit').click(); + expect(binding('list')).toBe('["hello"]'); + expect(input('text').val()).toBe(''); + }); + it('should ignore empty strings', function() { + expect(binding('list')).toBe('[]'); + element('.doc-example-live #submit').click(); + element('.doc-example-live #submit').click(); + expect(binding('list')).toBe('["hello"]'); + }); + +
+ */ +var ngSubmitDirective = ngDirective(function(scope, element, attrs) { + element.bind('submit', function() { + scope.$apply(attrs.ngSubmit); + }); +}); + +/** + * @ngdoc directive + * @name ng.directive:ngIf + * @restrict A + * + * @description + * The `ngIf` directive removes and recreates a portion of the DOM tree (HTML) + * conditionally based on **"falsy"** and **"truthy"** values, respectively, evaluated within + * an {expression}. In other words, if the expression assigned to **ngIf evaluates to a false + * value** then **the element is removed from the DOM** and **if true** then **a clone of the + * element is reinserted into the DOM**. + * + * `ngIf` differs from `ngShow` and `ngHide` in that `ngIf` completely removes and recreates the + * element in the DOM rather than changing its visibility via the `display` css property. A common + * case when this difference is significant is when using css selectors that rely on an element's + * position within the DOM (HTML), such as the `:first-child` or `:last-child` pseudo-classes. + * + * Note that **when an element is removed using ngIf its scope is destroyed** and **a new scope + * is created when the element is restored**. The scope created within `ngIf` inherits from + * its parent scope using + * {@link https://github.com/angular/angular.js/wiki/The-Nuances-of-Scope-Prototypal-Inheritance prototypal inheritance}. + * An important implication of this is if `ngModel` is used within `ngIf` to bind to + * a javascript primitive defined in the parent scope. In this case any modifications made to the + * variable within the child scope will override (hide) the value in the parent scope. + * + * Also, `ngIf` recreates elements using their compiled state. An example scenario of this behavior + * is if an element's class attribute is directly modified after it's compiled, using something like + * jQuery's `.addClass()` method, and the element is later removed. When `ngIf` recreates the element + * the added class will be lost because the original compiled state is used to regenerate the element. + * + * Additionally, you can provide animations via the ngAnimate attribute to animate the **enter** + * and **leave** effects. + * + * @animations + * enter - happens just after the ngIf contents change and a new DOM element is created and injected into the ngIf container + * leave - happens just before the ngIf contents are removed from the DOM + * + * @element ANY + * @scope + * @param {expression} ngIf If the {@link guide/expression expression} is falsy then + * the element is removed from the DOM tree (HTML). + * + * @example + + + Click me:
+ Show when checked: + + I'm removed when the checkbox is unchecked. + +
+ + .example-leave, .example-enter { + -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + -ms-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + } + + .example-enter { + opacity:0; + } + .example-enter.example-enter-active { + opacity:1; + } + + .example-leave { + opacity:1; + } + .example-leave.example-leave-active { + opacity:0; + } + +
+ */ +var ngIfDirective = ['$animator', function($animator) { + return { + transclude: 'element', + priority: 1000, + terminal: true, + restrict: 'A', + compile: function (element, attr, transclude) { + return function ($scope, $element, $attr) { + var animate = $animator($scope, $attr); + var childElement, childScope; + $scope.$watch($attr.ngIf, function ngIfWatchAction(value) { + if (childElement) { + animate.leave(childElement); + childElement = undefined; + } + if (childScope) { + childScope.$destroy(); + childScope = undefined; + } + if (toBoolean(value)) { + childScope = $scope.$new(); + transclude(childScope, function (clone) { + childElement = clone; + animate.enter(clone, $element.parent(), $element); + }); + } + }); + } + } + } +}]; + +/** + * @ngdoc directive + * @name ng.directive:ngInclude + * @restrict ECA + * + * @description + * Fetches, compiles and includes an external HTML fragment. + * + * Keep in mind that Same Origin Policy applies to included resources + * (e.g. ngInclude won't work for cross-domain requests on all browsers and for + * file:// access on some browsers). + * + * Additionally, you can also provide animations via the ngAnimate attribute to animate the **enter** + * and **leave** effects. + * + * @animations + * enter - happens just after the ngInclude contents change and a new DOM element is created and injected into the ngInclude container + * leave - happens just after the ngInclude contents change and just before the former contents are removed from the DOM + * + * @scope + * + * @param {string} ngInclude|src angular expression evaluating to URL. If the source is a string constant, + * make sure you wrap it in quotes, e.g. `src="'myPartialTemplate.html'"`. + * @param {string=} onload Expression to evaluate when a new partial is loaded. + * + * @param {string=} autoscroll Whether `ngInclude` should call {@link ng.$anchorScroll + * $anchorScroll} to scroll the viewport after the content is loaded. + * + * - If the attribute is not set, disable scrolling. + * - If the attribute is set without value, enable scrolling. + * - Otherwise enable scrolling only if the expression evaluates to truthy value. + * + * @example + + +
+ + url of the template: {{template.url}} +
+
+
+
+ + function Ctrl($scope) { + $scope.templates = + [ { name: 'template1.html', url: 'template1.html'} + , { name: 'template2.html', url: 'template2.html'} ]; + $scope.template = $scope.templates[0]; + } + + +
Content of template1.html
+
+ +
Content of template2.html
+
+ + .example-leave, + .example-enter { + -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + -ms-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + + position:absolute; + top:0; + left:0; + right:0; + bottom:0; + } + + .example-animate-container > * { + display:block; + padding:10px; + } + + .example-enter { + top:-50px; + } + .example-enter.example-enter-active { + top:0; + } + + .example-leave { + top:0; + } + .example-leave.example-leave-active { + top:50px; + } + + + it('should load template1.html', function() { + expect(element('.doc-example-live [ng-include]').text()). + toMatch(/Content of template1.html/); + }); + it('should load template2.html', function() { + select('template').option('1'); + expect(element('.doc-example-live [ng-include]').text()). + toMatch(/Content of template2.html/); + }); + it('should change to blank', function() { + select('template').option(''); + expect(element('.doc-example-live [ng-include]').text()).toEqual(''); + }); + +
+ */ + + +/** + * @ngdoc event + * @name ng.directive:ngInclude#$includeContentRequested + * @eventOf ng.directive:ngInclude + * @eventType emit on the scope ngInclude was declared in + * @description + * Emitted every time the ngInclude content is requested. + */ + + +/** + * @ngdoc event + * @name ng.directive:ngInclude#$includeContentLoaded + * @eventOf ng.directive:ngInclude + * @eventType emit on the current ngInclude scope + * @description + * Emitted every time the ngInclude content is reloaded. + */ +var ngIncludeDirective = ['$http', '$templateCache', '$anchorScroll', '$compile', '$animator', + function($http, $templateCache, $anchorScroll, $compile, $animator) { + return { + restrict: 'ECA', + terminal: true, + compile: function(element, attr) { + var srcExp = attr.ngInclude || attr.src, + onloadExp = attr.onload || '', + autoScrollExp = attr.autoscroll; + + return function(scope, element, attr) { + var animate = $animator(scope, attr); + var changeCounter = 0, + childScope; + + var clearContent = function() { + if (childScope) { + childScope.$destroy(); + childScope = null; + } + animate.leave(element.contents(), element); + }; + + scope.$watch(srcExp, function ngIncludeWatchAction(src) { + var thisChangeId = ++changeCounter; + + if (src) { + $http.get(src, {cache: $templateCache}).success(function(response) { + if (thisChangeId !== changeCounter) return; + + if (childScope) childScope.$destroy(); + childScope = scope.$new(); + animate.leave(element.contents(), element); + + var contents = jqLite('
').html(response).contents(); + + animate.enter(contents, element); + $compile(contents)(childScope); + + if (isDefined(autoScrollExp) && (!autoScrollExp || scope.$eval(autoScrollExp))) { + $anchorScroll(); + } + + childScope.$emit('$includeContentLoaded'); + scope.$eval(onloadExp); + }).error(function() { + if (thisChangeId === changeCounter) clearContent(); + }); + scope.$emit('$includeContentRequested'); + } else { + clearContent(); + } + }); + }; + } + }; +}]; + +/** + * @ngdoc directive + * @name ng.directive:ngInit + * + * @description + * The `ngInit` directive specifies initialization tasks to be executed + * before the template enters execution mode during bootstrap. + * + * @element ANY + * @param {expression} ngInit {@link guide/expression Expression} to eval. + * + * @example + + +
+ {{greeting}} {{person}}! +
+
+ + it('should check greeting', function() { + expect(binding('greeting')).toBe('Hello'); + expect(binding('person')).toBe('World'); + }); + +
+ */ +var ngInitDirective = ngDirective({ + compile: function() { + return { + pre: function(scope, element, attrs) { + scope.$eval(attrs.ngInit); + } + } + } +}); + +/** + * @ngdoc directive + * @name ng.directive:ngNonBindable + * @priority 1000 + * + * @description + * Sometimes it is necessary to write code which looks like bindings but which should be left alone + * by angular. Use `ngNonBindable` to make angular ignore a chunk of HTML. + * + * @element ANY + * + * @example + * In this example there are two location where a simple binding (`{{}}`) is present, but the one + * wrapped in `ngNonBindable` is left alone. + * + * @example + + +
Normal: {{1 + 2}}
+
Ignored: {{1 + 2}}
+
+ + it('should check ng-non-bindable', function() { + expect(using('.doc-example-live').binding('1 + 2')).toBe('3'); + expect(using('.doc-example-live').element('div:last').text()). + toMatch(/1 \+ 2/); + }); + +
+ */ +var ngNonBindableDirective = ngDirective({ terminal: true, priority: 1000 }); + +/** + * @ngdoc directive + * @name ng.directive:ngPluralize + * @restrict EA + * + * @description + * # Overview + * `ngPluralize` is a directive that displays messages according to en-US localization rules. + * These rules are bundled with angular.js and the rules can be overridden + * (see {@link guide/i18n Angular i18n} dev guide). You configure ngPluralize directive + * by specifying the mappings between + * {@link http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html + * plural categories} and the strings to be displayed. + * + * # Plural categories and explicit number rules + * There are two + * {@link http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html + * plural categories} in Angular's default en-US locale: "one" and "other". + * + * While a plural category may match many numbers (for example, in en-US locale, "other" can match + * any number that is not 1), an explicit number rule can only match one number. For example, the + * explicit number rule for "3" matches the number 3. You will see the use of plural categories + * and explicit number rules throughout later parts of this documentation. + * + * # Configuring ngPluralize + * You configure ngPluralize by providing 2 attributes: `count` and `when`. + * You can also provide an optional attribute, `offset`. + * + * The value of the `count` attribute can be either a string or an {@link guide/expression + * Angular expression}; these are evaluated on the current scope for its bound value. + * + * The `when` attribute specifies the mappings between plural categories and the actual + * string to be displayed. The value of the attribute should be a JSON object so that Angular + * can interpret it correctly. + * + * The following example shows how to configure ngPluralize: + * + *
+ * 
+ * 
+ *
+ * + * In the example, `"0: Nobody is viewing."` is an explicit number rule. If you did not + * specify this rule, 0 would be matched to the "other" category and "0 people are viewing" + * would be shown instead of "Nobody is viewing". You can specify an explicit number rule for + * other numbers, for example 12, so that instead of showing "12 people are viewing", you can + * show "a dozen people are viewing". + * + * You can use a set of closed braces(`{}`) as a placeholder for the number that you want substituted + * into pluralized strings. In the previous example, Angular will replace `{}` with + * `{{personCount}}`. The closed braces `{}` is a placeholder + * for {{numberExpression}}. + * + * # Configuring ngPluralize with offset + * The `offset` attribute allows further customization of pluralized text, which can result in + * a better user experience. For example, instead of the message "4 people are viewing this document", + * you might display "John, Kate and 2 others are viewing this document". + * The offset attribute allows you to offset a number by any desired value. + * Let's take a look at an example: + * + *
+ * 
+ * 
+ * 
+ * + * Notice that we are still using two plural categories(one, other), but we added + * three explicit number rules 0, 1 and 2. + * When one person, perhaps John, views the document, "John is viewing" will be shown. + * When three people view the document, no explicit number rule is found, so + * an offset of 2 is taken off 3, and Angular uses 1 to decide the plural category. + * In this case, plural category 'one' is matched and "John, Marry and one other person are viewing" + * is shown. + * + * Note that when you specify offsets, you must provide explicit number rules for + * numbers from 0 up to and including the offset. If you use an offset of 3, for example, + * you must provide explicit number rules for 0, 1, 2 and 3. You must also provide plural strings for + * plural categories "one" and "other". + * + * @param {string|expression} count The variable to be bounded to. + * @param {string} when The mapping between plural category to its corresponding strings. + * @param {number=} offset Offset to deduct from the total number. + * + * @example + + + +
+ Person 1:
+ Person 2:
+ Number of People:
+ + + Without Offset: + +
+ + + With Offset(2): + + +
+
+ + it('should show correct pluralized string', function() { + expect(element('.doc-example-live ng-pluralize:first').text()). + toBe('1 person is viewing.'); + expect(element('.doc-example-live ng-pluralize:last').text()). + toBe('Igor is viewing.'); + + using('.doc-example-live').input('personCount').enter('0'); + expect(element('.doc-example-live ng-pluralize:first').text()). + toBe('Nobody is viewing.'); + expect(element('.doc-example-live ng-pluralize:last').text()). + toBe('Nobody is viewing.'); + + using('.doc-example-live').input('personCount').enter('2'); + expect(element('.doc-example-live ng-pluralize:first').text()). + toBe('2 people are viewing.'); + expect(element('.doc-example-live ng-pluralize:last').text()). + toBe('Igor and Misko are viewing.'); + + using('.doc-example-live').input('personCount').enter('3'); + expect(element('.doc-example-live ng-pluralize:first').text()). + toBe('3 people are viewing.'); + expect(element('.doc-example-live ng-pluralize:last').text()). + toBe('Igor, Misko and one other person are viewing.'); + + using('.doc-example-live').input('personCount').enter('4'); + expect(element('.doc-example-live ng-pluralize:first').text()). + toBe('4 people are viewing.'); + expect(element('.doc-example-live ng-pluralize:last').text()). + toBe('Igor, Misko and 2 other people are viewing.'); + }); + + it('should show data-binded names', function() { + using('.doc-example-live').input('personCount').enter('4'); + expect(element('.doc-example-live ng-pluralize:last').text()). + toBe('Igor, Misko and 2 other people are viewing.'); + + using('.doc-example-live').input('person1').enter('Di'); + using('.doc-example-live').input('person2').enter('Vojta'); + expect(element('.doc-example-live ng-pluralize:last').text()). + toBe('Di, Vojta and 2 other people are viewing.'); + }); + +
+ */ +var ngPluralizeDirective = ['$locale', '$interpolate', function($locale, $interpolate) { + var BRACE = /{}/g; + return { + restrict: 'EA', + link: function(scope, element, attr) { + var numberExp = attr.count, + whenExp = element.attr(attr.$attr.when), // this is because we have {{}} in attrs + offset = attr.offset || 0, + whens = scope.$eval(whenExp), + whensExpFns = {}, + startSymbol = $interpolate.startSymbol(), + endSymbol = $interpolate.endSymbol(); + + forEach(whens, function(expression, key) { + whensExpFns[key] = + $interpolate(expression.replace(BRACE, startSymbol + numberExp + '-' + + offset + endSymbol)); + }); + + scope.$watch(function ngPluralizeWatch() { + var value = parseFloat(scope.$eval(numberExp)); + + if (!isNaN(value)) { + //if explicit number rule such as 1, 2, 3... is defined, just use it. Otherwise, + //check it against pluralization rules in $locale service + if (!(value in whens)) value = $locale.pluralCat(value - offset); + return whensExpFns[value](scope, element, true); + } else { + return ''; + } + }, function ngPluralizeWatchAction(newVal) { + element.text(newVal); + }); + } + }; +}]; + +/** + * @ngdoc directive + * @name ng.directive:ngRepeat + * + * @description + * The `ngRepeat` directive instantiates a template once per item from a collection. Each template + * instance gets its own scope, where the given loop variable is set to the current collection item, + * and `$index` is set to the item index or key. + * + * Special properties are exposed on the local scope of each template instance, including: + * + * * `$index` – `{number}` – iterator offset of the repeated element (0..length-1) + * * `$first` – `{boolean}` – true if the repeated element is first in the iterator. + * * `$middle` – `{boolean}` – true if the repeated element is between the first and last in the iterator. + * * `$last` – `{boolean}` – true if the repeated element is last in the iterator. + * + * Additionally, you can also provide animations via the ngAnimate attribute to animate the **enter**, + * **leave** and **move** effects. + * + * @animations + * enter - when a new item is added to the list or when an item is revealed after a filter + * leave - when an item is removed from the list or when an item is filtered out + * move - when an adjacent item is filtered out causing a reorder or when the item contents are reordered + * + * @element ANY + * @scope + * @priority 1000 + * @param {repeat_expression} ngRepeat The expression indicating how to enumerate a collection. These + * formats are currently supported: + * + * * `variable in expression` – where variable is the user defined loop variable and `expression` + * is a scope expression giving the collection to enumerate. + * + * For example: `track in cd.tracks`. + * + * * `(key, value) in expression` – where `key` and `value` can be any user defined identifiers, + * and `expression` is the scope expression giving the collection to enumerate. + * + * For example: `(name, age) in {'adam':10, 'amalie':12}`. + * + * * `variable in expression track by tracking_expression` – You can also provide an optional tracking function + * which can be used to associate the objects in the collection with the DOM elements. If no tractking function + * is specified the ng-repeat associates elements by identity in the collection. It is an error to have + * more then one tractking function to resolve to the same key. (This would mean that two distinct objects are + * mapped to the same DOM element, which is not possible.) + * + * For example: `item in items` is equivalent to `item in items track by $id(item)'. This implies that the DOM elements + * will be associated by item identity in the array. + * + * For example: `item in items track by $id(item)`. A built in `$id()` function can be used to assign a unique + * `$$hashKey` property to each item in the array. This property is then used as a key to associated DOM elements + * with the corresponding item in the array by identity. Moving the same object in array would move the DOM + * element in the same way ian the DOM. + * + * For example: `item in items track by item.id` Is a typical pattern when the items come from the database. In this + * case the object identity does not matter. Two objects are considered equivalent as long as their `id` + * property is same. + * + * @example + * This example initializes the scope to a list of names and + * then uses `ngRepeat` to display every person: + + +
+ I have {{friends.length}} friends. They are: + +
    +
  • + [{{$index + 1}}] {{friend.name}} who is {{friend.age}} years old. +
  • +
+
+
+ + .example-repeat-enter, + .example-repeat-leave, + .example-repeat-move { + -webkit-transition:all linear 0.5s; + -moz-transition:all linear 0.5s; + -ms-transition:all linear 0.5s; + -o-transition:all linear 0.5s; + transition:all linear 0.5s; + } + + .example-repeat-enter { + line-height:0; + opacity:0; + } + .example-repeat-enter.example-repeat-enter-active { + line-height:20px; + opacity:1; + } + + .example-repeat-leave { + opacity:1; + line-height:20px; + } + .example-repeat-leave.example-repeat-leave-active { + opacity:0; + line-height:0; + } + + .example-repeat-move { } + .example-repeat-move.example-repeat-move-active { } + + + it('should render initial data set', function() { + var r = using('.doc-example-live').repeater('ul li'); + expect(r.count()).toBe(10); + expect(r.row(0)).toEqual(["1","John","25"]); + expect(r.row(1)).toEqual(["2","Jessie","30"]); + expect(r.row(9)).toEqual(["10","Samantha","60"]); + expect(binding('friends.length')).toBe("10"); + }); + + it('should update repeater when filter predicate changes', function() { + var r = using('.doc-example-live').repeater('ul li'); + expect(r.count()).toBe(10); + + input('q').enter('ma'); + + expect(r.count()).toBe(2); + expect(r.row(0)).toEqual(["1","Mary","28"]); + expect(r.row(1)).toEqual(["2","Samantha","60"]); + }); + +
+ */ +var ngRepeatDirective = ['$parse', '$animator', function($parse, $animator) { + var NG_REMOVED = '$$NG_REMOVED'; + return { + transclude: 'element', + priority: 1000, + terminal: true, + compile: function(element, attr, linker) { + return function($scope, $element, $attr){ + var animate = $animator($scope, $attr); + var expression = $attr.ngRepeat; + var match = expression.match(/^\s*(.+)\s+in\s+(.*?)\s*(\s+track\s+by\s+(.+)\s*)?$/), + trackByExp, trackByExpGetter, trackByIdFn, lhs, rhs, valueIdentifier, keyIdentifier, + hashFnLocals = {$id: hashKey}; + + if (!match) { + throw Error("Expected ngRepeat in form of '_item_ in _collection_[ track by _id_]' but got '" + + expression + "'."); + } + + lhs = match[1]; + rhs = match[2]; + trackByExp = match[4]; + + if (trackByExp) { + trackByExpGetter = $parse(trackByExp); + trackByIdFn = function(key, value, index) { + // assign key, value, and $index to the locals so that they can be used in hash functions + if (keyIdentifier) hashFnLocals[keyIdentifier] = key; + hashFnLocals[valueIdentifier] = value; + hashFnLocals.$index = index; + return trackByExpGetter($scope, hashFnLocals); + }; + } else { + trackByIdFn = function(key, value) { + return hashKey(value); + } + } + + match = lhs.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/); + if (!match) { + throw Error("'item' in 'item in collection' should be identifier or (key, value) but got '" + + lhs + "'."); + } + valueIdentifier = match[3] || match[1]; + keyIdentifier = match[2]; + + // Store a list of elements from previous run. This is a hash where key is the item from the + // iterator, and the value is objects with following properties. + // - scope: bound scope + // - element: previous element. + // - index: position + var lastBlockMap = {}; + + //watch props + $scope.$watchCollection(rhs, function ngRepeatAction(collection){ + var index, length, + cursor = $element, // current position of the node + nextCursor, + // Same as lastBlockMap but it has the current state. It will become the + // lastBlockMap on the next iteration. + nextBlockMap = {}, + arrayLength, + childScope, + key, value, // key/value of iteration + trackById, + collectionKeys, + block, // last object information {scope, element, id} + nextBlockOrder = []; + + + if (isArrayLike(collection)) { + collectionKeys = collection; + } else { + // if object, extract keys, sort them and use to determine order of iteration over obj props + collectionKeys = []; + for (key in collection) { + if (collection.hasOwnProperty(key) && key.charAt(0) != '$') { + collectionKeys.push(key); + } + } + collectionKeys.sort(); + } + + arrayLength = collectionKeys.length; + + // locate existing items + length = nextBlockOrder.length = collectionKeys.length; + for(index = 0; index < length; index++) { + key = (collection === collectionKeys) ? index : collectionKeys[index]; + value = collection[key]; + trackById = trackByIdFn(key, value, index); + if(lastBlockMap.hasOwnProperty(trackById)) { + block = lastBlockMap[trackById] + delete lastBlockMap[trackById]; + nextBlockMap[trackById] = block; + nextBlockOrder[index] = block; + } else if (nextBlockMap.hasOwnProperty(trackById)) { + // restore lastBlockMap + forEach(nextBlockOrder, function(block) { + if (block && block.element) lastBlockMap[block.id] = block; + }); + // This is a duplicate and we need to throw an error + throw new Error('Duplicates in a repeater are not allowed. Repeater: ' + expression + + ' key: ' + trackById); + } else { + // new never before seen block + nextBlockOrder[index] = { id: trackById }; + nextBlockMap[trackById] = false; + } + } + + // remove existing items + for (key in lastBlockMap) { + if (lastBlockMap.hasOwnProperty(key)) { + block = lastBlockMap[key]; + animate.leave(block.element); + block.element[0][NG_REMOVED] = true; + block.scope.$destroy(); + } + } + + // we are not using forEach for perf reasons (trying to avoid #call) + for (index = 0, length = collectionKeys.length; index < length; index++) { + key = (collection === collectionKeys) ? index : collectionKeys[index]; + value = collection[key]; + block = nextBlockOrder[index]; + + if (block.element) { + // if we have already seen this object, then we need to reuse the + // associated scope/element + childScope = block.scope; + + nextCursor = cursor[0]; + do { + nextCursor = nextCursor.nextSibling; + } while(nextCursor && nextCursor[NG_REMOVED]); + + if (block.element[0] == nextCursor) { + // do nothing + cursor = block.element; + } else { + // existing item which got moved + animate.move(block.element, null, cursor); + cursor = block.element; + } + } else { + // new item which we don't know about + childScope = $scope.$new(); + } + + childScope[valueIdentifier] = value; + if (keyIdentifier) childScope[keyIdentifier] = key; + childScope.$index = index; + childScope.$first = (index === 0); + childScope.$last = (index === (arrayLength - 1)); + childScope.$middle = !(childScope.$first || childScope.$last); + + if (!block.element) { + linker(childScope, function(clone) { + animate.enter(clone, null, cursor); + cursor = clone; + block.scope = childScope; + block.element = clone; + nextBlockMap[block.id] = block; + }); + } + } + lastBlockMap = nextBlockMap; + }); + }; + } + }; +}]; + +/** + * @ngdoc directive + * @name ng.directive:ngShow + * + * @description + * The `ngShow` and `ngHide` directives show or hide a portion of the DOM tree (HTML) + * conditionally based on **"truthy"** values evaluated within an {expression}. In other + * words, if the expression assigned to **ngShow evaluates to a true value** then **the element is set to visible** + * (via `display:block` in css) and **if false** then **the element is set to hidden** (so display:none). + * With ngHide this is the reverse whereas true values cause the element itself to become + * hidden. + * + * Additionally, you can also provide animations via the ngAnimate attribute to animate the **show** + * and **hide** effects. + * + * @animations + * show - happens after the ngShow expression evaluates to a truthy value and the contents are set to visible + * hide - happens before the ngShow expression evaluates to a non truthy value and just before the contents are set to hidden + * + * @element ANY + * @param {expression} ngShow If the {@link guide/expression expression} is truthy + * then the element is shown or hidden respectively. + * + * @example + + + Click me:
+
+ Show: + + I show up when your checkbox is checked. + +
+
+ Hide: + + I hide when your checkbox is checked. + +
+
+ + .example-show, .example-hide { + -webkit-transition:all linear 0.5s; + -moz-transition:all linear 0.5s; + -ms-transition:all linear 0.5s; + -o-transition:all linear 0.5s; + transition:all linear 0.5s; + } + + .example-show { + line-height:0; + opacity:0; + padding:0 10px; + } + .example-show-active.example-show-active { + line-height:20px; + opacity:1; + padding:10px; + border:1px solid black; + background:white; + } + + .example-hide { + line-height:20px; + opacity:1; + padding:10px; + border:1px solid black; + background:white; + } + .example-hide-active.example-hide-active { + line-height:0; + opacity:0; + padding:0 10px; + } + + .check-element { + padding:10px; + border:1px solid black; + background:white; + } + + + it('should check ng-show / ng-hide', function() { + expect(element('.doc-example-live span:first:hidden').count()).toEqual(1); + expect(element('.doc-example-live span:last:visible').count()).toEqual(1); + + input('checked').check(); + + expect(element('.doc-example-live span:first:visible').count()).toEqual(1); + expect(element('.doc-example-live span:last:hidden').count()).toEqual(1); + }); + +
+ */ +//TODO(misko): refactor to remove element from the DOM +var ngShowDirective = ['$animator', function($animator) { + return function(scope, element, attr) { + var animate = $animator(scope, attr); + scope.$watch(attr.ngShow, function ngShowWatchAction(value){ + animate[toBoolean(value) ? 'show' : 'hide'](element); + }); + }; +}]; + + +/** + * @ngdoc directive + * @name ng.directive:ngHide + * + * @description + * The `ngShow` and `ngHide` directives show or hide a portion of the DOM tree (HTML) + * conditionally based on **"truthy"** values evaluated within an {expression}. In other + * words, if the expression assigned to **ngShow evaluates to a true value** then **the element is set to visible** + * (via `display:block` in css) and **if false** then **the element is set to hidden** (so display:none). + * With ngHide this is the reverse whereas true values cause the element itself to become + * hidden. + * + * Additionally, you can also provide animations via the ngAnimate attribute to animate the **show** + * and **hide** effects. + * + * @animations + * show - happens after the ngHide expression evaluates to a non truthy value and the contents are set to visible + * hide - happens after the ngHide expression evaluates to a truthy value and just before the contents are set to hidden + * + * @element ANY + * @param {expression} ngHide If the {@link guide/expression expression} is truthy then + * the element is shown or hidden respectively. + * + * @example + + + Click me:
+
+ Show: + + I show up when your checkbox is checked. + +
+
+ Hide: + + I hide when your checkbox is checked. + +
+
+ + .example-show, .example-hide { + -webkit-transition:all linear 0.5s; + -moz-transition:all linear 0.5s; + -ms-transition:all linear 0.5s; + -o-transition:all linear 0.5s; + transition:all linear 0.5s; + } + + .example-show { + line-height:0; + opacity:0; + padding:0 10px; + } + .example-show.example-show-active { + line-height:20px; + opacity:1; + padding:10px; + border:1px solid black; + background:white; + } + + .example-hide { + line-height:20px; + opacity:1; + padding:10px; + border:1px solid black; + background:white; + } + .example-hide.example-hide-active { + line-height:0; + opacity:0; + padding:0 10px; + } + + .check-element { + padding:10px; + border:1px solid black; + background:white; + } + + + it('should check ng-show / ng-hide', function() { + expect(element('.doc-example-live .check-element:first:hidden').count()).toEqual(1); + expect(element('.doc-example-live .check-element:last:visible').count()).toEqual(1); + + input('checked').check(); + + expect(element('.doc-example-live .check-element:first:visible').count()).toEqual(1); + expect(element('.doc-example-live .check-element:last:hidden').count()).toEqual(1); + }); + +
+ */ +//TODO(misko): refactor to remove element from the DOM +var ngHideDirective = ['$animator', function($animator) { + return function(scope, element, attr) { + var animate = $animator(scope, attr); + scope.$watch(attr.ngHide, function ngHideWatchAction(value){ + animate[toBoolean(value) ? 'hide' : 'show'](element); + }); + }; +}]; + +/** + * @ngdoc directive + * @name ng.directive:ngStyle + * + * @description + * The `ngStyle` directive allows you to set CSS style on an HTML element conditionally. + * + * @element ANY + * @param {expression} ngStyle {@link guide/expression Expression} which evals to an + * object whose keys are CSS style names and values are corresponding values for those CSS + * keys. + * + * @example + + + + +
+ Sample Text +
myStyle={{myStyle}}
+
+ + span { + color: black; + } + + + it('should check ng-style', function() { + expect(element('.doc-example-live span').css('color')).toBe('rgb(0, 0, 0)'); + element('.doc-example-live :button[value=set]').click(); + expect(element('.doc-example-live span').css('color')).toBe('rgb(255, 0, 0)'); + element('.doc-example-live :button[value=clear]').click(); + expect(element('.doc-example-live span').css('color')).toBe('rgb(0, 0, 0)'); + }); + +
+ */ +var ngStyleDirective = ngDirective(function(scope, element, attr) { + scope.$watch(attr.ngStyle, function ngStyleWatchAction(newStyles, oldStyles) { + if (oldStyles && (newStyles !== oldStyles)) { + forEach(oldStyles, function(val, style) { element.css(style, '');}); + } + if (newStyles) element.css(newStyles); + }, true); +}); + +/** + * @ngdoc directive + * @name ng.directive:ngSwitch + * @restrict EA + * + * @description + * The ngSwitch directive is used to conditionally swap DOM structure on your template based on a scope expression. + * Elements within ngSwitch but without ngSwitchWhen or ngSwitchDefault directives will be preserved at the location + * as specified in the template. + * + * The directive itself works similar to ngInclude, however, instead of downloading template code (or loading it + * from the template cache), ngSwitch simply choses one of the nested elements and makes it visible based on which element + * matches the value obtained from the evaluated expression. In other words, you define a container element + * (where you place the directive), place an expression on the **on="..." attribute** + * (or the **ng-switch="..." attribute**), define any inner elements inside of the directive and place + * a when attribute per element. The when attribute is used to inform ngSwitch which element to display when the on + * expression is evaluated. If a matching expression is not found via a when attribute then an element with the default + * attribute is displayed. + * + * Additionally, you can also provide animations via the ngAnimate attribute to animate the **enter** + * and **leave** effects. + * + * @animations + * enter - happens after the ngSwtich contents change and the matched child element is placed inside the container + * leave - happens just after the ngSwitch contents change and just before the former contents are removed from the DOM + * + * @usage + * + * ... + * ... + * ... + * + * + * @scope + * @param {*} ngSwitch|on expression to match against ng-switch-when. + * @paramDescription + * On child elements add: + * + * * `ngSwitchWhen`: the case statement to match against. If match then this + * case will be displayed. If the same match appears multiple times, all the + * elements will be displayed. + * * `ngSwitchDefault`: the default case when no other case match. If there + * are multiple default cases, all of them will be displayed when no other + * case match. + * + * + * @example + + +
+ + selection={{selection}} +
+
+
Settings Div
+
Home Span
+
default
+
+
+
+ + function Ctrl($scope) { + $scope.items = ['settings', 'home', 'other']; + $scope.selection = $scope.items[0]; + } + + + .example-leave, .example-enter { + -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + -ms-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; + + position:absolute; + top:0; + left:0; + right:0; + bottom:0; + } + + .example-animate-container > * { + display:block; + padding:10px; + } + + .example-enter { + top:-50px; + } + .example-enter.example-enter-active { + top:0; + } + + .example-leave { + top:0; + } + .example-leave.example-leave-active { + top:50px; + } + + + it('should start in settings', function() { + expect(element('.doc-example-live [ng-switch]').text()).toMatch(/Settings Div/); + }); + it('should change to home', function() { + select('selection').option('home'); + expect(element('.doc-example-live [ng-switch]').text()).toMatch(/Home Span/); + }); + it('should select default', function() { + select('selection').option('other'); + expect(element('.doc-example-live [ng-switch]').text()).toMatch(/default/); + }); + +
+ */ +var ngSwitchDirective = ['$animator', function($animator) { + return { + restrict: 'EA', + require: 'ngSwitch', + + // asks for $scope to fool the BC controller module + controller: ['$scope', function ngSwitchController() { + this.cases = {}; + }], + link: function(scope, element, attr, ngSwitchController) { + var animate = $animator(scope, attr); + var watchExpr = attr.ngSwitch || attr.on, + selectedTranscludes, + selectedElements, + selectedScopes = []; + + scope.$watch(watchExpr, function ngSwitchWatchAction(value) { + for (var i= 0, ii=selectedScopes.length; i + + +
+
+
+ {{text}} +
+
+ + it('should have transcluded', function() { + input('title').enter('TITLE'); + input('text').enter('TEXT'); + expect(binding('title')).toEqual('TITLE'); + expect(binding('text')).toEqual('TEXT'); + }); + + + * + */ +var ngTranscludeDirective = ngDirective({ + controller: ['$transclude', '$element', function($transclude, $element) { + $transclude(function(clone) { + $element.append(clone); + }); + }] +}); + +/** + * @ngdoc directive + * @name ng.directive:ngView + * @restrict ECA + * + * @description + * # Overview + * `ngView` is a directive that complements the {@link ng.$route $route} service by + * including the rendered template of the current route into the main layout (`index.html`) file. + * Every time the current route changes, the included view changes with it according to the + * configuration of the `$route` service. + * + * Additionally, you can also provide animations via the ngAnimate attribute to animate the **enter** + * and **leave** effects. + * + * @animations + * enter - happens just after the ngView contents are changed (when the new view DOM element is inserted into the DOM) + * leave - happens just after the current ngView contents change and just before the former contents are removed from the DOM + * + * @scope + * @example + + +
+ Choose: + Moby | + Moby: Ch1 | + Gatsby | + Gatsby: Ch4 | + Scarlet Letter
+ +
+
+ +
$location.path() = {{main.$location.path()}}
+
$route.current.templateUrl = {{main.$route.current.templateUrl}}
+
$route.current.params = {{main.$route.current.params}}
+
$route.current.scope.name = {{main.$route.current.scope.name}}
+
$routeParams = {{main.$routeParams}}
+
+
+ + +
+ controller: {{book.name}}
+ Book Id: {{book.params.bookId}}
+
+
+ + +
+ controller: {{chapter.name}}
+ Book Id: {{chapter.params.bookId}}
+ Chapter Id: {{chapter.params.chapterId}} +
+
+ + + .example-leave, .example-enter { + -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s; + -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s; + -ms-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s; + -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s; + transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s; + } + + .example-animate-container { + position:relative; + height:100px; + } + + .example-animate-container > * { + display:block; + width:100%; + border-left:1px solid black; + + position:absolute; + top:0; + left:0; + right:0; + bottom:0; + padding:10px; + } + + .example-enter { + left:100%; + } + .example-enter.example-enter-active { + left:0; + } + + .example-leave { } + .example-leave.example-leave-active { + left:-100%; + } + + + + angular.module('ngView', [], function($routeProvider, $locationProvider) { + $routeProvider.when('/Book/:bookId', { + templateUrl: 'book.html', + controller: BookCntl, + controllerAs: 'book' + }); + $routeProvider.when('/Book/:bookId/ch/:chapterId', { + templateUrl: 'chapter.html', + controller: ChapterCntl, + controllerAs: 'chapter' + }); + + // configure html5 to get links working on jsfiddle + $locationProvider.html5Mode(true); + }); + + function MainCntl($route, $routeParams, $location) { + this.$route = $route; + this.$location = $location; + this.$routeParams = $routeParams; + } + + function BookCntl($routeParams) { + this.name = "BookCntl"; + this.params = $routeParams; + } + + function ChapterCntl($routeParams) { + this.name = "ChapterCntl"; + this.params = $routeParams; + } + + + + it('should load and compile correct template', function() { + element('a:contains("Moby: Ch1")').click(); + var content = element('.doc-example-live [ng-view]').text(); + expect(content).toMatch(/controller\: ChapterCntl/); + expect(content).toMatch(/Book Id\: Moby/); + expect(content).toMatch(/Chapter Id\: 1/); + + element('a:contains("Scarlet")').click(); + content = element('.doc-example-live [ng-view]').text(); + expect(content).toMatch(/controller\: BookCntl/); + expect(content).toMatch(/Book Id\: Scarlet/); + }); + +
+ */ + + +/** + * @ngdoc event + * @name ng.directive:ngView#$viewContentLoaded + * @eventOf ng.directive:ngView + * @eventType emit on the current ngView scope + * @description + * Emitted every time the ngView content is reloaded. + */ +var ngViewDirective = ['$http', '$templateCache', '$route', '$anchorScroll', '$compile', + '$controller', '$animator', + function($http, $templateCache, $route, $anchorScroll, $compile, + $controller, $animator) { + return { + restrict: 'ECA', + terminal: true, + link: function(scope, element, attr) { + var lastScope, + onloadExp = attr.onload || '', + animate = $animator(scope, attr); + + scope.$on('$routeChangeSuccess', update); + update(); + + + function destroyLastScope() { + if (lastScope) { + lastScope.$destroy(); + lastScope = null; + } + } + + function clearContent() { + animate.leave(element.contents(), element); + destroyLastScope(); + } + + function update() { + var locals = $route.current && $route.current.locals, + template = locals && locals.$template; + + if (template) { + clearContent(); + var enterElements = jqLite('
').html(template).contents(); + animate.enter(enterElements, element); + + var link = $compile(enterElements), + current = $route.current, + controller; + + lastScope = current.scope = scope.$new(); + if (current.controller) { + locals.$scope = lastScope; + controller = $controller(current.controller, locals); + if (current.controllerAs) { + lastScope[current.controllerAs] = controller; + } + element.children().data('$ngControllerController', controller); + } + + link(lastScope); + lastScope.$emit('$viewContentLoaded'); + lastScope.$eval(onloadExp); + + // $anchorScroll might listen on event... + $anchorScroll(); + } else { + clearContent(); + } + } + } + }; +}]; + +/** + * @ngdoc directive + * @name ng.directive:script + * + * @description + * Load content of a script tag, with type `text/ng-template`, into `$templateCache`, so that the + * template can be used by `ngInclude`, `ngView` or directive templates. + * + * @restrict E + * @param {'text/ng-template'} type must be set to `'text/ng-template'` + * + * @example + + + + + Load inlined template +
+
+ + it('should load template defined inside script tag', function() { + element('#tpl-link').click(); + expect(element('#tpl-content').text()).toMatch(/Content of the template/); + }); + +
+ */ +var scriptDirective = ['$templateCache', function($templateCache) { + return { + restrict: 'E', + terminal: true, + compile: function(element, attr) { + if (attr.type == 'text/ng-template') { + var templateUrl = attr.id, + // IE is not consistent, in scripts we have to read .text but in other nodes we have to read .textContent + text = element[0].text; + + $templateCache.put(templateUrl, text); + } + } + }; +}]; + +/** + * @ngdoc directive + * @name ng.directive:select + * @restrict E + * + * @description + * HTML `SELECT` element with angular data-binding. + * + * # `ngOptions` + * + * Optionally `ngOptions` attribute can be used to dynamically generate a list of `
+ + + it('should check ng-options', function() { + expect(binding('{selected_color:color}')).toMatch('red'); + select('color').option('0'); + expect(binding('{selected_color:color}')).toMatch('black'); + using('.nullable').select('color').option(''); + expect(binding('{selected_color:color}')).toMatch('null'); + }); + + + */ + +var ngOptionsDirective = valueFn({ terminal: true }); +var selectDirective = ['$compile', '$parse', function($compile, $parse) { + //0000111110000000000022220000000000000000000000333300000000000000444444444444444440000000005555555555555555500000006666666666666666600000000000000007777000000000000000000088888 + var NG_OPTIONS_REGEXP = /^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/, + nullModelCtrl = {$setViewValue: noop}; + + return { + restrict: 'E', + require: ['select', '?ngModel'], + controller: ['$element', '$scope', '$attrs', function($element, $scope, $attrs) { + var self = this, + optionsMap = {}, + ngModelCtrl = nullModelCtrl, + nullOption, + unknownOption; + + + self.databound = $attrs.ngModel; + + + self.init = function(ngModelCtrl_, nullOption_, unknownOption_) { + ngModelCtrl = ngModelCtrl_; + nullOption = nullOption_; + unknownOption = unknownOption_; + } + + + self.addOption = function(value) { + optionsMap[value] = true; + + if (ngModelCtrl.$viewValue == value) { + $element.val(value); + if (unknownOption.parent()) unknownOption.remove(); + } + }; + + + self.removeOption = function(value) { + if (this.hasOption(value)) { + delete optionsMap[value]; + if (ngModelCtrl.$viewValue == value) { + this.renderUnknownOption(value); + } + } + }; + + + self.renderUnknownOption = function(val) { + var unknownVal = '? ' + hashKey(val) + ' ?'; + unknownOption.val(unknownVal); + $element.prepend(unknownOption); + $element.val(unknownVal); + unknownOption.prop('selected', true); // needed for IE + } + + + self.hasOption = function(value) { + return optionsMap.hasOwnProperty(value); + } + + $scope.$on('$destroy', function() { + // disable unknown option so that we don't do work when the whole select is being destroyed + self.renderUnknownOption = noop; + }); + }], + + link: function(scope, element, attr, ctrls) { + // if ngModel is not defined, we don't need to do anything + if (!ctrls[1]) return; + + var selectCtrl = ctrls[0], + ngModelCtrl = ctrls[1], + multiple = attr.multiple, + optionsExp = attr.ngOptions, + nullOption = false, // if false, user will not be able to select it (used by ngOptions) + emptyOption, + // we can't just jqLite('