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
- Visão geral
- Adequação page
- Init
- Create Widgets
- Append Changes
- Set dates
- Discard Save changes
- Discard Changes
- Discard
- Enviar adequações
- Create hour select
- On hour selectchange
- Create adequação widgets
- Toggle legend
- Create widgets 07h
- 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.