Commit 81b4fd72 authored by renatog's avatar renatog Committed by renatog
Browse files

Issue #3271134 by RenatoG: Create a settings to enable / disable the auto-complete class

parent 20ffece1
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -164,3 +164,21 @@ function block_class_update_20006() {
  $config->save();

}

/**
 * Implements hook_update_N().
 *
 * Enable the auto-complete by default.
 */
function block_class_update_20007() {

  // Get the config object.
  $config = \Drupal::configFactory()->getEditable('block_class.settings');

  // Set the auto-complete = TRUE by default.
  $config->set('enable_auto_complete', TRUE);

  // Save.
  $config->save();

}
+1 −0
Original line number Diff line number Diff line
enable_auto_complete: TRUE
default_case: 'standard'
field_type: 'multiple_textfields'
allow_only_letters_and_numbers: 0
+9 −0
Original line number Diff line number Diff line
@@ -111,6 +111,12 @@ class BlockClassSettingsForm extends ConfigFormBase {
      '#open' => TRUE,
    ];

    $form['global_settings']['general']['enable_auto_complete'] = [
      '#title' => $this->t("Enable auto-complete"),
      '#type' => 'checkbox',
      '#default_value' => $config->get('enable_auto_complete'),
    ];

    $form['global_settings']['general']['default_case'] = [
      '#title' => $this->t("Default Case"),
      '#type' => 'select',
@@ -267,6 +273,8 @@ class BlockClassSettingsForm extends ConfigFormBase {
    // Get the config object.
    $config = $this->config('block_class.settings');

    $enable_auto_complete = $form_state->getValue('enable_auto_complete');

    $previous_default_case = $config->get('default_case');

    // Get the default case.
@@ -301,6 +309,7 @@ class BlockClassSettingsForm extends ConfigFormBase {
    $config->set('enable_attributes', $enable_attributes);
    $config->set('maxlength_attributes', $maxlength_attributes);
    $config->set('filter_html_clean_css_identifier', $filter_html_clean_css_identifier);
    $config->set('enable_auto_complete', $enable_auto_complete);

    // Save that.
    $config->save();
+6 −2
Original line number Diff line number Diff line
@@ -411,9 +411,13 @@ class BlockClassHelperService {
            '#title' => $this->t('CSS class'),
            '#default_value' => $multiclass_default_value,
            '#maxlength' => $maxlength_block_class_field,
            '#autocomplete_route_name' => 'block_class.autocomplete',
          ];

          // Enable the auto-complete only is selected in the settings page.
          if (!empty($config->get('enable_auto_complete'))) {
            $form['class']['third_party_settings']['block_class']['classes_' . $i]['#autocomplete_route_name'] = 'block_class.autocomplete';
          }

          // Insert a default class for all classes visible or not.
          $form['class']['third_party_settings']['block_class']['classes_' . $i]['#attributes']['class'][] = 'multiple-textfield';

@@ -490,7 +494,7 @@ class BlockClassHelperService {
        }
      }

      if (empty($block->getThirdPartySetting('block_class', 'classes'))) {
      if (empty($block->getThirdPartySetting('block_class', 'classes')) && !empty($config->get('enable_auto_complete'))) {
        $form['third_party_settings']['block_class']['classes']['#autocomplete_route_name'] = 'block_class.autocomplete';
      }
    }