Commit Graph

5624 Commits

Author SHA1 Message Date
Andrew Seguin 94ad613f54 chore: bump version to 8.0.2 w/ changelog (#16429) 2019-07-02 14:28:01 -07:00
Vanessa Schmitt d29df3813e feat(material-experimental/chips): add grid keyboard shortcuts (#16384) 2019-06-28 16:20:20 -07:00
Kristiyan Kostadinov aa2236820d feat(tabs): support pagination in nav bar (#16055)
Adds support for pagination to `mat-tab-nav-bar` by moving some code around so that it can be reused from the `mat-tab-group`.

Fixes #2177.
2019-06-26 13:51:34 -07:00
Joey Perrott a461f32e95 ci: update required statuses for PRs (#16394) 2019-06-26 08:57:40 -07:00
Kristiyan Kostadinov 0ed9416ab9 fix(dialog): don't move focus to dialog container if focus is already inside the dialog (#16297)
This is a follow-up to https://github.com/angular/components/pull/16221. What we hadn't accounted for in the aforementioned PR is that the consumer may have turned off `autoFocus` so that they can handle it themselves and with our changes focus would be reset back to the container. These changes add an extra check which will ensure that focus is only moved if it's not inside the dialog already.
2019-06-26 08:56:06 -07:00
Joey Perrott 93f4b584ac build: create script for setting up RBE in local dev environment (#16375) 2019-06-26 08:53:46 -07:00
Paul Gschwendtner a5f8ee9b09 build: mark all e2e test suites as flaky within bazel (#16376)
Marks all e2e test suites as flaky with Bazel's `flaky` rule
attribute. This should improve CI stability as e2e tests can
sometimes fail due to browser crashes, port collisions.
2019-06-26 08:53:36 -07:00
Paul Gschwendtner 760058a5c5 fix(ng-update): do not rely on node-glob for finding rule directories (#16381)
We currently use `glob` in order to find rule directories automatically. This
has implications because it means that we depend on `glob` that is usually
brought in transitively by other project dependencies. This means that the
glob version is not guaranteed to be working due to previous `glob`
issues on windows.

Related to #16208
2019-06-26 08:53:17 -07:00
Kristiyan Kostadinov 3537e978ce chore: update example module (#16372)
The example module is out of date so it generates git diffs when the local dev server is run.
2019-06-26 08:53:06 -07:00
Joey Perrott 2bf06125a2 build: run CI unit tests using bazel (#16379) 2019-06-26 08:52:24 -07:00
Trevor Karjanis bb66df77af fix(breakpoint-observer): fix the breakpoint observer emit count and accuracy (#15964)
The breakpoint observer emits multiple and incorrect states when more than one query changes.
Debounce the observer emissions to eliminate the incorrect states and emit once.

References #10925
2019-06-26 08:48:05 -07:00
Kristiyan Kostadinov 453b1e8bef fix(overlay): events not being unbound from destroyed backdrop (#16268)
Fixes the `click` and `transitionend` event handlers not being removed from the backdrop that is being destroyed. Since they're referring to things inside the `OverlayRef`, they could cause some memory to be retained.
2019-06-26 08:47:57 -07:00
Kristiyan Kostadinov 2ab867332f fix(dialog): DOM nodes not cleaned up if view container is destroyed mid-animation (#16309)
Currently the dialog's cleanup logic is tied to its exit animation completing. This usually isn't a problem since by default the dialog is attached to the application ref, however if the consumer has set a `viewContainerRef` and that ref is destroyed mid-animation, the exit animation event will never fire. These changes add a timeout as a fallback in case the animation doesn't finish in the specified time.

Fixes #16284.
2019-06-26 08:47:48 -07:00
Kristiyan Kostadinov 3fb87d799c fix(bottom-sheet): DOM nodes not cleaned up if view container is destroyed mid-animation (#16349)
Along the same lines as #16309.

Currently the bottom sheet's cleanup logic is tied to its exit animation completing. This usually isn't a problem since by default the bottom sheet is attached to the application ref, however if the consumer has set a viewContainerRef and that ref is destroyed mid-animation, the exit animation event will never fire. These changes add a timeout as a fallback in case the animation doesn't finish in the specified time.
2019-06-26 08:47:37 -07:00
Vanessa Schmitt 86aad590f1 feat(material-experimental/chips): MDC chip APIs match existing APIs (#16145) 2019-06-24 14:19:04 -07:00
Joey Perrott d511fbea34 build: setup RBE caching and remote build event service on CI (#16370) 2019-06-24 14:03:01 -07:00
Noriyuki Shinpuku 43a01e99c7 feat(schematics): add font-display query (#16363) 2019-06-24 09:23:55 -07:00
Kristiyan Kostadinov a1372e5ae1 chore: bump linter versions (#16365)
Bumps the versions of the linters so we don't fall behind too much in case any of their APIs change. We were behind some major versions on `stylelint` in particular.
2019-06-24 08:49:02 -07:00
Paul Gschwendtner e2d9f0e2d1 build: fix snapshot local browsers cronjob test (#16362)
The `snapshot_tests_local_browsers` job currently seems
to fail because in order to run the setup snapshots script,
we already need to have the `node_modules` installed. This
means that we need to run Yarn twice for the cronjob. Though
this shouldn't have any performance implications because
we recently updated Yarn to a version that is able to
properly cache/restore the `node_modules`.
2019-06-24 08:48:32 -07:00
Paul Gschwendtner 10370ef659 build: use bazel from node modules (#16361)
The goal of https://github.com/angular/components/commit/2ce5ffd56b70c3791331ceedeadc1f1f6daf3924 was to avoid the
use of Bazel through the `node_modules` because it adds unnecessary code overhead, slows down CI and means that
some tools need to be installed multiple times (such as `yarn`). Unfortunately when building a release with Bazel
right now, the bazel workspace status script depends on the global `node` binary. This means that we need
to bring in Node when running with the `--config=release` flag.. Since that causes inconsistent behavior
and just complicates the setup, we are using Bazel through Yarn for now. Similar to how we did it for
`angular/angular` with https://github.com/angular/angular/commit/8fc4ae51fb66d14f6dc82712a536c3842205fc6d.
2019-06-21 15:08:30 -07:00
alexanderPastornicky 94c84edd58 chore(progress-spinner): move private member to beginning of class (#16211) 2019-06-21 13:29:41 -07:00
Jesse Palmer a4b8f4f885 docs(form-field): fix link to custom control guide (#16291) 2019-06-21 13:27:27 -07:00
Paul Gschwendtner 56328ffde3 build: re-enable cronjob snapshot test (#16358) 2019-06-21 13:26:46 -07:00
Matthias Kunnen 8fe1ba7547 chore: use correct StackBlitz template in README (#16359) 2019-06-21 13:06:32 -07:00
Álvaro Martínez 8a05678874 docs(autocomplete): correct plain input example name (#16329)
Fixes #16327
2019-06-21 10:27:24 -07:00
mmalerba 7398c9ab36 feat(material-experimental/checkbox): Add test harnesses for both versions of mat-checkbox (#16334) 2019-06-21 10:19:51 -07:00
Paul Gschwendtner 6ee271f559 fixup! build: replace setup angular snapshots script with python script
Add comment explaining why script needs to be in python
2019-06-21 09:34:21 -07:00
Paul Gschwendtner 21594d33e8 build: properly wait for external browser tunnels to terminate
We currently wait for browser tunnels of Saucelabs and Browserstack
to terminate by repeatedly checking with `ps -p`. This is not reliable and
can break if the host system is not removing forcibly killed child processes
from the process table. This is valid since the tunnels are launched as child
processes and we ideally wait for those to terminate using the `wait` command.
2019-06-21 09:34:21 -07:00
Paul Gschwendtner 10cd71a0ed build: replace setup angular snapshots script with python script
In order to be able to take advantage of Google's official
bazel docker images, we no longer can use a NodeJS script
for setting up the snapshot builds because NodeJS is not
installed in the image. Rather we need to convert the script
to a python script in order to be able to perform the package.json
modification.

Since this script is not intended to be executed locally, we
are free to use Python for this.
2019-06-21 09:34:21 -07:00
Paul Gschwendtner 2ce5ffd56b build: no longer use bazel from "ngcontainer" image
We no longer use Bazel from the `ngcontainer` image as it is
no longer maintained and we need to use the latest version of
Bazel in CircleCI. It's not ideal to use Bazel through Yarn since
binaries like that should be actually part of the docker image, but
for now we need to do this for jobs that use NodeJS & Bazel at the same time.
This is similar to what `angulart/angular` does.
2019-06-21 09:34:21 -07:00
Paul Gschwendtner f6d4acb44a build: update angular to 8.0.1 2019-06-21 09:34:21 -07:00
mmalerba 6a7fc8156e feat(cdk-experimental/testing): Adds a HarnessPredicate class (#16319)
This enables users of harness authors to provide an API for querying harnesses based on arbitrary state as given by predicate functions.
2019-06-19 13:48:33 -07:00
Kristiyan Kostadinov 4b82786333 fix(autocomplete): alt + up arrow to close panel not working (#15364)
Currently we support the part of the spec where the autocomplete panel is supposed to close when pressing alt + up arrow, however at some point we added more functionality that ends up reopening the panel immediately. These changes ensure that the user is able to close the panel via alt + up arrow.
2019-06-19 10:44:15 -07:00
Amit Gharat a2d91e4674 chore(button): re-use common function for getting native element (#16056) 2019-06-19 10:43:44 -07:00
Kristiyan Kostadinov b0d1bada8e fix(expansion-panel): header animating on init when using non-default height (#16122)
Works around the expansion panel header animating on init, if its header is different from the default one. The original issue comes from the code introduced in #13088, but we can't remove that code, because it's there to work around a bug in Angular.

Fixes #16067.
2019-06-19 10:29:47 -07:00
Kristiyan Kostadinov b15a7ecabd perf(drag-drop): use narrower check for touch events (#16082)
We use the `isTouchEvent` any time we need to normalize something between touch and mouse events which happens for every pixel that the user has dragged. These changes switch to using direct comparison, rather than `startsWith`, which should be slightly faster since there's a narrow set of touch event types.
2019-06-19 10:29:18 -07:00
Kristiyan Kostadinov 4002140363 fix(list): matching item not preselected if added after init (#16080)
Fixes a `mat-list-option` that is added after initialization not being selected, even if it matches the control value.

Fixes #16062.
2019-06-19 10:28:25 -07:00
Paul Gschwendtner 19af6ec2a8 refactor(mdc-prototypes): do not mark components dirty in input setters (#16129)
In order to make our component inputs which use boolean coercion more
consistent with other inputs which aren't declared through setters, we should
no longer call `markForCheck` within input setters as Angular automatically
runs change detection if input values are updated.

This breaks the programmatic usage of these inputs as Angular in that case
won't be able to run change detection (since it can't detect that the value
of the input changes).. though this is a more general problem with the
`OnPush` strategy as we can't have consistent behavior for programmatic
input updates without switching *every* input to a setter.

Instead, in order to still support programmatic input updates, we
should expose a method that allows developers to mark the MDC
components as dirty. This is necessary so that developers which
_really_ need to update programmatically (e.g. through `ViewChild`)
can still update the componet to reflect the changes. The benefit is
that we don't need to convert every input to a setter w/ markForCheck
in order to make the OnPush inputs behavior consistent.

Related to COMP-170
2019-06-19 10:28:04 -07:00
Kristiyan Kostadinov 60c9ebc374 fix(checkbox): hover indication showing when disabled (#16159)
Fixes `mat-checkbox` showing its hover indication when it's disabled. It looks like the selector for the disabled state was misspelled.

Fixes #16157.
2019-06-19 10:26:48 -07:00
Kristiyan Kostadinov 7a04788cd3 fix(experimental/dialog): set aria-modal on dialog container (#16323)
Fixes the experimental dialog container not having `aria-modal`.
2019-06-18 22:25:07 -07:00
Joey Perrott 9744b31c64 chore: temporarily disable ivy_snapshot_test_cronjob on CircleCI (#16321) 2019-06-18 22:24:53 -07:00
mmalerba 22268c326a refactor(cdk-experimental/testing): refactor the ComponentHarness API (#16234)
Renames several APIs for readability
2019-06-18 10:14:04 -07:00
Xiangyun Chi 30127fa267 chore: fix misspelled aria-labelledby in public API description (#15985) 2019-06-17 09:01:23 -07:00
jysoo f28a294de2 feat(datepicker): align multi-year-view based on minDate and maxDate (#16018)
* feat(datepicker): align multi-year-view based on minDate and maxDate

If minDate is set (and maxDate not set), let first page begin with minYear.
If maxDate is set, let last page end with maxYear,
and disable year(s) < minYear (if any) in first page.

Fixes #10646

* add tests for feat(datepicker): align multi-year-view based on minDate and maxDate

* refactor feat(datepicker): align multi-year-view based on minDate and maxDate

* omit helper func from public api

* fixup, resolve conflict

refactor with private methods feat(datepicker): align multi-year-view based on minDate and maxDate

* share func feat(datepicker): align multi-year-view based on minDate and maxDate

* fix formatting nit
2019-06-17 08:54:15 -07:00
Kristiyan Kostadinov 27a08cc601 fix(tabs): disable all animations when using NoopAnimationsModule (#11395)
Currently some animations in the tab components don't get disabled, when using the `NoopAnimationsModule`, because they don't go through the Angular animations. These changes ensure that everything will be disabled.

Fixes #10590.
2019-06-13 11:26:15 -07:00
Kristiyan Kostadinov 86c626a6b1 fix(chips): disable all animations when using NoopAnimationsModule (#11546)
Disables all of the chip animations and transitions when the consumer is using the `NoopAnimationsModule`. Also cleans up some repetitive code.

Relates to #10590.
2019-06-13 11:25:56 -07:00
Joey Perrott 933d44c11c chore: enable noFallthroughCasesInSwitch in the project's tsconfigs (#16282) 2019-06-12 15:10:26 -07:00
Joey Perrott 69b1b2ec92 fix(popover-edit): remove fallthroughs in switch statement (#16281) 2019-06-12 14:43:45 -07:00
mmalerba c3ff1755e3 chore: update marked (#16277) 2019-06-12 13:14:39 -07:00
Paul Gschwendtner 57b507b4b1 build: update yarn to v1.16.0 (#16260)
Currently our version of Yarn is installed through the "angular/ngcontainer"
docker image. This is problematic because in order to be able to update
Yarn, we always need to update the docker image to a version that comes
with the desired Yarn version. Sometimes there is no docker image with the
desired latest Yarn version, and therefore we cannot easily update the Yarn version.

Additionally the latest Yarn versions contain various fixes for debugging timeout
issues and also have improved logic for restoring existing `node_modules`. This
is **essential** to take advantage of the CircleCI caching mechanism.
2019-06-12 10:34:52 -07:00