From 7502706284a2e162089af1ba7e17cc520a703d91 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Wed, 14 Jun 2017 13:40:43 +0200 Subject: [PATCH] QuickSearch: add a trait for tables too --- .../Web/Table/Extension/QuickSearch.php | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 library/Director/Web/Table/Extension/QuickSearch.php diff --git a/library/Director/Web/Table/Extension/QuickSearch.php b/library/Director/Web/Table/Extension/QuickSearch.php new file mode 100644 index 00000000..36551a5c --- /dev/null +++ b/library/Director/Web/Table/Extension/QuickSearch.php @@ -0,0 +1,52 @@ +requireQuickSearchForm($parent, $url); + $search = $url->getParam('q'); + return $search; + } + + private function requireQuickSearchForm(BaseElement $parent, Url $url) + { + if ($this->quickSearchForm === null) { + $this->quickSearchForm = $this->buildQuickSearchForm($parent, $url); + } + } + + private function buildQuickSearchForm(BaseElement $parent, Url $url) + { + $search = $url->getParam('q'); + + $form = Html::tag('form', [ + 'action' => $url->without(array('q', 'page', 'modifyFilter')), + 'class' => ['quicksearch', 'inline'], + 'method' => 'GET' + ]); + + $form->add( + Html::tag('input', [ + 'type' => 'text', + 'name' => 'q', + 'value' => $search, + 'placeholder' => $this->translate('Search...'), + 'class' => 'search' + ]) + ); + + $parent->prepend($form); + + return $form; + } +}