From fe47919c0b9000b87ff84334bb5a6d874161f836 Mon Sep 17 00:00:00 2001 From: Scott Euser <scotteuser@gmail.com> Date: Sat, 19 Apr 2025 10:43:35 +0100 Subject: [PATCH 1/2] Fix plugins to have accurate parents --- .../src/Plugin/AiContentSuggestions/Readability.php | 4 ++-- .../src/Plugin/AiContentSuggestions/Summarise.php | 4 ++-- .../src/Plugin/AiContentSuggestions/Taxonomy.php | 6 +++--- .../src/Plugin/AiContentSuggestions/Title.php | 4 ++-- .../src/Plugin/AiContentSuggestions/Tone.php | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Readability.php b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Readability.php index 80e6730a3..1a74036c2 100644 --- a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Readability.php +++ b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Readability.php @@ -83,7 +83,7 @@ final class Readability extends AiContentSuggestionsPluginBase { '#type' => 'textarea', '#required' => TRUE, '#default_value' => $prompt ?? $this->defaultPrompt . PHP_EOL, - '#parents' => [$this->getPluginId(), $this->getPluginId() . '_prompt'], + '#parents' => ['plugins', $this->getPluginId(), $this->getPluginId() . '_prompt'], '#states' => [ 'visible' => [ ':input[name="' . $this->getPluginId() . '[' . $this->getPluginId() . '_enabled' . ']"]' => ['checked' => TRUE], @@ -96,7 +96,7 @@ final class Readability extends AiContentSuggestionsPluginBase { * {@inheritdoc} */ public function saveSettingsForm(array &$form, FormStateInterface $form_state): void { - $value = $form_state->getValue($this->getPluginId()); + $value = $form_state->getValue(['plugins', $this->getPluginId()]); $prompt = $value[$this->getPluginId() . '_prompt']; $this->promptConfig->set($this->getPluginId(), $prompt)->save(); } diff --git a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Summarise.php b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Summarise.php index 1d6e58d17..4b35df568 100644 --- a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Summarise.php +++ b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Summarise.php @@ -69,7 +69,7 @@ final class Summarise extends AiContentSuggestionsPluginBase { '#type' => 'textarea', '#required' => TRUE, '#default_value' => $prompt ?? $this->defaultPrompt . PHP_EOL, - '#parents' => [$this->getPluginId(), $this->getPluginId() . '_prompt'], + '#parents' => ['plugins', $this->getPluginId(), $this->getPluginId() . '_prompt'], '#states' => [ 'visible' => [ ':input[name="' . $this->getPluginId() . '[' . $this->getPluginId() . '_enabled' . ']"]' => ['checked' => TRUE], @@ -82,7 +82,7 @@ final class Summarise extends AiContentSuggestionsPluginBase { * {@inheritdoc} */ public function saveSettingsForm(array &$form, FormStateInterface $form_state): void { - $value = $form_state->getValue($this->getPluginId()); + $value = $form_state->getValue(['plugins', $this->getPluginId()]); $prompt = $value[$this->getPluginId() . '_prompt']; $this->promptConfig->set($this->getPluginId(), $prompt)->save(); } diff --git a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Taxonomy.php b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Taxonomy.php index 70eba2203..2a16d6237 100644 --- a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Taxonomy.php +++ b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Taxonomy.php @@ -134,7 +134,7 @@ final class Taxonomy extends AiContentSuggestionsPluginBase { '#type' => 'textarea', '#required' => TRUE, '#default_value' => $prompt ?? $this->defaultOpenPrompt . PHP_EOL, - '#parents' => [$this->getPluginId(), $this->getPluginId() . '_prompt_open'], + '#parents' => ['plugins', $this->getPluginId(), $this->getPluginId() . '_prompt_open'], '#states' => [ 'visible' => [ ':input[name="' . $this->getPluginId() . '[' . $this->getPluginId() . '_enabled' . ']"]' => ['checked' => TRUE], @@ -147,7 +147,7 @@ final class Taxonomy extends AiContentSuggestionsPluginBase { '#type' => 'textarea', '#required' => TRUE, '#default_value' => $prompt ?? $this->defaultFromVocPrompt . PHP_EOL, - '#parents' => [$this->getPluginId(), $this->getPluginId() . '_prompt_from_voc'], + '#parents' => ['plugins', $this->getPluginId(), $this->getPluginId() . '_prompt_from_voc'], '#states' => [ 'visible' => [ ':input[name="' . $this->getPluginId() . '[' . $this->getPluginId() . '_enabled' . ']"]' => ['checked' => TRUE], @@ -160,7 +160,7 @@ final class Taxonomy extends AiContentSuggestionsPluginBase { * {@inheritdoc} */ public function saveSettingsForm(array &$form, FormStateInterface $form_state): void { - $value = $form_state->getValue($this->getPluginId()); + $value = $form_state->getValue(['plugins', $this->getPluginId()]); $prompt_open = $value[$this->getPluginId() . '_prompt_open']; $this->promptConfig->set($this->getPluginId() . '_open', $prompt_open)->save(); $prompt_from_voc = $value[$this->getPluginId() . '_prompt_from_voc']; diff --git a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Title.php b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Title.php index 3bc9e7628..c41721838 100644 --- a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Title.php +++ b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Title.php @@ -69,7 +69,7 @@ final class Title extends AiContentSuggestionsPluginBase { '#type' => 'textarea', '#required' => TRUE, '#default_value' => $prompt ?? $this->defaultPrompt . PHP_EOL, - '#parents' => [$this->getPluginId(), $this->getPluginId() . '_prompt'], + '#parents' => ['plugins', $this->getPluginId(), $this->getPluginId() . '_prompt'], '#states' => [ 'visible' => [ ':input[name="' . $this->getPluginId() . '[' . $this->getPluginId() . '_enabled' . ']"]' => ['checked' => TRUE], @@ -82,7 +82,7 @@ final class Title extends AiContentSuggestionsPluginBase { * {@inheritdoc} */ public function saveSettingsForm(array &$form, FormStateInterface $form_state): void { - $value = $form_state->getValue($this->getPluginId()); + $value = $form_state->getValue(['plugins', $this->getPluginId()]); $prompt = $value[$this->getPluginId() . '_prompt']; $this->promptConfig->set($this->getPluginId(), $prompt)->save(); } diff --git a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Tone.php b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Tone.php index 58a9a6ee5..c5233b7b7 100644 --- a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Tone.php +++ b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Tone.php @@ -199,7 +199,7 @@ final class Tone extends AiContentSuggestionsPluginBase { '#type' => 'textarea', '#required' => TRUE, '#default_value' => $prompt ?? $this->defaultPrompt . PHP_EOL, - '#parents' => [$this->getPluginId(), $this->getPluginId() . '_prompt'], + '#parents' => ['plugins', $this->getPluginId(), $this->getPluginId() . '_prompt'], '#states' => [ 'visible' => [ ':input[name="' . $this->getPluginId() . '[' . $this->getPluginId() . '_enabled' . ']"]' => ['checked' => TRUE], @@ -213,7 +213,7 @@ final class Tone extends AiContentSuggestionsPluginBase { $vocabulary_options[$vocabulary->id()] = $vocabulary->label(); } $form[$this->getPluginId()][$this->getPluginId() . '_taxonomy_enabled'] = [ - '#parents' => [$this->getPluginId(), $this->getPluginId() . '_taxonomy_enabled'], + '#parents' => ['plugins', $this->getPluginId(), $this->getPluginId() . '_taxonomy_enabled'], '#type' => 'checkbox', '#title' => $this->t('Choose own vocabulary for tone of voice options.'), '#description' => $this->t('Keeping this unselected falls back to default tone of voice options (Friendly, Professional, High school, College, Five year old).'), @@ -226,7 +226,7 @@ final class Tone extends AiContentSuggestionsPluginBase { ]; $form[$this->getPluginId()][$this->getPluginId() . '_taxonomy'] = [ - '#parents' => [$this->getPluginId(), $this->getPluginId() . '_taxonomy'], + '#parents' => ['plugins', $this->getPluginId(), $this->getPluginId() . '_taxonomy'], '#type' => 'select', '#title' => $this->t('Choose vocabulary for tone options'), '#options' => $vocabulary_options, @@ -245,7 +245,7 @@ final class Tone extends AiContentSuggestionsPluginBase { * {@inheritdoc} */ public function saveSettingsForm(array &$form, FormStateInterface $form_state): void { - $value = $form_state->getValue($this->getPluginId()); + $value = $form_state->getValue(['plugins', $this->getPluginId()]); $taxonomy = $value[$this->getPluginId() . '_taxonomy']; $this->toneConfig->set($this->getPluginId() . '_taxonomy', $taxonomy)->save(); $taxonomy_enabled = $value[$this->getPluginId() . '_taxonomy_enabled']; -- GitLab From 88e8a903679c163b6ed15a2c97aee0ed38e488c7 Mon Sep 17 00:00:00 2001 From: Scott Euser <scotteuser@gmail.com> Date: Sat, 19 Apr 2025 10:44:37 +0100 Subject: [PATCH 2/2] Nitpick that doesn't deserve its own issue --- .../src/Plugin/AiContentSuggestions/Title.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Title.php b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Title.php index c41721838..0138d4bab 100644 --- a/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Title.php +++ b/modules/ai_content_suggestions/src/Plugin/AiContentSuggestions/Title.php @@ -65,7 +65,7 @@ final class Title extends AiContentSuggestionsPluginBase { parent::buildSettingsForm($form); $prompt = $this->promptConfig->get($this->getPluginId()); $form[$this->getPluginId()][$this->getPluginId() . '_prompt'] = [ - '#title' => $this->t('suggest Title prompt', []), + '#title' => $this->t('Suggest Title prompt', []), '#type' => 'textarea', '#required' => TRUE, '#default_value' => $prompt ?? $this->defaultPrompt . PHP_EOL, -- GitLab