class Classes in GridStack 8.2
Provides the classes styles.
Plugin annotation
@GridStackStylizer(
id = "classes",
label = @Translation("Classes")
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\gridstack\GridStackPluginBase implements GridStackPluginInterface
- class \Drupal\gridstack\GridStackStylizerPluginBase implements GridStackStylizerPluginInterface
- class \Drupal\gridstack\Plugin\gridstack\stylizer\StyleBase
- class \Drupal\gridstack\Plugin\gridstack\stylizer\Animation
- class \Drupal\gridstack\Plugin\gridstack\stylizer\Range
- class \Drupal\gridstack\Plugin\gridstack\stylizer\Color
- class \Drupal\gridstack\Plugin\gridstack\stylizer\Background
- class \Drupal\gridstack\Plugin\gridstack\stylizer\Color
- class \Drupal\gridstack\Plugin\gridstack\stylizer\Range
- class \Drupal\gridstack\Plugin\gridstack\stylizer\Animation
- class \Drupal\gridstack\Plugin\gridstack\stylizer\StyleBase
- class \Drupal\gridstack\GridStackStylizerPluginBase implements GridStackStylizerPluginInterface
- class \Drupal\gridstack\GridStackPluginBase implements GridStackPluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of Classes
1 string reference to 'Classes'
- Wrapper::wrapperElement in src/
Plugin/ gridstack/ stylizer/ Wrapper.php
File
- src/
Plugin/ gridstack/ stylizer/ Classes.php, line 18
Namespace
Drupal\gridstack\Plugin\gridstack\stylizerView source
class Classes extends Media {
/**
* The black opacity for backgrounds or colors.
*
* @var array
*/
protected $opacity = [
20,
40,
60,
80,
90,
];
/**
* Returns the module feature CSS classes, not available at CSS frameworks.
*/
public function getInternalClasses() {
$classes = $bg = $bg_pos = $padding = $min_height = $min_height_md = [];
$min_height_lg = [];
foreach ($this->opacity as $key) {
$bg[] = 'bg-dark-' . $key;
}
foreach (array_keys(GridStackDefault::breakpoints()) as $key) {
$min_height[] = 'mh-' . $key;
$min_height_md[] = 'mh-md-' . $key;
$min_height_lg[] = 'mh-lg-' . $key;
$padding[] = 'p-' . $key;
}
$positions = [
'center',
'bottom',
'bottom-left',
'bottom-right',
'left',
'right',
'top',
'top-left',
'top-right',
];
foreach ($positions as $key) {
$bg_pos[] = 'bg-' . $key;
}
$classes['background'] = $bg;
$classes['bg_position'] = $bg_pos;
$classes['min_height'] = $min_height;
$classes['min_height_md'] = $min_height_md;
$classes['min_height_lg'] = $min_height_lg;
$classes['padding'] = $padding;
return $classes;
}
/**
* {@inheritdoc}
*/
protected function classesElement($optionset, FormStateInterface $form_state, array $settings, array $extras = []) {
$context = $settings['_scope'];
$container = !empty($settings['_container']);
$element = [];
$wrapper_classes = [];
$wrapper_class_value = trim($settings['wrapper_classes']);
if ($wrapper_class_value) {
$wrapper_classes = array_filter(array_map('trim', explode(" ", $wrapper_class_value)));
}
if ($classes = $this->manager
->getMergedClasses(FALSE)) {
// Saves headaches from problematic options.
$problems = [
'hidden',
'visible',
'visibility',
'height',
];
foreach ($classes as $key => $options) {
// Hiding the entire container is likely out of questions, skip.
if ($container && in_array($key, $problems)) {
continue;
}
// JS-driven layouts have pre-defined fixed heights, skip.
if (!$optionset
->isFramework() && strpos($key, 'height') !== FALSE) {
continue;
}
$refined_options = $this
->getPresetOptions($options);
$element[$key] = $this
->classElement($key, $options, $refined_options, $context, $wrapper_classes);
$element[$key]['#attributes']['class'][] = $optionset
->isFramework() ? 'is-gs-css-driven' : 'is-gs-js-driven';
if ($framework = $this->manager
->engineManager()
->framework()) {
if (in_array($key, $framework
->previewOptions())) {
$element[$key]['#is_preview'] = TRUE;
$element[$key]['#attributes']['class'][] = 'form-wrapper--preview';
if (in_array($key, [
'rounded',
'text_color',
])) {
$element[$key]['#attributes']['class'][] = 'form-wrapper--bg';
}
}
}
}
}
return $element;
}
/**
* {@inheritdoc}
*/
protected function rowClassesElement($optionset, FormStateInterface $form_state, array $settings, array $extras = []) {
$context = $settings['_scope'];
$container = !empty($settings['_container']);
$element = [];
// Only applicable to one dimensional for now.
if (!$optionset
->isFramework() && !$container) {
return [];
}
$wrapper_classes = [];
$wrapper_class_value = trim($settings['row_classes']);
if ($wrapper_class_value) {
$wrapper_classes = array_filter(array_map('trim', explode(" ", $wrapper_class_value)));
}
if ($classes = $this->manager
->engineManager()
->getClassOptions('row')) {
foreach ($classes as $key => $options) {
$refined_options = $this
->getPresetRowOptions($options);
$element[$key] = $this
->classElement($key, $options, $refined_options, $context, $wrapper_classes);
}
}
return $element;
}
/**
* Returns common class element.
*/
protected function classElement($key, $options, $refined_options, $context, $wrapper_classes = []) {
$title = str_replace([
'_',
'-',
], ' ', $key);
$value = '';
// We don't store these, fecthing from wrapper_classes string instead.
if ($wrapper_classes) {
$values = array_values($options);
$values = array_combine($values, $values);
foreach ($wrapper_classes as $wrapper_class) {
if (isset($values[$wrapper_class])) {
$value = $values[$wrapper_class];
break;
}
}
}
$css_classes = [
'form-wrapper--' . str_replace('_', '-', $key),
'is-collapsible',
'is-collapsed',
'is-gs-fieldset',
];
return [
'#type' => 'radios',
'#title' => $this
->t('@title', [
'@title' => Unicode::ucfirst($title),
]),
'#options' => [
'' => $this
->t('- None -'),
] + $refined_options,
'#default_value' => $value,
'#region' => $context,
'#is_preview' => FALSE,
'#after_build' => [
[
$this,
'afterBuildPreset',
],
],
'#group_name' => $key,
'#attributes' => [
'class' => $css_classes,
'data-gs-preset-region' => $context,
],
];
}
/**
* Provides preview classes.
*/
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;
}
/**
* {@inheritdoc}
*/
protected function getPresetOptions(array $data) {
$rm = [
'bg-',
'gradient-',
'padding-',
'mh-',
'text-',
'hidden-',
'rounded-',
'visible-',
];
return $this
->getBasePresetOptions($data, $rm, 'gridstack_classes_preset_options');
}
/**
* {@inheritdoc}
*/
protected function getPresetRowOptions(array $data) {
$rm = [
'flex-',
'justify-content-',
'align-items-',
'align-content-',
'align-self-',
];
return $this
->getBasePresetOptions($data, $rm, 'gridstack_classes_preset_row_options');
}
/**
* {@inheritdoc}
*/
protected function getBasePresetOptions(array $data, array $rm, $alter = 'gridstack_classes_preset_options') {
$options = [];
foreach ($data as $option) {
$title = str_replace($rm, '', $option);
$title = str_replace([
'_',
'-',
], ' ', $title);
$options[$option] = $this
->t('@title', [
'@title' => Unicode::ucfirst($title),
]);
}
$this->manager
->getModuleHandler()
->alter($alter, $options, $data);
ksort($options);
return $options;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Animation:: |
protected | function | Provides animation form elements. | |
Animation:: |
public static | function | Returns utilities settings. | |
Background:: |
protected | function | Returns the background colors grouped by the given key, w/o text colors. | |
Classes:: |
protected | property | The black opacity for backgrounds or colors. | |
Classes:: |
public | function | Provides preview classes. | |
Classes:: |
protected | function | Returns common class element. | |
Classes:: |
protected | function | ||
Classes:: |
protected | function | ||
Classes:: |
public | function | Returns the module feature CSS classes, not available at CSS frameworks. | |
Classes:: |
protected | function | ||
Classes:: |
protected | function | ||
Classes:: |
protected | function | ||
Color:: |
protected | function | Provides extras form elements. | |
Color:: |
protected | function | Returns the text colors grouped by the given key. | |
Color:: |
protected | function | Return the color palette element. | |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
GridStackPluginBase:: |
protected | property | The layout breakpoints. | |
GridStackPluginBase:: |
protected | property | The optionset cell height. | |
GridStackPluginBase:: |
protected | property | The breakpoint columns. | |
GridStackPluginBase:: |
protected | property | The current user. | |
GridStackPluginBase:: |
protected | property | The gridstack manager service. | |
GridStackPluginBase:: |
protected | property | The optionset min-width. | |
GridStackPluginBase:: |
protected | property | The gridstack optionset. | |
GridStackPluginBase:: |
protected | property | The optionset vertical margin. | |
GridStackPluginBase:: |
protected | function | Returns gridstack config shortcut. | |
GridStackPluginBase:: |
public | function |
Gets default configuration for this plugin. Overrides ConfigurableInterface:: |
1 |
GridStackPluginBase:: |
public | function | ||
GridStackPluginBase:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurableInterface:: |
|
GridStackPluginBase:: |
public | function | ||
GridStackPluginBase:: |
public | function | ||
GridStackPluginBase:: |
public | function |
Returns the plugin label. Overrides GridStackPluginInterface:: |
|
GridStackPluginBase:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: |
|
GridStackPluginBase:: |
public | function | Sets the optionset. | |
GridStackPluginBase:: |
public | function | ||
GridStackStylizerPluginBase:: |
protected | property | The blazy entity service to support Media Library at Layout Builder pages. | |
GridStackStylizerPluginBase:: |
public | function | Provides gridstack skins and libraries. | 1 |
GridStackStylizerPluginBase:: |
protected | function | Returns unique variant ID. | |
GridStackStylizerPluginBase:: |
public | function | 1 | |
Media:: |
protected | property | The field name to store media. | |
Media:: |
public | function | Returns the formatted media as Blazy CSS background. | |
Media:: |
public static | function |
Creates an instance of the plugin. Overrides GridStackStylizerPluginBase:: |
|
Media:: |
public | function | Returns the selected field name. | |
Media:: |
protected | function | Returns the data understood by Blazy for CSS background. | |
Media:: |
protected | function | Returns the formatted media as Blazy output. | |
Media:: |
protected | function | Returns the media overlay. | |
Media:: |
public | function | Sets the field name. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 92 |
Range:: |
protected | function | Returns the range element. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
StyleBase:: |
public | function | Provides both CSS grid and js-driven attributes configurable via UI. | |
StyleBase:: |
protected | function | Returns the CSS rule with a selector and sub selector if available. | |
StyleBase:: |
protected | function | Modifies any attributes relevant to use backgrounds. | |
StyleBase:: |
public | function | Returns an animation. | |
StyleBase:: |
protected | function | Checks for valid color excluding black (#000000) by design. | |
StyleBase:: |
protected | function | Returns available colors. | |
StyleBase:: |
public | function | Returns selectors and sub-selectors with context related to box levels. | |
StyleBase:: |
public | function | Returns a style. | |
StyleBase:: |
public | function | Returns the variant class. | |
StyleBase:: |
protected | function | Checks if it has colors. | |
StyleBase:: |
public | function | Modifies inline style to not nullify others. | |
StyleBase:: |
protected | function | Parses the string attribute: role|navigation,data-something|some value. | |
StyleBase:: |
protected | function | Parses the given string classes. | |
StyleBase:: |
public | function | Builds inline styles if so required with multiple instances on a page. | |
StyleBase:: |
protected | function | Return the style element. |