HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/reiskick.komma.nl/app/Components/Types/RoundedImageText.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\TextField;
use Komma\KMS\Core\Attributes\Title;

class RoundedImageText extends AbstractComponentType
{
    use HasSpacingTrait;

    protected int $id = ComponentTypes::ROUNDED_IMAGE_TEXT;
    protected string $name = 'rounded-image-text';

    public function defineAttributesAndTabs()
    {

        $this->addItems([

            (new TextArea())
                ->setReference('text')
                ->enableTinymceEditor(),

            (new Seperator()),
            (new Title())
                ->setLabelText(__('KMS::attributes/components.image')),

            (new Documents())
                ->setReference('image')
                ->onlyAllowImages()
                ->setSubFolder('component_uploads')
                ->setMaxDocuments(1)
                ->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());
    }
}