/**
  * {@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);
 }