You are here

class Color in GridStack 8.2

Provides the color styles.

Plugin annotation


@GridStackStylizer(
  id = "color",
  label = @Translation("Color")
)

Hierarchy

Expanded class hierarchy of Color

File

src/Plugin/gridstack/stylizer/Color.php, line 16

Namespace

Drupal\gridstack\Plugin\gridstack\stylizer
View source
class Color extends Range {

  /**
   * Returns the text colors grouped by the given key.
   */
  protected function getTextColor(array $settings) {
    $build = [];
    if ($colors = $this
      ->getColors($settings)) {
      $data = $this
        ->getSelector($settings);
      $selector = $data['selector'];

      // The text element has unique key as their own selector.
      foreach (GridStackDefault::textElements() as $key) {
        if ($key != 'text' && !empty($colors[$key])) {
          $selector = $selector ? $selector . ' ' . $key : $key;
          $build[$selector] = 'color:' . $colors[$key] . ';';
        }
      }
    }
    return $build;
  }

  /**
   * Provides extras form elements.
   */
  protected function colorElement($optionset, FormStateInterface $form_state, array $settings, array $extras = []) {
    $element = [
      '#type' => 'container',
    ];
    foreach (GridStackDefault::colorElements() as $key) {
      $value = isset($settings['colors'][$key]) ? $settings['colors'][$key] : '';
      $element[$key] = $this
        ->styleElement($key, $value, $settings);
    }
    return $element;
  }

  /**
   * Return the color palette element.
   */
  protected function paletteElement(array $palettes) {
    $element = [
      '#type' => 'details',
      '#open' => FALSE,
      '#tree' => TRUE,
      '#title' => $this
        ->t('Color palettes'),
      '#description' => $this
        ->t('Use these as guidelines to select colors from with the color pickers.'),
      '#attributes' => [
        'class' => [
          'form-wrapper--color-palettes',
        ],
      ],
      '#weight' => 50,
    ];
    $items = [];
    foreach ($palettes as $group => $colors) {
      $groups = [];
      foreach ($colors as $delta => $color) {
        $title = '';
        if ($delta == 0) {
          $title = '<h3>' . $group . '</h3>';
        }
        $groups[] = [
          '#type' => 'inline_template',
          '#template' => '{{ prefix | raw }}{{ color }}{{ suffix | raw }}',
          '#context' => [
            'color' => $color,
            'prefix' => $title . '<span class="gs-color" style="background-color: ' . $color . '">',
            'suffix' => '</span>',
          ],
        ];
      }
      $items[] = $groups;
    }
    $element['palettes'] = [
      '#theme' => 'item_list',
      '#items' => $items,
    ];
    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.
Color::colorElement protected function Provides extras form elements.
Color::getTextColor protected function Returns the text colors grouped by the given key.
Color::paletteElement protected function Return the color palette element.
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
Range::rangeElement protected function Returns the range element.
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.