I have several canvases and i need to block all object selection after loading them.
The problem is that loadFromJSON
function is async and when it fires callback i
variable is already last one so selection is being disabled only for last canvas.
var floorPlanS = ... -- array of json's
var canvas = [];
for(i=0;i<floorPlanS.length;i++) {
jQuery('.floorPlans').append('<div cid="'+i+'"><canvas id="cFloorPlan'+i+'" width="800" height="516"></canvas></div>');
canvas[i] = new fabric.Canvas('cFloorPlan'+i);
canvas[i].loadFromJSON(floorPlanS[i], function() {
for(o=0;o<canvas[i]._objects.length;o++) {
canvas[i]._objects[o].selectable = false;
}
canvas[i].renderAll();
});
}
Is there any way to get canvas object inside loadFromJSON
callback?