@angular-wave/angular.ts 0.7.7 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/@types/animations/raf-scheduler.d.ts +2 -2
  2. package/@types/animations/shared.d.ts +0 -1
  3. package/@types/core/compile/attributes.d.ts +3 -3
  4. package/@types/core/compile/compile.d.ts +1 -1
  5. package/@types/core/di/injector.d.ts +0 -1
  6. package/@types/core/di/internal-injector.d.ts +1 -0
  7. package/@types/core/di/ng-module.d.ts +5 -0
  8. package/@types/core/filter/filter.d.ts +11 -13
  9. package/@types/core/parse/parse.d.ts +6 -7
  10. package/@types/core/sanitize/sanitize-uri.d.ts +3 -6
  11. package/@types/core/scope/scope.d.ts +1 -1
  12. package/@types/directive/attrs/attrs.d.ts +7 -1
  13. package/@types/directive/bind/bind.d.ts +2 -1
  14. package/@types/directive/events/events.d.ts +9 -3
  15. package/@types/directive/http/http.d.ts +6 -2
  16. package/@types/directive/include/include.d.ts +2 -2
  17. package/@types/directive/input/input.d.ts +2 -12
  18. package/@types/directive/messages/messages.d.ts +9 -48
  19. package/@types/directive/model/model.d.ts +3 -3
  20. package/@types/directive/options/options.d.ts +13 -20
  21. package/@types/directive/switch/switch.d.ts +1 -0
  22. package/@types/directive/transclude/transclude.d.ts +10 -6
  23. package/@types/index.d.ts +1 -1
  24. package/@types/interface.d.ts +56 -18
  25. package/@types/{public.d.ts → ng.d.ts} +2 -2
  26. package/@types/router/directives/view-directive.d.ts +2 -19
  27. package/@types/router/{common → glob}/glob.d.ts +5 -1
  28. package/@types/router/globals.d.ts +2 -3
  29. package/@types/router/path/path-utils.d.ts +8 -11
  30. package/@types/router/state/interface.d.ts +1 -1
  31. package/@types/router/state/state-object.d.ts +1 -1
  32. package/@types/router/state/state-registry.d.ts +1 -2
  33. package/@types/router/state/state-service.d.ts +8 -7
  34. package/@types/router/state-filters.d.ts +24 -2
  35. package/@types/router/transition/transition.d.ts +12 -15
  36. package/@types/router/url/url-matcher.d.ts +3 -3
  37. package/@types/router/url/url-rule.d.ts +1 -0
  38. package/@types/router/url/url-rules.d.ts +26 -6
  39. package/@types/router/url/url-service.d.ts +30 -42
  40. package/@types/services/anchor-scroll.d.ts +1 -1
  41. package/@types/{core → services/exception}/exception-handler.d.ts +4 -4
  42. package/@types/{core/error-handler.d.ts → services/exception/interface.d.ts} +1 -1
  43. package/@types/services/http/http.d.ts +48 -3
  44. package/@types/services/http/interface.d.ts +2 -2
  45. package/@types/services/http-backend/http-backend.d.ts +49 -44
  46. package/@types/services/location/interface.d.ts +63 -0
  47. package/@types/services/location/location.d.ts +330 -0
  48. package/@types/{core → services}/sce/sce.d.ts +1 -1
  49. package/@types/services/template-cache/interface.d.ts +8 -2
  50. package/@types/services/template-cache/template-cache.d.ts +1 -1
  51. package/@types/services/template-request.d.ts +1 -1
  52. package/@types/shared/cache.d.ts +0 -2
  53. package/@types/shared/common.d.ts +0 -2
  54. package/@types/shared/dom.d.ts +6 -0
  55. package/@types/shared/interface.d.ts +0 -4
  56. package/@types/{router/common → shared}/queue.d.ts +2 -2
  57. package/@types/shared/test-utils.d.ts +1 -0
  58. package/@types/shared/url-utils/interface.d.ts +46 -0
  59. package/@types/shared/url-utils/url-utils.d.ts +64 -0
  60. package/@types/shared/utils.d.ts +44 -6
  61. package/Makefile +8 -4
  62. package/dist/angular-ts.esm.js +1889 -2199
  63. package/dist/angular-ts.umd.js +1889 -2199
  64. package/dist/angular-ts.umd.min.js +1 -1
  65. package/docs/assets/scss/index.scss +23 -0
  66. package/docs/content/_index.md +9 -8
  67. package/docs/content/docs/_index.md +1 -1
  68. package/docs/content/docs/directive/app.md +1 -1
  69. package/docs/content/docs/directive/bind.md +10 -8
  70. package/docs/content/docs/directive/blur.md +1 -1
  71. package/docs/content/docs/directive/channel.md +2 -2
  72. package/docs/content/docs/directive/class-even.md +1 -1
  73. package/docs/content/docs/directive/class-odd.md +1 -1
  74. package/docs/content/docs/directive/class.md +1 -1
  75. package/docs/content/docs/directive/click.md +1 -1
  76. package/docs/content/docs/directive/copy.md +1 -1
  77. package/docs/content/docs/directive/cut.md +1 -1
  78. package/docs/content/docs/directive/dblclick.md +1 -1
  79. package/docs/content/docs/directive/focus.md +1 -1
  80. package/docs/content/docs/directive/get.md +203 -0
  81. package/docs/content/docs/directive/keydown.md +1 -1
  82. package/docs/content/docs/directive/keyup.md +1 -1
  83. package/docs/content/docs/directive/load.md +1 -1
  84. package/docs/content/docs/directive/mousedown.md +1 -1
  85. package/docs/content/docs/directive/mouseenter.md +1 -1
  86. package/docs/content/docs/directive/mouseleave.md +1 -1
  87. package/docs/content/docs/directive/mousemove.md +1 -1
  88. package/docs/content/docs/directive/mouseout.md +1 -1
  89. package/docs/content/docs/directive/mouseover.md +1 -1
  90. package/docs/content/docs/directive/mouseup.md +1 -1
  91. package/docs/content/docs/directive/non-bindable.md +28 -0
  92. package/docs/content/docs/provider/locationProvider.md +26 -0
  93. package/docs/content/docs/provider/templateCacheProvider.md +66 -1
  94. package/docs/content/docs/service/location.md +57 -0
  95. package/docs/content/docs/service/templateCache.md +2 -2
  96. package/docs/content/docs/service/url.md +5 -0
  97. package/docs/layouts/partials/hooks/head-end.html +1 -1
  98. package/docs/layouts/shortcodes/showcss.html +2 -0
  99. package/docs/layouts/shortcodes/version.html +1 -0
  100. package/docs/static/examples/counter/counter-test.html +0 -4
  101. package/docs/static/examples/eventbus/eventbus-test.html +0 -4
  102. package/docs/static/examples/ng-bind/ng-bind.html +2 -2
  103. package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +13 -0
  104. package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +3 -0
  105. package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +11 -0
  106. package/docs/static/typedoc/assets/hierarchy.js +1 -1
  107. package/docs/static/typedoc/assets/highlight.css +6 -6
  108. package/docs/static/typedoc/assets/navigation.js +1 -1
  109. package/docs/static/typedoc/assets/search.js +1 -1
  110. package/docs/static/typedoc/classes/Location.html +55 -0
  111. package/docs/static/typedoc/classes/LocationProvider.html +20 -0
  112. package/docs/static/typedoc/classes/NgModule.html +32 -0
  113. package/docs/static/typedoc/classes/TemplateCacheProvider.html +1 -1
  114. package/docs/static/typedoc/hierarchy.html +1 -1
  115. package/docs/static/typedoc/index.html +1 -1
  116. package/docs/static/typedoc/interfaces/DefaultPorts.html +5 -0
  117. package/docs/static/typedoc/interfaces/Directive.html +5 -4
  118. package/docs/static/typedoc/interfaces/Html5Mode.html +23 -0
  119. package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +1 -1
  120. package/docs/static/typedoc/interfaces/HttpResponse.html +2 -3
  121. package/docs/static/typedoc/interfaces/Provider.html +16 -10
  122. package/docs/static/typedoc/interfaces/RequestConfig.html +1 -1
  123. package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +1 -1
  124. package/docs/static/typedoc/interfaces/TemplateCache.html +7 -0
  125. package/docs/static/typedoc/interfaces/UrlParts.html +9 -0
  126. package/docs/static/typedoc/types/AnnotatedDirectiveFactory.html +1 -0
  127. package/docs/static/typedoc/types/AnnotatedFactory.html +1 -1
  128. package/docs/static/typedoc/types/DirectiveFactory.html +1 -2
  129. package/docs/static/typedoc/types/DirectiveFactoryFn.html +1 -0
  130. package/docs/static/typedoc/types/Expression.html +1 -1
  131. package/docs/static/typedoc/types/HttpResponseStatus.html +1 -0
  132. package/docs/static/typedoc/types/{TemplateCache.html → SwapModeType.html} +1 -1
  133. package/docs/static/typedoc/types/UrlChangeListener.html +5 -0
  134. package/docs/static/typedoc/variables/SwapMode.html +11 -0
  135. package/docs/static/version.js +13 -0
  136. package/docs/test-results/.last-run.json +4 -0
  137. package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +50 -0
  138. package/legacy.d.ts +0 -10
  139. package/package.json +1 -3
  140. package/src/{loader.js → angular.js} +5 -10
  141. package/src/angular.spec.js +189 -21
  142. package/src/animations/animate-children-directive.js +2 -2
  143. package/src/animations/animate-css.js +17 -18
  144. package/src/animations/animate.spec.js +1 -1
  145. package/src/animations/raf-scheduler.js +1 -1
  146. package/src/animations/shared.js +2 -12
  147. package/src/binding.spec.js +1 -1
  148. package/src/core/compile/attributes.js +1 -1
  149. package/src/core/compile/compile.js +7 -10
  150. package/src/core/compile/compile.spec.js +1 -1
  151. package/src/core/controller/controller.spec.js +1 -1
  152. package/src/core/controller/controller.test.js +1 -0
  153. package/src/core/di/injector.js +11 -25
  154. package/src/core/di/injector.spec.js +2 -2
  155. package/src/core/di/injector.test.js +2 -2
  156. package/src/core/di/internal-injector.js +7 -7
  157. package/src/core/di/ng-module.js +12 -27
  158. package/src/core/filter/filter.js +28 -28
  159. package/src/core/filter/filter.spec.js +1 -1
  160. package/src/core/filter/filter.test.js +1 -0
  161. package/src/core/interpolate/interpolate.js +4 -6
  162. package/src/core/interpolate/interpolate.spec.js +1 -1
  163. package/src/core/interpolate/interpolate.test.js +1 -0
  164. package/src/core/parse/ast/ast.spec.js +1 -1
  165. package/src/core/parse/ast/ast.test.js +1 -1
  166. package/src/core/parse/interpreter.js +32 -38
  167. package/src/core/parse/lexer/lexer.spec.js +1 -1
  168. package/src/core/parse/parse.js +150 -146
  169. package/src/core/parse/parse.spec.js +17 -16
  170. package/src/core/prop.spec.js +1 -1
  171. package/src/core/root-element.spec.js +1 -1
  172. package/src/core/sanitize/sanitize-uri.js +3 -3
  173. package/src/core/scope/scope.js +12 -13
  174. package/src/core/scope/scope.spec.js +3 -4
  175. package/src/directive/aria/aria.spec.js +1 -1
  176. package/src/directive/aria/aria.test.js +1 -0
  177. package/src/directive/attrs/attrs.js +7 -4
  178. package/src/directive/attrs/attrs.spec.js +1 -1
  179. package/src/directive/attrs/attrs.test.js +1 -0
  180. package/src/directive/attrs/boolean.spec.js +1 -1
  181. package/src/directive/attrs/boolean.test.js +1 -0
  182. package/src/directive/attrs/element-style.spec.js +1 -1
  183. package/src/directive/attrs/element-style.test.js +1 -0
  184. package/src/directive/attrs/src.spec.js +1 -1
  185. package/src/directive/attrs/src.test.js +1 -0
  186. package/src/directive/bind/bind-html.spec.js +1 -1
  187. package/src/directive/bind/bind.js +1 -0
  188. package/src/directive/bind/bind.spec.js +1 -1
  189. package/src/directive/bind/bind.test.js +1 -0
  190. package/src/directive/channel/channel.spec.js +1 -1
  191. package/src/directive/channel/channel.test.js +1 -0
  192. package/src/directive/class/class.spec.js +1 -1
  193. package/src/directive/class/class.test.js +1 -0
  194. package/src/directive/cloak/cloak.spec.js +1 -1
  195. package/src/directive/cloak/cloak.test.js +1 -0
  196. package/src/directive/controller/controller.spec.js +1 -1
  197. package/src/directive/controller/controller.test.js +1 -0
  198. package/src/directive/events/click.spec.js +1 -1
  199. package/src/directive/events/event.spec.js +1 -1
  200. package/src/directive/events/events.js +6 -2
  201. package/src/directive/events/events.test.js +1 -0
  202. package/src/directive/form/form.js +8 -5
  203. package/src/directive/form/form.spec.js +1 -1
  204. package/src/directive/form/form.test.js +1 -0
  205. package/src/directive/http/delete.spec.js +3 -1
  206. package/src/directive/http/form-test.html +18 -0
  207. package/src/directive/http/get.spec.js +281 -4
  208. package/src/directive/http/http.js +112 -15
  209. package/src/directive/http/http.test.js +2 -2
  210. package/src/directive/http/post.spec.js +506 -9
  211. package/src/directive/http/put.spec.js +3 -1
  212. package/src/directive/if/if.spec.js +1 -1
  213. package/src/directive/include/include.js +7 -7
  214. package/src/directive/include/include.spec.js +1 -1
  215. package/src/directive/init/init.spec.js +1 -1
  216. package/src/directive/init/init.test.js +1 -0
  217. package/src/directive/input/input.js +19 -43
  218. package/src/directive/input/input.spec.js +1 -2
  219. package/src/directive/input/input.test.js +1 -0
  220. package/src/directive/messages/messages.js +4 -0
  221. package/src/directive/messages/messages.spec.js +1 -1
  222. package/src/directive/messages/messages.test.js +1 -0
  223. package/src/directive/model/model.js +14 -14
  224. package/src/directive/model/model.spec.js +1 -1
  225. package/src/directive/model/model.test.js +1 -0
  226. package/src/directive/model-options/model-option.test.js +1 -0
  227. package/src/directive/model-options/model-options.js +1 -1
  228. package/src/directive/model-options/model-options.spec.js +1 -1
  229. package/src/directive/non-bindable/non-bindable.spec.js +1 -1
  230. package/src/directive/non-bindable/non-bindable.test.js +1 -0
  231. package/src/directive/observe/observe.spec.js +1 -1
  232. package/src/directive/observe/observe.test.js +1 -0
  233. package/src/directive/on/on.spec.js +1 -1
  234. package/src/directive/on/on.test.js +1 -0
  235. package/src/directive/options/options.js +454 -464
  236. package/src/directive/options/options.spec.js +1 -1
  237. package/src/directive/options/options.test.js +1 -0
  238. package/src/directive/ref/href.spec.js +1 -1
  239. package/src/directive/ref/href.test.js +2 -0
  240. package/src/directive/ref/ref.spec.js +1 -1
  241. package/src/directive/repeat/repeat.spec.js +2 -3
  242. package/src/directive/repeat/repeat.test.js +1 -0
  243. package/src/directive/script/script.spec.js +1 -1
  244. package/src/directive/script/script.test.js +1 -0
  245. package/src/directive/select/select.js +1 -1
  246. package/src/directive/select/select.spec.js +1 -1
  247. package/src/directive/select/select.test.js +1 -0
  248. package/src/directive/setter/setter.js +12 -14
  249. package/src/directive/setter/setter.spec.js +40 -17
  250. package/src/directive/setter/setter.test.js +1 -0
  251. package/src/directive/show-hide/show-hide.spec.js +1 -1
  252. package/src/directive/show-hide/show-hide.test.js +1 -0
  253. package/src/directive/style/style.spec.js +1 -1
  254. package/src/directive/style/style.test.js +1 -0
  255. package/src/directive/switch/switch.js +1 -0
  256. package/src/directive/switch/switch.spec.js +1 -1
  257. package/src/directive/switch/switch.test.js +1 -0
  258. package/src/directive/transclude/transclude.js +87 -89
  259. package/src/directive/validators/validators.js +82 -84
  260. package/src/directive/validators/validators.spec.js +5 -4
  261. package/src/directive/validators/validators.test.js +1 -0
  262. package/src/filters/filter.spec.js +1 -1
  263. package/src/filters/filters.spec.js +1 -1
  264. package/src/filters/limit-to.js +2 -3
  265. package/src/filters/limit-to.spec.js +1 -1
  266. package/src/filters/order-by.spec.js +1 -1
  267. package/src/index.js +1 -1
  268. package/src/injection-tokens.js +6 -2
  269. package/src/interface.ts +70 -19
  270. package/src/loader.md +0 -155
  271. package/src/{public.js → ng.js} +16 -23
  272. package/src/{public.spec.js → ng.spec.js} +1 -1
  273. package/src/router/directives/state-directives.spec.js +9 -8
  274. package/src/router/directives/view-directive.js +11 -9
  275. package/src/router/directives/view-directive.spec.js +8 -9
  276. package/src/router/{common/common.html → glob/glob.html} +2 -3
  277. package/src/router/{common → glob}/glob.js +5 -0
  278. package/src/router/{common/common.test.js → glob/glob.test.js} +2 -1
  279. package/src/router/globals.js +1 -2
  280. package/src/router/path/path-utils.js +5 -0
  281. package/src/router/router-test-hashbang.html +45 -0
  282. package/src/router/services.spec.js +5 -6
  283. package/src/router/state/interface.ts +1 -1
  284. package/src/router/state/state-builder.js +3 -3
  285. package/src/router/state/state-builder.spec.js +1 -1
  286. package/src/router/state/state-object.js +1 -1
  287. package/src/router/state/state-registry.js +2 -3
  288. package/src/router/state/state-service.js +13 -10
  289. package/src/router/state/state.spec.js +23 -22
  290. package/src/router/state/state.test.js +1 -0
  291. package/src/router/state/views.js +1 -1
  292. package/src/router/state-filter.spec.js +1 -1
  293. package/src/router/state-filters.js +15 -11
  294. package/src/router/template-factory.js +5 -4
  295. package/src/router/template-factory.spec.js +1 -1
  296. package/src/router/transition/hook-registry.js +1 -1
  297. package/src/router/transition/transition-service.js +6 -5
  298. package/src/router/transition/transition.js +4 -4
  299. package/src/router/url/url-matcher.js +3 -3
  300. package/src/router/url/url-rule.js +1 -0
  301. package/src/router/url/url-rules.js +8 -5
  302. package/src/router/url/url-service.js +82 -85
  303. package/src/router/url/url-service.spec.js +55 -39
  304. package/src/router/url/url.test.js +1 -0
  305. package/src/router/view/view.js +4 -5
  306. package/src/router/view/view.spec.js +10 -12
  307. package/src/router/view/view.test.js +1 -0
  308. package/src/router/view-hook.spec.js +1 -1
  309. package/src/router/view-scroll.spec.js +1 -1
  310. package/src/services/anchor-scroll.html +2 -9
  311. package/src/services/anchor-scroll.js +6 -5
  312. package/src/{core → services/exception}/exception-handler.js +2 -2
  313. package/src/{core/error-handler.ts → services/exception/interface.ts} +1 -1
  314. package/src/services/http/http.js +11 -17
  315. package/src/services/http/http.spec.js +2 -7
  316. package/src/services/http/interface.ts +2 -2
  317. package/src/services/http/template-request.spec.js +1 -1
  318. package/src/services/http-backend/http-backend.js +53 -89
  319. package/src/services/http-backend/http-backend.spec.js +2 -6
  320. package/src/services/http-backend/http-backend.test.js +1 -0
  321. package/src/services/location/interface.ts +70 -0
  322. package/src/{core → services}/location/location.html +4 -1
  323. package/src/services/location/location.js +999 -0
  324. package/src/{core → services}/location/location.spec.js +911 -532
  325. package/src/{core → services}/location/location.test.js +2 -2
  326. package/src/services/log/log.spec.js +1 -1
  327. package/src/services/log/log.test.js +1 -0
  328. package/src/services/pubsub/pubsub.spec.js +1 -1
  329. package/src/{core → services}/sce/sce.html +1 -1
  330. package/src/{core → services}/sce/sce.js +14 -10
  331. package/src/{core → services}/sce/sce.md +2 -2
  332. package/src/{core → services}/sce/sce.spec.js +3 -4
  333. package/src/{core → services}/sce/sce.test.js +1 -1
  334. package/src/services/template-cache/interface.ts +8 -2
  335. package/src/services/template-cache/template-cache.js +3 -1
  336. package/src/services/template-cache/template-cache.spec.js +73 -1
  337. package/src/services/template-cache/template-cache.test.js +1 -0
  338. package/src/services/template-request.js +2 -1
  339. package/src/shared/cache.js +0 -2
  340. package/src/shared/common.js +0 -5
  341. package/src/shared/common.spec.js +1 -1
  342. package/src/shared/dom.js +10 -0
  343. package/src/shared/interface.ts +0 -4
  344. package/src/{router/common → shared}/queue.js +7 -7
  345. package/src/shared/shared.html +1 -0
  346. package/src/shared/shared.test.js +1 -0
  347. package/src/shared/test-utils.js +1 -0
  348. package/src/shared/url-utils/interface.ts +54 -0
  349. package/src/{core → shared}/url-utils/url-utils.html +4 -1
  350. package/src/{core → shared}/url-utils/url-utils.js +26 -47
  351. package/src/{core → shared}/url-utils/url-utils.spec.js +10 -17
  352. package/src/{core → shared}/url-utils/url-utils.test.js +1 -1
  353. package/src/shared/utils.js +60 -9
  354. package/src/shared/utils.spec.js +35 -1
  355. package/src/src.html +1 -2
  356. package/typedoc.json +0 -1
  357. package/utils/express.js +36 -2
  358. package/utils/version.cjs +23 -0
  359. package/@types/core/location/location.d.ts +0 -317
  360. package/@types/core/task-tracker-factory.d.ts +0 -76
  361. package/@types/core/url-utils/url-utils.d.ts +0 -56
  362. package/@types/router/state-provider.d.ts +0 -123
  363. package/@types/services/browser.d.ts +0 -101
  364. package/docs/static/typedoc/types/SwapInsertPosition.html +0 -2
  365. package/jsdoc.json +0 -22
  366. package/src/core/location/location.js +0 -984
  367. package/src/core/location/location.md +0 -114
  368. package/src/core/task-tracker-factory.js +0 -145
  369. package/src/core/url-utils/url-utils.md +0 -46
  370. package/src/directive/non-bindable/non-bindable.md +0 -17
  371. package/src/loader.spec.js +0 -169
  372. package/src/router/state-provider.js +0 -146
  373. package/src/services/browser.js +0 -212
  374. /package/@types/{loader.d.ts → angular.d.ts} +0 -0
  375. /package/src/router/{common → glob}/glob.spec.js +0 -0
  376. /package/src/{router/common → shared}/queue.spec.js +0 -0
