A simple and straightforward table tile package.
This tile can be used on the Laravel Dashboard.
You can install the package via composer:
composer require starfolksoftware/laravel-dashboard-table-tile
In the dashboard config file, you can optionally add this configuration in the tiles key.
'tiles' => [
// ...
'tables' => [
'refresh_interval_in_seconds' => 300, // Default: 300 seconds (5 minutes)
],
],
See a table example below:
<?php
namespace App\Tables;
use StarfolkSoftware\TableTile\Table;
class ExampleTableTile extends Table
{
/**
* Get the title of the table.
*
* @return string
*/
protected function getTitle()
{
return 'Example Table Tile';
}
/**
* Get the description of the table.
*
* @return string
*/
protected function getDescription()
{
return 'This is an example table tile.';
}
/**
* Get the columns to be displayed in the table.
*
* @return array
*/
protected function getColumns()
{
return [
'name' => [
'label' => 'Name',
],
'email' => [
'label' => 'Email',
],
'gender' => [
'label' => 'Gender',
],
'status' => [
'label' => 'Status',
],
];
}
/**
* Get the rows to be displayed in the table.
*
* @return array
*/
protected function getRows()
{
$faker = \Faker\Factory::create();
return collect(range(1, 100))->map(function ($i) use ($faker) {
return [
'name' => $faker->name,
'email' => $faker->email,
'gender' => $faker->randomElement(['male', 'female']),
'status' => $faker->randomElement(['paid', 'unpaid']),
];
});
}
/**
* Get the filters to be applied to the table.
*
* @return array
*/
protected function getAvailableFilters()
{
return [
'gender' => [
'label' => 'Gender',
'values' => [
'male',
'female',
],
],
'status' => [
'label' => 'Status',
'values' => [
'paid',
'unpaid'
],
]
];
}
/**
* Get the columns that can be searched.
*
* @return array
*/
protected function getSearchableColumns()
{
return ['name', 'email'];
}
}
In your dashboard view you use the livewire:table-tile
component.
<x-dashboard>
<livewire:table-tile position="e7:e16" />
</x-dashboard>
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email :author_email instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.