Skip to content

Commit 7b51031

Browse files
authored
fix components link in enterprise section (#1504)
1 parent 6c21902 commit 7b51031

File tree

4 files changed

+154
-30
lines changed

4 files changed

+154
-30
lines changed

docs/enterprise/components.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
title: Enterprise Components
3+
---
4+
5+
```python exec
6+
import reflex as rx
7+
from pcweb.pages.docs import enterprise
8+
from pcweb.templates.docpage import h1_comp, text_comp_2
9+
from pcweb.components.icons import get_icon
10+
11+
def enterprise_component_grid():
12+
sections = [
13+
{
14+
"title": "AG Grid",
15+
"description": "Advanced data grid with sorting, filtering, editing, and pagination",
16+
"link": enterprise.ag_grid.index.path,
17+
"components": [
18+
("Overview", enterprise.ag_grid.index.path),
19+
("Column Definitions", enterprise.ag_grid.column_defs.path),
20+
("Aligned Grids", enterprise.ag_grid.aligned_grids.path),
21+
("Model Wrapper", enterprise.ag_grid.model_wrapper.path),
22+
("Pivot Mode", enterprise.ag_grid.pivot_mode.path),
23+
("Theme", enterprise.ag_grid.theme.path),
24+
("Value Transformers", enterprise.ag_grid.value_transformers.path),
25+
]
26+
},
27+
{
28+
"title": "AG Chart",
29+
"description": "Interactive charts and data visualization",
30+
"link": enterprise.ag_chart.path,
31+
"components": [
32+
("Overview", enterprise.ag_chart.path),
33+
]
34+
},
35+
{
36+
"title": "Interactive Components",
37+
"description": "Drag-and-drop and mapping functionality",
38+
"link": enterprise.drag_and_drop.path,
39+
"components": [
40+
("Drag and Drop", enterprise.drag_and_drop.path),
41+
("Mapping", enterprise.map.index.path),
42+
]
43+
},
44+
{
45+
"title": "Mantine",
46+
"description": "Rich UI components from Mantine library",
47+
"link": enterprise.mantine.index.path,
48+
"components": [
49+
("Overview", enterprise.mantine.index.path),
50+
("Autocomplete", enterprise.mantine.autocomplete.path),
51+
("Collapse", enterprise.mantine.collapse.path),
52+
("Combobox", enterprise.mantine.combobox.path),
53+
("JSON Input", enterprise.mantine.json_input.path),
54+
("Loading Overlay", enterprise.mantine.loading_overlay.path),
55+
("Multi Select", enterprise.mantine.multi_select.path),
56+
("Number Formatter", enterprise.mantine.number_formatter.path),
57+
("Pill", enterprise.mantine.pill.path),
58+
("Ring Progress", enterprise.mantine.ring_progress.path),
59+
("Semi Circle Progress", enterprise.mantine.semi_circle_progress.path),
60+
("Spoiler", enterprise.mantine.spoiler.path),
61+
("Tags Input", enterprise.mantine.tags_input.path),
62+
("Timeline", enterprise.mantine.timeline.path),
63+
("Tree", enterprise.mantine.tree.path),
64+
]
65+
}
66+
]
67+
68+
cards = []
69+
for section in sections:
70+
cards.append(
71+
rx.box(
72+
rx.link(
73+
rx.el.h1(
74+
section["title"],
75+
class_name="font-large text-slate-12",
76+
),
77+
get_icon("new_tab", class_name="text-slate-11 [&>svg]:size-4"),
78+
href=section["link"],
79+
underline="none",
80+
class_name="px-4 py-2 bg-slate-1 hover:bg-slate-3 transition-bg flex flex-row justify-between items-center !text-slate-12",
81+
),
82+
rx.text(
83+
section["description"],
84+
class_name="px-4 py-2 font-small text-slate-9 border-t border-slate-5",
85+
),
86+
rx.box(
87+
*[
88+
rx.link(
89+
comp[0],
90+
href=comp[1],
91+
class_name="font-small text-slate-11 hover:!text-violet-9 transition-color w-fit",
92+
)
93+
for comp in section["components"]
94+
],
95+
class_name="flex flex-col gap-2.5 px-4 py-2 border-t border-slate-5",
96+
),
97+
class_name="flex flex-col border border-slate-5 rounded-xl bg-slate-2 shadow-large overflow-hidden",
98+
)
99+
)
100+
101+
return rx.box(
102+
*cards,
103+
class_name="grid grid-cols-1 lg:grid-cols-2 gap-6",
104+
)
105+
106+
component_grid = enterprise_component_grid()
107+
```
108+
109+
```python eval
110+
h1_comp(text="Enterprise Components")
111+
```
112+
113+
```python eval
114+
text_comp_2(text="Advanced UI components and features to enhance your Reflex applications. Available for free with the 'Built with Reflex' badge, or without the badge with an enterprise license.")
115+
```
116+
117+
```python eval
118+
component_grid
119+
```

pcweb/components/docpage/sidebar/sidebar.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -602,9 +602,7 @@ def sidebar_comp(
602602
),
603603
create_sidebar_section(
604604
"Components",
605-
enterprise_component_items[0]
606-
.children[0]
607-
.link.replace("_", "-"),
605+
enterprise.components.path,
608606
enterprise_component_items,
609607
enterprise_index,
610608
url,

pcweb/components/docpage/sidebar/sidebar_items/enterprise.py

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55

66
def get_sidebar_items_enterprise_usage():
77
"""Get the enterprise usage sidebar items."""
8+
from pcweb.pages.docs import enterprise
9+
810
return [
911
SideBarItem(
1012
names="Overview",
1113
children=[
1214
SideBarItem(
1315
names="How to use Enterprise",
14-
link="/docs/enterprise/overview/",
16+
link=enterprise.overview.path,
1517
),
1618
],
1719
),
@@ -20,11 +22,11 @@ def get_sidebar_items_enterprise_usage():
2022
children=[
2123
SideBarItem(
2224
names="Built with Reflex",
23-
link="/docs/enterprise/built-with-reflex/",
25+
link=enterprise.built_with_reflex.path,
2426
),
2527
SideBarItem(
2628
names="Single Port Proxy",
27-
link="/docs/enterprise/single-port-proxy/",
29+
link=enterprise.single_port_proxy.path,
2830
),
2931
],
3032
),
@@ -33,37 +35,39 @@ def get_sidebar_items_enterprise_usage():
3335

3436
def get_sidebar_items_enterprise_components():
3537
"""Get the enterprise components sidebar items."""
38+
from pcweb.pages.docs import enterprise
39+
3640
return [
3741
SideBarItem(
3842
names="AG Grid",
3943
children=[
4044
SideBarItem(
4145
names="Overview",
42-
link="/docs/enterprise/ag_grid/",
46+
link=enterprise.ag_grid.index.path,
4347
),
4448
SideBarItem(
4549
names="Column Definitions",
46-
link="/docs/enterprise/ag_grid/column-defs/",
50+
link=enterprise.ag_grid.column_defs.path,
4751
),
4852
SideBarItem(
4953
names="Aligned Grids",
50-
link="/docs/enterprise/ag_grid/aligned-grids/",
54+
link=enterprise.ag_grid.aligned_grids.path,
5155
),
5256
SideBarItem(
5357
names="Model Wrapper",
54-
link="/docs/enterprise/ag_grid/model-wrapper/",
58+
link=enterprise.ag_grid.model_wrapper.path,
5559
),
5660
SideBarItem(
5761
names="Pivot Mode",
58-
link="/docs/enterprise/ag_grid/pivot-mode/",
62+
link=enterprise.ag_grid.pivot_mode.path,
5963
),
6064
SideBarItem(
6165
names="Theme",
62-
link="/docs/enterprise/ag_grid/theme/",
66+
link=enterprise.ag_grid.theme.path,
6367
),
6468
SideBarItem(
6569
names="Value Transformers",
66-
link="/docs/enterprise/ag_grid/value-transformers/",
70+
link=enterprise.ag_grid.value_transformers.path,
6771
),
6872
],
6973
),
@@ -72,7 +76,7 @@ def get_sidebar_items_enterprise_components():
7276
children=[
7377
SideBarItem(
7478
names="Overview",
75-
link="/docs/enterprise/ag_chart/",
79+
link=enterprise.ag_chart.path,
7680
),
7781
],
7882
),
@@ -81,11 +85,11 @@ def get_sidebar_items_enterprise_components():
8185
children=[
8286
SideBarItem(
8387
names="Drag and Drop",
84-
link="/docs/enterprise/drag-and-drop/",
88+
link=enterprise.drag_and_drop.path,
8589
),
8690
SideBarItem(
8791
names="Mapping",
88-
link="/docs/enterprise/map/",
92+
link=enterprise.map.index.path,
8993
),
9094
],
9195
),
@@ -94,59 +98,59 @@ def get_sidebar_items_enterprise_components():
9498
children=[
9599
SideBarItem(
96100
names="Overview",
97-
link="/docs/enterprise/mantine/",
101+
link=enterprise.mantine.index.path,
98102
),
99103
SideBarItem(
100104
names="Autocomplete",
101-
link="/docs/enterprise/mantine/autocomplete/",
105+
link=enterprise.mantine.autocomplete.path,
102106
),
103107
SideBarItem(
104108
names="Collapse",
105-
link="/docs/enterprise/mantine/collapse/",
109+
link=enterprise.mantine.collapse.path,
106110
),
107111
SideBarItem(
108112
names="JSON Input",
109-
link="/docs/enterprise/mantine/json-input/",
113+
link=enterprise.mantine.json_input.path,
110114
),
111115
SideBarItem(
112116
names="Loading Overlay",
113-
link="/docs/enterprise/mantine/loading-overlay/",
117+
link=enterprise.mantine.loading_overlay.path,
114118
),
115119
SideBarItem(
116120
names="Multi Select",
117-
link="/docs/enterprise/mantine/multi-select/",
121+
link=enterprise.mantine.multi_select.path,
118122
),
119123
SideBarItem(
120124
names="Number Formatter",
121-
link="/docs/enterprise/mantine/number-formatter/",
125+
link=enterprise.mantine.number_formatter.path,
122126
),
123127
SideBarItem(
124128
names="Pill",
125-
link="/docs/enterprise/mantine/pill/",
129+
link=enterprise.mantine.pill.path,
126130
),
127131
SideBarItem(
128132
names="Ring Progress",
129-
link="/docs/enterprise/mantine/ring-progress/",
133+
link=enterprise.mantine.ring_progress.path,
130134
),
131135
SideBarItem(
132136
names="Semi Circle Progress",
133-
link="/docs/enterprise/mantine/semi-circle-progress/",
137+
link=enterprise.mantine.semi_circle_progress.path,
134138
),
135139
SideBarItem(
136140
names="Spoiler",
137-
link="/docs/enterprise/mantine/spoiler/",
141+
link=enterprise.mantine.spoiler.path,
138142
),
139143
SideBarItem(
140144
names="Tags Input",
141-
link="/docs/enterprise/mantine/tags-input/",
145+
link=enterprise.mantine.tags_input.path,
142146
),
143147
SideBarItem(
144148
names="Timeline",
145-
link="/docs/enterprise/mantine/timeline/",
149+
link=enterprise.mantine.timeline.path,
146150
),
147151
SideBarItem(
148152
names="Tree",
149-
link="/docs/enterprise/mantine/tree/",
153+
link=enterprise.mantine.tree.path,
150154
),
151155
],
152156
),

pcweb/pages/docs/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,9 @@ def comp():
223223
title = rx.utils.format.to_snake_case(os.path.basename(doc).replace(".md", ""))
224224
title2 = to_title_case(title)
225225
route = rx.utils.format.to_kebab_case(f"/{doc.replace('.md', '/')}")
226+
# Handle index files: /folder/index/ -> /folder/
227+
if route.endswith("/index/"):
228+
route = route[:-7] + "/"
226229

227230
comp = get_component(doc, title)
228231

0 commit comments

Comments
 (0)