add nova
This commit is contained in:
75
nova/src/Fields/AssociatableRelation.php
Normal file
75
nova/src/Fields/AssociatableRelation.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace Laravel\Nova\Fields;
|
||||
|
||||
use Laravel\Nova\Http\Requests\NovaRequest;
|
||||
|
||||
trait AssociatableRelation
|
||||
{
|
||||
/**
|
||||
* The callback that should be run to associate relations.
|
||||
*
|
||||
* @var (callable(\Laravel\Nova\Http\Requests\NovaRequest, \Illuminate\Database\Eloquent\Builder):(\Illuminate\Database\Eloquent\Builder))|null
|
||||
*/
|
||||
public $relatableQueryCallback;
|
||||
|
||||
/**
|
||||
* Determines if the display values should be automatically sorted.
|
||||
*
|
||||
* @var (callable(\Laravel\Nova\Http\Requests\NovaRequest):(bool))|bool
|
||||
*/
|
||||
public $reordersOnAssociatableCallback = true;
|
||||
|
||||
/**
|
||||
* Determine if the display values should be automatically sorted when rendering associatable relation.
|
||||
*
|
||||
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
|
||||
* @return bool
|
||||
*/
|
||||
public function shouldReorderAssociatableValues(NovaRequest $request)
|
||||
{
|
||||
if (is_callable($this->reordersOnAssociatableCallback)) {
|
||||
return call_user_func($this->reordersOnAssociatableCallback, $request);
|
||||
}
|
||||
|
||||
return $this->reordersOnAssociatableCallback;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine reordering on associatables.
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function dontReorderAssociatables()
|
||||
{
|
||||
$this->reordersOnAssociatableCallback = false;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine reordering on associatables.
|
||||
*
|
||||
* @param (callable(\Laravel\Nova\Http\Requests\NovaRequest):bool)|bool $value
|
||||
* @return $this
|
||||
*/
|
||||
public function reorderAssociatables($value = true)
|
||||
{
|
||||
$this->reordersOnAssociatableCallback = $value;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine the associate relations query.
|
||||
*
|
||||
* @param (callable(\Laravel\Nova\Http\Requests\NovaRequest, \Illuminate\Database\Eloquent\Builder):(\Illuminate\Database\Eloquent\Builder))|null $callback
|
||||
* @return $this
|
||||
*/
|
||||
public function relatableQueryUsing($callback)
|
||||
{
|
||||
$this->relatableQueryCallback = $callback;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user