diff --git a/core/modules/views_ui/templates/views-ui-expose-filter-form.html.twig b/core/modules/views_ui/templates/views-ui-expose-filter-form.html.twig new file mode 100644 index 0000000..5699cd7 --- /dev/null +++ b/core/modules/views_ui/templates/views-ui-expose-filter-form.html.twig @@ -0,0 +1,67 @@ +{# +/** + * @file + * Default theme implementation for exposed filter form. + * + * Available variables: + * - form_description: The exposed filter's description. + * - expose_button: The button to toggle the expose filter form. + * - group_button: Toggle options between single and grouped filters. + * - required: A checkbox to require this filter or not. + * - label: A filter label input field. + * - description: A filter description field. + * - operator: The operators for how the filters value should be treated. + * - #type: The operator type. + * - value: The filters available values. + * - use_operator: Checkbox to allow the user to expose the operator. + * - more: A details element for additional field exposed filter fields. + * + * @ingroup themeable + */ +#} +{{ form.form_description }} +{{ form.expose_button }} +{{ form.group_button }} +{{ form.required }} +{{ form.label }} +{{ form.description }} + +{{ form.operator }} +{{ form.value }} + +{% if form.use_operator is not empty %} +
+ {{ form.use_operator }} +
+{% endif %} + +{# + Collect a list of elements printed to exclude when printing the + remaining elements. +#} +{% set remaining_form = form|without( + 'form_description', + 'expose_button', + 'group_button', + 'required', + 'label', + 'description', + 'operator', + 'value', + 'use_operator', + 'more' + ) +%} + +{# + Only output the right column markup if there's a left column to begin with. +#} +{% if form.operator['#type'] %} +
+ {{ remaining_form }} +
+{% else %} + {{ remaining_form }} +{% endif %} + +{{ form.more }} diff --git a/core/modules/views_ui/views_ui.module b/core/modules/views_ui/views_ui.module index f27d515..1bec041 100644 --- a/core/modules/views_ui/views_ui.module +++ b/core/modules/views_ui/views_ui.module @@ -84,6 +84,7 @@ function views_ui_theme() { 'views_ui_expose_filter_form' => array( 'render element' => 'form', 'file' => 'views_ui.theme.inc', + 'template' => 'views-ui-expose-filter-form', ), // list views diff --git a/core/modules/views_ui/views_ui.theme.inc b/core/modules/views_ui/views_ui.theme.inc index efa54d9..eb8c34f 100644 --- a/core/modules/views_ui/views_ui.theme.inc +++ b/core/modules/views_ui/views_ui.theme.inc @@ -105,46 +105,6 @@ function template_preprocess_views_ui_view_info(&$variables) { } /** - * Theme the expose filter form. - */ -function theme_views_ui_expose_filter_form($variables) { - $form = $variables['form']; - $more = drupal_render($form['more']); - - $output = drupal_render($form['form_description']); - $output .= drupal_render($form['expose_button']); - $output .= drupal_render($form['group_button']); - if (isset($form['required'])) { - $output .= drupal_render($form['required']); - } - $output .= drupal_render($form['label']); - $output .= drupal_render($form['description']); - - $output .= drupal_render($form['operator']); - $output .= drupal_render($form['value']); - - if (isset($form['use_operator'])) { - $output .= '
'; - $output .= drupal_render($form['use_operator']); - $output .= '
'; - } - - // Only output the right column markup if there's a left column to begin with - if (!empty($form['operator']['#type'])) { - $output .= '
'; - $output .= drupal_render_children($form); - $output .= '
'; - } - else { - $output .= drupal_render_children($form); - } - - $output .= $more; - - return $output; -} - -/** * Theme the build group filter form. */ function theme_views_ui_build_group_filter_form($variables) {