BasePage
Introdução
Este módulo define a classe abstrata BasePage, que serve como a base fundamental para todas as páginas de aplicações Bokeh.
Índice
- Visão Geral
- With spinner
- Setup data
- Create widgets
- Create layout
- Update data
- Add layout
- Build page
- Enable widgets
- Disable widgets
Visão geral
A classe BasePage é projetada para promover a reusabilidade e a padronização no desenvolvimento de aplicações Bokeh. Suas principais características incluem:
- Estrutura Abstrata: Define uma interface comum que todas as páginas devem seguir, garantindo consistência.
- Gerenciamento de Documentos Bokeh: Lida com a adição e remoção de layouts do documento Bokeh.
- Indicador de Carregamento: Oferece um decorador (
@with_spinner) para exibir um spinner durante operações assíncronas ou demoradas. - Ciclo de Vida da Página: Estabelece métodos para a configuração inicial dos dados, criação de widgets, definição do layout e atualização de dados.
- Controle de Widgets: Permite habilitar e desabilitar widgets de forma centralizada, útil para controlar a interação do usuário durante o carregamento de dados ou processamento.
Base page
Classe abstrata que define os principais métodos comuns a todas as aplicações Bokeh.
Init
Inicializa uma nova instância da BasePage.
Parâmetros:
doc (Document): O documento Bokeh ao qual a página será associada.
token_manager (TokenManager): O gerenciador de tokenspara autenticação, se necessário.
With spinner
Decorador estático para exibir um indicador de carregamento (spinner) durante a execução de um método assíncrono ou síncrono.
Parâmetros:
message (str): A mensagem a ser exibida no spinner. Padrão é "Carregando...".
Retorno:
Callable: Um decorador que envolve a função original.
Setup data
Método assíncrono para obter e processar os dados necessários para a página. Este método deve ser sobrescrito pelas subclasses para carregar dados específicos.
Create widgets
Método abstrato para criar os widgets (componentes de interface) da página. Deve ser implementado por todas as subclasses.
Create layout
Método abstrato para criar o layout da página, organizando os widgets. Deve ser implementado por todas as subclasses.
Retorno:
UIElement: O layout da página, geralmente uma instância de Row ou Column do Bokeh.
Update data
Atualiza os dados e estruturas da página, como DataFrames e ColumnDataSource. Este método pode ser sobrescrito por subclasses para implementar lógicas de atualização específicas.
Parâmetros:
date (date, optional): Uma data de referência para a atualização. Padrão é None.
Add layout
Adiciona o layout da página ao documento Bokeh. Se um layout já existir, ele será limpo antes de adicionar o novo.
Build page
Constrói a página completa, orquestrando a criação dos widgets, a definição do layout e sua adição ao documento.
Enable widgets
Habilita todos os widgets da página, tornando-os interativos.
Disable widgets
Desabilita todos os widgets da página, impedindo a interação do usuário.