@angular-wave/angular.ts 0.9.4 → 0.9.5

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 (645) hide show
  1. package/@types/index.d.ts +1 -84
  2. package/{src/index.ts → @types/namespace.d.ts} +4 -24
  3. package/@types/router/template-factory.d.ts +2 -2
  4. package/dist/angular-ts.esm.js +3 -3
  5. package/dist/angular-ts.umd.js +3 -3
  6. package/dist/angular-ts.umd.min.js +1 -1
  7. package/package.json +8 -1
  8. package/.github/workflows/ci.yml +0 -104
  9. package/.github/workflows/gh-pages.yml +0 -75
  10. package/.husky/pre-commit +0 -5
  11. package/.prettierignore +0 -9
  12. package/CHANGELOG.md +0 -17667
  13. package/CODE_OF_CONDUCT.md +0 -3
  14. package/CONTRIBUTING.md +0 -247
  15. package/DEVELOPERS.md +0 -499
  16. package/Makefile +0 -60
  17. package/RELEASE.md +0 -86
  18. package/TRIAGING.md +0 -127
  19. package/docs/.cspell.yml +0 -8
  20. package/docs/.github/dependabot.yml +0 -14
  21. package/docs/.nvmrc +0 -1
  22. package/docs/CONTRIBUTING.md +0 -28
  23. package/docs/Dockerfile +0 -4
  24. package/docs/LICENSE +0 -201
  25. package/docs/README.md +0 -217
  26. package/docs/assets/icons/logo.svg +0 -1
  27. package/docs/assets/scss/_variables_project.scss +0 -12
  28. package/docs/assets/scss/_variables_project_after_bs.scss +0 -8
  29. package/docs/assets/scss/index.scss +0 -48
  30. package/docs/config.yaml +0 -15
  31. package/docs/content/_index.md +0 -28
  32. package/docs/content/docs/_index.md +0 -61
  33. package/docs/content/docs/directive/_index.md +0 -4
  34. package/docs/content/docs/directive/app.md +0 -11
  35. package/docs/content/docs/directive/aria.md +0 -0
  36. package/docs/content/docs/directive/bind.md +0 -72
  37. package/docs/content/docs/directive/blur.md +0 -38
  38. package/docs/content/docs/directive/channel.md +0 -37
  39. package/docs/content/docs/directive/class-even.md +0 -47
  40. package/docs/content/docs/directive/class-odd.md +0 -48
  41. package/docs/content/docs/directive/class.md +0 -64
  42. package/docs/content/docs/directive/click.md +0 -41
  43. package/docs/content/docs/directive/cloak.md +0 -74
  44. package/docs/content/docs/directive/copy.md +0 -38
  45. package/docs/content/docs/directive/cut.md +0 -40
  46. package/docs/content/docs/directive/dblclick.md +0 -41
  47. package/docs/content/docs/directive/focus.md +0 -38
  48. package/docs/content/docs/directive/get.md +0 -203
  49. package/docs/content/docs/directive/include.md +0 -7
  50. package/docs/content/docs/directive/keydown.md +0 -38
  51. package/docs/content/docs/directive/keyup.md +0 -38
  52. package/docs/content/docs/directive/load.md +0 -43
  53. package/docs/content/docs/directive/mousedown.md +0 -38
  54. package/docs/content/docs/directive/mouseenter.md +0 -38
  55. package/docs/content/docs/directive/mouseleave.md +0 -38
  56. package/docs/content/docs/directive/mousemove.md +0 -38
  57. package/docs/content/docs/directive/mouseout.md +0 -38
  58. package/docs/content/docs/directive/mouseover.md +0 -38
  59. package/docs/content/docs/directive/mouseup.md +0 -38
  60. package/docs/content/docs/directive/non-bindable.md +0 -28
  61. package/docs/content/docs/filter/_index.md +0 -4
  62. package/docs/content/docs/filter/filter.md +0 -78
  63. package/docs/content/docs/filter/json.md +0 -19
  64. package/docs/content/docs/filter/limit-to.md +0 -30
  65. package/docs/content/docs/filter/order-by.md +0 -123
  66. package/docs/content/docs/provider/_index.md +0 -4
  67. package/docs/content/docs/provider/eventBusProvider.md +0 -35
  68. package/docs/content/docs/provider/locationProvider.md +0 -26
  69. package/docs/content/docs/provider/logProvider.md +0 -59
  70. package/docs/content/docs/provider/sceProvider.md +0 -194
  71. package/docs/content/docs/provider/templateCacheProvider.md +0 -100
  72. package/docs/content/docs/provider/templateRequestProvider.md +0 -5
  73. package/docs/content/docs/service/_index.md +0 -4
  74. package/docs/content/docs/service/compile.md +0 -5
  75. package/docs/content/docs/service/controller.md +0 -5
  76. package/docs/content/docs/service/eventBus.md +0 -56
  77. package/docs/content/docs/service/http.md +0 -161
  78. package/docs/content/docs/service/interpolation.md +0 -5
  79. package/docs/content/docs/service/location.md +0 -57
  80. package/docs/content/docs/service/log.md +0 -113
  81. package/docs/content/docs/service/parse.md +0 -5
  82. package/docs/content/docs/service/rootElement.md +0 -5
  83. package/docs/content/docs/service/rootScope.md +0 -5
  84. package/docs/content/docs/service/sce.md +0 -194
  85. package/docs/content/docs/service/templateCache.md +0 -64
  86. package/docs/content/docs/service/templateRequest.md +0 -5
  87. package/docs/content/docs/service/url.md +0 -5
  88. package/docs/content/docs/values/_index.md +0 -4
  89. package/docs/content/docs/values/document.md +0 -29
  90. package/docs/content/docs/values/window.md +0 -29
  91. package/docs/docker-compose.yaml +0 -12
  92. package/docs/docsy.work +0 -5
  93. package/docs/docsy.work.sum +0 -0
  94. package/docs/go.mod +0 -5
  95. package/docs/go.sum +0 -6
  96. package/docs/hugo-disabled.toml +0 -220
  97. package/docs/hugo.yaml +0 -200
  98. package/docs/layouts/404.html +0 -13
  99. package/docs/layouts/_markup/render-heading.html +0 -1
  100. package/docs/layouts/partials/hooks/head-end.html +0 -3
  101. package/docs/layouts/shortcodes/showcss.html +0 -2
  102. package/docs/layouts/shortcodes/showhtml.html +0 -2
  103. package/docs/layouts/shortcodes/showjs.html +0 -2
  104. package/docs/layouts/shortcodes/showraw.html +0 -1
  105. package/docs/layouts/shortcodes/version.html +0 -1
  106. package/docs/package-lock.json +0 -2293
  107. package/docs/package.json +0 -53
  108. package/docs/static/examples/counter/counter-test.html +0 -13
  109. package/docs/static/examples/counter/counter.html +0 -5
  110. package/docs/static/examples/counter/counter.test.js +0 -28
  111. package/docs/static/examples/document/document.html +0 -3
  112. package/docs/static/examples/eventbus/eventbus-test.html +0 -15
  113. package/docs/static/examples/eventbus/eventbus.html +0 -13
  114. package/docs/static/examples/eventbus/eventbus.js +0 -15
  115. package/docs/static/examples/eventbus/eventbus.test.js +0 -19
  116. package/docs/static/examples/i18n/i18n.html +0 -77
  117. package/docs/static/examples/ng-bind/ng-bind.html +0 -9
  118. package/docs/static/examples/ng-blur/ng-blur.html +0 -9
  119. package/docs/static/examples/ng-channel/ng-channel-test.html +0 -17
  120. package/docs/static/examples/ng-channel/ng-channel.html +0 -24
  121. package/docs/static/examples/ng-channel/ng-channel.test.js +0 -31
  122. package/docs/static/examples/ng-class/ng-class.html +0 -71
  123. package/docs/static/examples/ng-class-even/ng-class-even.html +0 -8
  124. package/docs/static/examples/ng-class-odd/ng-class-odd.html +0 -8
  125. package/docs/static/examples/ng-click/ng-click.html +0 -6
  126. package/docs/static/examples/ng-copy/ng-copy.html +0 -6
  127. package/docs/static/examples/ng-cut/ng-cut.html +0 -6
  128. package/docs/static/examples/ng-dblclick/ng-dblclick.html +0 -10
  129. package/docs/static/examples/ng-focus/ng-focus.html +0 -9
  130. package/docs/static/examples/ng-keydown/ng-keydown.html +0 -9
  131. package/docs/static/examples/ng-keyup/ng-keyup.html +0 -9
  132. package/docs/static/examples/ng-load/ng-load.html +0 -8
  133. package/docs/static/examples/ng-mousedown/ng-mousedown.html +0 -6
  134. package/docs/static/examples/ng-mouseenter/ng-mouseenter.html +0 -4
  135. package/docs/static/examples/ng-mouseleave/ng-mouseleave.html +0 -4
  136. package/docs/static/examples/ng-mousemove/ng-mousemove.html +0 -4
  137. package/docs/static/examples/ng-mouseout/ng-mouseout.html +0 -4
  138. package/docs/static/examples/ng-mouseover/ng-mouseover.html +0 -4
  139. package/docs/static/examples/ng-mouseup/ng-mouseup.html +0 -4
  140. package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +0 -13
  141. package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +0 -3
  142. package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +0 -11
  143. package/docs/static/examples/window/window.html +0 -4
  144. package/docs/static/typedoc/.nojekyll +0 -1
  145. package/docs/static/typedoc/assets/hierarchy.js +0 -1
  146. package/docs/static/typedoc/assets/highlight.css +0 -29
  147. package/docs/static/typedoc/assets/icons.js +0 -18
  148. package/docs/static/typedoc/assets/icons.svg +0 -1
  149. package/docs/static/typedoc/assets/main.js +0 -60
  150. package/docs/static/typedoc/assets/navigation.js +0 -1
  151. package/docs/static/typedoc/assets/search.js +0 -1
  152. package/docs/static/typedoc/assets/style.css +0 -1633
  153. package/docs/static/typedoc/classes/Location.html +0 -55
  154. package/docs/static/typedoc/classes/LocationProvider.html +0 -20
  155. package/docs/static/typedoc/classes/LogProvider.html +0 -6
  156. package/docs/static/typedoc/classes/PubSub.html +0 -71
  157. package/docs/static/typedoc/classes/PubSubProvider.html +0 -4
  158. package/docs/static/typedoc/classes/TemplateCacheProvider.html +0 -5
  159. package/docs/static/typedoc/hierarchy.html +0 -1
  160. package/docs/static/typedoc/index.html +0 -1
  161. package/docs/static/typedoc/interfaces/DefaultPorts.html +0 -5
  162. package/docs/static/typedoc/interfaces/Html5Mode.html +0 -23
  163. package/docs/static/typedoc/interfaces/HttpHeadersGetter.html +0 -1
  164. package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +0 -31
  165. package/docs/static/typedoc/interfaces/HttpRequestConfigHeaders.html +0 -6
  166. package/docs/static/typedoc/interfaces/HttpRequestTransformer.html +0 -1
  167. package/docs/static/typedoc/interfaces/HttpResponse.html +0 -7
  168. package/docs/static/typedoc/interfaces/HttpResponseTransformer.html +0 -1
  169. package/docs/static/typedoc/interfaces/HttpService.html +0 -38
  170. package/docs/static/typedoc/interfaces/LogService.html +0 -12
  171. package/docs/static/typedoc/interfaces/RequestConfig.html +0 -48
  172. package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +0 -38
  173. package/docs/static/typedoc/interfaces/ServiceProvider.html +0 -5
  174. package/docs/static/typedoc/interfaces/UrlParts.html +0 -9
  175. package/docs/static/typedoc/types/HttpParamSerializer.html +0 -2
  176. package/docs/static/typedoc/types/HttpParams.html +0 -2
  177. package/docs/static/typedoc/types/HttpPromise.html +0 -1
  178. package/docs/static/typedoc/types/HttpResponseStatus.html +0 -1
  179. package/docs/static/typedoc/types/LogCall.html +0 -2
  180. package/docs/static/typedoc/types/LogServiceFactory.html +0 -2
  181. package/docs/static/typedoc/types/UrlChangeListener.html +0 -5
  182. package/docs/static/typedoc/variables/EventBus.html +0 -1
  183. package/docs/static/version.js +0 -13
  184. package/docs/test-results/.last-run.json +0 -4
  185. package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +0 -50
  186. package/eslint.config.js +0 -26
  187. package/images/android-chrome-192x192.png +0 -0
  188. package/images/android-chrome-512x512.png +0 -0
  189. package/images/apple-touch-icon.png +0 -0
  190. package/images/favicon-16x16.png +0 -0
  191. package/images/favicon-32x32.png +0 -0
  192. package/images/favicon.ico +0 -0
  193. package/images/site.webmanifest +0 -19
  194. package/index.html +0 -86
  195. package/legacy.d.ts +0 -1678
  196. package/playwright.config.ts +0 -81
  197. package/public/jasmine/boot0.js +0 -66
  198. package/public/jasmine/boot1.js +0 -134
  199. package/public/jasmine/jasmine-html.js +0 -970
  200. package/public/jasmine/jasmine.css +0 -323
  201. package/public/jasmine/jasmine.js +0 -11406
  202. package/public/public/README.md +0 -1
  203. package/public/public/circle.html +0 -1
  204. package/public/public/jasmine-helper.css +0 -9
  205. package/public/public/my_child_directive.html +0 -1
  206. package/public/public/my_directive.html +0 -1
  207. package/public/public/my_other_directive.html +0 -1
  208. package/public/public/test.html +0 -1
  209. package/rollup.config.js +0 -51
  210. package/src/angular.js +0 -286
  211. package/src/angular.spec.js +0 -1191
  212. package/src/animations/animate-cache.js +0 -80
  213. package/src/animations/animate-children-directive.js +0 -32
  214. package/src/animations/animate-children-directive.md +0 -80
  215. package/src/animations/animate-css-driver.js +0 -284
  216. package/src/animations/animate-css.html +0 -58
  217. package/src/animations/animate-css.js +0 -915
  218. package/src/animations/animate-css.md +0 -263
  219. package/src/animations/animate-js-driver.js +0 -60
  220. package/src/animations/animate-js.html +0 -47
  221. package/src/animations/animate-js.js +0 -371
  222. package/src/animations/animate-queue.js +0 -859
  223. package/src/animations/animate-runner.js +0 -193
  224. package/src/animations/animate-swap.js +0 -33
  225. package/src/animations/animate-swap.md +0 -88
  226. package/src/animations/animate.html +0 -19
  227. package/src/animations/animate.js +0 -546
  228. package/src/animations/animate.md +0 -933
  229. package/src/animations/animate.spec.js +0 -490
  230. package/src/animations/animation.js +0 -519
  231. package/src/animations/animations.test.js +0 -10
  232. package/src/animations/interface.ts +0 -19
  233. package/src/animations/raf-scheduler.html +0 -19
  234. package/src/animations/raf-scheduler.js +0 -92
  235. package/src/animations/raf-scheduler.spec.js +0 -98
  236. package/src/animations/shared.js +0 -341
  237. package/src/binding.html +0 -19
  238. package/src/binding.spec.js +0 -474
  239. package/src/binding.test.js +0 -10
  240. package/src/core/compile/attributes.js +0 -337
  241. package/src/core/compile/compile.html +0 -19
  242. package/src/core/compile/compile.js +0 -3271
  243. package/src/core/compile/compile.md +0 -1128
  244. package/src/core/compile/compile.spec.js +0 -15574
  245. package/src/core/compile/compile.test.js +0 -12
  246. package/src/core/controller/controller.html +0 -22
  247. package/src/core/controller/controller.js +0 -193
  248. package/src/core/controller/controller.spec.js +0 -334
  249. package/src/core/controller/controller.test.js +0 -12
  250. package/src/core/controller/interface.ts +0 -6
  251. package/src/core/core.html +0 -20
  252. package/src/core/core.test.js +0 -12
  253. package/src/core/di/injector.html +0 -19
  254. package/src/core/di/injector.js +0 -307
  255. package/src/core/di/injector.md +0 -740
  256. package/src/core/di/injector.spec.js +0 -2310
  257. package/src/core/di/injector.test.js +0 -12
  258. package/src/core/di/internal-injector.js +0 -286
  259. package/src/core/di/ng-module.html +0 -19
  260. package/src/core/di/ng-module.js +0 -229
  261. package/src/core/di/ng-module.spec.js +0 -263
  262. package/src/core/di/ng-module.test.js +0 -12
  263. package/src/core/filter/filter.html +0 -19
  264. package/src/core/filter/filter.js +0 -55
  265. package/src/core/filter/filter.md +0 -132
  266. package/src/core/filter/filter.spec.js +0 -149
  267. package/src/core/filter/filter.test.js +0 -12
  268. package/src/core/interpolate/interface.ts +0 -14
  269. package/src/core/interpolate/interpolate.html +0 -22
  270. package/src/core/interpolate/interpolate.js +0 -410
  271. package/src/core/interpolate/interpolate.spec.js +0 -601
  272. package/src/core/interpolate/interpolate.test.js +0 -12
  273. package/src/core/parse/ast/ast-node.ts +0 -81
  274. package/src/core/parse/ast/ast.html +0 -19
  275. package/src/core/parse/ast/ast.js +0 -574
  276. package/src/core/parse/ast/ast.spec.js +0 -1453
  277. package/src/core/parse/ast/ast.test.js +0 -10
  278. package/src/core/parse/ast-type.js +0 -23
  279. package/src/core/parse/interface.ts +0 -84
  280. package/src/core/parse/interpreter.js +0 -915
  281. package/src/core/parse/lexer/lexer.html +0 -19
  282. package/src/core/parse/lexer/lexer.js +0 -338
  283. package/src/core/parse/lexer/lexer.spec.js +0 -303
  284. package/src/core/parse/lexer/lexer.test.js +0 -10
  285. package/src/core/parse/lexer/token.ts +0 -22
  286. package/src/core/parse/parse.html +0 -19
  287. package/src/core/parse/parse.js +0 -337
  288. package/src/core/parse/parse.md +0 -57
  289. package/src/core/parse/parse.spec.js +0 -2107
  290. package/src/core/parse/parse.test.js +0 -10
  291. package/src/core/parse/parser/parser.html +0 -19
  292. package/src/core/parse/parser/parser.js +0 -64
  293. package/src/core/parse/parser/parser.spec.js +0 -8
  294. package/src/core/parse/parser/parser.test.js +0 -10
  295. package/src/core/prop.spec.js +0 -775
  296. package/src/core/root-element.spec.js +0 -14
  297. package/src/core/sanitize/interface.ts +0 -10
  298. package/src/core/sanitize/sanitize-uri.js +0 -75
  299. package/src/core/sanitize/sanitize-uri.spec.js +0 -249
  300. package/src/core/sanitize/sanitize-uri.test.js +0 -12
  301. package/src/core/sanitize/sanitize.html +0 -22
  302. package/src/core/scope/scope.html +0 -19
  303. package/src/core/scope/scope.js +0 -1252
  304. package/src/core/scope/scope.spec.js +0 -3000
  305. package/src/core/scope/scope.test.js +0 -12
  306. package/src/directive/aria/aria.html +0 -19
  307. package/src/directive/aria/aria.js +0 -382
  308. package/src/directive/aria/aria.md +0 -145
  309. package/src/directive/aria/aria.spec.js +0 -1241
  310. package/src/directive/aria/aria.test.js +0 -12
  311. package/src/directive/attrs/attrs.html +0 -19
  312. package/src/directive/attrs/attrs.js +0 -106
  313. package/src/directive/attrs/attrs.md +0 -224
  314. package/src/directive/attrs/attrs.spec.js +0 -71
  315. package/src/directive/attrs/attrs.test.js +0 -12
  316. package/src/directive/attrs/boolean.html +0 -19
  317. package/src/directive/attrs/boolean.spec.js +0 -137
  318. package/src/directive/attrs/boolean.test.js +0 -12
  319. package/src/directive/attrs/element-style.html +0 -22
  320. package/src/directive/attrs/element-style.spec.js +0 -85
  321. package/src/directive/attrs/element-style.test.js +0 -12
  322. package/src/directive/attrs/src.html +0 -19
  323. package/src/directive/attrs/src.spec.js +0 -163
  324. package/src/directive/attrs/src.test.js +0 -12
  325. package/src/directive/bind/bind-html.spec.js +0 -36
  326. package/src/directive/bind/bind.html +0 -20
  327. package/src/directive/bind/bind.js +0 -78
  328. package/src/directive/bind/bind.md +0 -142
  329. package/src/directive/bind/bind.spec.js +0 -314
  330. package/src/directive/bind/bind.test.js +0 -12
  331. package/src/directive/channel/channel.html +0 -19
  332. package/src/directive/channel/channel.js +0 -30
  333. package/src/directive/channel/channel.spec.js +0 -67
  334. package/src/directive/channel/channel.test.js +0 -10
  335. package/src/directive/class/class-test.html +0 -23
  336. package/src/directive/class/class.html +0 -19
  337. package/src/directive/class/class.js +0 -184
  338. package/src/directive/class/class.spec.js +0 -704
  339. package/src/directive/class/class.test.js +0 -12
  340. package/src/directive/cloak/cloak.html +0 -19
  341. package/src/directive/cloak/cloak.js +0 -11
  342. package/src/directive/cloak/cloak.spec.js +0 -44
  343. package/src/directive/cloak/cloak.test.js +0 -12
  344. package/src/directive/controller/controller.html +0 -22
  345. package/src/directive/controller/controller.js +0 -11
  346. package/src/directive/controller/controller.md +0 -46
  347. package/src/directive/controller/controller.spec.js +0 -175
  348. package/src/directive/controller/controller.test.js +0 -12
  349. package/src/directive/events/click.spec.js +0 -35
  350. package/src/directive/events/event.spec.js +0 -267
  351. package/src/directive/events/events-test.html +0 -36
  352. package/src/directive/events/events.html +0 -20
  353. package/src/directive/events/events.js +0 -65
  354. package/src/directive/events/events.md +0 -125
  355. package/src/directive/events/events.test.js +0 -12
  356. package/src/directive/form/form.html +0 -19
  357. package/src/directive/form/form.js +0 -669
  358. package/src/directive/form/form.spec.js +0 -1515
  359. package/src/directive/form/form.test.js +0 -12
  360. package/src/directive/http/delete.spec.js +0 -23
  361. package/src/directive/http/form-router-test.html +0 -44
  362. package/src/directive/http/form-test.html +0 -18
  363. package/src/directive/http/get.spec.js +0 -488
  364. package/src/directive/http/http.html +0 -22
  365. package/src/directive/http/http.js +0 -342
  366. package/src/directive/http/http.test.js +0 -12
  367. package/src/directive/http/interface.ts +0 -36
  368. package/src/directive/http/post-example.html +0 -30
  369. package/src/directive/http/post.spec.js +0 -521
  370. package/src/directive/http/put.spec.js +0 -23
  371. package/src/directive/if/if-animate-css.html +0 -57
  372. package/src/directive/if/if-animate-svg.html +0 -25
  373. package/src/directive/if/if.html +0 -19
  374. package/src/directive/if/if.js +0 -72
  375. package/src/directive/if/if.md +0 -76
  376. package/src/directive/if/if.spec.js +0 -293
  377. package/src/directive/if/if.test.js +0 -114
  378. package/src/directive/include/include.html +0 -19
  379. package/src/directive/include/include.js +0 -151
  380. package/src/directive/include/include.md +0 -87
  381. package/src/directive/include/include.spec.js +0 -734
  382. package/src/directive/include/include.test.js +0 -12
  383. package/src/directive/init/init.html +0 -19
  384. package/src/directive/init/init.js +0 -22
  385. package/src/directive/init/init.md +0 -41
  386. package/src/directive/init/init.spec.js +0 -68
  387. package/src/directive/init/init.test.js +0 -12
  388. package/src/directive/inject/inject.html +0 -19
  389. package/src/directive/inject/inject.js +0 -35
  390. package/src/directive/inject/inject.spec.js +0 -108
  391. package/src/directive/inject/inject.test.js +0 -12
  392. package/src/directive/input/input-example.html +0 -15
  393. package/src/directive/input/input.html +0 -19
  394. package/src/directive/input/input.js +0 -1078
  395. package/src/directive/input/input.md +0 -706
  396. package/src/directive/input/input.spec.js +0 -3700
  397. package/src/directive/input/input.test.js +0 -12
  398. package/src/directive/messages/messages.html +0 -22
  399. package/src/directive/messages/messages.js +0 -349
  400. package/src/directive/messages/messages.md +0 -543
  401. package/src/directive/messages/messages.spec.js +0 -1083
  402. package/src/directive/messages/messages.test.js +0 -12
  403. package/src/directive/model/change.md +0 -25
  404. package/src/directive/model/model.html +0 -19
  405. package/src/directive/model/model.js +0 -1170
  406. package/src/directive/model/model.spec.js +0 -1976
  407. package/src/directive/model/model.test.js +0 -12
  408. package/src/directive/model-options/model-option.test.js +0 -12
  409. package/src/directive/model-options/model-options.html +0 -22
  410. package/src/directive/model-options/model-options.js +0 -142
  411. package/src/directive/model-options/model-options.md +0 -407
  412. package/src/directive/model-options/model-options.spec.js +0 -1022
  413. package/src/directive/non-bindable/non-bindable.html +0 -22
  414. package/src/directive/non-bindable/non-bindable.js +0 -9
  415. package/src/directive/non-bindable/non-bindable.spec.js +0 -59
  416. package/src/directive/non-bindable/non-bindable.test.js +0 -12
  417. package/src/directive/observe/observe-demo.html +0 -184
  418. package/src/directive/observe/observe.html +0 -19
  419. package/src/directive/observe/observe.js +0 -41
  420. package/src/directive/observe/observe.spec.js +0 -106
  421. package/src/directive/observe/observe.test.js +0 -10
  422. package/src/directive/on/on.html +0 -19
  423. package/src/directive/on/on.spec.js +0 -215
  424. package/src/directive/on/on.test.js +0 -12
  425. package/src/directive/options/options-example.html +0 -17
  426. package/src/directive/options/options.html +0 -22
  427. package/src/directive/options/options.js +0 -542
  428. package/src/directive/options/options.md +0 -179
  429. package/src/directive/options/options.spec.js +0 -3554
  430. package/src/directive/options/options.test.js +0 -12
  431. package/src/directive/ref/href.html +0 -19
  432. package/src/directive/ref/href.spec.js +0 -141
  433. package/src/directive/ref/href.test.js +0 -19
  434. package/src/directive/ref/ref.html +0 -19
  435. package/src/directive/ref/ref.js +0 -89
  436. package/src/directive/ref/ref.spec.js +0 -546
  437. package/src/directive/repeat/repeat.html +0 -19
  438. package/src/directive/repeat/repeat.js +0 -333
  439. package/src/directive/repeat/repeat.md +0 -330
  440. package/src/directive/repeat/repeat.spec.js +0 -1209
  441. package/src/directive/repeat/repeat.test.js +0 -12
  442. package/src/directive/script/script.html +0 -19
  443. package/src/directive/script/script.js +0 -17
  444. package/src/directive/script/script.md +0 -11
  445. package/src/directive/script/script.spec.js +0 -47
  446. package/src/directive/script/script.test.js +0 -12
  447. package/src/directive/select/select.html +0 -19
  448. package/src/directive/select/select.js +0 -594
  449. package/src/directive/select/select.md +0 -74
  450. package/src/directive/select/select.spec.js +0 -2566
  451. package/src/directive/select/select.test.js +0 -12
  452. package/src/directive/setter/setter.html +0 -19
  453. package/src/directive/setter/setter.js +0 -59
  454. package/src/directive/setter/setter.spec.js +0 -100
  455. package/src/directive/setter/setter.test.js +0 -12
  456. package/src/directive/show-hide/show-hide.html +0 -22
  457. package/src/directive/show-hide/show-hide.js +0 -65
  458. package/src/directive/show-hide/show-hide.md +0 -255
  459. package/src/directive/show-hide/show-hide.spec.js +0 -268
  460. package/src/directive/show-hide/show-hide.test.js +0 -12
  461. package/src/directive/style/style.html +0 -19
  462. package/src/directive/style/style.js +0 -27
  463. package/src/directive/style/style.md +0 -23
  464. package/src/directive/style/style.spec.js +0 -183
  465. package/src/directive/style/style.test.js +0 -12
  466. package/src/directive/switch/switch.html +0 -19
  467. package/src/directive/switch/switch.js +0 -133
  468. package/src/directive/switch/switch.md +0 -66
  469. package/src/directive/switch/switch.spec.js +0 -509
  470. package/src/directive/switch/switch.test.js +0 -12
  471. package/src/directive/transclude/transclude.js +0 -122
  472. package/src/directive/validators/validators.html +0 -22
  473. package/src/directive/validators/validators.js +0 -346
  474. package/src/directive/validators/validators.spec.js +0 -740
  475. package/src/directive/validators/validators.test.js +0 -12
  476. package/src/filters/filter.js +0 -213
  477. package/src/filters/filter.spec.js +0 -719
  478. package/src/filters/filters.html +0 -22
  479. package/src/filters/filters.js +0 -239
  480. package/src/filters/filters.spec.js +0 -36
  481. package/src/filters/filters.test.js +0 -12
  482. package/src/filters/interface.ts +0 -9
  483. package/src/filters/limit-to.js +0 -55
  484. package/src/filters/limit-to.spec.js +0 -252
  485. package/src/filters/order-by.js +0 -181
  486. package/src/filters/order-by.spec.js +0 -883
  487. package/src/index.js +0 -6
  488. package/src/index.spec.js +0 -11
  489. package/src/injection-tokens.js +0 -81
  490. package/src/interface.ts +0 -430
  491. package/src/ng.js +0 -291
  492. package/src/ng.spec.js +0 -45
  493. package/src/router/common/trace.js +0 -240
  494. package/src/router/directives/component-example.html +0 -37
  495. package/src/router/directives/state-directives.html +0 -22
  496. package/src/router/directives/state-directives.js +0 -393
  497. package/src/router/directives/state-directives.md +0 -435
  498. package/src/router/directives/state-directives.spec.js +0 -1091
  499. package/src/router/directives/state-directives.test.js +0 -10
  500. package/src/router/directives/view-directive.js +0 -489
  501. package/src/router/directives/view-directive.spec.js +0 -1921
  502. package/src/router/directives/view-directive.test.js +0 -10
  503. package/src/router/directives/view-directives.html +0 -22
  504. package/src/router/glob/glob.html +0 -19
  505. package/src/router/glob/glob.js +0 -102
  506. package/src/router/glob/glob.spec.js +0 -108
  507. package/src/router/glob/glob.test.js +0 -12
  508. package/src/router/hooks/core-resolvables.js +0 -38
  509. package/src/router/hooks/ignored-transition.js +0 -25
  510. package/src/router/hooks/invalid-transition.js +0 -14
  511. package/src/router/hooks/lazy-load.js +0 -104
  512. package/src/router/hooks/on-enter-exit-retain.js +0 -55
  513. package/src/router/hooks/redirect-to.js +0 -38
  514. package/src/router/hooks/resolve.js +0 -57
  515. package/src/router/hooks/update-globals.js +0 -34
  516. package/src/router/hooks/url.js +0 -34
  517. package/src/router/hooks/views.js +0 -41
  518. package/src/router/params/interface.ts +0 -626
  519. package/src/router/params/param-factory.js +0 -23
  520. package/src/router/params/param-type.js +0 -133
  521. package/src/router/params/param-types.js +0 -153
  522. package/src/router/params/param.js +0 -243
  523. package/src/router/params/state-params.js +0 -36
  524. package/src/router/path/path-node.js +0 -78
  525. package/src/router/path/path-utils.js +0 -207
  526. package/src/router/resolve/interface.ts +0 -208
  527. package/src/router/resolve/resolvable.js +0 -123
  528. package/src/router/resolve/resolve-context.js +0 -190
  529. package/src/router/router-test-hashbang.html +0 -45
  530. package/src/router/router-test.html +0 -41
  531. package/src/router/router.html +0 -22
  532. package/src/router/router.js +0 -54
  533. package/src/router/router.test.js +0 -12
  534. package/src/router/services.spec.js +0 -52
  535. package/src/router/state/interface.ts +0 -1007
  536. package/src/router/state/state-builder.js +0 -376
  537. package/src/router/state/state-builder.spec.js +0 -86
  538. package/src/router/state/state-matcher.js +0 -64
  539. package/src/router/state/state-object.js +0 -118
  540. package/src/router/state/state-queue-manager.js +0 -95
  541. package/src/router/state/state-registry.js +0 -262
  542. package/src/router/state/state-service.js +0 -687
  543. package/src/router/state/state.html +0 -23
  544. package/src/router/state/state.spec.js +0 -1002
  545. package/src/router/state/state.test.js +0 -12
  546. package/src/router/state/target-state.js +0 -162
  547. package/src/router/state/views.js +0 -195
  548. package/src/router/state-filter.spec.js +0 -139
  549. package/src/router/state-filters.js +0 -46
  550. package/src/router/template-factory.html +0 -19
  551. package/src/router/template-factory.js +0 -249
  552. package/src/router/template-factory.spec.js +0 -146
  553. package/src/router/template-factory.test.js +0 -12
  554. package/src/router/transition/hook-builder.js +0 -137
  555. package/src/router/transition/hook-registry.js +0 -181
  556. package/src/router/transition/interface.js +0 -18
  557. package/src/router/transition/interface.ts +0 -922
  558. package/src/router/transition/reject-factory.js +0 -122
  559. package/src/router/transition/transition-event-type.js +0 -26
  560. package/src/router/transition/transition-hook.js +0 -199
  561. package/src/router/transition/transition-service.js +0 -297
  562. package/src/router/transition/transition.js +0 -653
  563. package/src/router/url/url-config.js +0 -155
  564. package/src/router/url/url-matcher.js +0 -532
  565. package/src/router/url/url-rule.js +0 -231
  566. package/src/router/url/url-rules.js +0 -350
  567. package/src/router/url/url-service.js +0 -446
  568. package/src/router/url/url-service.spec.js +0 -1288
  569. package/src/router/url/url.html +0 -19
  570. package/src/router/url/url.test.js +0 -12
  571. package/src/router/view/interface.ts +0 -51
  572. package/src/router/view/view.html +0 -19
  573. package/src/router/view/view.js +0 -262
  574. package/src/router/view/view.spec.js +0 -100
  575. package/src/router/view/view.test.js +0 -12
  576. package/src/router/view-hook.spec.js +0 -215
  577. package/src/router/view-scroll.js +0 -33
  578. package/src/router/view-scroll.spec.js +0 -72
  579. package/src/services/anchor-scroll/anchor-scroll.html +0 -76
  580. package/src/services/anchor-scroll/anchor-scroll.js +0 -147
  581. package/src/services/exception/exception-handler.js +0 -75
  582. package/src/services/exception/interface.ts +0 -7
  583. package/src/services/http/http.html +0 -23
  584. package/src/services/http/http.js +0 -1109
  585. package/src/services/http/http.spec.js +0 -4320
  586. package/src/services/http/http.test.js +0 -11
  587. package/src/services/http/interface.ts +0 -256
  588. package/src/services/http/template-request.spec.js +0 -220
  589. package/src/services/location/interface.ts +0 -70
  590. package/src/services/location/location.html +0 -22
  591. package/src/services/location/location.js +0 -1006
  592. package/src/services/location/location.spec.js +0 -3792
  593. package/src/services/location/location.test.js +0 -12
  594. package/src/services/log/interface.ts +0 -39
  595. package/src/services/log/log.html +0 -19
  596. package/src/services/log/log.js +0 -74
  597. package/src/services/log/log.spec.js +0 -64
  598. package/src/services/log/log.test.js +0 -12
  599. package/src/services/pubsub/pubsub.html +0 -19
  600. package/src/services/pubsub/pubsub.js +0 -349
  601. package/src/services/pubsub/pubsub.spec.js +0 -400
  602. package/src/services/pubsub/pubsub.test.js +0 -12
  603. package/src/services/sce/sce.html +0 -19
  604. package/src/services/sce/sce.js +0 -852
  605. package/src/services/sce/sce.spec.js +0 -617
  606. package/src/services/sce/sce.test.js +0 -12
  607. package/src/services/template-cache/template-cache.html +0 -22
  608. package/src/services/template-cache/template-cache.js +0 -15
  609. package/src/services/template-cache/template-cache.spec.js +0 -134
  610. package/src/services/template-cache/template-cache.test.js +0 -12
  611. package/src/services/template-request/interface.ts +0 -23
  612. package/src/services/template-request/template-request.js +0 -142
  613. package/src/shared/cache.js +0 -7
  614. package/src/shared/common.js +0 -365
  615. package/src/shared/common.spec.js +0 -294
  616. package/src/shared/constants.js +0 -21
  617. package/src/shared/dom.js +0 -716
  618. package/src/shared/hof.js +0 -157
  619. package/src/shared/hof.spec.js +0 -60
  620. package/src/shared/interface.ts +0 -21
  621. package/src/shared/min-err.spec.js +0 -178
  622. package/src/shared/noderef.js +0 -225
  623. package/src/shared/predicates.js +0 -34
  624. package/src/shared/queue.js +0 -105
  625. package/src/shared/queue.spec.js +0 -80
  626. package/src/shared/shared.html +0 -24
  627. package/src/shared/shared.test.js +0 -12
  628. package/src/shared/strings.js +0 -142
  629. package/src/shared/strings.spec.js +0 -40
  630. package/src/shared/test-utils.js +0 -47
  631. package/src/shared/url-utils/interface.ts +0 -54
  632. package/src/shared/url-utils/url-utils.html +0 -22
  633. package/src/shared/url-utils/url-utils.js +0 -122
  634. package/src/shared/url-utils/url-utils.spec.js +0 -148
  635. package/src/shared/url-utils/url-utils.test.js +0 -12
  636. package/src/shared/utils.js +0 -1255
  637. package/src/shared/utils.spec.js +0 -178
  638. package/src/src.html +0 -21
  639. package/src/src.test.js +0 -10
  640. package/tsconfig.json +0 -19
  641. package/tsconfig.types.json +0 -14
  642. package/typedoc.json +0 -8
  643. package/utils/express.js +0 -203
  644. package/utils/version.cjs +0 -23
  645. package/vite.config.js +0 -14
