Source of file Order.php
Size: 1,118 Bytes - Last Modified: 2017-11-08T13:54:24+00:00
/home/travis/build/bluzphp/framework/src/Grid/Helper/Order.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | <?php /** * Bluz Framework Component * * @copyright Bluz PHP Team * @link https://github.com/bluzphp/framework */ declare(strict_types=1); namespace Bluz\Grid\Helper; use Bluz\Grid; return /** * @return string|null $url */ function ($column, $order = null, $defaultOrder = Grid\Grid::ORDER_ASC, $reset = true) { /** * @var Grid\Grid $this */ if (!$this->checkOrderColumn($column)) { return null; } $orders = $this->getOrders(); // change order if (null === $order) { if (isset($orders[$column])) { $order = ($orders[$column] == Grid\Grid::ORDER_ASC) ? Grid\Grid::ORDER_DESC : Grid\Grid::ORDER_ASC; } else { $order = $defaultOrder; } } // reset to additional sort column if ($reset) { $rewrite = ['orders' => []]; } else { $rewrite = ['orders' => $orders]; } $rewrite['orders'][$column] = $order; return $this->getUrl($rewrite); }; |