1. Go to this page and download the library: Download codicastudio/dashboard library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
codicastudio / dashboard example snippets
use DigitalCreative\NovaDashboard\Examples\ExampleDashboard;
use DigitalCreative\NovaDashboard\NovaDashboard;
public function tools()
{
return [
new NovaDashboard([
ExampleDashboard::class, // Example as on the gif above
])
];
}
use DigitalCreative\NovaDashboard\Dashboard;
class ExampleDashboard extends Dashboard
{
public static string $title = 'Example Dashboard';
public function views(): array
{
return [
ExampleView1::make()->authorizedToSee(fn() => true),
ExampleView2::make()->editable()->private(),
ExampleView3::make()->editable()
];
}
public function options(): array
{
return [
'expandFilterByDefault' => true,
'grid' => [
'compact' => true,
'numberOfCols' => 6
]
];
}
}
use DigitalCreative\NovaDashboard\View;
class MainView extends View
{
public function filters(): array
{
return [
new ExampleFilter()
];
}
public function actions(): array
{
return [
new ExampleAction(),
];
}
public function widgets(): array
{
return [
new ExampleWidget(),
];
}
}
public function views(): array
{
return [
ExampleView1::make()->authorizedToSee(fn() => true),
ExampleView2::make()->editable()->private(),
ExampleView3::make()->editable()
];
}
ExampleView::make()->editable(fn() => false);
public function widgets(): array
{
return [
new ExampleWidget(0, 0, 2, 1, [ 'title' => 'Total Sales', 'source' => 'source1' ]),
new ExampleWidget(2, 0, 2, 1, [ 'title' => 'Products in Stock', 'source' => 'source2' ]),
new SomeOtherWidget(4, 0, 2, 1, [ 'title' => 'Conversion Rate', 'source' => 'source3' ]),
];
}
public function widgets(): array
{
return [
new ExampleWidget(),
];
}
use Illuminate\Http\Request;
use Laravel\Nova\Filters\BooleanFilter;
class ExampleFilter extends BooleanFilter
{
public function apply(Request $request, $query, $value)
{
// this function is
use DigitalCreative\NovaDashboard\Filters;
use DigitalCreative\NovaDashboard\ValueResult;
use Illuminate\Support\Collection;
/**
* On any widget class
*/
public function resolveValue(Collection $options, Filters $filters): ValueResult
{
/**
* On any widget class
*/
$filterA = $filters->getFilterValue(YourFilterClass::class);
$filterB = $filters->getFilterValue(YourSecondFilterClass::class);
if($filterA === 'expected') {
return new ValueResult(...);
}
return new ValueResult(...);
}
use DigitalCreative\NovaDashboard\Filters;
use DigitalCreative\NovaDashboard\ValueResult;
use Illuminate\Support\Collection;
public function resolveValue(Collection $options, Filters $filters): ValueResult
{
$result = $filters->applyToQueryBuilder(AnyEloquentModel::query())->get();
}
use DigitalCreative\NovaDashboard\Action;
use DigitalCreative\NovaDashboard\Filters;
use Laravel\Nova\Fields\ActionFields;
use Laravel\Nova\Fields\Text;
class ExampleAction extends Action
{
public function execute(ActionFields $fields, Filters $filters): ?array
{
return Action::message('You are awesome!');
}
public function fields(): array
{
return [
Text::make('Some field'),
];
}
}
int $x, int $y, int $width, int $height, array $options = []
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.