-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathapp.py
More file actions
51 lines (45 loc) · 1.87 KB
/
Copy pathapp.py
File metadata and controls
51 lines (45 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import pandas as pd
from pytabulator.shiny_bindings import output_tabulator, render_tabulator
from pytabulator.tabulator import Tabulator
from pytabulator.editors import NumberEditor, StarEditor, ProgressEditor
from pytabulator.formatters import StarFormatter
from shiny import App, render, ui
app_ui = ui.page_fluid(
ui.output_text_verbatim("txt", placeholder=True),
output_tabulator("tabulator"),
)
def server(input, output, session):
@render_tabulator
def tabulator():
df = pd.read_csv(
"https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv"
)
"""
return Tabulator(df, options={"height": 311}).set_column_formatter(
"Pclass", "star", {"stars": 3}, hozAlign="center"
)
"""
return (
Tabulator(df)
.set_options(height=311)
# .set_column_formatter_star("Pclass", 3)
.set_column_formatter("Pclass", StarFormatter(stars=3), hoz_align="center")
.set_column_formatter_tick_cross("Survived", hoz_align="center")
# .set_column_editor("Fare", "number", dict(min=0, max=10))
.set_column_editor_number("Fare", min_=0, max_=5)
.set_column_title("Pclass", "PassengerClass")
.set_column_editor(["Name", "Sex"], "input", hoz_align="center")
.set_column_editor("PassengerId", NumberEditor(min=0, max=1000, step=1))
.set_column_editor("Pclass", StarEditor())
.set_column_formatter("Fare", "progress")
.set_column_editor(
"Fare",
ProgressEditor(min=0, max=100, element_attributes=dict(title="Hey ho")),
hoz_align="left",
)
)
@render.code
async def txt():
print(input.tabulator_row_clicked())
return str(input.tabulator_row_clicked())
app = App(app_ui, server)