5 use Drupal\Core\Form\ConfigFormBase;
6 use Drupal\Core\Form\FormStateInterface;
33 return 'dkan_data_settings_form';
41 public function buildForm(array $form, FormStateInterface $form_state) {
42 $config = $this->config(
'dkan_data.settings');
44 $default_values = $config->get(
'property_list');
45 $form[
'property_list'] = [
46 '#type' =>
'checkboxes',
47 '#title' => $this->t(
'List of dataset properties with referencing and API endpoint'),
48 '#options' => $options,
49 '#default_value' => $default_values,
51 return parent::buildForm($form, $form_state);
62 $schemaRetriever = \Drupal::service(
'dkan_schema.schema_retriever');
63 $schema = $schemaRetriever->retrieve(
'dataset');
64 $schema_object = json_decode($schema);
68 foreach ($schema_object->properties as $property_id => $property_object) {
69 if (isset($property_object->title)) {
70 $property_list[$property_id] =
"{$property_object->title} ({$property_id})";
73 $property_list[$property_id] = ucfirst($property_id);
77 return $property_list;
85 public function submitForm(array &$form, FormStateInterface $form_state) {
86 parent::submitForm($form, $form_state);
88 $this->config(
'dkan_data.settings')
89 ->set(
'property_list', $form_state->getValue(
'property_list'))
93 \Drupal::service(
"router.builder")->rebuild();