Skip to content

Commit 8865e78

Browse files
authored
docs(v9-hammerjs-migration): fixes and refinements (#18107)
1 parent 2c4e2af commit 8865e78

File tree

1 file changed

+25
-23
lines changed

1 file changed

+25
-23
lines changed

guides/v9-hammerjs-migration.md

+25-23
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ deprecated and will be removed in version 10.
1111

1212
Since HammerJS previously was a requirement for a few Angular Material components, projects might
1313
have installed `HammerJS` exclusively for Angular Material. Since HammerJS is no longer needed when
14-
updating to v9, the dependency on HammerJS can be removed if it's not used directly in the
14+
updating to v9, the dependency on HammerJS can be removed if it's not used directly in your
1515
application.
1616

1717
In some cases, projects use HammerJS events in templates while relying on Angular Material
@@ -21,29 +21,29 @@ these HammerJS events.
2121

2222
### What does the migration do?
2323

24-
The migration automatically removes HammerJS from the project if HammerJS is not used.
24+
The migration automatically removes HammerJS from your project if HammerJS is not used.
2525

2626
Additionally, Angular Material's `GestureConfig` (now deprecated) defined custom HammerJS gestures.
27-
If the application directly uses any of these gestures, the migration will introduce a new
27+
If your application directly uses any of these gestures, the migration will introduce a new
2828
application-specific configuration for these custom gestures, removing the dependency on Angular
2929
Material's `GestureConfig`.
3030

31-
Finally, if the application uses any of the custom HammerJS gestures provided by Angular Material's
31+
Finally, if your application uses any of the custom HammerJS gestures provided by Angular Material's
3232
`GestureConfig`, or the default HammerJS gestures, the migration will add an import for Angular's
3333
new `HammerModule`, which enabled HammerJS event bindings. These bindings were previously enabled
3434
by default in Angular versions 8 and below.
3535

3636
If your application provides a custom [`HAMMER_GESTURE_CONFIG`][1] and also references the
3737
deprecated Angular Material `GestureConfig`, the migration will print a warning about
38-
ambiguous usage. The migration cannot migrate the project automatically and manual changes
38+
ambiguous usage. The migration cannot migrate your project automatically and manual changes
3939
are required. Read more [in the dedicated section](#The-migration-reported-ambiguous-usage-What-should-I-do).
4040

4141
### How does the schematic remove HammerJS?
4242

4343
HammerJS can be set up in many ways. The migration handles the most common cases, covering
4444
approaches recommended by Angular Material in the past. The migration performs the following steps:
4545

46-
*1\.* Remove `hammerjs` from the project `package.json`.
46+
*1\.* Remove `hammerjs` from your project `package.json`.
4747
```json
4848
{
4949
"dependencies": {
@@ -62,7 +62,7 @@ import 'hammerjs';
6262

6363
The migration cannot automatically remove HammerJS from tests. Please manually clean up
6464
the test setup and resolve any test issues. Read more in a
65-
[dedicated section for test migration](#How-to-migrate-my-tests)
65+
[dedicated section for test migration](#How-to-migrate-my-tests).
6666

6767
### How do I migrate references to the deprecated `GestureConfig`?
6868

@@ -81,7 +81,7 @@ import {GestureConfig} from '@angular/material/core';
8181
export class AppModule {}
8282
```
8383

84-
If this pattern is found in the project, it usually means that a component relies on the
84+
If this pattern is found in your project, it usually means that a component relies on the
8585
deprecated `GestureConfig` in order to use HammerJS events in the template. If this is the case,
8686
the migration automatically creates a new gesture config which supports the used HammerJS
8787
events. All references to the deprecated gesture config will be rewritten to the newly created one.
@@ -91,25 +91,25 @@ from the module. This is automatically done by the migration.
9191

9292
There are other patterns where the deprecated `GestureConfig` is extended, injected or used
9393
in combination with a different custom gesture config. These patterns cannot be handled
94-
automatically, but the migration will report such patterns and ask for manual cleanup.
94+
automatically, but the migration will report such patterns and ask you to perform manual cleanup.
9595

9696
<a name="test-migration"></a>
9797
### How to migrate my tests?
9898

9999
Components in your project might use Angular Material components which previously depended
100-
on HammerJS. There might be unit tests for these components which also test gesture functionality
101-
of the Angular Material components. For such unit tests, find all failing gesture tests. These
102-
might need to be reworked to dispatch proper events to simulate gestures, or need to be deleted.
103-
Specifically gesture tests for the `<mat-slide-toggle>` should be removed. This is because the
104-
`<mat-slide-toggle>` no longer supports gestures.
100+
upon HammerJS. There might be unit tests for these components which also test gesture functionality
101+
of the Angular Material components. For such unit tests, identify all failing gesture tests. Then
102+
you should rework these tests to dispatch proper events, in order to simulate gestures, or
103+
delete the tests. Specifically gesture tests for the `<mat-slide-toggle>` should be removed.
104+
This is because the `<mat-slide-toggle>` no longer supports gestures.
105105

106106
If some unit tests depend on the deprecated Angular Material `GestureConfig` to simulate gesture
107-
events, the reference should be either removed and tests reworked to use DOM events, or the
107+
events, the reference should either be removed and tests reworked to use DOM events, or the
108108
reference should be changed to the new gesture config created by the migration.
109109

110-
If HammerJS has been removed by the migration from the project, you might able to need to
111-
clean up test setup that provides HammerJS. This is usually done in the test main file (usually
112-
in `src/test.ts`) where `hammerjs` is imported.
110+
If HammerJS has been removed from your project by the migration, you might need to refactor
111+
the test setup that provides HammerJS. This is usually done in your test main file (usually
112+
in `src/test.ts`) where `hammerjs` may be imported.
113113

114114
```typescript
115115
import 'hammerjs';
@@ -128,15 +128,17 @@ plugin, or to an actual `@Output`. For example:
128128
```
129129

130130
In the example above, `rotate` could be an event from the deprecated `GestureConfig`, or an
131-
`@Output` from `<image-rotator>`. The migration warns about this to raise awareness that it
132-
might have _incorrectly kept_ HammerJS. Please manually check if you can remove HammerJS.
131+
`@Output` from `<image-rotator>`. The migration warns you about this to raise awareness that it
132+
might have _incorrectly kept_ HammerJS. Please check if you can remove HammerJS from the project
133+
manually.
133134

134135
**Case 2**: The deprecated Angular Material `GestureConfig` is used in combination with a
135136
custom [`HAMMER_GESTURE_CONFIG`][1]. This case is ambiguous because the migration is unable
136137
to detect whether a given HammerJS event binding corresponds to the custom gesture config, or to
137-
the deprecated Angular Material gesture config. If such a warning has been reported to you, check
138-
if you can remove references to the deprecated `GestureConfig`, or if you need to handle the events
139-
provided by the deprecated gesture config in your existing custom gesture config.
138+
the deprecated Angular Material gesture config. If such a warning has been reported, check
139+
if you can remove the references to the deprecated `GestureConfig`, or if you need to update your
140+
existing, custom gesture config to handle the events provided by the deprecated Angular Material
141+
`GestureConfig`.
140142

141143
[1]: https://v9.angular.io/api/platform-browser/HammerGestureConfig
142144
[2]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Import_a_module_for_its_side_effects_only

0 commit comments

Comments
 (0)