messenger = $messenger; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->get('messenger') ); } /** * {@inheritdoc} */ final public function setQuickId(string $id) { return $this->quickId = $id; } /** * {@inheritdoc} */ final public function getQuickId() { return $this->quickId ?? $this->getPluginId(); } /** * {@inheritdoc} */ public function getFormId() { return $this->getQuickId(); } /** * {@inheritdoc} */ public function getLabel() { return $this->pluginDefinition['label'] ?? ''; } /** * {@inheritdoc} */ public function getDescription() { return $this->pluginDefinition['description'] ?? ''; } /** * {@inheritdoc} */ public function getHelpText() { return $this->pluginDefinition['helpText'] ?? ''; } /** * {@inheritdoc} */ public function getPermissions() { return $this->pluginDefinition['permissions'] ?? []; } /** * {@inheritdoc} */ public function access(AccountInterface $account) { $permissions = $this->getPermissions(); return AccessResult::allowedIfHasPermissions($account, $permissions); } /** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state) { return []; } /** * {@inheritdoc} */ public function validateForm(array &$form, FormStateInterface $form_state) { // Validation is optional. } /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { // Submit is optional, but presumably this will be overridden. } }