[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * @package Joomla.Administrator 5 * @subpackage com_associations 6 * 7 * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> 8 * @license GNU General Public License version 2 or later; see LICENSE.txt 9 */ 10 11 defined('_JEXEC') or die; 12 13 use Joomla\CMS\Factory; 14 use Joomla\CMS\HTML\HTMLHelper; 15 use Joomla\CMS\Language\Text; 16 use Joomla\CMS\Layout\LayoutHelper; 17 18 $data = $displayData; 19 20 // Receive overridable options 21 $data['options'] = !empty($data['options']) ? $data['options'] : array(); 22 23 $noResultsText = ''; 24 $hideActiveFilters = false; 25 $showFilterButton = false; 26 $showSelector = false; 27 $selectorFieldName = $data['options']['selectorFieldName'] ?? 'client_id'; 28 29 // If a filter form exists. 30 if (isset($data['view']->filterForm) && !empty($data['view']->filterForm)) { 31 // Checks if a selector (e.g. client_id) exists. 32 if ($selectorField = $data['view']->filterForm->getField($selectorFieldName)) { 33 $showSelector = $selectorField->getAttribute('filtermode', '') === 'selector' ? true : $showSelector; 34 35 // Checks if a selector should be shown in the current layout. 36 if (isset($data['view']->layout)) { 37 $showSelector = $selectorField->getAttribute('layout', 'default') != $data['view']->layout ? false : $showSelector; 38 } 39 40 // Unset the selector field from active filters group. 41 unset($data['view']->activeFilters[$selectorFieldName]); 42 } 43 44 // Checks if the filters button should exist. 45 $filters = $data['view']->filterForm->getGroup('filter'); 46 $showFilterButton = isset($filters['filter_search']) && count($filters) === 1 ? false : true; 47 48 // Checks if it should show the be hidden. 49 $hideActiveFilters = empty($data['view']->activeFilters); 50 51 // Check if the no results message should appear. 52 if (isset($data['view']->total) && (int) $data['view']->total === 0) { 53 $noResults = $data['view']->filterForm->getFieldAttribute('search', 'noresults', '', 'filter'); 54 if (!empty($noResults)) { 55 $noResultsText = Text::_($noResults); 56 } 57 } 58 } 59 60 // Set some basic options. 61 $customOptions = array( 62 'filtersHidden' => isset($data['options']['filtersHidden']) && $data['options']['filtersHidden'] ? $data['options']['filtersHidden'] : $hideActiveFilters, 63 'filterButton' => isset($data['options']['filterButton']) && $data['options']['filterButton'] ? $data['options']['filterButton'] : $showFilterButton, 64 'defaultLimit' => $data['options']['defaultLimit'] ?? Factory::getApplication()->get('list_limit', 20), 65 'searchFieldSelector' => '#filter_search', 66 'selectorFieldName' => $selectorFieldName, 67 'showSelector' => $showSelector, 68 'orderFieldSelector' => '#list_fullordering', 69 'showNoResults' => !empty($noResultsText), 70 'noResultsText' => !empty($noResultsText) ? $noResultsText : '', 71 'formSelector' => !empty($data['options']['formSelector']) ? $data['options']['formSelector'] : '#adminForm', 72 ); 73 74 // Merge custom options in the options array. 75 $data['options'] = array_merge($customOptions, $data['options']); 76 77 // Add class to hide the active filters if needed. 78 $filtersActiveClass = $hideActiveFilters ? '' : ' js-stools-container-filters-visible'; 79 80 // Load search tools 81 HTMLHelper::_('searchtools.form', $data['options']['formSelector'], $data['options']); 82 ?> 83 <div class="js-stools" role="search"> 84 <?php // Add the itemtype and language selectors before the form filters. Do not display in modal. ?> 85 <?php $app = Factory::getApplication(); ?> 86 <?php if ($app->input->get('forcedItemType', '', 'string') == '') : ?> 87 <?php $itemTypeField = $data['view']->filterForm->getField('itemtype'); ?> 88 <div class="js-stools-container-selector"> 89 <div class="js-stools-field-selector js-stools-itemtype"> 90 <div class="visually-hidden"><?php echo $itemTypeField->label; ?></div> 91 <?php echo $itemTypeField->input; ?> 92 </div> 93 </div> 94 <?php endif; ?> 95 <?php if ($app->input->get('forcedLanguage', '', 'cmd') == '') : ?> 96 <?php $languageField = $data['view']->filterForm->getField('language'); ?> 97 <div class="js-stools-container-selector"> 98 <div class="js-stools-field-selector js-stools-language"> 99 <div class="visually-hidden"><?php echo $languageField->label; ?></div> 100 <?php echo $languageField->input; ?> 101 </div> 102 </div> 103 <?php endif; ?> 104 <?php if ($data['options']['showSelector']) : ?> 105 <div class="js-stools-container-selector"> 106 <?php echo LayoutHelper::render('joomla.searchtools.default.selector', $data); ?> 107 </div> 108 <?php endif; ?> 109 <div class="js-stools-container-bar ms-auto"> 110 <div class="btn-toolbar"> 111 <?php echo $this->sublayout('bar', $data); ?> 112 <?php echo $this->sublayout('list', $data); ?> 113 </div> 114 </div> 115 <!-- Filters div --> 116 <div class="js-stools-container-filters clearfix<?php echo $filtersActiveClass; ?>"> 117 <?php if ($data['options']['filterButton']) : ?> 118 <?php echo $this->sublayout('filters', $data); ?> 119 <?php endif; ?> 120 </div> 121 </div> 122 <?php if ($data['options']['showNoResults']) : ?> 123 <?php echo $this->sublayout('noitems', $data); ?> 124 <?php endif; ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |