• Stars
    star
    115
  • Rank 305,916 (Top 7 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 8 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A feature-rich table component built with angular.

ngx super table

Gitter.im Chat Build Status npm version devDependency Status GitHub issues GitHub stars GitHub license All Contributors

A table component built in angular with the following features:

  • row virtualization
  • row sorting (stackable)
  • cell formatting (text)
  • custom cell component
  • column resizing
  • column-based filtering
    • string
    • number
    • enum
    • custom

ngx super table screenshot

Note: This project was formerly named ng2-super-table.

Demo

https://andyperlitch.github.io/ngx-super-table/demo/

Table of contents

About

A table component for Angular projects

Installation

  • Install using npm or yarn

NB: Please, keep in mind that the master branch may contain code not published to npmjs.org yet!

npm install --save ngx-super-table
# yarn add ngx-super-table
  • Add SuperTableModule to AppModule
import { SuperTableModule } from 'ngx-super-table';
import { AppComponent } from './app.component';

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, FormsModule, SuperTableModule],
  bootstrap: [AppComponent]
})
export class AppModule { }
  • Then use it in your app like so:
import { Component } from '@angular/core';
import { SuperTable, SuperTableColumn } from 'ngx-super-table';

@Component({
  selector: 'demo-app',
  template: `<super-table
    [rows]="rows"
    [columns]="columns"
    [options]="options">
  </super-table>`
})
export class DemoApp {
  rows = [
    { name: 'thing1', age: 7 },
    { name: 'thingx', age: 7 },
    { name: 'cat', age: 10 },
    { name: 'fish', age: 1 },
  ];
  columns: SuperTableColumn[] = [
    {
      id: 'name',
      key: 'name',
      label: 'Name'
    },
    {
      id: 'age',
      key: 'age',
      label: 'Age'
    }
  ];
  options = {};
}

Note: The I prefix was removed from interfaces

Please view the demo source for a much more feature-complete example.

Usage without a module bundler

Use node_modules/ngx-super-table/index.umd.js

Documentation

All documentation is auto-generated from the source via typedoc and can be viewed here:

https://andyperlitch.github.io/ngx-super-table/doc/

Development

This project was generated with Angular CLI version 1.0.0-rc.2.

Prepare your environment

  • Install Node.js and NPM (should come with)
  • Install local dev dependencies: npm install while current directory is this repo

Development server

To build the ngx-super-table package run yarn build:lib To compile the test app with the built version of ngx-super-table run: yarn start --app 1

Then navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files. You will have to run yarn build:lib anytime you make changes to the library in order to see those changes in the test app.

Code scaffolding

Run ng g c component-name --app 2 to generate a new component for ngx-super-table.

You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the -prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor. Before running the tests make sure you are serving the app via ng serve.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.

Release

  • Bump the version in src/lib/package.json (once the module hits 1.0 this will become automatic)
npm run release

TODO

  • row virtualization
  • column resizing
  • row sorting (stacked, via columns)
  • cell formatting (text)
  • custom cell component
  • column-based filtering
    • string
    • number
    • enum
    • custom
    • formatted string
  • hiding/showing columns

License

MIT

Contributors

Thanks goes to these wonderful people (emoji key):


Andy Perlitch

💬 💻 🎨 📖 💡 🤔 👀

Chris McKnight

💻 🎨 📖 💡 🤔 🚇 👀 🔧

This project follows the all-contributors specification. Contributions of any kind welcome!

More Repositories

1

jsbn

The jsbn library is a fast, portable implementation of large-number math in pure JavaScript, enabling public-key crypto and other applications on desktop and mobile browsers.
JavaScript
167
star
2

angularjs-table

A table component built with angular (1.x) that is catered to real-time data.
JavaScript
33
star
3

typeroots-fail

Illustrates proper setup of typeRoots for custom declaration files
TypeScript
22
star
4

ngx-d3-tooltip

Add tooltips to your d3 visualizations using Angular Components.
TypeScript
4
star
5

d3-layout-circle-graph

A d3 layout generator for visualizing a graph using a circle of nodes and chords connecting them.
JavaScript
3
star
6

stonks

STONKS
TypeScript
3
star
7

bland-chart

An SVG charting module that uses Raphael.js for rendering and Backbone for code organization
JavaScript
2
star
8

node-github2cocoon

Express.js middleware to use a github repository/branch as a zip file endpoint for the CocoonJS Launcher.
JavaScript
2
star
9

bobs-tree

A tool for storing and viewing genealogical data. Love you grandpa bob!
JavaScript
1
star
10

malhar-ui-console-2

Malhar UI Console
JavaScript
1
star
11

tabled

Backbone UI component for building interactive tables.
JavaScript
1
star
12

angular-jsbn-big-integer

BigInteger class from Tom Wu's jsbn library, as an angular service.
JavaScript
1
star
13

skills-barchart

A horizontal bar chart for visualizing skills in different categories, where the x-axis is novice-proficient-advanced-expert. Great for resumes!
TypeScript
1
star
14

backbone-set-event

Triggers an event on backbone collections when Collection.set() is called
JavaScript
1
star
15

The-Bland-Framework

A work-in-progress PHP framework, based on Kohana with less statics and globals.
JavaScript
1
star
16

shadcn-redwood-example

Example setup of shadcn-ui in a RedwoodJS Project
TypeScript
1
star