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;
|
2022-02-28 13:23:43 +01:00
|
|
|
use SilverStripe\Forms\CheckboxField;
|
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';
|
|
|
|
|
2022-02-28 13:23:43 +01:00
|
|
|
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');
|
|
|
|
}
|
2022-02-28 13:23:43 +01:00
|
|
|
|
|
|
|
public function getCMSFields()
|
|
|
|
{
|
|
|
|
$fields = parent::getCMSFields();
|
|
|
|
|
|
|
|
$fields->addFieldsToTab('Root.Main', [
|
|
|
|
CheckboxField::create('OpenFirst', 'Open first accordion element on page load'),
|
|
|
|
CheckboxField::create('KeepOpenned', 'Keep elements oppened'),
|
|
|
|
]);
|
|
|
|
|
|
|
|
return $fields;
|
|
|
|
}
|
2021-06-08 10:38:35 +02:00
|
|
|
}
|