Skip to content

LinkedInAttic/Backbone.TableView

Repository files navigation

Backbone.TableView

Backbone View to render collections as tables. Currently it is targeted at bootstrap users, in the future it will be more css agnostic.

How To Use

Subclass TableView and add column definitions. Optionaly you can add a title, a search bar, pagination, and any number of filters (see supported filters below):

class UserTableView extends Backbone.TableView
    title: "My Users Table"
    columns:
        name:
            header: "My Name"
        type:
            header: "Type"
        last_login:
            header: "Last Login Time"
            draw: (model) ->
                new Date(model.get "time")
    pagination: true
    search:
        query: "name"
        detail: "Search by Name"
    filters:
        from:
            type: "input"
            className: "date"
            init: new Date()
            get: (val) ->
                ... process the date val ...
        my_button:
            type: "button"
        status:
            type: "option"
            options: ["all", "valid", "invalid"]

Use it as any other Backbone View, either setting the "el" property at creation, or letting backbone create if for you, eg (Users is a regular backbone collection):

user_table = new UserTableView collection: new Users()
$("#somewhere").html user_table.render().el

License

Apache Public License (APL) 2.0

Author

Juan Pablo Bottaro - https://github.com/jpbottaro

Demo

http://jsfiddle.net/jpbottaro/u7zQT/

Thanks

This was initialy inspired by the project https://github.com/jsvine/Backbone.Table

About

Backbone View to render collections as tables

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published