Skip to main content

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

  1. Visão Geral
  2. With spinner
  3. Setup data
  4. Create widgets
  5. Create layout
  6. Update data
  7. Add layout
  8. Build page
  9. Enable widgets
  10. 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.