George Kalpakas f6d2af17fc fix(docs-infra): preserve focus on copy (and prevent scrolling to bottom on IE11) (#38244)
The `CopierService` is used for copying text to the user's clipboard. It
is, for example, used in `CodeComponent` to copy example code snippets.
This is implemented by creating a temporary, hidden `<textarea>`
elements, setting its value to the text that needs to be copied,
executing the `copy` command and finally removing the element from the
DOM.

Previously, as a result of `CopierService`'s implementation, the focused
element would lose focus, while the temporary `<textarea>` element would
implicitly gain focus when selecting its contents. This had an even
worse side-effect on IE11, which seems to scroll to the bottom of the
containing element (here `<body>`) when the focused element is removed.

This commit fixes these issues by keeping track of the previously
focused element and restoring its focus after the copy operation.

NOTE: This fix is inspired by Angular CDK's [PendingCopy][1] class.

[1]: https://github.com/angular/components/blob/89b5fa89d1437c3054c5/src/cdk/clipboard/pending-copy.ts

Fixes #37796

PR Close #38244
2020-08-07 22:10:55 -04:00
2020-07-30 03:57:48 -04:00
2020-01-27 09:31:22 -08:00
2020-01-13 07:21:43 -08:00

CircleCI Join the chat at https://gitter.im/angular/angular npm version

Angular

Angular es una plataforma de desarrollo para construir aplicaciones web y móviles que usa TypeScript/JavaScript y otros lenguajes de programación.

Guía rápida

Comienza a usarlo en 5 minutos.

Registro de cambios (Changelog)

Últimas mejoras realizadas.

¿Quieres ayudar?

¿Quieres encontrar fallos, colaborar con código, o mejorar la documentación? ¡Excelente! Lee nuestras pautas para colaborar y luego revisa algunos de nuestras incidencias (issues) en ayuda comunitaria.

Description
Un framework. Móvil y escritorio.
Readme 155 MiB
Languages
TypeScript 86.3%
JavaScript 8.5%
HTML 1.8%
Starlark 1.7%
CSS 1%
Other 0.6%