@angular-wave/angular.ts 0.9.4 → 0.9.6
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 +9 -2
- 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
package/src/router/url/url.html
DELETED
|
@@ -1,19 +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 type="module" src="/src/router/url/url-service.spec.js"></script>
|
|
15
|
-
</head>
|
|
16
|
-
<body>
|
|
17
|
-
<div id="app"></div>
|
|
18
|
-
</body>
|
|
19
|
-
</html>
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { test, expect } from "@playwright/test";
|
|
2
|
-
|
|
3
|
-
const TEST_URL = "src/router/url/url.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,51 +0,0 @@
|
|
|
1
|
-
import { ViewDeclaration } from "../state/interface.ts";
|
|
2
|
-
import { PathNode } from "../path/path-node.js";
|
|
3
|
-
|
|
4
|
-
/** The context ref can be anything that has a `name` and a `parent` reference to another IContextRef */
|
|
5
|
-
export interface ViewContext {
|
|
6
|
-
name: string;
|
|
7
|
-
parent: ViewContext;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface ActiveUIView {
|
|
11
|
-
/** An auto-incremented id */
|
|
12
|
-
id: number;
|
|
13
|
-
/** The ui-view short name */
|
|
14
|
-
name: string;
|
|
15
|
-
/** The ui-view's fully qualified name */
|
|
16
|
-
fqn: string;
|
|
17
|
-
/** The ViewConfig that is currently loaded into the ui-view */
|
|
18
|
-
config: ViewConfig;
|
|
19
|
-
/** The state context in which the ui-view tag was created. */
|
|
20
|
-
creationContext: ViewContext;
|
|
21
|
-
/** A callback that should apply a ViewConfig (or clear the ui-view, if config is undefined) */
|
|
22
|
-
configUpdated: (config: ViewConfig) => void;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* This interface represents a [[_ViewDeclaration]] that is bound to a [[PathNode]].
|
|
27
|
-
*
|
|
28
|
-
* A `ViewConfig` is the runtime definition of a single view.
|
|
29
|
-
*
|
|
30
|
-
* During a transition, `ViewConfig`s are created for each [[_ViewDeclaration]] defined on each "entering" [[StateObject]].
|
|
31
|
-
* Then, the [[ViewService]] finds any matching `ui-view`(s) in the DOM, and supplies the ui-view
|
|
32
|
-
* with the `ViewConfig`. The `ui-view` then loads itself using the information found in the `ViewConfig`.
|
|
33
|
-
*
|
|
34
|
-
* A `ViewConfig` if matched with a `ui-view` by finding all `ui-view`s which were created in the
|
|
35
|
-
* context named by the `uiViewContextAnchor`, and finding the `ui-view` or child `ui-view` that matches
|
|
36
|
-
* the `uiViewName` address.
|
|
37
|
-
*/
|
|
38
|
-
export interface ViewConfig {
|
|
39
|
-
/* The unique id for the ViewConfig instance */
|
|
40
|
-
$id: number;
|
|
41
|
-
/** The normalized view declaration from [[State.views]] */
|
|
42
|
-
viewDecl: ViewDeclaration;
|
|
43
|
-
|
|
44
|
-
/** The node the ViewConfig is bound to */
|
|
45
|
-
path: PathNode[];
|
|
46
|
-
|
|
47
|
-
loaded: boolean;
|
|
48
|
-
|
|
49
|
-
/** Fetches templates, runs dynamic (controller|template)Provider code, lazy loads Components, etc */
|
|
50
|
-
load(): Promise<ViewConfig>;
|
|
51
|
-
}
|
|
@@ -1,19 +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 type="module" src="/src/router/view/view.spec.js"></script>
|
|
15
|
-
</head>
|
|
16
|
-
<body>
|
|
17
|
-
<div id="app"></div>
|
|
18
|
-
</body>
|
|
19
|
-
</html>
|
package/src/router/view/view.js
DELETED
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
import { applyPairs, equals, removeFrom } from "../../shared/common.js";
|
|
2
|
-
import { curry } from "../../shared/hof.js";
|
|
3
|
-
import { trace } from "../common/trace.js";
|
|
4
|
-
import { getViewConfigFactory } from "../state/views.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* The View service
|
|
8
|
-
*
|
|
9
|
-
* This service pairs existing `ng-view` components (which live in the DOM)
|
|
10
|
-
* with view configs (from the state declaration objects: [[StateDeclaration.views]]).
|
|
11
|
-
*
|
|
12
|
-
* - After a successful Transition, the views from the newly entered states are activated via [[activateViewConfig]].
|
|
13
|
-
* The views from exited states are deactivated via [[deactivateViewConfig]].
|
|
14
|
-
* (See: the [[registerActivateViews]] Transition Hook)
|
|
15
|
-
*
|
|
16
|
-
* - As `ng-view` components pop in and out of existence, they register themselves using [[registerUIView]].
|
|
17
|
-
*
|
|
18
|
-
* - When the [[sync]] function is called, the registered `ng-view`(s) ([[ActiveUIView]])
|
|
19
|
-
* are configured with the matching [[ViewConfig]](s)
|
|
20
|
-
*
|
|
21
|
-
*/
|
|
22
|
-
export class ViewService {
|
|
23
|
-
constructor() {
|
|
24
|
-
this._ngViews = [];
|
|
25
|
-
this._viewConfigs = [];
|
|
26
|
-
this._listeners = [];
|
|
27
|
-
this.viewConfigFactory(getViewConfigFactory());
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
$get = () => this;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* @param {?import('../state/state-object.js').StateObject} context
|
|
34
|
-
* @return {?import('../state/state-object.js').StateObject}
|
|
35
|
-
*/
|
|
36
|
-
rootViewContext(context) {
|
|
37
|
-
return (this._rootContext = context || this._rootContext);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
viewConfigFactory(factory) {
|
|
41
|
-
this.viewConfigFactory = factory;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* @param path
|
|
46
|
-
* @param decl
|
|
47
|
-
* @return {import("../state/views.js").ViewConfig}
|
|
48
|
-
*/
|
|
49
|
-
createViewConfig(path, decl) {
|
|
50
|
-
/** @type {function(any, any): any} */
|
|
51
|
-
const cfgFactory = this.viewConfigFactory;
|
|
52
|
-
if (!cfgFactory)
|
|
53
|
-
throw new Error(
|
|
54
|
-
"ViewService: No view config factory registered for type " + decl.$type,
|
|
55
|
-
);
|
|
56
|
-
return cfgFactory(path, decl);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Deactivates a ViewConfig.
|
|
60
|
-
*
|
|
61
|
-
* This function deactivates a `ViewConfig`.
|
|
62
|
-
* After calling [[sync]], it will un-pair from any `ng-view` with which it is currently paired.
|
|
63
|
-
*
|
|
64
|
-
* @param viewConfig The ViewConfig view to deregister.
|
|
65
|
-
*/
|
|
66
|
-
deactivateViewConfig(viewConfig) {
|
|
67
|
-
trace.traceViewServiceEvent("<- Removing", viewConfig);
|
|
68
|
-
removeFrom(this._viewConfigs, viewConfig);
|
|
69
|
-
}
|
|
70
|
-
activateViewConfig(viewConfig) {
|
|
71
|
-
trace.traceViewServiceEvent("-> Registering", viewConfig);
|
|
72
|
-
this._viewConfigs.push(viewConfig);
|
|
73
|
-
}
|
|
74
|
-
sync() {
|
|
75
|
-
const ngViewsByFqn = this._ngViews
|
|
76
|
-
.map((uiv) => [uiv.fqn, uiv])
|
|
77
|
-
.reduce(applyPairs, {});
|
|
78
|
-
// Return a weighted depth value for a ngView.
|
|
79
|
-
// The depth is the nesting depth of ng-views (based on FQN; times 10,000)
|
|
80
|
-
// plus the depth of the state that is populating the ngView
|
|
81
|
-
function ngViewDepth(ngView) {
|
|
82
|
-
const stateDepth = (context) =>
|
|
83
|
-
context && context.parent ? stateDepth(context.parent) + 1 : 1;
|
|
84
|
-
return (
|
|
85
|
-
ngView.fqn.split(".").length * 10000 +
|
|
86
|
-
stateDepth(ngView.creationContext)
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
// Return the ViewConfig's context's depth in the context tree.
|
|
90
|
-
function viewConfigDepth(config) {
|
|
91
|
-
let context = config.viewDecl.$context,
|
|
92
|
-
count = 0;
|
|
93
|
-
while (++count && context.parent) context = context.parent;
|
|
94
|
-
return count;
|
|
95
|
-
}
|
|
96
|
-
// Given a depth function, returns a compare function which can return either ascending or descending order
|
|
97
|
-
const depthCompare = curry(
|
|
98
|
-
(depthFn, posNeg, left, right) =>
|
|
99
|
-
posNeg * (depthFn(left) - depthFn(right)),
|
|
100
|
-
);
|
|
101
|
-
const matchingConfigPair = (ngView) => {
|
|
102
|
-
const matchingConfigs = this._viewConfigs.filter(
|
|
103
|
-
ViewService.matches(ngViewsByFqn, ngView),
|
|
104
|
-
);
|
|
105
|
-
if (matchingConfigs.length > 1) {
|
|
106
|
-
// This is OK. Child states can target a ng-view that the parent state also targets (the child wins)
|
|
107
|
-
// Sort by depth and return the match from the deepest child
|
|
108
|
-
// console.log(`Multiple matching view configs for ${ngView.fqn}`, matchingConfigs);
|
|
109
|
-
matchingConfigs.sort(depthCompare(viewConfigDepth, -1)); // descending
|
|
110
|
-
}
|
|
111
|
-
return { ngView, viewConfig: matchingConfigs[0] };
|
|
112
|
-
};
|
|
113
|
-
const configureUIView = (tuple) => {
|
|
114
|
-
// If a parent ng-view is reconfigured, it could destroy child ng-views.
|
|
115
|
-
// Before configuring a child ng-view, make sure it's still in the active ngViews array.
|
|
116
|
-
if (this._ngViews.indexOf(tuple.ngView) !== -1) {
|
|
117
|
-
tuple.ngView.configUpdated(tuple.viewConfig);
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
// Sort views by FQN and state depth. Process uiviews nearest the root first.
|
|
121
|
-
const ngViewTuples = this._ngViews
|
|
122
|
-
.sort(depthCompare(ngViewDepth, 1))
|
|
123
|
-
.map(matchingConfigPair);
|
|
124
|
-
const matchedViewConfigs = ngViewTuples.map((tuple) => tuple.viewConfig);
|
|
125
|
-
const unmatchedConfigTuples = this._viewConfigs
|
|
126
|
-
.filter((config) => !matchedViewConfigs.includes(config))
|
|
127
|
-
.map((viewConfig) => ({ ngView: undefined, viewConfig }));
|
|
128
|
-
ngViewTuples.forEach((tuple) => {
|
|
129
|
-
configureUIView(tuple);
|
|
130
|
-
});
|
|
131
|
-
const allTuples = ngViewTuples.concat(unmatchedConfigTuples);
|
|
132
|
-
this._listeners.forEach((cb) => cb(allTuples));
|
|
133
|
-
trace.traceViewSync(allTuples);
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Registers a `ng-view` component
|
|
137
|
-
*
|
|
138
|
-
* When a `ng-view` component is created, it uses this method to register itself.
|
|
139
|
-
* After registration the [[sync]] method is used to ensure all `ng-view` are configured with the proper [[ViewConfig]].
|
|
140
|
-
*
|
|
141
|
-
* Note: the `ng-view` component uses the `ViewConfig` to determine what view should be loaded inside the `ng-view`,
|
|
142
|
-
* and what the view's state context is.
|
|
143
|
-
*
|
|
144
|
-
* Note: There is no corresponding `deregisterUIView`.
|
|
145
|
-
* A `ng-view` should hang on to the return value of `registerUIView` and invoke it to deregister itself.
|
|
146
|
-
*
|
|
147
|
-
* @param ngView The metadata for a UIView
|
|
148
|
-
* @return a de-registration function used when the view is destroyed.
|
|
149
|
-
*/
|
|
150
|
-
registerUIView(ngView) {
|
|
151
|
-
trace.traceViewServiceUIViewEvent("-> Registering", ngView);
|
|
152
|
-
const ngViews = this._ngViews;
|
|
153
|
-
const fqnAndTypeMatches = (uiv) => uiv.fqn === ngView.fqn;
|
|
154
|
-
if (ngViews.filter(fqnAndTypeMatches).length)
|
|
155
|
-
trace.traceViewServiceUIViewEvent("!!!! duplicate ngView named:", ngView);
|
|
156
|
-
ngViews.push(ngView);
|
|
157
|
-
this.sync();
|
|
158
|
-
return () => {
|
|
159
|
-
const idx = ngViews.indexOf(ngView);
|
|
160
|
-
if (idx === -1) {
|
|
161
|
-
trace.traceViewServiceUIViewEvent(
|
|
162
|
-
"Tried removing non-registered ngView",
|
|
163
|
-
ngView,
|
|
164
|
-
);
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
trace.traceViewServiceUIViewEvent("<- Deregistering", ngView);
|
|
168
|
-
removeFrom(ngViews, ngView);
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Returns the list of views currently available on the page, by fully-qualified name.
|
|
173
|
-
*
|
|
174
|
-
* @return {Array} Returns an array of fully-qualified view names.
|
|
175
|
-
*/
|
|
176
|
-
available() {
|
|
177
|
-
return this._ngViews.map((x) => x.fqn);
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Returns the list of views on the page containing loaded content.
|
|
181
|
-
*
|
|
182
|
-
* @return {Array} Returns an array of fully-qualified view names.
|
|
183
|
-
*/
|
|
184
|
-
active() {
|
|
185
|
-
return this._ngViews.filter((x) => x.$config).map((x) => x.name);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Given a ng-view and a ViewConfig, determines if they "match".
|
|
190
|
-
*
|
|
191
|
-
* A ng-view has a fully qualified name (fqn) and a context object. The fqn is built from its overall location in
|
|
192
|
-
* the DOM, describing its nesting relationship to any parent ng-view tags it is nested inside of.
|
|
193
|
-
*
|
|
194
|
-
* A ViewConfig has a target ng-view name and a context anchor. The ng-view name can be a simple name, or
|
|
195
|
-
* can be a segmented ng-view path, describing a portion of a ng-view fqn.
|
|
196
|
-
*
|
|
197
|
-
* In order for a ng-view to match ViewConfig, ng-view's $type must match the ViewConfig's $type
|
|
198
|
-
*
|
|
199
|
-
* If the ViewConfig's target ng-view name is a simple name (no dots), then a ng-view matches if:
|
|
200
|
-
* - the ng-view's name matches the ViewConfig's target name
|
|
201
|
-
* - the ng-view's context matches the ViewConfig's anchor
|
|
202
|
-
*
|
|
203
|
-
* If the ViewConfig's target ng-view name is a segmented name (with dots), then a ng-view matches if:
|
|
204
|
-
* - There exists a parent ng-view where:
|
|
205
|
-
* - the parent ng-view's name matches the first segment (index 0) of the ViewConfig's target name
|
|
206
|
-
* - the parent ng-view's context matches the ViewConfig's anchor
|
|
207
|
-
* - And the remaining segments (index 1..n) of the ViewConfig's target name match the tail of the ng-view's fqn
|
|
208
|
-
*
|
|
209
|
-
* Example:
|
|
210
|
-
*
|
|
211
|
-
* DOM:
|
|
212
|
-
* <ng-view> <!-- created in the root context (name: "") -->
|
|
213
|
-
* <ng-view name="foo"> <!-- created in the context named: "A" -->
|
|
214
|
-
* <ng-view> <!-- created in the context named: "A.B" -->
|
|
215
|
-
* <ng-view name="bar"> <!-- created in the context named: "A.B.C" -->
|
|
216
|
-
* </ng-view>
|
|
217
|
-
* </ng-view>
|
|
218
|
-
* </ng-view>
|
|
219
|
-
* </ng-view>
|
|
220
|
-
*
|
|
221
|
-
* ngViews: [
|
|
222
|
-
* { fqn: "$default", creationContext: { name: "" } },
|
|
223
|
-
* { fqn: "$default.foo", creationContext: { name: "A" } },
|
|
224
|
-
* { fqn: "$default.foo.$default", creationContext: { name: "A.B" } }
|
|
225
|
-
* { fqn: "$default.foo.$default.bar", creationContext: { name: "A.B.C" } }
|
|
226
|
-
* ]
|
|
227
|
-
*
|
|
228
|
-
* These four view configs all match the ng-view with the fqn: "$default.foo.$default.bar":
|
|
229
|
-
*
|
|
230
|
-
* - ViewConfig1: { ngViewName: "bar", ngViewContextAnchor: "A.B.C" }
|
|
231
|
-
* - ViewConfig2: { ngViewName: "$default.bar", ngViewContextAnchor: "A.B" }
|
|
232
|
-
* - ViewConfig3: { ngViewName: "foo.$default.bar", ngViewContextAnchor: "A" }
|
|
233
|
-
* - ViewConfig4: { ngViewName: "$default.foo.$default.bar", ngViewContextAnchor: "" }
|
|
234
|
-
*
|
|
235
|
-
* Using ViewConfig3 as an example, it matches the ng-view with fqn "$default.foo.$default.bar" because:
|
|
236
|
-
* - The ViewConfig's segmented target name is: [ "foo", "$default", "bar" ]
|
|
237
|
-
* - There exists a parent ng-view (which has fqn: "$default.foo") where:
|
|
238
|
-
* - the parent ng-view's name "foo" matches the first segment "foo" of the ViewConfig's target name
|
|
239
|
-
* - the parent ng-view's context "A" matches the ViewConfig's anchor context "A"
|
|
240
|
-
* - And the remaining segments [ "$default", "bar" ].join("."_ of the ViewConfig's target name match
|
|
241
|
-
* the tail of the ng-view's fqn "default.bar"
|
|
242
|
-
*
|
|
243
|
-
* @internal
|
|
244
|
-
*/
|
|
245
|
-
ViewService.matches = (ngViewsByFqn, ngView) => (viewConfig) => {
|
|
246
|
-
// Don't supply an ng1 ng-view with an ng2 ViewConfig, etc
|
|
247
|
-
if (ngView.$type !== viewConfig.viewDecl.$type) return false;
|
|
248
|
-
// Split names apart from both viewConfig and ngView into segments
|
|
249
|
-
const vc = viewConfig.viewDecl;
|
|
250
|
-
const vcSegments = vc.$ngViewName.split(".");
|
|
251
|
-
const uivSegments = ngView.fqn.split(".");
|
|
252
|
-
// Check if the tails of the segment arrays match. ex, these arrays' tails match:
|
|
253
|
-
// vc: ["foo", "bar"], uiv fqn: ["$default", "foo", "bar"]
|
|
254
|
-
if (!equals(vcSegments, uivSegments.slice(0 - vcSegments.length)))
|
|
255
|
-
return false;
|
|
256
|
-
// Now check if the fqn ending at the first segment of the viewConfig matches the context:
|
|
257
|
-
// ["$default", "foo"].join(".") == "$default.foo", does the ng-view $default.foo context match?
|
|
258
|
-
const negOffset = 1 - vcSegments.length || undefined;
|
|
259
|
-
const fqnToFirstSegment = uivSegments.slice(0, negOffset).join(".");
|
|
260
|
-
const ngViewContext = ngViewsByFqn[fqnToFirstSegment].creationContext;
|
|
261
|
-
return vc.$ngViewContextAnchor === (ngViewContext && ngViewContext.name);
|
|
262
|
-
};
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { dealoc } from "../../shared/dom.js";
|
|
2
|
-
import { Angular } from "../../angular.js";
|
|
3
|
-
import { curry } from "../../shared/hof.js";
|
|
4
|
-
import { StateMatcher } from "../state/state-matcher.js";
|
|
5
|
-
import { StateBuilder } from "../state/state-builder.js";
|
|
6
|
-
import { StateObject } from "../state/state-object.js";
|
|
7
|
-
import { ViewService } from "./view.js";
|
|
8
|
-
import { ng1ViewsBuilder, getViewConfigFactory } from "../state/views.js";
|
|
9
|
-
import { PathNode } from "../path/path-node.js";
|
|
10
|
-
import { PathUtils } from "../path/path-utils.js";
|
|
11
|
-
import { tail } from "../../shared/common.js";
|
|
12
|
-
import { wait } from "../../shared/test-utils.js";
|
|
13
|
-
|
|
14
|
-
describe("view", () => {
|
|
15
|
-
let scope,
|
|
16
|
-
$compile,
|
|
17
|
-
$injector,
|
|
18
|
-
elem = document.getElementById("app"),
|
|
19
|
-
$controllerProvider,
|
|
20
|
-
$urlProvider,
|
|
21
|
-
$view,
|
|
22
|
-
root,
|
|
23
|
-
states;
|
|
24
|
-
|
|
25
|
-
beforeEach(() => {
|
|
26
|
-
dealoc(document.getElementById("app"));
|
|
27
|
-
window.angular = new Angular();
|
|
28
|
-
window.angular
|
|
29
|
-
.module("defaultModule", [])
|
|
30
|
-
.config(function (_$provide_, _$controllerProvider_, _$urlProvider_) {
|
|
31
|
-
_$provide_.factory("foo", () => {
|
|
32
|
-
return "Foo";
|
|
33
|
-
});
|
|
34
|
-
$controllerProvider = _$controllerProvider_;
|
|
35
|
-
$urlProvider = _$urlProvider_;
|
|
36
|
-
});
|
|
37
|
-
$injector = window.angular.bootstrap(document.getElementById("app"), [
|
|
38
|
-
"defaultModule",
|
|
39
|
-
]);
|
|
40
|
-
|
|
41
|
-
$injector.invoke(($rootScope, _$compile_, _$injector_, _$view_) => {
|
|
42
|
-
scope = $rootScope.$new();
|
|
43
|
-
$compile = _$compile_;
|
|
44
|
-
$injector = _$injector_;
|
|
45
|
-
states = {};
|
|
46
|
-
const matcher = new StateMatcher(states);
|
|
47
|
-
const stateBuilder = new StateBuilder(matcher, $urlProvider);
|
|
48
|
-
stateBuilder.builder("views", ng1ViewsBuilder);
|
|
49
|
-
register = registerState(states, stateBuilder);
|
|
50
|
-
root = register({ name: "" });
|
|
51
|
-
$view = _$view_;
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
let register;
|
|
56
|
-
const registerState = curry(function (_states, stateBuilder, config) {
|
|
57
|
-
const state = new StateObject(config);
|
|
58
|
-
const built = stateBuilder.build(state);
|
|
59
|
-
return (_states[built.name] = built);
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
describe("controller handling", () => {
|
|
63
|
-
let state, path, ctrlExpression;
|
|
64
|
-
beforeEach(() => {
|
|
65
|
-
ctrlExpression = null;
|
|
66
|
-
const stateDeclaration = {
|
|
67
|
-
name: "foo",
|
|
68
|
-
template: "test",
|
|
69
|
-
controllerProvider: [
|
|
70
|
-
"foo",
|
|
71
|
-
function (/* $stateParams, */ foo) {
|
|
72
|
-
// todo: reimplement localized $stateParams
|
|
73
|
-
ctrlExpression =
|
|
74
|
-
/* $stateParams.type + */ foo + "Controller as foo";
|
|
75
|
-
return ctrlExpression;
|
|
76
|
-
},
|
|
77
|
-
],
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
state = register(stateDeclaration);
|
|
81
|
-
const $view = new ViewService(null);
|
|
82
|
-
$view.viewConfigFactory(getViewConfigFactory());
|
|
83
|
-
|
|
84
|
-
const _states = [root, state];
|
|
85
|
-
path = _states.map((_state) => new PathNode(_state));
|
|
86
|
-
PathUtils.applyViewConfigs($view, path, _states);
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
it("uses the controllerProvider to get controller dynamically", async () => {
|
|
90
|
-
$controllerProvider.register("AcmeFooController", () => {});
|
|
91
|
-
elem.innerHTML = "<div><ng-view></ng-view></div>";
|
|
92
|
-
$compile(elem)(scope);
|
|
93
|
-
await wait();
|
|
94
|
-
const view = tail(path).views[0];
|
|
95
|
-
view.load();
|
|
96
|
-
await wait(100);
|
|
97
|
-
expect(ctrlExpression).toEqual("FooController as foo");
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { test, expect } from "@playwright/test";
|
|
2
|
-
|
|
3
|
-
const TEST_URL = "src/router/view/view.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
|
-
});
|