From 3cbe6ebdac96e73b9f1160623cd8ff86df759dcb Mon Sep 17 00:00:00 2001 From: Chris Zhu Date: Sat, 19 Apr 2025 11:40:09 -0700 Subject: [PATCH] allow searching through addons --- TODO.md | 2 -- .../controllers/theme_controller.js | 10 +++++----- app/views/shared/_search.html.erb | 20 +++++++++++++++++-- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/TODO.md b/TODO.md index 91f08568..188c6499 100644 --- a/TODO.md +++ b/TODO.md @@ -8,9 +8,7 @@ - [ ] Streaming logs for pods - [ ] Project groupings? - [ ] Constantly refresh the processes page for readiness of pods -- [ ] Add metrics page for add ons - [ ] Support GPU backed clusters - [ ] Make accidental deletions harder - [ ] Add connection tutorial to add on endpoints - [ ] Allow creating a one off pod even if there are no services or deployments yet. -- [ ] Add addons to search diff --git a/app/javascript/controllers/theme_controller.js b/app/javascript/controllers/theme_controller.js index 3dcefb12..5f02397c 100644 --- a/app/javascript/controllers/theme_controller.js +++ b/app/javascript/controllers/theme_controller.js @@ -76,18 +76,18 @@ export default class extends Controller { _searchInput(term) { this.menuItemTargets.forEach(item => { - const projectName = item.dataset.projectName; - if (projectName.toLowerCase().includes(term.toLowerCase())) { + const name = item.dataset.name; + if (name.toLowerCase().includes(term.toLowerCase())) { item.setAttribute("open", "true"); item.classList.remove("hidden"); // Add underlining for matching text if (term) { const regex = new RegExp(`(${term})`, 'gi'); - const highlightedText = projectName.replace(regex, '$1'); - item.querySelector('.project-name').innerHTML = highlightedText; + const highlightedText = name.replace(regex, '$1'); + item.querySelector('.name').innerHTML = highlightedText; } else { - item.querySelector('.project-name').textContent = projectName; + item.querySelector('.name').textContent = name; } } else { item.removeAttribute("open"); diff --git a/app/views/shared/_search.html.erb b/app/views/shared/_search.html.erb index 49c9ff64..e8095c28 100644 --- a/app/views/shared/_search.html.erb +++ b/app/views/shared/_search.html.erb @@ -26,8 +26,8 @@ <% current_account.projects.each do |project| %>
  • -
    -
    <%= project.name %>
    +
    +
    <%= project.name %>
      <% %w(deployments services environment_variables processes metrics).each do |name| %>
    • @@ -40,6 +40,22 @@
  • <% end %> + <% current_account.add_ons.each do |addon| %> +
  • +
    +
    <%= addon.name %>
    + +
    +
  • + <% end %>