<?php

namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Admin\Product\Sections;

use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\AdminArea;
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Select;
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Switcher;
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Sections\BoxSection;
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Sections\HalfPageSection;

class MiscellaneousSection extends BoxSection implements AdminArea
{
    protected $id = 'miscellaneousSection';
    protected $name = 'miscellaneousSection';
    protected $title = 'miscellaneousSection';
    /**
     * @var HalfPageSection
     */
    private $leftSection;
    /**
     * @var HalfPageSection
     */
    private $rightSection;

    public function initContent()
    {

        $this->leftSection  = new HalfPageSection('leftSection');
        $this->rightSection = new HalfPageSection('rightSection');
        $this->addSection($this->leftSection)
            ->addSection($this->rightSection);
        $this->initFields();

    }

    private function initFields()
    {
        //Backup VM Before Reinstallation
        $field = new Switcher('customconfigoption[backupVmBeforeReinstall]');
        $field->setDescription('tip');
        $this->leftSection->addField($field);
        //Reboot VM After Changing Package
        $field = new Switcher('customconfigoption[rebootVmAfterUpgrade');
        $field->setDescription('tip');
        $this->rightSection->addField($field);
        //Bandwidth Overage
        $field = new Switcher('customconfigoption[suspendOnBandwidthOverage]');
        $field->setDescription('tip');
        $this->rightSection->addField($field);
        //Suspension Action
        $field = new Select('customconfigoption[suspensionAction]');
        $field->setDescription('tip');
        $this->leftSection->addField($field);
        //buttons
        $field = new Select('customconfigoption[buttonSyle]');
        $field->setDefaultValue('tiles');
        $field->setDescription('tip');
        $this->rightSection->addField($field);
        //Details View
        $field = new Select('customconfigoption[detailsView]');
        $field->setDefaultValue('standard');
        $field->setDescription('tip');
        $this->leftSection->addField($field);
    }

}
