angular / angular/components

Support intersection/clipping detection in overlay positioning

Aperta
#20,317 8 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area: cdk/overlay feature P4
Lingua principale
TypeScript
Stelle
25k
Fork
6.8k
Merge medio
1g 8h
PR unite (30g)
91

Descrizione

#### What are you trying to do?

I am trying to set a position strategy that works when origin element is clipped. Is there any way to do this without writing a custom position strategy?

#### What troubleshooting steps have you tried?

I tried all the strategies available through CDK Api but without success.

#### Reproduction

https://stackblitz.com/edit/angular-rplbez

Basically, i have to 2 connected positions defined. First that will center the overlay below origin element and another one that will center the overlay above origin element. For example, if element is on the top of the page, overlay would go out of viewport and then second position will be used (below origin element). That works fine. But if origin element is clipped (as in stackblitz example) then overlay will be positioned using first position (above origin element).

Steps to reproduce:
1. Click on a blue square
2. Opened popover is over red header

#### Environment

- Angular: 10.0.9
- CDK/Material: 10.1.3
- Browser(s): Chrome 84.0
- Operating System (e.g. Windows, macOS, Ubuntu): MacOS 10.15.3

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con la riproduzione StackBlitz collegata e analizza il comportamento di posizionamento dell’overlay di CDK per le due posizioni collegate. Riproduci il caso dell’origine ritagliata, quindi verifica che il rilevamento dell’intersezione o del ritaglio selezioni la posizione alternativa, mantenendo al contempo il comportamento di fallback esistente del viewport.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
angular, typescript
Ambito
frontend
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.