Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
SideFacets.phtml 3.73 KiB
<!-- fid_adlr: recommend - sidefacets -->
<?php
$this->headScript()->appendFile('facets.js');

// Save results/options to $this so they are available to sub-templates:
$this->results = $results = $this->recommend->getResults();
  $this->options = $options = $results->getOptions();

$hierarchicalFacets = $this->recommend->getHierarchicalFacets();
if ($hierarchicalFacets) {
  // jstree.min.js used to be injected by hierarchical-facet.js, but with deferred
  // processing it's called too late to append anything to the headers.
  $this->headScript()->appendFile('vendor/jsTree/jstree.min.js');
}
?>
<div class="visible-xs" id="filter-header">
  <span class="icon-2x"><?=$this->transEsc('Refine Results') ?></span>
  <button class="close-offcanvas btn btn-link right" data-toggle="offcanvas"><i class="icon icon-close icon-2x"></i> </button>
</div>
<?php /*if ($results->getResultTotal() > 0): ?>
  <h4><?=$this->transEsc(isset($this->overrideSideFacetCaption) ? $this->overrideSideFacetCaption : 'Narrow Search')?></h4>
<?php endif;*/ ?>
<?php $checkboxFilters = $results->getParams()->getCheckboxFacets(); ?>
<?php $checkboxesShown = false; ?>
<?php if (count($checkboxFilters) > 0):
  foreach ($checkboxFilters as $current) {
    if ($results->getResultTotal() > 0 || $current['selected'] || $current['alwaysVisible']) {
      $checkboxesShown = true;
      break;
    }
  }
  ?>
  <?php if ($checkboxesShown):?>
  <div class="checkboxFilter">
    <?=$this->context($this)->renderInContext('Recommend/SideFacets/checkbox-filters.phtml', ['checkboxFilters' => $checkboxFilters, 'results' => $results]);?>
  </div>
<?php endif; ?>
<?php endif; ?>
<?php $extraFilters = isset($this->extraSideFacetFilters) ? $this->extraSideFacetFilters : []; ?>
<?php $collapsedFacets = $this->recommend->getCollapsedFacets() ?>
<?php $filterList = array_merge($results->getParams()->getFilterList(true), $extraFilters); ?>
<?php if (!empty($filterList)): ?>
  <?=$this->context($this)->renderInContext('Recommend/SideFacets/filter-list.phtml', [
    'collapsedFacets' => $collapsedFacets,
    'extraFilters' => $extraFilters,
    'filterList' => $filterList,
  ]);?>
<?php endif; ?>
<?=isset($this->sideFacetExtraControls) ? $this->sideFacetExtraControls : ''?>
<?php
/* finc-specific line to show allowed facet values only: sidefacet()->displayAllowedFacetValues ..., #7624 - CK */ /* Original line is:
<?php $sideFacetSet = $this->recommend->getFacetSet(); ?>
 */
?>
<?php $sideFacetSet = $this->sideFacet()->displayAllowedFacetValues($this->recommend->getFacetSet()); ?>
<?php $hierarchicalFacets = $this->recommend->getHierarchicalFacets() ?>
<?php $hierarchicalFacetSortOptions = $this->recommend->getHierarchicalFacetSortOptions() ?>
<?php if (!empty($sideFacetSet) && $results->getResultTotal() > 0): ?>
  <?php foreach ($sideFacetSet as $title => $cluster): ?>
    <div class="facet-group" id="side-panel-<?=$this->escapeHtmlAttr($title)?>">
      <button class="title<?php if(in_array($title, $collapsedFacets)): ?> collapsed<?php endif ?>" data-toggle="collapse" href="#side-collapse-<?=$this->escapeHtmlAttr($title) ?>" >
        <?=$this->transEsc($cluster['label'])?>
      </button>
      <div id="side-collapse-<?=$this->escapeHtmlAttr($title)?>" class="collapse<?php if (!in_array($title, $collapsedFacets)): ?> in<?php endif ?>">
        <?=$this->context($this)->renderInContext(
          'Recommend/SideFacets/facet.phtml',
          [
            'facet' => $title,
            'cluster' => $cluster,
            'collapsedFacets' => $collapsedFacets          ]
        ); ?>
      </div>
    </div>
  <?php endforeach; ?>
<?php endif; ?>
<div class="hidden-lg">
  <span class="sort">
      <?=$this->render('search/controls/sort-offcanvas.phtml')?>
  </span>
</div>
<!-- fid_adlr: recommend - sidefacets - END -->