From ad79101ab9df737d5c791135eb3201c0eabf4266 Mon Sep 17 00:00:00 2001 From: "Beau Beauchamp, WebTigers" Date: Sun, 27 Sep 2026 04:15:00 -0400 Subject: [PATCH] Fix CMS home-page pathbox: show full list on open (active theme visible) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On focus the pathbox sent its current label as the search query, filtering out every option including the active theme's home. Send an empty query while the box shows the committed label; filter only once the user types; select the text on focus. Also move the "Advanced search" toggle beside the combobox. Server-side discovery was already correct. 1.18.0 → 1.18.1. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01ASauLLscjqdsNqBNsx2Typ --- CHANGELOG.md | 12 ++++++++ library/Tiger/Version.php | 2 +- .../cms/views/scripts/settings/index.phtml | 30 ++++++++++--------- themes/puma/assets/js/tiger.pathbox.js | 8 +++-- 4 files changed, 35 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c08277..656cd66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,18 @@ All notable changes to **Tiger Core** (`webtigers/tiger-core`). Format follows ## [Unreleased] +## [1.18.1] — 2026-09-27 + +### Fixed + +- **CMS home-page picker (TigerPathbox) now shows the full list on open, including the active theme.** + On focus the control was sending its current label ("— Built-in landing page —") as the search query, + so opening it filtered every other option out — an active theme's home never appeared. It now searches + with an empty query while the box still shows the committed label (full list), filters only once you + type, and selects the text on focus so typing replaces it. The discovery service was already correct. +- **CMS Settings: the "Advanced search" toggle sits beside the home-page combobox** (its help text moved + to a tooltip) for a tidier row. + ## [1.18.0] — 2026-09-26 ### Changed diff --git a/library/Tiger/Version.php b/library/Tiger/Version.php index e1847f4..ab5241b 100644 --- a/library/Tiger/Version.php +++ b/library/Tiger/Version.php @@ -9,5 +9,5 @@ class Tiger_Version { /** Current Tiger Core version. Keep in lockstep with the git tag cut for a release. */ - const VERSION = '1.18.0'; + const VERSION = '1.18.1'; } diff --git a/modules/cms/views/scripts/settings/index.phtml b/modules/cms/views/scripts/settings/index.phtml index 05a0722..983d7c8 100644 --- a/modules/cms/views/scripts/settings/index.phtml +++ b/modules/cms/views/scripts/settings/index.phtml @@ -41,20 +41,22 @@ $el = function ($name) use ($form) { return $form->getElement($name); };
- -
- -
- -
- - -
t('cms.settings.advanced_search_help') ?>
+ +
+
+ +
+
+ + +
t('cms.settings.help_home_page', '/') ?>
diff --git a/themes/puma/assets/js/tiger.pathbox.js b/themes/puma/assets/js/tiger.pathbox.js index e044052..651910c 100644 --- a/themes/puma/assets/js/tiger.pathbox.js +++ b/themes/puma/assets/js/tiger.pathbox.js @@ -111,7 +111,11 @@ open = true; // a fetch expresses open intent (focus/typing/toggle) var body = new URLSearchParams(); body.set('module', service[0]); body.set('service', service[1]); body.set('method', service[2]); - body.set('q', search.value.trim()); + // While the box still shows the COMMITTED label (just focused, not yet edited), search with an + // EMPTY q so the FULL list appears — otherwise opening the control would "search" for the + // current selection's label and hide every other option (the active theme included). + var typed = search.value.trim(); + body.set('q', typed === (picked.label || '').trim() ? '' : typed); body.set('advanced', advEl && advEl.checked ? '1' : '0'); fetch('/api', { method: 'POST', headers: { 'X-Requested-With': 'XMLHttpRequest' }, body: body }) .then(function (r) { return r.json().catch(function () { return {}; }); }) @@ -132,7 +136,7 @@ options[activeIdx].scrollIntoView({ block: 'nearest' }); } - search.addEventListener('focus', fetchOptions); + search.addEventListener('focus', function () { search.select(); fetchOptions(); }); search.addEventListener('input', schedule); if (advEl) { advEl.addEventListener('change', fetchOptions); }