toggle search filers display
This commit is contained in:
parent
9ff6e71eed
commit
a36c19b21a
|
@ -8,6 +8,8 @@
|
|||
use Drupal\Core\Routing\RouteMatchInterface;
|
||||
use Solarium\QueryType\Select\Query\Query;
|
||||
use Drupal\search_api\Query\QueryInterface;
|
||||
use Drupal\Core\Template\Attribute;
|
||||
|
||||
/**
|
||||
* Implements hook_help().
|
||||
*/
|
||||
|
@ -48,3 +50,20 @@ function materio_sapi_search_api_solr_query_alter(Query $solarium_query, QueryI
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares variables for fieldset element templates.
|
||||
*
|
||||
* Default template: fieldset.html.twig.
|
||||
*
|
||||
* @param array $variables
|
||||
* An associative array containing:
|
||||
* - element: An associative array containing the properties of the element.
|
||||
* Properties used: #attributes, #children, #description, #id, #title,
|
||||
* #value.
|
||||
*/
|
||||
function materio_sapi_preprocess_fieldset(&$variables) {
|
||||
if (isset($variables['element']['#legend_attributes'])) {
|
||||
$variables['legend']['attributes'] = new Attribute($variables['element']['#legend_attributes']);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,9 +47,18 @@ class MaterioSapiSearchForm extends FormBase {
|
|||
];
|
||||
|
||||
$form['filters'] = [
|
||||
'#type' => 'container'
|
||||
'#type' => 'fieldset',
|
||||
'#title' => t('Assisted Search'),
|
||||
'#legend_attributes' => [
|
||||
"class" => ["test-attribute"],
|
||||
'@click.prevent' => "onClickFilters",
|
||||
]
|
||||
];
|
||||
|
||||
// $form['filters']['switch'] = [
|
||||
// '#type' => "label",
|
||||
//
|
||||
// ]
|
||||
$query = \Drupal::entityQuery('taxonomy_term');
|
||||
$query->condition('vid', "assisted_research");
|
||||
$tids = $query->execute();
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -595,9 +595,30 @@ header[role="banner"]{
|
|||
color:#666;
|
||||
}
|
||||
|
||||
#edit-filters{
|
||||
fieldset#edit-filters{
|
||||
grid-row: 2 / 2;
|
||||
grid-column: 1 / span 2;
|
||||
border: none;
|
||||
padding: 0;
|
||||
>legend{
|
||||
line-height: 0.6;
|
||||
padding-bottom: 0.2em;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
span{
|
||||
cursor: pointer;
|
||||
font-size: 0.756em;
|
||||
color: #8f8f8f;
|
||||
}
|
||||
}
|
||||
> div.fieldset-wrapper{
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
&.open >div.fieldset-wrapper{
|
||||
height: auto;
|
||||
overflow: visible;
|
||||
}
|
||||
.ss-main{
|
||||
font-size: 0.756em;
|
||||
.ss-single-selected{
|
||||
|
|
|
@ -71,6 +71,11 @@ export default {
|
|||
onSelectFiltersChange(index, info){
|
||||
console.log('onSelectFiltersChange', index, info, this.filters)
|
||||
this.slimFilters[index] = info.value
|
||||
},
|
||||
onClickFilters(e){
|
||||
console.log('onClickFilters legend', e)
|
||||
e.target.closest('fieldset').classList.toggle('open')
|
||||
// TODO: reset the filters oon close
|
||||
}
|
||||
},
|
||||
directives: {
|
||||
|
|
Loading…
Reference in New Issue