import streamlit as st import hydralit_components as hc import time from hydralit import HydraHeadApp class LoaderTestApp(HydraHeadApp): def __init__(self, title = 'Loader Playground', delay=0, **kwargs): self.__dict__.update(kwargs) self.title = title self.delay = delay def run(self): single_loader_list={ 'pacman':{'loader': hc.Loaders.pacman,'length': 0}, 'points_line':{'loader': hc.Loaders.points_line,'length': 0}, 'grid_points':{'loader': hc.Loaders.grid_points,'length': 0}, 'pulse_bars':{'loader': hc.Loaders.pulse_bars,'length': 0}, 'showcase_pretty':{'loader': hc.Loaders.showcase_pretty,'length': 0} } multi_loader_list={ 'standard_loaders': {'loader': hc.Loaders.standard_loaders,'length': 8}, 'pretty_loaders': {'loader': hc.Loaders.pretty_loaders,'length': 15} } s,c1,c2,c3 = st.columns([2,4,4,4]) loader_delay = st.slider('Loader Display Time (sec)', 2, 20, 5) loader_mixer = s.checkbox('Multi-select Loaders') if loader_mixer: loader_list = multi_loader_list loader_replicat = s.checkbox('Enable Loader Replication') selected_loader = c1.selectbox('Select Loader',loader_list.keys()) if loader_replicat: loader_index = c2.selectbox('Loader index',list(range(loader_list[selected_loader]['length']))) loader_rep = c3.selectbox('Loader Replication',[1,2,3,4,5,6,7,8,9,10]) loader_index=[loader_index]*loader_rep else: loader_index = c2.multiselect('Loader indexes',list(range(loader_list[selected_loader]['length']))) else: loader_list = single_loader_list loader_index = 0 selected_loader = c1.selectbox('Select Loader',loader_list.keys()) b,c, = st.columns([3,7]) if b.button('Unleash the Loader!'): with hc.HyLoader('Now doing loading',loader_list[selected_loader]['loader'],index=loader_index): time.sleep(loader_delay) cex = c.expander('Show Code') cex.code( """ import hydralit_components as hc single_loader_list={ 'pacman': hc.Loaders.pacman 'points_line': hc.Loaders.points_line 'grid_points': hc.Loaders.grid_points 'pulse_bars': hc.Loaders.pulse_bars 'showcase_pretty': hc.Loaders.showcase_pretty } multi_loader_list={ 'standard_loaders': hc.Loaders.standard_loaders, 'pretty_loaders': hc.Loaders.pretty_loaders } # a dedicated single loader with hc.HyLoader('Now doing loading',single_loader_list['pacman'],): time.sleep(loader_delay) # for 3 loaders from the standard loader group with hc.HyLoader('Now doing loading',multi_loader_list['standard_loaders'],index=[3,0,5]): time.sleep(loader_delay) # for 1 (index=5) from the standard loader group with hc.HyLoader('Now doing loading',multi_loader_list['standard_loaders'],index=5): time.sleep(loader_delay) # for 4 replications of the same loader (index=2) from the standard loader group with hc.HyLoader('Now doing loading',multi_loader_list['standard_loaders'],index=[2,2,2,2]): time.sleep(loader_delay) """ )