File: D:/HostingSpaces/SBogers10/reiskick.komma.nl/app/Components/Types/PageImageText.php
<?php
namespace App\Components\Types;
use App\Components\ComponentTypes;
use App\Components\HasSpacingTrait;
use Komma\KMS\Components\ComponentType\Types\AbstractComponentType;
use Komma\KMS\Core\Attributes\Documents;
use Komma\KMS\Core\Attributes\Models\ImageProperty;
use Komma\KMS\Core\Attributes\OnOff;
use Komma\KMS\Core\Attributes\Seperator;
use Komma\KMS\Core\Attributes\TextArea;
use Komma\KMS\Core\Attributes\Title;
class PageImageText extends AbstractComponentType
{
use HasSpacingTrait;
protected int $id = ComponentTypes::PAGE_IMAGE_TEXT;
protected string $name = 'page-image-text';
public function defineAttributesAndTabs()
{
$this->addItems([
(new Title())
->setLabelText(__('KMS::attributes/components.text')),
(new TextArea())
->setReference('text')
->enableTinymceEditor(),
(new Seperator()),
(new Title())
->setLabelText(__('KMS::attributes/components.image')),
(new Documents())
->setReference('image')
->onlyAllowImages()
->setSubFolder('component_uploads')
->setMaxDocuments(5)
->setImageProperties([
(new ImageProperty())->setName('large')->setCropMethod(ImageProperty::Resize)->setWidth(900),
(new ImageProperty())->setName('medium')->setCropMethod(ImageProperty::Resize)->setWidth(740),
(new ImageProperty())->setName('small')->setCropMethod(ImageProperty::Resize)->setWidth(375),
])
->setSmallDragAndDropArea(),
(new OnOff())
->setReference('reversed')
->setLabelText(__('KMS::attributes/components.swap_text_image')),
]);
$this->addItems($this->getSpacingFields());
}
}