angularjs-rails 1.0.8 → 1.2.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (303) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/angularjs-rails/version.rb +1 -1
  4. data/vendor/assets/javascripts/angular-animate.js +677 -0
  5. data/vendor/assets/javascripts/angular-bootstrap-prettify.js +4 -14
  6. data/vendor/assets/javascripts/angular-bootstrap.js +1 -1
  7. data/vendor/assets/javascripts/angular-cookies.js +2 -14
  8. data/vendor/assets/javascripts/angular-loader.js +38 -4
  9. data/vendor/assets/javascripts/angular-mocks.js +225 -78
  10. data/vendor/assets/javascripts/angular-resource.js +181 -90
  11. data/vendor/assets/javascripts/angular-route.js +860 -0
  12. data/vendor/assets/javascripts/angular-sanitize.js +63 -61
  13. data/vendor/assets/javascripts/angular-scenario.js +21160 -18250
  14. data/vendor/assets/javascripts/angular-touch.js +536 -0
  15. data/vendor/assets/javascripts/angular.js +7827 -5083
  16. metadata +8 -292
  17. data/vendor/assets/javascripts/i18n/angular-locale_af-na.js +0 -98
  18. data/vendor/assets/javascripts/i18n/angular-locale_af-za.js +0 -98
  19. data/vendor/assets/javascripts/i18n/angular-locale_af.js +0 -98
  20. data/vendor/assets/javascripts/i18n/angular-locale_am-et.js +0 -98
  21. data/vendor/assets/javascripts/i18n/angular-locale_am.js +0 -98
  22. data/vendor/assets/javascripts/i18n/angular-locale_ar-001.js +0 -98
  23. data/vendor/assets/javascripts/i18n/angular-locale_ar-ae.js +0 -98
  24. data/vendor/assets/javascripts/i18n/angular-locale_ar-bh.js +0 -98
  25. data/vendor/assets/javascripts/i18n/angular-locale_ar-dz.js +0 -98
  26. data/vendor/assets/javascripts/i18n/angular-locale_ar-eg.js +0 -98
  27. data/vendor/assets/javascripts/i18n/angular-locale_ar-iq.js +0 -98
  28. data/vendor/assets/javascripts/i18n/angular-locale_ar-jo.js +0 -98
  29. data/vendor/assets/javascripts/i18n/angular-locale_ar-kw.js +0 -98
  30. data/vendor/assets/javascripts/i18n/angular-locale_ar-lb.js +0 -98
  31. data/vendor/assets/javascripts/i18n/angular-locale_ar-ly.js +0 -98
  32. data/vendor/assets/javascripts/i18n/angular-locale_ar-ma.js +0 -98
  33. data/vendor/assets/javascripts/i18n/angular-locale_ar-om.js +0 -98
  34. data/vendor/assets/javascripts/i18n/angular-locale_ar-qa.js +0 -98
  35. data/vendor/assets/javascripts/i18n/angular-locale_ar-sa.js +0 -98
  36. data/vendor/assets/javascripts/i18n/angular-locale_ar-sd.js +0 -98
  37. data/vendor/assets/javascripts/i18n/angular-locale_ar-sy.js +0 -98
  38. data/vendor/assets/javascripts/i18n/angular-locale_ar-tn.js +0 -98
  39. data/vendor/assets/javascripts/i18n/angular-locale_ar-ye.js +0 -98
  40. data/vendor/assets/javascripts/i18n/angular-locale_ar.js +0 -98
  41. data/vendor/assets/javascripts/i18n/angular-locale_bg-bg.js +0 -98
  42. data/vendor/assets/javascripts/i18n/angular-locale_bg.js +0 -98
  43. data/vendor/assets/javascripts/i18n/angular-locale_bn-bd.js +0 -98
  44. data/vendor/assets/javascripts/i18n/angular-locale_bn-in.js +0 -98
  45. data/vendor/assets/javascripts/i18n/angular-locale_bn.js +0 -98
  46. data/vendor/assets/javascripts/i18n/angular-locale_ca-ad.js +0 -98
  47. data/vendor/assets/javascripts/i18n/angular-locale_ca-es.js +0 -98
  48. data/vendor/assets/javascripts/i18n/angular-locale_ca.js +0 -98
  49. data/vendor/assets/javascripts/i18n/angular-locale_chr.js +0 -4
  50. data/vendor/assets/javascripts/i18n/angular-locale_cs-cz.js +0 -98
  51. data/vendor/assets/javascripts/i18n/angular-locale_cs.js +0 -98
  52. data/vendor/assets/javascripts/i18n/angular-locale_cy.js +0 -4
  53. data/vendor/assets/javascripts/i18n/angular-locale_da-dk.js +0 -98
  54. data/vendor/assets/javascripts/i18n/angular-locale_da.js +0 -98
  55. data/vendor/assets/javascripts/i18n/angular-locale_de-at.js +0 -98
  56. data/vendor/assets/javascripts/i18n/angular-locale_de-be.js +0 -98
  57. data/vendor/assets/javascripts/i18n/angular-locale_de-ch.js +0 -98
  58. data/vendor/assets/javascripts/i18n/angular-locale_de-de.js +0 -98
  59. data/vendor/assets/javascripts/i18n/angular-locale_de-li.js +0 -98
  60. data/vendor/assets/javascripts/i18n/angular-locale_de-lu.js +0 -98
  61. data/vendor/assets/javascripts/i18n/angular-locale_de.js +0 -98
  62. data/vendor/assets/javascripts/i18n/angular-locale_el-cy.js +0 -98
  63. data/vendor/assets/javascripts/i18n/angular-locale_el-gr.js +0 -98
  64. data/vendor/assets/javascripts/i18n/angular-locale_el-polyton.js +0 -4
  65. data/vendor/assets/javascripts/i18n/angular-locale_el.js +0 -98
  66. data/vendor/assets/javascripts/i18n/angular-locale_en-as.js +0 -98
  67. data/vendor/assets/javascripts/i18n/angular-locale_en-au.js +0 -98
  68. data/vendor/assets/javascripts/i18n/angular-locale_en-bb.js +0 -98
  69. data/vendor/assets/javascripts/i18n/angular-locale_en-be.js +0 -98
  70. data/vendor/assets/javascripts/i18n/angular-locale_en-bm.js +0 -98
  71. data/vendor/assets/javascripts/i18n/angular-locale_en-bw.js +0 -98
  72. data/vendor/assets/javascripts/i18n/angular-locale_en-bz.js +0 -98
  73. data/vendor/assets/javascripts/i18n/angular-locale_en-ca.js +0 -98
  74. data/vendor/assets/javascripts/i18n/angular-locale_en-dsrt-us.js +0 -98
  75. data/vendor/assets/javascripts/i18n/angular-locale_en-dsrt.js +0 -98
  76. data/vendor/assets/javascripts/i18n/angular-locale_en-fm.js +0 -98
  77. data/vendor/assets/javascripts/i18n/angular-locale_en-gb.js +0 -98
  78. data/vendor/assets/javascripts/i18n/angular-locale_en-gu.js +0 -98
  79. data/vendor/assets/javascripts/i18n/angular-locale_en-gy.js +0 -98
  80. data/vendor/assets/javascripts/i18n/angular-locale_en-hk.js +0 -98
  81. data/vendor/assets/javascripts/i18n/angular-locale_en-ie.js +0 -98
  82. data/vendor/assets/javascripts/i18n/angular-locale_en-in.js +0 -98
  83. data/vendor/assets/javascripts/i18n/angular-locale_en-iso.js +0 -98
  84. data/vendor/assets/javascripts/i18n/angular-locale_en-jm.js +0 -98
  85. data/vendor/assets/javascripts/i18n/angular-locale_en-mh.js +0 -98
  86. data/vendor/assets/javascripts/i18n/angular-locale_en-mp.js +0 -98
  87. data/vendor/assets/javascripts/i18n/angular-locale_en-mt.js +0 -98
  88. data/vendor/assets/javascripts/i18n/angular-locale_en-mu.js +0 -98
  89. data/vendor/assets/javascripts/i18n/angular-locale_en-na.js +0 -98
  90. data/vendor/assets/javascripts/i18n/angular-locale_en-nz.js +0 -98
  91. data/vendor/assets/javascripts/i18n/angular-locale_en-ph.js +0 -98
  92. data/vendor/assets/javascripts/i18n/angular-locale_en-pk.js +0 -98
  93. data/vendor/assets/javascripts/i18n/angular-locale_en-pr.js +0 -98
  94. data/vendor/assets/javascripts/i18n/angular-locale_en-pw.js +0 -98
  95. data/vendor/assets/javascripts/i18n/angular-locale_en-sg.js +0 -98
  96. data/vendor/assets/javascripts/i18n/angular-locale_en-tc.js +0 -98
  97. data/vendor/assets/javascripts/i18n/angular-locale_en-tt.js +0 -98
  98. data/vendor/assets/javascripts/i18n/angular-locale_en-um.js +0 -98
  99. data/vendor/assets/javascripts/i18n/angular-locale_en-us.js +0 -98
  100. data/vendor/assets/javascripts/i18n/angular-locale_en-vg.js +0 -98
  101. data/vendor/assets/javascripts/i18n/angular-locale_en-vi.js +0 -98
  102. data/vendor/assets/javascripts/i18n/angular-locale_en-za.js +0 -98
  103. data/vendor/assets/javascripts/i18n/angular-locale_en-zw.js +0 -98
  104. data/vendor/assets/javascripts/i18n/angular-locale_en-zz.js +0 -4
  105. data/vendor/assets/javascripts/i18n/angular-locale_en.js +0 -98
  106. data/vendor/assets/javascripts/i18n/angular-locale_es-419.js +0 -98
  107. data/vendor/assets/javascripts/i18n/angular-locale_es-ar.js +0 -98
  108. data/vendor/assets/javascripts/i18n/angular-locale_es-bo.js +0 -98
  109. data/vendor/assets/javascripts/i18n/angular-locale_es-cl.js +0 -98
  110. data/vendor/assets/javascripts/i18n/angular-locale_es-co.js +0 -98
  111. data/vendor/assets/javascripts/i18n/angular-locale_es-cr.js +0 -98
  112. data/vendor/assets/javascripts/i18n/angular-locale_es-do.js +0 -98
  113. data/vendor/assets/javascripts/i18n/angular-locale_es-ea.js +0 -98
  114. data/vendor/assets/javascripts/i18n/angular-locale_es-ec.js +0 -98
  115. data/vendor/assets/javascripts/i18n/angular-locale_es-es.js +0 -98
  116. data/vendor/assets/javascripts/i18n/angular-locale_es-gq.js +0 -98
  117. data/vendor/assets/javascripts/i18n/angular-locale_es-gt.js +0 -98
  118. data/vendor/assets/javascripts/i18n/angular-locale_es-hn.js +0 -98
  119. data/vendor/assets/javascripts/i18n/angular-locale_es-ic.js +0 -98
  120. data/vendor/assets/javascripts/i18n/angular-locale_es-mx.js +0 -98
  121. data/vendor/assets/javascripts/i18n/angular-locale_es-ni.js +0 -98
  122. data/vendor/assets/javascripts/i18n/angular-locale_es-pa.js +0 -98
  123. data/vendor/assets/javascripts/i18n/angular-locale_es-pe.js +0 -98
  124. data/vendor/assets/javascripts/i18n/angular-locale_es-pr.js +0 -98
  125. data/vendor/assets/javascripts/i18n/angular-locale_es-py.js +0 -98
  126. data/vendor/assets/javascripts/i18n/angular-locale_es-sv.js +0 -98
  127. data/vendor/assets/javascripts/i18n/angular-locale_es-us.js +0 -98
  128. data/vendor/assets/javascripts/i18n/angular-locale_es-uy.js +0 -98
  129. data/vendor/assets/javascripts/i18n/angular-locale_es-ve.js +0 -98
  130. data/vendor/assets/javascripts/i18n/angular-locale_es.js +0 -98
  131. data/vendor/assets/javascripts/i18n/angular-locale_et-ee.js +0 -98
  132. data/vendor/assets/javascripts/i18n/angular-locale_et.js +0 -98
  133. data/vendor/assets/javascripts/i18n/angular-locale_eu-es.js +0 -98
  134. data/vendor/assets/javascripts/i18n/angular-locale_eu.js +0 -98
  135. data/vendor/assets/javascripts/i18n/angular-locale_fa-af.js +0 -98
  136. data/vendor/assets/javascripts/i18n/angular-locale_fa-ir.js +0 -98
  137. data/vendor/assets/javascripts/i18n/angular-locale_fa.js +0 -98
  138. data/vendor/assets/javascripts/i18n/angular-locale_fi-fi.js +0 -98
  139. data/vendor/assets/javascripts/i18n/angular-locale_fi.js +0 -98
  140. data/vendor/assets/javascripts/i18n/angular-locale_fil-ph.js +0 -98
  141. data/vendor/assets/javascripts/i18n/angular-locale_fil.js +0 -98
  142. data/vendor/assets/javascripts/i18n/angular-locale_fr-be.js +0 -98
  143. data/vendor/assets/javascripts/i18n/angular-locale_fr-bf.js +0 -98
  144. data/vendor/assets/javascripts/i18n/angular-locale_fr-bi.js +0 -98
  145. data/vendor/assets/javascripts/i18n/angular-locale_fr-bj.js +0 -98
  146. data/vendor/assets/javascripts/i18n/angular-locale_fr-bl.js +0 -98
  147. data/vendor/assets/javascripts/i18n/angular-locale_fr-ca.js +0 -98
  148. data/vendor/assets/javascripts/i18n/angular-locale_fr-cd.js +0 -98
  149. data/vendor/assets/javascripts/i18n/angular-locale_fr-cf.js +0 -98
  150. data/vendor/assets/javascripts/i18n/angular-locale_fr-cg.js +0 -98
  151. data/vendor/assets/javascripts/i18n/angular-locale_fr-ch.js +0 -98
  152. data/vendor/assets/javascripts/i18n/angular-locale_fr-ci.js +0 -98
  153. data/vendor/assets/javascripts/i18n/angular-locale_fr-cm.js +0 -98
  154. data/vendor/assets/javascripts/i18n/angular-locale_fr-dj.js +0 -98
  155. data/vendor/assets/javascripts/i18n/angular-locale_fr-fr.js +0 -98
  156. data/vendor/assets/javascripts/i18n/angular-locale_fr-ga.js +0 -98
  157. data/vendor/assets/javascripts/i18n/angular-locale_fr-gf.js +0 -98
  158. data/vendor/assets/javascripts/i18n/angular-locale_fr-gn.js +0 -98
  159. data/vendor/assets/javascripts/i18n/angular-locale_fr-gp.js +0 -98
  160. data/vendor/assets/javascripts/i18n/angular-locale_fr-gq.js +0 -98
  161. data/vendor/assets/javascripts/i18n/angular-locale_fr-km.js +0 -98
  162. data/vendor/assets/javascripts/i18n/angular-locale_fr-lu.js +0 -98
  163. data/vendor/assets/javascripts/i18n/angular-locale_fr-mc.js +0 -98
  164. data/vendor/assets/javascripts/i18n/angular-locale_fr-mf.js +0 -98
  165. data/vendor/assets/javascripts/i18n/angular-locale_fr-mg.js +0 -98
  166. data/vendor/assets/javascripts/i18n/angular-locale_fr-ml.js +0 -98
  167. data/vendor/assets/javascripts/i18n/angular-locale_fr-mq.js +0 -98
  168. data/vendor/assets/javascripts/i18n/angular-locale_fr-ne.js +0 -98
  169. data/vendor/assets/javascripts/i18n/angular-locale_fr-re.js +0 -98
  170. data/vendor/assets/javascripts/i18n/angular-locale_fr-rw.js +0 -98
  171. data/vendor/assets/javascripts/i18n/angular-locale_fr-sn.js +0 -98
  172. data/vendor/assets/javascripts/i18n/angular-locale_fr-td.js +0 -98
  173. data/vendor/assets/javascripts/i18n/angular-locale_fr-tg.js +0 -98
  174. data/vendor/assets/javascripts/i18n/angular-locale_fr-yt.js +0 -98
  175. data/vendor/assets/javascripts/i18n/angular-locale_fr.js +0 -98
  176. data/vendor/assets/javascripts/i18n/angular-locale_gl-es.js +0 -98
  177. data/vendor/assets/javascripts/i18n/angular-locale_gl.js +0 -98
  178. data/vendor/assets/javascripts/i18n/angular-locale_gsw-ch.js +0 -98
  179. data/vendor/assets/javascripts/i18n/angular-locale_gsw.js +0 -98
  180. data/vendor/assets/javascripts/i18n/angular-locale_gu-in.js +0 -98
  181. data/vendor/assets/javascripts/i18n/angular-locale_gu.js +0 -98
  182. data/vendor/assets/javascripts/i18n/angular-locale_haw.js +0 -4
  183. data/vendor/assets/javascripts/i18n/angular-locale_he-il.js +0 -98
  184. data/vendor/assets/javascripts/i18n/angular-locale_he.js +0 -98
  185. data/vendor/assets/javascripts/i18n/angular-locale_hi-in.js +0 -98
  186. data/vendor/assets/javascripts/i18n/angular-locale_hi.js +0 -98
  187. data/vendor/assets/javascripts/i18n/angular-locale_hr-hr.js +0 -98
  188. data/vendor/assets/javascripts/i18n/angular-locale_hr.js +0 -98
  189. data/vendor/assets/javascripts/i18n/angular-locale_hu-hu.js +0 -98
  190. data/vendor/assets/javascripts/i18n/angular-locale_hu.js +0 -98
  191. data/vendor/assets/javascripts/i18n/angular-locale_id-id.js +0 -98
  192. data/vendor/assets/javascripts/i18n/angular-locale_id.js +0 -98
  193. data/vendor/assets/javascripts/i18n/angular-locale_in.js +0 -98
  194. data/vendor/assets/javascripts/i18n/angular-locale_is-is.js +0 -98
  195. data/vendor/assets/javascripts/i18n/angular-locale_is.js +0 -98
  196. data/vendor/assets/javascripts/i18n/angular-locale_it-ch.js +0 -98
  197. data/vendor/assets/javascripts/i18n/angular-locale_it-it.js +0 -98
  198. data/vendor/assets/javascripts/i18n/angular-locale_it-sm.js +0 -98
  199. data/vendor/assets/javascripts/i18n/angular-locale_it.js +0 -98
  200. data/vendor/assets/javascripts/i18n/angular-locale_iw.js +0 -98
  201. data/vendor/assets/javascripts/i18n/angular-locale_ja-jp.js +0 -98
  202. data/vendor/assets/javascripts/i18n/angular-locale_ja.js +0 -98
  203. data/vendor/assets/javascripts/i18n/angular-locale_kn-in.js +0 -98
  204. data/vendor/assets/javascripts/i18n/angular-locale_kn.js +0 -98
  205. data/vendor/assets/javascripts/i18n/angular-locale_ko-kr.js +0 -98
  206. data/vendor/assets/javascripts/i18n/angular-locale_ko.js +0 -98
  207. data/vendor/assets/javascripts/i18n/angular-locale_ln-cd.js +0 -98
  208. data/vendor/assets/javascripts/i18n/angular-locale_ln-cg.js +0 -98
  209. data/vendor/assets/javascripts/i18n/angular-locale_ln.js +0 -98
  210. data/vendor/assets/javascripts/i18n/angular-locale_lt-lt.js +0 -98
  211. data/vendor/assets/javascripts/i18n/angular-locale_lt.js +0 -98
  212. data/vendor/assets/javascripts/i18n/angular-locale_lv-lv.js +0 -98
  213. data/vendor/assets/javascripts/i18n/angular-locale_lv.js +0 -98
  214. data/vendor/assets/javascripts/i18n/angular-locale_ml-in.js +0 -98
  215. data/vendor/assets/javascripts/i18n/angular-locale_ml.js +0 -98
  216. data/vendor/assets/javascripts/i18n/angular-locale_mo.js +0 -4
  217. data/vendor/assets/javascripts/i18n/angular-locale_mr-in.js +0 -98
  218. data/vendor/assets/javascripts/i18n/angular-locale_mr.js +0 -98
  219. data/vendor/assets/javascripts/i18n/angular-locale_ms-bn.js +0 -98
  220. data/vendor/assets/javascripts/i18n/angular-locale_ms-my.js +0 -98
  221. data/vendor/assets/javascripts/i18n/angular-locale_ms.js +0 -98
  222. data/vendor/assets/javascripts/i18n/angular-locale_mt-mt.js +0 -98
  223. data/vendor/assets/javascripts/i18n/angular-locale_mt.js +0 -98
  224. data/vendor/assets/javascripts/i18n/angular-locale_nl-aw.js +0 -98
  225. data/vendor/assets/javascripts/i18n/angular-locale_nl-be.js +0 -98
  226. data/vendor/assets/javascripts/i18n/angular-locale_nl-cw.js +0 -98
  227. data/vendor/assets/javascripts/i18n/angular-locale_nl-nl.js +0 -98
  228. data/vendor/assets/javascripts/i18n/angular-locale_nl-sx.js +0 -98
  229. data/vendor/assets/javascripts/i18n/angular-locale_nl.js +0 -98
  230. data/vendor/assets/javascripts/i18n/angular-locale_no.js +0 -98
  231. data/vendor/assets/javascripts/i18n/angular-locale_or-in.js +0 -98
  232. data/vendor/assets/javascripts/i18n/angular-locale_or.js +0 -98
  233. data/vendor/assets/javascripts/i18n/angular-locale_pl-pl.js +0 -98
  234. data/vendor/assets/javascripts/i18n/angular-locale_pl.js +0 -98
  235. data/vendor/assets/javascripts/i18n/angular-locale_pt-ao.js +0 -98
  236. data/vendor/assets/javascripts/i18n/angular-locale_pt-br.js +0 -98
  237. data/vendor/assets/javascripts/i18n/angular-locale_pt-gw.js +0 -98
  238. data/vendor/assets/javascripts/i18n/angular-locale_pt-mz.js +0 -98
  239. data/vendor/assets/javascripts/i18n/angular-locale_pt-pt.js +0 -98
  240. data/vendor/assets/javascripts/i18n/angular-locale_pt-st.js +0 -98
  241. data/vendor/assets/javascripts/i18n/angular-locale_pt.js +0 -98
  242. data/vendor/assets/javascripts/i18n/angular-locale_ro-md.js +0 -98
  243. data/vendor/assets/javascripts/i18n/angular-locale_ro-ro.js +0 -98
  244. data/vendor/assets/javascripts/i18n/angular-locale_ro.js +0 -98
  245. data/vendor/assets/javascripts/i18n/angular-locale_ru-md.js +0 -98
  246. data/vendor/assets/javascripts/i18n/angular-locale_ru-ru.js +0 -98
  247. data/vendor/assets/javascripts/i18n/angular-locale_ru-ua.js +0 -98
  248. data/vendor/assets/javascripts/i18n/angular-locale_ru.js +0 -98
  249. data/vendor/assets/javascripts/i18n/angular-locale_sk-sk.js +0 -98
  250. data/vendor/assets/javascripts/i18n/angular-locale_sk.js +0 -98
  251. data/vendor/assets/javascripts/i18n/angular-locale_sl-si.js +0 -98
  252. data/vendor/assets/javascripts/i18n/angular-locale_sl.js +0 -98
  253. data/vendor/assets/javascripts/i18n/angular-locale_sq-al.js +0 -98
  254. data/vendor/assets/javascripts/i18n/angular-locale_sq.js +0 -98
  255. data/vendor/assets/javascripts/i18n/angular-locale_sr-cyrl-ba.js +0 -98
  256. data/vendor/assets/javascripts/i18n/angular-locale_sr-cyrl-me.js +0 -98
  257. data/vendor/assets/javascripts/i18n/angular-locale_sr-cyrl-rs.js +0 -98
  258. data/vendor/assets/javascripts/i18n/angular-locale_sr-cyrl.js +0 -98
  259. data/vendor/assets/javascripts/i18n/angular-locale_sr-latn-ba.js +0 -98
  260. data/vendor/assets/javascripts/i18n/angular-locale_sr-latn-me.js +0 -98
  261. data/vendor/assets/javascripts/i18n/angular-locale_sr-latn-rs.js +0 -98
  262. data/vendor/assets/javascripts/i18n/angular-locale_sr-latn.js +0 -98
  263. data/vendor/assets/javascripts/i18n/angular-locale_sr-rs.js +0 -4
  264. data/vendor/assets/javascripts/i18n/angular-locale_sr.js +0 -98
  265. data/vendor/assets/javascripts/i18n/angular-locale_sv-fi.js +0 -98
  266. data/vendor/assets/javascripts/i18n/angular-locale_sv-se.js +0 -98
  267. data/vendor/assets/javascripts/i18n/angular-locale_sv.js +0 -98
  268. data/vendor/assets/javascripts/i18n/angular-locale_sw-ke.js +0 -98
  269. data/vendor/assets/javascripts/i18n/angular-locale_sw-tz.js +0 -98
  270. data/vendor/assets/javascripts/i18n/angular-locale_sw.js +0 -98
  271. data/vendor/assets/javascripts/i18n/angular-locale_ta-in.js +0 -98
  272. data/vendor/assets/javascripts/i18n/angular-locale_ta-lk.js +0 -98
  273. data/vendor/assets/javascripts/i18n/angular-locale_ta.js +0 -98
  274. data/vendor/assets/javascripts/i18n/angular-locale_te-in.js +0 -98
  275. data/vendor/assets/javascripts/i18n/angular-locale_te.js +0 -98
  276. data/vendor/assets/javascripts/i18n/angular-locale_th-th.js +0 -98
  277. data/vendor/assets/javascripts/i18n/angular-locale_th.js +0 -98
  278. data/vendor/assets/javascripts/i18n/angular-locale_tl-ph.js +0 -4
  279. data/vendor/assets/javascripts/i18n/angular-locale_tl.js +0 -98
  280. data/vendor/assets/javascripts/i18n/angular-locale_tr-tr.js +0 -98
  281. data/vendor/assets/javascripts/i18n/angular-locale_tr.js +0 -98
  282. data/vendor/assets/javascripts/i18n/angular-locale_uk-ua.js +0 -98
  283. data/vendor/assets/javascripts/i18n/angular-locale_uk.js +0 -98
  284. data/vendor/assets/javascripts/i18n/angular-locale_ur-in.js +0 -98
  285. data/vendor/assets/javascripts/i18n/angular-locale_ur-pk.js +0 -98
  286. data/vendor/assets/javascripts/i18n/angular-locale_ur.js +0 -98
  287. data/vendor/assets/javascripts/i18n/angular-locale_vi-vn.js +0 -98
  288. data/vendor/assets/javascripts/i18n/angular-locale_vi.js +0 -98
  289. data/vendor/assets/javascripts/i18n/angular-locale_zh-cn.js +0 -98
  290. data/vendor/assets/javascripts/i18n/angular-locale_zh-hans-cn.js +0 -98
  291. data/vendor/assets/javascripts/i18n/angular-locale_zh-hans-hk.js +0 -98
  292. data/vendor/assets/javascripts/i18n/angular-locale_zh-hans-mo.js +0 -98
  293. data/vendor/assets/javascripts/i18n/angular-locale_zh-hans-sg.js +0 -98
  294. data/vendor/assets/javascripts/i18n/angular-locale_zh-hans.js +0 -98
  295. data/vendor/assets/javascripts/i18n/angular-locale_zh-hant-hk.js +0 -98
  296. data/vendor/assets/javascripts/i18n/angular-locale_zh-hant-mo.js +0 -98
  297. data/vendor/assets/javascripts/i18n/angular-locale_zh-hant-tw.js +0 -98
  298. data/vendor/assets/javascripts/i18n/angular-locale_zh-hant.js +0 -98
  299. data/vendor/assets/javascripts/i18n/angular-locale_zh-hk.js +0 -98
  300. data/vendor/assets/javascripts/i18n/angular-locale_zh-tw.js +0 -98
  301. data/vendor/assets/javascripts/i18n/angular-locale_zh.js +0 -98
  302. data/vendor/assets/javascripts/i18n/angular-locale_zu-za.js +0 -98
  303. data/vendor/assets/javascripts/i18n/angular-locale_zu.js +0 -98
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c59fed0bfcef2f4e29862266b8384b4d5a0136eb
4
- data.tar.gz: ad2343a98ea54b91666f6b49c088ae80cdd8579e
3
+ metadata.gz: ed6236e90a9d0a7901ae13e8d166f7961ea3886b
4
+ data.tar.gz: 9450ef622e231fd2c738891e274247d5a50bc609
5
5
  SHA512:
