public function Table::formatHtml in YAML Form 8
Format an element's value as HTML.
Parameters
array $element: An element.
array|mixed $value: A value.
array $options: An array of options.
Return value
array|string The element's value formatted as an HTML string or a render array.
Overrides YamlFormElementBase::formatHtml
1 call to Table::formatHtml()
- Table::formatText in src/
Plugin/ YamlFormElement/ Table.php  - Format an element's value as plain text.
 
File
- src/
Plugin/ YamlFormElement/ Table.php, line 103  
Class
- Table
 - Provides a 'table' element.
 
Namespace
Drupal\yamlform\Plugin\YamlFormElementCode
public function formatHtml(array &$element, $value, array $options = []) {
  // Undo form submission elements and convert rows back into a simple
  // render array.
  $rows = [];
  foreach ($value as $row_key => $row_element) {
    $element[$row_key] = [];
    foreach ($row_element['#value'] as $column_key => $column_element) {
      if (isset($column_element['#value'])) {
        if (is_string($column_element['#value']) || $column_element['#value'] instanceof TranslatableMarkup) {
          $value = [
            '#markup' => $column_element['#value'],
          ];
        }
        else {
          $value = $column_element['#value'];
        }
      }
      elseif (isset($column_element['#markup'])) {
        $value = [
          '#markup' => $column_element['#markup'],
        ];
      }
      else {
        $value = '';
      }
      $rows[$row_key][$column_key] = [
        'data' => $value,
      ];
    }
  }
  return $rows + $element;
}