mirror of
https://github.com/konvajs/konva.git
synced 2026-03-03 16:58:33 +08:00
stage clone has new container. fix #707
This commit is contained in:
10
src/Node.js
10
src/Node.js
@@ -1183,13 +1183,18 @@
|
||||
clone: function(obj) {
|
||||
// instantiate new node
|
||||
var className = this.getClassName(),
|
||||
attrs = this.attrs,
|
||||
attrs = Kinetic.Util.cloneObject(this.attrs),
|
||||
key, allListeners, len, n, listener;
|
||||
// filter black attrs
|
||||
for (var i in CLONE_BLACK_LIST) {
|
||||
var blockAttr = CLONE_BLACK_LIST[i];
|
||||
delete attrs[blockAttr];
|
||||
}
|
||||
// apply attr overrides
|
||||
for (key in obj) {
|
||||
attrs[key] = obj[key];
|
||||
}
|
||||
|
||||
var node = new Kinetic[className](attrs);
|
||||
// copy over listeners
|
||||
for(key in this.eventListeners) {
|
||||
@@ -1210,9 +1215,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// apply attr overrides
|
||||
node.setAttrs(obj);
|
||||
return node;
|
||||
},
|
||||
/**
|
||||
|
||||
10
src/Stage.js
10
src/Stage.js
@@ -145,6 +145,14 @@
|
||||
}
|
||||
return this;
|
||||
},
|
||||
clone: function(obj) {
|
||||
if (!obj) {
|
||||
obj = {};
|
||||
}
|
||||
obj.container = Kinetic.document.createElement(DIV);
|
||||
|
||||
return Kinetic.Container.prototype.clone.call(this, obj);
|
||||
},
|
||||
/**
|
||||
* remove stage
|
||||
* @method
|
||||
@@ -634,7 +642,7 @@
|
||||
throw 'Stage has not container. But container is required';
|
||||
} else {
|
||||
// automatically create element for jsdom in nodejs env
|
||||
container = Kinetic.document.createElement(DIV);
|
||||
container = Kinetic.document.createElement(DIV);
|
||||
}
|
||||
}
|
||||
// clear content inside container
|
||||
|
||||
@@ -557,7 +557,7 @@
|
||||
var retObj = {};
|
||||
for(var key in obj) {
|
||||
if(this._isObject(obj[key])) {
|
||||
retObj[key] = this._clone(obj[key]);
|
||||
retObj[key] = this.cloneObject(obj[key]);
|
||||
}
|
||||
else {
|
||||
retObj[key] = obj[key];
|
||||
|
||||
Reference in New Issue
Block a user