6
- metadata.gz: c00d48492bb3d483cd0646cfee8bbbe282797280a01f93cba6887b06e58586b947f2ee835e0ce5fc9d1e7963c8da83e7c4e47eb9052cf12ad06a66fd046c0e27
7
- data.tar.gz: 88c275c1a5420daeda85003093607b086af3d9413f9d163ffd55465e0ba76ac09be8052a04e62ed020de8a1ea419388d31ca9fbc17a626aceb94bc523a99a918
6
+ metadata.gz: 05f7c565521b38ed210f8a4e972e21e331d8ecede171cae3e48fa5fa08b75362d64808bc4c45ebe6077a604f137228849eb56c5d8736c87344f292eeab297e8f
7
+ data.tar.gz: c83a6a5e51c031fd91ea82658357a85966ac1eafe9097203195473487f92b89ca81216a42ab41711bc049b539277defc79f8121103bdb08dab8450b8194a1b7f
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # angularjs-rails <a href="http://badge.fury.io/rb/angularjs-rails"><img src="https://badge.fury.io/rb/angularjs-rails@2x.png" alt="Gem Version" height="18"></a>
1
+ # angularjs-rails
2
2
 
3
3
  angularjs-rails wraps the [Angular.js](http://angularjs.org) library for use in Rails 3.1 and above. Assets will minify automatically during production.
4
4
 
@@ -30,4 +30,4 @@ And similarly, for optional Angular assets:
30
30
 
31
31
  Every attempt is made to mirror the currently shipping Angular.js version number wherever possible.
32
32
 
33
- The major, minor, and patch version numbers will always represent the Angular.js version.
33
+ The major, minor, and patch version numbers will always represent the Angular.js version.
@@ -1,5 +1,5 @@
1
1
  module AngularJS
2
2
  module Rails
3
- VERSION = "1.0.8"
3
+ VERSION = "1.2.0.rc1"
4
4
  end
5
5
  end
@@ -0,0 +1,677 @@
1
+ /**
2
+ * @license AngularJS v1.2.0rc1
3
+ * (c) 2010-2012 Google, Inc. http://angularjs.org
4
+ * License: MIT
5
+ */
6
+ (function(window, angular, undefined) {'use strict';
7
+
8
+ /**
9
+ * @ngdoc overview
10
+ * @name ngAnimate
11
+ * @description
12
+ *
13
+ * ngAnimate
14
+ * =========
15
+ *
16
+ * The ngAnimate module is an optional module that comes packed with AngularJS that can be included within an AngularJS
17
+ * application to provide support for CSS and JavaScript animation hooks.
18
+ *
19
+ * To make use of animations with AngularJS, the `angular-animate.js` JavaScript file must be included into your application
20
+ * and the `ngAnimate` module must be included as a dependency.
21
+ *
22
+ * <pre>
23
+ * angular.module('App', ['ngAnimate']);
24
+ * </pre>
25
+ *
26
+ * Then, to see animations in action, all that is required is to define the appropriate CSS classes
27
+ * or to register a JavaScript animation via the $animation service. The directives that support animation automatically are:
28
+ * `ngRepeat`, `ngInclude`, `ngSwitch`, `ngShow`, `ngHide` and `ngView`. Custom directives can take advantage of animation
29
+ * by using the `$animate` service.
30
+ *
31
+ * Below is a more detailed breakdown of the supported animation events provided by pre-existing ng directives:
32
+ *
33
+ * | Directive | Supported Animations |
34
+ * |---------------------------------------------------------- |----------------------------------------------------|
35
+ * | {@link ng.directive:ngRepeat#animations ngRepeat} | enter, leave and move |
36
+ * | {@link ngRoute.directive:ngView#animations ngView} | enter and leave |
37
+ * | {@link ng.directive:ngInclude#animations ngInclude} | enter and leave |
38
+ * | {@link ng.directive:ngSwitch#animations ngSwitch} | enter and leave |
39
+ * | {@link ng.directive:ngIf#animations ngIf} | enter and leave |
40
+ * | {@link ng.directive:ngShow#animations ngClass} | add and remove |
41
+ * | {@link ng.directive:ngShow#animations ngShow & ngHide} | add and remove (the ng-hide class value) |
42
+ *
43
+ * You can find out more information about animations upon visiting each directive page.
44
+ *
45
+ * Below is an example of how to apply animations to a directive that supports animation hooks:
46
+ *
47
+ * <pre>
48
+ * <style type="text/css">
49
+ * .slide.ng-enter > div,
50
+ * .slide.ng-leave > div {
51
+ * -webkit-transition:0.5s linear all;
52
+ * -moz-transition:0.5s linear all;
53
+ * -o-transition:0.5s linear all;
54
+ * transition:0.5s linear all;
55
+ * }
56
+ *
57
+ * .slide.ng-enter { } /&#42; starting animations for enter &#42;/
58
+ * .slide.ng-enter-active { } /&#42; terminal animations for enter &#42;/
59
+ * .slide.ng-leave { } /&#42; starting animations for leave &#42;/
60
+ * .slide.ng-leave-active { } /&#42; terminal animations for leave &#42;/
61
+ * </style>
62
+ *
63
+ * <!--
64
+ * the animate service will automatically add .ng-enter and .ng-leave to the element
65
+ * to trigger the CSS transition/animations
66
+ * -->
67
+ * <ANY class="slide" ng-include="..."></ANY>
68
+ * </pre>
69
+ *
70
+ * Keep in mind that if an animation is running, any child elements cannot be animated until the parent element's
71
+ * animation has completed.
72
+ *
73
+ * <h2>CSS-defined Animations</h2>
74
+ * The animate service will automatically apply two CSS classes to the animated element and these two CSS classes
75
+ * are designed to contain the start and end CSS styling. Both CSS transitions and keyframe animations are supported
76
+ * and can be used to play along with this naming structure.
77
+ *
78
+ * The following code below demonstrates how to perform animations using **CSS transitions** with Angular:
79
+ *
80
+ * <pre>
81
+ * <style type="text/css">
82
+ * /&#42;
83
+ * The animate class is apart of the element and the ng-enter class
84
+ * is attached to the element once the enter animation event is triggered
85
+ * &#42;/
86
+ * .reveal-animation.ng-enter {
87
+ * -webkit-transition: 1s linear all; /&#42; Safari/Chrome &#42;/
88
+ * -moz-transition: 1s linear all; /&#42; Firefox &#42;/
89
+ * -o-transition: 1s linear all; /&#42; Opera &#42;/
90
+ * transition: 1s linear all; /&#42; IE10+ and Future Browsers &#42;/
91
+ *
92
+ * /&#42; The animation preparation code &#42;/
93
+ * opacity: 0;
94
+ * }
95
+ *
96
+ * /&#42;
97
+ * Keep in mind that you want to combine both CSS
98
+ * classes together to avoid any CSS-specificity
99
+ * conflicts
100
+ * &#42;/
101
+ * .reveal-animation.ng-enter.ng-enter-active {
102
+ * /&#42; The animation code itself &#42;/
103
+ * opacity: 1;
104
+ * }
105
+ * </style>
106
+ *
107
+ * <div class="view-container">
108
+ * <div ng-view class="reveal-animation"></div>
109
+ * </div>
110
+ * </pre>
111
+ *
112
+ * The following code below demonstrates how to perform animations using **CSS animations** with Angular:
113
+ *
114
+ * <pre>
115
+ * <style type="text/css">
116
+ * .reveal-animation.ng-enter {
117
+ * -webkit-animation: enter_sequence 1s linear; /&#42; Safari/Chrome &#42;/
118
+ * -moz-animation: enter_sequence 1s linear; /&#42; Firefox &#42;/
119
+ * -o-animation: enter_sequence 1s linear; /&#42; Opera &#42;/
120
+ * animation: enter_sequence 1s linear; /&#42; IE10+ and Future Browsers &#42;/
121
+ * }
122
+ * &#64-webkit-keyframes enter_sequence {
123
+ * from { opacity:0; }
124
+ * to { opacity:1; }
125
+ * }
126
+ * &#64-moz-keyframes enter_sequence {
127
+ * from { opacity:0; }
128
+ * to { opacity:1; }
129
+ * }
130
+ * &#64-o-keyframes enter_sequence {
131
+ * from { opacity:0; }
132
+ * to { opacity:1; }
133
+ * }
134
+ * &#64keyframes enter_sequence {
135
+ * from { opacity:0; }
136
+ * to { opacity:1; }
137
+ * }
138
+ * </style>
139
+ *
140
+ * <div class="view-container">
141
+ * <div ng-view class="reveal-animation"></div>
142
+ * </div>
143
+ * </pre>
144
+ *
145
+ * Both CSS3 animations and transitions can be used together and the animate service will figure out the correct duration and delay timing.
146
+ *
147
+ * Upon DOM mutation, the event class is added first (something like `ng-enter`), then the browser prepares itself to add
148
+ * the active class (in this case `ng-enter-active`) which then triggers the animation. The animation module will automatically
149
+ * detect the CSS code to determine when the animation ends. Once the animation is over then both CSS classes will be
150
+ * removed from the DOM. If a browser does not support CSS transitions or CSS animations then the animation will start and end
151
+ * immediately resulting in a DOM element that is at its final state. This final state is when the DOM element
152
+ * has no CSS transition/animation classes applied to it.
153
+ *
154
+ * <h2>JavaScript-defined Animations</h2>
155
+ * In the event that you do not want to use CSS3 transitions or CSS3 animations or if you wish to offer animations on browsers that do not
156
+ * yet support CSS transitions/animations, then you can make use of JavaScript animations defined inside of your AngularJS module.
157
+ *
158
+ * <pre>
159
+ * //!annotate="YourApp" Your AngularJS Module|Replace this or ngModule with the module that you used to define your application.
160
+ * var ngModule = angular.module('YourApp', []);
161
+ * ngModule.animation('.my-crazy-animation', function() {
162
+ * return {
163
+ * enter: function(element, done) {
164
+ * //run the animation
165
+ * //!annotate Cancel Animation|This function (if provided) will perform the cancellation of the animation when another is triggered
166
+ * return function(element, done) {
167
+ * //cancel the animation
168
+ * }
169
+ * }
170
+ * leave: function(element, done) { },
171
+ * move: function(element, done) { },
172
+ * show: function(element, done) { },
173
+ * hide: function(element, done) { },
174
+ * addClass: function(element, className, done) { },
175
+ * removeClass: function(element, className, done) { },
176
+ * }
177
+ * });
178
+ * </pre>
179
+ *
180
+ * JavaScript-defined animations are created with a CSS-like class selector and a collection of events which are set to run
181
+ * a javascript callback function. When an animation is triggered, $animate will look for a matching animation which fits
182
+ * the element's CSS class attribute value and then run the matching animation event function (if found).
183
+ * In other words, if the CSS classes present on the animated element match any of the JavaScript animations then the callback function
184
+ * be executed. It should be also noted that only simple class selectors are allowed.
185
+ *
186
+ * Within a JavaScript animation, an object containing various event callback animation functions is expected to be returned.
187
+ * As explained above, these callbacks are triggered based on the animation event. Therefore if an enter animation is run,
188
+ * and the JavaScript animation is found, then the enter callback will handle that animation (in addition to the CSS keyframe animation
189
+ * or transition code that is defined via a stylesheet).
190
+ *
191
+ */
192
+
193
+ angular.module('ngAnimate', ['ng'])
194
+
195
+ /**
196
+ * @ngdoc object
197
+ * @name ngAnimate.$animateProvider
198
+ * @description
199
+ *
200
+ * The $AnimationProvider provider allows developers to register and access custom JavaScript animations directly inside
201
+ * of a module. When an animation is triggered, the $animate service will query the $animation function to find any
202
+ * animations that match the provided name value.
203
+ *
204
+ * Please visit the {@link ngAnimate ngAnimate} module overview page learn more about how to use animations in your application.
205
+ *
206
+ */
207
+ .config(['$provide', '$animateProvider', function($provide, $animateProvider) {
208
+ var noop = angular.noop;
209
+ var forEach = angular.forEach;
210
+ var selectors = $animateProvider.$$selectors;
211
+
212
+ var NG_ANIMATE_STATE = '$$ngAnimateState';
213
+ var rootAnimateState = {running:true};
214
+ $provide.decorator('$animate', ['$delegate', '$injector', '$sniffer', '$rootElement', '$timeout',
215
+ function($delegate, $injector, $sniffer, $rootElement, $timeout) {
216
+
217
+ $rootElement.data(NG_ANIMATE_STATE, rootAnimateState);
218
+
219
+ function lookup(name) {
220
+ if (name) {
221
+ var matches = [],
222
+ flagMap = {},
223
+ classes = name.substr(1).split('.');
224
+
225
+ //the empty string value is the default animation
226
+ //operation which performs CSS transition and keyframe
227
+ //animations sniffing. This is always included for each
228
+ //element animation procedure
229
+ classes.push('');
230
+
231
+ for(var i=0; i < classes.length; i++) {
232
+ var klass = classes[i],
233
+ selectorFactoryName = selectors[klass];
234
+ if(selectorFactoryName && !flagMap[klass]) {
235
+ matches.push($injector.get(selectorFactoryName));
236
+ flagMap[klass] = true;
237
+ }
238
+ }
239
+ return matches;
240
+ }
241
+ }
242
+
243
+ /**
244
+ * @ngdoc object
245
+ * @name ngAnimate.$animate
246
+ * @requires $timeout, $sniffer, $rootElement
247
+ * @function
248
+ *
249
+ * @description
250
+ * The `$animate` service provides animation detection support while performing DOM operations (enter, leave and move)
251
+ * as well as during addClass and removeClass operations. When any of these operations are run, the $animate service
252
+ * will examine any JavaScript-defined animations (which are defined by using the $animateProvider provider object)
253
+ * as well as any CSS-defined animations against the CSS classes present on the element once the DOM operation is run.
254
+ *
255
+ * The `$animate` service is used behind the scenes with pre-existing directives and animation with these directives
256
+ * will work out of the box without any extra configuration.
257
+ *
258
+ * Please visit the {@link ngAnimate ngAnimate} module overview page learn more about how to use animations in your application.
259
+ *
260
+ */
261
+ return {
262
+ /**
263
+ * @ngdoc function
264
+ * @name ngAnimate.$animate#enter
265
+ * @methodOf ngAnimate.$animate
266
+ * @function
267
+ *
268
+ * @description
269
+ * Appends the element to the parent element that resides in the document and then runs the enter animation. Once
270
+ * the animation is started, the following CSS classes will be present on the element for the duration of the animation:
271
+ *
272
+ * Below is a breakdown of each step that occurs during enter animation:
273
+ *
274
+ * | Animation Step | What the element class attribute looks like |
275
+ * |----------------------------------------------------------------------------------------------|-----------------------------------------------|
276
+ * | 1. $animate.enter(...) is called | class="my-animation" |
277
+ * | 2. element is inserted into the parent element or beside the after element | class="my-animation" |
278
+ * | 3. the .ng-enter class is added to the element | class="my-animation ng-enter" |
279
+ * | 4. $animate runs any JavaScript-defined animations on the element | class="my-animation ng-enter" |
280
+ * | 5. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-enter" |
281
+ * | 6. the .ng-enter-active class is added (this triggers the CSS transition/animation) | class="my-animation ng-enter ng-enter-active" |
282
+ * | 7. $animate waits for X milliseconds for the animation to complete | class="my-animation ng-enter ng-enter-active" |
283
+ * | 8. The animation ends and both CSS classes are removed from the element | class="my-animation" |
284
+ * | 9. The done() callback is fired (if provided) | class="my-animation" |
285
+ *
286
+ * @param {jQuery/jqLite element} element the element that will be the focus of the enter animation
287
+ * @param {jQuery/jqLite element} parent the parent element of the element that will be the focus of the enter animation
288
+ * @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
289
+ * @param {function()=} done callback function that will be called once the animation is complete
290
+ */
291
+ enter : function(element, parent, after, done) {
292
+ $delegate.enter(element, parent, after);
293
+ performAnimation('enter', 'ng-enter', element, parent, after, done);
294
+ },
295
+
296
+ /**
297
+ * @ngdoc function
298
+ * @name ngAnimate.$animate#leave
299
+ * @methodOf ngAnimate.$animate
300
+ * @function
301
+ *
302
+ * @description
303
+ * Runs the leave animation operation and, upon completion, removes the element from the DOM. Once
304
+ * the animation is started, the following CSS classes will be added for the duration of the animation:
305
+ *
306
+ * Below is a breakdown of each step that occurs during enter animation:
307
+ *
308
+ * | Animation Step | What the element class attribute looks like |
309
+ * |----------------------------------------------------------------------------------------------|----------------------------------------------|
310
+ * | 1. $animate.leave(...) is called | class="my-animation" |
311
+ * | 2. the .ng-leave class is added to the element | class="my-animation ng-leave" |
312
+ * | 3. $animate runs any JavaScript-defined animations on the element | class="my-animation ng-leave" |
313
+ * | 4. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-leave" |
314
+ * | 5. the .ng-leave-active class is added (this triggers the CSS transition/animation) | class="my-animation ng-leave ng-leave-active |
315
+ * | 6. $animate waits for X milliseconds for the animation to complete | class="my-animation ng-leave ng-leave-active |
316
+ * | 7. The animation ends and both CSS classes are removed from the element | class="my-animation" |
317
+ * | 8. The element is removed from the DOM | ... |
318
+ * | 9. The done() callback is fired (if provided) | ... |
319
+ *
320
+ * @param {jQuery/jqLite element} element the element that will be the focus of the leave animation
321
+ * @param {function()=} done callback function that will be called once the animation is complete
322
+ */
323
+ leave : function(element, done) {
324
+ performAnimation('leave', 'ng-leave', element, null, null, function() {
325
+ $delegate.leave(element, done);
326
+ });
327
+ },
328
+
329
+ /**
330
+ * @ngdoc function
331
+ * @name ngAnimate.$animate#move
332
+ * @methodOf ngAnimate.$animate
333
+ * @function
334
+ *
335
+ * @description
336
+ * Fires the move DOM operation. Just before the animation starts, the animate service will either append it into the parent container or
337
+ * add the element directly after the after element if present. Then the move animation will be run. Once
338
+ * the animation is started, the following CSS classes will be added for the duration of the animation:
339
+ *
340
+ * Below is a breakdown of each step that occurs during move animation:
341
+ *
342
+ * | Animation Step | What the element class attribute looks like |
343
+ * |----------------------------------------------------------------------------------------------|---------------------------------------------|
344
+ * | 1. $animate.move(...) is called | class="my-animation" |
345
+ * | 2. element is moved into the parent element or beside the after element | class="my-animation" |
346
+ * | 3. the .ng-move class is added to the element | class="my-animation ng-move" |
347
+ * | 4. $animate runs any JavaScript-defined animations on the element | class="my-animation ng-move" |
348
+ * | 5. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-move" |
349
+ * | 6. the .ng-move-active class is added (this triggers the CSS transition/animation) | class="my-animation ng-move ng-move-active" |
350
+ * | 7. $animate waits for X milliseconds for the animation to complete | class="my-animation ng-move ng-move-active" |
351
+ * | 8. The animation ends and both CSS classes are removed from the element | class="my-animation" |
352
+ * | 9. The done() callback is fired (if provided) | class="my-animation" |
353
+ *
354
+ * @param {jQuery/jqLite element} element the element that will be the focus of the move animation
355
+ * @param {jQuery/jqLite element} parent the parent element of the element that will be the focus of the move animation
356
+ * @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
357
+ * @param {function()=} done callback function that will be called once the animation is complete
358
+ */
359
+ move : function(element, parent, after, done) {
360
+ $delegate.move(element, parent, after);
361
+ performAnimation('move', 'ng-move', element, null, null, done);
362
+ },
363
+
364
+ /**
365
+ * @ngdoc function
366
+ * @name ngAnimate.$animate#addClass
367
+ * @methodOf ngAnimate.$animate
368
+ *
369
+ * @description
370
+ * Triggers a custom animation event based off the className variable and then attaches the className value to the element as a CSS class.
371
+ * Unlike the other animation methods, the animate service will suffix the className value with {@type -add} in order to provide
372
+ * the animate service the setup and active CSS classes in order to trigger the animation.
373
+ *
374
+ * Below is a breakdown of each step that occurs during addClass animation:
375
+ *
376
+ * | Animation Step | What the element class attribute looks like |
377
+ * |------------------------------------------------------------------------------------------------|---------------------------------------------|
378
+ * | 1. $animate.addClass(element, 'super') is called | class="" |
379
+ * | 2. the .super-add class is added to the element | class="super-add" |
380
+ * | 3. $animate runs any JavaScript-defined animations on the element | class="super-add" |
381
+ * | 4. $animate scans the element styles to get the CSS transition/animation duration and delay | class="super-add" |
382
+ * | 5. the .super-add-active class is added (this triggers the CSS transition/animation) | class="super-add super-add-active" |
383
+ * | 6. $animate waits for X milliseconds for the animation to complete | class="super-add super-add-active" |
384
+ * | 7. The animation ends and both CSS classes are removed from the element | class="" |
385
+ * | 8. The super class is added to the element | class="super" |
386
+ * | 9. The done() callback is fired (if provided) | class="super" |
387
+ *
388
+ * @param {jQuery/jqLite element} element the element that will be animated
389
+ * @param {string} className the CSS class that will be animated and then attached to the element
390
+ * @param {function()=} done callback function that will be called once the animation is complete
391
+ */
392
+ addClass : function(element, className, done) {
393
+ performAnimation('addClass', className, element, null, null, function() {
394
+ $delegate.addClass(element, className, done);
395
+ });
396
+ },
397
+
398
+ /**
399
+ * @ngdoc function
400
+ * @name ngAnimate.$animate#removeClass
401
+ * @methodOf ngAnimate.$animate
402
+ *
403
+ * @description
404
+ * Triggers a custom animation event based off the className variable and then removes the CSS class provided by the className value
405
+ * from the element. Unlike the other animation methods, the animate service will suffix the className value with {@type -remove} in
406
+ * order to provide the animate service the setup and active CSS classes in order to trigger the animation.
407
+ *
408
+ * Below is a breakdown of each step that occurs during removeClass animation:
409
+ *
410
+ * | Animation Step | What the element class attribute looks like |
411
+ * |-----------------------------------------------------------------------------------------------|-------------------------------------------------|
412
+ * | 1. $animate.removeClass(element, 'super') is called | class="super" |
413
+ * | 2. the .super-remove class is added to the element | class="super super-remove" |
414
+ * | 3. $animate runs any JavaScript-defined animations on the element | class="super super-remove" |
415
+ * | 4. $animate scans the element styles to get the CSS transition/animation duration and delay | class="super super-remove" |
416
+ * | 5. the .super-remove-active class is added (this triggers the CSS transition/animation) | class="super super-remove super-remove-active" |
417
+ * | 6. $animate waits for X milliseconds for the animation to complete | class="super super-remove super-remove-active" |
418
+ * | 7. The animation ends and both CSS all three classes are removed from the element | class="" |
419
+ * | 8. The done() callback is fired (if provided) | class="" |
420
+ *
421
+ * @param {jQuery/jqLite element} element the element that will be animated
422
+ * @param {string} className the CSS class that will be animated and then removed from the element
423
+ * @param {function()=} done callback function that will be called once the animation is complete
424
+ */
425
+ removeClass : function(element, className, done) {
426
+ performAnimation('removeClass', className, element, null, null, function() {
427
+ $delegate.removeClass(element, className, done);
428
+ });
429
+ },
430
+
431
+ /**
432
+ * @ngdoc function
433
+ * @name ngAnimate.$animate#enabled
434
+ * @methodOf ngAnimate.$animate
435
+ * @function
436
+ *
437
+ * @param {boolean=} value If provided then set the animation on or off.
438
+ * @return {boolean} Current animation state.
439
+ *
440
+ * @description
441
+ * Globally enables/disables animations.
442
+ *
443
+ */
444
+ enabled : function(value) {
445
+ if (arguments.length) {
446
+ rootAnimateState.running = !value;
447
+ }
448
+ return !rootAnimateState.running;
449
+ }
450
+ };
451
+
452
+ /*
453
+ all animations call this shared animation triggering function internally.
454
+ The event variable refers to the JavaScript animation event that will be triggered
455
+ and the className value is the name of the animation that will be applied within the
456
+ CSS code. Element, parent and after are provided DOM elements for the animation
457
+ and the onComplete callback will be fired once the animation is fully complete.
458
+ */
459
+ function performAnimation(event, className, element, parent, after, onComplete) {
460
+ var classes = (element.attr('class') || '') + ' ' + className;
461
+ var animationLookup = (' ' + classes).replace(/\s+/g,'.'),
462
+ animations = [];
463
+ forEach(lookup(animationLookup), function(animation, index) {
464
+ animations.push({
465
+ start : animation[event]
466
+ });
467
+ });
468
+
469
+ if (!parent) {
470
+ parent = after ? after.parent() : element.parent();
471
+ }
472
+ var disabledAnimation = { running : true };
473
+
474
+ //skip the animation if animations are disabled, a parent is already being animated
475
+ //or the element is not currently attached to the document body.
476
+ if ((parent.inheritedData(NG_ANIMATE_STATE) || disabledAnimation).running) {
477
+ //avoid calling done() since there is no need to remove any
478
+ //data or className values since this happens earlier than that
479
+ //and also use a timeout so that it won't be asynchronous
480
+ $timeout(onComplete || noop, 0, false);
481
+ return;
482
+ }
483
+
484
+ var ngAnimateState = element.data(NG_ANIMATE_STATE) || {};
485
+
486
+ //if an animation is currently running on the element then lets take the steps
487
+ //to cancel that animation and fire any required callbacks
488
+ if(ngAnimateState.running) {
489
+ cancelAnimations(ngAnimateState.animations);
490
+ ngAnimateState.done();
491
+ }
492
+
493
+ element.data(NG_ANIMATE_STATE, {
494
+ running:true,
495
+ animations:animations,
496
+ done:done
497
+ });
498
+
499
+ var baseClassName = className;
500
+ if(event == 'addClass') {
501
+ className = suffixClasses(className, '-add');
502
+ } else if(event == 'removeClass') {
503
+ className = suffixClasses(className, '-remove');
504
+ }
505
+
506
+ element.addClass(className);
507
+
508
+ forEach(animations, function(animation, index) {
509
+ var fn = function() {
510
+ progress(index);
511
+ };
512
+
513
+ if(animation.start) {
514
+ if(event == 'addClass' || event == 'removeClass') {
515
+ animation.endFn = animation.start(element, baseClassName, fn);
516
+ } else {
517
+ animation.endFn = animation.start(element, fn);
518
+ }
519
+ } else {
520
+ fn();
521
+ }
522
+ });
523
+
524
+ function cancelAnimations(animations) {
525
+ var isCancelledFlag = true;
526
+ forEach(animations, function(animation) {
527
+ (animation.endFn || noop)(isCancelledFlag);
528
+ });
529
+ }
530
+
531
+ function progress(index) {
532
+ animations[index].done = true;
533
+ (animations[index].endFn || noop)();
534
+ for(var i=0;i<animations.length;i++) {
535
+ if(!animations[i].done) return;
536
+ }
537
+ done();
538
+ }
539
+
540
+ function done() {
541
+ if(!done.hasBeenRun) {
542
+ done.hasBeenRun = true;
543
+ element.removeClass(className);
544
+ element.removeData(NG_ANIMATE_STATE);
545
+ (onComplete || noop)();
546
+ }
547
+ }
548
+ }
549
+ }]);
550
+
551
+ $animateProvider.register('', ['$window','$sniffer', '$timeout', function($window, $sniffer, $timeout) {
552
+ var noop = angular.noop;
553
+ var forEach = angular.forEach;
554
+ function animate(element, className, done) {
555
+ if (!($sniffer.transitions || $sniffer.animations)) {
556
+ done();
557
+ } else {
558
+ var activeClassName = '';
559
+ $timeout(startAnimation, 1, false);
560
+
561
+ //this acts as the cancellation function in case
562
+ //a new animation is triggered while another animation
563
+ //is still going on (otherwise the active className
564
+ //would still hang around until the timer is complete).
565
+ return onEnd;
566
+ }
567
+
568
+ function parseMaxTime(str) {
569
+ var total = 0, values = angular.isString(str) ? str.split(/\s*,\s*/) : [];
570
+ forEach(values, function(value) {
571
+ total = Math.max(parseFloat(value) || 0, total);
572
+ });
573
+ return total;
574
+ }
575
+
576
+ function startAnimation() {
577
+ var duration = 0;
578
+ forEach(className.split(' '), function(klass, i) {
579
+ activeClassName += (i > 0 ? ' ' : '') + klass + '-active';
580
+ });
581
+
582
+ element.addClass(activeClassName);
583
+
584
+ //one day all browsers will have these properties
585
+ var w3cAnimationProp = 'animation';
586
+ var w3cTransitionProp = 'transition';
587
+
588
+ //but some still use vendor-prefixed styles
589
+ var vendorAnimationProp = $sniffer.vendorPrefix + 'Animation';
590
+ var vendorTransitionProp = $sniffer.vendorPrefix + 'Transition';
591
+
592
+ var durationKey = 'Duration',
593
+ delayKey = 'Delay',
594
+ animationIterationCountKey = 'IterationCount';
595
+
596
+ //we want all the styles defined before and after
597
+ var ELEMENT_NODE = 1;
598
+ forEach(element, function(element) {
599
+ if (element.nodeType == ELEMENT_NODE) {
600
+ var elementStyles = $window.getComputedStyle(element) || {};
601
+
602
+ var transitionDelay = Math.max(parseMaxTime(elementStyles[w3cTransitionProp + delayKey]),
603
+ parseMaxTime(elementStyles[vendorTransitionProp + delayKey]));
604
+
605
+ var animationDelay = Math.max(parseMaxTime(elementStyles[w3cAnimationProp + delayKey]),
606
+ parseMaxTime(elementStyles[vendorAnimationProp + delayKey]));
607
+
608
+ var transitionDuration = Math.max(parseMaxTime(elementStyles[w3cTransitionProp + durationKey]),
609
+ parseMaxTime(elementStyles[vendorTransitionProp + durationKey]));
610
+
611
+ var animationDuration = Math.max(parseMaxTime(elementStyles[w3cAnimationProp + durationKey]),
612
+ parseMaxTime(elementStyles[vendorAnimationProp + durationKey]));
613
+
614
+ if(animationDuration > 0) {
615
+ animationDuration *= Math.max(parseInt(elementStyles[w3cAnimationProp + animationIterationCountKey]) || 0,
616
+ parseInt(elementStyles[vendorAnimationProp + animationIterationCountKey]) || 0,
617
+ 1);
618
+ }
619
+
620
+ duration = Math.max(animationDelay + animationDuration,
621
+ transitionDelay + transitionDuration,
622
+ duration);
623
+ }
624
+ });
625
+
626
+ $timeout(done, duration * 1000, false);
627
+ }
628
+
629
+ //this will automatically be called by $animate so
630
+ //there is no need to attach this internally to the
631
+ //timeout done method
632
+ function onEnd(cancelled) {
633
+ element.removeClass(activeClassName);
634
+
635
+ //only when the animation is cancelled is the done()
636
+ //function not called for this animation therefore
637
+ //this must be also called
638
+ if(cancelled) {
639
+ done();
640
+ }
641
+ }
642
+ }
643
+
644
+ return {
645
+ enter : function(element, done) {
646
+ return animate(element, 'ng-enter', done);
647
+ },
648
+ leave : function(element, done) {
649
+ return animate(element, 'ng-leave', done);
650
+ },
651
+ move : function(element, done) {
652
+ return animate(element, 'ng-move', done);
653
+ },
654
+ addClass : function(element, className, done) {
655
+ return animate(element, suffixClasses(className, '-add'), done);
656
+ },
657
+ removeClass : function(element, className, done) {
658
+ return animate(element, suffixClasses(className, '-remove'), done);
659
+ }
660
+ };
661
+
662
+ }]);
663
+
664
+ function suffixClasses(classes, suffix) {
665
+ var className = '';
666
+ classes = angular.isArray(classes) ? classes : classes.split(/\s+/);
667
+ forEach(classes, function(klass, i) {
668
+ if(klass && klass.length > 0) {
669
+ className += (i > 0 ? ' ' : '') + klass + suffix;
670
+ }
671
+ });
672
+ return className;
673
+ }
674
+ }]);
675
+
676
+
677
+ })(window, window.angular);