codedge/livewire-companion

This package is abandoned and no longer maintained. No replacement package was suggested.

A library with ready-to-use Laravel Livewire components.

1.0 2020-01-30 10:57 UTC

This package is auto-updated.

Last update: 2020-05-30 01:06:10 UTC


README

Latest Stable Version License Total Downloads StyleCI

Livewire Companion

Livewire Companion is a set of components based on Laravel Livewire, to get you quickly up and running for recurring tasks.

Included components

All components use the brilliant Tailwind CSS. 🚀

Currently included components are:

  • Datatable
    • Search over one column
    • Sorting of columns
    • Pagination
    • Indicators for pages and total records
    • Items per page

Datataböe

  • Map (coming soon)

How to install

You can install the package via composer:

$ composer require codedge/livewire-companion

The package will automatically register itself. Then publish the assets (configuration and templates):

$ php artisan vendor:publish --provider="Codedge\LivewireCompanion\LivewireCompanionServiceProvider"

This is going to publish all templates to resources/views/vendor/livewire-companion. Feel free to modify to your needs.

How to use

Datatables

The datatable component support both, Eloquent collections and Support collections.

Create a new file at app/Http/Livewire/MyTable.php:

<?php declare(strict_types=1);
// ...
use Codedge\LivewireCompanion\Components\Datatable;

class MyTable extends Datatable
{
    protected $model = User::class;
    // ...
}

The Livewire component needs to inherit the Datatable class. Then make sure you configure the component as you like:

  • $model: Specify the model class, mandatory
  • $perPageOptions: Available options show items per page, default: 5, 10, 25
  • $searchingEnabled: Enable/Disable searching, default: true
  • $sortingEnabled: Enable/Disable sorting, default: true
  • $template: Overwrite Datatable template path, default: vendor.livewire-companion.datatable

Contributing

If you miss any component or want to extend functionality and/or fixing bugs - feel free to submit a PR. I happily merge it in.