def dai_instances_table(dai_instances: list): # dai instances in ui.table return ui.table( name='table_dai', columns=[ ui.table_column(name='id', label='Id', min_width='50px', max_width='51px', link=False), ui.table_column(name='name', label='Name', link=False), ui.table_column(name='status', label='Status', cell_type=ui.icon_table_cell_type(color='#CDDD38'), link=False), ui.table_column(name='description', label='Description', link=False), ui.table_column(name='version', label='Version', link=False) ], rows=[ ui.table_row(str(i), [ str(dai_instances[i]['id']), dai_instances[i]['name'], ICON_MAP[dai_instances[i]['status']], dai_instances[i]['status'], dai_instances[i]['version'] ]) for i in range(len(dai_instances)) ])
def get_column_headers_for_df(df, searchable): columns = [ ui.table_column(name=column, label=column, sortable=True, searchable=searchable, max_width='300') for column in df.columns ] columns += [ ui.table_column(name='status', label='Status', cell_type=ui.icon_table_cell_type()) ] return columns
notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100) ] # Create columns for our issue table. columns = [ ui.table_column( name='text', label='Issue', sortable=True, ), ui.table_column(name='status', label='Status'), ui.table_column(name='notifications', label='Notifications'), ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()), ui.table_column(name='views', label='Views', sortable=True), ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()), ] @app('/demo') async def serve(q: Q): q.page['form'] = ui.form_card( box='1 1 -1 11', items=[ ui.table( name='issues', columns=columns,
# Create some issues issues = [ Issue( text=fake.sentence(), status=('Closed' if i % 2 == 0 else 'Open'), progress=random.random(), icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'), notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100) ] # Create columns for our issue table. columns = [ ui.table_column(name='text', label='Issue', sortable=True, ), ui.table_column(name='status', label='Status'), ui.table_column(name='notifications', label='Notifications'), ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()), ui.table_column(name='views', label='Views', sortable=True), ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()), ] @app('/demo') async def serve(q: Q): q.page['form'] = ui.form_card(box='1 1 -1 11', items=[ ui.table( name='issues', columns=columns, rows=[ui.table_row( name=issue.id, cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), str(issue.progress)]) for issue in issues],
async def show_private_leaderboard(q: Q): columns = [ ui.table_column( name='game_id', label='Game #', sortable=False, searchable=False, max_width='150', data_type='string', link=False, ), ui.table_column( name='number', label='Number', sortable=True, max_width='90', data_type='number', ), ui.table_column( name='num_of_guesses', label='# of Guesses', sortable=True, max_width='120', data_type='number', ), ui.table_column( name='status', label='Status', sortable=False, filterable=True, max_width='90', data_type='string', cell_type=ui.icon_table_cell_type(), ), ui.table_column( name='game_time', label='Time (s)', sortable=True, max_width='150', data_type='number', ), ] scores = [ ui.table_row( name=game.game_id, cells=[ str(idx), str(game.number), str(len(game.guesses)), 'MedalSolid' if game.status == 'done' else 'Running', str(game.time_seconds()), ], ) for idx, game in enumerate(q.user.player.games.values(), 1) ] leaderboard = ui.table( name='leaderboard', columns=columns, rows=scores, groupable=False, downloadable=False, resettable=False, height='600px', ) del q.page['starting_game'] q.page['leaderboard'] = ui.form_card( box='3 2 5 9', items=[ ui.label('Scores from your games'), leaderboard, ui.text_xs('Рађ'), ui.buttons( items=[ ui.button(name='start_game', label='Play', primary=True), ui.button(name='leaderboard', label='Show all games', primary=True), ], justify='center', ), ], ) await q.page.save()