|
1 | | -from shiny import * |
| 1 | +from shiny import App, Inputs, Outputs, Session, reactive, ui |
2 | 2 |
|
3 | | -app_ui = ui.page_fluid( |
4 | | - ui.layout_sidebar( |
5 | | - ui.panel_sidebar( |
6 | | - ui.input_action_button("add", "Add 'Dynamic' tab"), |
7 | | - ui.input_action_button("removeFoo", "Remove 'Foo' tabs"), |
8 | | - ui.input_action_button("addFoo", "Add New 'Foo' tab"), |
| 3 | +app_ui = ui.page_sidebar( |
| 4 | + ui.sidebar( |
| 5 | + ui.input_action_button("add", "Add 'Dynamic' tab"), |
| 6 | + ui.input_action_button("removeFoo", "Remove 'Foo' tabs"), |
| 7 | + ui.input_action_button("addFoo", "Add New 'Foo' tab"), |
| 8 | + ), |
| 9 | + ui.navset_tab( |
| 10 | + ui.nav_panel("Hello", "This is the hello tab"), |
| 11 | + ui.nav_panel("Foo", "This is the Foo tab", value="Foo"), |
| 12 | + ui.nav_menu( |
| 13 | + "Static", |
| 14 | + ui.nav_panel("Static 1", "Static 1", value="s1"), |
| 15 | + ui.nav_panel("Static 2", "Static 2", value="s2"), |
| 16 | + value="Menu", |
9 | 17 | ), |
10 | | - ui.panel_main( |
11 | | - ui.navset_tab( |
12 | | - ui.nav("Hello", "This is the hello tab"), |
13 | | - ui.nav("Foo", "This is the Foo tab", value="Foo"), |
14 | | - ui.nav_menu( |
15 | | - "Static", |
16 | | - ui.nav("Static 1", "Static 1", value="s1"), |
17 | | - ui.nav("Static 2", "Static 2", value="s2"), |
18 | | - value="Menu", |
19 | | - ), |
20 | | - id="tabs", |
21 | | - ), |
22 | | - ), |
23 | | - ) |
| 18 | + id="tabs", |
| 19 | + ), |
24 | 20 | ) |
25 | 21 |
|
26 | 22 |
|
27 | 23 | def server(input: Inputs, output: Outputs, session: Session): |
28 | | - @reactive.Effect() |
29 | | - @event(input.add) |
| 24 | + @reactive.effect() |
| 25 | + @reactive.event(input.add) |
30 | 26 | def _(): |
31 | 27 | id = "Dynamic-" + str(input.add()) |
32 | 28 | ui.nav_insert( |
33 | 29 | "tabs", |
34 | | - ui.nav(id, id), |
| 30 | + ui.nav_panel(id, id), |
35 | 31 | target="s2", |
36 | 32 | position="before", |
37 | 33 | ) |
38 | 34 |
|
39 | | - @reactive.Effect() |
40 | | - @event(input.removeFoo) |
| 35 | + @reactive.effect() |
| 36 | + @reactive.event(input.removeFoo) |
41 | 37 | def _(): |
42 | 38 | ui.nav_remove("tabs", target="Foo") |
43 | 39 |
|
44 | | - @reactive.Effect() |
45 | | - @event(input.addFoo) |
| 40 | + @reactive.effect() |
| 41 | + @reactive.event(input.addFoo) |
46 | 42 | def _(): |
47 | 43 | n = str(input.addFoo()) |
48 | 44 | ui.nav_insert( |
49 | 45 | "tabs", |
50 | | - ui.nav("Foo-" + n, "This is the new Foo-" + n + " tab", value="Foo"), |
| 46 | + ui.nav_panel("Foo-" + n, "This is the new Foo-" + n + " tab", value="Foo"), |
51 | 47 | target="Menu", |
52 | 48 | position="before", |
53 | 49 | select=True, |
|
0 commit comments