|
|
from interface.actions import * |
|
|
|
|
|
|
|
|
def _start_application(): |
|
|
with gr.Blocks() as app: |
|
|
gr.Markdown("## Agendamiento de citas") |
|
|
|
|
|
home_tab = gr.Tab('Home', visible=True) |
|
|
with home_tab: |
|
|
with gr.Row(): |
|
|
schedule_button = gr.Button(value="Agendar Cita") |
|
|
search_button = gr.Button(value="Buscar Cita") |
|
|
|
|
|
schedule_tab = gr.Tab('Agendamientos', visible=False) |
|
|
with schedule_tab: |
|
|
gr.Markdown("## Agendar cita") |
|
|
identification = gr.Textbox(label="Identificación") |
|
|
name = gr.Textbox(label="Nombres") |
|
|
last_name = gr.Textbox(label="Apellidos") |
|
|
age = gr.Number(label="Edad") |
|
|
with gr.Row(): |
|
|
available_dates = gr.State() |
|
|
day = gr.Dropdown(label='Fecha') |
|
|
hour = gr.Dropdown(label='Hora') |
|
|
with gr.Row(): |
|
|
schedule_back_button = gr.Button(value="Volver") |
|
|
save_appointment_button = gr.Button(value="Agendar Cita") |
|
|
|
|
|
search_tab = gr.Tab('Buscar', visible=False) |
|
|
with search_tab: |
|
|
gr.Markdown("## Buscar cita") |
|
|
with gr.Row(): |
|
|
date_dropdown = gr.Dropdown(label='Citas por', allow_custom_value=True) |
|
|
search_appointment_button = gr.Button(value="Buscar") |
|
|
appointments_df = gr.Dataframe(headers=['Cedula', 'Nombres', 'Hora']) |
|
|
search_back_button = gr.Button(value='Volver') |
|
|
|
|
|
|
|
|
schedule_button.click( |
|
|
make_appointment, |
|
|
None, |
|
|
[home_tab, schedule_tab, search_tab, available_dates, day, hour] |
|
|
) |
|
|
|
|
|
|
|
|
schedule_back_button.click( |
|
|
get_back_home, |
|
|
None, |
|
|
[home_tab, schedule_tab, search_tab] |
|
|
) |
|
|
search_back_button.click( |
|
|
get_back_home, |
|
|
None, |
|
|
[home_tab, schedule_tab, search_tab] |
|
|
) |
|
|
|
|
|
|
|
|
day.change( |
|
|
get_available_hours, |
|
|
[day, available_dates], |
|
|
[hour] |
|
|
) |
|
|
|
|
|
|
|
|
save_appointment_button.click( |
|
|
create_appointment, |
|
|
[identification, name, last_name, age, day, hour], |
|
|
[home_tab, schedule_tab, search_tab] |
|
|
) |
|
|
|
|
|
|
|
|
search_button.click( |
|
|
search_appointments_days, |
|
|
None, |
|
|
[home_tab, schedule_tab, search_tab, date_dropdown] |
|
|
) |
|
|
|
|
|
|
|
|
search_appointment_button.click( |
|
|
search_appointments, |
|
|
date_dropdown, |
|
|
appointments_df |
|
|
) |
|
|
|
|
|
|
|
|
app.launch() |
|
|
|
|
|
def init_application(): |
|
|
_start_application() |
|
|
|