mirror of
https://github.com/Hopiu/fabric.js.git
synced 2026-05-03 11:34:41 +00:00
Fix fabric.util.enlivenObjects for empty fabric.Group objects
Add unit test Fixes issue #943
This commit is contained in:
parent
bdf147fbfb
commit
6f115bbf1e
2 changed files with 27 additions and 3 deletions
|
|
@ -174,12 +174,11 @@
|
|||
* @param {Function} [reviver] Method for further parsing of object elements, called after each fabric object created.
|
||||
*/
|
||||
function enlivenObjects(objects, callback, namespace, reviver) {
|
||||
objects = objects || [ ];
|
||||
|
||||
function onLoaded() {
|
||||
if (++numLoadedObjects === numTotalObjects) {
|
||||
if (callback) {
|
||||
callback(enlivenedObjects);
|
||||
}
|
||||
callback && callback(enlivenedObjects);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -187,6 +186,11 @@
|
|||
numLoadedObjects = 0,
|
||||
numTotalObjects = objects.length;
|
||||
|
||||
if (!numTotalObjects) {
|
||||
callback && callback(enlivenedObjects);
|
||||
return;
|
||||
}
|
||||
|
||||
objects.forEach(function (o, index) {
|
||||
// if sparse array
|
||||
if (!o || !o.type) {
|
||||
|
|
|
|||
|
|
@ -416,6 +416,26 @@
|
|||
}, 500);
|
||||
});
|
||||
|
||||
asyncTest('loadFromJSON with empty fabric.Group', function() {
|
||||
var c1 = new fabric.Canvas('c1'),
|
||||
c2 = new fabric.Canvas('c2'),
|
||||
group = new fabric.Group();
|
||||
|
||||
c1.add(group);
|
||||
ok(!c1.isEmpty(), 'canvas is not empty');
|
||||
|
||||
var json = c1.toJSON();
|
||||
var fired = false;
|
||||
c2.loadFromJSON(json, function() {
|
||||
fired = true;
|
||||
});
|
||||
|
||||
setTimeout(function() {
|
||||
ok(fired, 'Callback should be fired even if empty fabric.Group exists');
|
||||
start();
|
||||
}, 500);
|
||||
});
|
||||
|
||||
asyncTest('loadFromJSON with async content', function() {
|
||||
var group = new fabric.Group([
|
||||
new fabric.Rect({ width: 10, height: 20 }),
|
||||
|
|
|
|||
Loading…
Reference in a new issue