ractive-grid-list
v1.1.2
Published
A ractive component for displaying a grid of squares from an arbitrary list
Downloads
3
Maintainers
Readme
ractive-grid-list
A ractive component for displaying a grid of squares from an arbitrary list. Shows just the number of rows and columns as are specified and guarantees the items to be square and evenly distributed upon resizing.
Installing
Works with browserify. You can build a standalone bundle yourself if that's something that's needed.
npm install --save ractive-grid-list
Example
index.js
var Ractive = require("ractive");
var fs = require("fs");
// Register the components with Ractive
require("ractive-swipe-pages");
var template = fs.readFileSync(__dirname + "/template.html", "utf8");
new Ractive({
el: document.querySelector("main"),
template: template,
data: {
items: [{
name: "Alice"
}, {
name: "Bob"
}, {
name: "Carol"
}, {
name: "Dave"
}, {
name: "Eve"
}, {
name: "Faythe"
}
}
});
template.html
<RMGrid gridItems="{{items}}" gridRows="2" gridColumns="3">
<div>
{{name}}
</div>
</RMGrid>
Usage
Pass in the list of gridItems
to the RMGrid
component and it'll automatically iterate through them and render out perfect squares with your content. The content within the component will be called for each item to form the boxes. Your content should automagically stretch to fill the square, so feel free to style it and make it look pretty.
You can specify the number of gridRows
and gridColumns
to use for rendering the grid. If you have more or fewer items in your list than can fit in the grid, those items will be ignored.
You can set gridRows
to "scroll"
to have it automatically scroll vertically for you while maintaining the same number of columns.
You can also specify a gridClass
to apply on the grid's container if you want to add additional styles to it. Try not to mess with flexbox/padding settings since that can mess up the layout.