All Projects → jamesdordoy → laravel-vue-datatable

jamesdordoy / laravel-vue-datatable

Licence: MIT license
Vue.js Datatable made for Laravel

Programming Languages

Vue
7211 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
typescript
32286 projects
shell
77523 projects

Projects that are alternatives of or similar to laravel-vue-datatable

Ssp
Customized Server Side Processing (SSP) Class For Datatables Library
Stars: ✭ 101 (-33.99%)
Mutual labels:  datatables
Datatables Bundle
DataTables bundle for Symfony
Stars: ✭ 142 (-7.19%)
Mutual labels:  datatables
Datatables
PHP Library to handle server-side processing for Datatables, in a fast and simple way.
Stars: ✭ 185 (+20.92%)
Mutual labels:  datatables
Django Jinja Knockout
Django datatables and widgets, both AJAX and traditional. Display-only ModelForms. ModelForms / inline formsets with AJAX submit and validation. Works with Django templates.
Stars: ✭ 116 (-24.18%)
Mutual labels:  datatables
Bootstrap Table
An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation, Vue.js)
Stars: ✭ 11,068 (+7133.99%)
Mutual labels:  datatables
Material Ui Datatables
An another React Data tables component.
Stars: ✭ 163 (+6.54%)
Mutual labels:  datatables
Datatable
Javascript Plugin for data tables creation
Stars: ✭ 97 (-36.6%)
Mutual labels:  datatables
Django Rest Framework Datatables
Seamless integration between Django REST framework and Datatables.
Stars: ✭ 241 (+57.52%)
Mutual labels:  datatables
Sqlalchemy Datatables
SQLAlchemy integration of jQuery DataTables >= 1.10.x (Pyramid and Flask examples)
Stars: ✭ 136 (-11.11%)
Mutual labels:  datatables
Mvc.jquery.datatables
ASP MVC Helpers for connecting IQueryables with the amazing DataTables.net plugin
Stars: ✭ 179 (+16.99%)
Mutual labels:  datatables
Vue Datatables Net
Vue jQuery DataTables.net wrapper component
Stars: ✭ 119 (-22.22%)
Mutual labels:  datatables
Jupyter Datatables
Jupyter Notebook extension leveraging pandas DataFrames by integrating DataTables and ChartJS.
Stars: ✭ 127 (-16.99%)
Mutual labels:  datatables
Mui Datatables
Datatables for React using Material-UI - https://www.material-ui-datatables.com
Stars: ✭ 2,246 (+1367.97%)
Mutual labels:  datatables
Angular Datatables
DataTables with Angular
Stars: ✭ 1,518 (+892.16%)
Mutual labels:  datatables
Laravel Datatables Html
Laravel DataTables HTML Builder Plugin
Stars: ✭ 188 (+22.88%)
Mutual labels:  datatables
Data tables
Data Tables for Flutter
Stars: ✭ 100 (-34.64%)
Mutual labels:  datatables
Bovespastockratings
Crawler for Fundamental analysis platform for BOVESPA stocks, generating a score for each share according to the selected criteria on the indicators.
Stars: ✭ 154 (+0.65%)
Mutual labels:  datatables
powergrid-demo
⚡ PowerGrid fully configured in a Laravel project.
Stars: ✭ 38 (-75.16%)
Mutual labels:  datatables
Laravel Datatables Buttons
jQuery DataTables Buttons Plugin for Laravel.
Stars: ✭ 192 (+25.49%)
Mutual labels:  datatables
Company Website Pro
现代公司企业官网以及电子商务产品网站
Stars: ✭ 172 (+12.42%)
Mutual labels:  datatables

Build Status npm Downloads

Laravel Vue Datatable

A Vue.js datatable component for Laravel that works with Bootstrap & Tailwind by default.

Requirements

Demo & Docs

See https://jamesdordoy.github.io/laravel-vue-datatable/

Example

Image description

Laravel Package Installation

See details https://github.com/jamesdordoy/Laravel-Vue-Datatable_Laravel-Package

Component Installation

npm install laravel-vue-datatable

or

yarn add laravel-vue-datatable

Register the Plugin

import DataTable from 'laravel-vue-datatable';

Vue.use(DataTable);

Basic Example

UserDatatable.vue

<data-table
    :columns="columns"
    url="http://example.test/example">
</data-table>
export default {
    data() {
        return {
            columns: [
                {
                    label: 'ID',
                    name: 'id',
                    orderable: true,
                },
                {
                    label: 'Name',
                    name: 'name',
                    orderable: true,
                },
                {
                    label: 'Email',
                    name: 'email',
                    orderable: true,
                },
            ]
        }
    },
}

API

Datatable Props

Name Type Default Description
url String "/" The JSON url
columns Array [] The table columns
order-by String "id" (optional) The default column to order your data by
order-dir String "asc" (optional) The default order by direction
per-page Array ['10','25','50'] (optional) Amount to be displayed
theme String "light" (optional) Must be dark or light
framework String "bootstrap" (optional) Must be bootstrap or tailwind
debounce-delay Number 0 (optional) Adds a debounce delay to the get request when searching
classes Object See Below (optional) Table classes
translate Object { nextButton: 'Next', previousButton: 'Previous', placeholderSearch: 'Search Table'} (optional) used to overwrite the default pagination button text and search input placeholder
pagination Object {} (optional) props for tailable/pagination
add-filters-to-url Boolean false (optional) Will adjust the current url to keep track of used filters and will also store them in local storage.
headers Object {} Additional headers to pass route e.g. bearer token

Default Table Classes

{
    "table-container": {
        "table-responsive": true,
    },
    "table": {
        "table": true,
        "table-striped": true,
        "table-dark": true,
    },
    "t-head": {

    },
    "t-body": {
        
    },
    "t-head-tr": {

    },
    "t-body-tr": {
        
    },
    "td": {

    },
    "th": {
        
    },
}

Column Props

Name Type Default Description
label String "" The table column label to be displayed as the column heading
name String "" The table column header name. You can also access nested properties e.g. a query using a with relationship using the dot notation.
columnName String "" (optional) The backend column name if the provided data keys do not match with the backend database. It may also be required to prefix the column name with the table name e.g. users.name to avoid issues with Integrity constraint violation when joining tables
width Number 0 (optional) The table column width
orderable Boolean false (optional) Is the column orderable in the datatable
component Component null (optional) A dynamic component that can be injected
event String "" (optional) Event type to parse to the component e.g. click, focus etc.
handler Function () => {} (optional) Callback function to parse for the event handler
transform Function () => {} (optional) Callback function to parse to manipulate the result. e.g. add currency symbol
classes Object {} (optional) Component classes to parse
meta Object {} (optional) Additional values that are parsed to component

Reloading the table manually

If updates have been made to your dataset and you need to reload the table, you can attach a ref to the table. Once the Vue.JS reference is attached, you are able to access the underlining methods of the component including the getData method.

Alternatively, if you have custom filters applied and you would prefered they are retained, any adjustment to the url the table uses as a prop will reload the table.

Further Examples

See https://jamesdordoy.github.io/laravel-vue-datatable/ for more examples.

Development

To work on the package locally or to add to the documentation, run the following command:

npm run serve

To deploy documentation to GitHub under a PR. Please run the following after uncommenting the outputDir line in the vue.config.js file:

npm run build-docs

To run the tests:

npm run test
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].