No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Latest commit dae25c4 Oct 14, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Update TableSorting.php Oct 6, 2018
.gitignore 0.1 Dec 2, 2017
readme.md Readme Dec 2, 2017

readme.md

Кастомная сортировка таблиц в DevelNext

Screenshot

Демо проект: https://hub.develnext.org/project/sFRAgEmQzKNb

Установка

Поместить файл TableSorting.php в свой проект

Использование

$sorting = new TableSorting($this->table); // Конструктор принимает объект с таблицей

$sorting->setDefaultRule('id'); // Устанавливает сортировку по умолчанию, в таком случае числовые значения будут от минимального в максимальному, а буквенные - по алфавиту
$sorting->setDefaultRule('col1'); 

$sorting->setDefaultRule(['id', 'col1']); // То же самое, только одной строкой

// Установка своей функции сортировки
// Функция принимает два элемента таблицы $a и $b
// Функция должна вернуть 1, 0, -1
// 1 - элемент $a больше по какому-то из значений, чем $b
// -1 - элемент $a меньше по какому-то из значений, чем $b
// 0 - элементы $a и $b равновелики
$sorting->setSortingRule('col2', function($a, $b){
	// В данном случае представлена функция сортировки по длине строки
    $la = str::length($a);
    $lb = str::length($b);
          
    return $la > $lb ? 1 :
           $la < $lb ? -1 : 0;
});
// Так же можно передать в 1й аргумент массив со столбцами, например ['col2', 'col3']