mirror of
https://github.com/konvajs/konva.git
synced 2026-03-03 16:58:33 +08:00
better cloning of node: array copied as copy, nor reference
This commit is contained in:
@@ -559,7 +559,9 @@
|
|||||||
if(this._isObject(obj[key])) {
|
if(this._isObject(obj[key])) {
|
||||||
retObj[key] = this.cloneObject(obj[key]);
|
retObj[key] = this.cloneObject(obj[key]);
|
||||||
}
|
}
|
||||||
else {
|
else if (this._isArray(obj[key])) {
|
||||||
|
retObj[key] = this.cloneArray(obj[key]);
|
||||||
|
} else {
|
||||||
retObj[key] = obj[key];
|
retObj[key] = obj[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -437,15 +437,14 @@ suite('Node', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
var clone = line.clone({
|
var clone = line.clone({
|
||||||
stroke: 'green',
|
stroke: 'green'
|
||||||
points : [10, 10, 20, 20, 30, 30]
|
|
||||||
});
|
});
|
||||||
|
|
||||||
layer.add(clone);
|
layer.add(clone);
|
||||||
stage.add(layer);
|
stage.add(layer);
|
||||||
|
|
||||||
assert.equal(line.points().length, 4);
|
assert.equal(line.points() === clone.points(), false);
|
||||||
assert.equal(clone.points().length, 6);
|
assert.equal(clone.points().toString(), '0,0,10,10');
|
||||||
});
|
});
|
||||||
|
|
||||||
// ======================================================
|
// ======================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user