From 53729c3d8a1bf983b1d10ae9e969a086c9ac0756 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Wed, 7 Aug 2024 09:43:44 +0000 Subject: [PATCH] actually reset search on courses admin page, fixes #4460 Closes #4460 Merge request studip/studip!3245 --- app/controllers/admin/courses.php | 1 + lib/classes/sidebar/SearchWidget.php | 7 +++++++ templates/sidebar/search-widget.php | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/courses.php b/app/controllers/admin/courses.php index 984d0ca7a22..5f16d21ef54 100644 --- a/app/controllers/admin/courses.php +++ b/app/controllers/admin/courses.php @@ -1751,6 +1751,7 @@ class Admin_CoursesController extends AuthenticatedController $GLOBALS['user']->cfg->ADMIN_COURSES_SEARCHTEXT ); $search->setOnSubmitHandler("STUDIP.AdminCourses.App.changeFilter({search: $(this).find('input').val()}); return false;"); + $search->setOnClearHandler("STUDIP.AdminCourses.App.changeFilter({search: ''});"); $sidebar->addWidget($search, 'filter_search'); } diff --git a/lib/classes/sidebar/SearchWidget.php b/lib/classes/sidebar/SearchWidget.php index 5a42e948be4..58acacbafc7 100644 --- a/lib/classes/sidebar/SearchWidget.php +++ b/lib/classes/sidebar/SearchWidget.php @@ -17,6 +17,7 @@ class SearchWidget extends SidebarWidget protected $method = 'get'; protected $id = null; protected $onsubmit = null; + protected ?string $onclear = null; /** * Constructor for the widget. @@ -108,6 +109,11 @@ class SearchWidget extends SidebarWidget $this->onsubmit = $onsubmit; } + public function setOnClearHandler(string $onclear): void + { + $this->onclear = $onclear; + } + /** * Renders the widget. * @@ -171,6 +177,7 @@ class SearchWidget extends SidebarWidget $this->template_variables['has_data'] = $this->hasData(); $this->template_variables['onsubmit'] = $this->onsubmit; + $this->template_variables['onclear'] = $this->onclear; return parent::render($variables); } diff --git a/templates/sidebar/search-widget.php b/templates/sidebar/search-widget.php index c3146735384..e475f00a87d 100644 --- a/templates/sidebar/search-widget.php +++ b/templates/sidebar/search-widget.php @@ -33,7 +33,7 @@ <?= Icon::create('decline')->asInput([ 'title' => _('Suche zurücksetzen'), 'class' => 'reset-search', - 'onclick' => "document.getElementById('needle-".$hash."').value = ''; this.remove();" + 'onclick' => "document.getElementById('needle-".$hash."').value = ''; this.remove();" . ($onclear ?? ''), ]) ?> <? else : ?> <a class="reset-search" href="<?= $reset_link ?>" tabindex="0" role="button" -- GitLab