Datagrid for Laravel v5

Overview

Datagrid For Laravel 5+

Package that easily converts collection of models to a datagrid table. The main goal of the package is to build for you a table with sorting and filters per column. You are defining the grid structure in your controller, pass the datagrid to the view and show it there. This will give you a really clean views, just a single line to show the table + filters + sorting + pagination. Keep in mind that filtering and sorting the data is up to you!

Features

  • Composer installable
  • PSR4 autoloading
  • Has filters row
  • Has columns sort order
  • Easily can add action column with edit/delete/whatever links
  • Ability to modify cell data via closure function
  • Bootstrap friendly
  • Columns has data attributes based on a column data key

Requires

Build to be used with Laravel only!

Installation

Require package at your composer.json file like so

{
    "require": {
        "aginev/datagrid": "2.0.*"
    }
}

Tell composer to update your dependencies

composer update

Or in terminal

composer require aginev/datagrid:1.0.*

HOWTO

Let's consider that we have users and user roles (roles) table at our system.

Users table

id: primary key

role_id: foreign key to roles table primary key

email: user email added used as username

first_name: user first name

last_name: user last name

password: hashed password

created_at: when it's created

updated_at: when is the latest update

Roles Table

id: primary key

title: Role title e.g. Administrators Access

created_at: when it's created

updated_at: when is the latest update

We need a table with all the users data, their roles, edit and delete links at the last column at the table, filters and sort links at the very top, pagination at the very bottom.

<?php

// Grap all the users with their roles
// NB!!! At the next line you are responsible for data filtration and sorting!
$users = User::with('role')->paginate(25);

// Create Datagrid instance
// You need to pass the users and the URL query params that the package is using
$grid = new \Datagrid($users, Request::get('f', []));

// Or if you do not want to use the alias
//$grid = new \Aginev\Datagrid\Datagrid($users, Request::get('f', []));

// Then we are starting to define columns
$grid
	->setColumn('first_name', 'First Name', [
		// Will be sortable column
		'sortable'    => true,
		// Will have filter
		'has_filters' => true
	])
	->setColumn('email', 'Email', [
		'sortable'    => true,
		'has_filters' => true,
		// Wrapper closure will accept two params
		// $value is the actual cell value
		// $row are the all values for this row
		'wrapper'     => function ($value, $row) {
			return '<a href="mailto:' . $value . '">' . $value . '</a>';
		}
	])
	->setColumn('role_id', 'Role', [
		// If you want to have role_id in the URL query string but you need to show role.name as value (dot notation for the user/role relation)
		'refers_to'   => 'role.name',
		'sortable'    => true,
		'has_filters' => true,
		// Pass array of data to the filter. It will generate select field.
		'filters'     => Role::all()->lists('title', 'id'),
		// Define HTML attributes for this column
		'attributes'  => [
            'class'         => 'custom-class-here',
            'data-custom'   => 'custom-data-attribute-value',
        ],
	])
	->setColumn('created_at', 'Created', [
		'sortable'    => true,
		'has_filters' => true,
		'wrapper'     => function ($value, $row) {
			// The value here is still Carbon instance, so you can format it using the Carbon methods
			return $value;
		}
	])
	->setColumn('updated_at', 'Updated', [
		'sortable'    => true,
		'has_filters' => true
	])
	// Setup action column
	->setActionColumn([
		'wrapper' => function ($value, $row) {
			return '<a href="' . action('HomeController@index', $row->id) . '" title="Edit" class="btn btn-xs"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></a>
					<a href="' . action('HomeController@index', $row->id) . '" title="Delete" data-method="DELETE" class="btn btn-xs text-danger" data-confirm="Are you sure?"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a>';
		}
	]);

// Finally pass the grid object to the view
return view('grid', ['grid' => $grid]);

Lets show the grid in the view. grid-table param is not required and it's the id of the table.

...
{!! $grid->show('grid-table') !!}
...

Modifying Default View

php artisan vendor:publish --provider="Aginev\Datagrid\DatagridServiceProvider" --tag="views"

This will copy the view to resources/views/vendor/datagrid/datagrid.blade.php. Editing this file you will be able to modify the grid view as you like with no chance to loose your changes.

Modifying Config

php artisan vendor:publish --provider="Aginev\Datagrid\DatagridServiceProvider" --tag="config"

