These are chat archives for DrupalRu/chat

21st
Oct 2017
Alexey
@alexsco74
Oct 21 2017 04:17
C добрым утром, всем привет :)
KarmaBot
@KarmaBot
Oct 21 2017 04:17
@alexsco74, привет, как настроение?
Alexey Kuznetsov
@alexey-kuznetsov
Oct 21 2017 14:52
Привет, чатик!
KarmaBot
@KarmaBot
Oct 21 2017 14:52
@alexey-kuznetsov и тебе не хворать :)
Alexey Kuznetsov
@alexey-kuznetsov
Oct 21 2017 14:52
Есть вопрос по form api ajax в восьмёрке
iDobryak
@iDobryak
Oct 21 2017 14:53
может более глобально.. как в восьмерке работать с формами через рест? ,)
Alexey Kuznetsov
@alexey-kuznetsov
Oct 21 2017 14:53
где глянуть пример, чтобы элемент формы полностью реплэйсился аяском, только так, чтобы не указывать хардкодом айдишник обёртки для респонса?
нет, это не про рест)
iDobryak
@iDobryak
Oct 21 2017 14:56
ну ты же будешь хардкодить что оно должно будет меняться, что мешает айдишник указать? тем более он каждый раз новый контейнер выдает вроде
Alexey Kuznetsov
@alexey-kuznetsov
Oct 21 2017 14:57
мешает указать айдишник то, что это виджет поля, соответственно его айдишник зависит от дельты
iDobryak
@iDobryak
Oct 21 2017 14:59
ну насколько мы помним там только вшитый указатель селектора, на фронте ты можешь при редактировании поля пометить этот виджет как заменяемый
Alexey Kuznetsov
@alexey-kuznetsov
Oct 21 2017 15:01
через getTriggeringElement можно получить что-то
о! зороботоло!
iDobryak
@iDobryak
Oct 21 2017 15:03
ну давай код в студию или как решил проблему
словам
и
Alexey Kuznetsov
@alexey-kuznetsov
Oct 21 2017 15:05
/**
   * Ajax responce for changing form
   */

  public static function getForm(array &$form, FormStateInterface $form_state) : AjaxResponse {
    $trigger = $form_state->getTriggeringElement();
    $elem = [
      '#type' => 'textfield',
      '#size' => '60',
      '#disabled' => TRUE,
      '#value' => 'Hello!',
      '#attributes' => [
        'id' => ['edit-output'],
      ],
    ];
    $renderer = \Drupal::service('renderer');
    $response = new AjaxResponse();
    $response->addCommand(new ReplaceCommand('#edit-' . str_replace('_', '-', implode('-',$trigger['#parents'])), $renderer->render($elem)));
    return $response;
  }
KarmaBot
@KarmaBot
Oct 21 2017 15:05
Будь как дома, @alexey-kuznetsov, я ни в чем не откажу. Много мануалов, коль желаешь, покажу :)
Alexey Kuznetsov
@alexey-kuznetsov
Oct 21 2017 15:41
вопрос номер два: для построения филд-виджета нужно множество аргументов, первый из которых $items, унаследованный от FieldItemListInterface. Вопрос в том, как получить этот items из form_state?
iDobryak
@iDobryak
Oct 21 2017 18:06
Что за тип поля делаешь?