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/beat-the-barn.komma.nl/app/Testimonials/Kms/TestimonialSection.php
<?php


namespace App\Testimonials\Kms;

use App\Authors\Models\Author;
use App\Testimonials\Models\Testimonial;
use Illuminate\Database\Eloquent\Model;
use Komma\KMS\Core\Attributes\Documents;
use Komma\KMS\Core\Attributes\Models\ImageProperty;
use Komma\KMS\Core\Attributes\Models\SelectOption;
use Komma\KMS\Core\Attributes\Numeric;
use Komma\KMS\Core\Attributes\OnOff;
use Komma\KMS\Core\Attributes\Select;
use Komma\KMS\Core\Attributes\TextArea;
use Komma\KMS\Core\Attributes\TextField;
use Komma\KMS\Core\ModelServiceInterface;
use Komma\KMS\Core\Sections\Section;

final class TestimonialSection extends Section
{

    public function defineAttributesAndTabs(Model $currentModel = null): void
    {
        $testimonialTypes = [];
        foreach(__('KMS::testimonials.types') as $type => $translation) {
            $testimonialTypes[] = (new SelectOption())->setValue($type)->setContent($translation)->setHtmlContent($translation);
        }

        $this->tabs->makeTab()->addItems([
            (new OnOff())
                ->setReference('active')
                ->setLabelText(__('KMS::global.active'))
                ->switchOn(),

            (new OnOff())
                ->setReference('show_on_homepage')
                ->setLabelText('Toon op homepage'),

            (new Select())
                ->setReference('type')
                ->setItems($testimonialTypes)
                ->setLabelText('Type')
                ->setExplanation('Bepaald op welke pagina deze wordt getoond'),

            (new Numeric())
                ->setLabelText('Score')
                ->setReference('rating')
                ->setWholeMin(0)
                ->setWholeMax(10),

//            (new Documents())
//                ->setReference('testimonials')
//                ->setLabelText(__('KMS::global.images'))
//                ->onlyAllowImages()
//                ->setSmallDragAndDropArea()
//                ->setMaxDocuments(1)
//                ->setSubFolder('testimonials')
//                ->setImageProperties([
//                    (new ImageProperty())->setName('medium')->setCropMethod(ImageProperty::Resize)->setWidth(438),
//                ]),
        ]);

        $this->tabs->makeLanguageTabTemplate()->addItems([
            (new TextField())
                ->setReference('title')
                ->setLabelText(__('KMS::global.title')),

            (new TextField())
                ->setReference('subtitle')
                ->setLabelText(__('KMS::global.subtitle')),

            (new TextArea())
                ->setReference('quote')
                ->setLabelText(__('KMS::global.quote')),
        ]);
    }
}