<?php
namespace ModulesAbstract\PluginReports\ConfigUDEFListing;

use \App\Mvc\View\Utils\Types\ListingColumn;
use \App\Mvc\View\Utils\Types\ListingColumns;

abstract class View_List extends \App\Mvc\View_Window_PaginatedListing_ListAbstract
{
/**
	 * Results per page list
	 * @see \App\Mvc\View_Window_PaginatedListing_ListAbstract::$resultsPerPageList
	 */
	protected $resultsPerPageList = [5, 10, 15, 20, 25, 50, 100, ];

	protected $absLang = [];

	/**
	 * (non-PHPdoc)
	 * @see \App\Mvc\View_Window_PaginatedListing_ListAbstract::list_getThDetails()
	 */
	protected function list_getThDetails()
	{
		return ListingColumns::create()
			->append(
				ListingColumn::create('filters')
			)
			->append(
				ListingColumn::create('UDEF')
			)
		->loadLabels($this->absLang['index']['listCols'])
		->loadSettings($this->input['listingParams']->getDynamicColumnsSettings());
	}

	/**
	 * (non-PHPdoc)
	 * @see \App\Mvc\View_Window_PaginatedListing_ListAbstract::render()
	 */
	public function render()
	{
		$this->setOutputVar('absLang', $this->absLang);
		return parent::render();
	}

	/**
	 * (non-PHPdoc)
	 * @see \App\Mvc\View_Window_PaginatedListing_ListAbstract::renderRecords()
	 */
	public function renderRecords()
	{
		$this->setOutputVar('absLang', $this->absLang);
		return parent::renderRecords();
	}

	/**
	 * (non-PHPdoc)
	 * @see \App\Mvc\View_Window_PaginatedListing_ListAbstract::loadTranslations()
	 */
	protected function loadTranslations()
	{
		parent::loadTranslations();
		$this->absLang = \App\Loader_Lang::getInstance()->loadAppFile('_customLoad/modulesAbstract/pluginReports/configUdefListing/ConfigUDEFListing.lang.php')->getSection("ModulesAbstract/PluginReports/ConfigUDEFListing");
	}

}

