Skip to content

cxn-astracz/angular-table-resize

 
 

Repository files navigation

angular-table-resize

An AngularJS module for resizing table columns!

Demo

You can try out a demo by clicking here. You can also use the demo as an example for implementing the module on your own page. The source can be found in the gh-pages branch

Installation

Bower

bower install angular-table-resize

NPM

npm install angular-table-resize

Setup

Link style sheets

<link rel="stylesheet" href="/angular-table-resize.min.css">

Import dependencies

<script src="/jquery/dist/jquery.min.js"></script>
<script src="/angular/angular.js"></script>

Import the Angular module

<script src="/angular-table-resize.min.js"></script>

Use

Make sure your app imports the module

angular.module('myApplication', ['ngTableResize']);

On a HTML table tag put the resizeable directive

<table resizeable mode="resizeMode" id="myTable">
    ...
</table>

The attribute mode references a variable on the controller, specifying the current resizing mode. In the example above this variable could be

$scope.resizeMode = "BasicResizer"

Saving column sizes

The module automatically saves the current column width to localStorage. This however requires that you supply your <table> with an id and all of your table headers <th> with and id as well.

Resizing Modes

The resize mode can be set to any of these modes. Choose the one that works best for you.

Resize Mode Description
BasicResizer Only the two adjecent cell are resized when dragging a handler. Cell widths are always in percentage
FixedResizer First columns is width auto. Subsequent column sizes are never changed after resizing
OverflowResizer Table may expand out of its container, adding scrollbars. Columns are always the same size after resizing

N.B. You can implement your own resizer model to use with the module. Instructions coming soon.

About

An AngularJS module for resizing table columns!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.2%
  • CSS 1.8%