/** * Sets the sort definition for this data provider. * * @param array|Sort|boolean $value the sort definition to be used by this data provider. * This can be one of the following: * * - a configuration array for creating the sort definition object. The "class" element defaults * to 'Leaps\Data\Sort' * - an instance of [[Sort]] or its subclass * - false, if sorting needs to be disabled. * * @throws InvalidParamException */ public function setSort($value) { if (is_array($value)) { $config = ['className' => Sort::className()]; if ($this->id !== null) { $config['sortParam'] = $this->id . '-sort'; } $this->_sort = Leaps::createObject(array_merge($config, $value)); } elseif ($value instanceof Sort || $value === false) { $this->_sort = $value; } else { throw new InvalidParamException('Only Sort instance, configuration array or false is allowed.'); } }