From c05005a688a1ff929af966835ae33ca85c106fc9 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Fri, 23 Mar 2018 10:40:20 -0500 Subject: [PATCH] chore: update to rxjs v6 beta and angular v6 beta (#10496) --- .gitignore | 1 + package-lock.json | 122 ++++++++++++------ package.json | 30 ++--- .../__name@dasherize__.component.ts | 2 +- .../__name@dasherize__-datasource.ts | 6 +- .../dialog/dialog-container.ts | 2 +- src/cdk-experimental/dialog/dialog-ref.ts | 5 +- src/cdk-experimental/dialog/dialog.ts | 7 +- src/cdk/a11y/BUILD.bazel | 2 +- src/cdk/a11y/focus-monitor/focus-monitor.ts | 5 +- src/cdk/a11y/focus-trap/focus-trap.ts | 2 +- .../a11y/key-manager/list-key-manager.spec.ts | 4 +- src/cdk/a11y/key-manager/list-key-manager.ts | 8 +- src/cdk/accordion/BUILD.bazel | 2 + src/cdk/accordion/accordion-item.ts | 2 +- src/cdk/accordion/accordion.ts | 2 +- src/cdk/bidi/BUILD.bazel | 1 + src/cdk/collections/BUILD.bazel | 1 + src/cdk/collections/collection-viewer.ts | 2 +- src/cdk/collections/data-source.ts | 2 +- src/cdk/collections/selection.ts | 2 +- src/cdk/layout/BUILD.bazel | 1 + src/cdk/layout/breakpoints-observer.ts | 10 +- src/cdk/observers/BUILD.bazel | 1 + src/cdk/observers/observe-content.ts | 5 +- src/cdk/overlay/overlay-directives.ts | 2 +- src/cdk/overlay/overlay-ref.ts | 5 +- .../connected-position-strategy.spec.ts | 2 +- .../position/connected-position-strategy.ts | 2 +- ...exible-connected-position-strategy.spec.ts | 4 +- .../flexible-connected-position-strategy.ts | 4 +- .../scroll/close-scroll-strategy.spec.ts | 2 +- .../overlay/scroll/close-scroll-strategy.ts | 2 +- .../scroll/reposition-scroll-strategy.spec.ts | 2 +- .../scroll/reposition-scroll-strategy.ts | 2 +- src/cdk/portal/BUILD.bazel | 1 + src/cdk/scrolling/BUILD.bazel | 1 + src/cdk/scrolling/scroll-dispatcher.ts | 9 +- src/cdk/scrolling/scrollable.ts | 3 +- src/cdk/scrolling/viewport-ruler.ts | 9 +- src/cdk/stepper/stepper.ts | 3 +- src/cdk/table/BUILD.bazel | 1 + src/cdk/table/table.spec.ts | 32 +++-- src/cdk/table/table.ts | 8 +- src/cdk/text-field/autofill.spec.ts | 2 +- src/cdk/text-field/autofill.ts | 5 +- src/cdk/text-field/autosize.ts | 6 +- src/cdk/tree/control/base-tree-control.ts | 2 +- .../tree/control/nested-tree-control.spec.ts | 2 +- src/cdk/tree/control/nested-tree-control.ts | 4 +- src/cdk/tree/control/tree-control.ts | 2 +- src/cdk/tree/nested-node.ts | 2 +- src/cdk/tree/padding.ts | 4 +- src/cdk/tree/tree.spec.ts | 38 ++++-- src/cdk/tree/tree.ts | 8 +- src/demo-app/a11y/a11y.ts | 2 +- src/demo-app/a11y/table/table-a11y.ts | 6 +- .../autocomplete/autocomplete-demo.ts | 4 +- src/demo-app/overlay/overlay-demo.ts | 4 +- src/demo-app/screen-type/screen-type-demo.ts | 2 +- src/demo-app/system-config.ts | 1 + .../data-input-table/data-input-table.ts | 2 +- src/demo-app/table/people-database.ts | 2 +- src/demo-app/table/person-data-source.ts | 5 +- .../table/person-detail-data-source.ts | 4 +- src/demo-app/table/table-demo.ts | 6 +- src/demo-app/tabs/tabs-demo.ts | 2 +- .../checklist-tree-demo/checklist-database.ts | 2 +- .../checklist-tree-demo.ts | 4 +- .../dynamic-tree-demo/dynamic-database.ts | 8 +- src/demo-app/tree/file-database.ts | 2 +- .../loadmore-tree-demo/loadmore-database.ts | 2 +- .../loadmore-tree-demo/loadmore-tree-demo.ts | 2 +- src/demo-app/tree/tree-demo.ts | 4 +- src/e2e-app/system-config.ts | 1 + src/lib/autocomplete/autocomplete-trigger.ts | 14 +- src/lib/autocomplete/autocomplete.spec.ts | 10 +- .../bottom-sheet/bottom-sheet-container.ts | 2 +- src/lib/bottom-sheet/bottom-sheet-ref.ts | 10 +- src/lib/bottom-sheet/bottom-sheet.ts | 2 +- src/lib/chips/chip-list.ts | 8 +- src/lib/chips/chip.ts | 2 +- src/lib/core/common-behaviors/error-state.ts | 2 +- src/lib/core/common-behaviors/initialized.ts | 4 +- src/lib/core/datetime/date-adapter.ts | 3 +- src/lib/core/option/option.ts | 2 +- src/lib/datepicker/calendar-body.ts | 2 +- src/lib/datepicker/calendar.ts | 6 +- src/lib/datepicker/datepicker-input.ts | 2 +- src/lib/datepicker/datepicker-intl.ts | 2 +- src/lib/datepicker/datepicker-toggle.ts | 6 +- src/lib/datepicker/datepicker.spec.ts | 2 +- src/lib/datepicker/datepicker.ts | 11 +- src/lib/dialog/dialog-ref.ts | 12 +- src/lib/dialog/dialog.ts | 10 +- src/lib/expansion/expansion-panel-header.ts | 6 +- src/lib/expansion/expansion-panel.ts | 8 +- src/lib/form-field/form-field-control.ts | 2 +- src/lib/form-field/form-field.ts | 6 +- src/lib/icon/icon-registry.ts | 18 +-- src/lib/icon/icon.ts | 2 +- src/lib/input/input.spec.ts | 57 +++++--- src/lib/input/input.ts | 2 +- src/lib/list/selection-list.ts | 2 +- src/lib/menu/menu-directive.ts | 14 +- src/lib/menu/menu-item.ts | 2 +- src/lib/menu/menu-trigger.ts | 7 +- src/lib/menu/menu.spec.ts | 2 +- src/lib/paginator/paginator-intl.ts | 2 +- src/lib/paginator/paginator.ts | 2 +- src/lib/select/select.spec.ts | 6 +- src/lib/select/select.ts | 19 ++- src/lib/sidenav/drawer.spec.ts | 9 +- src/lib/sidenav/drawer.ts | 14 +- src/lib/slider/slider.ts | 2 +- src/lib/snack-bar/snack-bar-container.ts | 6 +- src/lib/snack-bar/snack-bar-ref.ts | 4 +- src/lib/snack-bar/snack-bar.ts | 4 +- src/lib/sort/sort-header-intl.ts | 2 +- src/lib/sort/sort-header.ts | 4 +- src/lib/sort/sort.spec.ts | 4 +- src/lib/sort/sort.ts | 2 +- src/lib/stepper/step-header.ts | 2 +- src/lib/stepper/stepper-intl.ts | 2 +- src/lib/stepper/stepper.spec.ts | 8 +- src/lib/stepper/stepper.ts | 2 +- src/lib/table/table-data-source.ts | 38 +++--- src/lib/table/table.spec.ts | 4 +- src/lib/tabs/tab-body.ts | 2 +- src/lib/tabs/tab-group.spec.ts | 2 +- src/lib/tabs/tab-group.ts | 4 +- src/lib/tabs/tab-header.spec.ts | 2 +- src/lib/tabs/tab-header.ts | 6 +- src/lib/tabs/tab-nav-bar/tab-nav-bar.spec.ts | 2 +- src/lib/tabs/tab-nav-bar/tab-nav-bar.ts | 8 +- src/lib/tabs/tab.ts | 2 +- src/lib/toolbar/toolbar.spec.ts | 16 ++- src/lib/tooltip/tooltip.ts | 6 +- src/lib/tree/data-source/flat-data-source.ts | 10 +- .../tree/data-source/nested-data-source.ts | 8 +- src/lib/tree/tree.spec.ts | 4 +- ...mplete-auto-active-first-option-example.ts | 6 +- .../autocomplete-display-example.ts | 6 +- .../autocomplete-filter-example.ts | 6 +- .../autocomplete-overview-example.ts | 6 +- .../cdk-table-basic-example.ts | 4 +- .../cdk-tree-flat/cdk-tree-flat-example.ts | 4 +- .../cdk-tree-nested-example.ts | 3 +- .../chips-autocomplete-example.ts | 6 +- .../form-field-custom-control-example.ts | 2 +- .../table-http/table-http-example.ts | 14 +- .../tree-flat-overview-example.ts | 6 +- .../tree-nested-overview-example.ts | 4 +- .../kitchen-sink/kitchen-sink.ts | 4 +- test/karma-test-shim.js | 1 + tools/dashboard/src/app/dashboard-app.ts | 2 +- tools/package-tools/rollup-globals.ts | 35 +---- tslint.json | 2 - 158 files changed, 503 insertions(+), 517 deletions(-) diff --git a/.gitignore b/.gitignore index 5bffacfa196..15c67c16da3 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ /tmp /deploy /screenshots +/bazel-out # Example module file will be auto-generated. /src/material-examples/example-module.ts diff --git a/package-lock.json b/package-lock.json index 376bdd94d74..67da6c42ee5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,17 @@ "chokidar": "1.7.0", "rxjs": "5.5.7", "source-map": "0.5.7" + }, + "dependencies": { + "rxjs": { + "version": "5.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.7.tgz", + "integrity": "sha512-Hxo2ac8gRQjwjtKgukMIwBRbq5+KAeEV5hXM4obYBOAghev41bDQWgFH4svYiU9UnQ5kNww2LgfyBdevCd2HXA==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + } } }, "@angular-devkit/schematics": { @@ -24,12 +35,23 @@ "requires": { "@ngtools/json-schema": "1.1.0", "rxjs": "5.5.7" + }, + "dependencies": { + "rxjs": { + "version": "5.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.7.tgz", + "integrity": "sha512-Hxo2ac8gRQjwjtKgukMIwBRbq5+KAeEV5hXM4obYBOAghev41bDQWgFH4svYiU9UnQ5kNww2LgfyBdevCd2HXA==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + } } }, "@angular/animations": { - "version": "6.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.0.0-beta.8.tgz", - "integrity": "sha512-/xd3AmdwBaSi9RPfGxzhDqMEzChKkP/L9/Bh0rr+My3fUaVlnTbMb/y9FDsFaMxL8yD45fsjfswsLd3inm+daw==", + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.0.0-rc.0.tgz", + "integrity": "sha512-0OeClBhZzLvHv86DrsnVnCml7PObgTjLfWMgmkjil9GX8R5P7Ha8CmSkFqw01btvwYEW1IiIAODufFL+/Rm48Q==", "requires": { "tslib": "1.9.0" } @@ -56,17 +78,17 @@ } }, "@angular/common": { - "version": "6.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.0.0-beta.8.tgz", - "integrity": "sha512-InXLs9jGdLz7Y9wDdVH5mdnUeaOH4wwaEltOw9+gCrPhmDf8Fxo5B92Ogcq6zr+6aHiuotyxdsew9fjyGGza0A==", + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.0.0-rc.0.tgz", + "integrity": "sha512-zmsy34fmdL4Moj3zQL2C4YKBBEKUiSmYyK7GeiuvnOqQcHuom3hR/Bcg6P7dCwkkonUDtWSN+YcL7Yb5TmY0lg==", "requires": { "tslib": "1.9.0" } }, "@angular/compiler": { - "version": "6.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.0.0-beta.8.tgz", - "integrity": "sha512-WzKG0LbDoQ39hdO6LPfP1yS2XmNSvyD6Cx6DXJwCaIV6Gn5EaoZ/+adAIEmUY75XRDDmt03GkpruVrW1YYV+Rg==", + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.0.0-rc.0.tgz", + "integrity": "sha512-KEWTUduV0fHsVdHm34PaqVTxSohpXDQtNplsAd2U+3/2gkrQNW83CWR5Ec4fbJyZmq0RrRhycHomYks8J+KLWA==", "requires": { "tslib": "1.9.0" } @@ -113,51 +135,51 @@ } }, "@angular/core": { - "version": "6.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.0.0-beta.8.tgz", - "integrity": "sha512-QD5OpGt7QcYQ5Ckrh8f9phFZ3dQrV+EI0ca76E3ZdYi0sYnjW0Es5a1+rr1VjYRr8RxTjVqYxS0duYli2dQNow==", + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.0.0-rc.0.tgz", + "integrity": "sha512-hDvP9XX7ypkK8iumvShlOGeQXTCCLpLSPGMSc9bYuaFiqC11lLmX8KVfoMbR/IYHoB1skPmeWncUMe8cTChRyQ==", "requires": { "tslib": "1.9.0" } }, "@angular/forms": { - "version": "6.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.0.0-beta.8.tgz", - "integrity": "sha512-hk1V5Db165A8ptnddq86Ozx4eO2xKQu/KHAckxZ8bxO7MAQuzOnSDorniVZ58glHk+84YwqdPn0mMu23er95lQ==", + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.0.0-rc.0.tgz", + "integrity": "sha512-osLQtfHcq6iBJXutUURnCVOP3R00SBDDs5lA4VaeIiC5gHQQuZ8AUgXN5n1ai5FTANk9wkZ7snLW7oucvQ+KyQ==", "requires": { "tslib": "1.9.0" } }, "@angular/http": { - "version": "6.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.0.0-beta.8.tgz", - "integrity": "sha512-u24e8Parw/uYusjS1ehE212cf82NwQqcFC0hYBi+qTSGUvlVPSDgbbgO2/OtbXDrPH6tV2uA3zI5sFQDnoP1YQ==", + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.0.0-rc.0.tgz", + "integrity": "sha512-I1OLtuH5Bh27zMnl8ZX7o3cIM1wIqJwXXxRz+S0jmpPTT0suh0PrmYGi6kgwTssXx5m4/cAPtj8eDJoC9gii4w==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@angular/platform-browser": { - "version": "6.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.0.0-beta.8.tgz", - "integrity": "sha512-VSCjsWEe64oSBA+OxkOr/X2NfBFQmGdqeUAWrtsJgsTQxKMjjZ8SUY+NerF+X3rVI9EfxMsRs2y6iZKeXLJc2A==", + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.0.0-rc.0.tgz", + "integrity": "sha512-ydjCNG18PVXhtBOxJTNJ2/fELT7IDrN7fpUZh5idnyJhevc0hiFSil0PGb1LYnLyXVLLb633R9ZDfuOfrJednA==", "requires": { "tslib": "1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "6.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.0.0-beta.8.tgz", - "integrity": "sha512-/jj7vOCWn0PsaW4jZLmfF8LAyGCwNhPrvGgGlKfMv1feIaMqGwLs7V0FvWWws4uAakWohwocYGpMbY2B5SmfJw==", + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.0.0-rc.0.tgz", + "integrity": "sha512-nQ4yVl+6lifFm246NZgZ0ceZGJtk+4yBRFCLxdIpNVC1NYsfIOtJn0PDpojmiN8lxE1yEpCJLJ2hMSikDGB8Hg==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@angular/platform-server": { - "version": "6.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-6.0.0-beta.8.tgz", - "integrity": "sha512-qH6mdF62YZLKfzQxO0Q/Ah7WfJpS7RlFjlpWxw3qB8lzYfj+Hgjf0Pk76ayFci3aSPBCWwfeBdfRnLNtB9mejA==", + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-6.0.0-rc.0.tgz", + "integrity": "sha512-roJnke7VV4ryR/nsiqyOiV2UzdJnySN2u7lTuniHTKZbCSe9ZNoOT3OJMHhfakMD6hc9/mDIFHTB4ghP4Iw9wA==", "dev": true, "requires": { "domino": "2.0.1", @@ -166,18 +188,18 @@ } }, "@angular/router": { - "version": "6.0.0-beta.7", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.0.0-beta.7.tgz", - "integrity": "sha512-mvm3pNEG04Wz78ocA3uvs/OE83+zlRbKInqbMr6qlJj33j2wSV1Bq6449Jdz65oEdjBxYXFyGEzpueFCHi05tg==", + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.0.0-rc.0.tgz", + "integrity": "sha512-7NZ34xZCEUdiPXaNaa9MeMIsggMW4GjVpiR+T5ZJ5r4Mcv3ltq+4Av+ugO7/hx6QyNMYOX1IJSr4mogp2Wt9Qg==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@angular/upgrade": { - "version": "5.2.9", - "resolved": "https://registry.npmjs.org/@angular/upgrade/-/upgrade-5.2.9.tgz", - "integrity": "sha512-R3LwId5J8ynlzDaeD+SFe1HWuxM0Xqg6Ugl3vzxDWDKuzbFCdEsc2ZvhMpASrfs+JPdazANHoFPLrRaeXulWeQ==", + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@angular/upgrade/-/upgrade-6.0.0-rc.0.tgz", + "integrity": "sha512-AuidWmN1ibVd+23lj6iRuVzm+YrPohC1RveKn5OPq6hGO1bIKC+aq4MdDqYocZHHxTeA+JfC0yspDT3pPXmA7Q==", "dev": true, "requires": { "tslib": "1.9.0" @@ -5163,7 +5185,7 @@ }, "event-stream": { "version": "3.3.4", - "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", "dev": true, "requires": { @@ -5846,6 +5868,23 @@ "sass-lookup": "1.1.0", "stylus-lookup": "1.0.2", "typescript": "2.7.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "fill-range": { @@ -8136,7 +8175,7 @@ "github": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/github/-/github-12.1.0.tgz", - "integrity": "sha1-8qLcvUQReBVZQiV0kaS8CL9mHdc=", + "integrity": "sha512-HhWjhd/OATC4Hjj7xfGjGRtwWzo/fzTc55EkvsRatI9G6Vp47mVcdBIt1lQ56A9Qit/yVQRX1+M9jbWlcJvgug==", "dev": true, "requires": { "dotenv": "4.0.0", @@ -14725,7 +14764,7 @@ }, "onetime": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, @@ -16856,11 +16895,11 @@ "dev": true }, "rxjs": { - "version": "5.5.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.7.tgz", - "integrity": "sha512-Hxo2ac8gRQjwjtKgukMIwBRbq5+KAeEV5hXM4obYBOAghev41bDQWgFH4svYiU9UnQ5kNww2LgfyBdevCd2HXA==", + "version": "6.0.0-beta.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.0.0-beta.1.tgz", + "integrity": "sha512-W5CIv+iYavprY8u5rJiTWTwPscni4XO4y4Xls05Cz6sbizXgN5bJYs07yhfGUC/ebei/VA/j2QDFReALUC658Q==", "requires": { - "symbol-observable": "1.0.1" + "tslib": "1.9.0" } }, "safe-buffer": { @@ -18841,7 +18880,8 @@ "symbol-observable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=" + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true }, "symbol-tree": { "version": "3.2.2", diff --git a/package.json b/package.json index 45605cc4a29..2c960209531 100644 --- a/package.json +++ b/package.json @@ -26,29 +26,29 @@ "node": ">= 5.4.1" }, "dependencies": { - "@angular/animations": "6.0.0-beta.8", - "@angular/common": "6.0.0-beta.8", - "@angular/compiler": "6.0.0-beta.8", - "@angular/core": "6.0.0-beta.8", - "@angular/forms": "6.0.0-beta.8", - "@angular/platform-browser": "6.0.0-beta.8", + "@angular/animations": "6.0.0-rc.0", + "@angular/common": "6.0.0-rc.0", + "@angular/compiler": "6.0.0-rc.0", + "@angular/core": "6.0.0-rc.0", + "@angular/forms": "6.0.0-rc.0", + "@angular/platform-browser": "6.0.0-rc.0", "core-js": "^2.4.1", - "rxjs": "^5.5.7", + "rxjs": "6.0.0-beta.1", "systemjs": "0.19.43", "tsickle": "^0.24.x", - "tslib": "^1.7.1", - "zone.js": "^0.8.12" + "tslib": "^1.9.0", + "zone.js": "^0.8.4" }, "devDependencies": { "@angular-devkit/core": "^0.4.5", "@angular-devkit/schematics": "^0.4.5", "@angular/bazel": "6.0.0-rc.0", "@angular/compiler-cli": "6.0.0-rc.0", - "@angular/http": "6.0.0-beta.8", - "@angular/platform-browser-dynamic": "6.0.0-beta.8", - "@angular/platform-server": "6.0.0-beta.8", - "@angular/router": ">=6.0.0-beta.7 <7.0.0", - "@angular/upgrade": "^5.0.1", + "@angular/http": "6.0.0-rc.0", + "@angular/platform-browser-dynamic": "6.0.0-rc.0", + "@angular/platform-server": "6.0.0-rc.0", + "@angular/router": "6.0.0-rc.0", + "@angular/upgrade": "6.0.0-rc.0", "@bazel/ibazel": "0.3.1", "@google-cloud/storage": "^1.1.1", "@schematics/angular": "^0.4.5", @@ -127,7 +127,7 @@ "tsconfig-paths": "^2.3.0", "tslint": "^5.9.1", "tsutils": "^2.6.0", - "typescript": "~2.7.0", + "typescript": "^2.7.2", "uglify-js": "^2.8.14", "web-animations-js": "^2.2.5" } diff --git a/schematics/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts b/schematics/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts index 7b290c5911c..a39f2aa3af0 100644 --- a/schematics/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +++ b/schematics/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts @@ -1,6 +1,6 @@ import { Component<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core'; import { BreakpointObserver, Breakpoints, BreakpointState } from '@angular/cdk/layout'; -import { Observable } from 'rxjs/Observable'; +import { Observable } from 'rxjs'; @Component({ selector: '<%= selector %>',<% if(inlineTemplate) { %> diff --git a/schematics/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts b/schematics/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts index 1272c9e1b21..0dd30a5ce5d 100644 --- a/schematics/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts +++ b/schematics/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts @@ -1,9 +1,7 @@ -import { merge } from 'rxjs/observable/merge'; -import { of as observableOf } from 'rxjs/observable/of'; import { DataSource } from '@angular/cdk/collections'; import { MatPaginator, MatSort } from '@angular/material'; -import { map } from 'rxjs/operators/map'; -import { Observable } from 'rxjs/Observable'; +import { map } from 'rxjs/operators'; +import { Observable, of as observableOf, merge } from 'rxjs'; // TODO: Replace this with your own data model type export interface <%= classify(name) %>Item { diff --git a/src/cdk-experimental/dialog/dialog-container.ts b/src/cdk-experimental/dialog/dialog-container.ts index c31332fd3c9..97563cc0b3d 100644 --- a/src/cdk-experimental/dialog/dialog-container.ts +++ b/src/cdk-experimental/dialog/dialog-container.ts @@ -29,7 +29,7 @@ import { } from '@angular/cdk/portal'; import {FocusTrapFactory} from '@angular/cdk/a11y'; import {DialogConfig} from './dialog-config'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; export function throwDialogContentAlreadyAttachedError() { diff --git a/src/cdk-experimental/dialog/dialog-ref.ts b/src/cdk-experimental/dialog/dialog-ref.ts index d2da6b3d9b9..39ad2869b11 100644 --- a/src/cdk-experimental/dialog/dialog-ref.ts +++ b/src/cdk-experimental/dialog/dialog-ref.ts @@ -9,9 +9,8 @@ import {OverlayRef, GlobalPositionStrategy, OverlaySizeConfig} from '@angular/cdk/overlay'; import {ESCAPE} from '@angular/cdk/keycodes'; -import {Observable} from 'rxjs/Observable'; -import {map} from 'rxjs/operators/map'; -import {filter} from 'rxjs/operators/filter'; +import {Observable} from 'rxjs'; +import {map, filter} from 'rxjs/operators'; import {DialogPosition} from './dialog-config'; import {CdkDialogContainer} from './dialog-container'; diff --git a/src/cdk-experimental/dialog/dialog.ts b/src/cdk-experimental/dialog/dialog.ts index 12f7e81ac19..b0e6d9c1e52 100644 --- a/src/cdk-experimental/dialog/dialog.ts +++ b/src/cdk-experimental/dialog/dialog.ts @@ -16,13 +16,11 @@ import { ComponentRef } from '@angular/core'; import {ComponentPortal, PortalInjector, TemplatePortal} from '@angular/cdk/portal'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; +import {of as observableOf, Observable, Subject, defer} from 'rxjs'; import {DialogRef} from './dialog-ref'; import {Location} from '@angular/common'; import {DialogConfig} from './dialog-config'; import {Directionality} from '@angular/cdk/bidi'; -import {of as observableOf} from 'rxjs/observable/of'; import {CdkDialogContainer} from './dialog-container'; import { ComponentType, @@ -30,8 +28,7 @@ import { OverlayRef, OverlayConfig, } from '@angular/cdk/overlay'; -import {startWith} from 'rxjs/operators/startWith'; -import {defer} from 'rxjs/observable/defer'; +import {startWith} from 'rxjs/operators'; import { DIALOG_SCROLL_STRATEGY, diff --git a/src/cdk/a11y/BUILD.bazel b/src/cdk/a11y/BUILD.bazel index c673d613245..7d77eae6d19 100644 --- a/src/cdk/a11y/BUILD.bazel +++ b/src/cdk/a11y/BUILD.bazel @@ -47,7 +47,7 @@ ts_web_test( bootstrap = [ "//:web_test_bootstrap_scripts", ], - + tags = ["manual"], # Do not sort deps = [ "//:tslib_bundle", diff --git a/src/cdk/a11y/focus-monitor/focus-monitor.ts b/src/cdk/a11y/focus-monitor/focus-monitor.ts index ff8be7ce142..e0ef27bf4f2 100644 --- a/src/cdk/a11y/focus-monitor/focus-monitor.ts +++ b/src/cdk/a11y/focus-monitor/focus-monitor.ts @@ -18,10 +18,7 @@ import { Output, SkipSelf, } from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {of as observableOf} from 'rxjs/observable/of'; -import {Subject} from 'rxjs/Subject'; -import {Subscription} from 'rxjs/Subscription'; +import {of as observableOf, Observable, Subject, Subscription} from 'rxjs'; // This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found diff --git a/src/cdk/a11y/focus-trap/focus-trap.ts b/src/cdk/a11y/focus-trap/focus-trap.ts index 170f8b621de..c80dc33c2b9 100644 --- a/src/cdk/a11y/focus-trap/focus-trap.ts +++ b/src/cdk/a11y/focus-trap/focus-trap.ts @@ -18,7 +18,7 @@ import { NgZone, OnDestroy, } from '@angular/core'; -import {take} from 'rxjs/operators/take'; +import {take} from 'rxjs/operators'; import {InteractivityChecker} from '../interactivity-checker/interactivity-checker'; diff --git a/src/cdk/a11y/key-manager/list-key-manager.spec.ts b/src/cdk/a11y/key-manager/list-key-manager.spec.ts index 1188467fe95..297f4e85cce 100644 --- a/src/cdk/a11y/key-manager/list-key-manager.spec.ts +++ b/src/cdk/a11y/key-manager/list-key-manager.spec.ts @@ -1,5 +1,5 @@ import {DOWN_ARROW, TAB, UP_ARROW, LEFT_ARROW, RIGHT_ARROW} from '@angular/cdk/keycodes'; -import {take} from 'rxjs/operators/take'; +import {take} from 'rxjs/operators'; import {QueryList} from '@angular/core'; import {fakeAsync, tick} from '@angular/core/testing'; import {createKeyboardEvent} from '@angular/cdk/testing'; @@ -7,7 +7,7 @@ import {ActiveDescendantKeyManager} from './activedescendant-key-manager'; import {FocusKeyManager} from './focus-key-manager'; import {ListKeyManager} from './list-key-manager'; import {FocusOrigin} from '../focus-monitor/focus-monitor'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; class FakeFocusable { diff --git a/src/cdk/a11y/key-manager/list-key-manager.ts b/src/cdk/a11y/key-manager/list-key-manager.ts index 20d5333e7c9..d23f69db9ea 100644 --- a/src/cdk/a11y/key-manager/list-key-manager.ts +++ b/src/cdk/a11y/key-manager/list-key-manager.ts @@ -7,8 +7,7 @@ */ import {QueryList} from '@angular/core'; -import {Subject} from 'rxjs/Subject'; -import {Subscription} from 'rxjs/Subscription'; +import {Subject, Subscription} from 'rxjs'; import { UP_ARROW, DOWN_ARROW, @@ -20,10 +19,7 @@ import { ZERO, NINE, } from '@angular/cdk/keycodes'; -import {debounceTime} from 'rxjs/operators/debounceTime'; -import {filter} from 'rxjs/operators/filter'; -import {map} from 'rxjs/operators/map'; -import {tap} from 'rxjs/operators/tap'; +import {debounceTime, filter, map, tap} from 'rxjs/operators'; /** This interface is for items that can be passed to a ListKeyManager. */ export interface ListKeyManagerOption { diff --git a/src/cdk/accordion/BUILD.bazel b/src/cdk/accordion/BUILD.bazel index 5b6b6001e4d..208d5532cc6 100644 --- a/src/cdk/accordion/BUILD.bazel +++ b/src/cdk/accordion/BUILD.bazel @@ -10,6 +10,7 @@ ng_module( deps = [ "//src/cdk/coercion", "//src/cdk/collections", + "@rxjs", ], tsconfig = "//src/cdk:tsconfig-build.json", ) @@ -28,6 +29,7 @@ ts_library( ts_web_test( name = "unit_tests", bootstrap = ["//:web_test_bootstrap_scripts"], + tags = ["manual"], # Do not sort deps = [ diff --git a/src/cdk/accordion/accordion-item.ts b/src/cdk/accordion/accordion-item.ts index 082f0615f14..7cc72cc2748 100644 --- a/src/cdk/accordion/accordion-item.ts +++ b/src/cdk/accordion/accordion-item.ts @@ -18,7 +18,7 @@ import { import {UniqueSelectionDispatcher} from '@angular/cdk/collections'; import {CdkAccordion} from './accordion'; import {coerceBooleanProperty} from '@angular/cdk/coercion'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; /** Used to generate unique ID for each accordion item. */ let nextId = 0; diff --git a/src/cdk/accordion/accordion.ts b/src/cdk/accordion/accordion.ts index b596a2efb7b..cb35f01536a 100644 --- a/src/cdk/accordion/accordion.ts +++ b/src/cdk/accordion/accordion.ts @@ -8,7 +8,7 @@ import {Directive, Input} from '@angular/core'; import {coerceBooleanProperty} from '@angular/cdk/coercion'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; /** Used to generate unique ID for each accordion. */ let nextId = 0; diff --git a/src/cdk/bidi/BUILD.bazel b/src/cdk/bidi/BUILD.bazel index 0439ace36d0..4b1bfa0cfd0 100644 --- a/src/cdk/bidi/BUILD.bazel +++ b/src/cdk/bidi/BUILD.bazel @@ -27,6 +27,7 @@ ts_web_test( bootstrap = [ "//:web_test_bootstrap_scripts", ], + tags = ["manual"], # Do not sort deps = [ diff --git a/src/cdk/collections/BUILD.bazel b/src/cdk/collections/BUILD.bazel index 7f68d9892a0..b5ac120b036 100644 --- a/src/cdk/collections/BUILD.bazel +++ b/src/cdk/collections/BUILD.bazel @@ -25,6 +25,7 @@ ts_library( ts_web_test( name = "unit_tests", bootstrap = ["//:web_test_bootstrap_scripts"], + tags = ["manual"], # Do not sort deps = [ diff --git a/src/cdk/collections/collection-viewer.ts b/src/cdk/collections/collection-viewer.ts index 63543da18a4..c982971666c 100644 --- a/src/cdk/collections/collection-viewer.ts +++ b/src/cdk/collections/collection-viewer.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; /** * Interface for any component that provides a view of some data collection and wants to provide diff --git a/src/cdk/collections/data-source.ts b/src/cdk/collections/data-source.ts index b872d1c49ce..2dfe47fb214 100644 --- a/src/cdk/collections/data-source.ts +++ b/src/cdk/collections/data-source.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; import {CollectionViewer} from './collection-viewer'; export abstract class DataSource { diff --git a/src/cdk/collections/selection.ts b/src/cdk/collections/selection.ts index 49e8cae22df..d04471d91ec 100644 --- a/src/cdk/collections/selection.ts +++ b/src/cdk/collections/selection.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; /** * Class to be used to power selecting one or more options from a list. diff --git a/src/cdk/layout/BUILD.bazel b/src/cdk/layout/BUILD.bazel index 24f2fde341c..5947ac8b0b5 100644 --- a/src/cdk/layout/BUILD.bazel +++ b/src/cdk/layout/BUILD.bazel @@ -30,6 +30,7 @@ ts_library( ts_web_test( name = "unit_tests", bootstrap = ["//:web_test_bootstrap_scripts"], + tags = ["manual"], # Do not sort deps = [ diff --git a/src/cdk/layout/breakpoints-observer.ts b/src/cdk/layout/breakpoints-observer.ts index c823c11379e..56d3cdffb14 100644 --- a/src/cdk/layout/breakpoints-observer.ts +++ b/src/cdk/layout/breakpoints-observer.ts @@ -7,14 +7,10 @@ */ import {Injectable, NgZone, OnDestroy} from '@angular/core'; import {MediaMatcher} from './media-matcher'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; -import {map} from 'rxjs/operators/map'; -import {startWith} from 'rxjs/operators/startWith'; -import {takeUntil} from 'rxjs/operators/takeUntil'; +import {combineLatest, fromEventPattern, Observable, Subject} from 'rxjs'; +import {map, startWith, takeUntil} from 'rxjs/operators'; import {coerceArray} from '@angular/cdk/coercion'; -import {combineLatest} from 'rxjs/observable/combineLatest'; -import {fromEventPattern} from 'rxjs/observable/fromEventPattern'; + /** The current state of a layout breakpoint. */ export interface BreakpointState { diff --git a/src/cdk/observers/BUILD.bazel b/src/cdk/observers/BUILD.bazel index 6864585d07b..681db453d0c 100644 --- a/src/cdk/observers/BUILD.bazel +++ b/src/cdk/observers/BUILD.bazel @@ -28,6 +28,7 @@ ts_library( ts_web_test( name = "unit_tests", bootstrap = ["//:web_test_bootstrap_scripts"], + tags = ["manual"], # Do not sort deps = [ diff --git a/src/cdk/observers/observe-content.ts b/src/cdk/observers/observe-content.ts index cacbd803db8..2ecd20b1ee4 100644 --- a/src/cdk/observers/observe-content.ts +++ b/src/cdk/observers/observe-content.ts @@ -21,9 +21,8 @@ import { Output, SimpleChanges, } from '@angular/core'; -import {debounceTime} from 'rxjs/operators/debounceTime'; -import {Subject} from 'rxjs/Subject'; - +import {Subject} from 'rxjs'; +import {debounceTime} from 'rxjs/operators'; /** * Factory that creates a new MutationObserver and allows us to stub it out in unit tests. diff --git a/src/cdk/overlay/overlay-directives.ts b/src/cdk/overlay/overlay-directives.ts index a6c0df0c68c..59f95b98394 100644 --- a/src/cdk/overlay/overlay-directives.ts +++ b/src/cdk/overlay/overlay-directives.ts @@ -28,7 +28,7 @@ import { TemplateRef, ViewContainerRef, } from '@angular/core'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; import {Overlay} from './overlay'; import {OverlayConfig} from './overlay-config'; import {OverlayRef} from './overlay-ref'; diff --git a/src/cdk/overlay/overlay-ref.ts b/src/cdk/overlay/overlay-ref.ts index a624ef5fb2c..cd8ff411d41 100644 --- a/src/cdk/overlay/overlay-ref.ts +++ b/src/cdk/overlay/overlay-ref.ts @@ -9,9 +9,8 @@ import {Direction} from '@angular/cdk/bidi'; import {ComponentPortal, Portal, PortalOutlet, TemplatePortal} from '@angular/cdk/portal'; import {ComponentRef, EmbeddedViewRef, NgZone} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {take} from 'rxjs/operators/take'; -import {Subject} from 'rxjs/Subject'; +import {Observable, Subject} from 'rxjs'; +import {take} from 'rxjs/operators'; import {OverlayKeyboardDispatcher} from './keyboard/overlay-keyboard-dispatcher'; import {OverlayConfig} from './overlay-config'; diff --git a/src/cdk/overlay/position/connected-position-strategy.spec.ts b/src/cdk/overlay/position/connected-position-strategy.spec.ts index 746efd9dee1..13fcbbda733 100644 --- a/src/cdk/overlay/position/connected-position-strategy.spec.ts +++ b/src/cdk/overlay/position/connected-position-strategy.spec.ts @@ -1,7 +1,7 @@ import {ElementRef, Component, NgModule, NgZone} from '@angular/core'; import {TestBed, inject} from '@angular/core/testing'; import {CdkScrollable} from '@angular/cdk/scrolling'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; import {ScrollDispatchModule} from '@angular/cdk/scrolling'; import {MockNgZone} from '@angular/cdk/testing'; import {ComponentPortal, PortalModule} from '@angular/cdk/portal'; diff --git a/src/cdk/overlay/position/connected-position-strategy.ts b/src/cdk/overlay/position/connected-position-strategy.ts index 4058d1b0864..8b1a355a246 100644 --- a/src/cdk/overlay/position/connected-position-strategy.ts +++ b/src/cdk/overlay/position/connected-position-strategy.ts @@ -18,7 +18,7 @@ import { validateHorizontalPosition, validateVerticalPosition, } from './connected-position'; -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; import {CdkScrollable} from '@angular/cdk/scrolling'; import {OverlayRef} from '../overlay-ref'; import {FlexibleConnectedPositionStrategy} from './flexible-connected-position-strategy'; diff --git a/src/cdk/overlay/position/flexible-connected-position-strategy.spec.ts b/src/cdk/overlay/position/flexible-connected-position-strategy.spec.ts index dfb3b9131c6..201f68e9fe1 100644 --- a/src/cdk/overlay/position/flexible-connected-position-strategy.spec.ts +++ b/src/cdk/overlay/position/flexible-connected-position-strategy.spec.ts @@ -2,8 +2,8 @@ import {ElementRef, NgModule, Component, NgZone} from '@angular/core'; import {TestBed, inject} from '@angular/core/testing'; import {CdkScrollable} from '@angular/cdk/scrolling'; import {PortalModule, ComponentPortal} from '@angular/cdk/portal'; -import {Subscription} from 'rxjs/Subscription'; -import {map} from 'rxjs/operators/map'; +import {Subscription} from 'rxjs'; +import {map} from 'rxjs/operators'; import {ScrollDispatchModule} from '@angular/cdk/scrolling'; import {MockNgZone} from '@angular/cdk/testing'; import { diff --git a/src/cdk/overlay/position/flexible-connected-position-strategy.ts b/src/cdk/overlay/position/flexible-connected-position-strategy.ts index 9a6513c66cc..dfc26f74b3b 100644 --- a/src/cdk/overlay/position/flexible-connected-position-strategy.ts +++ b/src/cdk/overlay/position/flexible-connected-position-strategy.ts @@ -14,9 +14,7 @@ import { ConnectionPositionPair, ScrollingVisibility, } from './connected-position'; -import {Subject} from 'rxjs/Subject'; -import {Subscription} from 'rxjs/Subscription'; -import {Observable} from 'rxjs/Observable'; +import {Observable, Subscription, Subject} from 'rxjs'; import {OverlayRef} from '../overlay-ref'; import {isElementScrolledOutsideView, isElementClippedByScrolling} from './scroll-clip'; diff --git a/src/cdk/overlay/scroll/close-scroll-strategy.spec.ts b/src/cdk/overlay/scroll/close-scroll-strategy.spec.ts index f98d008cbb4..fd67e147dd7 100644 --- a/src/cdk/overlay/scroll/close-scroll-strategy.spec.ts +++ b/src/cdk/overlay/scroll/close-scroll-strategy.spec.ts @@ -1,6 +1,6 @@ import {inject, TestBed, fakeAsync} from '@angular/core/testing'; import {NgModule, Component, NgZone} from '@angular/core'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; import {ComponentPortal, PortalModule} from '@angular/cdk/portal'; import {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling'; import { diff --git a/src/cdk/overlay/scroll/close-scroll-strategy.ts b/src/cdk/overlay/scroll/close-scroll-strategy.ts index df6c5cbc3ac..d42e7f1ae96 100644 --- a/src/cdk/overlay/scroll/close-scroll-strategy.ts +++ b/src/cdk/overlay/scroll/close-scroll-strategy.ts @@ -8,7 +8,7 @@ import {NgZone} from '@angular/core'; import {ScrollStrategy, getMatScrollStrategyAlreadyAttachedError} from './scroll-strategy'; import {OverlayRef} from '../overlay-ref'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; import {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling'; /** diff --git a/src/cdk/overlay/scroll/reposition-scroll-strategy.spec.ts b/src/cdk/overlay/scroll/reposition-scroll-strategy.spec.ts index 91f7e3a436a..7ac5f6596f2 100644 --- a/src/cdk/overlay/scroll/reposition-scroll-strategy.spec.ts +++ b/src/cdk/overlay/scroll/reposition-scroll-strategy.spec.ts @@ -1,6 +1,6 @@ import {async, inject, TestBed} from '@angular/core/testing'; import {Component, NgModule} from '@angular/core'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; import {ComponentPortal, PortalModule} from '@angular/cdk/portal'; import { Overlay, diff --git a/src/cdk/overlay/scroll/reposition-scroll-strategy.ts b/src/cdk/overlay/scroll/reposition-scroll-strategy.ts index 457f649c284..ea086bba778 100644 --- a/src/cdk/overlay/scroll/reposition-scroll-strategy.ts +++ b/src/cdk/overlay/scroll/reposition-scroll-strategy.ts @@ -7,7 +7,7 @@ */ import {NgZone} from '@angular/core'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; import {ScrollStrategy, getMatScrollStrategyAlreadyAttachedError} from './scroll-strategy'; import {OverlayRef} from '../overlay-ref'; import {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling'; diff --git a/src/cdk/portal/BUILD.bazel b/src/cdk/portal/BUILD.bazel index 1bb6f2bd7ea..db3289aa955 100644 --- a/src/cdk/portal/BUILD.bazel +++ b/src/cdk/portal/BUILD.bazel @@ -25,6 +25,7 @@ ts_library( ts_web_test( name = "unit_tests", bootstrap = ["//:web_test_bootstrap_scripts"], + tags = ["manual"], # Do not sort deps = [ "//:tslib_bundle", diff --git a/src/cdk/scrolling/BUILD.bazel b/src/cdk/scrolling/BUILD.bazel index 45bbde4868e..3a249aeaccf 100644 --- a/src/cdk/scrolling/BUILD.bazel +++ b/src/cdk/scrolling/BUILD.bazel @@ -31,6 +31,7 @@ ts_web_test( bootstrap = [ "//:web_test_bootstrap_scripts", ], + tags = ["manual"], # Do not sort deps = [ diff --git a/src/cdk/scrolling/scroll-dispatcher.ts b/src/cdk/scrolling/scroll-dispatcher.ts index 436a48f5110..36a6b43ce7c 100644 --- a/src/cdk/scrolling/scroll-dispatcher.ts +++ b/src/cdk/scrolling/scroll-dispatcher.ts @@ -15,13 +15,8 @@ import { Optional, SkipSelf, } from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {fromEvent} from 'rxjs/observable/fromEvent'; -import {of as observableOf} from 'rxjs/observable/of'; -import {auditTime} from 'rxjs/operators/auditTime'; -import {filter} from 'rxjs/operators/filter'; -import {Subject} from 'rxjs/Subject'; -import {Subscription} from 'rxjs/Subscription'; +import {fromEvent, of as observableOf, Subject, Subscription, Observable} from 'rxjs'; +import {auditTime, filter} from 'rxjs/operators'; import {CdkScrollable} from './scrollable'; diff --git a/src/cdk/scrolling/scrollable.ts b/src/cdk/scrolling/scrollable.ts index 3d9fb8a6d0b..9a1a24fc8af 100644 --- a/src/cdk/scrolling/scrollable.ts +++ b/src/cdk/scrolling/scrollable.ts @@ -7,8 +7,7 @@ */ import {Directive, ElementRef, OnInit, OnDestroy, NgZone} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; +import {Observable, Subject} from 'rxjs'; import {ScrollDispatcher} from './scroll-dispatcher'; diff --git a/src/cdk/scrolling/viewport-ruler.ts b/src/cdk/scrolling/viewport-ruler.ts index 1200ac3d536..779c9dd9f0d 100644 --- a/src/cdk/scrolling/viewport-ruler.ts +++ b/src/cdk/scrolling/viewport-ruler.ts @@ -8,13 +8,8 @@ import {Platform} from '@angular/cdk/platform'; import {Injectable, NgZone, OnDestroy, Optional, SkipSelf} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {fromEvent} from 'rxjs/observable/fromEvent'; -import {merge} from 'rxjs/observable/merge'; -import {of as observableOf} from 'rxjs/observable/of'; -import {auditTime} from 'rxjs/operators/auditTime'; -import {Subscription} from 'rxjs/Subscription'; - +import {merge, of as observableOf, fromEvent, Observable, Subscription} from 'rxjs'; +import {auditTime} from 'rxjs/operators'; /** Time in ms to throttle the resize events by default. */ export const DEFAULT_RESIZE_TIME = 20; diff --git a/src/cdk/stepper/stepper.ts b/src/cdk/stepper/stepper.ts index 46aa0b7c41d..c7b6b33d8bb 100644 --- a/src/cdk/stepper/stepper.ts +++ b/src/cdk/stepper/stepper.ts @@ -32,9 +32,8 @@ import { ViewEncapsulation, } from '@angular/core'; import {AbstractControl} from '@angular/forms'; -import {Subject} from 'rxjs/Subject'; import {CdkStepLabel} from './step-label'; - +import {Subject} from 'rxjs'; /** Used to generate unique ID for each stepper component. */ let nextId = 0; diff --git a/src/cdk/table/BUILD.bazel b/src/cdk/table/BUILD.bazel index f2e1a3dc540..0d6d285ac4a 100644 --- a/src/cdk/table/BUILD.bazel +++ b/src/cdk/table/BUILD.bazel @@ -29,6 +29,7 @@ ts_library( ts_web_test( name = "unit_tests", bootstrap = ["//:web_test_bootstrap_scripts"], + tags = ["manual"], # Do not sort deps = [ "//:tslib_bundle", diff --git a/src/cdk/table/table.spec.ts b/src/cdk/table/table.spec.ts index ef8b5c5573d..d68fa4a59b8 100644 --- a/src/cdk/table/table.spec.ts +++ b/src/cdk/table/table.spec.ts @@ -1,4 +1,3 @@ -import {ComponentFixture, TestBed} from '@angular/core/testing'; import { Component, ContentChild, @@ -8,12 +7,11 @@ import { ViewChild, Type, } from '@angular/core'; +import {ComponentFixture, TestBed, fakeAsync, flush} from '@angular/core/testing'; import {CdkTable} from './table'; import {CollectionViewer, DataSource} from '@angular/cdk/collections'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {combineLatest} from 'rxjs/observable/combineLatest'; +import {combineLatest, BehaviorSubject, Observable} from 'rxjs'; import {CdkTableModule} from './index'; -import {Observable} from 'rxjs/Observable'; import { getTableDuplicateColumnNameError, getTableMissingMatchingRowDefError, @@ -401,15 +399,25 @@ describe('CdkTable', () => { ]); }); - it('should error if there is row data that does not have a matching row template', () => { - expect(() => createComponent(WhenRowWithoutDefaultCdkTableApp).detectChanges()) - .toThrowError(getTableMissingMatchingRowDefError().message); - }); + it('should error if there is row data that does not have a matching row template', + fakeAsync(() => { + expect(() => { + try { + createComponent(WhenRowWithoutDefaultCdkTableApp).detectChanges(); + flush(); + } catch { + flush(); + } + }).toThrowError(getTableMissingMatchingRowDefError().message); + })); - it('should error if there are multiple rows that do not have a when function', () => { - expect(() => createComponent(WhenRowMultipleDefaultsCdkTableApp).detectChanges()) - .toThrowError(getTableMultipleDefaultRowDefsError().message); - }); + it('should error if there are multiple rows that do not have a when function', fakeAsync(() => { + let whenFixture = createComponent(WhenRowMultipleDefaultsCdkTableApp); + expect(() => { + whenFixture.detectChanges(); + flush(); + }).toThrowError(getTableMultipleDefaultRowDefsError().message); + })); }); it('should use differ to add/remove/move rows', () => { diff --git a/src/cdk/table/table.ts b/src/cdk/table/table.ts index 6603da3e353..15fbb8eaf0f 100644 --- a/src/cdk/table/table.ts +++ b/src/cdk/table/table.ts @@ -31,10 +31,8 @@ import { } from '@angular/core'; import {CollectionViewer, DataSource} from '@angular/cdk/collections'; import {CdkCellOutlet, CdkCellOutletRowContext, CdkHeaderRowDef, CdkRowDef} from './row'; -import {takeUntil} from 'rxjs/operators/takeUntil'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {Subscription} from 'rxjs/Subscription'; -import {Subject} from 'rxjs/Subject'; +import {takeUntil} from 'rxjs/operators'; +import {of as observableOf, BehaviorSubject, Observable, Subscription, Subject} from 'rxjs'; import {CdkCellDef, CdkColumnDef, CdkHeaderCellDef} from './cell'; import { getTableDuplicateColumnNameError, @@ -44,8 +42,6 @@ import { getTableUnknownColumnError, getTableUnknownDataSourceError } from './table-errors'; -import {Observable} from 'rxjs/Observable'; -import {of as observableOf} from 'rxjs/observable/of'; /** * Provides a handle for the table to grab the view container's ng-container to insert data rows. diff --git a/src/cdk/text-field/autofill.spec.ts b/src/cdk/text-field/autofill.spec.ts index d95dfd46170..aa0236faa61 100644 --- a/src/cdk/text-field/autofill.spec.ts +++ b/src/cdk/text-field/autofill.spec.ts @@ -9,7 +9,7 @@ import {supportsPassiveEventListeners} from '@angular/cdk/platform'; import {Component, ElementRef, ViewChild} from '@angular/core'; import {ComponentFixture, inject, TestBed} from '@angular/core/testing'; -import {empty as observableEmpty} from 'rxjs/observable/empty'; +import {empty as observableEmpty} from 'rxjs'; import {AutofillEvent, AutofillMonitor} from './autofill'; import {TextFieldModule} from './text-field-module'; diff --git a/src/cdk/text-field/autofill.ts b/src/cdk/text-field/autofill.ts index 860a290f46e..42cef085f26 100644 --- a/src/cdk/text-field/autofill.ts +++ b/src/cdk/text-field/autofill.ts @@ -17,9 +17,8 @@ import { Output, NgZone, } from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {empty as observableEmpty} from 'rxjs/observable/empty'; -import {Subject} from 'rxjs/Subject'; +import {Observable, Subject} from 'rxjs'; +import {empty as observableEmpty} from 'rxjs'; /** An event that is emitted when the autofill state of an input changes. */ diff --git a/src/cdk/text-field/autosize.ts b/src/cdk/text-field/autosize.ts index 0cc65d9897f..12dcc43676b 100644 --- a/src/cdk/text-field/autosize.ts +++ b/src/cdk/text-field/autosize.ts @@ -16,10 +16,8 @@ import { NgZone, } from '@angular/core'; import {Platform} from '@angular/cdk/platform'; -import {fromEvent} from 'rxjs/observable/fromEvent'; -import {auditTime} from 'rxjs/operators/auditTime'; -import {takeUntil} from 'rxjs/operators/takeUntil'; -import {Subject} from 'rxjs/Subject'; +import {auditTime, takeUntil} from 'rxjs/operators'; +import {fromEvent, Subject} from 'rxjs'; /** Directive to automatically resize a textarea to fit its content. */ diff --git a/src/cdk/tree/control/base-tree-control.ts b/src/cdk/tree/control/base-tree-control.ts index c1c6e0d9612..fd805676c2e 100644 --- a/src/cdk/tree/control/base-tree-control.ts +++ b/src/cdk/tree/control/base-tree-control.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ import {SelectionModel} from '@angular/cdk/collections'; -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; import {TreeControl} from './tree-control'; /** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */ diff --git a/src/cdk/tree/control/nested-tree-control.spec.ts b/src/cdk/tree/control/nested-tree-control.spec.ts index ef60e5ccfa7..3159f39d3b1 100644 --- a/src/cdk/tree/control/nested-tree-control.spec.ts +++ b/src/cdk/tree/control/nested-tree-control.spec.ts @@ -1,4 +1,4 @@ -import {of as observableOf} from 'rxjs/observable/of'; +import {of as observableOf} from 'rxjs'; import {NestedTreeControl} from './nested-tree-control'; diff --git a/src/cdk/tree/control/nested-tree-control.ts b/src/cdk/tree/control/nested-tree-control.ts index bc8dba3b0f4..90bc15b113b 100644 --- a/src/cdk/tree/control/nested-tree-control.ts +++ b/src/cdk/tree/control/nested-tree-control.ts @@ -5,8 +5,8 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import {Observable} from 'rxjs/Observable'; -import {take} from 'rxjs/operators/take'; +import {Observable} from 'rxjs'; +import {take} from 'rxjs/operators'; import {BaseTreeControl} from './base-tree-control'; /** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */ diff --git a/src/cdk/tree/control/tree-control.ts b/src/cdk/tree/control/tree-control.ts index a04e66eb956..f673e15b8f5 100644 --- a/src/cdk/tree/control/tree-control.ts +++ b/src/cdk/tree/control/tree-control.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ import {SelectionModel} from '@angular/cdk/collections'; -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; /** * Tree control interface. User can implement TreeControl to expand/collapse dataNodes in the tree. diff --git a/src/cdk/tree/nested-node.ts b/src/cdk/tree/nested-node.ts index aec4438ccdc..28601bc8045 100644 --- a/src/cdk/tree/nested-node.ts +++ b/src/cdk/tree/nested-node.ts @@ -13,7 +13,7 @@ import { OnDestroy, QueryList, } from '@angular/core'; -import {takeUntil} from 'rxjs/operators/takeUntil'; +import {takeUntil} from 'rxjs/operators'; import {CdkTree, CdkTreeNode} from './tree'; import {CdkTreeNodeOutlet} from './outlet'; diff --git a/src/cdk/tree/padding.ts b/src/cdk/tree/padding.ts index e68d28499b6..0dcbeb1fe7c 100644 --- a/src/cdk/tree/padding.ts +++ b/src/cdk/tree/padding.ts @@ -9,8 +9,8 @@ import {Directionality} from '@angular/cdk/bidi'; import {coerceNumberProperty} from '@angular/cdk/coercion'; import {Directive, ElementRef, Input, OnDestroy, Optional, Renderer2} from '@angular/core'; -import {takeUntil} from 'rxjs/operators/takeUntil'; -import {Subject} from 'rxjs/Subject'; +import {takeUntil} from 'rxjs/operators'; +import {Subject} from 'rxjs'; import {CdkTree, CdkTreeNode} from './tree'; /** diff --git a/src/cdk/tree/tree.spec.ts b/src/cdk/tree/tree.spec.ts index d778b08d3ae..27dbf5203ca 100644 --- a/src/cdk/tree/tree.spec.ts +++ b/src/cdk/tree/tree.spec.ts @@ -5,14 +5,12 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import {ComponentFixture, TestBed} from '@angular/core/testing'; +import {ComponentFixture, TestBed, fakeAsync, flush} from '@angular/core/testing'; import {Component, ViewChild} from '@angular/core'; import {CollectionViewer, DataSource} from '@angular/cdk/collections'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {Observable} from 'rxjs/Observable'; -import {combineLatest} from 'rxjs/observable/combineLatest'; -import {map} from 'rxjs/operators/map'; +import {combineLatest, BehaviorSubject, Observable} from 'rxjs'; +import {map} from 'rxjs/operators'; import {BaseTreeControl} from './control/base-tree-control'; import {TreeControl} from './control/tree-control'; @@ -590,17 +588,29 @@ describe('CdkTree', () => { }); }); - it('should throw an error when missing function in nested tree', () => { + it('should throw an error when missing function in nested tree', fakeAsync(() => { configureCdkTreeTestingModule([NestedCdkErrorTreeApp]); - expect(() => TestBed.createComponent(NestedCdkErrorTreeApp).detectChanges()) - .toThrowError(getTreeControlFunctionsMissingError().message); - }); + expect(() => { + try { + TestBed.createComponent(NestedCdkErrorTreeApp).detectChanges(); + flush(); + } catch { + flush(); + } + }).toThrowError(getTreeControlFunctionsMissingError().message); + })); - it('should throw an error when missing function in flat tree', () => { + it('should throw an error when missing function in flat tree', fakeAsync(() => { configureCdkTreeTestingModule([FlatCdkErrorTreeApp]); - expect(() => TestBed.createComponent(FlatCdkErrorTreeApp).detectChanges()) - .toThrowError(getTreeControlFunctionsMissingError().message); - }); + expect(() => { + try { + TestBed.createComponent(FlatCdkErrorTreeApp).detectChanges(); + flush(); + } catch { + flush(); + } + }).toThrowError(getTreeControlFunctionsMissingError().message); + })); }); }); @@ -640,7 +650,7 @@ class FakeDataSource extends DataSource { connect(collectionViewer: CollectionViewer): Observable { this.isConnected = true; const streams = [this._dataChange, collectionViewer.viewChange]; - return combineLatest<[TestData[]]>(streams) + return combineLatest(streams) .pipe(map(([data]) => { this.treeControl.dataNodes = data; return data; diff --git a/src/cdk/tree/tree.ts b/src/cdk/tree/tree.ts index a2cc663cb68..e9ed76a9014 100644 --- a/src/cdk/tree/tree.ts +++ b/src/cdk/tree/tree.ts @@ -25,12 +25,8 @@ import { ViewContainerRef, ViewEncapsulation } from '@angular/core'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {takeUntil} from 'rxjs/operators/takeUntil'; -import {Observable} from 'rxjs/Observable'; -import {of} from 'rxjs/observable/of'; -import {Subject} from 'rxjs/Subject'; -import {Subscription} from 'rxjs/Subscription'; +import {of, BehaviorSubject, Observable, Subject, Subscription} from 'rxjs'; +import {takeUntil} from 'rxjs/operators'; import {CdkTreeNodeDef, CdkTreeNodeOutletContext} from './node'; import {CdkTreeNodeOutlet} from './outlet'; import {TreeControl} from './control/tree-control'; diff --git a/src/demo-app/a11y/a11y.ts b/src/demo-app/a11y/a11y.ts index 4a8592891fc..72159c30109 100644 --- a/src/demo-app/a11y/a11y.ts +++ b/src/demo-app/a11y/a11y.ts @@ -8,7 +8,7 @@ import {Component, ElementRef, OnDestroy, ViewChild, ViewEncapsulation} from '@angular/core'; import {NavigationEnd, Router} from '@angular/router'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; @Component({ moduleId: module.id, diff --git a/src/demo-app/a11y/table/table-a11y.ts b/src/demo-app/a11y/table/table-a11y.ts index ab7c4880742..fe72b7805ad 100644 --- a/src/demo-app/a11y/table/table-a11y.ts +++ b/src/demo-app/a11y/table/table-a11y.ts @@ -8,11 +8,9 @@ import {Component, ViewChild} from '@angular/core'; import {DataSource} from '@angular/cdk/table'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {Observable} from 'rxjs/Observable'; +import {merge, Observable, BehaviorSubject} from 'rxjs'; import {MatSort, MatPaginator} from '@angular/material'; -import {merge} from 'rxjs/observable/merge'; -import {map} from 'rxjs/operators/map'; +import {map} from 'rxjs/operators'; export interface UserData { name: string; diff --git a/src/demo-app/autocomplete/autocomplete-demo.ts b/src/demo-app/autocomplete/autocomplete-demo.ts index 1115c188a9a..58a9824a858 100644 --- a/src/demo-app/autocomplete/autocomplete-demo.ts +++ b/src/demo-app/autocomplete/autocomplete-demo.ts @@ -8,8 +8,8 @@ import {Component, ViewChild, ViewEncapsulation} from '@angular/core'; import {FormControl, NgModel} from '@angular/forms'; -import {startWith} from 'rxjs/operators/startWith'; -import {map} from 'rxjs/operators/map'; +import {startWith} from 'rxjs/operators'; +import {map} from 'rxjs/operators'; export interface State { code: string; diff --git a/src/demo-app/overlay/overlay-demo.ts b/src/demo-app/overlay/overlay-demo.ts index 1f77b4f7027..23960475d96 100644 --- a/src/demo-app/overlay/overlay-demo.ts +++ b/src/demo-app/overlay/overlay-demo.ts @@ -16,8 +16,8 @@ import { ViewContainerRef, ViewEncapsulation, } from '@angular/core'; -import {filter} from 'rxjs/operators/filter'; -import {tap} from 'rxjs/operators/tap'; +import {filter} from 'rxjs/operators'; +import {tap} from 'rxjs/operators'; @Component({ diff --git a/src/demo-app/screen-type/screen-type-demo.ts b/src/demo-app/screen-type/screen-type-demo.ts index 40491a89a0d..9bc423dfd20 100644 --- a/src/demo-app/screen-type/screen-type-demo.ts +++ b/src/demo-app/screen-type/screen-type-demo.ts @@ -8,7 +8,7 @@ import {Component, ViewEncapsulation} from '@angular/core'; import {BreakpointObserver, BreakpointState, Breakpoints} from '@angular/cdk/layout'; -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; @Component({ moduleId: module.id, diff --git a/src/demo-app/system-config.ts b/src/demo-app/system-config.ts index d5668b7a0d2..d92d5c3683e 100644 --- a/src/demo-app/system-config.ts +++ b/src/demo-app/system-config.ts @@ -99,6 +99,7 @@ System.config({ packages: { // Thirdparty barrels. 'rxjs': {main: 'index'}, + 'rxjs/operators': {main: 'index'}, // Set the default extension for the root package, because otherwise the demo-app can't // be built within the production mode. Due to missing file extensions. diff --git a/src/demo-app/table/data-input-table/data-input-table.ts b/src/demo-app/table/data-input-table/data-input-table.ts index f7d3def888f..da349c3948e 100644 --- a/src/demo-app/table/data-input-table/data-input-table.ts +++ b/src/demo-app/table/data-input-table/data-input-table.ts @@ -10,7 +10,7 @@ import {Component, ViewChild} from '@angular/core'; import {Element, ELEMENT_DATA} from '../element-data'; import {CdkTable} from '@angular/cdk/table'; import {MatRadioChange, MatTable, MatTableDataSource} from '@angular/material'; -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; import {DataSource} from '@angular/cdk/collections'; @Component({ diff --git a/src/demo-app/table/people-database.ts b/src/demo-app/table/people-database.ts index 4234899a549..24af587b260 100644 --- a/src/demo-app/table/people-database.ts +++ b/src/demo-app/table/people-database.ts @@ -9,7 +9,7 @@ import {Injectable} from '@angular/core'; import {NAMES} from '../dataset/names'; import {COLORS} from '../dataset/colors'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; +import {BehaviorSubject} from 'rxjs'; export let LATEST_ID: number = 0; diff --git a/src/demo-app/table/person-data-source.ts b/src/demo-app/table/person-data-source.ts index d8caa57255c..f93616c863b 100644 --- a/src/demo-app/table/person-data-source.ts +++ b/src/demo-app/table/person-data-source.ts @@ -8,10 +8,9 @@ import {MatPaginator, MatSort} from '@angular/material'; import {DataSource} from '@angular/cdk/collections'; -import {Observable} from 'rxjs/Observable'; +import {merge, Observable} from 'rxjs'; import {PeopleDatabase, UserData} from './people-database'; -import {merge} from 'rxjs/observable/merge'; -import {map} from 'rxjs/operators/map'; +import {map} from 'rxjs/operators'; export class PersonDataSource extends DataSource { constructor(private _peopleDatabase: PeopleDatabase, diff --git a/src/demo-app/table/person-detail-data-source.ts b/src/demo-app/table/person-detail-data-source.ts index 78666de2b43..53c857b280d 100644 --- a/src/demo-app/table/person-detail-data-source.ts +++ b/src/demo-app/table/person-detail-data-source.ts @@ -7,9 +7,9 @@ */ import {DataSource} from '@angular/cdk/collections'; -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; import {UserData} from './people-database'; -import {map} from 'rxjs/operators/map'; +import {map} from 'rxjs/operators'; import {PersonDataSource} from './person-data-source'; export interface DetailRow { diff --git a/src/demo-app/table/table-demo.ts b/src/demo-app/table/table-demo.ts index 12c9c0d8650..f04ffb1b778 100644 --- a/src/demo-app/table/table-demo.ts +++ b/src/demo-app/table/table-demo.ts @@ -13,9 +13,9 @@ import {MatPaginator, MatSort, MatTableDataSource, PageEvent} from '@angular/mat import {DetailRow, PersonDetailDataSource} from './person-detail-data-source'; import {animate, state, style, transition, trigger} from '@angular/animations'; import {SelectionModel} from '@angular/cdk/collections'; -import {distinctUntilChanged} from 'rxjs/operators/distinctUntilChanged'; -import {debounceTime} from 'rxjs/operators/debounceTime'; -import {fromEvent} from 'rxjs/observable/fromEvent'; +import {distinctUntilChanged} from 'rxjs/operators'; +import {debounceTime} from 'rxjs/operators'; +import {fromEvent} from 'rxjs'; export type UserProperties = 'userId' | 'userName' | 'progress' | 'color' | undefined; diff --git a/src/demo-app/tabs/tabs-demo.ts b/src/demo-app/tabs/tabs-demo.ts index f6b9712ef6f..59432da5920 100644 --- a/src/demo-app/tabs/tabs-demo.ts +++ b/src/demo-app/tabs/tabs-demo.ts @@ -7,7 +7,7 @@ */ import {Component, ViewEncapsulation} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; @Component({ moduleId: module.id, diff --git a/src/demo-app/tree/checklist-tree-demo/checklist-database.ts b/src/demo-app/tree/checklist-tree-demo/checklist-database.ts index 4f44a2ca50d..607826f86db 100644 --- a/src/demo-app/tree/checklist-tree-demo/checklist-database.ts +++ b/src/demo-app/tree/checklist-tree-demo/checklist-database.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ import {Injectable} from '@angular/core'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; +import {BehaviorSubject} from 'rxjs'; /** * Node for to-do item diff --git a/src/demo-app/tree/checklist-tree-demo/checklist-tree-demo.ts b/src/demo-app/tree/checklist-tree-demo/checklist-tree-demo.ts index 414f6f0c899..e78edc119e2 100644 --- a/src/demo-app/tree/checklist-tree-demo/checklist-tree-demo.ts +++ b/src/demo-app/tree/checklist-tree-demo/checklist-tree-demo.ts @@ -10,8 +10,8 @@ import {Component} from '@angular/core'; import {SelectionModel} from '@angular/cdk/collections'; import {FlatTreeControl} from '@angular/cdk/tree'; import {MatTreeFlattener, MatTreeFlatDataSource} from '@angular/material/tree'; -import {of as ofObservable} from 'rxjs/observable/of'; -import {Observable} from 'rxjs/Observable'; +import {of as ofObservable} from 'rxjs'; +import {Observable} from 'rxjs'; import {TodoItemNode, TodoItemFlatNode, ChecklistDatabase} from './checklist-database'; /** diff --git a/src/demo-app/tree/dynamic-tree-demo/dynamic-database.ts b/src/demo-app/tree/dynamic-tree-demo/dynamic-database.ts index ab0c8320291..918753d4f68 100644 --- a/src/demo-app/tree/dynamic-tree-demo/dynamic-database.ts +++ b/src/demo-app/tree/dynamic-tree-demo/dynamic-database.ts @@ -8,10 +8,10 @@ import {Injectable} from '@angular/core'; import {FlatTreeControl} from '@angular/cdk/tree'; import {CollectionViewer, SelectionChange} from '@angular/cdk/collections'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {Observable} from 'rxjs/Observable'; -import {merge} from 'rxjs/observable/merge'; -import {map} from 'rxjs/operators/map'; +import {BehaviorSubject} from 'rxjs'; +import {Observable} from 'rxjs'; +import {merge} from 'rxjs'; +import {map} from 'rxjs/operators'; /** Flat node with expandable and level information */ export class DynamicFlatNode { diff --git a/src/demo-app/tree/file-database.ts b/src/demo-app/tree/file-database.ts index d8388614450..5a0d7ea75c6 100644 --- a/src/demo-app/tree/file-database.ts +++ b/src/demo-app/tree/file-database.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ import {Injectable} from '@angular/core'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; +import {BehaviorSubject} from 'rxjs'; /** * File node data with nested structure. diff --git a/src/demo-app/tree/loadmore-tree-demo/loadmore-database.ts b/src/demo-app/tree/loadmore-tree-demo/loadmore-database.ts index 39802fe9668..d6a523767df 100644 --- a/src/demo-app/tree/loadmore-tree-demo/loadmore-database.ts +++ b/src/demo-app/tree/loadmore-tree-demo/loadmore-database.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ import {Injectable} from '@angular/core'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; +import {BehaviorSubject} from 'rxjs'; const LOAD_MORE = 'LOAD_MORE'; diff --git a/src/demo-app/tree/loadmore-tree-demo/loadmore-tree-demo.ts b/src/demo-app/tree/loadmore-tree-demo/loadmore-tree-demo.ts index cfb69eac996..251dd961b23 100644 --- a/src/demo-app/tree/loadmore-tree-demo/loadmore-tree-demo.ts +++ b/src/demo-app/tree/loadmore-tree-demo/loadmore-tree-demo.ts @@ -9,7 +9,7 @@ import {Component} from '@angular/core'; import {FlatTreeControl} from '@angular/cdk/tree'; import {MatTreeFlatDataSource, MatTreeFlattener} from '@angular/material/tree'; -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; import {LoadmoreNode, LoadmoreFlatNode, LoadmoreDatabase} from './loadmore-database'; const LOAD_MORE = 'LOAD_MORE'; diff --git a/src/demo-app/tree/tree-demo.ts b/src/demo-app/tree/tree-demo.ts index 720e92862c1..4af5ff58292 100644 --- a/src/demo-app/tree/tree-demo.ts +++ b/src/demo-app/tree/tree-demo.ts @@ -13,8 +13,8 @@ import { MatTreeFlatDataSource, MatTreeNestedDataSource } from '@angular/material/tree'; -import {of as ofObservable} from 'rxjs/observable/of'; -import {Observable} from 'rxjs/Observable'; +import {of as ofObservable} from 'rxjs'; +import {Observable} from 'rxjs'; import {FileNode, FileFlatNode, FileDatabase} from './file-database'; diff --git a/src/e2e-app/system-config.ts b/src/e2e-app/system-config.ts index 2c794dad031..2b0687889a8 100644 --- a/src/e2e-app/system-config.ts +++ b/src/e2e-app/system-config.ts @@ -90,6 +90,7 @@ System.config({ packages: { // Thirdparty barrels. 'rxjs': {main: 'index'}, + 'rxjs/operators': {main: 'index'}, // Set the default extension for the root package, because otherwise the demo-app can't // be built within the production mode. Due to missing file extensions. diff --git a/src/lib/autocomplete/autocomplete-trigger.ts b/src/lib/autocomplete/autocomplete-trigger.ts index 8a94797c2db..8ccea2c9134 100644 --- a/src/lib/autocomplete/autocomplete-trigger.ts +++ b/src/lib/autocomplete/autocomplete-trigger.ts @@ -17,6 +17,7 @@ import { } from '@angular/cdk/overlay'; import {TemplatePortal} from '@angular/cdk/portal'; import {DOCUMENT} from '@angular/common'; +import {filter, take, switchMap, delay, tap} from 'rxjs/operators'; import { ChangeDetectorRef, Directive, @@ -40,18 +41,7 @@ import { MatOptionSelectionChange, } from '@angular/material/core'; import {MatFormField} from '@angular/material/form-field'; -import {Observable} from 'rxjs/Observable'; -import {defer} from 'rxjs/observable/defer'; -import {fromEvent} from 'rxjs/observable/fromEvent'; -import {merge} from 'rxjs/observable/merge'; -import {of as observableOf} from 'rxjs/observable/of'; -import {delay} from 'rxjs/operators/delay'; -import {filter} from 'rxjs/operators/filter'; -import {switchMap} from 'rxjs/operators/switchMap'; -import {take} from 'rxjs/operators/take'; -import {tap} from 'rxjs/operators/tap'; -import {Subject} from 'rxjs/Subject'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription, defer, fromEvent, merge, of as observableOf, Subject, Observable} from 'rxjs'; import {MatAutocomplete} from './autocomplete'; diff --git a/src/lib/autocomplete/autocomplete.spec.ts b/src/lib/autocomplete/autocomplete.spec.ts index 763e39c77ec..d9857693302 100644 --- a/src/lib/autocomplete/autocomplete.spec.ts +++ b/src/lib/autocomplete/autocomplete.spec.ts @@ -1,8 +1,8 @@ import {Directionality} from '@angular/cdk/bidi'; import {DOWN_ARROW, ENTER, ESCAPE, SPACE, UP_ARROW, TAB} from '@angular/cdk/keycodes'; import {OverlayContainer, Overlay} from '@angular/cdk/overlay'; -import {map} from 'rxjs/operators/map'; -import {startWith} from 'rxjs/operators/startWith'; +import {map} from 'rxjs/operators'; +import {startWith} from 'rxjs/operators'; import {ScrollDispatcher} from '@angular/cdk/scrolling'; import { createKeyboardEvent, @@ -36,9 +36,9 @@ import {MatOption, MatOptionSelectionChange} from '@angular/material/core'; import {MatFormField, MatFormFieldModule} from '@angular/material/form-field'; import {By} from '@angular/platform-browser'; import {NoopAnimationsModule} from '@angular/platform-browser/animations'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; -import {Subscription} from 'rxjs/Subscription'; +import {Observable} from 'rxjs'; +import {Subject} from 'rxjs'; +import {Subscription} from 'rxjs'; import {MatInputModule} from '../input/index'; import { getMatAutocompleteMissingPanelError, diff --git a/src/lib/bottom-sheet/bottom-sheet-container.ts b/src/lib/bottom-sheet/bottom-sheet-container.ts index e9255b4d3f0..aab2a3da608 100644 --- a/src/lib/bottom-sheet/bottom-sheet-container.ts +++ b/src/lib/bottom-sheet/bottom-sheet-container.ts @@ -30,7 +30,7 @@ import { import {BreakpointObserver, Breakpoints} from '@angular/cdk/layout'; import {MatBottomSheetConfig} from './bottom-sheet-config'; import {matBottomSheetAnimations} from './bottom-sheet-animations'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; import {DOCUMENT} from '@angular/common'; import {FocusTrap, FocusTrapFactory} from '@angular/cdk/a11y'; diff --git a/src/lib/bottom-sheet/bottom-sheet-ref.ts b/src/lib/bottom-sheet/bottom-sheet-ref.ts index 9337aad2081..375015d9c3b 100644 --- a/src/lib/bottom-sheet/bottom-sheet-ref.ts +++ b/src/lib/bottom-sheet/bottom-sheet-ref.ts @@ -8,11 +8,11 @@ import {OverlayRef} from '@angular/cdk/overlay'; import {ESCAPE} from '@angular/cdk/keycodes'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; -import {merge} from 'rxjs/observable/merge'; -import {filter} from 'rxjs/operators/filter'; -import {take} from 'rxjs/operators/take'; +import {Observable} from 'rxjs'; +import {Subject} from 'rxjs'; +import {merge} from 'rxjs'; +import {filter} from 'rxjs/operators'; +import {take} from 'rxjs/operators'; import {MatBottomSheetContainer} from './bottom-sheet-container'; /** diff --git a/src/lib/bottom-sheet/bottom-sheet.ts b/src/lib/bottom-sheet/bottom-sheet.ts index 9fbdaa883e4..84171e1bafd 100644 --- a/src/lib/bottom-sheet/bottom-sheet.ts +++ b/src/lib/bottom-sheet/bottom-sheet.ts @@ -12,7 +12,7 @@ import {ComponentRef, TemplateRef, Injectable, Injector, Optional, SkipSelf} fro import {MatBottomSheetConfig, MAT_BOTTOM_SHEET_DATA} from './bottom-sheet-config'; import {MatBottomSheetRef} from './bottom-sheet-ref'; import {MatBottomSheetContainer} from './bottom-sheet-container'; -import {of as observableOf} from 'rxjs/observable/of'; +import {of as observableOf} from 'rxjs'; import {Directionality} from '@angular/cdk/bidi'; /** diff --git a/src/lib/chips/chip-list.ts b/src/lib/chips/chip-list.ts index c48e3a2a12e..7c998af787e 100644 --- a/src/lib/chips/chip-list.ts +++ b/src/lib/chips/chip-list.ts @@ -32,10 +32,10 @@ import { import {ControlValueAccessor, FormGroupDirective, NgControl, NgForm} from '@angular/forms'; import {CanUpdateErrorState, ErrorStateMatcher, mixinErrorState} from '@angular/material/core'; import {MatFormFieldControl} from '@angular/material/form-field'; -import {Observable} from 'rxjs/Observable'; -import {merge} from 'rxjs/observable/merge'; -import {startWith} from 'rxjs/operators/startWith'; -import {Subscription} from 'rxjs/Subscription'; +import {Observable} from 'rxjs'; +import {merge} from 'rxjs'; +import {startWith} from 'rxjs/operators'; +import {Subscription} from 'rxjs'; import {MatChip, MatChipEvent, MatChipSelectionChange} from './chip'; import {MatChipInput} from './chip-input'; diff --git a/src/lib/chips/chip.ts b/src/lib/chips/chip.ts index c3f0714d8ed..5d257bfdc21 100644 --- a/src/lib/chips/chip.ts +++ b/src/lib/chips/chip.ts @@ -36,7 +36,7 @@ import { RippleRenderer, RippleTarget } from '@angular/material/core'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; /** Represents an event fired on an individual `mat-chip`. */ diff --git a/src/lib/core/common-behaviors/error-state.ts b/src/lib/core/common-behaviors/error-state.ts index b93690f2236..5d9bbae18a0 100644 --- a/src/lib/core/common-behaviors/error-state.ts +++ b/src/lib/core/common-behaviors/error-state.ts @@ -9,7 +9,7 @@ import {Constructor} from './constructor'; import {ErrorStateMatcher} from '../error/error-options'; import {FormControl, FormGroupDirective, NgControl, NgForm} from '@angular/forms'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; /** @docs-private */ export interface CanUpdateErrorState { diff --git a/src/lib/core/common-behaviors/initialized.ts b/src/lib/core/common-behaviors/initialized.ts index 166e08ed4c6..b3b15f1599b 100644 --- a/src/lib/core/common-behaviors/initialized.ts +++ b/src/lib/core/common-behaviors/initialized.ts @@ -7,8 +7,8 @@ */ import {Constructor} from './constructor'; -import {Observable} from 'rxjs/Observable'; -import {Subscriber} from 'rxjs/Subscriber'; +import {Observable} from 'rxjs'; +import {Subscriber} from 'rxjs'; /** * Mixin that adds an initialized property to a directive which, when subscribed to, will emit a diff --git a/src/lib/core/datetime/date-adapter.ts b/src/lib/core/datetime/date-adapter.ts index 3072992c263..1c8083bae94 100644 --- a/src/lib/core/datetime/date-adapter.ts +++ b/src/lib/core/datetime/date-adapter.ts @@ -7,8 +7,7 @@ */ import {inject, InjectionToken, LOCALE_ID} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; +import {Observable, Subject} from 'rxjs'; /** InjectionToken for datepicker that can be used to override default locale code. */ diff --git a/src/lib/core/option/option.ts b/src/lib/core/option/option.ts index b743aaf254b..38dd8e5f61b 100644 --- a/src/lib/core/option/option.ts +++ b/src/lib/core/option/option.ts @@ -8,7 +8,7 @@ import {coerceBooleanProperty} from '@angular/cdk/coercion'; import {ENTER, SPACE} from '@angular/cdk/keycodes'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; import { ChangeDetectionStrategy, ChangeDetectorRef, diff --git a/src/lib/datepicker/calendar-body.ts b/src/lib/datepicker/calendar-body.ts index 6e6ff27e310..c81b5a53726 100644 --- a/src/lib/datepicker/calendar-body.ts +++ b/src/lib/datepicker/calendar-body.ts @@ -16,7 +16,7 @@ import { ViewEncapsulation, NgZone, } from '@angular/core'; -import {take} from 'rxjs/operators/take'; +import {take} from 'rxjs/operators'; /** * An internal class that represents the data corresponding to a single calendar cell. diff --git a/src/lib/datepicker/calendar.ts b/src/lib/datepicker/calendar.ts index 966718f193e..9472ea63dd0 100644 --- a/src/lib/datepicker/calendar.ts +++ b/src/lib/datepicker/calendar.ts @@ -26,10 +26,8 @@ import { ViewEncapsulation, } from '@angular/core'; import {DateAdapter, MAT_DATE_FORMATS, MatDateFormats} from '@angular/material/core'; -import {Observable} from 'rxjs/Observable'; -import {takeUntil} from 'rxjs/operators/takeUntil'; -import {Subject} from 'rxjs/Subject'; -import {Subscription} from 'rxjs/Subscription'; +import {takeUntil} from 'rxjs/operators'; +import {Observable, Subject, Subscription} from 'rxjs'; import {createMissingDateImplError} from './datepicker-errors'; import {MatDatepickerIntl} from './datepicker-intl'; import {MatMonthView} from './month-view'; diff --git a/src/lib/datepicker/datepicker-input.ts b/src/lib/datepicker/datepicker-input.ts index f9e2ff231e9..f3fb60661e6 100644 --- a/src/lib/datepicker/datepicker-input.ts +++ b/src/lib/datepicker/datepicker-input.ts @@ -33,7 +33,7 @@ import { import {DateAdapter, MAT_DATE_FORMATS, MatDateFormats} from '@angular/material/core'; import {MatFormField} from '@angular/material/form-field'; import {MAT_INPUT_VALUE_ACCESSOR} from '@angular/material/input'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; import {MatDatepicker} from './datepicker'; import {createMissingDateImplError} from './datepicker-errors'; diff --git a/src/lib/datepicker/datepicker-intl.ts b/src/lib/datepicker/datepicker-intl.ts index 6f5a203160f..d2cdc9fbfb7 100644 --- a/src/lib/datepicker/datepicker-intl.ts +++ b/src/lib/datepicker/datepicker-intl.ts @@ -7,7 +7,7 @@ */ import {Injectable} from '@angular/core'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; /** Datepicker data that requires internationalization. */ diff --git a/src/lib/datepicker/datepicker-toggle.ts b/src/lib/datepicker/datepicker-toggle.ts index 3adf32c2339..0da1616c403 100644 --- a/src/lib/datepicker/datepicker-toggle.ts +++ b/src/lib/datepicker/datepicker-toggle.ts @@ -20,9 +20,9 @@ import { Directive, ContentChild, } from '@angular/core'; -import {merge} from 'rxjs/observable/merge'; -import {of as observableOf} from 'rxjs/observable/of'; -import {Subscription} from 'rxjs/Subscription'; +import {merge} from 'rxjs'; +import {of as observableOf} from 'rxjs'; +import {Subscription} from 'rxjs'; import {MatDatepicker} from './datepicker'; import {MatDatepickerIntl} from './datepicker-intl'; diff --git a/src/lib/datepicker/datepicker.spec.ts b/src/lib/datepicker/datepicker.spec.ts index 370718c8ce4..cb461495c1e 100644 --- a/src/lib/datepicker/datepicker.spec.ts +++ b/src/lib/datepicker/datepicker.spec.ts @@ -17,12 +17,12 @@ import { import {MatFormField, MatFormFieldModule} from '@angular/material/form-field'; import {By} from '@angular/platform-browser'; import {NoopAnimationsModule} from '@angular/platform-browser/animations'; -import {Subject} from 'rxjs/Subject'; import {MatInputModule} from '../input/index'; import {MatDatepicker} from './datepicker'; import {MatDatepickerInput} from './datepicker-input'; import {MatDatepickerToggle} from './datepicker-toggle'; import {MAT_DATEPICKER_SCROLL_STRATEGY, MatDatepickerIntl, MatDatepickerModule} from './index'; +import {Subject} from 'rxjs'; describe('MatDatepicker', () => { const SUPPORTS_INTL = typeof Intl != 'undefined'; diff --git a/src/lib/datepicker/datepicker.ts b/src/lib/datepicker/datepicker.ts index 036bb17701d..295ed8fdf5f 100644 --- a/src/lib/datepicker/datepicker.ts +++ b/src/lib/datepicker/datepicker.ts @@ -19,6 +19,7 @@ import { } from '@angular/cdk/overlay'; import {ComponentPortal, ComponentType} from '@angular/cdk/portal'; import {DOCUMENT} from '@angular/common'; +import {take, filter} from 'rxjs/operators'; import { AfterContentInit, ChangeDetectionStrategy, @@ -42,15 +43,11 @@ import { } from '@angular/core'; import {CanColor, DateAdapter, mixinColor, ThemePalette} from '@angular/material/core'; import {MatDialog, MatDialogRef} from '@angular/material/dialog'; -import {merge} from 'rxjs/observable/merge'; -import {filter} from 'rxjs/operators/filter'; -import {take} from 'rxjs/operators/take'; -import {Subject} from 'rxjs/Subject'; -import {Subscription} from 'rxjs/Subscription'; -import {MatCalendar} from './calendar'; -import {matDatepickerAnimations} from './datepicker-animations'; +import {merge, Subject, Subscription} from 'rxjs'; import {createMissingDateImplError} from './datepicker-errors'; import {MatDatepickerInput} from './datepicker-input'; +import {MatCalendar} from './calendar'; +import {matDatepickerAnimations} from './datepicker-animations'; /** Used to generate a unique ID for each datepicker instance. */ let datepickerUid = 0; diff --git a/src/lib/dialog/dialog-ref.ts b/src/lib/dialog/dialog-ref.ts index 4faa4692f32..e9138616d23 100644 --- a/src/lib/dialog/dialog-ref.ts +++ b/src/lib/dialog/dialog-ref.ts @@ -9,12 +9,12 @@ import {OverlayRef, GlobalPositionStrategy} from '@angular/cdk/overlay'; import {ESCAPE} from '@angular/cdk/keycodes'; import {Location} from '@angular/common'; -import {filter} from 'rxjs/operators/filter'; -import {take} from 'rxjs/operators/take'; +import {filter} from 'rxjs/operators'; +import {take} from 'rxjs/operators'; import {DialogPosition} from './dialog-config'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; -import {Subscription, ISubscription} from 'rxjs/Subscription'; +import {Observable, SubscriptionLike} from 'rxjs'; +import {Subject} from 'rxjs'; +import {Subscription} from 'rxjs'; import {MatDialogContainer} from './dialog-container'; @@ -46,7 +46,7 @@ export class MatDialogRef { private _result: R | undefined; /** Subscription to changes in the user's location. */ - private _locationChanges: ISubscription = Subscription.EMPTY; + private _locationChanges: SubscriptionLike = Subscription.EMPTY; constructor( private _overlayRef: OverlayRef, diff --git a/src/lib/dialog/dialog.ts b/src/lib/dialog/dialog.ts index d8ff59f0729..844a2974ea1 100644 --- a/src/lib/dialog/dialog.ts +++ b/src/lib/dialog/dialog.ts @@ -27,11 +27,11 @@ import { SkipSelf, TemplateRef, } from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {defer} from 'rxjs/observable/defer'; -import {of as observableOf} from 'rxjs/observable/of'; -import {startWith} from 'rxjs/operators/startWith'; -import {Subject} from 'rxjs/Subject'; +import {Observable} from 'rxjs'; +import {defer} from 'rxjs'; +import {of as observableOf} from 'rxjs'; +import {startWith} from 'rxjs/operators'; +import {Subject} from 'rxjs'; import {MatDialogConfig} from './dialog-config'; import {MatDialogContainer} from './dialog-container'; import {MatDialogRef} from './dialog-ref'; diff --git a/src/lib/expansion/expansion-panel-header.ts b/src/lib/expansion/expansion-panel-header.ts index 7ea173da63a..2d9fc2bd67c 100644 --- a/src/lib/expansion/expansion-panel-header.ts +++ b/src/lib/expansion/expansion-panel-header.ts @@ -8,7 +8,7 @@ import {FocusMonitor} from '@angular/cdk/a11y'; import {ENTER, SPACE} from '@angular/cdk/keycodes'; -import {filter} from 'rxjs/operators/filter'; +import {filter} from 'rxjs/operators'; import { ChangeDetectionStrategy, ChangeDetectorRef, @@ -20,8 +20,8 @@ import { OnDestroy, ViewEncapsulation, } from '@angular/core'; -import {merge} from 'rxjs/observable/merge'; -import {Subscription} from 'rxjs/Subscription'; +import {merge} from 'rxjs'; +import {Subscription} from 'rxjs'; import {MatExpansionPanel} from './expansion-panel'; import {matExpansionAnimations} from './expansion-animations'; diff --git a/src/lib/expansion/expansion-panel.ts b/src/lib/expansion/expansion-panel.ts index fd1e4d9caee..e0ac8d492ee 100644 --- a/src/lib/expansion/expansion-panel.ts +++ b/src/lib/expansion/expansion-panel.ts @@ -26,10 +26,10 @@ import { import {CdkAccordionItem} from '@angular/cdk/accordion'; import {UniqueSelectionDispatcher} from '@angular/cdk/collections'; import {TemplatePortal} from '@angular/cdk/portal'; -import {Subject} from 'rxjs/Subject'; -import {take} from 'rxjs/operators/take'; -import {filter} from 'rxjs/operators/filter'; -import {startWith} from 'rxjs/operators/startWith'; +import {Subject} from 'rxjs'; +import {take} from 'rxjs/operators'; +import {filter} from 'rxjs/operators'; +import {startWith} from 'rxjs/operators'; import {MatAccordion} from './accordion'; import {coerceBooleanProperty} from '@angular/cdk/coercion'; import {MatExpansionPanelContent} from './expansion-panel-content'; diff --git a/src/lib/form-field/form-field-control.ts b/src/lib/form-field/form-field-control.ts index a2a0a81e81b..ccded2e9923 100644 --- a/src/lib/form-field/form-field-control.ts +++ b/src/lib/form-field/form-field-control.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; import {NgControl} from '@angular/forms'; diff --git a/src/lib/form-field/form-field.ts b/src/lib/form-field/form-field.ts index cb6b3e4940f..e70a89a2b0f 100644 --- a/src/lib/form-field/form-field.ts +++ b/src/lib/form-field/form-field.ts @@ -33,9 +33,9 @@ import { MAT_LABEL_GLOBAL_OPTIONS, mixinColor, } from '@angular/material/core'; -import {fromEvent} from 'rxjs/observable/fromEvent'; -import {startWith} from 'rxjs/operators/startWith'; -import {take} from 'rxjs/operators/take'; +import {fromEvent} from 'rxjs'; +import {startWith} from 'rxjs/operators'; +import {take} from 'rxjs/operators'; import {MatError} from './error'; import {matFormFieldAnimations} from './form-field-animations'; import {MatFormFieldControl} from './form-field-control'; diff --git a/src/lib/icon/icon-registry.ts b/src/lib/icon/icon-registry.ts index 25bb0f7edc3..5049243508b 100644 --- a/src/lib/icon/icon-registry.ts +++ b/src/lib/icon/icon-registry.ts @@ -6,11 +6,11 @@ * found in the LICENSE file at https://angular.io/license */ -import {catchError} from 'rxjs/operators/catchError'; -import {tap} from 'rxjs/operators/tap'; -import {finalize} from 'rxjs/operators/finalize'; -import {map} from 'rxjs/operators/map'; -import {share} from 'rxjs/operators/share'; +import {catchError} from 'rxjs/operators'; +import {tap} from 'rxjs/operators'; +import {finalize} from 'rxjs/operators'; +import {map} from 'rxjs/operators'; +import {share} from 'rxjs/operators'; import { Injectable, Inject, @@ -21,10 +21,10 @@ import { } from '@angular/core'; import {HttpClient} from '@angular/common/http'; import {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser'; -import {Observable} from 'rxjs/Observable'; -import {forkJoin} from 'rxjs/observable/forkJoin'; -import {of as observableOf} from 'rxjs/observable/of'; -import {_throw as observableThrow} from 'rxjs/observable/throw'; +import {Observable} from 'rxjs'; +import {forkJoin} from 'rxjs'; +import {of as observableOf} from 'rxjs'; +import {throwError as observableThrow} from 'rxjs'; import {DOCUMENT} from '@angular/common'; diff --git a/src/lib/icon/icon.ts b/src/lib/icon/icon.ts index 0b839eb4a26..996a6f67a83 100644 --- a/src/lib/icon/icon.ts +++ b/src/lib/icon/icon.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {take} from 'rxjs/operators/take'; +import {take} from 'rxjs/operators'; import { Attribute, ChangeDetectionStrategy, diff --git a/src/lib/input/input.spec.ts b/src/lib/input/input.spec.ts index 476696f63b3..8e2d77bb5e9 100644 --- a/src/lib/input/input.spec.ts +++ b/src/lib/input/input.spec.ts @@ -270,30 +270,51 @@ describe('MatInput without forms', () => { const labelElement: HTMLInputElement = fixture.debugElement.query(By.css('label')).nativeElement; - expect(inputElement.id).toBe('test-id'); - expect(labelElement.getAttribute('for')).toBe('test-id'); - })); + expect(inputElement.id).toBe('test-id'); + expect(labelElement.getAttribute('for')).toBe('test-id'); + })); - it('validates there\'s only one hint label per side', fakeAsync(() => { - let fixture = TestBed.createComponent(MatInputInvalidHintTestController); + it('validates there\'s only one hint label per side', fakeAsync(() => { + let fixture = TestBed.createComponent(MatInputInvalidHintTestController); - expect(() => fixture.detectChanges()).toThrowError( - wrappedErrorMessage(getMatFormFieldDuplicatedHintError('start'))); - })); + expect(() => { + try { + fixture.detectChanges(); + flush(); + } catch { + flush(); + } + }).toThrowError( + wrappedErrorMessage(getMatFormFieldDuplicatedHintError('start'))); + })); - it('validates there\'s only one hint label per side (attribute)', fakeAsync(() => { - let fixture = TestBed.createComponent(MatInputInvalidHint2TestController); + it('validates there\'s only one hint label per side (attribute)', fakeAsync(() => { + let fixture = TestBed.createComponent(MatInputInvalidHint2TestController); - expect(() => fixture.detectChanges()).toThrowError( - wrappedErrorMessage(getMatFormFieldDuplicatedHintError('start'))); - })); + expect(() => { + try { + fixture.detectChanges(); + flush(); + } catch { + flush(); + } + }).toThrowError( + wrappedErrorMessage(getMatFormFieldDuplicatedHintError('start'))); + })); - it('validates there\'s only one placeholder', fakeAsync(() => { - let fixture = TestBed.createComponent(MatInputInvalidPlaceholderTestController); + it('validates there\'s only one placeholder', fakeAsync(() => { + let fixture = TestBed.createComponent(MatInputInvalidPlaceholderTestController); - expect(() => fixture.detectChanges()).toThrowError( - wrappedErrorMessage(getMatFormFieldPlaceholderConflictError())); - })); + expect(() => { + try { + fixture.detectChanges(); + flush(); + } catch { + flush(); + } + }).toThrowError( + wrappedErrorMessage(getMatFormFieldPlaceholderConflictError())); + })); it('validates that matInput child is present', fakeAsync(() => { let fixture = TestBed.createComponent(MatInputMissingMatInputTestController); diff --git a/src/lib/input/input.ts b/src/lib/input/input.ts index af144ed38a5..bbbcf7d1eac 100644 --- a/src/lib/input/input.ts +++ b/src/lib/input/input.ts @@ -23,7 +23,7 @@ import { import {FormGroupDirective, NgControl, NgForm} from '@angular/forms'; import {CanUpdateErrorState, ErrorStateMatcher, mixinErrorState} from '@angular/material/core'; import {MatFormFieldControl} from '@angular/material/form-field'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; import {AutofillMonitor} from '@angular/cdk/text-field'; import {getMatInputUnsupportedTypeError} from './input-errors'; import {MAT_INPUT_VALUE_ACCESSOR} from './input-value-accessor'; diff --git a/src/lib/list/selection-list.ts b/src/lib/list/selection-list.ts index 45c31ca99a8..e46895f219f 100644 --- a/src/lib/list/selection-list.ts +++ b/src/lib/list/selection-list.ts @@ -38,7 +38,7 @@ import { mixinDisableRipple, } from '@angular/material/core'; import {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; /** @docs-private */ diff --git a/src/lib/menu/menu-directive.ts b/src/lib/menu/menu-directive.ts index 03135f595c9..de665bb3436 100644 --- a/src/lib/menu/menu-directive.ts +++ b/src/lib/menu/menu-directive.ts @@ -9,9 +9,9 @@ import {FocusKeyManager} from '@angular/cdk/a11y'; import {Direction} from '@angular/cdk/bidi'; import {ESCAPE, LEFT_ARROW, RIGHT_ARROW} from '@angular/cdk/keycodes'; -import {startWith} from 'rxjs/operators/startWith'; -import {switchMap} from 'rxjs/operators/switchMap'; -import {take} from 'rxjs/operators/take'; +import {startWith} from 'rxjs/operators'; +import {switchMap} from 'rxjs/operators'; +import {take} from 'rxjs/operators'; import { AfterContentInit, ChangeDetectionStrategy, @@ -32,10 +32,10 @@ import { NgZone, OnInit, } from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; -import {merge} from 'rxjs/observable/merge'; -import {Subscription} from 'rxjs/Subscription'; +import {Observable} from 'rxjs'; +import {Subject} from 'rxjs'; +import {merge} from 'rxjs'; +import {Subscription} from 'rxjs'; import {matMenuAnimations} from './menu-animations'; import {throwMatMenuInvalidPositionX, throwMatMenuInvalidPositionY} from './menu-errors'; import {MatMenuItem} from './menu-item'; diff --git a/src/lib/menu/menu-item.ts b/src/lib/menu/menu-item.ts index ef588b32a96..3af299b2823 100644 --- a/src/lib/menu/menu-item.ts +++ b/src/lib/menu/menu-item.ts @@ -21,7 +21,7 @@ import { mixinDisabled, mixinDisableRipple } from '@angular/material/core'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; import {DOCUMENT} from '@angular/common'; // Boilerplate for applying mixins to MatMenuItem. diff --git a/src/lib/menu/menu-trigger.ts b/src/lib/menu/menu-trigger.ts index b297d9af6b4..dba1fdc587c 100644 --- a/src/lib/menu/menu-trigger.ts +++ b/src/lib/menu/menu-trigger.ts @@ -19,6 +19,7 @@ import { VerticalConnectionPos, } from '@angular/cdk/overlay'; import {TemplatePortal} from '@angular/cdk/portal'; +import {filter, take} from 'rxjs/operators'; import { AfterContentInit, Directive, @@ -34,11 +35,7 @@ import { Self, ViewContainerRef, } from '@angular/core'; -import {merge} from 'rxjs/observable/merge'; -import {of as observableOf} from 'rxjs/observable/of'; -import {filter} from 'rxjs/operators/filter'; -import {take} from 'rxjs/operators/take'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription, merge, of as observableOf} from 'rxjs'; import {MatMenu} from './menu-directive'; import {throwMatMenuMissingError} from './menu-errors'; import {MatMenuItem} from './menu-item'; diff --git a/src/lib/menu/menu.spec.ts b/src/lib/menu/menu.spec.ts index 6a533184f1e..ad5897672b7 100644 --- a/src/lib/menu/menu.spec.ts +++ b/src/lib/menu/menu.spec.ts @@ -38,7 +38,7 @@ import { patchElementFocus, MockNgZone, } from '@angular/cdk/testing'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; import {ScrollDispatcher} from '@angular/cdk/scrolling'; import {FocusMonitor} from '@angular/cdk/a11y'; diff --git a/src/lib/paginator/paginator-intl.ts b/src/lib/paginator/paginator-intl.ts index 10ff9d18359..a1cb1784e52 100644 --- a/src/lib/paginator/paginator-intl.ts +++ b/src/lib/paginator/paginator-intl.ts @@ -7,7 +7,7 @@ */ import {Injectable, SkipSelf, Optional } from '@angular/core'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; /** * To modify the labels and text displayed, create a new instance of MatPaginatorIntl and diff --git a/src/lib/paginator/paginator.ts b/src/lib/paginator/paginator.ts index f66ac29d617..005db034e21 100644 --- a/src/lib/paginator/paginator.ts +++ b/src/lib/paginator/paginator.ts @@ -18,7 +18,7 @@ import { Output, ViewEncapsulation, } from '@angular/core'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; import {MatPaginatorIntl} from './paginator-intl'; /** The default page size if there is no page size and there are no provided page size options. */ diff --git a/src/lib/select/select.spec.ts b/src/lib/select/select.spec.ts index 4f86b1f9b25..d9910931f54 100644 --- a/src/lib/select/select.spec.ts +++ b/src/lib/select/select.spec.ts @@ -58,9 +58,9 @@ import { import {MatFormFieldModule} from '@angular/material/form-field'; import {By} from '@angular/platform-browser'; import {NoopAnimationsModule} from '@angular/platform-browser/animations'; -import {map} from 'rxjs/operators/map'; -import {Subject} from 'rxjs/Subject'; -import {Subscription} from 'rxjs/Subscription'; +import {map} from 'rxjs/operators'; +import {Subject} from 'rxjs'; +import {Subscription} from 'rxjs'; import {MatSelectModule} from './index'; import {MatSelect} from './select'; import { diff --git a/src/lib/select/select.ts b/src/lib/select/select.ts index 86898c20c37..fbed800d7ec 100644 --- a/src/lib/select/select.ts +++ b/src/lib/select/select.ts @@ -20,7 +20,13 @@ import { SPACE, UP_ARROW, } from '@angular/cdk/keycodes'; -import {CdkConnectedOverlay, Overlay, ScrollStrategy, ViewportRuler} from '@angular/cdk/overlay'; +import { + CdkConnectedOverlay, + Overlay, + ScrollStrategy, + ViewportRuler, +} from '@angular/cdk/overlay'; +import {filter, take, map, switchMap, takeUntil, startWith} from 'rxjs/operators'; import { AfterContentInit, Attribute, @@ -69,16 +75,7 @@ import { mixinTabIndex, } from '@angular/material/core'; import {MatFormField, MatFormFieldControl} from '@angular/material/form-field'; -import {Observable} from 'rxjs/Observable'; -import {defer} from 'rxjs/observable/defer'; -import {merge} from 'rxjs/observable/merge'; -import {filter} from 'rxjs/operators/filter'; -import {map} from 'rxjs/operators/map'; -import {startWith} from 'rxjs/operators/startWith'; -import {switchMap} from 'rxjs/operators/switchMap'; -import {take} from 'rxjs/operators/take'; -import {takeUntil} from 'rxjs/operators/takeUntil'; -import {Subject} from 'rxjs/Subject'; +import {defer, Subject, merge, Observable} from 'rxjs'; import {matSelectAnimations} from './select-animations'; import { getMatSelectDynamicMultipleError, diff --git a/src/lib/sidenav/drawer.spec.ts b/src/lib/sidenav/drawer.spec.ts index 7a43c7844dd..4c6dabea2ad 100644 --- a/src/lib/sidenav/drawer.spec.ts +++ b/src/lib/sidenav/drawer.spec.ts @@ -335,7 +335,14 @@ describe('MatDrawer', () => { const testComponent: DrawerDynamicPosition = fixture.debugElement.componentInstance; testComponent.drawer1Position = 'end'; - expect(() => fixture.detectChanges()).toThrow(); + expect(() => { + try { + fixture.detectChanges(); + tick(0); + } catch { + tick(0); + } + }).toThrow(); })); it('should not throw when drawers swap positions', () => { diff --git a/src/lib/sidenav/drawer.ts b/src/lib/sidenav/drawer.ts index f496c45299a..d0bbf4cb4eb 100644 --- a/src/lib/sidenav/drawer.ts +++ b/src/lib/sidenav/drawer.ts @@ -12,7 +12,6 @@ import {coerceBooleanProperty} from '@angular/cdk/coercion'; import {ESCAPE} from '@angular/cdk/keycodes'; import {Platform} from '@angular/cdk/platform'; import {CdkScrollable} from '@angular/cdk/scrolling'; -import {DOCUMENT} from '@angular/common'; import { AfterContentChecked, AfterContentInit, @@ -35,16 +34,9 @@ import { ViewChild, ViewEncapsulation, } from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {fromEvent} from 'rxjs/observable/fromEvent'; -import {merge} from 'rxjs/observable/merge'; -import {debounceTime} from 'rxjs/operators/debounceTime'; -import {filter} from 'rxjs/operators/filter'; -import {map} from 'rxjs/operators/map'; -import {startWith} from 'rxjs/operators/startWith'; -import {take} from 'rxjs/operators/take'; -import {takeUntil} from 'rxjs/operators/takeUntil'; -import {Subject} from 'rxjs/Subject'; +import {DOCUMENT} from '@angular/common'; +import {filter, take, startWith, takeUntil, map, debounceTime} from 'rxjs/operators'; +import {merge, fromEvent, Observable, Subject} from 'rxjs'; import {matDrawerAnimations} from './drawer-animations'; diff --git a/src/lib/slider/slider.ts b/src/lib/slider/slider.ts index 91dab5f4dbd..b8301426eb1 100644 --- a/src/lib/slider/slider.ts +++ b/src/lib/slider/slider.ts @@ -45,7 +45,7 @@ import { mixinDisabled, mixinTabIndex, } from '@angular/material/core'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; /** * Visually, a 30px separation between tick marks looks best. This is very subjective but it is diff --git a/src/lib/snack-bar/snack-bar-container.ts b/src/lib/snack-bar/snack-bar-container.ts index 9f26ae86f90..1f486898460 100644 --- a/src/lib/snack-bar/snack-bar-container.ts +++ b/src/lib/snack-bar/snack-bar-container.ts @@ -25,9 +25,9 @@ import { CdkPortalOutlet, TemplatePortal, } from '@angular/cdk/portal'; -import {take} from 'rxjs/operators/take'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; +import {take} from 'rxjs/operators'; +import {Observable} from 'rxjs'; +import {Subject} from 'rxjs'; import {MatSnackBarConfig} from './snack-bar-config'; import {matSnackBarAnimations} from './snack-bar-animations'; diff --git a/src/lib/snack-bar/snack-bar-ref.ts b/src/lib/snack-bar/snack-bar-ref.ts index 26d2b74b1e3..88cba957368 100644 --- a/src/lib/snack-bar/snack-bar-ref.ts +++ b/src/lib/snack-bar/snack-bar-ref.ts @@ -7,8 +7,8 @@ */ import {OverlayRef} from '@angular/cdk/overlay'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; +import {Observable} from 'rxjs'; +import {Subject} from 'rxjs'; import {MatSnackBarContainer} from './snack-bar-container'; /** Event that is emitted when a snack bar is dismissed. */ diff --git a/src/lib/snack-bar/snack-bar.ts b/src/lib/snack-bar/snack-bar.ts index 3c5a5e42e97..42be3ff3848 100644 --- a/src/lib/snack-bar/snack-bar.ts +++ b/src/lib/snack-bar/snack-bar.ts @@ -21,8 +21,8 @@ import { SkipSelf, TemplateRef, } from '@angular/core'; -import {take} from 'rxjs/operators/take'; -import {takeUntil} from 'rxjs/operators/takeUntil'; +import {take} from 'rxjs/operators'; +import {takeUntil} from 'rxjs/operators'; import {SimpleSnackBar} from './simple-snack-bar'; import {MAT_SNACK_BAR_DATA, MatSnackBarConfig} from './snack-bar-config'; import {MatSnackBarContainer} from './snack-bar-container'; diff --git a/src/lib/sort/sort-header-intl.ts b/src/lib/sort/sort-header-intl.ts index bf743a62fd2..e293e55c8e2 100644 --- a/src/lib/sort/sort-header-intl.ts +++ b/src/lib/sort/sort-header-intl.ts @@ -7,7 +7,7 @@ */ import {Injectable, SkipSelf, Optional} from '@angular/core'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; import {SortDirection} from './sort-direction'; /** diff --git a/src/lib/sort/sort-header.ts b/src/lib/sort/sort-header.ts index a1e45108975..ad7f8edbc36 100644 --- a/src/lib/sort/sort-header.ts +++ b/src/lib/sort/sort-header.ts @@ -16,8 +16,8 @@ import { } from '@angular/core'; import {coerceBooleanProperty} from '@angular/cdk/coercion'; import {CdkColumnDef} from '@angular/cdk/table'; -import {Subscription} from 'rxjs/Subscription'; -import {merge} from 'rxjs/observable/merge'; +import {Subscription} from 'rxjs'; +import {merge} from 'rxjs'; import {MatSort, MatSortable} from './sort'; import {SortDirection} from './sort-direction'; import {MatSortHeaderIntl} from './sort-header-intl'; diff --git a/src/lib/sort/sort.spec.ts b/src/lib/sort/sort.spec.ts index b6dfbd10d1b..6b2a6c0e0db 100644 --- a/src/lib/sort/sort.spec.ts +++ b/src/lib/sort/sort.spec.ts @@ -10,8 +10,8 @@ import {Component, ElementRef, ViewChild} from '@angular/core'; import {async, ComponentFixture, inject, TestBed} from '@angular/core/testing'; import {By} from '@angular/platform-browser'; import {NoopAnimationsModule} from '@angular/platform-browser/animations'; -import {Observable} from 'rxjs/Observable'; -import {map} from 'rxjs/operators/map'; +import {Observable} from 'rxjs'; +import {map} from 'rxjs/operators'; import {MatTableModule} from '../table/index'; import { MatSort, diff --git a/src/lib/sort/sort.ts b/src/lib/sort/sort.ts index ff76e2e3f47..9bffb9e6cb7 100644 --- a/src/lib/sort/sort.ts +++ b/src/lib/sort/sort.ts @@ -23,7 +23,7 @@ import { getSortDuplicateSortableIdError, getSortHeaderMissingIdError } from './sort-errors'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; /** Interface for a directive that holds sorting state consumed by `MatSortHeader`. */ export interface MatSortable { diff --git a/src/lib/stepper/step-header.ts b/src/lib/stepper/step-header.ts index 13157c34e7a..10f32b9869c 100644 --- a/src/lib/stepper/step-header.ts +++ b/src/lib/stepper/step-header.ts @@ -17,7 +17,7 @@ import { ViewEncapsulation, TemplateRef, } from '@angular/core'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; import {MatStepLabel} from './step-label'; import {MatStepperIntl} from './stepper-intl'; diff --git a/src/lib/stepper/stepper-intl.ts b/src/lib/stepper/stepper-intl.ts index a1aa592a32c..a6a43b300b3 100644 --- a/src/lib/stepper/stepper-intl.ts +++ b/src/lib/stepper/stepper-intl.ts @@ -7,7 +7,7 @@ */ import {Injectable} from '@angular/core'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; /** Stepper data that is required for internationalization. */ diff --git a/src/lib/stepper/stepper.spec.ts b/src/lib/stepper/stepper.spec.ts index e3198496c70..f8794e9c325 100644 --- a/src/lib/stepper/stepper.spec.ts +++ b/src/lib/stepper/stepper.spec.ts @@ -24,10 +24,10 @@ import { } from '@angular/forms'; import {By} from '@angular/platform-browser'; import {NoopAnimationsModule} from '@angular/platform-browser/animations'; -import {Observable} from 'rxjs/Observable'; -import {map} from 'rxjs/operators/map'; -import {take} from 'rxjs/operators/take'; -import {Subject} from 'rxjs/Subject'; +import {Observable} from 'rxjs'; +import {map} from 'rxjs/operators'; +import {take} from 'rxjs/operators'; +import {Subject} from 'rxjs'; import {MatStepperModule} from './index'; import {MatHorizontalStepper, MatStep, MatStepper, MatVerticalStepper} from './stepper'; import {MatStepperNext, MatStepperPrevious} from './stepper-button'; diff --git a/src/lib/stepper/stepper.ts b/src/lib/stepper/stepper.ts index 3efd2f86121..457fff52936 100644 --- a/src/lib/stepper/stepper.ts +++ b/src/lib/stepper/stepper.ts @@ -27,9 +27,9 @@ import { } from '@angular/core'; import {FormControl, FormGroupDirective, NgForm} from '@angular/forms'; import {ErrorStateMatcher} from '@angular/material/core'; -import {takeUntil} from 'rxjs/operators/takeUntil'; import {MatStepHeader} from './step-header'; import {MatStepLabel} from './step-label'; +import {takeUntil} from 'rxjs/operators'; import {matStepperAnimations} from './stepper-animations'; import {MatStepperIcon} from './stepper-icon'; diff --git a/src/lib/table/table-data-source.ts b/src/lib/table/table-data-source.ts index 00ec9fa1e04..7003a1380f5 100644 --- a/src/lib/table/table-data-source.ts +++ b/src/lib/table/table-data-source.ts @@ -7,15 +7,13 @@ */ import {DataSource} from '@angular/cdk/table'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {Observable} from 'rxjs/Observable'; +import {BehaviorSubject, Observable} from 'rxjs'; import {MatPaginator, PageEvent} from '@angular/material/paginator'; import {MatSort, Sort} from '@angular/material/sort'; -import {Subscription} from 'rxjs/Subscription'; -import {combineLatest} from 'rxjs/operators/combineLatest'; -import {map} from 'rxjs/operators/map'; -import {startWith} from 'rxjs/operators/startWith'; -import {empty} from 'rxjs/observable/empty'; +import {Subscription, combineLatest} from 'rxjs'; +import {map} from 'rxjs/operators'; +import {startWith} from 'rxjs/operators'; +import {empty} from 'rxjs'; import {_isNumberValue} from '@angular/cdk/coercion'; /** @@ -179,27 +177,25 @@ export class MatTableDataSource extends DataSource { _updateChangeSubscription() { // Sorting and/or pagination should be watched if MatSort and/or MatPaginator are provided. // Otherwise, use an empty observable stream to take their place. - const sortChange = (this._sort ? this._sort.sortChange : empty()) as Observable; - const pageChange = - (this._paginator ? this._paginator.page : empty()) as Observable; + const sortChange: Observable = this._sort ? this._sort.sortChange : empty(); + const pageChange: Observable = this._paginator ? this._paginator.page : empty(); if (this._renderChangesSubscription) { this._renderChangesSubscription.unsubscribe(); } + const dataStream = this._data; // Watch for base data or filter changes to provide a filtered set of data. - this._renderChangesSubscription = this._data.pipe( - combineLatest(this._filter), - map(([data]) => this._filterData(data)), - // Watch for filtered data or sort changes to provide an ordered set of data. - combineLatest(sortChange.pipe(startWith(null))), - map(([data]) => this._orderData(data)), - // Watch for ordered data or page changes to provide a paged set of data. - combineLatest(pageChange.pipe(startWith(null))), - map(([data]) => this._pageData(data)) - ) + const filteredData = combineLatest(dataStream, this._filter) + .pipe(map(([data]) => this._filterData(data))); + // Watch for filtered data or sort changes to provide an ordered set of data. + const orderedData = combineLatest(filteredData, sortChange.pipe(startWith(null!))) + .pipe(map(([data]) => this._orderData(data))); + // Watch for ordered data or page changes to provide a paged set of data. + const paginatedData = combineLatest(orderedData, pageChange.pipe(startWith(null!))) + .pipe(map(([data]) => this._pageData(data))); // Watched for paged data changes and send the result to the table to render. - .subscribe(data => this._renderData.next(data)); + paginatedData.subscribe(data => this._renderData.next(data)); } /** diff --git a/src/lib/table/table.spec.ts b/src/lib/table/table.spec.ts index c6957ffdcb6..5cbbf484681 100644 --- a/src/lib/table/table.spec.ts +++ b/src/lib/table/table.spec.ts @@ -1,8 +1,8 @@ import {async, ComponentFixture, fakeAsync, flushMicrotasks, TestBed} from '@angular/core/testing'; import {Component, ViewChild} from '@angular/core'; import {DataSource} from '@angular/cdk/collections'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {Observable} from 'rxjs/Observable'; +import {BehaviorSubject} from 'rxjs'; +import {Observable} from 'rxjs'; import {MatTableModule} from './index'; import {MatTable} from './table'; import {MatPaginator, MatPaginatorModule} from '../paginator/index'; diff --git a/src/lib/tabs/tab-body.ts b/src/lib/tabs/tab-body.ts index 8db6d731b1e..7f7b6611cc2 100644 --- a/src/lib/tabs/tab-body.ts +++ b/src/lib/tabs/tab-body.ts @@ -27,7 +27,7 @@ import { import {AnimationEvent} from '@angular/animations'; import {TemplatePortal, CdkPortalOutlet, PortalHostDirective} from '@angular/cdk/portal'; import {Directionality, Direction} from '@angular/cdk/bidi'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; import {matTabsAnimations} from './tabs-animations'; /** diff --git a/src/lib/tabs/tab-group.spec.ts b/src/lib/tabs/tab-group.spec.ts index 1b35ebcf062..20dacb751b9 100644 --- a/src/lib/tabs/tab-group.spec.ts +++ b/src/lib/tabs/tab-group.spec.ts @@ -3,7 +3,7 @@ import {Component, QueryList, ViewChild, ViewChildren} from '@angular/core'; import {BrowserAnimationsModule, NoopAnimationsModule} from '@angular/platform-browser/animations'; import {By} from '@angular/platform-browser'; import {dispatchFakeEvent} from '@angular/cdk/testing'; -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; import {MatTab, MatTabGroup, MatTabHeaderPosition, MatTabsModule} from './index'; diff --git a/src/lib/tabs/tab-group.ts b/src/lib/tabs/tab-group.ts index d802886b9c6..92f199cdcbe 100644 --- a/src/lib/tabs/tab-group.ts +++ b/src/lib/tabs/tab-group.ts @@ -23,10 +23,10 @@ import { ViewEncapsulation, } from '@angular/core'; import {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion'; -import {Subscription} from 'rxjs/Subscription'; +import {Subscription} from 'rxjs'; import {MatTab} from './tab'; import {MatTabHeader} from './tab-header'; -import {merge} from 'rxjs/observable/merge'; +import {merge} from 'rxjs'; import { CanColor, CanDisableRipple, diff --git a/src/lib/tabs/tab-header.spec.ts b/src/lib/tabs/tab-header.spec.ts index aac0649d96e..959c6a545ea 100644 --- a/src/lib/tabs/tab-header.spec.ts +++ b/src/lib/tabs/tab-header.spec.ts @@ -15,10 +15,10 @@ import { } from '@angular/core/testing'; import {MatRippleModule} from '@angular/material/core'; import {By} from '@angular/platform-browser'; -import {Subject} from 'rxjs/Subject'; import {MatInkBar} from './ink-bar'; import {MatTabHeader} from './tab-header'; import {MatTabLabelWrapper} from './tab-label-wrapper'; +import {Subject} from 'rxjs'; describe('MatTabHeader', () => { diff --git a/src/lib/tabs/tab-header.ts b/src/lib/tabs/tab-header.ts index cd4c3b7ed77..c361607abd6 100644 --- a/src/lib/tabs/tab-header.ts +++ b/src/lib/tabs/tab-header.ts @@ -26,9 +26,9 @@ import { ViewEncapsulation, } from '@angular/core'; import {CanDisableRipple, mixinDisableRipple} from '@angular/material/core'; -import {merge} from 'rxjs/observable/merge'; -import {of as observableOf} from 'rxjs/observable/of'; -import {Subscription} from 'rxjs/Subscription'; +import {merge} from 'rxjs'; +import {of as observableOf} from 'rxjs'; +import {Subscription} from 'rxjs'; import {coerceNumberProperty} from '@angular/cdk/coercion'; import {MatInkBar} from './ink-bar'; import {MatTabLabelWrapper} from './tab-label-wrapper'; diff --git a/src/lib/tabs/tab-nav-bar/tab-nav-bar.spec.ts b/src/lib/tabs/tab-nav-bar/tab-nav-bar.spec.ts index 006adc12629..dfd92218cca 100644 --- a/src/lib/tabs/tab-nav-bar/tab-nav-bar.spec.ts +++ b/src/lib/tabs/tab-nav-bar/tab-nav-bar.spec.ts @@ -3,7 +3,7 @@ import {Component, ViewChild} from '@angular/core'; import {By} from '@angular/platform-browser'; import {dispatchFakeEvent, dispatchMouseEvent, createMouseEvent} from '@angular/cdk/testing'; import {Direction, Directionality} from '@angular/cdk/bidi'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; import {MatTabLink, MatTabNav, MatTabsModule} from '../index'; diff --git a/src/lib/tabs/tab-nav-bar/tab-nav-bar.ts b/src/lib/tabs/tab-nav-bar/tab-nav-bar.ts index 7045669dbdc..7457b90e697 100644 --- a/src/lib/tabs/tab-nav-bar/tab-nav-bar.ts +++ b/src/lib/tabs/tab-nav-bar/tab-nav-bar.ts @@ -43,10 +43,10 @@ import { RippleTarget, ThemePalette, } from '@angular/material/core'; -import {merge} from 'rxjs/observable/merge'; -import {of as observableOf} from 'rxjs/observable/of'; -import {takeUntil} from 'rxjs/operators/takeUntil'; -import {Subject} from 'rxjs/Subject'; +import {merge} from 'rxjs'; +import {of as observableOf} from 'rxjs'; +import {takeUntil} from 'rxjs/operators'; +import {Subject} from 'rxjs'; import {MatInkBar} from '../ink-bar'; diff --git a/src/lib/tabs/tab.ts b/src/lib/tabs/tab.ts index 4aee4ee1b1a..7d127071594 100644 --- a/src/lib/tabs/tab.ts +++ b/src/lib/tabs/tab.ts @@ -22,7 +22,7 @@ import { ViewEncapsulation, } from '@angular/core'; import {CanDisable, mixinDisabled} from '@angular/material/core'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; import {MatTabLabel} from './tab-label'; import {MatTabContent} from './tab-content'; diff --git a/src/lib/toolbar/toolbar.spec.ts b/src/lib/toolbar/toolbar.spec.ts index 86faca6832e..afbc98cbdf7 100644 --- a/src/lib/toolbar/toolbar.spec.ts +++ b/src/lib/toolbar/toolbar.spec.ts @@ -1,5 +1,5 @@ import {Component} from '@angular/core'; -import {TestBed, async, ComponentFixture} from '@angular/core/testing'; +import {TestBed, async, ComponentFixture, fakeAsync, flush} from '@angular/core/testing'; import {By} from '@angular/platform-browser'; import {MatToolbarModule} from './index'; @@ -67,17 +67,23 @@ describe('MatToolbar', () => { }).toThrowError(/attempting to combine different/i); }); - it('should throw an error if a toolbar-row is added later', () => { + it('should throw an error if a toolbar-row is added later', fakeAsync(() => { const fixture = TestBed.createComponent(ToolbarMixedRowModes); fixture.componentInstance.showToolbarRow = false; fixture.detectChanges(); + flush(); expect(() => { - fixture.componentInstance.showToolbarRow = true; - fixture.detectChanges(); + try { + fixture.componentInstance.showToolbarRow = true; + fixture.detectChanges(); + flush(); + } catch (e) { + flush(); + } }).toThrowError(/attempting to combine different/i); - }); + })); }); }); diff --git a/src/lib/tooltip/tooltip.ts b/src/lib/tooltip/tooltip.ts index dcee37ee872..ee5cf42d45a 100644 --- a/src/lib/tooltip/tooltip.ts +++ b/src/lib/tooltip/tooltip.ts @@ -25,6 +25,7 @@ import { } from '@angular/cdk/overlay'; import {Platform} from '@angular/cdk/platform'; import {ComponentPortal} from '@angular/cdk/portal'; +import {take, takeUntil} from 'rxjs/operators'; import { ChangeDetectionStrategy, ChangeDetectorRef, @@ -41,10 +42,7 @@ import { ViewContainerRef, ViewEncapsulation, } from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {take} from 'rxjs/operators/take'; -import {takeUntil} from 'rxjs/operators/takeUntil'; -import {Subject} from 'rxjs/Subject'; +import {Subject, Observable} from 'rxjs'; import {matTooltipAnimations} from './tooltip-animations'; diff --git a/src/lib/tree/data-source/flat-data-source.ts b/src/lib/tree/data-source/flat-data-source.ts index 2a5ee82b7e6..a7b64ff8758 100644 --- a/src/lib/tree/data-source/flat-data-source.ts +++ b/src/lib/tree/data-source/flat-data-source.ts @@ -8,11 +8,11 @@ import {CollectionViewer, DataSource} from '@angular/cdk/collections'; import {FlatTreeControl, TreeControl} from '@angular/cdk/tree'; -import {Observable} from 'rxjs/Observable'; -import {merge} from 'rxjs/observable/merge'; -import {map} from 'rxjs/operators/map'; -import {take} from 'rxjs/operators/take'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; +import {Observable} from 'rxjs'; +import {merge} from 'rxjs'; +import {map} from 'rxjs/operators'; +import {take} from 'rxjs/operators'; +import {BehaviorSubject} from 'rxjs'; /** * Tree flattener to convert a normal type of node to node with children & level information. diff --git a/src/lib/tree/data-source/nested-data-source.ts b/src/lib/tree/data-source/nested-data-source.ts index bd695a65850..a8cdda8a5e4 100644 --- a/src/lib/tree/data-source/nested-data-source.ts +++ b/src/lib/tree/data-source/nested-data-source.ts @@ -7,10 +7,10 @@ */ import {CollectionViewer, DataSource} from '@angular/cdk/collections'; -import {Observable} from 'rxjs/Observable'; -import {merge} from 'rxjs/observable/merge'; -import {map} from 'rxjs/operators/map'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; +import {Observable} from 'rxjs'; +import {merge} from 'rxjs'; +import {map} from 'rxjs/operators'; +import {BehaviorSubject} from 'rxjs'; /** * Data source for nested tree. diff --git a/src/lib/tree/tree.spec.ts b/src/lib/tree/tree.spec.ts index df46181a0ad..3e26489c9bb 100644 --- a/src/lib/tree/tree.spec.ts +++ b/src/lib/tree/tree.spec.ts @@ -15,8 +15,8 @@ import { MatTreeFlatDataSource, MatTreeNestedDataSource } from './index'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {Observable} from 'rxjs/Observable'; +import {BehaviorSubject} from 'rxjs'; +import {Observable} from 'rxjs'; describe('MatTree', () => { diff --git a/src/material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.ts b/src/material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.ts index 64868772d57..d9111ed43c1 100644 --- a/src/material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.ts +++ b/src/material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.ts @@ -1,8 +1,8 @@ import {Component} from '@angular/core'; import {FormControl} from '@angular/forms'; -import {Observable} from 'rxjs/Observable'; -import {startWith} from 'rxjs/operators/startWith'; -import {map} from 'rxjs/operators/map'; +import {Observable} from 'rxjs'; +import {startWith} from 'rxjs/operators'; +import {map} from 'rxjs/operators'; /** * @title Highlight the first autocomplete option diff --git a/src/material-examples/autocomplete-display/autocomplete-display-example.ts b/src/material-examples/autocomplete-display/autocomplete-display-example.ts index 40fdc26056c..9ea8c29f27c 100644 --- a/src/material-examples/autocomplete-display/autocomplete-display-example.ts +++ b/src/material-examples/autocomplete-display/autocomplete-display-example.ts @@ -1,8 +1,8 @@ import {Component} from '@angular/core'; import {FormControl} from '@angular/forms'; -import {Observable} from 'rxjs/Observable'; -import {startWith} from 'rxjs/operators/startWith'; -import {map} from 'rxjs/operators/map'; +import {Observable} from 'rxjs'; +import {startWith} from 'rxjs/operators'; +import {map} from 'rxjs/operators'; export class User { constructor(public name: string) { } diff --git a/src/material-examples/autocomplete-filter/autocomplete-filter-example.ts b/src/material-examples/autocomplete-filter/autocomplete-filter-example.ts index 060ef241db3..930a7c19cbd 100644 --- a/src/material-examples/autocomplete-filter/autocomplete-filter-example.ts +++ b/src/material-examples/autocomplete-filter/autocomplete-filter-example.ts @@ -1,8 +1,8 @@ import {Component} from '@angular/core'; import {FormControl} from '@angular/forms'; -import {Observable} from 'rxjs/Observable'; -import {startWith} from 'rxjs/operators/startWith'; -import {map} from 'rxjs/operators/map'; +import {Observable} from 'rxjs'; +import {startWith} from 'rxjs/operators'; +import {map} from 'rxjs/operators'; /** * @title Filter autocomplete diff --git a/src/material-examples/autocomplete-overview/autocomplete-overview-example.ts b/src/material-examples/autocomplete-overview/autocomplete-overview-example.ts index b010728d83c..3abd8683c1d 100644 --- a/src/material-examples/autocomplete-overview/autocomplete-overview-example.ts +++ b/src/material-examples/autocomplete-overview/autocomplete-overview-example.ts @@ -1,9 +1,9 @@ import {Component} from '@angular/core'; import {FormControl} from '@angular/forms'; -import {Observable} from 'rxjs/Observable'; -import {startWith} from 'rxjs/operators/startWith'; -import {map} from 'rxjs/operators/map'; +import {Observable} from 'rxjs'; +import {startWith} from 'rxjs/operators'; +import {map} from 'rxjs/operators'; export class State { constructor(public name: string, public population: string, public flag: string) { } diff --git a/src/material-examples/cdk-table-basic/cdk-table-basic-example.ts b/src/material-examples/cdk-table-basic/cdk-table-basic-example.ts index 98fe4db30c7..b2096d8df36 100644 --- a/src/material-examples/cdk-table-basic/cdk-table-basic-example.ts +++ b/src/material-examples/cdk-table-basic/cdk-table-basic-example.ts @@ -1,7 +1,7 @@ import {Component} from '@angular/core'; import {DataSource} from '@angular/cdk/collections'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {Observable} from 'rxjs/Observable'; +import {BehaviorSubject} from 'rxjs'; +import {Observable} from 'rxjs'; /** * @title Basic CDK data-table diff --git a/src/material-examples/cdk-tree-flat/cdk-tree-flat-example.ts b/src/material-examples/cdk-tree-flat/cdk-tree-flat-example.ts index a2361760d27..a758e55a120 100644 --- a/src/material-examples/cdk-tree-flat/cdk-tree-flat-example.ts +++ b/src/material-examples/cdk-tree-flat/cdk-tree-flat-example.ts @@ -1,9 +1,7 @@ import {Component, Injectable} from '@angular/core'; import {FlatTreeControl} from '@angular/cdk/tree'; import {MatTreeFlattener, MatTreeFlatDataSource} from '@angular/material/tree'; -import {of} from 'rxjs/observable/of'; -import {Observable} from 'rxjs/Observable'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; +import {of, Observable, BehaviorSubject} from 'rxjs'; /** * File node data with nested structure. diff --git a/src/material-examples/cdk-tree-nested/cdk-tree-nested-example.ts b/src/material-examples/cdk-tree-nested/cdk-tree-nested-example.ts index 97d5392a09c..7e8c0689177 100644 --- a/src/material-examples/cdk-tree-nested/cdk-tree-nested-example.ts +++ b/src/material-examples/cdk-tree-nested/cdk-tree-nested-example.ts @@ -1,8 +1,7 @@ import {Component, Injectable} from '@angular/core'; import {NestedTreeControl} from '@angular/cdk/tree'; import {MatTreeNestedDataSource} from '@angular/material/tree'; -import {of} from 'rxjs/observable/of'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; +import {of, BehaviorSubject} from 'rxjs'; /** * Json node data with nested structure. Each node has a filename and a value or a list of children diff --git a/src/material-examples/chips-autocomplete/chips-autocomplete-example.ts b/src/material-examples/chips-autocomplete/chips-autocomplete-example.ts index 449bfa9885c..c39a58e1254 100644 --- a/src/material-examples/chips-autocomplete/chips-autocomplete-example.ts +++ b/src/material-examples/chips-autocomplete/chips-autocomplete-example.ts @@ -2,9 +2,9 @@ import {Component, ViewChild, ElementRef} from '@angular/core'; import {MatChipInputEvent, MatAutocompleteSelectedEvent} from '@angular/material'; import {ENTER, COMMA} from '@angular/cdk/keycodes'; import {FormControl} from '@angular/forms'; -import {Observable} from 'rxjs/Observable'; -import {startWith} from 'rxjs/operators/startWith'; -import {map} from 'rxjs/operators/map'; +import {Observable} from 'rxjs'; +import {startWith} from 'rxjs/operators'; +import {map} from 'rxjs/operators'; /** * @title Chips Autocomplete diff --git a/src/material-examples/form-field-custom-control/form-field-custom-control-example.ts b/src/material-examples/form-field-custom-control/form-field-custom-control-example.ts index e8fc8a6dc67..70b57b0822a 100644 --- a/src/material-examples/form-field-custom-control/form-field-custom-control-example.ts +++ b/src/material-examples/form-field-custom-control/form-field-custom-control-example.ts @@ -3,7 +3,7 @@ import {coerceBooleanProperty} from '@angular/cdk/coercion'; import {Component, ElementRef, Input, OnDestroy} from '@angular/core'; import {FormBuilder, FormGroup} from '@angular/forms'; import {MatFormFieldControl} from '@angular/material'; -import {Subject} from 'rxjs/Subject'; +import {Subject} from 'rxjs'; /** Data structure for holding telephone number. */ diff --git a/src/material-examples/table-http/table-http-example.ts b/src/material-examples/table-http/table-http-example.ts index 89bed0f4f26..040e6c45dd8 100644 --- a/src/material-examples/table-http/table-http-example.ts +++ b/src/material-examples/table-http/table-http-example.ts @@ -1,13 +1,13 @@ import {Component, OnInit, ViewChild} from '@angular/core'; import {HttpClient} from '@angular/common/http'; import {MatPaginator, MatSort, MatTableDataSource} from '@angular/material'; -import {Observable} from 'rxjs/Observable'; -import {merge} from 'rxjs/observable/merge'; -import {of as observableOf} from 'rxjs/observable/of'; -import {catchError} from 'rxjs/operators/catchError'; -import {map} from 'rxjs/operators/map'; -import {startWith} from 'rxjs/operators/startWith'; -import {switchMap} from 'rxjs/operators/switchMap'; +import {Observable} from 'rxjs'; +import {merge} from 'rxjs'; +import {of as observableOf} from 'rxjs'; +import {catchError} from 'rxjs/operators'; +import {map} from 'rxjs/operators'; +import {startWith} from 'rxjs/operators'; +import {switchMap} from 'rxjs/operators'; /** * @title Table retrieving data through HTTP diff --git a/src/material-examples/tree-flat-overview/tree-flat-overview-example.ts b/src/material-examples/tree-flat-overview/tree-flat-overview-example.ts index 44db6b05424..d0f5ad51bb5 100644 --- a/src/material-examples/tree-flat-overview/tree-flat-overview-example.ts +++ b/src/material-examples/tree-flat-overview/tree-flat-overview-example.ts @@ -1,9 +1,9 @@ import {Component, Injectable} from '@angular/core'; import {FlatTreeControl} from '@angular/cdk/tree'; import {MatTreeFlattener, MatTreeFlatDataSource} from '@angular/material/tree'; -import {of} from 'rxjs/observable/of'; -import {Observable} from 'rxjs/Observable'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; +import {of} from 'rxjs'; +import {Observable} from 'rxjs'; +import {BehaviorSubject} from 'rxjs'; /** * File node data with nested structure. diff --git a/src/material-examples/tree-nested-overview/tree-nested-overview-example.ts b/src/material-examples/tree-nested-overview/tree-nested-overview-example.ts index 804a853a6e8..74c499f113b 100644 --- a/src/material-examples/tree-nested-overview/tree-nested-overview-example.ts +++ b/src/material-examples/tree-nested-overview/tree-nested-overview-example.ts @@ -1,8 +1,8 @@ import {Component, Injectable} from '@angular/core'; import {NestedTreeControl} from '@angular/cdk/tree'; import {MatTreeNestedDataSource} from '@angular/material/tree'; -import {of} from 'rxjs/observable/of'; -import {BehaviorSubject} from 'rxjs/BehaviorSubject'; +import {of} from 'rxjs'; +import {BehaviorSubject} from 'rxjs'; /** * Json node data with nested structure. Each node has a filename and a value or a list of children diff --git a/src/universal-app/kitchen-sink/kitchen-sink.ts b/src/universal-app/kitchen-sink/kitchen-sink.ts index 4544766bdf4..ee1b1e2fbd3 100644 --- a/src/universal-app/kitchen-sink/kitchen-sink.ts +++ b/src/universal-app/kitchen-sink/kitchen-sink.ts @@ -44,8 +44,8 @@ import { DataSource } from '@angular/cdk/table'; import {ViewportRuler} from '@angular/cdk/scrolling'; -import {of as observableOf} from 'rxjs/observable/of'; -import {Observable} from 'rxjs/Observable'; +import {of as observableOf} from 'rxjs'; +import {Observable} from 'rxjs'; export class TableDataSource extends DataSource { connect(): Observable { diff --git a/test/karma-test-shim.js b/test/karma-test-shim.js index 8c88ad177aa..78e115b9d2c 100644 --- a/test/karma-test-shim.js +++ b/test/karma-test-shim.js @@ -111,6 +111,7 @@ System.config({ packages: { // Thirdparty barrels. 'rxjs': {main: 'index'}, + 'rxjs/operators': {main: 'index'}, // Set the default extension for the root package, because otherwise the demo-app can't // be built within the production mode. Due to missing file extensions. diff --git a/tools/dashboard/src/app/dashboard-app.ts b/tools/dashboard/src/app/dashboard-app.ts index caddbc6240f..47005022e5e 100644 --- a/tools/dashboard/src/app/dashboard-app.ts +++ b/tools/dashboard/src/app/dashboard-app.ts @@ -1,6 +1,6 @@ import {Component} from '@angular/core'; import {AngularFireDatabase} from 'angularfire2/database'; -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; import {CoverageResult, PayloadResult} from './data-definitions'; @Component({ diff --git a/tools/package-tools/rollup-globals.ts b/tools/package-tools/rollup-globals.ts index 9faa0e8b9cc..e0cd4c19df0 100644 --- a/tools/package-tools/rollup-globals.ts +++ b/tools/package-tools/rollup-globals.ts @@ -53,37 +53,6 @@ export const rollupGlobals = { ...rollupCdkEntryPoints, ...rollupMatEntryPoints, - 'rxjs/BehaviorSubject': 'Rx', - 'rxjs/Observable': 'Rx', - 'rxjs/Observer': 'Rx', - 'rxjs/Scheduler': 'Rx', - 'rxjs/Subject': 'Rx', - 'rxjs/Subscriber': 'Rx', - 'rxjs/Subscription': 'Rx', - - 'rxjs/observable/combineLatest': 'Rx.Observable', - 'rxjs/observable/defer': 'Rx.Observable', - 'rxjs/observable/empty': 'Rx.Observable', - 'rxjs/observable/forkJoin': 'Rx.Observable', - 'rxjs/observable/fromEvent': 'Rx.Observable', - 'rxjs/observable/fromEventPattern': 'Rx.Observable', - 'rxjs/observable/merge': 'Rx.Observable', - 'rxjs/observable/of': 'Rx.Observable', - 'rxjs/observable/throw': 'Rx.Observable', - - 'rxjs/operators/debounceTime': 'Rx.operators', - 'rxjs/operators/takeUntil': 'Rx.operators', - 'rxjs/operators/take': 'Rx.operators', - 'rxjs/operators/first': 'Rx.operators', - 'rxjs/operators/filter': 'Rx.operators', - 'rxjs/operators/map': 'Rx.operators', - 'rxjs/operators/tap': 'Rx.operators', - 'rxjs/operators/startWith': 'Rx.operators', - 'rxjs/operators/auditTime': 'Rx.operators', - 'rxjs/operators/switchMap': 'Rx.operators', - 'rxjs/operators/finalize': 'Rx.operators', - 'rxjs/operators/catchError': 'Rx.operators', - 'rxjs/operators/share': 'Rx.operators', - 'rxjs/operators/delay': 'Rx.operators', - 'rxjs/operators/combineLatest': 'Rx.operators', + 'rxjs': 'Rx', + 'rxjs/operators': 'Rx.operators', }; diff --git a/tslint.json b/tslint.json index e75b7ec48a8..6d84aa302cc 100644 --- a/tslint.json +++ b/tslint.json @@ -78,8 +78,6 @@ ["xdescribe"], {"name": "Object.assign", "message": "Use the spread operator instead."} ], - // Disallows importing the whole RxJS library. Submodules can be still imported. - "import-blacklist": [true, "rxjs", "rxjs/operators"], // Avoids inconsistent linebreak styles in source files. Forces developers to use LF linebreaks. "linebreak-style": [true, "LF"], // Namespaces are no allowed, because of Closure compiler.