From 17edf70f6a35cee0681b5e2908dd4da31acdaf9d Mon Sep 17 00:00:00 2001 From: Philippe von Bergen Date: Tue, 21 Dec 2021 08:29:43 +0100 Subject: [PATCH 1/4] use field id for visibility check --- .../src/Plugin/views/row/Pattern.php | 4 +-- .../ui_patterns_views.module | 2 +- use_field_id_for_visibility_check.php | 31 +++++++++++++++++++ 3 files changed, 34 insertions(+), 3 deletions(-) create mode 100755 use_field_id_for_visibility_check.php diff --git a/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php b/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php index 2a1a2993..3b8d2857 100644 --- a/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php +++ b/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php @@ -142,11 +142,11 @@ public function submitOptionsForm(&$form, FormStateInterface $form_state) { * * @see template_preprocess_pattern_views_row() */ - public function isFieldVisible(FieldPluginBase $field, $field_output) { + public function isFieldVisible(FieldPluginBase $field, $field_name, $field_output) { $empty_value = $field->isValueEmpty($field_output, $field->options['empty_zero']); $hide_field = !$empty_value || (empty($field->options['hide_empty']) && empty($this->options['hide_empty'])); $empty = empty($field->options['exclude']) && $hide_field; - return $empty && $this->hasMappingDestination('views_row', $field->field, $this->options); + return $empty && $this->hasMappingDestination('views_row', $field_name, $this->options); } } diff --git a/modules/ui_patterns_views/ui_patterns_views.module b/modules/ui_patterns_views/ui_patterns_views.module index 0b2ad4c6..afa2b2ae 100644 --- a/modules/ui_patterns_views/ui_patterns_views.module +++ b/modules/ui_patterns_views/ui_patterns_views.module @@ -39,7 +39,7 @@ function template_preprocess_pattern_views_row(array &$variables) { $field_name = $mapping['source']; $field = $view->field[$field_name]; $field_output = $view->style_plugin->getField($row->index, $field_name); - if ($row_plugin->isFieldVisible($field, $field_output)) { + if ($row_plugin->isFieldVisible($field, $field_name, $field_output)) { $destination = $row_plugin->getMappingDestination('views_row', $field_name, $options); $fields[$destination][] = $field_output; } diff --git a/use_field_id_for_visibility_check.php b/use_field_id_for_visibility_check.php new file mode 100755 index 00000000..133fcd4c --- /dev/null +++ b/use_field_id_for_visibility_check.php @@ -0,0 +1,31 @@ +diff --git a/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php b/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php +index 2a1a299..3b8d285 100644 +--- a/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php ++++ b/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php +@@ -142,11 +142,11 @@ class Pattern extends Fields { + * + * @see template_preprocess_pattern_views_row() + */ +- public function isFieldVisible(FieldPluginBase $field, $field_output) { ++ public function isFieldVisible(FieldPluginBase $field, $field_name, $field_output) { + $empty_value = $field->isValueEmpty($field_output, $field->options['empty_zero']); + $hide_field = !$empty_value || (empty($field->options['hide_empty']) && empty($this->options['hide_empty'])); + $empty = empty($field->options['exclude']) && $hide_field; +- return $empty && $this->hasMappingDestination('views_row', $field->field, $this->options); ++ return $empty && $this->hasMappingDestination('views_row', $field_name, $this->options); + } + + } +diff --git a/modules/ui_patterns_views/ui_patterns_views.module b/modules/ui_patterns_views/ui_patterns_views.module +index 0b2ad4c..afa2b2a 100644 +--- a/modules/ui_patterns_views/ui_patterns_views.module ++++ b/modules/ui_patterns_views/ui_patterns_views.module +@@ -39,7 +39,7 @@ function template_preprocess_pattern_views_row(array &$variables) { + $field_name = $mapping['source']; + $field = $view->field[$field_name]; + $field_output = $view->style_plugin->getField($row->index, $field_name); +- if ($row_plugin->isFieldVisible($field, $field_output)) { ++ if ($row_plugin->isFieldVisible($field, $field_name, $field_output)) { + $destination = $row_plugin->getMappingDestination('views_row', $field_name, $options); + $fields[$destination][] = $field_output; + } From d06e18aab80515977072f7d599bf6e4c8214d130 Mon Sep 17 00:00:00 2001 From: Philippe von Bergen Date: Tue, 21 Dec 2021 08:30:24 +0100 Subject: [PATCH 2/4] Remove patch --- use_field_id_for_visibility_check.php | 31 --------------------------- 1 file changed, 31 deletions(-) delete mode 100755 use_field_id_for_visibility_check.php diff --git a/use_field_id_for_visibility_check.php b/use_field_id_for_visibility_check.php deleted file mode 100755 index 133fcd4c..00000000 --- a/use_field_id_for_visibility_check.php +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php b/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php -index 2a1a299..3b8d285 100644 ---- a/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php -+++ b/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php -@@ -142,11 +142,11 @@ class Pattern extends Fields { - * - * @see template_preprocess_pattern_views_row() - */ -- public function isFieldVisible(FieldPluginBase $field, $field_output) { -+ public function isFieldVisible(FieldPluginBase $field, $field_name, $field_output) { - $empty_value = $field->isValueEmpty($field_output, $field->options['empty_zero']); - $hide_field = !$empty_value || (empty($field->options['hide_empty']) && empty($this->options['hide_empty'])); - $empty = empty($field->options['exclude']) && $hide_field; -- return $empty && $this->hasMappingDestination('views_row', $field->field, $this->options); -+ return $empty && $this->hasMappingDestination('views_row', $field_name, $this->options); - } - - } -diff --git a/modules/ui_patterns_views/ui_patterns_views.module b/modules/ui_patterns_views/ui_patterns_views.module -index 0b2ad4c..afa2b2a 100644 ---- a/modules/ui_patterns_views/ui_patterns_views.module -+++ b/modules/ui_patterns_views/ui_patterns_views.module -@@ -39,7 +39,7 @@ function template_preprocess_pattern_views_row(array &$variables) { - $field_name = $mapping['source']; - $field = $view->field[$field_name]; - $field_output = $view->style_plugin->getField($row->index, $field_name); -- if ($row_plugin->isFieldVisible($field, $field_output)) { -+ if ($row_plugin->isFieldVisible($field, $field_name, $field_output)) { - $destination = $row_plugin->getMappingDestination('views_row', $field_name, $options); - $fields[$destination][] = $field_output; - } From 8f2e0c636715b870b7c36f04849b48f633f98f63 Mon Sep 17 00:00:00 2001 From: Philippe von Bergen Date: Thu, 19 May 2022 13:52:20 +0200 Subject: [PATCH 3/4] Add support for additional fields on PatternDefinitionField --- src/Definition/PatternDefinitionField.php | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/Definition/PatternDefinitionField.php b/src/Definition/PatternDefinitionField.php index be33e402..c72e2725 100644 --- a/src/Definition/PatternDefinitionField.php +++ b/src/Definition/PatternDefinitionField.php @@ -23,6 +23,7 @@ class PatternDefinitionField implements \ArrayAccess { 'type' => NULL, 'preview' => NULL, 'escape' => TRUE, + 'additional' => [], ]; /** @@ -162,4 +163,27 @@ public function setEscape($escape) { return $this; } + /** + * Get Additional property. + * + * @return array + * Property value. + */ + public function getAdditional() { + return $this->definition['additional']; + } + + /** + * Set Additional property. + * + * @param array $additional + * Property value. + * + * @return $this + */ + public function setAdditional(array $additional) { + $this->definition['additional'] = $additional; + return $this; + } + } From 431e5cdbe7654c1b8abf98eaf0aab7b691ae3986 Mon Sep 17 00:00:00 2001 From: Philippe von Bergen Date: Thu, 19 May 2022 13:55:29 +0200 Subject: [PATCH 4/4] Remove support for additional fields on PatternDefinitionField --- src/Definition/PatternDefinitionField.php | 24 ----------------------- 1 file changed, 24 deletions(-) diff --git a/src/Definition/PatternDefinitionField.php b/src/Definition/PatternDefinitionField.php index c72e2725..be33e402 100644 --- a/src/Definition/PatternDefinitionField.php +++ b/src/Definition/PatternDefinitionField.php @@ -23,7 +23,6 @@ class PatternDefinitionField implements \ArrayAccess { 'type' => NULL, 'preview' => NULL, 'escape' => TRUE, - 'additional' => [], ]; /** @@ -163,27 +162,4 @@ public function setEscape($escape) { return $this; } - /** - * Get Additional property. - * - * @return array - * Property value. - */ - public function getAdditional() { - return $this->definition['additional']; - } - - /** - * Set Additional property. - * - * @param array $additional - * Property value. - * - * @return $this - */ - public function setAdditional(array $additional) { - $this->definition['additional'] = $additional; - return $this; - } - }