/**
  * Format config schema as list table.
  *
  * @param string $config_name
  *   The config name.
  * @param array|object $config_schema
  *   An array of config elements with key.
  *
  * @return array
  *   The list table as a render array.
  */
 protected function formatList($config_name, $config_schema)
 {
     $rows = array();
     $errors = (array) $this->configInspectorManager->checkValues($config_name);
     $schema = $this->configInspectorManager->convertConfigElementToList($config_schema);
     foreach ($schema as $key => $element) {
         $definition = $element->getDataDefinition();
         $rows[] = array('class' => isset($errors[$config_name . ':' . $key]) ? array('config-inspector-error') : array(), 'data' => array(array('class' => array('icon'), 'data' => ''), $key, $definition['label'], $definition['type'], $this->formatValue($element), @$errors[$config_name . ':' . $key] ?: ''));
     }
     return array('#attached' => array('library' => array('config_inspector/config_inspector')), '#type' => 'table', '#header' => array('', t('Name'), t('Label'), t('Type'), t('Value'), t('Error')), '#rows' => $rows);
 }
 /**
  * Format config schema as list table.
  */
 protected function formatList($config_name, $config_schema)
 {
     $rows = array();
     $errors = (array) $this->configInspectorManager->checkValues($config_name);
     $schema = $this->configInspectorManager->convertConfigElementToList($config_schema);
     foreach ($schema as $key => $element) {
         $definition = $element->getDataDefinition();
         // Define the 'VALUE' column element of the table.
         // A special case is required for Mapping and Sequence as there is no getString() method.
         switch (get_class($element)) {
             case 'Drupal\\Core\\Config\\Schema\\Mapping':
             case 'Drupal\\Core\\Config\\Schema\\Sequence':
                 $value = $element->getValue();
                 $value = empty($value) ? '<empty>' : '<see below>';
                 break;
             default:
                 $value = $element->getString();
         }
         $rows[] = array('class' => isset($errors[$config_name . ':' . $key]) ? array('config-inspector-error') : array(), 'data' => array(array('class' => array('icon'), 'data' => ''), $key, $definition['label'], $definition['type'], $value, @$errors[$config_name . ':' . $key] ?: ''));
     }
     return array('#attached' => array('css' => array(drupal_get_path('module', 'config_inspector') . '/css/config_inspector.css')), '#type' => 'table', '#header' => array('', t('Name'), t('Label'), t('Type'), t('Value'), t('Error')), '#rows' => $rows);
 }