/** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state) { $options = array_map(function ($definition) { return $definition['admin_label']; }, $this->shippingQuotePluginManager->getDefinitions()); uasort($options, 'strnatcasecmp'); $form['add'] = array('#type' => 'details', '#title' => $this->t('Add shipping method'), '#open' => TRUE, '#attributes' => array('class' => array('container-inline'))); $form['add']['plugin'] = array('#type' => 'select', '#title' => $this->t('Type'), '#empty_option' => $this->t('- Choose -'), '#options' => $options); $form['add']['submit'] = array('#type' => 'submit', '#value' => $this->t('Add shipping method'), '#validate' => array('::validateAddMethod'), '#submit' => array('::submitAddMethod'), '#limit_validation_errors' => array(array('plugin'))); $form = parent::buildForm($form, $form_state); $form[$this->entitiesKey]['#empty'] = $this->t('No shipping methods have been configured yet.'); $form['actions']['#type'] = 'actions'; $form['actions']['submit'] = array('#type' => 'submit', '#value' => $this->t('Save configuration'), '#button_type' => 'primary'); return $form; }
/** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state) { $this->plugin = $this->shippingQuoteManager->createInstance($this->entity->getPluginId(), $this->entity->getPluginConfiguration()); return parent::buildForm($form, $form_state); }