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-tileIn 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 testPlease 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.