protected function PaymentReferenceBase::getPluginSelector in Payment 8.2
Gets the plugin selector.
Parameters
mixed[] $element:
\Drupal\Core\Form\FormStateInterface $form_state:
Return value
\Drupal\plugin\Plugin\Plugin\PluginSelector\PluginSelectorInterface
5 calls to PaymentReferenceBase::getPluginSelector()
- PaymentReferenceBase::buildCompletePaymentLink in src/
Element/ PaymentReferenceBase.php - Builds the "Complete payment" link.
- PaymentReferenceBase::buildPaymentForm in src/
Element/ PaymentReferenceBase.php - Builds the payment form.
- PaymentReferenceBase::buildRefreshButton in src/
Element/ PaymentReferenceBase.php - Builds the refresh button.
- PaymentReferenceBase::elementValidate in src/
Element/ PaymentReferenceBase.php - Implements form API's element_validate callback.
- PaymentReferenceBase::pay in src/
Element/ PaymentReferenceBase.php - Implements form submit handler.
File
- src/
Element/ PaymentReferenceBase.php, line 535
Class
- PaymentReferenceBase
- Provides a base for payment reference elements.
Namespace
Drupal\payment\ElementCode
protected function getPluginSelector(array $element, FormStateInterface $form_state) {
$key = 'payment_reference.element.payment_reference.plugin_selector.' . $element['#name'];
if (!$form_state
->has($key)) {
$plugin_selector = $this->pluginSelectorManager
->createInstance($element['#plugin_selector_id']);
$payment_method_discovery = $this->paymentMethodType
->getPluginManager();
if (!is_null($element['#limit_allowed_plugin_ids'])) {
$payment_method_discovery = (new LimitedPluginDiscoveryDecorator($payment_method_discovery))
->setDiscoveryLimit($element['#limit_allowed_plugin_ids']);
}
$payment_method_manager = new PaymentExecutionPaymentMethodManager($this
->getPayment($element, $form_state), $this->currentUser, $this->paymentMethodType
->getPluginManager(), $payment_method_discovery);
$plugin_selector
->setSelectablePluginType($this->paymentMethodType);
$plugin_selector
->setSelectablePluginDiscovery($payment_method_manager);
$plugin_selector
->setSelectablePluginFactory($payment_method_manager);
$plugin_selector
->setRequired($element['#required']);
$form_state
->set($key, $plugin_selector);
}
return $form_state
->get($key);
}