You are here

public function Classes::afterBuildPreset in GridStack 8.2

Provides preview classes.

File

src/Plugin/gridstack/stylizer/Classes.php, line 190

Class

Classes
Provides the classes styles.

Namespace

Drupal\gridstack\Plugin\gridstack\stylizer

Code

public function afterBuildPreset(array $element) {
  foreach (Element::children($element) as $key) {
    $removed = [
      'form-wrapper--preview',
      'form-wrapper--' . str_replace('_', '-', $key),
      'form-wrapper--' . str_replace('_', '-', $element['#group_name']),
      'is-collapsible',
      'is-collapsed',
      'is-gs-fieldset',
    ];

    // Provides small preview for what the class looks like if so required.
    if (!empty($element['#is_preview'])) {
      $element[$key]['#wrapper_attributes']['class'][] = $key;
    }

    // Unfortunately fieldset classes are also inherited by each item.
    if (isset($element[$key]['#attributes']['class'])) {
      $classes = $element[$key]['#attributes']['class'];
      $classes = array_diff($classes, $removed);
      $element[$key]['#attributes']['class'] = $classes;
    }

    // @todo if (strpos($key, 'bg-white') !== FALSE) {}
    // @todo $element[$key]['#attributes']['data-gs-target-selector'] = '> .box__content';
  }
  return $element;
}