LaravelPackages.net
Acme Inc.
Toggle sidebar
starfolksoftware/laravel-dashboard-table-tile

A tile for displaying a table in spatie's laravel dashboard.

140
0
v2.1.1
About starfolksoftware/laravel-dashboard-table-tile

starfolksoftware/laravel-dashboard-table-tile is a Laravel package for a tile for displaying a table in spatie's laravel dashboard.. It currently has 0 GitHub stars and 140 downloads on Packagist (latest version v2.1.1). Install it with composer require starfolksoftware/laravel-dashboard-table-tile. Discover more Laravel packages by starfolksoftware or browse all Laravel packages to compare alternatives.

Last updated

Laravel Dashboard Table Tile

Latest Version on Packagist GitHub Tests Action Status Total Downloads

A simple and straightforward table tile package.

This tile can be used on the Laravel Dashboard.

Installation

You can install the package via composer:

composer require starfolksoftware/laravel-dashboard-table-tile

Usage

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>

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email :author_email instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Comments