@@ -1,669 +0,0 @@
1
- import {
2
- assertNotHasOwnProperty,
3
- shallowCopy,
4
- arrayRemove,
5
- isBoolean,
6
- snakeCase,
7
- extend,
8
- isUndefined,
9
- isObjectEmpty,
10
- isProxy,
11
- } from "../../shared/utils.js";
12
- import {
13
- PRISTINE_CLASS,
14
- DIRTY_CLASS,
15
- VALID_CLASS,
16
- INVALID_CLASS,
17
- } from "../../shared/constants.js";
18
-
19
- /**
20
- * @type {{
21
- * $nonscope: boolean,
22
- * $addControl: Function,
23
- * $getControls: () => any[],
24
- * $$renameControl: Function,
25
- * $removeControl: Function,
26
- * $setValidity: Function | ((key: any, isValid: boolean, control: any) => any),
27
- * $setDirty: Function,
28
- * $setPristine: Function,
29
- * $setSubmitted: Function,
30
- * $$setSubmitted: Function
31
- * }}
32
- */
33
- export const nullFormCtrl = {
34
- $nonscope: true,
35
- $addControl: () => {},
36
- $getControls: () => [],
37
- $$renameControl: (control, name) => {
38
- control.$name = name;
39
- },
40
- $removeControl: () => {},
41
- $setValidity: () => {},
42
- $setDirty: () => {},
43
- $setPristine: () => {},
44
- $setSubmitted: () => {},
45
- $$setSubmitted: () => {},
46
- };
47
-
48
- export const PENDING_CLASS = "ng-pending";
49
- const SUBMITTED_CLASS = "ng-submitted";
50
-
51
- /**
52
- * @property {boolean} $dirty True if user has already interacted with the form.
53
- * @property {boolean} $valid True if all of the containing forms and controls are valid.
54
- * @property {boolean} $invalid True if at least one containing control or form is invalid.
55
- * @property {boolean} $submitted True if user has submitted the form even if its invalid.
56
- *
57
- * @property {Object} $pending An object hash, containing references to controls or forms with
58
- * pending validators, where:
59
- *
60
- * - keys are validations tokens (error names).
61
- * - values are arrays of controls or forms that have a pending validator for the given error name.
62
- *
63
- * See {@link form.FormController#$error $error} for a list of built-in validation tokens.
64
- *
65
- * @property {Object} $error An object hash, containing references to controls or forms with failing
66
- * validators, where:
67
- *
68
- * - keys are validation tokens (error names),
69
- * - values are arrays of controls or forms that have a failing validator for the given error name.
70
- *
71
- * Built-in validation tokens:
72
- * - `email`
73
- * - `max`
74
- * - `maxlength`
75
- * - `min`
76
- * - `minlength`
77
- * - `number`
78
- * - `pattern`
79
- * - `required`
80
- * - `url`
81
- * - `date`
82
- * - `datetimelocal`
83
- * - `time`
84
- * - `week`
85
- * - `month`
86
- *
87
- * @description
88
- * `FormController` keeps track of all its controls and nested forms as well as the state of them,
89
- * such as being valid/invalid or dirty/pristine.
90
- *
91
- * Each {@link ng.directive:form form} directive creates an instance
92
- * of `FormController`.
93
- *
94
- */
95
- // asks for $scope to fool the BC controller module
96
-
97
- export class FormController {
98
- static $nonscope = true;
99
- /* @ignore */ static $inject = [
100
- "$element",
101
- "$attrs",
102
- "$scope",
103
- "$animate",
104
- "$interpolate",
105
- ];
106
-
107
- /**
108
- * @param {Element} $element
109
- * @param {import("../../core/compile/attributes.js").Attributes} $attrs
110
- * @param {import("../../core/scope/scope.js").Scope} $scope
111
- * @param {*} $animate
112
- * @param {*} $interpolate
113
- */
114
- constructor($element, $attrs, $scope, $animate, $interpolate) {
115
- this.$$controls = [];
116
-
117
- this.$name = $interpolate($attrs["name"] || $attrs["ngForm"] || "")($scope);
118
-
119
- /**
120
- * @property {boolean} $dirty True if user has already interacted with the form.
121
- */
122
- this.$dirty = false;
123
-
124
- /**
125
- * @propertys {boolean} $pristine - True if user has not interacted with the form yet.s
126
- */
127
- this.$pristine = true;
128
- this.$valid = true;
129
- this.$invalid = false;
130
- this.$submitted = false;
131
- /** @type {FormController|Object} */
132
- this.$$parentForm = nullFormCtrl;
133
-
134
- this.$$element = $element;
135
- this.$$animate = $animate;
136
- this.$error = {};
137
- this.$$success = {};
138
- this.$pending = undefined;
139
- this.$$classCache = {};
140
- const isValid = this.$$element.classList.contains(VALID_CLASS);
141
- this.$$classCache[VALID_CLASS] = isValid;
142
- this.$$classCache[INVALID_CLASS] = !isValid;
143
- }
144
-
145
- /**
146
- * Rollback all form controls pending updates to the `$modelValue`.
147
- *
148
- * Updates may be pending by a debounced event or because the input is waiting for a some future
149
- * event defined in `ng-model-options`. This method is typically needed by the reset button of
150
- * a form that uses `ng-model-options` to pend updates.
151
- */
152
- $rollbackViewValue() {
153
- this.$$controls.forEach((control) => {
154
- control.$rollbackViewValue();
155
- });
156
- }
157
-
158
- /**
159
- * Commit all form controls pending updates to the `$modelValue`.
160
- *
161
- * Updates may be pending by a debounced event or because the input is waiting for a some future
162
- * event defined in `ng-model-options`. This method is rarely needed as `NgModelController`
163
- * usually handles calling this in response to input events.
164
- */
165
- $commitViewValue() {
166
- this.$$controls.forEach((control) => {
167
- control.$commitViewValue();
168
- });
169
- }
170
-
171
- /**
172
- * Register a control with the form. Input elements using ngModelController do this automatically
173
- * when they are linked.
174
- *
175
- * Note that the current state of the control will not be reflected on the new parent form. This
176
- * is not an issue with normal use, as freshly compiled and linked controls are in a `$pristine`
177
- * state.
178
- *
179
- * However, if the method is used programmatically, for example by adding dynamically created controls,
180
- * or controls that have been previously removed without destroying their corresponding DOM element,
181
- * it's the developers responsibility to make sure the current state propagates to the parent form.
182
- *
183
- * For example, if an input control is added that is already `$dirty` and has `$error` properties,
184
- * calling `$setDirty()` and `$validate()` afterwards will propagate the state to the parent form.
185
- */
186
- $addControl(control) {
187
- // Breaking change - before, inputs whose name was "hasOwnProperty" were quietly ignored
188
- // and not added to the scope. Now we throw an error.
189
- assertNotHasOwnProperty(control.$name, "input");
190
- this.$$controls.push(control);
191
-
192
- if (control.$name) {
193
- this[control.$name] = control;
194
- }
195
- control.$target.$$parentForm = this;
196
- }
197
-
198
- /**
199
- * This method returns a **shallow copy** of the controls that are currently part of this form.
200
- * The controls can be instances of {@link form.FormController `FormController`}
201
- * ({@link ngForm "child-forms"}) and of {@link ngModel.NgModelController `NgModelController`}.
202
- * If you need access to the controls of child-forms, you have to call `$getControls()`
203
- * recursively on them.
204
- * This can be used for example to iterate over all controls to validate them.
205
- *
206
- * The controls can be accessed normally, but adding to, or removing controls from the array has
207
- * no effect on the form. Instead, use {@link form.FormController#$addControl `$addControl()`} and
208
- * {@link form.FormController#$removeControl `$removeControl()`} for this use-case.
209
- * Likewise, adding a control to, or removing a control from the form is not reflected
210
- * in the shallow copy. That means you should get a fresh copy from `$getControls()` every time
211
- * you need access to the controls.
212
- */
213
- $getControls() {
214
- return shallowCopy(this.$$controls);
215
- }
216
-
217
- // Private API: rename a form control
218
- $$renameControl(control, newName) {
219
- const oldName = control.$name;
220
-
221
- if (this[oldName] === control) {
222
- delete this[oldName];
223
- }
224
- this[newName] = control;
225
- control.$name = newName;
226
- }
227
-
228
- /**
229
- * Deregister a control from the form.
230
- *
231
- * Input elements using ngModelController do this automatically when they are destroyed.
232
- *
233
- * Note that only the removed control's validation state (`$errors`etc.) will be removed from the
234
- * form. `$dirty`, `$submitted` states will not be changed, because the expected behavior can be
235
- * different from case to case. For example, removing the only `$dirty` control from a form may or
236
- * may not mean that the form is still `$dirty`.
237
- */
238
- $removeControl(control) {
239
- if (control.$name && this[control.$name] === control) {
240
- delete this[control.$name];
241
- }
242
- this.$pending &&
243
- Object.keys(this.$pending).forEach((name) => {
244
- this.$setValidity(name, null, control);
245
- });
246
- this.$error &&
247
- Object.keys(this.$error).forEach((name) => {
248
- this.$setValidity(name, null, control);
249
- });
250
- this.$$success &&
251
- Object.keys(this.$$success).forEach((name) => {
252
- this.$setValidity(name, null, control);
253
- });
254
-
255
- arrayRemove(this.$$controls, control);
256
-
257
- control.$target["$$parentForm"] = nullFormCtrl;
258
- }
259
-
260
- /**
261
- * Sets the form to a dirty state.
262
- *
263
- * This method can be called to add the 'ng-dirty' class and set the form to a dirty
264
- * state (ng-dirty class). This method will also propagate to parent forms.
265
- */
266
- $setDirty() {
267
- this.$$animate.removeClass(this.$$element, PRISTINE_CLASS);
268
- this.$$animate.addClass(this.$$element, DIRTY_CLASS);
269
- this.$dirty = true;
270
- this.$pristine = false;
271
- this.$$parentForm.$setDirty();
272
- }
273
-
274
- /**
275
- * Sets the form to its pristine state.
276
- *
277
- * This method sets the form's `$pristine` state to true, the `$dirty` state to false, removes
278
- * the `ng-dirty` class and adds the `ng-pristine` class. Additionally, it sets the `$submitted`
279
- * state to false.
280
- *
281
- * This method will also propagate to all the controls contained in this form.
282
- *
283
- * Setting a form back to a pristine state is often useful when we want to 'reuse' a form after
284
- * saving or resetting it.
285
- */
286
- $setPristine() {
287
- this.$$animate.setClass(
288
- this.$$element,
289
- PRISTINE_CLASS,
290
- `${DIRTY_CLASS} ${SUBMITTED_CLASS}`,
291
- );
292
- this.$dirty = false;
293
- this.$pristine = true;
294
- this.$submitted = false;
295
- this.$$controls.forEach((control) => {
296
- control.$setPristine();
297
- });
298
- }
299
-
300
- /**
301
- * Sets the form to its untouched state.
302
- *
303
- * This method can be called to remove the 'ng-touched' class and set the form controls to their
304
- * untouched state (ng-untouched class).
305
- *
306
- * Setting a form controls back to their untouched state is often useful when setting the form
307
- * back to its pristine state.
308
- */
309
- $setUntouched() {
310
- this.$$controls.forEach((control) => {
311
- control.$setUntouched();
312
- });
313
- }
314
-
315
- /**
316
- * Sets the form to its `$submitted` state. This will also set `$submitted` on all child and
317
- * parent forms of the form.
318
- */
319
- $setSubmitted() {
320
- /** @type {FormController} */
321
- let rootForm = this;
322
- while (rootForm.$$parentForm && rootForm.$$parentForm !== nullFormCtrl) {
323
- rootForm = rootForm.$$parentForm;
324
- }
325
- rootForm.$$setSubmitted();
326
- }
327
-
328
- $$setSubmitted() {
329
- this.$$animate.addClass(this.$$element, SUBMITTED_CLASS);
330
- this.$submitted = true;
331
- this.$$controls.forEach((control) => {
332
- if (control.$$setSubmitted) {
333
- control.$$setSubmitted();
334
- }
335
- });
336
- }
337
-
338
- set(object, property, controller) {
339
- const list = object[property];
340
- if (!list) {
341
- if (isProxy(object)) {
342
- object = object.$target;
343
- }
344
- object[property] = [controller];
345
- } else {
346
- const index = list.indexOf(controller);
347
- if (index === -1) {
348
- list.push(controller);
349
- }
350
- }
351
- }
352
-
353
- unset(object, property, controller) {
354
- const list = object[property];
355
- if (!list) {
356
- return;
357
- }
358
- const index = arrayRemove(list, controller);
359
- if (index === -1) {
360
- arrayRemove(list, controller.$target);
361
- }
362
- if (list.length === 0) {
363
- delete object[property];
364
- }
365
- }
366
-
367
- /**
368
- * Change the validity state of the form, and notify the parent form (if any).
369
- *
370
- * Application developers will rarely need to call this method directly. It is used internally, by
371
- * {@link ngModel.NgModelController#$setValidity NgModelController.$setValidity()}, to propagate a
372
- * control's validity state to the parent `FormController`.
373
- *
374
- * @param {string} validationErrorKey Name of the validator. The `validationErrorKey` will be
375
- * assigned to either `$error[validationErrorKey]` or `$pending[validationErrorKey]` (for
376
- * unfulfilled `$asyncValidators`), so that it is available for data-binding. The
377
- * `validationErrorKey` should be in camelCase and will get converted into dash-case for
378
- * class name. Example: `myError` will result in `ng-valid-my-error` and
379
- * `ng-invalid-my-error` classes and can be bound to as `{{ someForm.$error.myError }}`.
380
- * @param {boolean} state Whether the current state is valid (true), invalid (false), pending
381
- * (undefined), or skipped (null). Pending is used for unfulfilled `$asyncValidators`.
382
- * Skipped is used by AngularTS when validators do not run because of parse errors and when
383
- * `$asyncValidators` do not run because any of the `$validators` failed.
384
- * @param {import("../model/model.js").NgModelController | FormController} controller - The controller whose validity state is
385
- * triggering the change.
386
- */
387
- $setValidity(validationErrorKey, state, controller) {
388
- let that = this;
389
- if (isUndefined(state)) {
390
- createAndSet(this, "$pending", validationErrorKey, controller);
391
- } else {
392
- unsetAndCleanup(this, "$pending", validationErrorKey, controller);
393
- }
394
- if (!isBoolean(state)) {
395
- this.unset(this.$error, validationErrorKey, controller);
396
- this.unset(this.$$success, validationErrorKey, controller);
397
- } else if (state) {
398
- this.unset(this.$error, validationErrorKey, controller);
399
- this.set(this.$$success, validationErrorKey, controller);
400
- } else {
401
- this.set(this.$error, validationErrorKey, controller);
402
- this.unset(this.$$success, validationErrorKey, controller);
403
- }
404
- if (this.$pending) {
405
- cachedToggleClass(this, PENDING_CLASS, true);
406
- this.$valid = this.$invalid = undefined;
407
- toggleValidationCss(this, "", null);
408
- } else {
409
- cachedToggleClass(this, PENDING_CLASS, false);
410
- this.$valid = isObjectEmpty(this.$error);
411
- this.$invalid = !this.$valid;
412
- toggleValidationCss(this, "", this.$valid);
413
- }
414
-
415
- // re-read the state as the set/unset methods could have
416
- // combined state in this.$error[validationError] (used for forms),
417
- // where setting/unsetting only increments/decrements the value,
418
- // and does not replace it.
419
- let combinedState;
420
- if (this.$pending && this.$pending[validationErrorKey]) {
421
- combinedState = undefined;
422
- } else if (this.$error[validationErrorKey]) {
423
- combinedState = false;
424
- } else if (this.$$success[validationErrorKey]) {
425
- combinedState = true;
426
- } else {
427
- combinedState = null;
428
- }
429
-
430
- toggleValidationCss(this, validationErrorKey, combinedState);
431
- this.$$parentForm.$setValidity(validationErrorKey, combinedState, this);
432
- function createAndSet(ctrl, name, value, controller) {
433
- if (!ctrl[name]) {
434
- ctrl[name] = {};
435
- }
436
- that.set(ctrl[name], value, controller);
437
- }
438
-
439
- function unsetAndCleanup(ctrl, name, value, controller) {
440
- if (ctrl[name]) {
441
- that.unset(ctrl[name], value, controller);
442
- }
443
- if (isObjectEmpty(ctrl[name])) {
444
- ctrl[name] = undefined;
445
- }
446
- }
447
-
448
- function cachedToggleClass(ctrl, className, switchValue) {
449
- if (switchValue && !ctrl.$$classCache[className]) {
450
- ctrl.$$animate.addClass(ctrl.$$element, className);
451
- ctrl.$$classCache[className] = true;
452
- } else if (!switchValue && ctrl.$$classCache[className]) {
453
- ctrl.$$animate.removeClass(ctrl.$$element, className);
454
- ctrl.$$classCache[className] = false;
455
- }
456
- }
457
-
458
- function toggleValidationCss(ctrl, validationErrorKey, isValid) {
459
- validationErrorKey = validationErrorKey
460
- ? `-${snakeCase(validationErrorKey, "-")}`
461
- : "";
462
-
463
- cachedToggleClass(
464
- ctrl,
465
- VALID_CLASS + validationErrorKey,
466
- isValid === true,
467
- );
468
- cachedToggleClass(
469
- ctrl,
470
- INVALID_CLASS + validationErrorKey,
471
- isValid === false,
472
- );
473
- }
474
- }
475
- }
476
-
477
- /**
478
- * Helper directive that makes it possible to create control groups inside a
479
- * {@link ng.directive:form `form`} directive.
480
- * These "child forms" can be used, for example, to determine the validity of a sub-group of
481
- * controls.
482
- *
483
- * <div class="alert alert-danger">
484
- * **Note**: `ngForm` cannot be used as a replacement for `<form>`, because it lacks its
485
- * [built-in HTML functionality](https://html.spec.whatwg.org/#the-form-element).
486
- * Specifically, you cannot submit `ngForm` like a `<form>` tag. That means,
487
- * you cannot send data to the server with `ngForm`, or integrate it with
488
- * {@link ng.directive:ngSubmit `ngSubmit`}.
489
- * </div>
490
- *
491
- * @param {string=} ngForm|name Name of the form. If specified, the form controller will
492
- * be published into the related scope, under this name.
493
- *
494
- */
495
-
496
- /**
497
- * Directive that instantiates
498
- * {@link form.FormController FormController}.
499
- *
500
- * If the `name` attribute is specified, the form controller is published onto the current scope under
501
- * this name.
502
- *
503
- * ## Alias: {@link ng.directive:ngForm `ngForm`}
504
- *
505
- * In AngularTS, forms can be nested. This means that the outer form is valid when all of the child
506
- * forms are valid as well. However, browsers do not allow nesting of `<form>` elements, so
507
- * AngularTS provides the {@link ng.directive:ngForm `ngForm`} directive, which behaves identically to
508
- * `form` but can be nested. Nested forms can be useful, for example, if the validity of a sub-group
509
- * of controls needs to be determined.
510
- *
511
- * ## CSS classes
512
- * - `ng-valid` is set if the form is valid.
513
- * - `ng-invalid` is set if the form is invalid.
514
- * - `ng-pending` is set if the form is pending.
515
- * - `ng-pristine` is set if the form is pristine.
516
- * - `ng-dirty` is set if the form is dirty.
517
- * - `ng-submitted` is set if the form was submitted.
518
- *
519
- * Keep in mind that ngAnimate can detect each of these classes when added and removed.
520
- *
521
- *
522
- * ## Submitting a form and preventing the default action
523
- *
524
- * Since the role of forms in client-side AngularTS applications is different than in classical
525
- * roundtrip apps, it is desirable for the browser not to translate the form submission into a full
526
- * page reload that sends the data to the server. Instead some javascript logic should be triggered
527
- * to handle the form submission in an application-specific way.
528
- *
529
- * For this reason, AngularTS prevents the default action (form submission to the server) unless the
530
- * `<form>` element has an `action` attribute specified.
531
- *
532
- * You can use one of the following two ways to specify what javascript method should be called when
533
- * a form is submitted:
534
- *
535
- * - {@link ng.directive:ngSubmit ngSubmit} directive on the form element
536
- * - {@link ng.directive:ngClick ngClick} directive on the first
537
- * button or input field of type submit (input[type=submit])
538
- *
539
- * To prevent double execution of the handler, use only one of the {@link ng.directive:ngSubmit ngSubmit}
540
- * or {@link ng.directive:ngClick ngClick} directives.
541
- * This is because of the following form submission rules in the HTML specification:
542
- *
543
- * - If a form has only one input field then hitting enter in this field triggers form submit
544
- * (`ngSubmit`)
545
- * - if a form has 2+ input fields and no buttons or input[type=submit] then hitting enter
546
- * doesn't trigger submit
547
- * - if a form has one or more input fields and one or more buttons or input[type=submit] then
548
- * hitting enter in any of the input fields will trigger the click handler on the *first* button or
549
- * input[type=submit] (`ngClick`) *and* a submit handler on the enclosing form (`ngSubmit`)
550
- *
551
- * Any pending `ngModelOptions` changes will take place immediately when an enclosing form is
552
- * submitted. Note that `ngClick` events will occur before the model is updated. Use `ngSubmit`
553
- * to have access to the updated model.
554
- *
555
- * @animations
556
- * Animations in ngForm are triggered when any of the associated CSS classes are added and removed.
557
- * These classes are: `.ng-pristine`, `.ng-dirty`, `.ng-invalid` and `.ng-valid` as well as any
558
- * other validations that are performed within the form. Animations in ngForm are similar to how
559
- * they work in ngClass and animations can be hooked into using CSS transitions, keyframes as well
560
- * as JS animations.
561
- *
562
- * @param {string=} isNgForm Name of the form. If specified, the form controller will be published into
563
- * related scope, under this name.
564
- */
565
- const formDirectiveFactory = function (isNgForm) {
566
- return [
567
- "$parse",
568
- function ($parse) {
569
- return {
570
- name: "form",
571
- restrict: isNgForm ? "EA" : "E",
572
- require: ["form", "^^?form"], // first is the form's own ctrl, second is an optional parent form
573
- controller: FormController,
574
- compile: function ngFormCompile(formElement, attr) {
575
- // Setup initial state of the control
576
- formElement.classList.add(PRISTINE_CLASS, VALID_CLASS);
577
-
578
- const nameAttr = attr.name
579
- ? "name"
580
- : isNgForm && attr.ngForm
581
- ? "ngForm"
582
- : false;
583
-
584
- return {
585
- pre: function ngFormPreLink(scope, formElement, attr, ctrls) {
586
- const controller = ctrls[0];
587
-
588
- // if `action` attr is not present on the form, prevent the default action (submission)
589
- if (!("action" in attr)) {
590
- // we can't use jq events because if a form is destroyed during submission the default
591
- // action is not prevented. see #1238
592
- //
593
- // IE 9 is not affected because it doesn't fire a submit event and try to do a full
594
- // page reload if the form was destroyed by submission of the form via a click handler
595
- // on a button in the form. Looks like an IE9 specific bug.
596
- const handleFormSubmission = function (event) {
597
- controller.$commitViewValue();
598
- controller.$setSubmitted();
599
- event.preventDefault();
600
- };
601
-
602
- formElement.addEventListener("submit", handleFormSubmission);
603
-
604
- // unregister the preventDefault listener so that we don't not leak memory but in a
605
- // way that will achieve the prevention of the default action.
606
- formElement.addEventListener("$destroy", () => {
607
- setTimeout(
608
- () => {
609
- formElement.removeEventListener(
610
- "submit",
611
- handleFormSubmission,
612
- );
613
- },
614
- 0,
615
- false,
616
- );
617
- });
618
- }
619
-
620
- const parentFormCtrl = ctrls[1] || controller.$$parentForm;
621
- parentFormCtrl.$addControl(controller);
622
-
623
- let setter = nameAttr ? getSetter(controller.$name) : () => {};
624
-
625
- if (nameAttr) {
626
- setter(scope, controller);
627
- attr.$observe(nameAttr, (newValue) => {
628
- if (controller.$name === newValue) return;
629
- scope.$target[controller.$name] = undefined;
630
- controller.$$parentForm.$$renameControl(controller, newValue);
631
- if (
632
- scope.$target !== controller.$$parentForm &&
633
- controller.$$parentForm !== nullFormCtrl
634
- ) {
635
- // form moved
636
- } else {
637
- scope.$target[newValue] = controller;
638
- }
639
- });
640
- }
641
- formElement.addEventListener("$destroy", () => {
642
- controller.$target.$$parentForm.$removeControl(controller);
643
- setter(scope, undefined);
644
- extend(controller, nullFormCtrl); // stop propagating child destruction handlers upwards
645
- });
646
- },
647
- };
648
- },
649
- };
650
- function getSetter(expression) {
651
- if (expression === "") {
652
- // create an assignable expression, so forms with an empty name can be renamed later
653
- return $parse('this[""]').assign;
654
- }
655
- return $parse(expression).assign || (() => {});
656
- }
657
- },
658
- ];
659
- };
660
-
661
- export const formDirective = formDirectiveFactory();
662
- export const ngFormDirective = formDirectiveFactory("ngForm");
663
-
664
- // helper methods
665
- export function setupValidity(instance) {
666
- instance.$$classCache = {};
667
- instance.$$classCache[INVALID_CLASS] = !(instance.$$classCache[VALID_CLASS] =
668
- instance.$$element.classList.contains(VALID_CLASS));
669
- }