From 1e372af2a3085e806e1259cfdc4d3a905771736c Mon Sep 17 00:00:00 2001 From: Dan <39170265+chillenberger@users.noreply.github.com> Date: Sat, 9 Nov 2024 09:17:02 -0700 Subject: [PATCH 1/2] checkpoint --- pgml-dashboard/Cargo.lock | 74 +++++------ pgml-dashboard/src/api/cms.rs | 2 +- .../components/breadcrumbs/breadcrumbs.scss | 6 + .../src/components/breadcrumbs/mod.rs | 13 +- .../src/components/breadcrumbs/template.html | 15 +-- .../src/components/dropdown/dropdown.scss | 114 ----------------- .../src/components/dropdown/template.html | 48 ------- .../dropdown/block/index}/dropdown_frame.html | 0 .../dropdown/block/index}/dropdown_items.html | 0 .../inputs/dropdown/block/index/index.scss | 117 ++++++++++++++++++ .../dropdown/block/index}/mod.rs | 20 +-- .../inputs/dropdown/block/index/template.html | 50 ++++++++ .../components/inputs/dropdown/block/mod.rs | 6 + .../inputs/dropdown/inline/index/index.scss | 52 ++++++++ .../dropdown/inline/index/index_controller.js | 14 +++ .../inputs/dropdown/inline/index/mod.rs | 42 +++++++ .../dropdown/inline/index/template.html | 14 +++ .../components/inputs/dropdown/inline/mod.rs | 6 + .../src/components/inputs/dropdown/mod.rs | 8 ++ pgml-dashboard/src/components/inputs/mod.rs | 3 + .../components/inputs/select/template.html | 4 +- .../inputs/text/search/search/template.html | 2 +- .../src/components/left_nav_menu/mod.rs | 17 --- .../components/left_nav_menu/template.html | 20 --- pgml-dashboard/src/components/mod.rs | 8 -- .../left_nav/menu/index/index.scss} | 2 +- .../left_nav/menu/index/index_controller.js} | 0 .../navigation/left_nav/menu/index/mod.rs | 16 +++ .../left_nav/menu/index/template.html | 7 ++ .../navigation/left_nav/menu/item/item.scss | 6 + .../left_nav/menu/item/item_controller.js | 14 +++ .../navigation/left_nav/menu/item/mod.rs | 73 +++++++++++ .../left_nav/menu/item/template.html | 32 +++++ .../navigation/left_nav/menu/mod.rs | 10 ++ .../src/components/navigation/left_nav/mod.rs | 3 + .../navigation/left_nav/web_app/mod.rs | 32 ++++- .../navigation/left_nav/web_app/template.html | 18 ++- .../navigation/navbar/web_app/mod.rs | 4 +- .../navigation/navbar/web_app/template.html | 47 +------ .../src/components/postgres_logo/mod.rs | 7 ++ .../postgres_logo/postgres_logo.scss | 8 ++ .../components/postgres_logo/template.html | 4 +- .../src/components/static_nav/mod.rs | 12 +- pgml-dashboard/src/guards.rs | 5 +- pgml-dashboard/src/lib.rs | 7 +- pgml-dashboard/src/templates/mod.rs | 42 ++++++- pgml-dashboard/static/css/modules.scss | 6 +- .../templates/content/playground.html | 1 + .../templates/layout/web_app_base.html | 4 +- 49 files changed, 677 insertions(+), 338 deletions(-) delete mode 100644 pgml-dashboard/src/components/dropdown/dropdown.scss delete mode 100644 pgml-dashboard/src/components/dropdown/template.html rename pgml-dashboard/src/components/{dropdown => inputs/dropdown/block/index}/dropdown_frame.html (100%) rename pgml-dashboard/src/components/{dropdown => inputs/dropdown/block/index}/dropdown_items.html (100%) create mode 100644 pgml-dashboard/src/components/inputs/dropdown/block/index/index.scss rename pgml-dashboard/src/components/{dropdown => inputs/dropdown/block/index}/mod.rs (93%) create mode 100644 pgml-dashboard/src/components/inputs/dropdown/block/index/template.html create mode 100644 pgml-dashboard/src/components/inputs/dropdown/block/mod.rs create mode 100644 pgml-dashboard/src/components/inputs/dropdown/inline/index/index.scss create mode 100644 pgml-dashboard/src/components/inputs/dropdown/inline/index/index_controller.js create mode 100644 pgml-dashboard/src/components/inputs/dropdown/inline/index/mod.rs create mode 100644 pgml-dashboard/src/components/inputs/dropdown/inline/index/template.html create mode 100644 pgml-dashboard/src/components/inputs/dropdown/inline/mod.rs create mode 100644 pgml-dashboard/src/components/inputs/dropdown/mod.rs delete mode 100644 pgml-dashboard/src/components/left_nav_menu/mod.rs delete mode 100644 pgml-dashboard/src/components/left_nav_menu/template.html rename pgml-dashboard/src/components/{left_nav_menu/left_nav_menu.scss => navigation/left_nav/menu/index/index.scss} (51%) rename pgml-dashboard/src/components/{left_nav_menu/left-nav-menu.js => navigation/left_nav/menu/index/index_controller.js} (100%) create mode 100644 pgml-dashboard/src/components/navigation/left_nav/menu/index/mod.rs create mode 100644 pgml-dashboard/src/components/navigation/left_nav/menu/index/template.html create mode 100644 pgml-dashboard/src/components/navigation/left_nav/menu/item/item.scss create mode 100644 pgml-dashboard/src/components/navigation/left_nav/menu/item/item_controller.js create mode 100644 pgml-dashboard/src/components/navigation/left_nav/menu/item/mod.rs create mode 100644 pgml-dashboard/src/components/navigation/left_nav/menu/item/template.html create mode 100644 pgml-dashboard/src/components/navigation/left_nav/menu/mod.rs diff --git a/pgml-dashboard/Cargo.lock b/pgml-dashboard/Cargo.lock index 0acfe1334..457fd46b1 100644 --- a/pgml-dashboard/Cargo.lock +++ b/pgml-dashboard/Cargo.lock @@ -1903,6 +1903,43 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "korvus" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d70457bd5491bf05dfea5aca6b6e33358a988f0e459ee2ad06ae885557f9f542" +dependencies = [ + "anyhow", + "async-trait", + "chrono", + "clap", + "colored", + "ctrlc", + "futures", + "indicatif", + "inquire", + "is-terminal", + "itertools", + "lopdf", + "md5", + "once_cell", + "parking_lot", + "regex", + "reqwest", + "sea-query", + "sea-query-binder", + "serde", + "serde_json", + "serde_with", + "sqlx", + "tokio", + "tracing", + "tracing-subscriber", + "url", + "uuid", + "walkdir", +] + [[package]] name = "lazy_static" version = "1.4.0" @@ -2533,41 +2570,6 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "pgml" -version = "1.1.1" -dependencies = [ - "anyhow", - "async-trait", - "chrono", - "clap", - "colored", - "ctrlc", - "futures", - "indicatif", - "inquire", - "is-terminal", - "itertools", - "lopdf", - "md5", - "once_cell", - "parking_lot", - "regex", - "reqwest", - "sea-query", - "sea-query-binder", - "serde", - "serde_json", - "serde_with", - "sqlx", - "tokio", - "tracing", - "tracing-subscriber", - "url", - "uuid", - "walkdir", -] - [[package]] name = "pgml-components" version = "0.1.0" @@ -2592,13 +2594,13 @@ dependencies = [ "futures", "glob", "itertools", + "korvus", "lazy_static", "log", "markdown", "num-traits", "once_cell", "parking_lot", - "pgml", "pgml-components", "pgvector", "rand", diff --git a/pgml-dashboard/src/api/cms.rs b/pgml-dashboard/src/api/cms.rs index 2faaa4099..7531e5f02 100644 --- a/pgml-dashboard/src/api/cms.rs +++ b/pgml-dashboard/src/api/cms.rs @@ -1013,7 +1013,7 @@ async fn demo(search: Option) -> Result { #[cfg(debug_assertions)] { - use crate::components::dropdown::{DropdownFrame, DropdownItems}; + use crate::components::inputs::dropdown::block::index::{DropdownFrame, DropdownItems}; use crate::components::inputs::text::search::SearchOption; if let Some(search) = search { let candidates = vec!["hello", "world", "foo", "bar"] diff --git a/pgml-dashboard/src/components/breadcrumbs/breadcrumbs.scss b/pgml-dashboard/src/components/breadcrumbs/breadcrumbs.scss index 048a6f8b1..ff6d8d38f 100644 --- a/pgml-dashboard/src/components/breadcrumbs/breadcrumbs.scss +++ b/pgml-dashboard/src/components/breadcrumbs/breadcrumbs.scss @@ -32,5 +32,11 @@ opacity: 1; color: #{$gray-600}; width: 2px; + transform: rotate(20deg); + } + + + .btn-tertiary-web-app { + font-weight: $font-weight-normal; } } diff --git a/pgml-dashboard/src/components/breadcrumbs/mod.rs b/pgml-dashboard/src/components/breadcrumbs/mod.rs index 8f026b046..7d9a1219b 100644 --- a/pgml-dashboard/src/components/breadcrumbs/mod.rs +++ b/pgml-dashboard/src/components/breadcrumbs/mod.rs @@ -1,16 +1,25 @@ use crate::components::NavLink; +use crate::components::StaticNav; use pgml_components::component; use sailfish::TemplateOnce; #[derive(TemplateOnce)] #[template(path = "breadcrumbs/template.html")] pub struct Breadcrumbs<'a> { + pub dropdown_1: StaticNav, + pub dropdown_2: StaticNav, pub links: Vec>, } impl<'a> Breadcrumbs<'a> { - pub fn render(links: Vec>) -> String { - Breadcrumbs { links }.render_once().unwrap() + pub fn render(dropdown_1: StaticNav, dropdown_2: StaticNav, links: Vec>) -> String { + Breadcrumbs { + dropdown_1, + dropdown_2, + links, + } + .render_once() + .unwrap() } } diff --git a/pgml-dashboard/src/components/breadcrumbs/template.html b/pgml-dashboard/src/components/breadcrumbs/template.html index d4c3c1515..da49a4a16 100644 --- a/pgml-dashboard/src/components/breadcrumbs/template.html +++ b/pgml-dashboard/src/components/breadcrumbs/template.html @@ -1,6 +1,7 @@ <% use crate::utils::config; use crate::utils::urls; + use crate::components::inputs::dropdown::inline::index::Index as Dropdown; let home_uri = if config::standalone_dashboard() { urls::deployment_notebooks() @@ -12,15 +13,15 @@