aaix/laravel-islands-datagrid

A server-driven data table for Laravel Islands: one composable and one shell for fetching, sorting, filtering and paginating, so every table in an application shares the same foundation.

Maintainers

Package info

github.com/jonaaix/laravel-islands-datagrid

Language:Vue

pkg:composer/aaix/laravel-islands-datagrid

Transparency log

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.6 2026-08-14 12:27 UTC

This package is auto-updated.

Last update: 2026-08-14 12:30:47 UTC


README

Laravel Islands DataGrid Logo

Laravel Islands DataGrid

Server-driven data tables for Laravel Islands. One composable for state, one shell for chrome — every table shares the same foundation instead of copying it.

Latest Version on Packagist Total Downloads License

Framework-agnostic core with a Vue adapter today. useDataTable owns the state — fetching, sorting, filtering, pagination, debounced search, query-string sync. <DataTable> owns the chrome — toolbar, header, skeleton, empty state, pagination. Columns and rows stay in your island, where they belong.

composer require aaix/laravel-islands-datagrid
<script setup>
import { DataTable, useDataTable } from '@aaix/laravel-islands-datagrid/vue';

const { rows, meta, state, loading, error, goToPage, setPerPage, reload, fetchData } =
    useDataTable('/api/products', {
        defaults: { q: '', sort: 'created_at', dir: 'desc', page: 1, perPage: 30 },
    });

onMounted(() => fetchData());
</script>

<template>
    <DataTable
        :rows="rows"
        :meta="meta"
        :per-page="state.perPage"
        :col-count="3"
        :loading="loading"
        :error="error"
        @retry="reload()"
        @page-change="goToPage"
        @per-page-change="setPerPage"
    >
        <template #head>
            <th>SKU</th>
            <th>Name</th>
            <th>Created</th>
        </template>
    </DataTable>
</template>

Documentation

Full guide and API reference: jonaaix.github.io/laravel-islands-datagrid

License

MIT