diff --git a/config_inspector.module b/config_inspector.module index 6742140..d100c76 100644 --- a/config_inspector.module +++ b/config_inspector.module @@ -5,6 +5,17 @@ */ /** + * Implements hook_help(). + */ +function config_inspector_help($path, $arg) { + switch ($path) { + case 'admin/reports/config-inspector': + return '

' . t('List of configuration with configuration schema. Check configuration schema page for more details.', array('!schema_link' => 'https://drupal.org/node/1905070')) . '

'; + break; + } +} + +/** * Implements hook_permission(). */ function config_inspector_permission() { diff --git a/lib/Drupal/config_inspector/ConfigInspectorManager.php b/lib/Drupal/config_inspector/ConfigInspectorManager.php index 1872554..9f84455 100644 --- a/lib/Drupal/config_inspector/ConfigInspectorManager.php +++ b/lib/Drupal/config_inspector/ConfigInspectorManager.php @@ -55,6 +55,18 @@ class ConfigInspectorManager extends DefaultPluginManager { return $this->typedConfigManager->getDefinition($plugin_id); } + /** + * Checks if the configuration schema with the given config name exists. + * + * @param string $name + * Configuration name. + * + * @return bool + * TRUE if configuration schema exists, FALSE otherwise. + */ + public function hasSchema($name) { + return $this->typedConfigManager->hasConfigSchema($name); + } /** * Provides configuration data. diff --git a/lib/Drupal/config_inspector/Controller/ConfigInspectorController.php b/lib/Drupal/config_inspector/Controller/ConfigInspectorController.php index a318e57..f47be83 100644 --- a/lib/Drupal/config_inspector/Controller/ConfigInspectorController.php +++ b/lib/Drupal/config_inspector/Controller/ConfigInspectorController.php @@ -68,10 +68,8 @@ class ConfigInspectorController extends ControllerBase { ); foreach ($this->storage->listAll() as $name) { - // Only handle elements with a schema. The schema system falls back on the - // Property class for unknown types. See http://drupal.org/node/1905230 - $definition = $this->configInspectorManager->getDefinition($name); - if (is_array($definition) && $definition['class'] == '\Drupal\Core\Config\Schema\Property') { + // Only handle elements with a schema. + if (!$this->configInspectorManager->hasSchema($name)) { continue; } @@ -83,7 +81,7 @@ class ConfigInspectorController extends ControllerBase { 'raw' => array('#markup' => l(t('Raw data'), 'admin/reports/config-inspector/' . $name . '/raw')), ); } - + $list['#title'] = $this->t('Configuration inspector'); return $list; } diff --git a/lib/Drupal/config_inspector/Form/ConfigInspectorItemForm.php b/lib/Drupal/config_inspector/Form/ConfigInspectorItemForm.php index 56715fc..079ba29 100644 --- a/lib/Drupal/config_inspector/Form/ConfigInspectorItemForm.php +++ b/lib/Drupal/config_inspector/Form/ConfigInspectorItemForm.php @@ -59,6 +59,7 @@ class ConfigInspectorItemForm extends FormBase { $type = 'checkbox'; break; case 'string': + case 'color_hex': case 'path': case 'label': $type = 'textfield';