<?php

namespace App\Controllers\Front;

use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;

class WelcomeController extends FrontController
{
    public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
    {
        parent::initController($request, $response, $logger);
        if ($this->service === null) {
            $this->service = service('userservice');
        }
    }
    protected function action_init_process(string $action, array $formDatas = []): void
    {
        parent::action_init_process($action, $formDatas);
        $this->addViewDatas('layout', $this->layouts);
        $this->addViewDatas('helper', $this->service->getHelper());
        $this->service->getActionForm()->action_init_process($action, $formDatas);
        $this->addViewDatas('formFields', $this->service->getActionForm()->getFormFields());
        $this->addViewDatas('formRules', $this->service->getActionForm()->getFormRules());
        $this->addViewDatas('formFilters', $this->service->getActionForm()->getFormFilters());
        $this->addViewDatas('formOptions', $this->service->getActionForm()->getFormOptions());
    }

    //Index,FieldForm관련
    public function index(): string
    {
        $action = __FUNCTION__;
        $this->action_init_process($action);
        return $this->action_render_process($action, $this->getViewDatas(), $this->request->getVar('ActionTemplate') ?? "welcome");
    }
}
