OCEANAI / app /event_handlers /event_handlers.py
DmitryRyumin's picture
Summary
20b6a53
raw
history blame
5.56 kB
"""
File: event_handlers.py
Author: Dmitry Ryumin
Description: File containing functions for configuring event handlers for Gradio components.
License: MIT License
"""
import gradio as gr
# Importing necessary components for the Gradio app
from app.event_handlers.files import (
event_handler_files,
event_handler_files_select,
)
from app.event_handlers.examples_blocks import event_handler_examples_blocks
from app.event_handlers.clear_blocks import event_handler_clear_blocks
from app.event_handlers.calculate_pt_scores_blocks import (
event_handler_calculate_pt_scores_blocks,
)
from app.event_handlers.practical_tasks import event_handler_practical_tasks
from app.event_handlers.practical_subtasks import event_handler_practical_subtasks
from app.event_handlers.calculate_practical_tasks import (
event_handler_calculate_practical_task_blocks,
)
from app.event_handlers.practical_task_sorted import event_handler_practical_task_sorted
def setup_app_event_handlers(
notifications,
files,
video,
examples,
calculate_pt_scores,
clear_app,
pt_scores,
csv_pt_scores,
practical_tasks,
practical_subtasks,
settings_practical_tasks,
threshold_professional_skills,
dropdown_professional_skills,
target_score_ope,
target_score_con,
target_score_ext,
target_score_agr,
target_score_nneu,
equal_coefficient,
calculate_practical_task,
practical_subtasks_selected,
practical_tasks_column,
sorted_videos,
sorted_videos_column,
practical_task_sorted,
csv_practical_task_sorted,
video_sorted,
in_development,
):
# Events
files.change(
event_handler_files,
[files],
[notifications, video, calculate_pt_scores, clear_app],
queue=True,
)
files.select(
event_handler_files_select,
[files],
[video],
queue=True,
)
gr.on(
triggers=[calculate_pt_scores.click],
fn=event_handler_calculate_pt_scores_blocks,
inputs=[
files,
],
outputs=[
notifications,
pt_scores,
csv_pt_scores,
practical_tasks_column,
practical_tasks,
practical_subtasks,
practical_subtasks_selected,
settings_practical_tasks,
threshold_professional_skills,
dropdown_professional_skills,
target_score_ope,
target_score_con,
target_score_ext,
target_score_agr,
target_score_nneu,
equal_coefficient,
calculate_practical_task,
sorted_videos,
sorted_videos_column,
practical_task_sorted,
csv_practical_task_sorted,
video_sorted,
in_development,
],
queue=True,
)
examples.click(
fn=event_handler_examples_blocks,
inputs=[],
outputs=[
files,
],
queue=True,
)
clear_app.click(
fn=event_handler_clear_blocks,
inputs=[],
outputs=[
notifications,
files,
video,
calculate_pt_scores,
clear_app,
pt_scores,
csv_pt_scores,
practical_tasks_column,
practical_tasks,
practical_subtasks,
practical_subtasks_selected,
settings_practical_tasks,
threshold_professional_skills,
dropdown_professional_skills,
target_score_ope,
target_score_con,
target_score_ext,
target_score_agr,
target_score_nneu,
equal_coefficient,
sorted_videos,
sorted_videos_column,
practical_task_sorted,
csv_practical_task_sorted,
video_sorted,
in_development,
],
queue=True,
)
practical_tasks.change(
event_handler_practical_tasks,
[practical_tasks, practical_subtasks_selected],
[practical_subtasks],
queue=True,
)
practical_subtasks.change(
event_handler_practical_subtasks,
[practical_tasks, practical_subtasks, practical_subtasks_selected],
[
practical_subtasks_selected,
settings_practical_tasks,
threshold_professional_skills,
dropdown_professional_skills,
target_score_ope,
target_score_con,
target_score_ext,
target_score_agr,
target_score_nneu,
equal_coefficient,
],
queue=True,
)
calculate_practical_task.click(
fn=event_handler_calculate_practical_task_blocks,
inputs=[
files,
practical_subtasks,
pt_scores,
threshold_professional_skills,
dropdown_professional_skills,
target_score_ope,
target_score_con,
target_score_ext,
target_score_agr,
target_score_nneu,
equal_coefficient,
],
outputs=[
sorted_videos,
sorted_videos_column,
practical_task_sorted,
csv_practical_task_sorted,
video_sorted,
in_development,
],
queue=True,
)
practical_task_sorted.select(
event_handler_practical_task_sorted,
[files, practical_task_sorted],
[video_sorted],
queue=True,
)