Browse Source

added defaults

main
ajstanley 10 months ago
parent
commit
24256490e8
  1. 26
      src/Form/DOIFieldSettingsForm.php

26
src/Form/DOIFieldSettingsForm.php

@ -158,14 +158,20 @@ final class DOIFieldSettingsForm extends ConfigFormBase {
'#type' => 'markup',
'#markup' => $this->t('DOI genre terms are returned by Crossref. Please choose any term you would like to replace from your own taxonomy.'),
];
$initial_pair = [
'key' => '',
'value' => '',
'unique_id' => 'initial',
];
$doi_term_islandora_term_pairs = $form_state->get('doi_term_islandora_term_pairs');
if (!$doi_term_islandora_term_pairs) {
$doi_term_islandora_term_pairs = $form_state->get('doi_term_islandora_term_pairs', []);
$entry_count = $form_state->get('entry_count');
if (!$doi_term_islandora_term_pairs && $entry_count === NULL) {
$doi_term_islandora_term_pairs = $config->get('doi_term_islandora_term_pairs');
}
if (empty($doi_term_islandora_term_pairs)) {
// Initialize as an empty array if no pairs exist.
$doi_term_islandora_term_pairs = [];
$doi_term_islandora_term_pairs['initial'] = $initial_pair;
}
// Set the form state for entry_count and doi_term_islandora_term_pairs.
@ -187,15 +193,13 @@ final class DOIFieldSettingsForm extends ConfigFormBase {
$form['doi_term_islandora_term_pairs'][$unique_id]['key'] = [
'#type' => 'textfield',
'#default_value' => $pair['key'] ?? '',
'#title' => $this->t('term from DOI'),
'#required' => TRUE,
'#placeholder' => $this->t('Term from DOI'),
];
$form['doi_term_islandora_term_pairs'][$unique_id]['value'] = [
'#type' => 'textfield',
'#default_value' => $pair['value'] ?? '',
'#title' => $this->t('Genre term'),
'#required' => TRUE,
'#placeholder' => $this->t('Genre term'),
];
// Hidden field to store the correct entry ID.
@ -230,13 +234,6 @@ final class DOIFieldSettingsForm extends ConfigFormBase {
'wrapper' => 'key-value-pairs-wrapper',
],
];
// Submit button for the form.
$form['submit'] = [
'#type' => 'submit',
'#value' => $this->t('Save term mappings'),
];
return parent::buildForm($form, $form_state);
}
@ -316,6 +313,7 @@ final class DOIFieldSettingsForm extends ConfigFormBase {
if (isset($doi_term_islandora_term_pairs[$clicked_id])) {
unset($doi_term_islandora_term_pairs[$clicked_id]);
}
$count = count($doi_term_islandora_term_pairs);
$form_state->set('doi_term_islandora_term_pairs', $doi_term_islandora_term_pairs);
$form_state->set('entry_count', count($doi_term_islandora_term_pairs));
$form_state->setRebuild();

Loading…
Cancel
Save