Skip to content

Commit e95e7fc

Browse files
committed
Make sure dropdown works
1 parent af48386 commit e95e7fc

File tree

5 files changed

+46
-6
lines changed

5 files changed

+46
-6
lines changed

pgml-dashboard/src/components/dropdown/dropdown.scss

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@
2020
width: 100%;
2121
}
2222

23+
&.expandable {
24+
.dropdown-menu {
25+
width: auto;
26+
min-width: 100%;
27+
}
28+
}
29+
2330
.dropdown-item {
2431
overflow: hidden;
2532
text-overflow: ellipsis;

pgml-dashboard/src/components/dropdown/mod.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ pub struct Dropdown {
3333

3434
/// Where the dropdown menu should appear
3535
menu_position: String,
36+
expandable: bool,
3637
}
3738

3839
impl Dropdown {
@@ -91,6 +92,11 @@ impl Dropdown {
9192
self.offset_collapsed = offset.to_owned();
9293
self
9394
}
95+
96+
pub fn expandable(mut self) -> Self {
97+
self.expandable = true;
98+
self
99+
}
94100
}
95101

96102
component!(Dropdown);

pgml-dashboard/src/components/dropdown/template.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
<% use crate::components::dropdown::DropdownValue; %>
33

44
<!-- Dropdown component -->
5-
<div class="dropdown">
5+
<div class="dropdown <% if expandable { %>expandable<% } %>">
66
<% if let DropdownValue::Icon(icon) = value { %>
77
<a
8-
class="horizontal-hide topnav-controlls dropdown-toggle expanded"
8+
class="topnav-controlls dropdown-toggle"
99
role="button"
1010
data-bs-toggle="dropdown"
1111
data-bs-offset="<%= offset %>"
@@ -15,7 +15,7 @@
1515
</a>
1616
<% } else if let DropdownValue::Text(text) = value { %>
1717
<button
18-
class="horizontal-hide btn btn-dropdown dropdown-toggle expanded <% if collapsable { %> leftnav-collapse-affect <% } %>"
18+
class="horizontal-hide btn btn-dropdown dropdown-toggle <% if collapsable { %> leftnav-collapse-affect <% } %>"
1919
role="button"
2020
data-bs-toggle="dropdown"
2121
data-bs-offset="<%= offset %>"

pgml-dashboard/src/components/navbar_web_app/template.html

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,11 @@
5959

6060
<% if !account_management_nav.links.is_empty() { %>
6161
<li class="d-none d-lg-flex nav-item align-items-center">
62-
<%+ Dropdown::new(account_management_nav.links.clone())
63-
.icon(ProfileIcon::new().into()) %>
62+
<%+
63+
Dropdown::new(account_management_nav.links.clone())
64+
.icon(ProfileIcon::new().into())
65+
.expandable()
66+
%>
6467
</li>
6568
<li class="nav-item d-flex d-lg-none align-items-center">
6669
<a class="nav-link p-lg-0" data-bs-toggle="collapse" data-bs-target=".horizontal-collapse">Account Management</a>

pgml-dashboard/src/guards.rs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,31 @@ impl Default for Cluster {
5959
.active(true),
6060
],
6161
},
62-
account_management_nav: StaticNav::default(),
62+
account_management_nav: StaticNav {
63+
links: vec![
64+
StaticNavLink::new("Notebooks".to_string(), "/dashboard".to_string()),
65+
StaticNavLink::new(
66+
"Projects".to_string(),
67+
"/dashboard?tab=Projects".to_string(),
68+
),
69+
StaticNavLink::new(
70+
"Models".to_string(),
71+
"/dashboard?tab=Models".to_string(),
72+
),
73+
StaticNavLink::new(
74+
"Snapshots".to_string(),
75+
"/dashboard?tab=Snapshots".to_string(),
76+
),
77+
StaticNavLink::new(
78+
"Upload data".to_string(),
79+
"/dashboard?tab=Upload_Data".to_string(),
80+
),
81+
StaticNavLink::new(
82+
"PostgresML.org".to_string(),
83+
"https://postgresml.org".to_string(),
84+
),
85+
],
86+
},
6387
upper_left_nav: StaticNav {
6488
links: vec![
6589
StaticNavLink::new(

0 commit comments

Comments
 (0)