Estratégias de rolagem

    A estratégia scroll determina como a rolagem é manipulada no IgxOverlayService fornecido. Existem quatro estratégias scroll:

    1. NoOperation- não faz nada.
    2. Bloquear- o evento é cancelado e o componente não rola com a janela.
    3. Fechar- usa uma tolerância e fecha um componente expandido ao rolar se a tolerância for excedida.
    4. Absoluto- rola tudo.

    Usage

    Cada estratégia de rolagem tem os seguintes métodos:

    • initialize- inicializa a estratégia de rolagem. Precisa de uma referência do documento, do serviço de sobreposição e do id do componente renderizado
    • attach- anexa a estratégia de rolagem ao elemento especificado ou ao documento
    • detach- destaca a estratégia de rolagem
    this.scrollStrategy.initialize(document, overlayService, id);
    this.scrollStrategy.attach();
    this.scrollStrategy.detach();
    

    Getting Started

    A estratégia de rolagem é passada como uma propriedade no parâmetro overlaySettings quando o método overlay.attach() é chamado:

    // Initializing and using overlay settings
    const overlaySettings: OverlaySettings = {
        positionStrategy: new GlobalPositionStrategy(),
        scrollStrategy: new AbsoluteScrollStrategy(), //Passes the scroll strategy
        modal: true,
        closeOnOutsideClick: true
    }
    const overlayId = overlay.attach(dummyElement, overlaySettings); 
    

    Para alterar a estratégia de rolagem, usada pela sobreposição, substitua a propriedade scrollStrategy do objeto overlaySettings passado para a sobreposição. Se uma estratégia já foi anexada, você deve desanexar o ID gerado anteriormente:

    // overlaySettings is an existing object of type OverlaySettings
    // to override the scroll strategy
    const newOverlaySettings = Object.assing({}, overlaySettings);
    Object.assing(newOverlaySettings, {
        scrollStrategy: new CloseScrollStrategy()
    })
    const overlayId = overlay.attach(dummyElement, newOverlaySettings);
    overlay.show(overlayId);
    

    Dependencies

    Para usar qualquer uma das estratégias de rolagem, importe-a assim:

    import { NoOpScrollStrategy } from "./scroll/NoOpScrollStrategy";
    

    Estratégias de rolagem

    As estratégias de rolagem podem ser passadas para o objeto overlaySettings para determinar como a sobreposição deve lidar com a rolagem. A demonstração abaixo ilustra a diferença entre as scrollStrategies separadas:

    O objeto overlaySettings também permite que uma propriedade booleana (modal) seja passada. Isso controla como a sobreposição será exibida:

    • Se a propriedade modal for false, o elemento será anexado ao primeiro plano do DOM, mas tudo continuará ativo e interativo - por exemplo, rolagem, clique, etc.
    • Se a propriedade modal for true, o elemento será anexado ao primeiro plano do DOM e um bloqueador de sobreposição será colocado atrás dele, interrompendo a propagação de todos os eventos:

    API References

    Additional Resources