var graph = new joint.dia.Graph;
var paper = new joint.dia.Paper({
el: $('#paper'),
width: 650,
height: 400,
gridSize: 10,
drawGrid: {
color: 'red',
thickness: 1,
// grid shape element
markup: 'path',
// refresh grid element attributes on change (like paper scale change, gridSize change etc.)
/**
* @param el Grid element, it's the reference to element defined by the drawGrid.markup
* @param opt drawgrid extended with some useful stuff like current paper transformations, actual grid size
*/
update: function(el, opt) {
var d;
// actual grid size (defined by paper.options.gridSize, scaled according to paper scale)
var width = opt.width;
var height = opt.height;
var thickness = opt.thickness;
if (width - thickness >= 0 && height - thickness >= 0) {
d = ['M', width, 0, 'H0'].join(' ');
} else {
d = 'M 0 0 0 0';
}
V(el).attr({ 'd': d, stroke: opt.color, 'stroke-width': opt.thickness });
}
},
model: graph
});