From 2ff3381a07904f1314e503cd39e801029e1b9f0c Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Sun, 10 Aug 2014 17:22:53 -0500
Subject: [PATCH] Issue #1963980 by joelpittet | Cottser: Convert
 theme_views_ui_expose_filter_form() to Twig.

---
 .../views-ui-expose-filter-form.html.twig     | 67 +++++++++++++++++++
 core/modules/views_ui/views_ui.module         |  1 +
 core/modules/views_ui/views_ui.theme.inc      | 40 -----------
 3 files changed, 68 insertions(+), 40 deletions(-)
 create mode 100644 core/modules/views_ui/templates/views-ui-expose-filter-form.html.twig

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 000000000000..dfc4775886a9
--- /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 %}
+  <div class="views-left-40">
+  {{ form.use_operator }}
+  </div>
+{% 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'] %}
+  <div class="views-right-60">
+  {{ remaining_form }}
+  </div>
+{% 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 f27d515d2712..1bec041ccc7b 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 efa54d994360..eb8c34f1a6eb 100644
--- a/core/modules/views_ui/views_ui.theme.inc
+++ b/core/modules/views_ui/views_ui.theme.inc
@@ -104,46 +104,6 @@ function template_preprocess_views_ui_view_info(&$variables) {
   $variables['displays'] = $displays;
 }
 
-/**
- * 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 .= '<div class="views-left-40">';
-    $output .= drupal_render($form['use_operator']);
-    $output .= '</div>';
-  }
-
-  // Only output the right column markup if there's a left column to begin with
-  if (!empty($form['operator']['#type'])) {
-    $output .= '<div class="views-right-60">';
-    $output .= drupal_render_children($form);
-    $output .= '</div>';
-  }
-  else {
-    $output .= drupal_render_children($form);
-  }
-
-  $output .= $more;
-
-  return $output;
-}
-
 /**
  * Theme the build group filter form.
  */
-- 
GitLab