This will copy the config to config/datagrid.php.

License

MIT - http://opensource.org/licenses/MIT

Comments
  • $_GET parameters missing when filtering

    $_GET parameters missing when filtering

    When you use own filter form and send this filter form to get url like /orders?surname=Ginev and then click on sorting the grid ends up in start state. This feature will be very helpfull to others too.

    Datagrid.php line 354 - instead:

    $filters->toArray(), 'page' => 1, 'per_page' => $per_page]
    

    change to:

    $filter = ['f' => $filters->toArray(), 'page' => 1, 'per_page' => $per_page];
    return empty($_GET) ? $filter : array_merge($_GET, $filter);
    
    opened by spernica 2
  • Error on chaining properties

    Error on chaining properties

    When you have variable like $client->country->region->title and country is null, there is an error in ModelRow.php with undefined property. Right behavior of grid is to print just empty string "".

    Your code is:

    	// The easiest way to chain the object properties
    	foreach ($keys as $key) {
    		$value = $value->{$key};
    	}
    

    The right code is:

    	// The easiest way to chain the object properties
    	foreach ($keys as $key) {
    		$value = $value->{$key};
    
    		if (is_null($value)) {
    			break;
    		}
    	}
    

    Please apply that to your code

    opened by spernica 2
  • Allow HTML titles

    Allow HTML titles

    It is not possible to set HTML title for non-sortable columns: ->setColumn('name', '<strong>Name</strong>'). For sortable columns everything is OK.

    How to fix

    Change Views/grid.blade.php line 28 from {{ $col->getTitle() }} to {!! $col->getTitle() !!}

    opened by taronarm 2
  • Add sorting support for dot notation column names

    Add sorting support for dot notation column names

    Sorting was not working. I think it's because sortBy only works with arrays. Here's a way to make sorting work even for dot notation columns. Eg. User->post->subject with column User.post.name.

    opened by shemgp 2
  • Filter not working

    Filter not working

    Hi,

    I'm using this datagrid, and setting it the same with your example. But the filter and sort it's not working. But when I search or sort, the link will change into http://localhost/17fit_studio/webadmin/rights?f%5Border_by%5D=role_id&f%5Border_dir%5D=DESC&page=1 But the data not change.. Can you help me?

    $functions = WebAdmin::all(); $grid = new \Datagrid($functions, Request::get('f', []));

    thanks

    opened by xuweisen 2
  • Bump symfony/http-kernel from 5.2.2 to 5.4.6

    Bump symfony/http-kernel from 5.2.2 to 5.4.6

    Bumps symfony/http-kernel from 5.2.2 to 5.4.6.

    Release notes

    Sourced from symfony/http-kernel's releases.

    v5.4.6

    Changelog (https://github.com/symfony/http-kernel/compare/v5.4.5...v5.4.6)

    • bug #45610 Guard against bad profile data (nicolas-grekas)

    v5.4.5

    Changelog (https://github.com/symfony/http-kernel/compare/v5.4.4...v5.4.5)

    • bug #45351 Log section minor fixes (missing "notice" filter, log priority, accessibility) (Amunak)
    • bug #45462 Fix extracting controller name from closures (nicolas-grekas)
    • bug #45424 Fix type binding (sveneld)
    • bug #45302 Fixed error count by log not displayed in WebProfilerBundle (SVillette)

    v5.4.4

    Changelog (https://github.com/symfony/http-kernel/compare/v5.4.3...v5.4.4)

    • no significant changes

    v5.4.3

    Changelog (https://github.com/symfony/http-kernel/compare/v5.4.2...v5.4.3)

    • bug #44634 Fix compatibility with php bridge and already started php sessions (alexander-schranz)

    v5.4.2

    Changelog (https://github.com/symfony/http-kernel/compare/v5.4.1...v5.4.2)

    • bug #44838 Fix enum typed bindings (ogizanagi)
    • bug #44826 Do not attempt to register enum arguments in controller service locator (ogizanagi)
    • bug #44809 relax return type for memory data collector (94noni)
    • bug #44618 Fix SessionListener without session in request (shyim)
    • bug #44518 Take php session.cookie settings into account (simonchrz)
    • bug #44649 fix how configuring log-level and status-code by exception works (nicolas-grekas)

    v5.4.1

    Changelog (https://github.com/symfony/http-kernel/compare/v5.4.0...v5.4.1)

    • bug #44437 Fix wrong usage of SessionUtils::popSessionCookie (simonchrz)
    • bug #44395 fix sending Vary: Accept-Language when appropriate (nicolas-grekas)

    v5.4.0

    Changelog (https://github.com/symfony/http-kernel/compare/v5.4.0-RC1...v5.4.0)

    • no significant changes

    v5.4.0-RC1

    Changelog (https://github.com/symfony/http-kernel/compare/v5.4.0-BETA3...v5.4.0-RC1)

    • no significant changes

    v5.4.0-BETA3

    ... (truncated)

    Changelog

    Sourced from symfony/http-kernel's changelog.

    CHANGELOG

    5.4

    • Add the ability to enable the profiler using a request query parameter, body parameter or attribute
    • Deprecate AbstractTestSessionListener and TestSessionListener, use AbstractSessionListener and SessionListener instead
    • Deprecate the fileLinkFormat parameter of DebugHandlersListener
    • Add support for configuring log level, and status code by exception class
    • Allow ignoring "kernel.reset" methods that don't exist with "on_invalid" attribute

    5.3

    • Deprecate ArgumentInterface
    • Add ArgumentMetadata::getAttributes()
    • Deprecate ArgumentMetadata::getAttribute(), use getAttributes() instead
    • Mark the class Symfony\Component\HttpKernel\EventListener\DebugHandlersListener as internal
    • Deprecate returning a ContainerBuilder from KernelInterface::registerContainerConfiguration()
    • Deprecate HttpKernelInterface::MASTER_REQUEST and add HttpKernelInterface::MAIN_REQUEST as replacement
    • Deprecate KernelEvent::isMasterRequest() and add isMainRequest() as replacement
    • Add #[AsController] attribute for declaring standalone controllers on PHP 8
    • Add FragmentUriGeneratorInterface and FragmentUriGenerator to generate the URI of a fragment

    5.2.0

    • added session usage
    • made the public http_cache service handle requests when available
    • allowed enabling trusted hosts and proxies using new kernel.trusted_hosts, kernel.trusted_proxies and kernel.trusted_headers parameters
    • content of request parameter _password is now also hidden in the request profiler raw content section
    • Allowed adding attributes on controller arguments that will be passed to argument resolvers.
    • kernels implementing the ExtensionInterface will now be auto-registered to the container
    • added parameter kernel.runtime_environment, defined as %env(default:kernel.environment:APP_RUNTIME_ENV)%
    • do not set a default Accept HTTP header when using HttpKernelBrowser

    5.1.0

    • allowed to use a specific logger channel for deprecations
    • made WarmableInterface::warmUp() return a list of classes or files to preload on PHP 7.4+; not returning an array is deprecated
    • made kernels implementing WarmableInterface be part of the cache warmup stage
    • deprecated support for service:action syntax to reference controllers, use serviceOrFqcn::method instead
    • allowed using public aliases to reference controllers
    • added session usage reporting when the _stateless attribute of the request is set to true
    • added AbstractSessionListener::onSessionUsage() to report when the session is used while a request is stateless

    ... (truncated)

    Commits
    • d41f29a Update VERSION for 5.4.6
    • 64d15cd Merge branch '4.4' into 5.4
    • c265924 [HttpKernel] Guard against bad profile data
    • e40dcf8 Bump Symfony version to 5.4.6
    • c770c90 Update VERSION for 5.4.5
    • 9fb7242 Bump Symfony version to 4.4.39
    • 9726dcd Update VERSION for 4.4.38
    • f5e3e4f bug #45351 [WebProfilerBundle] Log section minor fixes (missing "notice" filt...
    • 857c980 [WebProfilerBundle] Log section minor fixes (missing "notice" filter, log pri...
    • 9c92c00 Merge branch '4.4' into 5.4
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump laravel/framework from 8.24.0 to 8.75.0

    Bump laravel/framework from 8.24.0 to 8.75.0

    Bumps laravel/framework from 8.24.0 to 8.75.0.

    Release notes

    Sourced from laravel/framework's releases.

    v8.75.0

    Added

    • Added Illuminate/Support/Testing/Fakes/NotificationFake::assertSentTimes() (667cca8)
    • Added Conditionable trait to ComponentAttributeBag (#39861)
    • Added scheduler integration tests (#39862)
    • Added on-demand gate authorization (#39789)
    • Added countable interface to eloquent factory sequence (#39907, 1638472a, #39915)
    • Added Fulltext index for PostgreSQL (#39875)
    • Added method filterNulls() to Arr (#39921)

    Fixed

    • Fixes AsEncrypted traits not respecting nullable columns (#39848, 4c32bf8)
    • Fixed http client factory class exists bugfix (#39851)
    • Fixed calls to Connection::rollBack() with incorrect case (#39874)
    • Fixed bug where columns would be guarded while filling Eloquent models during unit tests (#39880)
    • Fixed for dropping columns when using MSSQL as database (#39905)

    Changed

    • Add proper paging offset when possible to sql server (#39863)
    • Correct pagination message in src/Illuminate/Pagination/resources/views/tailwind.blade.php (#39894)

    v8.74.0

    Added

    • Added optional except parameter to the PruneCommand (#39749, be4afcc)
    • Added Illuminate/Foundation/Application::hasDebugModeEnabled() (#39755)
    • Added Illuminate/Support/Facades/Event::fakeExcept() and Illuminate/Support/Facades/Event::fakeExceptFor() (#39752)
    • Added aggregate method to Eloquent passthru (#39772)
    • Added undot() method to Arr helpers and Collections (#39729)
    • Added reverse method to Str (#39816)
    • Added possibility to customize type column in database notifications using databaseType method (#39811)
    • Added Fulltext Index (#39821)

    Fixed

    • Fixed bus service provider when loaded outside of the framework (#39740)
    • Fixes logging deprecations when null driver do not exist (#39809)

    Changed

    • Validate connection name before resolve queue connection (#39751)
    • Bump Symfony to 5.4 (#39827)
    • Optimize the execution time of the unique method (#39822)

    v8.73.2

    Added

    • Added Illuminate/Foundation/Testing/Concerns/InteractsWithContainer::forgetMock() (#39713)
    • Added custom pagination information in resource (#39600)

    v8.73.1

    Revert

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump league/flysystem from 1.1.3 to 1.1.4

    Bump league/flysystem from 1.1.3 to 1.1.4

    Bumps league/flysystem from 1.1.3 to 1.1.4.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump laravel/framework from 8.24.0 to 8.40.0

    Bump laravel/framework from 8.24.0 to 8.40.0

    Bumps laravel/framework from 8.24.0 to 8.40.0.

    Release notes

    Sourced from laravel/framework's releases.

    v8.39.0

    Added

    • Added Illuminate\Collections\Collection::sole() method (#37034)
    • Support url for php artisan db command (#37064)
    • Added Illuminate\Foundation\Bus\DispatchesJobs::dispatchSync() (#37063)
    • Added Illuminate\Cookie\CookieJar::expire() (#37072, fa3a14f)
    • Added Illuminate\Database\DatabaseManager::setApplication() (#37068)
    • Added Illuminate\Support\Stringable::whenNotEmpty() (#37080)
    • Added Illuminate\Auth\SessionGuard::attemptWhen() (#37090, e3fcd97)
    • Added password validation rule (#36960)

    Fixed

    • Fixed JsonResponse::fromJasonString() double encoding string (#37076)
    • Fallback to primary key if owner key doesnt exist on model at all in MorphTo relation (a011109)
    • Fixes for PHP 8.1 (#37087, #37101)
    • Do not execute beforeSending callbacks twice in HTTP client (#37116)
    • Fixed nullable values for required_if (#37128, 86fd558)

    Changed

    • Schedule list timezone command (#37117)

    v8.38.0

    Added

    • Added a wordCount() string helper (#36990)
    • Allow anonymous and class based migration coexisting (#37006)
    • Added Illuminate\Broadcasting\Broadcasters\PusherBroadcaster::setPusher() (#37033)

    Fixed

    • Fixed required_if boolean validation (#36969)
    • Correctly merge object payload data in Illuminate\Queue\Queue::createObjectPayload() (#36998)
    • Allow the use of temporary views for Blade testing on Windows machines (#37044)
    • Fixed Http::withBody() not being sent (#37057)

    v8.37.0

    Added

    • Allow to retry jobs by queue name (#36898, f2d9b59, c351a30)
    • Added strings to the DetectsLostConnections.php (4210258)
    • Allow testing of Blade components that return closures (#36919)
    • Added anonymous migrations (#36906)
    • Added Session\Store::missing() method (#36937)
    • Handle concurrent asynchronous requests in the HTTP client (#36948, 245a712)
    • Added tinyText data type to Blueprint and to available database grammars (#36949)
    • Added a method to remove a resolved view engine (#36955)
    • Added Illuminate\Database\Eloquent\Model::getAttributesForInsert() protected method (9a9f59f, 314bf87)

    Fixed

    • Fixed clone() on EloquentBuilder (#36924)

    Changed

    ... (truncated)

    Changelog

    Sourced from laravel/framework's changelog.

    Release Notes for 8.x

    Unreleased

    v8.39.0 (2021-04-27)

    Added

    • Added Illuminate\Collections\Collection::sole() method (#37034)
    • Support url for php artisan db command (#37064)
    • Added Illuminate\Foundation\Bus\DispatchesJobs::dispatchSync() (#37063)
    • Added Illuminate\Cookie\CookieJar::expire() (#37072, fa3a14f)
    • Added Illuminate\Database\DatabaseManager::setApplication() (#37068)
    • Added Illuminate\Support\Stringable::whenNotEmpty() (#37080)
    • Added Illuminate\Auth\SessionGuard::attemptWhen() (#37090, e3fcd97)
    • Added password validation rule (#36960)

    Fixed

    • Fixed JsonResponse::fromJasonString() double encoding string (#37076)
    • Fallback to primary key if owner key doesnt exist on model at all in MorphTo relation (a011109)
    • Fixes for PHP 8.1 (#37087, #37101)
    • Do not execute beforeSending callbacks twice in HTTP client (#37116)
    • Fixed nullable values for required_if (#37128, 86fd558)

    Changed

    • Schedule list timezone command (#37117)

    v8.38.0 (2021-04-20)

    Added

    • Added a wordCount() string helper (#36990)
    • Allow anonymous and class based migration coexisting (#37006)
    • Added Illuminate\Broadcasting\Broadcasters\PusherBroadcaster::setPusher() (#37033)

    Fixed

    • Fixed required_if boolean validation (#36969)
    • Correctly merge object payload data in Illuminate\Queue\Queue::createObjectPayload() (#36998)
    • Allow the use of temporary views for Blade testing on Windows machines (#37044)
    • Fixed Http::withBody() not being sent (#37057)

    v8.37.0 (2021-04-13)

    Added

    • Allow to retry jobs by queue name (#36898, f2d9b59, c351a30)
    • Added strings to the DetectsLostConnections.php (4210258)
    • Allow testing of Blade components that return closures (#36919)
    • Added anonymous migrations (#36906)
    • Added Session\Store::missing() method (#36937)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump laravel/framework from 8.4.0 to 8.22.1

    Bump laravel/framework from 8.4.0 to 8.22.1

    Bumps laravel/framework from 8.4.0 to 8.22.1.

    Release notes

    Sourced from laravel/framework's releases.

    v8.22.1

    v8.22.1 (2021-01-13)

    Fixed

    • Limit expected bindings (#35865)

    v8.22.0

    v8.22.0 (2021-01-12)

    Added

    • Added new lines to DetectsLostConnections (#35752, #35790)
    • Added Illuminate\Support\Testing\Fakes\EventFake::assertNothingDispatched() (#35835)
    • Added reduce with keys to collections and lazy collections (#35839)

    Fixed

    • Fixed error from missing null check on PHP 8 in Illuminate\Validation\Concerns\ValidatesAttributes::validateJson() (#35797)
    • Fix bug with RetryCommand (4415b94, #35828)
    • Fixed Illuminate\Testing\PendingCommand::expectsTable() (#35820)
    • Fixed morphTo() attempting to map an empty string morph type to an instance (#35824)

    Changes

    • Update Illuminate\Http\Resources\CollectsResources::collects() (1fa20dd)
    • "null" constraint prevents aliasing SQLite ROWID (#35792)
    • Allow strings to be passed to the report function (#35803)

    v8.21.0

    v8.21.0 (2021-01-05)

    Added

    • Added command to clean batches table (#35694, 33f5ac6)
    • Added item to list of causedByLostConnection errors (#35744)
    • Make it possible to set Postmark Message Stream ID (#35755)

    Fixed

    • Fixed php artisan db command for the Postgres CLI (#35725)
    • Fixed OPTIONS method bug with use same path and diff domain when cache route (#35714)

    Changed

    • Ensure DBAL custom type doesn't exists in Illuminate\Database\DatabaseServiceProvider::registerDoctrineTypes() (#35704)
    • Added missing dispatchAfterCommit to DatabaseQueue (#35715)
    • Set chain queue when inside a batch (#35746)
    • Give a more meaningul message when route parameters are missing (#35706)
    • Added table prefix to Illuminate\Database\Console\DumpCommand::schemaState() (4ffe40f)
    • Refresh the retryUntil time on job retry (#35780, 45eb7a7)

    v8.20.1

    v8.20.1 (2020-12-22)

    Revert

    ... (truncated)

    Changelog

    Sourced from laravel/framework's changelog.

    v8.22.1 (2021-01-13)

    Fixed

    • Limit expected bindings (#35865)

    v8.22.0 (2021-01-12)

    Added

    • Added new lines to DetectsLostConnections (#35752, #35790)
    • Added Illuminate\Support\Testing\Fakes\EventFake::assertNothingDispatched() (#35835)
    • Added reduce with keys to collections and lazy collections (#35839)

    Fixed

    • Fixed error from missing null check on PHP 8 in Illuminate\Validation\Concerns\ValidatesAttributes::validateJson() (#35797)
    • Fix bug with RetryCommand (4415b94, #35828)
    • Fixed Illuminate\Testing\PendingCommand::expectsTable() (#35820)
    • Fixed morphTo() attempting to map an empty string morph type to an instance (#35824)

    Changes

    • Update Illuminate\Http\Resources\CollectsResources::collects() (1fa20dd)
    • "null" constraint prevents aliasing SQLite ROWID (#35792)
    • Allow strings to be passed to the report function (#35803)

    v8.21.0 (2021-01-05)

    Added

    • Added command to clean batches table (#35694, 33f5ac6)
    • Added item to list of causedByLostConnection errors (#35744)
    • Make it possible to set Postmark Message Stream ID (#35755)

    Fixed

    • Fixed php artisan db command for the Postgres CLI (#35725)
    • Fixed OPTIONS method bug with use same path and diff domain when cache route (#35714)

    Changed

    • Ensure DBAL custom type doesn't exists in Illuminate\Database\DatabaseServiceProvider::registerDoctrineTypes() (#35704)
    • Added missing dispatchAfterCommit to DatabaseQueue (#35715)
    • Set chain queue when inside a batch (#35746)
    • Give a more meaningul message when route parameters are missing (#35706)
    • Added table prefix to Illuminate\Database\Console\DumpCommand::schemaState() (4ffe40f)
    • Refresh the retryUntil time on job retry (#35780, 45eb7a7)

    v8.20.1 (2020-12-22)

    Revert

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • data-* attributes not recognized?

    data-* attributes not recognized?

    In the example the destroy/delete link has the data-method=DELETE attribute and data-confirm attribute set. Apparently these are not used when embedding the gridview in a plain blade template.

    Is this as intended and do I need to add the relevant Javascript from somewhere else or did I miss a requirement in my composer.json?

    opened by squio 1
Releases(2.0.1)
Owner
Atanas Ginev
Web Developer
Atanas Ginev
⚡ Laravel Charts — Build charts using laravel. The laravel adapter for Chartisan.

What is laravel charts? Charts is a Laravel library used to create Charts using Chartisan. Chartisan does already have a PHP adapter. However, this li

Erik C. Forés 31 Dec 18, 2022
Laravel Kickstart is a Laravel starter configuration that helps you build Laravel websites faster.

Laravel Kickstart What is Laravel Kickstart? Laravel Kickstart is a Laravel starter configuration that helps you build Laravel websites faster. It com

Sam Rapaport 46 Oct 1, 2022
Laravel User Activity Log - a package for Laravel 8.x that provides easy to use features to log the activities of the users of your Laravel app

Laravel User Activity Log - a package for Laravel 8.x that provides easy to use features to log the activities of the users of your Laravel app

null 9 Dec 14, 2022
Laravel Segment is an opinionated, approach to integrating Segment into your Laravel application.

Laravel Segment Laravel Segment is an opinionated, approach to integrating Segment into your Laravel application. Installation You can install the pac

Octohook 13 May 16, 2022
Laravel Sanctum support for Laravel Lighthouse

Lighthouse Sanctum Add Laravel Sanctum support to Lighthouse Requirements Installation Usage Login Logout Register Email Verification Forgot Password

Daniël de Wit 43 Dec 21, 2022
Bring Laravel 8's cursor pagination to Laravel 6, 7

Laravel Cursor Paginate for laravel 6,7 Installation You can install the package via composer: composer require vanthao03596/laravel-cursor-paginate U

Pham Thao 9 Nov 10, 2022
A package that uses blade templates to control how markdown is converted to HTML inside Laravel, as well as providing support for markdown files to Laravel views.

Install Install via composer. $ composer require olliecodes/laravel-etched-blade Once installed you'll want to publish the config. $ php artisan vendo

Ollie Codes 19 Jul 5, 2021
A light weight laravel package that facilitates dealing with arabic concepts using a set of classes and methods to make laravel speaks arabic

A light weight laravel package that facilitates dealing with arabic concepts using a set of classes and methods to make laravel speaks arabic! concepts like , Hijri Dates & Arabic strings and so on ..

Adnane Kadri 49 Jun 22, 2022
Jetstrap is a lightweight laravel 8 package that focuses on the VIEW side of Jetstream / Breeze package installed in your Laravel application

A Laravel 8 package to easily switch TailwindCSS resources generated by Laravel Jetstream and Breeze to Bootstrap 4.

null 686 Dec 28, 2022
Laravel Jetstream is a beautifully designed application scaffolding for Laravel.

Laravel Jetstream is a beautifully designed application scaffolding for Laravel. Jetstream provides the perfect starting point for your next Laravel application and includes login, registration, email verification, two-factor authentication, session management, API support via Laravel Sanctum, and optional team management.

The Laravel Framework 3.5k Jan 8, 2023
Laravel Larex lets you translate your whole Laravel application from a single CSV file.

Laravel Larex Translate Laravel Apps from a CSV File Laravel Larex lets you translate your whole Laravel application from a single CSV file. You can i

Luca Patera 68 Dec 12, 2022
A Laravel package that adds a simple image functionality to any Laravel model

Laraimage A Laravel package that adds a simple image functionality to any Laravel model Introduction Laraimage served four use cases when using images

Hussein Feras 52 Jul 17, 2022
A Laravel extension for using a laravel application on a multi domain setting

Laravel Multi Domain An extension for using Laravel in a multi domain setting Description This package allows a single Laravel installation to work wi

null 658 Jan 6, 2023
Example of using abrouter/abrouter-laravel-bridge in Laravel

ABRouter Laravel Example It's a example of using (ABRouter Laravel Client)[https://github.com/abrouter/abrouter-laravel-bridge] Set up locally First o

ABRouter 1 Oct 14, 2021
Laravel router extension to easily use Laravel's paginator without the query string

?? THIS PACKAGE HAS BEEN ABANDONED ?? We don't use this package anymore in our own projects and cannot justify the time needed to maintain it anymore.

Spatie 307 Sep 23, 2022
Laravel application project as Sheina Online Store backend to be built with Laravel and VueJS

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Boas Aditya Christian 1 Jan 11, 2022
Postgis extensions for laravel. Aims to make it easy to work with geometries from laravel models.

Laravel Wrapper for PostgreSQL's Geo-Extension Postgis Features Work with geometry classes instead of arrays. $model->myPoint = new Point(1,2); //lat

Max 340 Jan 6, 2023
laravel - Potion is a pure PHP asset manager for Laravel 5 based off of Assetic.

laravel-potion Potion is a pure PHP asset manager for Laravel based off of Assetic. Description Laravel 5 comes with a great asset manager called Elix

Matthew R. Miller 61 Mar 1, 2022
Llum illuminates your Laravel projects speeding up your Github/Laravel development workflow

Llum illuminates your Laravel projects speeding up your Github/Laravel development workflow

Sergi Tur Badenas 110 Dec 25, 2022