예제 #1
0
파일: Filter.php 프로젝트: mesour/filter
 public function createHiddenInput($data = [], $referenceSettings = [])
 {
     /** @var Mesour\Icon\IIcon $icon */
     $className = $this->getIconClass();
     $icon = new $className();
     $referenceData = [];
     foreach ($this->source->getDataStructure()->getTableStructures() as $tableStructure) {
         $source = $this->getSource()->getReferencedSource($tableStructure->getName());
         if ($source->getTotalCount() <= self::$maxCheckboxCount) {
             $referenceData[$tableStructure->getName()] = $source->fetchFullData($this->getDateFormat());
         }
     }
     $hidden = $this->getHiddenPrototype();
     $attributes = ['data-mesour-data' => Nette\Utils\Json::encode($data), 'value' => Nette\Utils\Json::encode($this->getValues()), 'data-references' => Nette\Utils\Json::encode(array_merge([self::PREDEFINED_KEY => $this->predefinedData], $referenceData)), 'data-mesour-date' => $this->getDateFormat(), 'data-icon-prefix' => $icon->getPrefix(), 'data-icons' => Nette\Utils\Json::encode(self::$icons), 'data-mesour-js-date' => Mesour\Components\Utils\Helpers::convertDateToJsFormat($this->getDateFormat())];
     $hidden->addAttributes($attributes);
     return $hidden;
 }
예제 #2
0
 protected static function matchCounts(IFilterSource $source, $filteredCount, $fullCount, $rawClassType)
 {
     static $lastRowsDescription = 'Output from fetchLastRawRows after %s';
     $users = $source->fetchAll();
     if (count($users) > 0) {
         Assert::type(ArrayHash::class, reset($users));
     }
     Assert::count($filteredCount, $users, 'Output from fetchAll');
     $lastRows = $source->fetchLastRawRows();
     if (count($lastRows) > 0) {
         Assert::type($rawClassType, reset($lastRows));
     }
     Assert::count($filteredCount, $lastRows, sprintf($lastRowsDescription, 'fetchAll'));
     $fullData = $source->fetchFullData();
     if (count($fullData) > 0) {
         Assert::type(ArrayHash::class, reset($fullData));
     }
     Assert::count($fullCount, $fullData, 'Output from fetchFullData');
     $lastRows = $source->fetchLastRawRows();
     if (count($lastRows) > 0) {
         Assert::type($rawClassType, reset($lastRows));
     }
     Assert::count($fullCount, $lastRows, sprintf($lastRowsDescription, 'fetchFullData'));
 }