| Conditions | 5 |
| Paths | 6 |
| Total Lines | 57 |
| Code Lines | 27 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php |
||
| 125 | public function buildConfigurationForm(array $form, FormStateInterface $form_state) { |
||
| 126 | $form = parent::buildConfigurationForm($form, $form_state); |
||
| 127 | |||
| 128 | // File field support descriptions, but images do not. |
||
| 129 | unset($form['description']); |
||
| 130 | |||
| 131 | // Ensure that the 'Link image to: Content' setting is not available. |
||
| 132 | if ($this->getDerivativeId() == 'image') { |
||
| 133 | unset($form['image_link']['#options']['content']); |
||
| 134 | } |
||
| 135 | |||
| 136 | $entity_element = $form_state->get('entity_element'); |
||
| 137 | // The alt attribute is *required*, but we allow users to opt-in to empty |
||
| 138 | // alt attributes for the very rare edge cases where that is valid by |
||
| 139 | // specifying two double quotes as the alternative text in the dialog. |
||
| 140 | // However, that *is* stored as an empty alt attribute, so if we're editing |
||
| 141 | // an existing image (which means the src attribute is set) and its alt |
||
| 142 | // attribute is empty, then we show that as two double quotes in the dialog. |
||
| 143 | // @see https://www.drupal.org/node/2307647 |
||
| 144 | // Alt attribute behavior is taken from the Core image dialog to ensure a |
||
| 145 | // consistent UX across various forms. |
||
| 146 | // @see Drupal\editor\Form\EditorImageDialog::buildForm() |
||
| 147 | $alt = $this->getAttributeValue('alt', ''); |
||
| 148 | if ($alt === '') { |
||
| 149 | // Do not change empty alt text to two double quotes if the previously |
||
| 150 | // used Entity Embed Display plugin was not 'image:image'. That means that |
||
| 151 | // some other plugin was used so if this image formatter is selected at a |
||
| 152 | // later stage, then this should be treated as a new edit. We show two |
||
| 153 | // double quotes in place of empty alt text only if that was filled |
||
| 154 | // intentionally by the user. |
||
| 155 | if (!empty($entity_element) && $entity_element['data-entity-embed-display'] == 'image:image') { |
||
| 156 | $alt = '""'; |
||
| 157 | } |
||
| 158 | } |
||
| 159 | |||
| 160 | // Add support for editing the alternate and title text attributes. |
||
| 161 | $form['alt'] = array( |
||
| 162 | '#type' => 'textfield', |
||
| 163 | '#title' => $this->t('Alternate text'), |
||
| 164 | '#default_value' => $alt, |
||
| 165 | '#description' => $this->t('This text will be used by screen readers, search engines, or when the image cannot be loaded.'), |
||
| 166 | '#parents' => array('attributes', 'alt'), |
||
| 167 | '#required' => TRUE, |
||
| 168 | '#required_error' => $this->t('Alternative text is required.<br />(Only in rare cases should this be left empty. To create empty alternative text, enter <code>""</code> — two double quotes without any content).'), |
||
| 169 | '#maxlength' => 512, |
||
| 170 | ); |
||
| 171 | $form['title'] = array( |
||
| 172 | '#type' => 'textfield', |
||
| 173 | '#title' => $this->t('Title'), |
||
| 174 | '#default_value' => $this->getAttributeValue('title', ''), |
||
| 175 | '#description' => t('The title is used as a tool tip when the user hovers the mouse over the image.'), |
||
| 176 | '#parents' => array('attributes', 'title'), |
||
| 177 | '#maxlength' => 1024, |
||
| 178 | ); |
||
| 179 | |||
| 180 | return $form; |
||
| 181 | } |
||
| 182 | |||
| 195 |