selectAll objects in fabricjs

programmatically

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.4.0/fabric.min.js"></script>
<canvas id="paper" width="400" height="400" style="border:1px solid #ccc"></canvas>

<button id="select">Selection mode</button>
<button id="draw">Drawing mode</button>
<button id="selectAll">Select All</button>
<button id="rotate">Rotate</button>

JavaScript

var canvas = new fabric.Canvas('paper', { isDrawingMode: true });
$("#select").click(function(){
    canvas.isDrawingMode = false;
});
$("#draw").click(function(){
    canvas.isDrawingMode = true;
});
$("#selectAll").click(function(){
    canvas.isDrawingMode = false;
    selectAllCanvasObjects();
});
$('#rotate').click(function(){
	canvas.isDrawingMode = false;
});

// Adding objects to the canvas...

// adding text
var text = new fabric.Text('Text inside canvas', { 
  left: 40, 
  top: 50 
});
text.hasRotatingPoint = true;
canvas.add(text);

// adding circle
var circle = new fabric.Circle({
    left: 200,
    top: 150,
    radius: 50,
    fill: "#299b71"
});
circle.hasRotatingPoint = true;
canvas.add(circle);

// adding triangle
var triangle = new fabric.Triangle({
    left: 130,
    top: 150,
    strokeWidth: 1,
    width:70,height:90,
    stroke: 'black',
    fill:'#ff8a1b',
    selectable: true,
    originX: 'center'
});
triangle.hasRotatingPoint = true;
canvas.add(triangle);
var x = 0;
// select all objects
function selectAllCanvasObjects(){
	var objs = canvas.getObjects().map(function(o) {
		return o.set('active', true);
	});
	x+=90
	var group = new fabric.Group(objs, {
		originX: 'center', 
		originY: 'center',
    angle : x
	});

	canvas._activeObject = null;

	canvas.setActiveGroup(group.setCoords()).renderAll();
}