예제 #1
0
 /**
  * Loads state informations.
  * @param  array
  * @return void
  */
 public function loadState(array $params)
 {
     /** check for invalid parameter value and in that case set it 
      * to default value.
      */
     //if(isset($params['page']) && gettype($params['page']) != "integer" )
     //    $params['page'] = $this->page;
     //dump("guuuu");
     parent::loadState($params);
     $this->getPaginator()->page = $this->page;
 }
예제 #2
0
 public function loadState(array $params)
 {
     $session = $this->getSession();
     if (!empty($params) && isset($params['settings'])) {
         $settings = array();
         foreach ($params['settings'] as $key => $val) {
             $settings[$key] = $val;
         }
         $session['settings'] = $settings;
     } elseif (!empty($session['settings'])) {
         foreach ($session['settings'] as $key => $val) {
             $params['settings'][$key] = $val;
         }
     }
     parent::loadState($params);
 }
예제 #3
0
 function loadState(array $params)
 {
     parent::loadState($params);
     if (count($this->sort) == 0) {
         foreach ($this->defaultSort as $k => $v) {
             if (!isset($this->sort[$k])) {
                 $this->sort[$k] = $v;
             }
         }
     }
     foreach ($this->sort as $k => $v) {
         if (!in_array($k, $this->enabledSort) && !isset($this->defaultSort[$k])) {
             unset($this->sort[$k]);
             continue;
         }
         if (!in_array($v, array_keys($this->enableValues))) {
             unset($this->sort[$k]);
             continue;
         }
     }
     foreach ($this->defaultFilter as $k => $v) {
         if (!isset($this->filter[$k])) {
             $this->filter[$k] = $v;
         }
     }
     foreach ($this->filter as $k => $v) {
         if (!in_array($k, $this->enableFilter)) {
             unset($this->filter[$k]);
             continue;
         }
     }
     if (!is_null($this->countCallback)) {
         $this->count = call_user_func($this->countCallback, $this->getDbFilter());
     } else {
         throw new \LogicException('Missing count callback');
     }
     $this->limit = Nette\Utils\Validators::isNumericInt($this->limit) ? $this->limit : static::DEFAULT_LIMIT;
     $this->page = Nette\Utils\Validators::isNumericInt($this->page) && $this->page <= ceil($this->count / $this->limit) && $this->page > 0 ? $this->page : 1;
     $this->cleanSortKeys = $this->defaultSort;
     foreach ($this->enabledSort as $k => $v) {
         if (isset($this->cleanSortKeys[$k])) {
             unset($this->cleanSortKeys[$k]);
         }
     }
 }
예제 #4
0
 public function loadState(array $params)
 {
     return $this->control->loadState($params);
 }
예제 #5
0
 /**
  * Loads state informations.
  * @param  array
  * @return void
  */
 public function loadState(array $params)
 {
     parent::loadState($params);
     if ($this->getParent() instanceof DataGrid) {
         $this->getPaginator()->page = $this->getParent()->page;
     }
 }
예제 #6
0
	/**
	 * Loads params
	 * @param  array
	 * @return void
	 */
	public function loadState(array $params)
	{
		if (isset($params['order'])) {
			$params['order'] = explode('.', (string) $params['order']);

			// validate
			$copy = $params['order'];
			sort($copy);
			if ($copy != range(0, $this->width * $this->width - 1)) {
				unset($params['order']);
			}
		}

		parent::loadState($params);
	}
예제 #7
0
 /**
  * @param array $params
  * @throws \Nette\Application\BadRequestException
  */
 public function loadState(array $params)
 {
     parent::loadState($params);
     if ($this->hasFilteringForm()) {
         foreach ($params as $column => $value) {
             if (!isset($this->filteringConditions[$column])) {
                 continue;
             }
             $this->filteringData[$column] = $value;
             $this['filteringForm-' . $column]->setDefaultValue($value);
         }
     }
     if ($this->view !== '') {
         if (!$this->hasView($this->view)) {
             throw new BadRequestException();
         }
     } elseif (!empty($this->views)) {
         reset($this->views);
         $this->view = key($this->views);
     }
 }
예제 #8
0
파일: Grid.php 프로젝트: natrim/gridito
 /**
  * Loads state informations.
  * @param  array
  * @return void
  */
 public function loadState(array $params)
 {
     if ($this->rememberState) {
         $session = $this->getStateSession();
         foreach ($this->getPersistentParams() as $name) {
             if (isset($session[$name]) && !isset($params[$name])) {
                 $params[$name] = $session[$name];
             }
         }
     }
     parent::loadState($params);
 }
