diff --git a/administrator/components/com_associations/View/Associations/HtmlView.php b/administrator/components/com_associations/View/Associations/HtmlView.php index a729e03d2bbe8..1f6c3851be5a6 100644 --- a/administrator/components/com_associations/View/Associations/HtmlView.php +++ b/administrator/components/com_associations/View/Associations/HtmlView.php @@ -124,11 +124,6 @@ public function display($tpl = null) $this->typeFields = $fields; } - // Dynamic filter form. - // This selectors doesn't have to activate the filter bar. - unset($this->activeFilters['itemtype']); - unset($this->activeFilters['language']); - // Remove filters options depending on selected type. if (empty($support['state'])) { diff --git a/administrator/components/com_associations/forms/filter_associations.xml b/administrator/components/com_associations/forms/filter_associations.xml index e5f25f9ff1e52..15e2e34b28820 100644 --- a/administrator/components/com_associations/forms/filter_associations.xml +++ b/administrator/components/com_associations/forms/filter_associations.xml @@ -23,7 +23,6 @@ name="search" type="text" label="COM_ASSOCIATIONS_FILTER_SEARCH_LABEL" - description="COM_ASSOCIATIONS_FILTER_SEARCH_DESC" hint="JSEARCH_FILTER" /> diff --git a/administrator/components/com_associations/layouts/joomla/searchtools/default.php b/administrator/components/com_associations/layouts/joomla/searchtools/default.php new file mode 100644 index 0000000000000..66422f58ebb57 --- /dev/null +++ b/administrator/components/com_associations/layouts/joomla/searchtools/default.php @@ -0,0 +1,87 @@ +activeFilters['itemtype']); + + // Menutype filter doesn't have to activate the filter bar + unset($data['view']->activeFilters['language']); +} + +// Check if the no results message should appear. +if (isset($data['view']->total) && (int) $data['view']->total === 0) +{ + $noResults = $data['view']->filterForm->getFieldAttribute('search', 'noresults', '', 'filter'); + + if (!empty($noResults)) + { + $noResultsText = JText::_($noResults); + } +} + +// Set some basic options +$customOptions = array( + 'filtersHidden' => $data['options']['filtersHidden'] ?? empty($data['view']->activeFilters), + 'defaultLimit' => $data['options']['defaultLimit'] ?? JFactory::getApplication()->get('list_limit', 20), + 'searchFieldSelector' => '#filter_search', + 'orderFieldSelector' => '#list_fullordering', + 'showNoResults' => !empty($noResultsText) ? true : false, + 'noResultsText' => !empty($noResultsText) ? $noResultsText : '', + 'formSelector' => !empty($data['options']['formSelector']) ? $data['options']['formSelector'] : '#adminForm', +); + +$data['options'] = array_merge($customOptions, $data['options']); + +// Load search tools +JHtml::_('searchtools.form', $data['options']['formSelector'], $data['options']); + +$filtersClass = isset($data['view']->activeFilters) && $data['view']->activeFilters ? ' js-stools-container-filters-visible' : ''; +?> +
+
+ filterForm->getField('itemtype'); ?> + filterForm->getField('language'); ?> + + +
+
+ input; ?> +
+
+
+
+ input; ?> +
+
+ +
+ sublayout('bar', $data); ?> +
+
+ +
+ sublayout('list', $data); ?> + sublayout('filters', $data); ?> +
+
+ + sublayout('noitems', $data); ?> + diff --git a/administrator/components/com_associations/layouts/joomla/searchtools/default/bar.php b/administrator/components/com_associations/layouts/joomla/searchtools/default/bar.php deleted file mode 100644 index 7652b61458f46..0000000000000 --- a/administrator/components/com_associations/layouts/joomla/searchtools/default/bar.php +++ /dev/null @@ -1,32 +0,0 @@ - - - - - input->get('forcedItemType', '', 'string') == '') : ?> - filterForm->getField('itemtype'); ?> -
- input; ?> -
- - input->get('forcedLanguage', '', 'cmd') == '') : ?> - filterForm->getField('language'); ?> -
- input; ?> -
- - - - 'none')); ?> diff --git a/administrator/components/com_associations/tmpl/associations/default.php b/administrator/components/com_associations/tmpl/associations/default.php index d7395b19760fa..99fe90e9d63b4 100644 --- a/administrator/components/com_associations/tmpl/associations/default.php +++ b/administrator/components/com_associations/tmpl/associations/default.php @@ -35,7 +35,7 @@
$this)); ?> items)) : ?> - + diff --git a/administrator/components/com_categories/View/Categories/HtmlView.php b/administrator/components/com_categories/View/Categories/HtmlView.php index 89ecd29c04316..891e6e8b793c5 100644 --- a/administrator/components/com_categories/View/Categories/HtmlView.php +++ b/administrator/components/com_categories/View/Categories/HtmlView.php @@ -87,6 +87,7 @@ public function display($tpl = null) $this->pagination = $this->get('Pagination'); $this->assoc = $this->get('Assoc'); $this->filterForm = $this->get('FilterForm'); + $this->total = $this->get('Total'); $this->activeFilters = $this->get('ActiveFilters'); // Check for errors. diff --git a/administrator/components/com_categories/forms/filter_categories.xml b/administrator/components/com_categories/forms/filter_categories.xml index 3ef280d3d3111..5905cb334fd79 100644 --- a/administrator/components/com_categories/forms/filter_categories.xml +++ b/administrator/components/com_categories/forms/filter_categories.xml @@ -7,8 +7,8 @@ name="search" type="text" label="COM_CATEGORIES_FILTER_SEARCH_LABEL" - description="COM_CATEGORIES_FILTER_SEARCH_DESC" hint="JSEARCH_FILTER" + noresults="JGLOBAL_NO_MATCHING_RESULTS" /> $this)); ?> - items)) : ?> - - + items)) : ?>
diff --git a/administrator/components/com_content/View/Articles/HtmlView.php b/administrator/components/com_content/View/Articles/HtmlView.php index e0a3052c3152c..b3223b18132fa 100644 --- a/administrator/components/com_content/View/Articles/HtmlView.php +++ b/administrator/components/com_content/View/Articles/HtmlView.php @@ -99,6 +99,7 @@ public function display($tpl = null) $this->authors = $this->get('Authors'); $this->filterForm = $this->get('FilterForm'); $this->activeFilters = $this->get('ActiveFilters'); + $this->total = $this->get('Total'); $this->vote = \JPluginHelper::isEnabled('content', 'vote'); // Check for errors. diff --git a/administrator/components/com_content/forms/filter_articles.xml b/administrator/components/com_content/forms/filter_articles.xml index 41043d08ad985..65de34b06c82a 100644 --- a/administrator/components/com_content/forms/filter_articles.xml +++ b/administrator/components/com_content/forms/filter_articles.xml @@ -5,8 +5,8 @@ name="search" type="text" label="COM_CONTENT_FILTER_SEARCH_LABEL" - description="COM_CONTENT_FILTER_SEARCH_DESC" hint="JSEARCH_FILTER" + noresults="JGLOBAL_NO_MATCHING_RESULTS" /> $this)); ?> - items)) : ?> - - + items)) : ?>
diff --git a/administrator/components/com_content/tmpl/featured/default.php b/administrator/components/com_content/tmpl/featured/default.php index 42db746086992..cf34bfd9fb2c6 100644 --- a/administrator/components/com_content/tmpl/featured/default.php +++ b/administrator/components/com_content/tmpl/featured/default.php @@ -57,9 +57,7 @@ // Search tools bar echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this)); ?> - items)) : ?> - - + items)) : ?>
diff --git a/administrator/components/com_menus/layouts/joomla/searchtools/default.php b/administrator/components/com_menus/layouts/joomla/searchtools/default.php index e00793e8af7dd..22e4aaf0ca2aa 100644 --- a/administrator/components/com_menus/layouts/joomla/searchtools/default.php +++ b/administrator/components/com_menus/layouts/joomla/searchtools/default.php @@ -14,6 +14,8 @@ // Receive overridable options $data['options'] = !empty($data['options']) ? $data['options'] : array(); +$noResultsText = ''; +$showSelector = false; if ($data['view'] instanceof \Joomla\Component\Menus\Administrator\View\Items\HtmlView || $data['view'] instanceof \Joomla\Component\Menus\Administrator\View\Menus\HtmlView) @@ -25,73 +27,71 @@ unset($data['view']->activeFilters['menutype']); } +// Check if the no results message should appear. +if (isset($data['view']->total) && !$data['view']->total) +{ + $noResults = $data['view']->filterForm->getFieldAttribute('search', 'noresults', '', 'filter'); + + if (!empty($noResults)) + { + $noResultsText = JText::_($noResults); + } +} + // Set some basic options $customOptions = array( 'filtersHidden' => $data['options']['filtersHidden'] ?? empty($data['view']->activeFilters), 'defaultLimit' => $data['options']['defaultLimit'] ?? JFactory::getApplication()->get('list_limit', 20), 'searchFieldSelector' => '#filter_search', 'orderFieldSelector' => '#list_fullordering', - 'totalResults' => $data['options']['totalResults'] ?? -1, - 'noResultsText' => $data['options']['noResultsText'] ?? JText::_('JGLOBAL_NO_MATCHING_RESULTS'), + 'showNoResults' => !empty($noResultsText) ? true : false, + 'noResultsText' => !empty($noResultsText) ? $noResultsText : '', + 'formSelector' => !empty($data['options']['formSelector']) ? $data['options']['formSelector'] : '#adminForm', ); $data['options'] = array_merge($customOptions, $data['options']); -$formSelector = !empty($data['options']['formSelector']) ? $data['options']['formSelector'] : '#adminForm'; - // Load search tools -JHtml::_('searchtools.form', $formSelector, $data['options']); +JHtml::_('searchtools.form', $data['options']['formSelector'], $data['options']); $filtersClass = isset($data['view']->activeFilters) && $data['view']->activeFilters ? ' js-stools-container-filters-visible' : ''; ?>
- filterForm->getField('menutype'); + filterForm->getField('menutype'); ?> + filterForm->getField('client_id'); ?> - // Add the client selector before the form filters. - $clientIdField = $data['view']->filterForm->getField('client_id'); + + +
+
+ input; ?> +
+
+
+
+ input; ?> +
+
+ + +
+
+ input; ?> +
+
+ - if ($clientIdField): ?> -
-
- input; ?> -
-
- -
-
- input; ?> -
-
- filterForm->getField('client_id'); - ?> -
-
- input; ?> -
-
-
- + sublayout('bar', $data); ?>
- - + sublayout('list', $data); ?> + sublayout('filters', $data); ?>
- - + + sublayout('noitems', $data); ?> diff --git a/administrator/components/com_menus/tmpl/items/default.php b/administrator/components/com_menus/tmpl/items/default.php index edecbbeb5693f..0b579e9eeab31 100644 --- a/administrator/components/com_menus/tmpl/items/default.php +++ b/administrator/components/com_menus/tmpl/items/default.php @@ -46,10 +46,8 @@
- $this, 'options' => array('selectorFieldName' => 'menutype'))); ?> - items)) : ?> - - + $this)); ?> + items)) : ?>