@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,249 +0,0 @@
|
|
|
1
|
-
import { isDefined, isFunction, isObject } from "../shared/utils.js";
|
|
2
|
-
import { tail, unnestR } from "../shared/common.js";
|
|
3
|
-
import { Resolvable } from "./resolve/resolvable.js";
|
|
4
|
-
import { kebobString } from "../shared/strings.js";
|
|
5
|
-
import { annotate } from "../core/di/injector.js";
|
|
6
|
-
import { DirectiveSuffix } from "../core/compile/compile.js";
|
|
7
|
-
import { $injectTokens as $t } from "../injection-tokens.js";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @typedef BindingTuple
|
|
11
|
-
* @property {string} name
|
|
12
|
-
* @property {string} type
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Service which manages loading of templates from a ViewConfig.
|
|
17
|
-
*/
|
|
18
|
-
export class TemplateFactoryProvider {
|
|
19
|
-
constructor() {
|
|
20
|
-
/** @type {boolean} */
|
|
21
|
-
this._useHttp = false;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
$get = [
|
|
25
|
-
$t.$http,
|
|
26
|
-
$t.$templateCache,
|
|
27
|
-
$t.$templateRequest,
|
|
28
|
-
$t.$injector,
|
|
29
|
-
/**
|
|
30
|
-
* @param {import("interface.ts").HttpService} $http
|
|
31
|
-
* @param {ng.TemplateCacheService} $templateCache
|
|
32
|
-
* @param {any} $templateRequest
|
|
33
|
-
* @param {import("../core/di/internal-injector.js").InjectorService} $injector
|
|
34
|
-
* @returns
|
|
35
|
-
*/
|
|
36
|
-
($http, $templateCache, $templateRequest, $injector) => {
|
|
37
|
-
this.$templateRequest = $templateRequest;
|
|
38
|
-
this.$http = $http;
|
|
39
|
-
this.$templateCache = $templateCache;
|
|
40
|
-
this.$injector = $injector;
|
|
41
|
-
return this;
|
|
42
|
-
},
|
|
43
|
-
];
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Forces the provider to use $http service directly
|
|
47
|
-
* @param {boolean} value
|
|
48
|
-
*/
|
|
49
|
-
useHttpService(value) {
|
|
50
|
-
this._useHttp = value;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Creates a template from a configuration object.
|
|
55
|
-
*
|
|
56
|
-
* @param config Configuration object for which to load a template.
|
|
57
|
-
* The following properties are search in the specified order, and the first one
|
|
58
|
-
* that is defined is used to create the template:
|
|
59
|
-
*
|
|
60
|
-
* @param {any} config
|
|
61
|
-
* @param {any} params Parameters to pass to the template function.
|
|
62
|
-
* @param {import("./resolve/resolve-context.js").ResolveContext} context The resolve context associated with the template's view
|
|
63
|
-
*
|
|
64
|
-
* @return {string|object} The template html as a string, or a promise for
|
|
65
|
-
* that string,or `null` if no template is configured.
|
|
66
|
-
*/
|
|
67
|
-
fromConfig(config, params, context) {
|
|
68
|
-
const defaultTemplate = "<ng-view></ng-view>";
|
|
69
|
-
const asTemplate = (result) =>
|
|
70
|
-
Promise.resolve(result).then((str) => ({ template: str }));
|
|
71
|
-
const asComponent = (result) =>
|
|
72
|
-
Promise.resolve(result).then((str) => ({ component: str }));
|
|
73
|
-
|
|
74
|
-
const getConfigType = (config) => {
|
|
75
|
-
if (isDefined(config.template)) return "template";
|
|
76
|
-
if (isDefined(config.templateUrl)) return "templateUrl";
|
|
77
|
-
if (isDefined(config.templateProvider)) return "templateProvider";
|
|
78
|
-
if (isDefined(config.component)) return "component";
|
|
79
|
-
if (isDefined(config.componentProvider)) return "componentProvider";
|
|
80
|
-
return "default";
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
switch (getConfigType(config)) {
|
|
84
|
-
case "template":
|
|
85
|
-
return asTemplate(this.fromString(config.template, params));
|
|
86
|
-
case "templateUrl":
|
|
87
|
-
return asTemplate(this.fromUrl(config.templateUrl, params));
|
|
88
|
-
case "templateProvider":
|
|
89
|
-
return asTemplate(
|
|
90
|
-
this.fromProvider(config.templateProvider, params, context),
|
|
91
|
-
);
|
|
92
|
-
case "component":
|
|
93
|
-
return asComponent(config.component);
|
|
94
|
-
case "componentProvider":
|
|
95
|
-
return asComponent(
|
|
96
|
-
this.fromComponentProvider(config.componentProvider, context),
|
|
97
|
-
);
|
|
98
|
-
default:
|
|
99
|
-
return asTemplate(defaultTemplate);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Creates a template from a string or a function returning a string.
|
|
104
|
-
*
|
|
105
|
-
* @param {string | Function} template html template as a string or function that returns an html template as a string.
|
|
106
|
-
* @param {any} [params] Parameters to pass to the template function.
|
|
107
|
-
*
|
|
108
|
-
* @return {string|object} The template html as a string, or a promise for that
|
|
109
|
-
* string.
|
|
110
|
-
*/
|
|
111
|
-
fromString(template, params) {
|
|
112
|
-
return isFunction(template)
|
|
113
|
-
? /** @type {Function} */ (template)(params)
|
|
114
|
-
: template;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Loads a template from the a URL via `$http` and `$templateCache`.
|
|
118
|
-
*
|
|
119
|
-
* @param {string|Function} url url of the template to load, or a function
|
|
120
|
-
* that returns a url.
|
|
121
|
-
* @param {Object} params Parameters to pass to the url function.
|
|
122
|
-
* @return {string|Promise.<string>} The template html as a string, or a promise
|
|
123
|
-
* for that string.
|
|
124
|
-
*/
|
|
125
|
-
fromUrl(url, params) {
|
|
126
|
-
if (isFunction(url)) url = /** @type {Function} */ (url)(params);
|
|
127
|
-
if (url == null) return null;
|
|
128
|
-
if (this._useHttp) {
|
|
129
|
-
return this.$http
|
|
130
|
-
.get(/** @type {string} */ (url), {
|
|
131
|
-
cache: this.$templateCache,
|
|
132
|
-
headers: { Accept: "text/html" },
|
|
133
|
-
})
|
|
134
|
-
.then(function (response) {
|
|
135
|
-
return response.data;
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
return this.$templateRequest(url);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Creates a template by invoking an injectable provider function.
|
|
142
|
-
*
|
|
143
|
-
* @param {import('../interface.ts').Injectable<any>} provider Function to invoke via `locals`
|
|
144
|
-
* @param {Function} params a function used to invoke the template provider
|
|
145
|
-
* @param {import("./resolve/resolve-context.js").ResolveContext} context
|
|
146
|
-
* @return {string|Promise.<string>} The template html as a string, or a promise
|
|
147
|
-
* for that string.
|
|
148
|
-
*/
|
|
149
|
-
fromProvider(provider, params, context) {
|
|
150
|
-
const deps = annotate(provider);
|
|
151
|
-
const providerFn = Array.isArray(provider) ? tail(provider) : provider;
|
|
152
|
-
const resolvable = new Resolvable("", providerFn, deps);
|
|
153
|
-
return resolvable.get(context);
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Creates a component's template by invoking an injectable provider function.
|
|
157
|
-
*
|
|
158
|
-
* @param {import('../interface.ts').Injectable<any>} provider Function to invoke via `locals`
|
|
159
|
-
* @return {Promise<any>} The template html as a string: "<component-name input1='::$resolve.foo'></component-name>".
|
|
160
|
-
*/
|
|
161
|
-
fromComponentProvider(provider, context) {
|
|
162
|
-
const deps = annotate(provider);
|
|
163
|
-
const providerFn = Array.isArray(provider) ? tail(provider) : provider;
|
|
164
|
-
const resolvable = new Resolvable("", providerFn, deps);
|
|
165
|
-
return resolvable.get(context); // https://github.com/angular-ui/ui-router/pull/3165/files
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Creates a template from a component's name
|
|
169
|
-
*
|
|
170
|
-
* This implements route-to-component.
|
|
171
|
-
* It works by retrieving the component (directive) metadata from the injector.
|
|
172
|
-
* It analyses the component's bindings, then constructs a template that instantiates the component.
|
|
173
|
-
* The template wires input and output bindings to resolves or from the parent component.
|
|
174
|
-
*
|
|
175
|
-
* @param {any} ngView {object} The parent ng-view (for binding outputs to callbacks)
|
|
176
|
-
* @param {import("./resolve/resolve-context.js").ResolveContext} context The ResolveContext (for binding outputs to callbacks returned from resolves)
|
|
177
|
-
* @param {string} component {string} Component's name in camel case.
|
|
178
|
-
* @param {any} [bindings] An object defining the component's bindings: {foo: '<'}
|
|
179
|
-
* @return {string} The template as a string: "<component-name input1='$resolve.foo'></component-name>".
|
|
180
|
-
*/
|
|
181
|
-
makeComponentTemplate(ngView, context, component, bindings) {
|
|
182
|
-
bindings = bindings || {};
|
|
183
|
-
// Bind once prefix
|
|
184
|
-
// Convert to kebob name. Add x- prefix if the string starts with `x-` or `data-`
|
|
185
|
-
const kebob = (camelCase) => {
|
|
186
|
-
const kebobed = kebobString(camelCase);
|
|
187
|
-
return /^(x|data)-/.exec(kebobed) ? `x-${kebobed}` : kebobed;
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
const attributeTpl = /** @param {BindingTuple} input*/ (input) => {
|
|
191
|
-
const { name, type } = input;
|
|
192
|
-
const attrName = kebob(name);
|
|
193
|
-
// If the ng-view has an attribute which matches a binding on the routed component
|
|
194
|
-
// then pass that attribute through to the routed component template.
|
|
195
|
-
// Prefer ng-view wired mappings to resolve data, unless the resolve was explicitly bound using `bindings:`
|
|
196
|
-
if (ngView.getAttribute(attrName) && !bindings[name])
|
|
197
|
-
return `${attrName}='${ngView.getAttribute(attrName)}'`;
|
|
198
|
-
const resolveName = bindings[name] || name;
|
|
199
|
-
// Pre-evaluate the expression for "@" bindings by enclosing in {{ }}
|
|
200
|
-
// some-attr="{{$resolve.someResolveName }}"
|
|
201
|
-
if (type === "@") return `${attrName}='{{s$resolve.${resolveName}}}'`;
|
|
202
|
-
// Wire "&" callbacks to resolves that return a callback function
|
|
203
|
-
// Get the result of the resolve (should be a function) and annotate it to get its arguments.
|
|
204
|
-
// some-attr="$resolve.someResolveResultName(foo, bar)"
|
|
205
|
-
if (type === "&") {
|
|
206
|
-
const res = context.getResolvable(resolveName);
|
|
207
|
-
const fn = res && res.data;
|
|
208
|
-
const args = (fn && annotate(fn)) || [];
|
|
209
|
-
// account for array style injection, i.e., ['foo', function(foo) {}]
|
|
210
|
-
const arrayIdxStr = Array.isArray(fn) ? `[${fn.length - 1}]` : "";
|
|
211
|
-
return `${attrName}='$resolve.${resolveName}${arrayIdxStr}(${args.join(",")})'`;
|
|
212
|
-
}
|
|
213
|
-
// some-attr="::$resolve.someResolveName"
|
|
214
|
-
return `${attrName}='$resolve.${resolveName}'`;
|
|
215
|
-
};
|
|
216
|
-
const attrs = getComponentBindings(this.$injector, component)
|
|
217
|
-
.map(attributeTpl)
|
|
218
|
-
.join(" ");
|
|
219
|
-
const kebobName = kebob(component);
|
|
220
|
-
return `<${kebobName} ${attrs}></${kebobName}>`;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* Gets all the directive(s)' inputs ('@', '=', and '<') and outputs ('&')
|
|
226
|
-
*/
|
|
227
|
-
function getComponentBindings($injector, name) {
|
|
228
|
-
const cmpDefs = $injector.get(name + DirectiveSuffix); // could be multiple
|
|
229
|
-
if (!cmpDefs || !cmpDefs.length)
|
|
230
|
-
throw new Error(`Unable to find component named '${name}'`);
|
|
231
|
-
return cmpDefs.map(getBindings).reduce(unnestR, []);
|
|
232
|
-
}
|
|
233
|
-
// Given a directive definition, find its object input attributes
|
|
234
|
-
// Use different properties, depending on the type of directive (component, bindToController, normal)
|
|
235
|
-
const getBindings = (def) => {
|
|
236
|
-
if (isObject(def.bindToController))
|
|
237
|
-
return scopeBindings(def.bindToController);
|
|
238
|
-
return scopeBindings(def.scope);
|
|
239
|
-
};
|
|
240
|
-
// for ng 1.2 style, process the scope: { input: "=foo" }
|
|
241
|
-
// for ng 1.3 through ng 1.5, process the component's bindToController: { input: "=foo" } object
|
|
242
|
-
const scopeBindings = (bindingsObj) =>
|
|
243
|
-
Object.keys(bindingsObj || {})
|
|
244
|
-
// [ 'input', [ '=foo', '=', 'foo' ] ]
|
|
245
|
-
.map((key) => [key, /^([=<@&])[?]?(.*)/.exec(bindingsObj[key])])
|
|
246
|
-
// skip malformed values
|
|
247
|
-
.filter((tuple) => isDefined(tuple) && Array.isArray(tuple[1]))
|
|
248
|
-
// { name: ('foo' || 'input'), type: '=' }
|
|
249
|
-
.map((tuple) => ({ name: tuple[1][2] || tuple[0], type: tuple[1][1] }));
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { dealoc } from "../shared/dom.js";
|
|
2
|
-
import { Angular } from "../angular.js";
|
|
3
|
-
import { wait } from "../shared/test-utils.js";
|
|
4
|
-
|
|
5
|
-
describe("templateFactory", () => {
|
|
6
|
-
let $injector,
|
|
7
|
-
$templateFactory,
|
|
8
|
-
$sce,
|
|
9
|
-
$scope,
|
|
10
|
-
$compile,
|
|
11
|
-
$stateRegistry,
|
|
12
|
-
$stateService,
|
|
13
|
-
error;
|
|
14
|
-
|
|
15
|
-
beforeEach(() => {
|
|
16
|
-
dealoc(document.getElementById("app"));
|
|
17
|
-
window.angular = new Angular();
|
|
18
|
-
window.angular
|
|
19
|
-
.module("defaultModule", [])
|
|
20
|
-
.decorator("$exceptionHandler", () => {
|
|
21
|
-
return (exception) => {
|
|
22
|
-
error = exception.message;
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
$injector = window.angular.bootstrap(document.getElementById("app"), [
|
|
26
|
-
"defaultModule",
|
|
27
|
-
]);
|
|
28
|
-
$injector.invoke((_$templateFactory_, _$sce_, $rootScope) => {
|
|
29
|
-
$templateFactory = _$templateFactory_;
|
|
30
|
-
$sce = _$sce_;
|
|
31
|
-
$scope = $rootScope;
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it("exists", () => {
|
|
36
|
-
expect($injector.get("$templateFactory")).toBeDefined();
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
describe("should follow $sce policy and", () => {
|
|
40
|
-
it("accepts relative URLs", async () => {
|
|
41
|
-
let res = $templateFactory.fromUrl("/mock/hello");
|
|
42
|
-
await wait(100);
|
|
43
|
-
expect(await res).toEqual("Hello");
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
it("rejects untrusted URLs", async () => {
|
|
47
|
-
try {
|
|
48
|
-
await $templateFactory.fromUrl("http://evil.com/views/view.html");
|
|
49
|
-
} catch (e) {}
|
|
50
|
-
expect(error).toMatch(/sce:insecurl/);
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it("accepts explicitly trusted URLs", () => {
|
|
54
|
-
expect(() => {
|
|
55
|
-
$templateFactory.fromUrl(
|
|
56
|
-
$sce.trustAsResourceUrl("http://evil.com/views/view.html"),
|
|
57
|
-
);
|
|
58
|
-
}).not.toThrowError();
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
describe("templateFactory with forced use of $http service", () => {
|
|
63
|
-
beforeEach(() => {
|
|
64
|
-
dealoc(document.getElementById("app"));
|
|
65
|
-
let module = window.angular.module("defaultModule", []);
|
|
66
|
-
module.config(function ($templateFactoryProvider) {
|
|
67
|
-
$templateFactoryProvider.useHttpService(true);
|
|
68
|
-
});
|
|
69
|
-
$injector = window.angular.bootstrap(document.getElementById("app"), [
|
|
70
|
-
"defaultModule",
|
|
71
|
-
]);
|
|
72
|
-
$injector.invoke((_$templateFactory_, _$sce_, $rootScope) => {
|
|
73
|
-
$templateFactory = _$templateFactory_;
|
|
74
|
-
$sce = _$sce_;
|
|
75
|
-
$scope = $rootScope;
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
it("does not restrict URL loading", function () {
|
|
80
|
-
expect(() => {
|
|
81
|
-
$templateFactory.fromUrl("http://evil.com/views/view.html");
|
|
82
|
-
}).not.toThrowError();
|
|
83
|
-
|
|
84
|
-
expect(() => {
|
|
85
|
-
$templateFactory.fromUrl("data:text/html,foo");
|
|
86
|
-
}).not.toThrowError();
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
describe("component template builder", () => {
|
|
91
|
-
let el;
|
|
92
|
-
|
|
93
|
-
beforeEach(() => {
|
|
94
|
-
dealoc(document.getElementById("app"));
|
|
95
|
-
const mod = angular.module("defaultModule", []);
|
|
96
|
-
mod.component("myComponent", { template: "hi" });
|
|
97
|
-
mod.component("dataComponent", { template: "hi" });
|
|
98
|
-
mod.component("xComponent", { template: "hi" });
|
|
99
|
-
$injector = window.angular.bootstrap(document.getElementById("app"), [
|
|
100
|
-
"defaultModule",
|
|
101
|
-
]);
|
|
102
|
-
$injector.invoke(
|
|
103
|
-
(
|
|
104
|
-
_$templateFactory_,
|
|
105
|
-
_$sce_,
|
|
106
|
-
$rootScope,
|
|
107
|
-
_$stateRegistry_,
|
|
108
|
-
_$state_,
|
|
109
|
-
_$compile_,
|
|
110
|
-
) => {
|
|
111
|
-
$templateFactory = _$templateFactory_;
|
|
112
|
-
$sce = _$sce_;
|
|
113
|
-
$scope = $rootScope;
|
|
114
|
-
$stateRegistry = _$stateRegistry_;
|
|
115
|
-
$stateService = _$state_;
|
|
116
|
-
$compile = _$compile_;
|
|
117
|
-
},
|
|
118
|
-
);
|
|
119
|
-
el = $compile("<div><ng-view></ng-view></div>")($scope.$new());
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
it("should not prefix the components dom element with anything", async () => {
|
|
123
|
-
$stateRegistry.register({ name: "cmp", component: "myComponent" });
|
|
124
|
-
$stateService.go("cmp");
|
|
125
|
-
await wait(100);
|
|
126
|
-
expect(el.innerHTML).toMatch(/\<my-component/);
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
it("should prefix the components dom element with x- for components named dataFoo", async () => {
|
|
130
|
-
$stateRegistry.register({
|
|
131
|
-
name: "cmp",
|
|
132
|
-
component: "dataComponent",
|
|
133
|
-
});
|
|
134
|
-
$stateService.go("cmp");
|
|
135
|
-
await wait();
|
|
136
|
-
expect(el.innerHTML).toMatch(/\<x-data-component/);
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
it("should prefix the components dom element with x- for components named xFoo", async () => {
|
|
140
|
-
$stateRegistry.register({ name: "cmp", component: "xComponent" });
|
|
141
|
-
$stateService.go("cmp");
|
|
142
|
-
await wait();
|
|
143
|
-
expect(el.innerHTML).toMatch(/\<x-x-component/);
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { test, expect } from "@playwright/test";
|
|
2
|
-
|
|
3
|
-
const TEST_URL = "src/router/template-factory.html?random=false";
|
|
4
|
-
|
|
5
|
-
test("unit tests contain no errors", async ({ page }) => {
|
|
6
|
-
await page.goto(TEST_URL);
|
|
7
|
-
await page.content();
|
|
8
|
-
await page.waitForTimeout(4000);
|
|
9
|
-
await expect(page.locator(".jasmine-overall-result")).toHaveText(
|
|
10
|
-
/ 0 failures/,
|
|
11
|
-
);
|
|
12
|
-
});
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { assertPredicate, unnestR } from "../../shared/common.js";
|
|
2
|
-
import { TransitionHookPhase, TransitionHookScope } from "./interface.js";
|
|
3
|
-
import { TransitionHook } from "./transition-hook.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* This class returns applicable TransitionHooks for a specific Transition instance.
|
|
7
|
-
*
|
|
8
|
-
* Hooks ([[RegisteredHook]]) may be registered globally, e.g., $transitions.onEnter(...), or locally, e.g.
|
|
9
|
-
* myTransition.onEnter(...). The HookBuilder finds matching RegisteredHooks (where the match criteria is
|
|
10
|
-
* determined by the type of hook)
|
|
11
|
-
*
|
|
12
|
-
* The HookBuilder also converts RegisteredHooks objects to TransitionHook objects, which are used to run a Transition.
|
|
13
|
-
*
|
|
14
|
-
* The HookBuilder constructor is given the $transitions service and a Transition instance. Thus, a HookBuilder
|
|
15
|
-
* instance may only be used for one specific Transition object. (side note: the _treeChanges accessor is private
|
|
16
|
-
* in the Transition class, so we must also provide the Transition's _treeChanges)
|
|
17
|
-
*/
|
|
18
|
-
export class HookBuilder {
|
|
19
|
-
/**
|
|
20
|
-
* @param {import("./transition.js").Transition} transition
|
|
21
|
-
*/
|
|
22
|
-
constructor(transition) {
|
|
23
|
-
this.transition = transition;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @param {TransitionHookPhase} phase
|
|
28
|
-
* @returns
|
|
29
|
-
*/
|
|
30
|
-
buildHooksForPhase(phase) {
|
|
31
|
-
return this.transition.transitionService
|
|
32
|
-
._getEvents(phase)
|
|
33
|
-
.map((type) => this.buildHooks(type))
|
|
34
|
-
.reduce(unnestR, [])
|
|
35
|
-
.filter(Boolean);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Returns an array of newly built TransitionHook objects.
|
|
40
|
-
*
|
|
41
|
-
* - Finds all RegisteredHooks registered for the given `hookType` which matched the transition's [[TreeChanges]].
|
|
42
|
-
* - Finds [[PathNode]] (or `PathNode[]`) to use as the TransitionHook context(s)
|
|
43
|
-
* - For each of the [[PathNode]]s, creates a TransitionHook
|
|
44
|
-
*
|
|
45
|
-
* @param hookType the type of the hook registration function, e.g., 'onEnter', 'onFinish'.
|
|
46
|
-
*/
|
|
47
|
-
buildHooks(hookType) {
|
|
48
|
-
const transition = this.transition;
|
|
49
|
-
const treeChanges = transition.treeChanges();
|
|
50
|
-
// Find all the matching registered hooks for a given hook type
|
|
51
|
-
const matchingHooks = this.getMatchingHooks(
|
|
52
|
-
hookType,
|
|
53
|
-
treeChanges,
|
|
54
|
-
transition,
|
|
55
|
-
);
|
|
56
|
-
if (!matchingHooks) return [];
|
|
57
|
-
const baseHookOptions = {
|
|
58
|
-
transition: transition,
|
|
59
|
-
current: transition.options().current,
|
|
60
|
-
};
|
|
61
|
-
const makeTransitionHooks = (hook) => {
|
|
62
|
-
// Fetch the Nodes that caused this hook to match.
|
|
63
|
-
const matches = hook.matches(treeChanges, transition);
|
|
64
|
-
// Select the PathNode[] that will be used as TransitionHook context objects
|
|
65
|
-
const matchingNodes = matches[hookType.criteriaMatchPath.name];
|
|
66
|
-
// Return an array of HookTuples
|
|
67
|
-
return matchingNodes.map((node) => {
|
|
68
|
-
const _options = Object.assign(
|
|
69
|
-
{
|
|
70
|
-
bind: hook.bind,
|
|
71
|
-
traceData: { hookType: hookType.name, context: node },
|
|
72
|
-
},
|
|
73
|
-
baseHookOptions,
|
|
74
|
-
);
|
|
75
|
-
const state =
|
|
76
|
-
hookType.criteriaMatchPath.scope === TransitionHookScope.STATE
|
|
77
|
-
? node.state.self
|
|
78
|
-
: null;
|
|
79
|
-
const transitionHook = new TransitionHook(
|
|
80
|
-
transition,
|
|
81
|
-
state,
|
|
82
|
-
hook,
|
|
83
|
-
_options,
|
|
84
|
-
);
|
|
85
|
-
return { hook, node, transitionHook };
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
return matchingHooks
|
|
89
|
-
.map(makeTransitionHooks)
|
|
90
|
-
.reduce(unnestR, [])
|
|
91
|
-
.sort(tupleSort(hookType.reverseSort))
|
|
92
|
-
.map((tuple) => tuple.transitionHook);
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Finds all RegisteredHooks from:
|
|
96
|
-
* - The Transition object instance hook registry
|
|
97
|
-
* - The TransitionService ($transitions) global hook registry
|
|
98
|
-
*
|
|
99
|
-
* which matched:
|
|
100
|
-
* - the eventType
|
|
101
|
-
* - the matchCriteria (to, from, exiting, retained, entering)
|
|
102
|
-
*
|
|
103
|
-
* @returns an array of matched [[RegisteredHook]]s
|
|
104
|
-
*/
|
|
105
|
-
getMatchingHooks(hookType, treeChanges, transition) {
|
|
106
|
-
const isCreate = hookType.hookPhase === TransitionHookPhase.CREATE;
|
|
107
|
-
// Instance and Global hook registries
|
|
108
|
-
const $transitions = this.transition.transitionService;
|
|
109
|
-
const registries = isCreate
|
|
110
|
-
? [$transitions]
|
|
111
|
-
: [this.transition, $transitions];
|
|
112
|
-
return registries
|
|
113
|
-
.map((reg) => reg.getHooks(hookType.name)) // Get named hooks from registries
|
|
114
|
-
.filter(
|
|
115
|
-
assertPredicate(Array.isArray, `broken event named: ${hookType.name}`),
|
|
116
|
-
) // Sanity check
|
|
117
|
-
.reduce(unnestR, []) // Un-nest RegisteredHook[][] to RegisteredHook[] array
|
|
118
|
-
.filter((hook) => hook.matches(treeChanges, transition)); // Only those satisfying matchCriteria
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* A factory for a sort function for HookTuples.
|
|
123
|
-
*
|
|
124
|
-
* The sort function first compares the PathNode depth (how deep in the state tree a node is), then compares
|
|
125
|
-
* the EventHook priority.
|
|
126
|
-
*
|
|
127
|
-
* @param reverseDepthSort a boolean, when true, reverses the sort order for the node depth
|
|
128
|
-
* @returns a tuple sort function
|
|
129
|
-
*/
|
|
130
|
-
function tupleSort(reverseDepthSort = false) {
|
|
131
|
-
return function nodeDepthThenPriority(l, r) {
|
|
132
|
-
const factor = reverseDepthSort ? -1 : 1;
|
|
133
|
-
const depthDelta =
|
|
134
|
-
(l.node.state.path.length - r.node.state.path.length) * factor;
|
|
135
|
-
return depthDelta !== 0 ? depthDelta : r.hook.priority - l.hook.priority;
|
|
136
|
-
};
|
|
137
|
-
}
|