Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $element['subform']['field_course']['widget']['#ajax'] = [
- 'callback' => 'get_competency',
- 'event' => 'change',
- 'method' => 'replace',
- 'wrapper' => '#edit-competency-'.$uuid_value,
- ];
- }
- function get_competency(array &$element, FormStateInterface $form_state, $context) {
- $triggeringElement = $form_state->getTriggeringElement();
- $value = $triggeringElement['#value'];
- $gt = Drupal::service('generic_templates.utility');
- $options = $gt->getCompetency($value);
- $options = ["_none" => "- Select a value -"] + $options;
- $wrapper_id = $triggeringElement["#ajax"]["wrapper"];
- unset($triggeringElement["#value"]);
- unset($triggeringElement["#ajax"]);
- $triggeringElement['#title'] = "Competency";
- $triggeringElement['#prefix'] = '<div id="'.$wrapper_id.'">';
- $triggeringElement['#suffix'] = '</div>';
- $triggeringElement['#options'] = $options;
- $triggeringElement['#default_value'] = NULL;
- $triggeringElement['#field_name'] = " field_competency";
- $triggeringElement['#parents'] =
- [
- "field_configurations",
- 0,
- "subform",
- "field_configuration",
- 0,
- "subform",
- "field_score",
- 0,
- "subform",
- "field_competency",
- ];
- $triggeringElement["#array_parents"] = [
- "field_configurations",
- "widget",
- 0,
- "subform",
- "field_configuration",
- "widget",
- 0,
- "subform",
- "field_score",
- "widget",
- 0,
- "subform",
- "field_competency",
- "widget",
- ];
- $triggeringElement["#attributes"]["data-drupal-selector"] = str_replace("course","competency", $triggeringElement["#attributes"]["data-drupal-selector"]);
- $triggeringElement["#name"] = str_replace("course","competency", $triggeringElement["#name"]);
- $id = explode('--',$triggeringElement["#id"])[0];
- $triggeringElement["#id"] = str_replace("course","competency", $id);
- return $triggeringElement;
- }
- use DrupalCoreAjaxAjaxResponse;
- use DrupalCoreAjaxHtmlCommand;
- /**
- * Implements hook_field_widget_WIDGET_TYPE_form_alter().
- */
- function modulename_field_widget_entity_reference_paragraphs_form_alter(&$element, &$form_state, $context) {
- $element['subform']['field_course']['widget']['#ajax'] = [
- 'callback' => 'get_competency',
- 'event' => 'change',
- 'method' => 'html',
- 'wrapper' => 'edit-competency-'.$uuid_value,
- ];
- $element['subform']['field_competency']['widget']['#attributes']['id']= 'edit-competency-'.$uuid_value;
- }
- function get_competency(array &$element, FormStateInterface $form_state, $context) {
- $triggeringElement = $form_state->getTriggeringElement();
- $value = $triggeringElement['#value'];
- $gt = Drupal::service('generic_templates.utility');
- $options = $gt->getCompetency($value);
- $options = ["_none" => "- Select a value -"] + $options;
- $wrapper_id = $triggeringElement["#ajax"]["wrapper"];
- $gt = Drupal::service('generic_templates.utility');
- $options = $gt->getCompetency($value);
- $options = ["_none" => "- Select a value -"] + $options;
- $renderedField = '';
- foreach ($options as $key => $value) {
- $renderedField .= "<option value='".$key."'>".$value."</option>";
- }
- $response = new AjaxResponse();
- $response->addCommand(new HtmlCommand('#'.$wrapper_id, $renderedField));
- return $response;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement