From 492bf58663dc11042088fc1d89d1fafc044db1af Mon Sep 17 00:00:00 2001 From: Jeffrey <54014102+TheJeffreyKuo@users.noreply.github.com> Date: Tue, 28 Apr 2026 17:49:52 -0400 Subject: [PATCH 1/4] Graph page topic selection preset --- .../select-dropdown.component.ts | 7 +- .../graph-sidebar-desktop.component.css | 13 ++ .../graph-sidebar-desktop.component.html | 13 ++ .../graph-sidebar-desktop.component.ts | 66 +++++- .../graph-sidebar-mobile.component.css | 11 + .../graph-sidebar-mobile.component.html | 13 ++ .../graph-sidebar-mobile.component.ts | 75 ++++++- .../preset-dialog/preset-dialog.component.css | 112 ++++++++++ .../preset-dialog.component.html | 98 +++++++++ .../preset-dialog/preset-dialog.component.ts | 207 +++++++++++++++++ .../src/services/graph-preset.service.spec.ts | 208 ++++++++++++++++++ .../src/services/graph-preset.service.ts | 150 +++++++++++++ angular-client/src/utils/dataTypes.utils.ts | 15 ++ 13 files changed, 976 insertions(+), 12 deletions(-) create mode 100644 angular-client/src/pages/graph-page/preset-dialog/preset-dialog.component.css create mode 100644 angular-client/src/pages/graph-page/preset-dialog/preset-dialog.component.html create mode 100644 angular-client/src/pages/graph-page/preset-dialog/preset-dialog.component.ts create mode 100644 angular-client/src/services/graph-preset.service.spec.ts create mode 100644 angular-client/src/services/graph-preset.service.ts diff --git a/angular-client/src/components/select-dropdown/select-dropdown.component.ts b/angular-client/src/components/select-dropdown/select-dropdown.component.ts index b9c48577..3c310516 100644 --- a/angular-client/src/components/select-dropdown/select-dropdown.component.ts +++ b/angular-client/src/components/select-dropdown/select-dropdown.component.ts @@ -39,12 +39,7 @@ export class SelectDropdownComponent { constructor() { effect(() => { const val = this.defaultValue(); - if (val) { - const match = this.options().find((option) => option.name === val); - if (match) { - this.selectedOption = match; - } - } + this.selectedOption = val ? this.options().find((option) => option.name === val) : undefined; }); } diff --git a/angular-client/src/pages/graph-page/graph-sidebar/graph-sidebar-desktop/graph-sidebar-desktop.component.css b/angular-client/src/pages/graph-page/graph-sidebar/graph-sidebar-desktop/graph-sidebar-desktop.component.css index 5c9f47ea..2bb58350 100644 --- a/angular-client/src/pages/graph-page/graph-sidebar/graph-sidebar-desktop/graph-sidebar-desktop.component.css +++ b/angular-client/src/pages/graph-page/graph-sidebar/graph-sidebar-desktop/graph-sidebar-desktop.component.css @@ -5,6 +5,19 @@ margin-top: 10px; } +.presets-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; + margin-bottom: 8px; +} + +.preset-select { + flex: 1 1 auto; + min-width: 0; +} + .header-row { display: flex; align-items: center; diff --git a/angular-client/src/pages/graph-page/graph-sidebar/graph-sidebar-desktop/graph-sidebar-desktop.component.html b/angular-client/src/pages/graph-page/graph-sidebar/graph-sidebar-desktop/graph-sidebar-desktop.component.html index 39f4bb55..ba40bd1a 100644 --- a/angular-client/src/pages/graph-page/graph-sidebar/graph-sidebar-desktop/graph-sidebar-desktop.component.html +++ b/angular-client/src/pages/graph-page/graph-sidebar/graph-sidebar-desktop/graph-sidebar-desktop.component.html @@ -1,4 +1,17 @@
No presets yet
+ + Save your current topic selection or upload a JSON of your preset + +| Name | +Topics | +Actions | +
|---|---|---|
| {{ preset.name }} | +{{ preset.topicNames.length }} | ++ + + + | +
No presets yet
- - Save your current topic selection or upload a JSON of your preset - + Save your current topic selection or upload a JSON of your preset