silverstripe-elemental-basics/src/Elements/AccordionElement.php

58 lines
1.2 KiB
PHP
Raw Normal View History

2021-06-08 10:38:35 +02:00
<?php
/**
* Created by PhpStorm.
* User: tony
* Date: 6/30/18
* Time: 11:54 PM
*/
namespace A2nt\ElementalBasics\Elements;
use DNADesign\ElementalList\Model\ElementList;
use SilverStripe\Forms\CheckboxField;
2021-06-08 10:38:35 +02:00
2022-05-10 13:08:53 +02:00
/**
* Class \A2nt\ElementalBasics\Elements\AccordionElement
*
* @property boolean $OpenFirst
* @property boolean $KeepOpenned
*/
2021-06-08 10:38:35 +02:00
class AccordionElement extends ElementList
{
2021-07-08 15:53:26 +02:00
private static $icon = 'font-icon-block-file-list';
2021-06-08 10:38:35 +02:00
private static $singular_name = 'Accordion Element';
private static $plural_name = 'Accordion Element';
private static $description = 'Displays Accordion of Elements';
private static $table_name = 'AccordionElement';
private static $db = [
'OpenFirst' => 'Boolean(0)',
'KeepOpenned' => 'Boolean(0)',
];
2021-06-08 10:38:35 +02:00
public function getType()
{
return self::$singular_name;
}
public function Accordion()
{
return $this->Elements()->renderWith(static::class.'_AccordionArea');
}
public function getCMSFields()
{
$fields = parent::getCMSFields();
$fields->addFieldsToTab('Root.Main', [
CheckboxField::create('OpenFirst', 'Open first accordion element on page load'),
2022-05-11 13:13:59 +02:00
CheckboxField::create('KeepOpenned', 'Keep elements open'),
]);
return $fields;
}
2021-06-08 10:38:35 +02:00
}