Skip to content

Table/Cards views using D3.js for animated transitions on sorting and changing view.

License

Notifications You must be signed in to change notification settings

samjco/d3-table-cards

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

D3-Table-Cards · GitHub license npm version

Example of using D3.js for transformations between table view and cards view, and transitions while sorting elements or resizing the browser.

Check out the demo.

screenshot

This code uses HTML (with absolute positioning) rather than SVG, and has no dependencies beside D3.js.

The table and cards layouts are configurable.

const layoutInfo = {
	table: {
		// row position & size
		top: (d, i) => 40+i*31+'px',
		left: '0px',
		height: '30px',
		width: '594px',
		// row border-radius
		radius: 0,
		// table header
		headerOpacity: 1,
		headerLeft: '0px',
		// column 1
		c1Top: '5px',
		c1Left: '8px',
		c1FontSize: '16px',
		// column 2
		c2Top: '5px',
		c2Left: '200px',
	},
	cards: {
		// card position & size
		top: (d, i) => Math.floor(i/cardsPerRow)*94+'px',
		left: (d, i) => (i%cardsPerRow)*210+'px',
		height: '84px',
		width: '200px',
		// card border-radius
		radius: '4px',
		// table header (hidden)
		headerOpacity: 0,
		headerLeft: '-650px',
		// line 1
		c1Top: '10px',
		c1Left: '10px',
		c1FontSize: '18px',
		// line 2
		c2Top: '38px',
		c2Left: '10px',
	}
};

Note: The same result can also be achieved using CSS transitions instead of D3.

(c) 2020 Olivier Giulieri, MIT license.

About

Table/Cards views using D3.js for animated transitions on sorting and changing view.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 49.1%
  • HTML 28.9%
  • CSS 22.0%