You are here

class Animation in GridStack 8.2

Provides the animations.

Plugin annotation


@GridStackStylizer(
  id = "animation",
  label = @Translation("Animation")
)

Hierarchy

Expanded class hierarchy of Animation

1 string reference to 'Animation'
Animation::animationElement in src/Plugin/gridstack/stylizer/Animation.php
Provides animation form elements.

File

src/Plugin/gridstack/stylizer/Animation.php, line 15

Namespace

Drupal\gridstack\Plugin\gridstack\stylizer
View source
class Animation extends StyleBase {

  /**
   * Returns utilities settings.
   */
  public static function animations() {
    return [
      'bounce',
      'flash',
      'pulse',
      'rubberBand',
      'shake',
      'headShake',
      'swing',
      'tada',
      'wobble',
      'jello',
      'bounceIn',
      'bounceInDown',
      'bounceInLeft',
      'bounceInRight',
      'bounceInUp',
      'bounceOut',
      'bounceOutDown',
      'bounceOutLeft',
      'bounceOutRight',
      'bounceOutUp',
      'fadeIn',
      'fadeInDown',
      'fadeInDownBig',
      'fadeInLeft',
      'fadeInLeftBig',
      'fadeInRight',
      'fadeInRightBig',
      'fadeInUp',
      'fadeInUpBig',
      'fadeOut',
      'fadeOutDown',
      'fadeOutDownBig',
      'fadeOutLeft',
      'fadeOutLeftBig',
      'fadeOutRight',
      'fadeOutRightBig',
      'fadeOutUp',
      'fadeOutUpBig',
      'flipInX',
      'flipInY',
      'flipOutX',
      'flipOutY',
      'lightSpeedIn',
      'lightSpeedOut',
      'hinge',
      'rollIn',
      'rollOut',
      'rotateIn',
      'rotateInDownLeft',
      'rotateInDownRight',
      'rotateInUpLeft',
      'rotateInUpRight',
      'rotateOut',
      'rotateOutDownLeft',
      'rotateOutDownRight',
      'rotateOutUpLeft',
      'rotateOutUpRight',
      'slideInDown',
      'slideInLeft',
      'slideInRight',
      'slideInUp',
      'slideOutDown',
      'slideOutLeft',
      'slideOutRight',
      'slideOutUp',
      'zoomIn',
      'zoomInDown',
      'zoomInLeft',
      'zoomInRight',
      'zoomInUp',
      'zoomOut',
      'zoomOutDown',
      'zoomOutLeft',
      'zoomOutRight',
      'zoomOutUp',
    ];
  }

  /**
   * Provides animation form elements.
   */
  protected function animationElement($optionset, FormStateInterface $form_state, array $settings, array $extras = []) {
    $element = [];
    $context = $settings['_scope'];
    $options = array_combine(static::animations(), static::animations());
    $selector = '.b-gs';
    $element = [
      '#type' => 'details',
      '#open' => FALSE,
      '#tree' => TRUE,
      '#title' => $this
        ->t('Animation'),
      '#attributes' => [
        'class' => [
          'form-wrapper--animations',
        ],
      ],
    ];
    $animations = $settings['animations'];
    $attributes = [
      'data-gs-animation-region' => $context,
      'data-gs-target-selector' => $selector,
    ];
    $element['animation'] = [
      '#type' => 'select',
      '#options' => $options,
      '#title' => $this
        ->t('Requires animate.css, blazy:2.1+.'),
      '#default_value' => isset($animations['animation']) ? $animations['animation'] : '',
      '#empty_option' => $this
        ->t('- None -'),
      '#attributes' => $attributes,
    ];
    $element['animation']['#attributes']['class'][] = 'form-select--gs form-select--gs-animation';
    foreach ([
      'duration',
      'delay',
      'iteration_count',
    ] as $key) {
      $title = str_replace('_', ' ', $key);
      $css = str_replace('_', '-', $key);
      $element[$key] = [
        '#type' => 'textfield',
        '#title' => $this
          ->t('@title', [
          '@title' => ucwords($title),
        ]),
        '#default_value' => isset($animations[$key]) ? $animations[$key] : '',
        '#description' => $this
          ->t('E.g.: 3s for 3 seconds.'),
        '#attributes' => $attributes,
      ];
      $element[$key]['#attributes']['class'][] = 'form-text--gs form-text--gs-' . $css;
      $element[$key]['#attributes']['data-gs-animation-key'] = $css;
      if ($key == 'iteration_count') {
        $element[$key]['#description'] = $this
          ->t('Any number, or <code>infinite</code> to loop.');
      }
    }
    return $element;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Animation::animationElement protected function Provides animation form elements.
Animation::animations public static function Returns utilities settings.
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
GridStackPluginBase::$breakpoints protected property The layout breakpoints.
GridStackPluginBase::$cellHeight protected property The optionset cell height.
GridStackPluginBase::$columns protected property The breakpoint columns.
GridStackPluginBase::$currentUser protected property The current user.
GridStackPluginBase::$manager protected property The gridstack manager service.
GridStackPluginBase::$minWidth protected property The optionset min-width.
GridStackPluginBase::$optionset protected property The gridstack optionset.
GridStackPluginBase::$verticalMargin protected property The optionset vertical margin.
GridStackPluginBase::config protected function Returns gridstack config shortcut.
GridStackPluginBase::defaultConfiguration public function Gets default configuration for this plugin. Overrides ConfigurableInterface::defaultConfiguration 1
GridStackPluginBase::get public function
GridStackPluginBase::getConfiguration public function Gets this plugin's configuration. Overrides ConfigurableInterface::getConfiguration
GridStackPluginBase::getOptionset public function
GridStackPluginBase::getSetting public function
GridStackPluginBase::label public function Returns the plugin label. Overrides GridStackPluginInterface::label
GridStackPluginBase::setConfiguration public function Sets the configuration for this plugin instance. Overrides ConfigurableInterface::setConfiguration
GridStackPluginBase::setOptionset public function Sets the optionset.
GridStackPluginBase::setSetting public function
GridStackStylizerPluginBase::$blazyEntity protected property The blazy entity service to support Media Library at Layout Builder pages.
GridStackStylizerPluginBase::attach public function Provides gridstack skins and libraries. 1
GridStackStylizerPluginBase::create public static function Creates an instance of the plugin. Overrides GridStackPluginBase::create 1
GridStackStylizerPluginBase::getVariantUniqueId protected function Returns unique variant ID.
GridStackStylizerPluginBase::validateConfigurationForm public function 1
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 92
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
StyleBase::attributes public function Provides both CSS grid and js-driven attributes configurable via UI.
StyleBase::cssRule protected function Returns the CSS rule with a selector and sub selector if available.
StyleBase::extraAttributes protected function Modifies any attributes relevant to use backgrounds.
StyleBase::getAnimation public function Returns an animation.
StyleBase::getColor protected function Checks for valid color excluding black (#000000) by design.
StyleBase::getColors protected function Returns available colors.
StyleBase::getSelector public function Returns selectors and sub-selectors with context related to box levels.
StyleBase::getStyle public function Returns a style.
StyleBase::getVariantClass public function Returns the variant class.
StyleBase::hasColors protected function Checks if it has colors.
StyleBase::inlineStyle public function Modifies inline style to not nullify others.
StyleBase::parseAttributes protected function Parses the string attribute: role|navigation,data-something|some value.
StyleBase::parseClasses protected function Parses the given string classes.
StyleBase::parseStyles public function Builds inline styles if so required with multiple instances on a page.
StyleBase::styleElement protected function Return the style element.