ZurbAccordion.php in ZURB Section 8.5
File
src/Plugin/field_group/FieldGroupFormatter/ZurbAccordion.php
View source
<?php
namespace Drupal\foundation_group\Plugin\field_group\FieldGroupFormatter;
use Drupal\Component\Utility\Html;
use Drupal\Core\Form\FormState;
use Drupal\field_group\FieldGroupFormatterBase;
use Drupal\field_group\Element\Accordion;
class FoundationAccordion extends FieldGroupFormatterBase {
public function preRender(&$element, $rendering_object) {
$form_state = new FormState();
$element += array(
'#type' => 'field_group_foundation_accordion',
'#effect' => $this
->getSetting('effect'),
);
if ($this
->getSetting('id')) {
$element['#id'] = Html::getId($this
->getSetting('id'));
}
$classes = $this
->getClasses();
if (!empty($classes)) {
$element += array(
'#attributes' => array(
'class' => $classes,
),
);
}
Accordion::processAccordion($element, $form_state);
}
public function settingsForm() {
$form = parent::settingsForm();
$form['effect'] = array(
'#title' => $this
->t('Effect'),
'#type' => 'select',
'#options' => array(
'none' => $this
->t('None'),
'bounceslide' => $this
->t('Bounce slide'),
),
'#default_value' => $this
->getSetting('effect'),
'#weight' => 2,
);
return $form;
}
public function settingsSummary() {
$summary = array();
$summary[] = $this
->t('Effect : @effect', array(
'@effect' => $this
->getSetting('effect'),
));
return $summary;
}
public static function defaultContextSettings($context) {
return array(
'effect' => 'none',
) + parent::defaultSettings($context);
}
}