<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */

namespace Kufer\KuferTools\Veranstalter\LeiterMitarbeiterAndererVeranstalter\DozentenUebersicht\DozentenUebersichtFilter;

use Kufer\KuferTools\Utils\KursFilter\HandleShowKursFilter;

class DozentenUebersichtFilterPresenter extends \Kufer\KuferTools\Basis\Presenter\Presenter
{
  protected function getView()
  {
    return new DozentenUebersichtFilterView($this->getViewModel());
  }

  protected function getViewModel()
  {
    $viewModel = new DozentenUebersichtFilterViewModel();

    $isUnterFachbereich = function($fachbereich) {return \StringOperations::strlen($fachbereich->kennz) > 1;};
    $viewModel->fachbereicheOptionen = HandleShowKursFilter::getSelectOptions($this->useCaseResponse->fachBereiche, 'kennz', 'text', $this->useCaseResponse->selectedFachbereich, $isUnterFachbereich);
    $viewModel->bezirkOptionen = HandleShowKursFilter::getSelectOptions($this->useCaseResponse->bezirke, 'bezirk', 'bezirk', $this->useCaseResponse->veranstalter_bezirk);
    $viewModel->branchenOptionen = HandleShowKursFilter::getSelectOptions($this->useCaseResponse->branchen, 'text', 'text', $this->useCaseResponse->branchen_name);
    $viewModel->gemeindeOptionen = HandleShowKursFilter::getSelectOptions($this->useCaseResponse->gemeinden, 'gemeinde', 'gemeinde', $this->useCaseResponse->veranstalter_gemeinde);

    foreach (get_object_vars($this->useCaseResponse) as $key => $value) {
      $viewModel->{$key} = $value;
    }

    return $viewModel;
  }

  protected function getJsFilesSrcAryWeitere()
  {
    return array(
      $this->getJsFileFromSys('kursuebersicht.js')
    );
  }
}