@@ -1,114 +0,0 @@
1
- /\*\*
2
-
3
- - The $location service parses the URL in the browser address bar (based on the
4
- - [window.location](https://developer.mozilla.org/en/window.location)) and makes the URL
5
- - available to your application. Changes to the URL in the address bar are reflected into
6
- - $location service and changes to $location are reflected into the browser address bar.
7
- -
8
- - **The $location service:**
9
- -
10
- - - Exposes the current URL in the browser address bar, so you can
11
- - - Watch and observe the URL.
12
- - - Change the URL.
13
- - - Synchronizes the URL with the browser when the user
14
- - - Changes the address bar.
15
- - - Clicks the back or forward button (or clicks a History link).
16
- - - Clicks on a link.
17
- - - Represents the URL object as a set of methods (protocol, host, port, path, search, hash).
18
- -
19
- - For more information see {@link guide/$location Developer Guide: Using $location}
20
- \*/
21
-
22
- /\*\*
23
-
24
- - Use the `$locationProvider` to configure how the application deep linking paths are stored.
25
- \*/
26
-
27
- /\*\*
28
-
29
- - @ngdoc event
30
- - @name $location#$locationChangeStart
31
- - @eventType broadcast on root scope
32
- - @description
33
- - Broadcasted before a URL will change.
34
- -
35
- - This change can be prevented by calling
36
- - `preventDefault` method of the event. See {@link ng.$rootScope.Scope#$on} for more
37
- - details about event object. Upon successful change
38
- - {@link ng.$location#$locationChangeSuccess $locationChangeSuccess} is fired.
39
- -
40
- - The `newState` and `oldState` parameters may be defined only in HTML5 mode and when
41
- - the browser supports the HTML5 History API.
42
- -
43
- - @param {Object} angularEvent Synthetic event object.
44
- - @param {string} newUrl New URL
45
- - @param {string=} oldUrl URL that was before it was changed.
46
- - @param {string=} newState New history state object
47
- - @param {string=} oldState History state object that was before it was changed.
48
- \*/
49
-
50
- /\*\*
51
-
52
- - @ngdoc event
53
- - @name $location#$locationChangeSuccess
54
- - @eventType broadcast on root scope
55
- - @description
56
- - Broadcasted after a URL was changed.
57
- -
58
- - The `newState` and `oldState` parameters may be defined only in HTML5 mode and when
59
- - the browser supports the HTML5 History API.
60
- -
61
- - @param {Object} angularEvent Synthetic event object.
62
- - @param {string} newUrl New URL
63
- - @param {string=} oldUrl URL that was before it was changed.
64
- - @param {string=} newState New history state object
65
- - @param {string=} oldState History state object that was before it was changed.
66
- \*/
67
-
68
- /\*\*
69
-
70
- - This method is getter / setter.
71
- -
72
- - Return search part (as object) of current URL when called without any parameter.
73
- -
74
- - Change search part when called with parameter and return `$location`.
75
- -
76
- -
77
- - ```js
78
-
79
- ```
80
-
81
- - // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
82
- - let searchObject = $location.search();
83
- - // => {foo: 'bar', baz: 'xoxo'}
84
- -
85
- - // set foo to 'yipee'
86
- - $location.search('foo', 'yipee');
87
- - // $location.search() => {foo: 'yipee', baz: 'xoxo'}
88
- - ```
89
-
90
- ```
91
-
92
- -
93
- - @param {string|Object} search New search params - string or hash object.
94
- -
95
- - When called with a single argument the method acts as a setter, setting the `search` component
96
- - of `$location` to the specified value.
97
- -
98
- - If the argument is a hash object containing an array of values, these values will be encoded
99
- - as duplicate search parameters in the URL.
100
- -
101
- - @param {(string|Number|Array<string>|boolean)=} paramValue If `search` is a string or number, then `paramValue`
102
- - will override only a single search property.
103
- -
104
- - If `paramValue` is an array, it will override the property of the `search` component of
105
- - `$location` specified via the first argument.
106
- -
107
- - If `paramValue` is `null`, the property specified via the first argument will be deleted.
108
- -
109
- - If `paramValue` is `true`, the property specified via the first argument will be added with no
110
- - value nor trailing equal sign.
111
- -
112
- - @return {Object} If called with no arguments returns the parsed `search` object. If called with
113
- - one or more arguments returns `$location` object itself.
114
- \*/
@@ -1,145 +0,0 @@
1
- /** @typedef {import('../interface.ts').ServiceProvider} ServiceProvider */
2
- /** @typedef {import('../interface.ts').AnnotatedFactory} AnnotatedFactory */
3
-
4
- /**
5
- * @implements {ServiceProvider}
6
- */
7
- export class TaskTrackerFactoryProvider {
8
- /** @type {AnnotatedFactory} */
9
- $get = [
10
- "$log",
11
- /**
12
- * Creates a new `TaskTracker` instance.
13
- *
14
- * @param {import('../services/log/interface.ts').LogService} log - The logging service.
15
- * @returns {TaskTracker} A new `TaskTracker` instance.
16
- */
17
- (log) => new TaskTracker(log),
18
- ];
19
- }
20
-
21
- /**
22
- * A factory function to create `TaskTracker` instances.
23
- *
24
- * A `TaskTracker` tracks pending tasks (grouped by type) and notifies interested
25
- * parties when all pending tasks (or tasks of a specific type) have been completed.
26
- */
27
- export class TaskTracker {
28
- /**
29
- * @param {import('../services/log/interface.ts').LogService} log - The logging service.
30
- */
31
- constructor(log) {
32
- /** @private */
33
- this.log = log;
34
-
35
- /** @private */
36
- this.taskCounts = {};
37
-
38
- /** @private */
39
- this.taskCallbacks = [];
40
-
41
- /**
42
- * Special task types used for tracking all tasks and default tasks.
43
- * @type {string}
44
- */
45
- this.ALL_TASKS_TYPE = "$$all$$";
46
-
47
- /**
48
- * Default task type.
49
- * @type {string}
50
- */
51
- this.DEFAULT_TASK_TYPE = "$$default$$";
52
- }
53
-
54
- /**
55
- * Completes a task and decrements the associated task counter.
56
- * If the counter reaches 0, all corresponding callbacks are executed.
57
- *
58
- * @param {Function} fn - The function to execute when completing the task.
59
- * @param {string} [taskType=this.DEFAULT_TASK_TYPE] - The type of task being completed.
60
- */
61
- completeTask(fn, taskType = this.DEFAULT_TASK_TYPE) {
62
- try {
63
- fn();
64
- } finally {
65
- if (this.taskCounts[taskType]) {
66
- this.taskCounts[taskType]--;
67
- this.taskCounts[this.ALL_TASKS_TYPE]--;
68
- }
69
-
70
- const countForType = this.taskCounts[taskType];
71
- const countForAll = this.taskCounts[this.ALL_TASKS_TYPE];
72
-
73
- // If either the overall task queue or the specific task type queue is empty, run callbacks.
74
- if (!countForAll || !countForType) {
75
- const getNextCallback = !countForAll
76
- ? this.getLastCallback.bind(this)
77
- : () => this.getLastCallbackForType(taskType);
78
-
79
- let nextCb;
80
- while ((nextCb = getNextCallback())) {
81
- try {
82
- nextCb();
83
- } catch (e) {
84
- this.log.error(e);
85
- }
86
- }
87
- }
88
- }
89
- }
90
-
91
- /**
92
- * Increments the task count for the specified task type.
93
- *
94
- * @param {string} [taskType=this.DEFAULT_TASK_TYPE] - The type of task whose count will be increased.
95
- */
96
- incTaskCount(taskType = this.DEFAULT_TASK_TYPE) {
97
- this.taskCounts[taskType] = (this.taskCounts[taskType] || 0) + 1;
98
- this.taskCounts[this.ALL_TASKS_TYPE] =
99
- (this.taskCounts[this.ALL_TASKS_TYPE] || 0) + 1;
100
- }
101
-
102
- /**
103
- * Registers a callback to be executed when all pending tasks of the specified type are completed.
104
- * If there are no pending tasks of the specified type, the callback is executed immediately.
105
- *
106
- * @param {Function} callback - The function to execute when no pending tasks remain.
107
- * @param {string} [taskType=this.ALL_TASKS_TYPE] - The type of tasks to wait for completion.
108
- */
109
- notifyWhenNoPendingTasks(callback, taskType = this.ALL_TASKS_TYPE) {
110
- if (!this.taskCounts[taskType]) {
111
- callback();
112
- } else {
113
- this.taskCallbacks.push({ type: taskType, cb: callback });
114
- }
115
- }
116
-
117
- /**
118
- * Retrieves and removes the last registered callback from the queue.
119
- *
120
- * @private
121
- * @returns {Function|undefined} The last callback function or undefined if none exist.
122
- */
123
- getLastCallback() {
124
- const cbInfo = this.taskCallbacks.pop();
125
- return cbInfo ? cbInfo.cb : undefined;
126
- }
127
-
128
- /**
129
- * Retrieves and removes the last registered callback for the specified task type.
130
- *
131
- * @private
132
- * @param {string} taskType - The type of task for which the callback was registered.
133
- * @returns {Function|undefined} The last callback function for the task type, or undefined if none exist.
134
- */
135
- getLastCallbackForType(taskType) {
136
- for (let i = this.taskCallbacks.length - 1; i >= 0; --i) {
137
- const cbInfo = this.taskCallbacks[i];
138
- if (cbInfo.type === taskType) {
139
- this.taskCallbacks.splice(i, 1);
140
- return cbInfo.cb;
141
- }
142
- }
143
- return undefined;
144
- }
145
- }
@@ -1,46 +0,0 @@
1
- /\*\*
2
-
3
- -
4
- - Implementation Notes for non-IE browsers
5
- - ***
6
- - Assigning a URL to the href property of an anchor DOM node, even one attached to the DOM,
7
- - results both in the normalizing and parsing of the URL. Normalizing means that a relative
8
- - URL will be resolved into an absolute URL in the context of the application document.
9
- - Parsing means that the anchor node's host, hostname, protocol, port, pathname and related
10
- - properties are all populated to reflect the normalized URL. This approach has wide
11
- - compatibility - Safari 1+, Mozilla 1+ etc. See
12
- - http://www.aptana.com/reference/html/api/HTMLAnchorElement.html
13
- -
14
- - Implementation Notes for IE
15
- - ***
16
- - IE <= 10 normalizes the URL when assigned to the anchor node similar to the other
17
- - browsers. However, the parsed components will not be set if the URL assigned did not specify
18
- - them. (e.g. if you assign a.href = "foo", then a.protocol, a.host, etc. will be empty.) We
19
- - work around that by performing the parsing in a 2nd step by taking a previously normalized
20
- - URL (e.g. by assigning to a.href) and assigning it a.href again. This correctly populates the
21
- - properties such as protocol, hostname, port, etc.
22
- -
23
- - References:
24
- - http://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement
25
- - http://www.aptana.com/reference/html/api/HTMLAnchorElement.html
26
- - http://url.spec.whatwg.org/#urlutils
27
- - https://github.com/angular/angular.js/pull/2902
28
- - http://james.padolsey.com/javascript/parsing-urls-with-the-dom/
29
- -
30
- - @kind function
31
- - @param {string|object} url The URL to be parsed. If `url` is not a string, it will be returned
32
- - unchanged.
33
- - @description Normalizes and parses a URL.
34
- - @returns {object} Returns the normalized URL as a dictionary.
35
- -
36
- - | member name | Description |
37
- - |---------------|------------------------------------------------------------------------|
38
- - | href | A normalized version of the provided URL if it was not an absolute URL |
39
- - | protocol | The protocol without the trailing colon |
40
- - | host | The host and port (if the port is non-default) of the normalizedUrl |
41
- - | search | The search params, minus the question mark |
42
- - | hash | The hash string, minus the hash symbol |
43
- - | hostname | The hostname |
44
- - | port | The port, without ":" |
45
- - | pathname | The pathname, beginning with "/" |
46
- - \*/
@@ -1,17 +0,0 @@
1
- ## `ngNonBindable` Directive
2
-
3
- ### Restrict
4
-
5
- `AC`
6
-
7
- ### Priority
8
-
9
- 1000
10
-
11
- ### Element
12
-
13
- `ANY`
14
-
15
- ### Description
16
-
17
- The `ngNonBindable` directive tells AngularTS not to compile or bind the contents of the current DOM element, including directives on the element itself that have a lower priority than `ngNonBindable`. This is useful if the element contains what appears to be AngularTS directives and bindings but which should be ignored by AngularTS. This could be the case if you have a site that displays snippets of code, for instance.
@@ -1,169 +0,0 @@
1
- import { Angular } from "./loader.js";
2
- import { createInjector } from "./core/di/injector.js";
3
-
4
- describe("module loader", () => {
5
- let angular;
6
- beforeEach(() => {
7
- angular = window.angular = new Angular();
8
- });
9
-
10
- it("allows registering a module", () => {
11
- const myModule = angular.module("myModule", []);
12
- expect(myModule).toBeDefined();
13
- expect(myModule.name).toEqual("myModule");
14
- });
15
-
16
- it("allows getting a module", () => {
17
- const myModule = angular.module("myModule", []);
18
- const gotModule = angular.module("myModule");
19
- expect(gotModule).toBeDefined();
20
- expect(gotModule).toBe(myModule);
21
- });
22
-
23
- it("throws when trying to get a nonexistent module", () => {
24
- expect(() => {
25
- angular.module("nonexistent");
26
- }).toThrow();
27
- });
28
-
29
- it("does not allow a module to be called hasOwnProperty", () => {
30
- expect(() => {
31
- angular.module("hasOwnProperty", []);
32
- }).toThrow();
33
- });
34
-
35
- it("attaches the requires array to the registered module", () => {
36
- const myModule = angular.module("myModule", ["myOtherModule"]);
37
- expect(myModule.requires).toEqual(["myOtherModule"]);
38
- });
39
-
40
- it("replaces a module when registered with same name again", () => {
41
- const myModule = angular.module("myModule", []);
42
- const myNewModule = angular.module("myModule", []);
43
- expect(myNewModule).not.toBe(myModule);
44
- });
45
-
46
- it("should record calls", () => {
47
- const otherModule = angular.module("other", []);
48
- otherModule.config("otherInit");
49
-
50
- const myModule = angular.module("my", ["other"], "config");
51
-
52
- expect(
53
- myModule
54
- .decorator("dk", "dv")
55
- .provider("sk", "sv")
56
- .factory("fk", "fv")
57
- .service("a", "aa")
58
- .value("k", "v")
59
- .filter("f", "ff")
60
- .directive("d", "dd")
61
- .component("c", "cc")
62
- .controller("ctrl", "ccc")
63
- .config("init2")
64
- .constant("abc", 123)
65
- .run("runBlock"),
66
- ).toBe(myModule);
67
-
68
- expect(myModule.requires).toEqual(["other"]);
69
- expect(myModule.invokeQueue).toEqual([
70
- ["$provide", "constant", jasmine.objectContaining(["abc", 123])],
71
- ["$provide", "provider", jasmine.objectContaining(["sk", "sv"])],
72
- ["$provide", "factory", jasmine.objectContaining(["fk", "fv"])],
73
- ["$provide", "service", jasmine.objectContaining(["a", "aa"])],
74
- ["$provide", "value", jasmine.objectContaining(["k", "v"])],
75
- ["$filterProvider", "register", jasmine.objectContaining(["f", "ff"])],
76
- ["$compileProvider", "directive", jasmine.objectContaining(["d", "dd"])],
77
- ["$compileProvider", "component", jasmine.objectContaining(["c", "cc"])],
78
- [
79
- "$controllerProvider",
80
- "register",
81
- jasmine.objectContaining(["ctrl", "ccc"]),
82
- ],
83
- ]);
84
- expect(myModule.configBlocks).toEqual([
85
- ["$injector", "invoke", jasmine.objectContaining(["config"])],
86
- ["$provide", "decorator", jasmine.objectContaining(["dk", "dv"])],
87
- ["$injector", "invoke", jasmine.objectContaining(["init2"])],
88
- ]);
89
- expect(myModule.runBlocks).toEqual(["runBlock"]);
90
- });
91
-
92
- it("should not throw error when `module.decorator` is declared before provider that it decorates", () => {
93
- angular
94
- .module("theModule", [])
95
- .decorator("theProvider", ($delegate) => $delegate)
96
- .factory("theProvider", () => ({}));
97
-
98
- expect(() => {
99
- createInjector(["theModule"]);
100
- }).not.toThrow();
101
- });
102
-
103
- it("should run decorators in order of declaration, even when mixed with provider.decorator", () => {
104
- let log = "";
105
-
106
- angular
107
- .module("theModule", [])
108
- .factory("theProvider", () => ({ api: "provider" }))
109
- .decorator("theProvider", ($delegate) => {
110
- $delegate.api += "-first";
111
- return $delegate;
112
- })
113
- .config(($provide) => {
114
- $provide.decorator("theProvider", ($delegate) => {
115
- $delegate.api += "-second";
116
- return $delegate;
117
- });
118
- })
119
- .decorator("theProvider", ($delegate) => {
120
- $delegate.api += "-third";
121
- return $delegate;
122
- })
123
- .run((theProvider) => {
124
- log = theProvider.api;
125
- });
126
-
127
- createInjector(["theModule"]);
128
- expect(log).toBe("provider-first-second-third");
129
- });
130
-
131
- it("should decorate the last declared provider if multiple have been declared", () => {
132
- let log = "";
133
-
134
- angular
135
- .module("theModule", [])
136
- .factory("theProvider", () => ({
137
- api: "firstProvider",
138
- }))
139
- .decorator("theProvider", ($delegate) => {
140
- $delegate.api += "-decorator";
141
- return $delegate;
142
- })
143
- .factory("theProvider", () => ({
144
- api: "secondProvider",
145
- }))
146
- .run((theProvider) => {
147
- log = theProvider.api;
148
- });
149
-
150
- createInjector(["theModule"]);
151
- expect(log).toBe("secondProvider-decorator");
152
- });
153
-
154
- it("should allow module redefinition", () => {
155
- expect(angular.module("a", [])).not.toBe(angular.module("a", []));
156
- });
157
-
158
- it("should complain of no module", () => {
159
- expect(() => {
160
- angular.module("dontExist");
161
- }).toThrow();
162
- });
163
-
164
- it('should complain if a module is called "hasOwnProperty', () => {
165
- expect(() => {
166
- angular.module("hasOwnProperty", []);
167
- }).toThrow();
168
- });
169
- });
@@ -1,146 +0,0 @@
1
- import { val } from "../shared/hof.js";
2
- import { createProxyFunctions } from "../shared/common.js";
3
- import { minErr } from "../shared/utils.js";
4
-
5
- const err = minErr("$stateProvider");
6
-
7
- /**
8
- * The Angular 1 `StateProvider`
9
- *
10
- * The `$stateProvider` works similar to Angular's v1 router, but it focuses purely
11
- * on state.
12
- *
13
- * A state corresponds to a "place" in the application in terms of the overall UI and
14
- * navigation. A state describes (via the controller / template / view properties) what
15
- * the UI looks like and does at that place.
16
- *
17
- * States often have things in common, and the primary way of factoring out these
18
- * commonalities in this model is via the state hierarchy, i.e. parent/child states aka
19
- * nested states.
20
- *
21
- * The `$stateProvider` provides interfaces to declare these states for your app.
22
- */
23
- export class StateProvider {
24
- constructor(stateRegistry, stateService) {
25
- this.stateRegistry = stateRegistry;
26
- this.stateService = stateService;
27
- createProxyFunctions(val(StateProvider.prototype), this, val(this));
28
- }
29
- /**
30
- * Decorates states when they are registered
31
- *
32
- * Allows you to extend (carefully) or override (at your own peril) the
33
- * `stateBuilder` object used internally by [[StateRegistry]].
34
- * This can be used to add custom functionality to ng-router,
35
- * for example inferring templateUrl based on the state name.
36
- *
37
- * When passing only a name, it returns the current (original or decorated) builder
38
- * function that matches `name`.
39
- *
40
- * The builder functions that can be decorated are listed below. Though not all
41
- * necessarily have a good use case for decoration, that is up to you to decide.
42
- *
43
- * In addition, users can attach custom decorators, which will generate new
44
- * properties within the state's internal definition. There is currently no clear
45
- * use-case for this beyond accessing internal states (i.e. $state.$current),
46
- * however, expect this to become increasingly relevant as we introduce additional
47
- * meta-programming features.
48
- *
49
- * **Warning**: Decorators should not be interdependent because the order of
50
- * execution of the builder functions in non-deterministic. Builder functions
51
- * should only be dependent on the state definition object and super function.
52
- *
53
- *
54
- * Existing builder functions and current return values:
55
- *
56
- * - **parent** `{object}` - returns the parent state object.
57
- * - **data** `{object}` - returns state data, including any inherited data that is not
58
- * overridden by own values (if any).
59
- * - **url** `{object}` - returns a {@link ui.router.util.type:UrlMatcher UrlMatcher}
60
- * or `null`.
61
- * - **navigable** `{object}` - returns closest ancestor state that has a URL (aka is
62
- * navigable).
63
- * - **params** `{object}` - returns an array of state params that are ensured to
64
- * be a super-set of parent's params.
65
- * - **views** `{object}` - returns a views object where each key is an absolute view
66
- * name (i.e. "viewName@stateName") and each value is the config object
67
- * (template, controller) for the view. Even when you don't use the views object
68
- * explicitly on a state config, one is still created for you internally.
69
- * So by decorating this builder function you have access to decorating template
70
- * and controller properties.
71
- * - **ownParams** `{object}` - returns an array of params that belong to the state,
72
- * not including any params defined by ancestor states.
73
- * - **path** `{string}` - returns the full path from the root down to this state.
74
- * Needed for state activation.
75
- * - **includes** `{object}` - returns an object that includes every state that
76
- * would pass a `$state.includes()` test.
77
- *
78
- * #### Example:
79
- * Override the internal 'views' builder with a function that takes the state
80
- * definition, and a reference to the internal function being overridden:
81
- * ```js
82
- * $stateProvider.decorator('views', function (state, parent) {
83
- * let result = {},
84
- * views = parent(state);
85
- *
86
- * forEach(views, function (config, name) {
87
- * let autoName = (state.name + '.' + name).replace('.', '/');
88
- * config.templateUrl = config.templateUrl || '/partials/' + autoName + '.html';
89
- * result[name] = config;
90
- * });
91
- * return result;
92
- * });
93
- *
94
- * $stateProvider.state('home', {
95
- * views: {
96
- * 'contact.list': { controller: 'ListController' },
97
- * 'contact.item': { controller: 'ItemController' }
98
- * }
99
- * });
100
- * ```
101
- *
102
- *
103
- * ```js
104
- * // Auto-populates list and item views with /partials/home/contact/list.html,
105
- * // and /partials/home/contact/item.html, respectively.
106
- * $state.go('home');
107
- * ```
108
- *
109
- * @param {string} name The name of the builder function to decorate.
110
- * @param {object} func A function that is responsible for decorating the original
111
- * builder function. The function receives two parameters:
112
- *
113
- * - `{object}` - state - The state config object.
114
- * - `{object}` - super - The original builder function.
115
- *
116
- * @return {object} $stateProvider - $stateProvider instance
117
- */
118
- decorator(name, func) {
119
- return this.stateRegistry.decorator(name, func) || this;
120
- }
121
-
122
- /**
123
- *
124
- * @param {*} definition
125
- * @returns {StateProvider}
126
- */
127
- state(definition) {
128
- if (!definition.name) {
129
- throw err("stateinvalid", `'name' required`);
130
- }
131
- try {
132
- this.stateRegistry.register(definition);
133
- } catch (e) {
134
- throw err("stateinvalid", e.message);
135
- }
136
- return this;
137
- }
138
- /**
139
- * Registers an invalid state handler
140
- *
141
- * This is a passthrough to [[StateService.onInvalid]] for ng1.
142
- */
143
- onInvalid(callback) {
144
- return this.stateService.onInvalid(callback);
145
- }
146
- }