예제 #1
0
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))
        ])
예제 #2
0
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,
예제 #4
0
# 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],
예제 #5
0
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()