Skip to content

Commit 80f2674

Browse files
committed
Use spatie/eloquent-sortable behind the scenes
1 parent da8f446 commit 80f2674

File tree

11 files changed

+169
-10848
lines changed

11 files changed

+169
-10848
lines changed

README.md

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Nova Order Field
2+
3+
[![Latest Version on Packagist](https://img.shields.io/packagist/v/michielkempen/nova-order-field.svg)](https://packagist.org/packages/michielkempen/nova-order-field)
4+
[![Total Downloads](https://img.shields.io/packagist/dt/michielkempen/nova-order-field.svg)](https://packagist.org/packages/michielkempen/nova-order-field)
5+
6+
### Description
7+
8+
A field that adds reordering functionality to your Laravel Nova resource's index using the [eloquent-sortable](https://github.com/spatie/eloquent-sortable) package by [Spatie](https://spatie.be).
9+
10+
### Demo
11+
12+
![Demo](https://raw.githubusercontent.com/michielkempen/nova-order-field/master/docs/screenshot.png)
13+
14+
### Installation
15+
16+
This package can be installed through Composer.
17+
18+
```bash
19+
composer require michielkempen/nova-order-field
20+
```
21+
22+
### Usage
23+
24+
Follow the [usage instructions](https://github.com/spatie/eloquent-sortable#usage) on the eloquent-sortable repository to make your model sortable.
25+
26+
Add the `MichielKempen\NovaOrderField\Orderable` trait to your Nova Resource.
27+
28+
```php
29+
use MichielKempen\NovaOrderField\Orderable;
30+
31+
class Page extends Resource
32+
{
33+
use Orderable;
34+
}
35+
```
36+
37+
Add a public static property called `$defaultSortField` to your resource, containing your order column.
38+
39+
```php
40+
class Page extends Resource
41+
{
42+
public static $defaultOrderField = 'order';
43+
}
44+
```
45+
46+
Add the `OrderField` to your Nova Resource `fields` method.
47+
48+
```php
49+
use \MichielKempen\NovaOrderField\OrderField;
50+
51+
class Page extends Resource
52+
{
53+
public function fields(Request $request)
54+
{
55+
return [
56+
OrderField::make('Order'),
57+
];
58+
}
59+
}
60+
```

composer.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
],
88
"license": "MIT",
99
"require": {
10-
"php": ">=7.1.0"
10+
"php": ">=7.1.0",
11+
"spatie/eloquent-sortable": "^3.4"
1112
},
1213
"autoload": {
1314
"psr-4": {

0 commit comments

Comments
 (0)