예제 #9
0
 /**
  * Loads state information
  * @param  array
  * @return void
  */
 public function loadState(array $params)
 {
     parent::loadState($params);
     $datetime = \DateTime::createFromFormat('!Y-m', date($this->year . '-' . $this->month));
     if ($datetime === false) {
         $datetime = \DateTime::createFromFormat('!Y-m', date('Y-m'));
     }
     $this->month = $datetime->format('n');
     $this->year = $datetime->format('Y');
 }
예제 #10
0
파일: DataGrid.php 프로젝트: uestla/twigrid
 /**
  * @param  array $params
  * @return void
  */
 public function loadState(array $params)
 {
     parent::loadState(static::processParams($params));
     if (!$this->polluted && !$this->isInDefaultState()) {
         $this->polluted = TRUE;
     }
     if (!$this->polluted) {
         if ($this->defaultOrderBy !== NULL) {
             $this->orderBy = array_merge($this->defaultOrderBy, $this->orderBy);
             $this->polluted = TRUE;
         }
         if ($this->defaultFilters !== NULL) {
             $this->setFilters($this->defaultFilters, FALSE);
             $this->polluted = TRUE;
         }
     }
     $i = 0;
     foreach ($this->orderBy as $column => $dir) {
         try {
             $this['columns']->getComponent($column)->setSortedBy(TRUE, $dir, $i++);
         } catch (\RuntimeException $e) {
             unset($this->orderBy[$column]);
         }
         if (!$this->multiSort && $i > 1) {
             unset($this->orderBy[$column]);
         }
     }
     $this->validateState();
 }
예제 #11
0
 public function loadState(array $params)
 {
     if (isset($params['page']) and !Validators::is($params['page'], 'numericint')) {
         $params['page'] = 1;
     }
     parent::loadState($params);
     $this->getPaginator()->setPage($this->page);
     $this->page = $this->getPaginator()->getPage();
 }
예제 #12
0
 /**
  * @param array
  */
 public function loadState(array $params)
 {
     parent::loadState($params);
     // get items per page from session
     if ($this->session !== NULL && $this->canSetItemsPerPage) {
         if (isset($this->sessionSection->{$this->getSessionReposity()}) && in_array($this->sessionSection->{$this->getSessionReposity()}, array_keys($this->itemsPerPageList), TRUE)) {
             $this->setItemsPerPage($this->sessionSection->{$this->getSessionReposity()});
         } else {
             unset($this->sessionSection->{$this->getSessionReposity()});
         }
     }
     $this->getPaginator()->page = $this->page;
     $this->getPaginator()->itemsPerPage = $this->itemsPerPage;
     $this->page = $this->getPaginator()->page;
     $this->itemsPerPage = $this->getPaginator()->itemsPerPage;
     $this["itemsPerPage"]->setDefaults(["itemsPerPage" => $this->itemsPerPage]);
 }
 /**
  * Loads state informations.
  *
  * @param  array
  * @return void
  */
 public function loadState(array $params)
 {
     parent::loadState($params);
     $this->getPaginator()->setDate(new DateTime($this->date ?: 'now'));
 }
예제 #14
0
 /**
  * Get and load session params
  * @param array $params 
  */
 public function loadState(array $params)
 {
     parent::loadState($params);
     $this->getSession();
     $this->loadSession();
 }
 /**
  * Loads state informations
  * @author Pavel Železný <*****@*****.**>
  * @param array $params
  * @return void
  */
 public function loadState(array $params)
 {
     parent::loadState($params);
     $this->getPaginator()->setPage($this->getPage());
 }
예제 #16
0
파일: DataGrid.php 프로젝트: lohini/cf
 /**
  * Loads params
  *
  * @param array $params
  */
 public function loadState(array $params)
 {
     if ($this->rememberState) {
         $session = $this->getStateSession();
         if (!isset($session->currentState)) {
             $session->currentState = $session->initState;
         }
         if (isset($session->currentState)) {
             $cs = $session->currentState;
             $is = $session->initState;
             foreach ($cs as $key => $value) {
                 if ($cs[$key] != $is[$key]) {
                     // additional input validation
                     switch ($key) {
                         case 'page':
                             $value = $value > 0 ? $value : 1;
                             break;
                         case 'more':
                         case 'order':
                         case 'filters':
                         case 'itemsPerPage':
                             break;
                     }
                     $params[$key] = $value;
                 }
             }
         }
     }
     parent::loadState($params);
 }
예제 #17
0
	/**
	 * @param array $params
	 */
	public function loadState(array $params)
	{
		parent::loadState($params);
		$this->paginator->page = $this->page;
	}
예제 #18
0
 public function loadState(array $params)
 {
     parent::loadState($params);
 }