gridstack-8.x-2.5/src/GridStackFormatter.php
src/GridStackFormatter.php
<?php
namespace Drupal\gridstack;
use Drupal\gridstack\Entity\GridStack;
use Drupal\blazy\BlazyFormatter;
/**
* Implements GridStackFormatterInterface.
*/
class GridStackFormatter extends BlazyFormatter implements GridStackFormatterInterface {
/**
* {@inheritdoc}
*/
public function buildSettings(array &$build, $items) {
// Prepare integration with Blazy.
$settings = &$build['settings'];
$settings = array_merge($settings, GridStackDefault::fixedSettings());
// Pass basic info to parent::buildSettings().
parent::buildSettings($build, $items);
}
/**
* {@inheritdoc}
*/
public function preBuildElements(array &$build, $items, array $entities = []) {
parent::preBuildElements($build, $items, $entities);
$settings = &$build['settings'];
// GridStack specific stuffs.
$build['optionset'] = GridStack::loadWithFallback($settings['optionset']);
// Converts gridstack breakpoint grids from stored JSON into array.
unset($settings['breakpoints']);
$build['optionset']->gridsJsonToArray($settings);
$this->getModuleHandler()->alter('gridstack_settings', $build, $items);
}
}
