@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.
- package/@types/index.d.ts +1 -84
- package/{src/index.ts → @types/namespace.d.ts} +4 -24
- package/@types/router/template-factory.d.ts +2 -2
- package/dist/angular-ts.esm.js +3 -3
- package/dist/angular-ts.umd.js +3 -3
- package/dist/angular-ts.umd.min.js +1 -1
- package/package.json +8 -1
- package/.github/workflows/ci.yml +0 -104
- package/.github/workflows/gh-pages.yml +0 -75
- package/.husky/pre-commit +0 -5
- package/.prettierignore +0 -9
- package/CHANGELOG.md +0 -17667
- package/CODE_OF_CONDUCT.md +0 -3
- package/CONTRIBUTING.md +0 -247
- package/DEVELOPERS.md +0 -499
- package/Makefile +0 -60
- package/RELEASE.md +0 -86
- package/TRIAGING.md +0 -127
- package/docs/.cspell.yml +0 -8
- package/docs/.github/dependabot.yml +0 -14
- package/docs/.nvmrc +0 -1
- package/docs/CONTRIBUTING.md +0 -28
- package/docs/Dockerfile +0 -4
- package/docs/LICENSE +0 -201
- package/docs/README.md +0 -217
- package/docs/assets/icons/logo.svg +0 -1
- package/docs/assets/scss/_variables_project.scss +0 -12
- package/docs/assets/scss/_variables_project_after_bs.scss +0 -8
- package/docs/assets/scss/index.scss +0 -48
- package/docs/config.yaml +0 -15
- package/docs/content/_index.md +0 -28
- package/docs/content/docs/_index.md +0 -61
- package/docs/content/docs/directive/_index.md +0 -4
- package/docs/content/docs/directive/app.md +0 -11
- package/docs/content/docs/directive/aria.md +0 -0
- package/docs/content/docs/directive/bind.md +0 -72
- package/docs/content/docs/directive/blur.md +0 -38
- package/docs/content/docs/directive/channel.md +0 -37
- package/docs/content/docs/directive/class-even.md +0 -47
- package/docs/content/docs/directive/class-odd.md +0 -48
- package/docs/content/docs/directive/class.md +0 -64
- package/docs/content/docs/directive/click.md +0 -41
- package/docs/content/docs/directive/cloak.md +0 -74
- package/docs/content/docs/directive/copy.md +0 -38
- package/docs/content/docs/directive/cut.md +0 -40
- package/docs/content/docs/directive/dblclick.md +0 -41
- package/docs/content/docs/directive/focus.md +0 -38
- package/docs/content/docs/directive/get.md +0 -203
- package/docs/content/docs/directive/include.md +0 -7
- package/docs/content/docs/directive/keydown.md +0 -38
- package/docs/content/docs/directive/keyup.md +0 -38
- package/docs/content/docs/directive/load.md +0 -43
- package/docs/content/docs/directive/mousedown.md +0 -38
- package/docs/content/docs/directive/mouseenter.md +0 -38
- package/docs/content/docs/directive/mouseleave.md +0 -38
- package/docs/content/docs/directive/mousemove.md +0 -38
- package/docs/content/docs/directive/mouseout.md +0 -38
- package/docs/content/docs/directive/mouseover.md +0 -38
- package/docs/content/docs/directive/mouseup.md +0 -38
- package/docs/content/docs/directive/non-bindable.md +0 -28
- package/docs/content/docs/filter/_index.md +0 -4
- package/docs/content/docs/filter/filter.md +0 -78
- package/docs/content/docs/filter/json.md +0 -19
- package/docs/content/docs/filter/limit-to.md +0 -30
- package/docs/content/docs/filter/order-by.md +0 -123
- package/docs/content/docs/provider/_index.md +0 -4
- package/docs/content/docs/provider/eventBusProvider.md +0 -35
- package/docs/content/docs/provider/locationProvider.md +0 -26
- package/docs/content/docs/provider/logProvider.md +0 -59
- package/docs/content/docs/provider/sceProvider.md +0 -194
- package/docs/content/docs/provider/templateCacheProvider.md +0 -100
- package/docs/content/docs/provider/templateRequestProvider.md +0 -5
- package/docs/content/docs/service/_index.md +0 -4
- package/docs/content/docs/service/compile.md +0 -5
- package/docs/content/docs/service/controller.md +0 -5
- package/docs/content/docs/service/eventBus.md +0 -56
- package/docs/content/docs/service/http.md +0 -161
- package/docs/content/docs/service/interpolation.md +0 -5
- package/docs/content/docs/service/location.md +0 -57
- package/docs/content/docs/service/log.md +0 -113
- package/docs/content/docs/service/parse.md +0 -5
- package/docs/content/docs/service/rootElement.md +0 -5
- package/docs/content/docs/service/rootScope.md +0 -5
- package/docs/content/docs/service/sce.md +0 -194
- package/docs/content/docs/service/templateCache.md +0 -64
- package/docs/content/docs/service/templateRequest.md +0 -5
- package/docs/content/docs/service/url.md +0 -5
- package/docs/content/docs/values/_index.md +0 -4
- package/docs/content/docs/values/document.md +0 -29
- package/docs/content/docs/values/window.md +0 -29
- package/docs/docker-compose.yaml +0 -12
- package/docs/docsy.work +0 -5
- package/docs/docsy.work.sum +0 -0
- package/docs/go.mod +0 -5
- package/docs/go.sum +0 -6
- package/docs/hugo-disabled.toml +0 -220
- package/docs/hugo.yaml +0 -200
- package/docs/layouts/404.html +0 -13
- package/docs/layouts/_markup/render-heading.html +0 -1
- package/docs/layouts/partials/hooks/head-end.html +0 -3
- package/docs/layouts/shortcodes/showcss.html +0 -2
- package/docs/layouts/shortcodes/showhtml.html +0 -2
- package/docs/layouts/shortcodes/showjs.html +0 -2
- package/docs/layouts/shortcodes/showraw.html +0 -1
- package/docs/layouts/shortcodes/version.html +0 -1
- package/docs/package-lock.json +0 -2293
- package/docs/package.json +0 -53
- package/docs/static/examples/counter/counter-test.html +0 -13
- package/docs/static/examples/counter/counter.html +0 -5
- package/docs/static/examples/counter/counter.test.js +0 -28
- package/docs/static/examples/document/document.html +0 -3
- package/docs/static/examples/eventbus/eventbus-test.html +0 -15
- package/docs/static/examples/eventbus/eventbus.html +0 -13
- package/docs/static/examples/eventbus/eventbus.js +0 -15
- package/docs/static/examples/eventbus/eventbus.test.js +0 -19
- package/docs/static/examples/i18n/i18n.html +0 -77
- package/docs/static/examples/ng-bind/ng-bind.html +0 -9
- package/docs/static/examples/ng-blur/ng-blur.html +0 -9
- package/docs/static/examples/ng-channel/ng-channel-test.html +0 -17
- package/docs/static/examples/ng-channel/ng-channel.html +0 -24
- package/docs/static/examples/ng-channel/ng-channel.test.js +0 -31
- package/docs/static/examples/ng-class/ng-class.html +0 -71
- package/docs/static/examples/ng-class-even/ng-class-even.html +0 -8
- package/docs/static/examples/ng-class-odd/ng-class-odd.html +0 -8
- package/docs/static/examples/ng-click/ng-click.html +0 -6
- package/docs/static/examples/ng-copy/ng-copy.html +0 -6
- package/docs/static/examples/ng-cut/ng-cut.html +0 -6
- package/docs/static/examples/ng-dblclick/ng-dblclick.html +0 -10
- package/docs/static/examples/ng-focus/ng-focus.html +0 -9
- package/docs/static/examples/ng-keydown/ng-keydown.html +0 -9
- package/docs/static/examples/ng-keyup/ng-keyup.html +0 -9
- package/docs/static/examples/ng-load/ng-load.html +0 -8
- package/docs/static/examples/ng-mousedown/ng-mousedown.html +0 -6
- package/docs/static/examples/ng-mouseenter/ng-mouseenter.html +0 -4
- package/docs/static/examples/ng-mouseleave/ng-mouseleave.html +0 -4
- package/docs/static/examples/ng-mousemove/ng-mousemove.html +0 -4
- package/docs/static/examples/ng-mouseout/ng-mouseout.html +0 -4
- package/docs/static/examples/ng-mouseover/ng-mouseover.html +0 -4
- package/docs/static/examples/ng-mouseup/ng-mouseup.html +0 -4
- package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +0 -13
- package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +0 -3
- package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +0 -11
- package/docs/static/examples/window/window.html +0 -4
- package/docs/static/typedoc/.nojekyll +0 -1
- package/docs/static/typedoc/assets/hierarchy.js +0 -1
- package/docs/static/typedoc/assets/highlight.css +0 -29
- package/docs/static/typedoc/assets/icons.js +0 -18
- package/docs/static/typedoc/assets/icons.svg +0 -1
- package/docs/static/typedoc/assets/main.js +0 -60
- package/docs/static/typedoc/assets/navigation.js +0 -1
- package/docs/static/typedoc/assets/search.js +0 -1
- package/docs/static/typedoc/assets/style.css +0 -1633
- package/docs/static/typedoc/classes/Location.html +0 -55
- package/docs/static/typedoc/classes/LocationProvider.html +0 -20
- package/docs/static/typedoc/classes/LogProvider.html +0 -6
- package/docs/static/typedoc/classes/PubSub.html +0 -71
- package/docs/static/typedoc/classes/PubSubProvider.html +0 -4
- package/docs/static/typedoc/classes/TemplateCacheProvider.html +0 -5
- package/docs/static/typedoc/hierarchy.html +0 -1
- package/docs/static/typedoc/index.html +0 -1
- package/docs/static/typedoc/interfaces/DefaultPorts.html +0 -5
- package/docs/static/typedoc/interfaces/Html5Mode.html +0 -23
- package/docs/static/typedoc/interfaces/HttpHeadersGetter.html +0 -1
- package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +0 -31
- package/docs/static/typedoc/interfaces/HttpRequestConfigHeaders.html +0 -6
- package/docs/static/typedoc/interfaces/HttpRequestTransformer.html +0 -1
- package/docs/static/typedoc/interfaces/HttpResponse.html +0 -7
- package/docs/static/typedoc/interfaces/HttpResponseTransformer.html +0 -1
- package/docs/static/typedoc/interfaces/HttpService.html +0 -38
- package/docs/static/typedoc/interfaces/LogService.html +0 -12
- package/docs/static/typedoc/interfaces/RequestConfig.html +0 -48
- package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +0 -38
- package/docs/static/typedoc/interfaces/ServiceProvider.html +0 -5
- package/docs/static/typedoc/interfaces/UrlParts.html +0 -9
- package/docs/static/typedoc/types/HttpParamSerializer.html +0 -2
- package/docs/static/typedoc/types/HttpParams.html +0 -2
- package/docs/static/typedoc/types/HttpPromise.html +0 -1
- package/docs/static/typedoc/types/HttpResponseStatus.html +0 -1
- package/docs/static/typedoc/types/LogCall.html +0 -2
- package/docs/static/typedoc/types/LogServiceFactory.html +0 -2
- package/docs/static/typedoc/types/UrlChangeListener.html +0 -5
- package/docs/static/typedoc/variables/EventBus.html +0 -1
- package/docs/static/version.js +0 -13
- package/docs/test-results/.last-run.json +0 -4
- package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +0 -50
- package/eslint.config.js +0 -26
- package/images/android-chrome-192x192.png +0 -0
- package/images/android-chrome-512x512.png +0 -0
- package/images/apple-touch-icon.png +0 -0
- package/images/favicon-16x16.png +0 -0
- package/images/favicon-32x32.png +0 -0
- package/images/favicon.ico +0 -0
- package/images/site.webmanifest +0 -19
- package/index.html +0 -86
- package/legacy.d.ts +0 -1678
- package/playwright.config.ts +0 -81
- package/public/jasmine/boot0.js +0 -66
- package/public/jasmine/boot1.js +0 -134
- package/public/jasmine/jasmine-html.js +0 -970
- package/public/jasmine/jasmine.css +0 -323
- package/public/jasmine/jasmine.js +0 -11406
- package/public/public/README.md +0 -1
- package/public/public/circle.html +0 -1
- package/public/public/jasmine-helper.css +0 -9
- package/public/public/my_child_directive.html +0 -1
- package/public/public/my_directive.html +0 -1
- package/public/public/my_other_directive.html +0 -1
- package/public/public/test.html +0 -1
- package/rollup.config.js +0 -51
- package/src/angular.js +0 -286
- package/src/angular.spec.js +0 -1191
- package/src/animations/animate-cache.js +0 -80
- package/src/animations/animate-children-directive.js +0 -32
- package/src/animations/animate-children-directive.md +0 -80
- package/src/animations/animate-css-driver.js +0 -284
- package/src/animations/animate-css.html +0 -58
- package/src/animations/animate-css.js +0 -915
- package/src/animations/animate-css.md +0 -263
- package/src/animations/animate-js-driver.js +0 -60
- package/src/animations/animate-js.html +0 -47
- package/src/animations/animate-js.js +0 -371
- package/src/animations/animate-queue.js +0 -859
- package/src/animations/animate-runner.js +0 -193
- package/src/animations/animate-swap.js +0 -33
- package/src/animations/animate-swap.md +0 -88
- package/src/animations/animate.html +0 -19
- package/src/animations/animate.js +0 -546
- package/src/animations/animate.md +0 -933
- package/src/animations/animate.spec.js +0 -490
- package/src/animations/animation.js +0 -519
- package/src/animations/animations.test.js +0 -10
- package/src/animations/interface.ts +0 -19
- package/src/animations/raf-scheduler.html +0 -19
- package/src/animations/raf-scheduler.js +0 -92
- package/src/animations/raf-scheduler.spec.js +0 -98
- package/src/animations/shared.js +0 -341
- package/src/binding.html +0 -19
- package/src/binding.spec.js +0 -474
- package/src/binding.test.js +0 -10
- package/src/core/compile/attributes.js +0 -337
- package/src/core/compile/compile.html +0 -19
- package/src/core/compile/compile.js +0 -3271
- package/src/core/compile/compile.md +0 -1128
- package/src/core/compile/compile.spec.js +0 -15574
- package/src/core/compile/compile.test.js +0 -12
- package/src/core/controller/controller.html +0 -22
- package/src/core/controller/controller.js +0 -193
- package/src/core/controller/controller.spec.js +0 -334
- package/src/core/controller/controller.test.js +0 -12
- package/src/core/controller/interface.ts +0 -6
- package/src/core/core.html +0 -20
- package/src/core/core.test.js +0 -12
- package/src/core/di/injector.html +0 -19
- package/src/core/di/injector.js +0 -307
- package/src/core/di/injector.md +0 -740
- package/src/core/di/injector.spec.js +0 -2310
- package/src/core/di/injector.test.js +0 -12
- package/src/core/di/internal-injector.js +0 -286
- package/src/core/di/ng-module.html +0 -19
- package/src/core/di/ng-module.js +0 -229
- package/src/core/di/ng-module.spec.js +0 -263
- package/src/core/di/ng-module.test.js +0 -12
- package/src/core/filter/filter.html +0 -19
- package/src/core/filter/filter.js +0 -55
- package/src/core/filter/filter.md +0 -132
- package/src/core/filter/filter.spec.js +0 -149
- package/src/core/filter/filter.test.js +0 -12
- package/src/core/interpolate/interface.ts +0 -14
- package/src/core/interpolate/interpolate.html +0 -22
- package/src/core/interpolate/interpolate.js +0 -410
- package/src/core/interpolate/interpolate.spec.js +0 -601
- package/src/core/interpolate/interpolate.test.js +0 -12
- package/src/core/parse/ast/ast-node.ts +0 -81
- package/src/core/parse/ast/ast.html +0 -19
- package/src/core/parse/ast/ast.js +0 -574
- package/src/core/parse/ast/ast.spec.js +0 -1453
- package/src/core/parse/ast/ast.test.js +0 -10
- package/src/core/parse/ast-type.js +0 -23
- package/src/core/parse/interface.ts +0 -84
- package/src/core/parse/interpreter.js +0 -915
- package/src/core/parse/lexer/lexer.html +0 -19
- package/src/core/parse/lexer/lexer.js +0 -338
- package/src/core/parse/lexer/lexer.spec.js +0 -303
- package/src/core/parse/lexer/lexer.test.js +0 -10
- package/src/core/parse/lexer/token.ts +0 -22
- package/src/core/parse/parse.html +0 -19
- package/src/core/parse/parse.js +0 -337
- package/src/core/parse/parse.md +0 -57
- package/src/core/parse/parse.spec.js +0 -2107
- package/src/core/parse/parse.test.js +0 -10
- package/src/core/parse/parser/parser.html +0 -19
- package/src/core/parse/parser/parser.js +0 -64
- package/src/core/parse/parser/parser.spec.js +0 -8
- package/src/core/parse/parser/parser.test.js +0 -10
- package/src/core/prop.spec.js +0 -775
- package/src/core/root-element.spec.js +0 -14
- package/src/core/sanitize/interface.ts +0 -10
- package/src/core/sanitize/sanitize-uri.js +0 -75
- package/src/core/sanitize/sanitize-uri.spec.js +0 -249
- package/src/core/sanitize/sanitize-uri.test.js +0 -12
- package/src/core/sanitize/sanitize.html +0 -22
- package/src/core/scope/scope.html +0 -19
- package/src/core/scope/scope.js +0 -1252
- package/src/core/scope/scope.spec.js +0 -3000
- package/src/core/scope/scope.test.js +0 -12
- package/src/directive/aria/aria.html +0 -19
- package/src/directive/aria/aria.js +0 -382
- package/src/directive/aria/aria.md +0 -145
- package/src/directive/aria/aria.spec.js +0 -1241
- package/src/directive/aria/aria.test.js +0 -12
- package/src/directive/attrs/attrs.html +0 -19
- package/src/directive/attrs/attrs.js +0 -106
- package/src/directive/attrs/attrs.md +0 -224
- package/src/directive/attrs/attrs.spec.js +0 -71
- package/src/directive/attrs/attrs.test.js +0 -12
- package/src/directive/attrs/boolean.html +0 -19
- package/src/directive/attrs/boolean.spec.js +0 -137
- package/src/directive/attrs/boolean.test.js +0 -12
- package/src/directive/attrs/element-style.html +0 -22
- package/src/directive/attrs/element-style.spec.js +0 -85
- package/src/directive/attrs/element-style.test.js +0 -12
- package/src/directive/attrs/src.html +0 -19
- package/src/directive/attrs/src.spec.js +0 -163
- package/src/directive/attrs/src.test.js +0 -12
- package/src/directive/bind/bind-html.spec.js +0 -36
- package/src/directive/bind/bind.html +0 -20
- package/src/directive/bind/bind.js +0 -78
- package/src/directive/bind/bind.md +0 -142
- package/src/directive/bind/bind.spec.js +0 -314
- package/src/directive/bind/bind.test.js +0 -12
- package/src/directive/channel/channel.html +0 -19
- package/src/directive/channel/channel.js +0 -30
- package/src/directive/channel/channel.spec.js +0 -67
- package/src/directive/channel/channel.test.js +0 -10
- package/src/directive/class/class-test.html +0 -23
- package/src/directive/class/class.html +0 -19
- package/src/directive/class/class.js +0 -184
- package/src/directive/class/class.spec.js +0 -704
- package/src/directive/class/class.test.js +0 -12
- package/src/directive/cloak/cloak.html +0 -19
- package/src/directive/cloak/cloak.js +0 -11
- package/src/directive/cloak/cloak.spec.js +0 -44
- package/src/directive/cloak/cloak.test.js +0 -12
- package/src/directive/controller/controller.html +0 -22
- package/src/directive/controller/controller.js +0 -11
- package/src/directive/controller/controller.md +0 -46
- package/src/directive/controller/controller.spec.js +0 -175
- package/src/directive/controller/controller.test.js +0 -12
- package/src/directive/events/click.spec.js +0 -35
- package/src/directive/events/event.spec.js +0 -267
- package/src/directive/events/events-test.html +0 -36
- package/src/directive/events/events.html +0 -20
- package/src/directive/events/events.js +0 -65
- package/src/directive/events/events.md +0 -125
- package/src/directive/events/events.test.js +0 -12
- package/src/directive/form/form.html +0 -19
- package/src/directive/form/form.js +0 -669
- package/src/directive/form/form.spec.js +0 -1515
- package/src/directive/form/form.test.js +0 -12
- package/src/directive/http/delete.spec.js +0 -23
- package/src/directive/http/form-router-test.html +0 -44
- package/src/directive/http/form-test.html +0 -18
- package/src/directive/http/get.spec.js +0 -488
- package/src/directive/http/http.html +0 -22
- package/src/directive/http/http.js +0 -342
- package/src/directive/http/http.test.js +0 -12
- package/src/directive/http/interface.ts +0 -36
- package/src/directive/http/post-example.html +0 -30
- package/src/directive/http/post.spec.js +0 -521
- package/src/directive/http/put.spec.js +0 -23
- package/src/directive/if/if-animate-css.html +0 -57
- package/src/directive/if/if-animate-svg.html +0 -25
- package/src/directive/if/if.html +0 -19
- package/src/directive/if/if.js +0 -72
- package/src/directive/if/if.md +0 -76
- package/src/directive/if/if.spec.js +0 -293
- package/src/directive/if/if.test.js +0 -114
- package/src/directive/include/include.html +0 -19
- package/src/directive/include/include.js +0 -151
- package/src/directive/include/include.md +0 -87
- package/src/directive/include/include.spec.js +0 -734
- package/src/directive/include/include.test.js +0 -12
- package/src/directive/init/init.html +0 -19
- package/src/directive/init/init.js +0 -22
- package/src/directive/init/init.md +0 -41
- package/src/directive/init/init.spec.js +0 -68
- package/src/directive/init/init.test.js +0 -12
- package/src/directive/inject/inject.html +0 -19
- package/src/directive/inject/inject.js +0 -35
- package/src/directive/inject/inject.spec.js +0 -108
- package/src/directive/inject/inject.test.js +0 -12
- package/src/directive/input/input-example.html +0 -15
- package/src/directive/input/input.html +0 -19
- package/src/directive/input/input.js +0 -1078
- package/src/directive/input/input.md +0 -706
- package/src/directive/input/input.spec.js +0 -3700
- package/src/directive/input/input.test.js +0 -12
- package/src/directive/messages/messages.html +0 -22
- package/src/directive/messages/messages.js +0 -349
- package/src/directive/messages/messages.md +0 -543
- package/src/directive/messages/messages.spec.js +0 -1083
- package/src/directive/messages/messages.test.js +0 -12
- package/src/directive/model/change.md +0 -25
- package/src/directive/model/model.html +0 -19
- package/src/directive/model/model.js +0 -1170
- package/src/directive/model/model.spec.js +0 -1976
- package/src/directive/model/model.test.js +0 -12
- package/src/directive/model-options/model-option.test.js +0 -12
- package/src/directive/model-options/model-options.html +0 -22
- package/src/directive/model-options/model-options.js +0 -142
- package/src/directive/model-options/model-options.md +0 -407
- package/src/directive/model-options/model-options.spec.js +0 -1022
- package/src/directive/non-bindable/non-bindable.html +0 -22
- package/src/directive/non-bindable/non-bindable.js +0 -9
- package/src/directive/non-bindable/non-bindable.spec.js +0 -59
- package/src/directive/non-bindable/non-bindable.test.js +0 -12
- package/src/directive/observe/observe-demo.html +0 -184
- package/src/directive/observe/observe.html +0 -19
- package/src/directive/observe/observe.js +0 -41
- package/src/directive/observe/observe.spec.js +0 -106
- package/src/directive/observe/observe.test.js +0 -10
- package/src/directive/on/on.html +0 -19
- package/src/directive/on/on.spec.js +0 -215
- package/src/directive/on/on.test.js +0 -12
- package/src/directive/options/options-example.html +0 -17
- package/src/directive/options/options.html +0 -22
- package/src/directive/options/options.js +0 -542
- package/src/directive/options/options.md +0 -179
- package/src/directive/options/options.spec.js +0 -3554
- package/src/directive/options/options.test.js +0 -12
- package/src/directive/ref/href.html +0 -19
- package/src/directive/ref/href.spec.js +0 -141
- package/src/directive/ref/href.test.js +0 -19
- package/src/directive/ref/ref.html +0 -19
- package/src/directive/ref/ref.js +0 -89
- package/src/directive/ref/ref.spec.js +0 -546
- package/src/directive/repeat/repeat.html +0 -19
- package/src/directive/repeat/repeat.js +0 -333
- package/src/directive/repeat/repeat.md +0 -330
- package/src/directive/repeat/repeat.spec.js +0 -1209
- package/src/directive/repeat/repeat.test.js +0 -12
- package/src/directive/script/script.html +0 -19
- package/src/directive/script/script.js +0 -17
- package/src/directive/script/script.md +0 -11
- package/src/directive/script/script.spec.js +0 -47
- package/src/directive/script/script.test.js +0 -12
- package/src/directive/select/select.html +0 -19
- package/src/directive/select/select.js +0 -594
- package/src/directive/select/select.md +0 -74
- package/src/directive/select/select.spec.js +0 -2566
- package/src/directive/select/select.test.js +0 -12
- package/src/directive/setter/setter.html +0 -19
- package/src/directive/setter/setter.js +0 -59
- package/src/directive/setter/setter.spec.js +0 -100
- package/src/directive/setter/setter.test.js +0 -12
- package/src/directive/show-hide/show-hide.html +0 -22
- package/src/directive/show-hide/show-hide.js +0 -65
- package/src/directive/show-hide/show-hide.md +0 -255
- package/src/directive/show-hide/show-hide.spec.js +0 -268
- package/src/directive/show-hide/show-hide.test.js +0 -12
- package/src/directive/style/style.html +0 -19
- package/src/directive/style/style.js +0 -27
- package/src/directive/style/style.md +0 -23
- package/src/directive/style/style.spec.js +0 -183
- package/src/directive/style/style.test.js +0 -12
- package/src/directive/switch/switch.html +0 -19
- package/src/directive/switch/switch.js +0 -133
- package/src/directive/switch/switch.md +0 -66
- package/src/directive/switch/switch.spec.js +0 -509
- package/src/directive/switch/switch.test.js +0 -12
- package/src/directive/transclude/transclude.js +0 -122
- package/src/directive/validators/validators.html +0 -22
- package/src/directive/validators/validators.js +0 -346
- package/src/directive/validators/validators.spec.js +0 -740
- package/src/directive/validators/validators.test.js +0 -12
- package/src/filters/filter.js +0 -213
- package/src/filters/filter.spec.js +0 -719
- package/src/filters/filters.html +0 -22
- package/src/filters/filters.js +0 -239
- package/src/filters/filters.spec.js +0 -36
- package/src/filters/filters.test.js +0 -12
- package/src/filters/interface.ts +0 -9
- package/src/filters/limit-to.js +0 -55
- package/src/filters/limit-to.spec.js +0 -252
- package/src/filters/order-by.js +0 -181
- package/src/filters/order-by.spec.js +0 -883
- package/src/index.js +0 -6
- package/src/index.spec.js +0 -11
- package/src/injection-tokens.js +0 -81
- package/src/interface.ts +0 -430
- package/src/ng.js +0 -291
- package/src/ng.spec.js +0 -45
- package/src/router/common/trace.js +0 -240
- package/src/router/directives/component-example.html +0 -37
- package/src/router/directives/state-directives.html +0 -22
- package/src/router/directives/state-directives.js +0 -393
- package/src/router/directives/state-directives.md +0 -435
- package/src/router/directives/state-directives.spec.js +0 -1091
- package/src/router/directives/state-directives.test.js +0 -10
- package/src/router/directives/view-directive.js +0 -489
- package/src/router/directives/view-directive.spec.js +0 -1921
- package/src/router/directives/view-directive.test.js +0 -10
- package/src/router/directives/view-directives.html +0 -22
- package/src/router/glob/glob.html +0 -19
- package/src/router/glob/glob.js +0 -102
- package/src/router/glob/glob.spec.js +0 -108
- package/src/router/glob/glob.test.js +0 -12
- package/src/router/hooks/core-resolvables.js +0 -38
- package/src/router/hooks/ignored-transition.js +0 -25
- package/src/router/hooks/invalid-transition.js +0 -14
- package/src/router/hooks/lazy-load.js +0 -104
- package/src/router/hooks/on-enter-exit-retain.js +0 -55
- package/src/router/hooks/redirect-to.js +0 -38
- package/src/router/hooks/resolve.js +0 -57
- package/src/router/hooks/update-globals.js +0 -34
- package/src/router/hooks/url.js +0 -34
- package/src/router/hooks/views.js +0 -41
- package/src/router/params/interface.ts +0 -626
- package/src/router/params/param-factory.js +0 -23
- package/src/router/params/param-type.js +0 -133
- package/src/router/params/param-types.js +0 -153
- package/src/router/params/param.js +0 -243
- package/src/router/params/state-params.js +0 -36
- package/src/router/path/path-node.js +0 -78
- package/src/router/path/path-utils.js +0 -207
- package/src/router/resolve/interface.ts +0 -208
- package/src/router/resolve/resolvable.js +0 -123
- package/src/router/resolve/resolve-context.js +0 -190
- package/src/router/router-test-hashbang.html +0 -45
- package/src/router/router-test.html +0 -41
- package/src/router/router.html +0 -22
- package/src/router/router.js +0 -54
- package/src/router/router.test.js +0 -12
- package/src/router/services.spec.js +0 -52
- package/src/router/state/interface.ts +0 -1007
- package/src/router/state/state-builder.js +0 -376
- package/src/router/state/state-builder.spec.js +0 -86
- package/src/router/state/state-matcher.js +0 -64
- package/src/router/state/state-object.js +0 -118
- package/src/router/state/state-queue-manager.js +0 -95
- package/src/router/state/state-registry.js +0 -262
- package/src/router/state/state-service.js +0 -687
- package/src/router/state/state.html +0 -23
- package/src/router/state/state.spec.js +0 -1002
- package/src/router/state/state.test.js +0 -12
- package/src/router/state/target-state.js +0 -162
- package/src/router/state/views.js +0 -195
- package/src/router/state-filter.spec.js +0 -139
- package/src/router/state-filters.js +0 -46
- package/src/router/template-factory.html +0 -19
- package/src/router/template-factory.js +0 -249
- package/src/router/template-factory.spec.js +0 -146
- package/src/router/template-factory.test.js +0 -12
- package/src/router/transition/hook-builder.js +0 -137
- package/src/router/transition/hook-registry.js +0 -181
- package/src/router/transition/interface.js +0 -18
- package/src/router/transition/interface.ts +0 -922
- package/src/router/transition/reject-factory.js +0 -122
- package/src/router/transition/transition-event-type.js +0 -26
- package/src/router/transition/transition-hook.js +0 -199
- package/src/router/transition/transition-service.js +0 -297
- package/src/router/transition/transition.js +0 -653
- package/src/router/url/url-config.js +0 -155
- package/src/router/url/url-matcher.js +0 -532
- package/src/router/url/url-rule.js +0 -231
- package/src/router/url/url-rules.js +0 -350
- package/src/router/url/url-service.js +0 -446
- package/src/router/url/url-service.spec.js +0 -1288
- package/src/router/url/url.html +0 -19
- package/src/router/url/url.test.js +0 -12
- package/src/router/view/interface.ts +0 -51
- package/src/router/view/view.html +0 -19
- package/src/router/view/view.js +0 -262
- package/src/router/view/view.spec.js +0 -100
- package/src/router/view/view.test.js +0 -12
- package/src/router/view-hook.spec.js +0 -215
- package/src/router/view-scroll.js +0 -33
- package/src/router/view-scroll.spec.js +0 -72
- package/src/services/anchor-scroll/anchor-scroll.html +0 -76
- package/src/services/anchor-scroll/anchor-scroll.js +0 -147
- package/src/services/exception/exception-handler.js +0 -75
- package/src/services/exception/interface.ts +0 -7
- package/src/services/http/http.html +0 -23
- package/src/services/http/http.js +0 -1109
- package/src/services/http/http.spec.js +0 -4320
- package/src/services/http/http.test.js +0 -11
- package/src/services/http/interface.ts +0 -256
- package/src/services/http/template-request.spec.js +0 -220
- package/src/services/location/interface.ts +0 -70
- package/src/services/location/location.html +0 -22
- package/src/services/location/location.js +0 -1006
- package/src/services/location/location.spec.js +0 -3792
- package/src/services/location/location.test.js +0 -12
- package/src/services/log/interface.ts +0 -39
- package/src/services/log/log.html +0 -19
- package/src/services/log/log.js +0 -74
- package/src/services/log/log.spec.js +0 -64
- package/src/services/log/log.test.js +0 -12
- package/src/services/pubsub/pubsub.html +0 -19
- package/src/services/pubsub/pubsub.js +0 -349
- package/src/services/pubsub/pubsub.spec.js +0 -400
- package/src/services/pubsub/pubsub.test.js +0 -12
- package/src/services/sce/sce.html +0 -19
- package/src/services/sce/sce.js +0 -852
- package/src/services/sce/sce.spec.js +0 -617
- package/src/services/sce/sce.test.js +0 -12
- package/src/services/template-cache/template-cache.html +0 -22
- package/src/services/template-cache/template-cache.js +0 -15
- package/src/services/template-cache/template-cache.spec.js +0 -134
- package/src/services/template-cache/template-cache.test.js +0 -12
- package/src/services/template-request/interface.ts +0 -23
- package/src/services/template-request/template-request.js +0 -142
- package/src/shared/cache.js +0 -7
- package/src/shared/common.js +0 -365
- package/src/shared/common.spec.js +0 -294
- package/src/shared/constants.js +0 -21
- package/src/shared/dom.js +0 -716
- package/src/shared/hof.js +0 -157
- package/src/shared/hof.spec.js +0 -60
- package/src/shared/interface.ts +0 -21
- package/src/shared/min-err.spec.js +0 -178
- package/src/shared/noderef.js +0 -225
- package/src/shared/predicates.js +0 -34
- package/src/shared/queue.js +0 -105
- package/src/shared/queue.spec.js +0 -80
- package/src/shared/shared.html +0 -24
- package/src/shared/shared.test.js +0 -12
- package/src/shared/strings.js +0 -142
- package/src/shared/strings.spec.js +0 -40
- package/src/shared/test-utils.js +0 -47
- package/src/shared/url-utils/interface.ts +0 -54
- package/src/shared/url-utils/url-utils.html +0 -22
- package/src/shared/url-utils/url-utils.js +0 -122
- package/src/shared/url-utils/url-utils.spec.js +0 -148
- package/src/shared/url-utils/url-utils.test.js +0 -12
- package/src/shared/utils.js +0 -1255
- package/src/shared/utils.spec.js +0 -178
- package/src/src.html +0 -21
- package/src/src.test.js +0 -10
- package/tsconfig.json +0 -19
- package/tsconfig.types.json +0 -14
- package/typedoc.json +0 -8
- package/utils/express.js +0 -203
- package/utils/version.cjs +0 -23
- package/vite.config.js +0 -14
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { test, expect } from "@playwright/test";
|
|
2
|
-
|
|
3
|
-
const TEST_URL = "src/directive/model/model.html";
|
|
4
|
-
|
|
5
|
-
test("unit tests contain no errors", async ({ page }) => {
|
|
6
|
-
await page.goto(TEST_URL);
|
|
7
|
-
await page.content();
|
|
8
|
-
await page.waitForTimeout(1000);
|
|
9
|
-
await expect(page.locator(".jasmine-overall-result")).toHaveText(
|
|
10
|
-
/ 0 failures/,
|
|
11
|
-
);
|
|
12
|
-
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { test, expect } from "@playwright/test";
|
|
2
|
-
|
|
3
|
-
const TEST_URL = "src/directive/model-options/model-options.html";
|
|
4
|
-
|
|
5
|
-
test("unit tests contain no errors", async ({ page }) => {
|
|
6
|
-
await page.goto(TEST_URL);
|
|
7
|
-
await page.content();
|
|
8
|
-
await page.waitForTimeout(1000);
|
|
9
|
-
await expect(page.locator(".jasmine-overall-result")).toHaveText(
|
|
10
|
-
/ 0 failures/,
|
|
11
|
-
);
|
|
12
|
-
});
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<title>AngularTS Test Runner</title>
|
|
6
|
-
|
|
7
|
-
<link rel="shortcut icon" type="image/png" href="/images/favicon.ico" />
|
|
8
|
-
<link rel="stylesheet" href="/jasmine/jasmine.css" />
|
|
9
|
-
<link rel="stylesheet" href="/public/jasmine-helper.css" />
|
|
10
|
-
<script src="/jasmine/jasmine.js"></script>
|
|
11
|
-
<script src="/jasmine/jasmine-html.js"></script>
|
|
12
|
-
<script src="/jasmine/boot0.js"></script>
|
|
13
|
-
<script src="/jasmine/boot1.js"></script>
|
|
14
|
-
<script
|
|
15
|
-
type="module"
|
|
16
|
-
src="/src/directive/model-options/model-options.spec.js"
|
|
17
|
-
></script>
|
|
18
|
-
</head>
|
|
19
|
-
<body>
|
|
20
|
-
<div id="app"></div>
|
|
21
|
-
</body>
|
|
22
|
-
</html>
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { isDefined, trim } from "../../shared/utils.js";
|
|
2
|
-
|
|
3
|
-
const DEFAULT_REGEXP = /(\s+|^)default(\s+|$)/;
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* @typedef {Object} ModelOptionsConfig
|
|
7
|
-
* @property {string} [updateOn] - A string specifying which events the input should be bound to. Multiple events can be set using a space-delimited list. The special event 'default' matches the default events belonging to the control.
|
|
8
|
-
* @property {number|Object.<string, number>} [debounce] - An integer specifying the debounce time in milliseconds. A value of 0 triggers an immediate update. If an object is supplied, custom debounce values can be set for each event.
|
|
9
|
-
* @property {boolean} [allowInvalid] - Indicates whether the model can be set with values that did not validate correctly. Defaults to false, which sets the model to undefined on validation failure.
|
|
10
|
-
* @property {boolean} [getterSetter] - Determines whether to treat functions bound to `ngModel` as getters/setters. Defaults to false.
|
|
11
|
-
* @property {boolean} [updateOnDefault]
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
class NgModelOptionsController {
|
|
15
|
-
static $nonscope = true;
|
|
16
|
-
/* @ignore */ static $inject = ["$attrs", "$scope"];
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* @param {import('../../core/compile/attributes.js').Attributes} $attrs
|
|
20
|
-
* @param {import('../../core/scope/scope.js').Scope} $scope
|
|
21
|
-
*/
|
|
22
|
-
constructor($attrs, $scope) {
|
|
23
|
-
this.$$attrs = $attrs;
|
|
24
|
-
this.$$scope = $scope;
|
|
25
|
-
/** @type {NgModelOptionsController?} */
|
|
26
|
-
this.parentCtrl;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
$onInit() {
|
|
30
|
-
const parentOptions = this.parentCtrl
|
|
31
|
-
? this.parentCtrl.$options
|
|
32
|
-
: defaultModelOptions;
|
|
33
|
-
const modelOptionsDefinition = this.$$scope.$eval(
|
|
34
|
-
this.$$attrs["ngModelOptions"],
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
this.$options = parentOptions.createChild(modelOptionsDefinition);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* @description
|
|
43
|
-
* A container for the options set by the {@link ngModelOptions} directive
|
|
44
|
-
*/
|
|
45
|
-
class ModelOptions {
|
|
46
|
-
static $nonscope = true;
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* @param {ModelOptionsConfig} options
|
|
50
|
-
*/
|
|
51
|
-
constructor(options) {
|
|
52
|
-
/** @type {ModelOptionsConfig} */
|
|
53
|
-
this.$$options = options;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Returns the value of the given option
|
|
58
|
-
* @param {string} name the name of the option to retrieve
|
|
59
|
-
* @returns {string|boolean|number|Object.<string, number>} the value of the option *
|
|
60
|
-
*/
|
|
61
|
-
getOption(name) {
|
|
62
|
-
return this.$$options[name];
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* @param {ModelOptionsConfig} options a hash of options for the new child that will override the parent's options
|
|
67
|
-
* @return {ModelOptions} a new `ModelOptions` object initialized with the given options.
|
|
68
|
-
*/
|
|
69
|
-
createChild(options) {
|
|
70
|
-
let inheritAll = false;
|
|
71
|
-
|
|
72
|
-
// make a shallow copy
|
|
73
|
-
options = Object.assign({}, options);
|
|
74
|
-
|
|
75
|
-
// Inherit options from the parent if specified by the value `"$inherit"`
|
|
76
|
-
Object.entries(options).forEach(([key, option]) => {
|
|
77
|
-
if (option === "$inherit") {
|
|
78
|
-
if (key === "*") {
|
|
79
|
-
inheritAll = true;
|
|
80
|
-
} else {
|
|
81
|
-
options[key] = this.$$options[key];
|
|
82
|
-
// `updateOn` is special so we must also inherit the `updateOnDefault` option
|
|
83
|
-
if (key === "updateOn") {
|
|
84
|
-
options.updateOnDefault = this.$$options.updateOnDefault;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
} else if (key === "updateOn") {
|
|
88
|
-
// If the `updateOn` property contains the `default` event then we have to remove
|
|
89
|
-
// it from the event list and set the `updateOnDefault` flag.
|
|
90
|
-
options.updateOnDefault = false;
|
|
91
|
-
options[key] = trim(
|
|
92
|
-
/** @type {string} */ (option).replace(DEFAULT_REGEXP, () => {
|
|
93
|
-
options.updateOnDefault = true;
|
|
94
|
-
return " ";
|
|
95
|
-
}),
|
|
96
|
-
);
|
|
97
|
-
}
|
|
98
|
-
}, this);
|
|
99
|
-
|
|
100
|
-
if (inheritAll) {
|
|
101
|
-
// We have a property of the form: `"*": "$inherit"`
|
|
102
|
-
delete options["*"];
|
|
103
|
-
defaults(options, this.$$options);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// Finally add in any missing defaults
|
|
107
|
-
defaults(options, defaultModelOptions.$$options);
|
|
108
|
-
|
|
109
|
-
return new ModelOptions(options);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
export const defaultModelOptions = new ModelOptions({
|
|
114
|
-
updateOn: "",
|
|
115
|
-
updateOnDefault: true,
|
|
116
|
-
debounce: 0,
|
|
117
|
-
getterSetter: false,
|
|
118
|
-
allowInvalid: false,
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* @returns {import('../../interface.ts').Directive}
|
|
123
|
-
*/
|
|
124
|
-
export const ngModelOptionsDirective = function () {
|
|
125
|
-
return {
|
|
126
|
-
restrict: "A",
|
|
127
|
-
// ngModelOptions needs to run before ngModel and input directives
|
|
128
|
-
priority: 10,
|
|
129
|
-
require: { parentCtrl: "?^^ngModelOptions" },
|
|
130
|
-
bindToController: true,
|
|
131
|
-
controller: NgModelOptionsController,
|
|
132
|
-
};
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
// shallow copy over values from `src` that are not already specified on `dst`
|
|
136
|
-
function defaults(dst, src) {
|
|
137
|
-
Object.keys(src).forEach((key) => {
|
|
138
|
-
if (!isDefined(dst[key])) {
|
|
139
|
-
dst[key] = src[key];
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
}
|
|
@@ -1,407 +0,0 @@
|
|
|
1
|
-
/\*\*
|
|
2
|
-
|
|
3
|
-
- @ngdoc directive
|
|
4
|
-
- @name ngModelOptions
|
|
5
|
-
- @restrict A
|
|
6
|
-
- @priority 10
|
|
7
|
-
-
|
|
8
|
-
- @description
|
|
9
|
-
- This directive allows you to modify the behaviour of {@link ngModel} directives within your
|
|
10
|
-
- application. You can specify an `ngModelOptions` directive on any element. All {@link ngModel}
|
|
11
|
-
- directives will use the options of their nearest `ngModelOptions` ancestor.
|
|
12
|
-
-
|
|
13
|
-
- The `ngModelOptions` settings are found by evaluating the value of the attribute directive as
|
|
14
|
-
- an AngularTS expression. This expression should evaluate to an object, whose properties contain
|
|
15
|
-
- the settings. For example: `<div ng-model-options="{ debounce: 100 }"`.
|
|
16
|
-
-
|
|
17
|
-
- ## Inheriting Options
|
|
18
|
-
-
|
|
19
|
-
- You can specify that an `ngModelOptions` setting should be inherited from a parent `ngModelOptions`
|
|
20
|
-
- directive by giving it the value of `"$inherit"`.
|
|
21
|
-
- Then it will inherit that setting from the first `ngModelOptions` directive found by traversing up the
|
|
22
|
-
- DOM tree. If there is no ancestor element containing an `ngModelOptions` directive then default settings
|
|
23
|
-
- will be used.
|
|
24
|
-
-
|
|
25
|
-
- For example given the following fragment of HTML
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
- ```html
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
- <div ng-model-options="{ allowInvalid: true, debounce: 200 }">
|
|
33
|
-
- <form ng-model-options="{ updateOn: 'blur', allowInvalid: '$inherit' }">
|
|
34
|
-
- <input ng-model-options="{ updateOn: 'default', allowInvalid: '$inherit' }" />
|
|
35
|
-
- </form>
|
|
36
|
-
- </div>
|
|
37
|
-
- ```
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
- the `input` element will have the following settings
|
|
43
|
-
-
|
|
44
|
-
- ```js
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
- { allowInvalid: true, updateOn: 'default', debounce: 0 }
|
|
49
|
-
- ```
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
- Notice that the `debounce` setting was not inherited and used the default value instead.
|
|
55
|
-
-
|
|
56
|
-
- You can specify that all undefined settings are automatically inherited from an ancestor by
|
|
57
|
-
- including a property with key of `"*"` and value of `"$inherit"`.
|
|
58
|
-
-
|
|
59
|
-
- For example given the following fragment of HTML
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
- ```html
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
- <div ng-model-options="{ allowInvalid: true, debounce: 200 }">
|
|
67
|
-
- <form ng-model-options="{ updateOn: 'blur', "*": '$inherit' }">
|
|
68
|
-
- <input ng-model-options="{ updateOn: 'default', "*": '$inherit' }" />
|
|
69
|
-
- </form>
|
|
70
|
-
- </div>
|
|
71
|
-
- ```
|
|
72
|
-
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
- the `input` element will have the following settings
|
|
77
|
-
-
|
|
78
|
-
- ```js
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
- { allowInvalid: true, updateOn: 'default', debounce: 200 }
|
|
83
|
-
- ```
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
- Notice that the `debounce` setting now inherits the value from the outer `<div>` element.
|
|
89
|
-
-
|
|
90
|
-
- If you are creating a reusable component then you should be careful when using `"*": "$inherit"`
|
|
91
|
-
- since you may inadvertently inherit a setting in the future that changes the behavior of your component.
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
- ## Triggering and debouncing model updates
|
|
95
|
-
-
|
|
96
|
-
- The `updateOn` and `debounce` properties allow you to specify a custom list of events that will
|
|
97
|
-
- trigger a model update and/or a debouncing delay so that the actual update only takes place when
|
|
98
|
-
- a timer expires; this timer will be reset after another change takes place.
|
|
99
|
-
-
|
|
100
|
-
- Given the nature of `ngModelOptions`, the value displayed inside input fields in the view might
|
|
101
|
-
- be different from the value in the actual model. This means that if you update the model you
|
|
102
|
-
- should also invoke {@link ngModel.NgModelController#$rollbackViewValue} on the relevant input field in
|
|
103
|
-
- order to make sure it is synchronized with the model and that any debounced action is canceled.
|
|
104
|
-
-
|
|
105
|
-
- The easiest way to reference the control's {@link ngModel.NgModelController#$rollbackViewValue}
|
|
106
|
-
- method is by making sure the input is placed inside a form that has a `name` attribute. This is
|
|
107
|
-
- important because `form` controllers are published to the related scope under the name in their
|
|
108
|
-
- `name` attribute.
|
|
109
|
-
-
|
|
110
|
-
- Any pending changes will take place immediately when an enclosing form is submitted via the
|
|
111
|
-
- `submit` event. Note that `ngClick` events will occur before the model is updated. Use `ngSubmit`
|
|
112
|
-
- to have access to the updated model.
|
|
113
|
-
-
|
|
114
|
-
- ### Overriding immediate updates
|
|
115
|
-
-
|
|
116
|
-
- The following example shows how to override immediate updates. Changes on the inputs within the
|
|
117
|
-
- form will update the model only when the control loses focus (blur event). If `escape` key is
|
|
118
|
-
- pressed while the input field is focused, the value is reset to the value in the current model.
|
|
119
|
-
-
|
|
120
|
-
- ### Debouncing updates
|
|
121
|
-
-
|
|
122
|
-
- The next example shows how to debounce model changes. Model will be updated only 1 sec after last change.
|
|
123
|
-
- If the `Clear` button is pressed, any debounced action is canceled and the value becomes empty.
|
|
124
|
-
-
|
|
125
|
-
- ### Default events, extra triggers, and catch-all debounce values
|
|
126
|
-
-
|
|
127
|
-
- This example shows the relationship between "default" update events and
|
|
128
|
-
- additional `updateOn` triggers.
|
|
129
|
-
-
|
|
130
|
-
- `default` events are those that are bound to the control, and when fired, update the `$viewValue`
|
|
131
|
-
- via {@link ngModel.NgModelController#$setViewValue $setViewValue}. Every event that is not listed
|
|
132
|
-
- in `updateOn` is considered a "default" event, since different control types have different
|
|
133
|
-
- default events.
|
|
134
|
-
-
|
|
135
|
-
- The control in this example updates by "default", "click", and "blur", with different `debounce`
|
|
136
|
-
- values. You can see that "click" doesn't have an individual `debounce` value -
|
|
137
|
-
- therefore it uses the `*` debounce value.
|
|
138
|
-
-
|
|
139
|
-
- There is also a button that calls {@link ngModel.NgModelController#$setViewValue $setViewValue}
|
|
140
|
-
- directly with a "custom" event. Since "custom" is not defined in the `updateOn` list,
|
|
141
|
-
- it is considered a "default" event and will update the
|
|
142
|
-
- control if "default" is defined in `updateOn`, and will receive the "default" debounce value.
|
|
143
|
-
- Note that this is just to illustrate how custom controls would possibly call `$setViewValue`.
|
|
144
|
-
-
|
|
145
|
-
- You can change the `updateOn` and `debounce` configuration to test different scenarios. This
|
|
146
|
-
- is done with {@link ngModel.NgModelController#$overrideModelOptions $overrideModelOptions}.
|
|
147
|
-
- <example name="ngModelOptions-advanced" module="optionsExample">
|
|
148
|
-
<file name="index.html">
|
|
149
|
-
<model-update-demo></model-update-demo>
|
|
150
|
-
</file>
|
|
151
|
-
<file name="app.js">
|
|
152
|
-
angular.module('optionsExample', [])
|
|
153
|
-
.component('modelUpdateDemo', {
|
|
154
|
-
templateUrl: 'template.html',
|
|
155
|
-
controller: function() {
|
|
156
|
-
this.name = 'Chinua';
|
|
157
|
-
|
|
158
|
-
this.options = {
|
|
159
|
-
updateOn: 'default blur click',
|
|
160
|
-
debounce: {
|
|
161
|
-
default: 2000,
|
|
162
|
-
blur: 0,
|
|
163
|
-
'*': 1000
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
this.updateEvents = function() {
|
|
168
|
-
let eventList = this.options.updateOn.split(' ');
|
|
169
|
-
eventList.push('*');
|
|
170
|
-
let events = {};
|
|
171
|
-
|
|
172
|
-
for (let i = 0; i < eventList.length; i++) {
|
|
173
|
-
events[eventList[i]] = this.options.debounce[eventList[i]];
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
this.events = events;
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
this.updateOptions = function() {
|
|
180
|
-
let options = angular.extend(this.options, {
|
|
181
|
-
updateOn: Object.keys(this.events).join(' ').replace('*', ''),
|
|
182
|
-
debounce: this.events
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
this.form.input.$overrideModelOptions(options);
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
// Initialize the event form
|
|
189
|
-
this.updateEvents();
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
|
|
193
|
-
</file>
|
|
194
|
-
<file name="template.html">
|
|
195
|
-
<form name="$ctrl.form">
|
|
196
|
-
Input: <input type="text" name="input" ng-model="$ctrl.name" ng-model-options="$ctrl.options" />
|
|
197
|
-
</form>
|
|
198
|
-
Model: <tt>{{$ctrl.name}}</tt>
|
|
199
|
-
<hr>
|
|
200
|
-
<button ng-click="$ctrl.form.input.$setViewValue('some value', 'custom')">Trigger setViewValue with 'some value' and 'custom' event</button>
|
|
201
|
-
|
|
202
|
-
<hr>
|
|
203
|
-
<form ng-submit="$ctrl.updateOptions()">
|
|
204
|
-
<b>updateOn</b><br>
|
|
205
|
-
<input type="text" ng-model="$ctrl.options.updateOn" ng-change="$ctrl.updateEvents()" ng-model-options="{debounce: 500}">
|
|
206
|
-
|
|
207
|
-
<table>
|
|
208
|
-
<tr>
|
|
209
|
-
<th>Option</th>
|
|
210
|
-
<th>Debounce value</th>
|
|
211
|
-
</tr>
|
|
212
|
-
<tr ng-repeat="(key, value) in $ctrl.events">
|
|
213
|
-
<td>{{key}}</td>
|
|
214
|
-
<td><input type="number" ng-model="$ctrl.events[key]" /></td>
|
|
215
|
-
</tr>
|
|
216
|
-
</table>
|
|
217
|
-
|
|
218
|
-
<br>
|
|
219
|
-
<input type="submit" value="Update options">
|
|
220
|
-
</form>
|
|
221
|
-
|
|
222
|
-
</file>
|
|
223
|
-
</example>
|
|
224
|
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
227
|
-
- ## Model updates and validation
|
|
228
|
-
-
|
|
229
|
-
- The default behaviour in `ngModel` is that the model value is set to `undefined` when the
|
|
230
|
-
- validation determines that the value is invalid. By setting the `allowInvalid` property to true,
|
|
231
|
-
- the model will still be updated even if the value is invalid.
|
|
232
|
-
-
|
|
233
|
-
-
|
|
234
|
-
- ## Connecting to the scope
|
|
235
|
-
-
|
|
236
|
-
- By setting the `getterSetter` property to true you are telling ngModel that the `ngModel` expression
|
|
237
|
-
- on the scope refers to a "getter/setter" function rather than the value itself.
|
|
238
|
-
-
|
|
239
|
-
- The following example shows how to bind to getter/setters:
|
|
240
|
-
-
|
|
241
|
-
- <example name="ngModelOptions-directive-getter-setter" module="getterSetterExample">
|
|
242
|
-
- <file name="index.html">
|
|
243
|
-
- <div ng-controller="ExampleController">
|
|
244
|
-
- <form name="userForm">
|
|
245
|
-
- <label>
|
|
246
|
-
- Name:
|
|
247
|
-
- <input type="text" name="userName"
|
|
248
|
-
- ng-model="user.name"
|
|
249
|
-
- ng-model-options="{ getterSetter: true }" />
|
|
250
|
-
- </label>
|
|
251
|
-
- </form>
|
|
252
|
-
- <pre>user.name = <span ng-bind="user.name()"></span></pre>
|
|
253
|
-
- </div>
|
|
254
|
-
- </file>
|
|
255
|
-
- <file name="app.js">
|
|
256
|
-
- angular.module('getterSetterExample', [])
|
|
257
|
-
- .controller('ExampleController', ['$scope', function($scope) {
|
|
258
|
-
- let _name = 'Brian';
|
|
259
|
-
- $scope.user = {
|
|
260
|
-
- name: function(newName) {
|
|
261
|
-
- return angular.isDefined(newName) ? (_name = newName) : _name;
|
|
262
|
-
- }
|
|
263
|
-
- };
|
|
264
|
-
- }]);
|
|
265
|
-
- </file>
|
|
266
|
-
- </example>
|
|
267
|
-
-
|
|
268
|
-
-
|
|
269
|
-
- ## Programmatically changing options
|
|
270
|
-
-
|
|
271
|
-
- The `ngModelOptions` expression is only evaluated once when the directive is linked; it is not
|
|
272
|
-
- watched for changes. However, it is possible to override the options on a single
|
|
273
|
-
- {@link ngModel.NgModelController} instance with
|
|
274
|
-
- {@link ngModel.NgModelController#$overrideModelOptions `NgModelController#$overrideModelOptions()`}.
|
|
275
|
-
- See also the example for
|
|
276
|
-
- {@link ngModelOptions#default-events-extra-triggers-and-catch-all-debounce-values
|
|
277
|
-
- Default events, extra triggers, and catch-all debounce values}.
|
|
278
|
-
-
|
|
279
|
-
-
|
|
280
|
-
- ## Specifying timezones
|
|
281
|
-
-
|
|
282
|
-
- You can specify the timezone that date/time input directives expect by providing its name in the
|
|
283
|
-
- `timezone` property.
|
|
284
|
-
-
|
|
285
|
-
-
|
|
286
|
-
- ## Formatting the value of `time` and `datetime-local`
|
|
287
|
-
-
|
|
288
|
-
- With the options `timeSecondsFormat` and `timeStripZeroSeconds` it is possible to adjust the value
|
|
289
|
-
- that is displayed in the control. Note that browsers may apply their own formatting
|
|
290
|
-
- in the user interface.
|
|
291
|
-
- <example name="ngModelOptions-time-format" module="timeExample">
|
|
292
|
-
<file name="index.html">
|
|
293
|
-
<time-example></time-example>
|
|
294
|
-
</file>
|
|
295
|
-
<file name="script.js">
|
|
296
|
-
angular.module('timeExample', [])
|
|
297
|
-
.component('timeExample', {
|
|
298
|
-
templateUrl: 'timeExample.html',
|
|
299
|
-
controller: function() {
|
|
300
|
-
this.time = new Date(1970, 0, 1, 14, 57, 0);
|
|
301
|
-
|
|
302
|
-
this.options = {
|
|
303
|
-
timeSecondsFormat: 'ss',
|
|
304
|
-
timeStripZeroSeconds: true
|
|
305
|
-
};
|
|
306
|
-
|
|
307
|
-
this.optionChange = function() {
|
|
308
|
-
this.timeForm.timeFormatted.$overrideModelOptions(this.options);
|
|
309
|
-
this.time = new Date(this.time);
|
|
310
|
-
};
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
|
|
314
|
-
</file>
|
|
315
|
-
<file name="timeExample.html">
|
|
316
|
-
<form name="$ctrl.timeForm">
|
|
317
|
-
<strong>Default</strong>:
|
|
318
|
-
<input type="time" ng-model="$ctrl.time" step="any" /><br>
|
|
319
|
-
<strong>With options</strong>:
|
|
320
|
-
<input type="time" name="timeFormatted" ng-model="$ctrl.time" step="any" ng-model-options="$ctrl.options" />
|
|
321
|
-
<br>
|
|
322
|
-
|
|
323
|
-
Options:<br>
|
|
324
|
-
<code>timeSecondsFormat</code>:
|
|
325
|
-
<input
|
|
326
|
-
type="text"
|
|
327
|
-
ng-model="$ctrl.options.timeSecondsFormat"
|
|
328
|
-
ng-change="$ctrl.optionChange()">
|
|
329
|
-
<br>
|
|
330
|
-
<code>timeStripZeroSeconds</code>:
|
|
331
|
-
<input
|
|
332
|
-
type="checkbox"
|
|
333
|
-
ng-model="$ctrl.options.timeStripZeroSeconds"
|
|
334
|
-
ng-change="$ctrl.optionChange()">
|
|
335
|
-
</form>
|
|
336
|
-
|
|
337
|
-
</file>
|
|
338
|
-
|
|
339
|
-
- </example>
|
|
340
|
-
-
|
|
341
|
-
- @param {Object} ngModelOptions options to apply to {@link ngModel} directives on this element and
|
|
342
|
-
- and its descendents.
|
|
343
|
-
-
|
|
344
|
-
- **General options**:
|
|
345
|
-
-
|
|
346
|
-
- - `updateOn`: string specifying which event should the input be bound to. You can set several
|
|
347
|
-
- events using an space delimited list. There is a special event called `default` that
|
|
348
|
-
- matches the default events belonging to the control. These are the events that are bound to
|
|
349
|
-
- the control, and when fired, update the `$viewValue` via `$setViewValue`.
|
|
350
|
-
-
|
|
351
|
-
- `ngModelOptions` considers every event that is not listed in `updateOn` a "default" event,
|
|
352
|
-
- since different control types use different default events.
|
|
353
|
-
-
|
|
354
|
-
- See also the section {@link ngModelOptions#triggering-and-debouncing-model-updates
|
|
355
|
-
- Triggering and debouncing model updates}.
|
|
356
|
-
-
|
|
357
|
-
- - `debounce`: integer value which contains the debounce model update value in milliseconds. A
|
|
358
|
-
- value of 0 triggers an immediate update. If an object is supplied instead, you can specify a
|
|
359
|
-
- custom value for each event. For example:
|
|
360
|
-
- ```
|
|
361
|
-
- ng-model-options="{
|
|
362
|
-
- updateOn: 'default blur',
|
|
363
|
-
- debounce: { 'default': 500, 'blur': 0 }
|
|
364
|
-
- }"
|
|
365
|
-
- ```
|
|
366
|
-
- You can use the `*` key to specify a debounce value that applies to all events that are not
|
|
367
|
-
- specifically listed. In the following example, `mouseup` would have a debounce delay of 1000:
|
|
368
|
-
- ```
|
|
369
|
-
- ng-model-options="{
|
|
370
|
-
- updateOn: 'default blur mouseup',
|
|
371
|
-
- debounce: { 'default': 500, 'blur': 0, '*': 1000 }
|
|
372
|
-
- }"
|
|
373
|
-
- ```
|
|
374
|
-
- - `allowInvalid`: boolean value which indicates that the model can be set with values that did
|
|
375
|
-
- not validate correctly instead of the default behavior of setting the model to undefined.
|
|
376
|
-
- - `getterSetter`: boolean value which determines whether or not to treat functions bound to
|
|
377
|
-
- `ngModel` as getters/setters.
|
|
378
|
-
-
|
|
379
|
-
-
|
|
380
|
-
- **Input-type specific options**:
|
|
381
|
-
-
|
|
382
|
-
- - `timezone`: Defines the timezone to be used to read/write the `Date` instance in the model for
|
|
383
|
-
- `<input type="date" />`, `<input type="time" />`, ... . It understands UTC/GMT and the
|
|
384
|
-
- continental US time zone abbreviations, but for general use, use a time zone offset, for
|
|
385
|
-
- example, `'+0430'` (4 hours, 30 minutes east of the Greenwich meridian)
|
|
386
|
-
- If not specified, the timezone of the browser will be used.
|
|
387
|
-
- Note that changing the timezone will have no effect on the current date, and is only applied after
|
|
388
|
-
- the next input / model change.
|
|
389
|
-
-
|
|
390
|
-
- - `timeSecondsFormat`: Defines if the `time` and `datetime-local` types should show seconds and
|
|
391
|
-
- milliseconds. The option follows the format string of {@link date date filter}.
|
|
392
|
-
- By default, the options is `undefined` which is equal to `'ss.sss'` (seconds and milliseconds).
|
|
393
|
-
- The other options are `'ss'` (strips milliseconds), and `''` (empty string), which strips both
|
|
394
|
-
- seconds and milliseconds.
|
|
395
|
-
- Note that browsers that support `time` and `datetime-local` require the hour and minutes
|
|
396
|
-
- part of the time string, and may show the value differently in the user interface.
|
|
397
|
-
- {@link ngModelOptions#formatting-the-value-of-time-and-datetime-local- See the example}.
|
|
398
|
-
-
|
|
399
|
-
- - `timeStripZeroSeconds`: Defines if the `time` and `datetime-local` types should strip the
|
|
400
|
-
- seconds and milliseconds from the formatted value if they are zero. This option is applied
|
|
401
|
-
- after `timeSecondsFormat`.
|
|
402
|
-
- This option can be used to make the formatting consistent over different browsers, as some
|
|
403
|
-
- browsers with support for `time` will natively hide the milliseconds and
|
|
404
|
-
- seconds if they are zero, but others won't, and browsers that don't implement these input
|
|
405
|
-
- types will always show the full string.
|
|
406
|
-
- {@link ngModelOptions#formatting-the-value-of-time-and-datetime-local- See the example}.
|
|
407
|
-
- \*/
|