Fix group loading in dateless json. Closes #322

This commit is contained in:
kangax 2012-12-20 16:23:12 +01:00
parent 0326af39ca
commit f0d2235053
5 changed files with 32 additions and 9 deletions

2
dist/all.js vendored
View file

@ -8219,7 +8219,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, {
delete obj[pathProp];
if (typeof path !== 'string') {
if (obj.type === 'image') {
if (obj.type === 'image' || obj.type === 'group') {
fabric[fabric.util.string.capitalize(obj.type)].fromObject(obj, function (o) {
onObjectLoaded(o, index);
});

12
dist/all.min.js vendored

File diff suppressed because one or more lines are too long

BIN
dist/all.min.js.gz vendored

Binary file not shown.

View file

@ -56,7 +56,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, {
delete obj[pathProp];
if (typeof path !== 'string') {
if (obj.type === 'image') {
if (obj.type === 'image' || obj.type === 'group') {
fabric[fabric.util.string.capitalize(obj.type)].fromObject(obj, function (o) {
onObjectLoaded(o, index);
});

View file

@ -878,4 +878,29 @@
});
});
asyncTest('loadFromDatalessJSON with async content', function() {
var circ1 = new fabric.Circle({ radius: 30, fill: '#55f', top: 0, left: 0 });
var circ2 = new fabric.Circle({ radius: 30, fill: '#f55', top: 50, left: 50 });
var circ3 = new fabric.Circle({ radius: 30, fill: '#5f5', top: 50, left: 50 });
var arr = [circ1, circ2];
var group = new fabric.Group(arr, { top: 150, left: 150 });
canvas.add(circ3);
canvas.add(group);
canvas.renderAll();
canvas.deactivateAll();
var json = JSON.stringify( canvas.toDatalessJSON() );
canvas.clear();
canvas.loadFromDatalessJSON(json, function() {
equal(2, canvas.getObjects().length);
equal('group', canvas.getObjects()[1].type);
start();
});
});
})();