Coder Social home page Coder Social logo

marcodpt / vue-tmx Goto Github PK

View Code? Open in Web Editor NEW
13.0 4.0 4.0 2.56 MB

Vue json based table with bootstrap3

Home Page: https://marcodpt.github.io/vue-tmx

License: MIT License

JavaScript 1.51% HTML 2.74% Vue 95.74%
vue bootstrap3 table component json filter sort aggregate pagination

vue-tmx's Introduction

vue-tmx

Vue json based table with bootstrap3
Live Demo

  • very easy to use, ready out of the box
  • filters
  • checkbox
  • aggregations like sum, avg, min, max
  • pagination
  • group by
npm install --save vue-tmx

Usage

  import Vue from 'vue'
  import tmx from 'vue-tmx'

  new Vue({
    components: {
      tmx: tmx,
      modal: modal,
    },
    data: {
      table: [/*My amazing data*/]
    }
  }).$mount('#app')

You must use with bootstrap3 css, or send a pull request with other frameworks :)

  <tmx :data="table" />

With modals

  import {modal} from 'vue-transform'
  <modal /> 

modal tag only one time in your app in any place

Props

  • data
    • type: Array
    • default: none
    • description: if nothing is passed it will display loading icon, otherwise table data
  • fields
    • type: Array
    • default: none
    • description: Field description, if nothing is passed it will deduce based on your data
    • items (object):
      • id
        • type: String
        • default: ''
        • description: Field key inside the data json
      • label
        • type: String
        • default: use same than id
        • description: Field label
      • format
        • type: String
        • default: string
        • description: boolean, integer, number, date, string
      • icon
        • type: String
        • default: ''
        • description: One of vue-awesome icons
      • button
        • type: String
        • default: ''
        • description: One of bootstrap3 buttons types, like success, danger, warning, ...
      • click
        • type: Function
        • default: none
        • description: button click method
      • static
        • type: Boolean
        • default: true
        • description: Field should be static or contain an input?
  • sort
    • type: Boolean
    • default: false
    • description: is sortable?
  • rows
    • type: Number
    • default: 0
    • description: Rows per page, 0 means without pagination
  • search
    • type: Boolean
    • default: false
    • description: is search bar visible?
  • filter
    • type: Boolean
    • default: false
    • description: is filter button visible?
  • group
    • type: Boolean
    • default: false
    • description: is group button visible?
  • aggregate
    • type: Boolean
    • default: false
    • description: is aggregations visible?
  • download
    • type: Object
    • default: none
    • description: Download button info, if nothing passed no download button will be shown
    • props:
      • json
        • type: Boolean
        • default: false
        • description: false means type = csv, true means type = json
      • ident
        • type: Number
        • default: 2
        • description: Identation for json
      • field
        • type: String
        • default: \t
        • description: Field separator on csv
      • line
        • type: String
        • default: \n
        • description: New line on csv
      • header
        • type: Boolean
        • default: true
        • description: Show header on csv
      • file
        • type: String
        • default: download
        • description: file name on download
  • methods
    • type: Array
    • default: []
    • description: Array of user defined methods
    • items (object):
      • button
        • type: String
        • default: ''
        • description: One of bootstrap3 buttons types, like success, danger, warning, ...
      • icon
        • type: String
        • default: ''
        • description: vue-awesome icon
      • label
        • type: String
        • default: ''
        • description: Button label
      • click
        • type: Function
        • default: none
        • description: on click function
  • icon
    • type: String
    • default: ''
    • description: vue-awesome icon before table title
  • label
    • type: String
    • default: ''
    • description: table title

Contribute

We need help! Our goals are:

  • Separate classes and styles in order to add more css frameworks
  • Change props api in order to correctly support other css frameworks
  • Add more css frameworks like bootstrap4, bulma and foundation
  • Separate as plugin functions like sort, filter, group, etc
  • More language support
  • Add tests
  • More usage examples and better home page
  • Add support to most browsers

vue-tmx's People

Contributors

marcodpt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.