# Generate a dashboard widget
The dashboard is composed of configurable widgets. It is possible to generate these widgets using an artisan command.
# Artisan Command
To generate a new widget for the dashboard, you can use the following artisan command:
php artisan boilerplate:widget
You can also directly define the name of the widget to generate as an argument of the command:
php artisan boilerplate:widget "my awesome widget"
Using this command with this example, three files will be generated:
- /app/Dashboard/MyAwesomeWidget.php: class called for rendering the widget, functions like a view composer
- /resources/views/dashboard/widgets/my-awesome-widget.blade.php: the view of the widget that will be rendered
- /resources/views/dashboard/widgets/my-awesome-widgetEdit.blade.php: the view of the widget parameter editing form
# For packages developers
By default, datatable classes are placed in the folder app/Dashboard
But you can declare your own widgets classes within your package service provider by using the boilerplate.dashboard.widgets
singleton :
public function boot()
{
app('boilerplate.dashboard.widgets')->registerWidget(MyPackageFirstWidget::class, MyPackageSecondWidget::class);
}