Spaces:
Running
Running
import panel as pn | |
from modules.Home.HomeContent import ( | |
create_home_header, | |
create_home_main_area, | |
create_home_output_box, | |
create_home_warning_box, | |
create_home_plots_area, | |
create_home_help_area, | |
create_home_footer | |
) | |
from utils.sidebar import create_sidebar | |
# Initialize panel extension | |
pn.extension() | |
# Create a boolean status indicator | |
busy_indicator = pn.indicators.BooleanStatus( | |
value=True, color="warning", width=30, height=30 | |
) | |
# Create the header | |
header = create_home_header() | |
# Create the main area | |
main_area = create_home_main_area() | |
# Create the output box | |
output_box = create_home_output_box() | |
# Create the warning box | |
warning_box = create_home_warning_box() | |
# Create the plots container | |
bokeh_plots = create_home_plots_area() | |
# Create the help box | |
help_box = create_home_help_area() | |
# Create the footer | |
footer = create_home_footer() | |
# Containers for changing the layouts dynamically | |
header_container = pn.Column(header) | |
main_area_container = pn.Column(main_area) | |
output_box_container = pn.Column(output_box) | |
warning_box_container = pn.Column(warning_box) | |
bokeh_plots_container = pn.Column(bokeh_plots) | |
help_box_container = pn.Column(help_box) | |
footer_container = pn.Column(footer) | |
sidebar = create_sidebar( | |
main_area=main_area_container, | |
header=header_container, | |
footer=footer_container, | |
output_box=output_box_container, | |
warning_box=warning_box_container, | |
help_box=help_box_container, | |
) | |
# Create a FastGridTemplate layout | |
layout = pn.template.FastGridTemplate( | |
# Basic Panel layout components | |
main=[], | |
header="Next-Generation Spectral Timing Made Easy", | |
sidebar=[sidebar], | |
modal=True, | |
# Parameters for the FastGridTemplate | |
site="", # Not shown as already doing in title | |
site_url="StingrayExplorer", | |
logo="./assets/images/stingray_explorer.png", | |
title="Stingray Explorer", | |
favicon="./assets/images/stingray_explorer.png", | |
# sidebar_footer="Sidebar Footer", | |
# config= (TemplateConfig): Contains configuration options similar to pn.config but applied to the current Template only. (Currently only css_files is supported) But css_files are now deprecated. | |
busy_indicator=busy_indicator, | |
# For configuring the grid | |
cols={"lg": 12, "md": 12, "sm": 12, "xs": 4, "xxs": 2}, | |
breakpoints={"lg": 1200, "md": 996, "sm": 768, "xs": 480, "xxs": 0}, | |
row_height=10, | |
dimensions={"minW": 0, "maxW": float("inf"), "minH": 0, "maxH": float("inf")}, | |
prevent_collision=False, | |
save_layout=True, | |
# Styling parameter | |
theme="default", | |
theme_toggle=False, | |
background_color="#FFFFFF", | |
neutral_color="#D3D3D3", | |
accent_base_color="#5ead61", | |
header_background="#000000", | |
header_color="#c4e1c5", | |
header_neutral_color="#D3D3D3", | |
header_accent_base_color="#c4e1c5", | |
corner_radius=7, | |
# font="", | |
# font_url="", | |
shadow=True, | |
main_layout="card", | |
# Layout parameters | |
collapsed_sidebar=False, | |
sidebar_width=250, | |
main_max_width="100%", | |
# Meta data | |
meta_description="Stingray Explorer Dashboard", | |
meta_keywords="Stingray, Explorer, Dashboard, Astronomy, Stingray Explorer, X-ray Astronomy, X-ray Data Analysis", | |
meta_author="Kartik Mandar", | |
meta_refresh="", | |
meta_viewport="width=device-width, initial-scale=1", | |
base_url="/", | |
base_target="_self", | |
) | |
layout.main[0:10, 0:12] = header_container | |
layout.main[10:45, 0:8] = main_area_container | |
layout.main[10:27, 8:12] = output_box_container | |
layout.main[27:45, 8:12] = warning_box_container | |
layout.main[45:85, 0:12] = bokeh_plots_container | |
layout.main[85:120, 0:12] = help_box_container | |
layout.main[120:150, 0:12] = footer_container | |
# Serve the layout | |
layout.servable() | |