Skip to main content

AdequacaoPage

Introdução

Serve como base para todas as páginas do aplicativo que envolvem a aplicação de alguma técnica de adequação de dados.

Índice

  1. Visão geral
  2. Adequação page
  3. Init
  4. Create Widgets
  5. Append Changes
  6. Set dates
  7. Discard Save changes
  8. Discard Changes
  9. Discard
  10. Enviar adequações
  11. Create hour select
  12. On hour selectchange
  13. Create adequação widgets
  14. Toggle legend
  15. Create widgets 07h
  16. Create widgets 17h

Visão geral

A classe AdequacaoPage atua como uma abstração fundamental para páginas de adequação, garantindo consistência e reusabilidade de código. Suas principais funcionalidades incluem:

  • Gerenciamento de Adequações: Fornece métodos padronizados para adicionar, salvar e descartar adequações feitas pelo usuário.
  • Integração Bokeh: Utiliza componentes Bokeh para a criação de gráficos interativos e widgets de entrada, como seletores de data e botões.
  • Flexibilidade de Visualização: Permite a criação de gráficos com diferentes séries de dados (07h e 17h, medidas e estimadas) e a visualização de inconsistências.
  • Diálogos de Confirmação: Implementa diálogos para confirmar ações críticas como salvar ou descartar alterações.
  • Customização de Dados: Facilita o ajuste de datas e a manipulação de DataFrames para exibir dados relevantes.

Adequação page

Classe abstrata que contém abstrações para as páginas que envolvem alguma técnica de adequação. Define métodos para salvar e descartar adequações, além de criação de widgets.

Init

Inicializa uma nova instância da AdequacaoPage.

Parâmetros: doc (Document): O documento Bokeh ao qual os elementos serão adicionados. token_manager (TokenManager): O gerenciador de tokens para autenticação. data_provider (DataProvider): O provedor de dados, inicialmente None. date (date | None): A data de referência, inicialmente None. date_picker (DatePicker | None): O datepicker associado à página, inicialmente None.

Create Widgets

Cria os widgets básicos para salvar e descartar adequações.

Append Changes ch="appendChanges">/a>

Adiciona os dados das cotas adequadas à lista de mudanças realizadas pelo usuário durante a sessão.

Parâmetros: row (pd.Series): Uma linha de dados (Series) contendo a cota que sofreu alteração.

Set dates a name="setates"/a>

Ajusta a data inicial de acordo com o estado de self.date e restringe-a dentro dos limites do data_provider.

Discard Save changes ## Save changes

Guarda as mudanças realizadas pelo analista e oferece um diálogo de confirmação antes de enviá-las.

Discardchana name="discardchanges"/a>

Oferece um diálogo para descarte de todas as mudanças realizadas na sessão atual.

Discard

Descarta as mudanças realizadas, revertendo as cotas adequadas para seus valores originais no data_provider e limpando a lista de adequações.

Enviar adequações

Envia as adequações para serem persistidas no banco de dados. Deve ser implementado pelas subclasses.

Parâmetros: changes_df (pd.DataFrame): O DataFrame contendo as mudanças a serem registradas.

Create hour select a name="createHourSelect">

Cria um widget Select para a seleção de horário (07h ou 17h).

Retorno: Select: O widget de seleção de hora.

On hour selectchange a name="onHourSelechange"a>

Método vazio para ser sobrescrito por subclasses, que será chamado quando a seleção de hora mudar.

Create adequação widgets

Cria os componentes comuns para uma página de adequação, incluindo alertas, inputs de delta de dias e o gráfico principal.

Toggllegenda name="toggleLegend"/a>

Ativa ou desativa a exibição da legenda no gráfico.

Parâmetros: plot (figure): O objeto do gráfico Bokeh.

Create widgets07h

Cria os widgets e glyphs específicos para os dados das 07h no gráfico.

Parâmetros: estimate_label (str): O rótulo para a cota adequada/estimada. Padrão é 'cota_sipam'.

Create widgets 17h

Cria os widgets e glyphs específicos para os dados das 17h no gráfico.

Parâmetros: estimate_label (str): O rótulo para a cota adequada/estimada. Padrão é 'cota_sipam'.

Get "getlot"/a>

Cria um gráfico de adequações pendentes, similar ao gráfico da supervisão. Método abstrato a ser implementado por subclasses.