@stacksjs/tables

The easy & modern way to work with tables. Facet filtering, searching, pagination, ...
1,735
Install
npm install @stacksjs/tables
Latest Version:0.59.11
Vue:2 · 3
License:MIT
Last Updated:Mar 8, 2024
Links: npm
Maintainer: chrisbreuer

Table Stack

The easy & modern way to work with tables of any size. Blazing-fast searching, filtering, sorting, and paginating. Powered by your search engine of choice. Kick-start the development of a feature-rich & configurable table UI, including a beautiful default UX.

🐙 Features

This Vue component library comes with the following features, improvements to the table element:

  • <table-v2 />
    • quickly spin up a highly-configurable table UI without worrying about the backend
    • "facet-filtering" & "table head sorting" natively built-in
    • Meilisearch & Laravel Scout API compatible
    • Enterprise-ready
    • Soon: Algolia & Typesense integration

Get granular control over the table appearance & behavior, with the following (optional) components:

  • <table-search />

    • configure your search input for blazing fast search results
  • <table-filters />

    • overwrite the default display of your table's filters
  • <table-pagination />

    • easily configure the pagination of your table
  • <table-configure />

    • simple way to configure the table in HTML semantic fashion

Read more about these features in their respective docs.

💡 Get Started

To get started, you simply need to install the @stacksjs/table-vue npm package.

npm install @stacksjs/table-vue
bun add @stacksjs/table-vue

Next up, we need to make use of the components.

<script setup>
import { Table as TableV2 } from 'table-vue'
</script>

<template>
  <!-- the `type`-property indicates to to the search engine the "index" you want to target -->
  <TableV2 type="movies" />

  <!-- these are the default properties (all of them are optional)  -->
  <TableV2
    source="127.0.0.1:7700"
    columns="*"
    :searchable="true"
    :filterable="true"
    :sortable="true"
    :actionable="true"
    :selectable="false"
    :per-page="20"
  />

  <!-- another "data table" example -->
  <TableV2
    source="127.0.0.1:7700"
    password="NtUvZv5Q87e355b807622149c350ac38679645b4e2603a1d3eb48cda080f977e76329aeb"
    type="orders"
    columns="id: Order, customer_name: Customer, customer_po: PO#, part_name: Part, created_at: Ordered, due_at: Due, stage_name: Status"
    sort="id:desc"
    sorts="id, customer_name, customer_po, part_name, stage_name, due_at, created_at"
    filters="customer_name, vendor_name, part_name, document_types"
    actions="Edit"
    per-page="10"
    selectable="true"
  />
</template>

To learn more about what's possible & how to best build modern data tables, check out our documentation.

🧪 Testing

yarn test

📈 Changelog

Please see our releases page for more information on what has changed recently.

🚜 Contributing

Please see CONTRIBUTING for details.

🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

Table Elements on GitHub

For casual chit-chat with others using this package:

Join the Open Web Discord Server

📄 License

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

Made with 💙 by Open Web Labs.

Related Packages

@kriptiko/vue-table

Vue table component for rendering server-side data.

1,270 1
li-grid

Lightweight Vue 3 data grid with server-side filtering, sorting, pagination, col...

346 0
survey-vue3-ui

survey.js is a JavaScript Survey Library. It is a modern way to add a survey to...

525,880 4,915
survey-vue

survey.js is a JavaScript Survey Library. It is a modern way to add a survey to...

419,342 4,911
survey-vue-ui

survey.js is a JavaScript Survey Library. It is a modern way to add a survey to...

55,237 4,911

Version History

Version Released License
0.59.11 MIT
0.59.10 MIT
0.59.9 MIT
0.59.8 MIT
0.59.7 MIT