mirror of
https://github.com/konvajs/konva.git
synced 2025-04-05 20:48:28 +08:00
now that the attrs engine has been rewritten, we can cleanly hide and show the layer canvas whenever the layer is hidden or shown via instantiation or with setters. Also improved layer hide and show unit test
This commit is contained in:
parent
74bef1e108
commit
d522b9d9d0
28
dist/kinetic-core.js
vendored
28
dist/kinetic-core.js
vendored
@ -3656,23 +3656,14 @@ Kinetic.Layer.prototype = {
|
||||
clear: function() {
|
||||
this.getCanvas().clear();
|
||||
},
|
||||
/**
|
||||
* show layer
|
||||
* @name show
|
||||
* @methodOf Kinetic.Layer.prototype
|
||||
*/
|
||||
show: function() {
|
||||
Kinetic.Node.prototype.show.call(this);
|
||||
this.canvas.element.style.display = 'block';
|
||||
},
|
||||
/**
|
||||
* hide layer. Hidden layers are no longer detectable
|
||||
* @name hide
|
||||
* @methodOf Kinetic.Layer.prototype
|
||||
*/
|
||||
hide: function() {
|
||||
Kinetic.Node.prototype.hide.call(this);
|
||||
this.canvas.element.style.display = 'none';
|
||||
setVisible: function(visible) {
|
||||
Kinetic.Node.prototype.setVisible.call(this, visible);
|
||||
if(visible) {
|
||||
this.canvas.element.style.display = 'block';
|
||||
}
|
||||
else {
|
||||
this.canvas.element.style.display = 'none';
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Creates a composite data URL. If MIME type is not
|
||||
@ -3715,8 +3706,7 @@ Kinetic.Layer.prototype = {
|
||||
*/
|
||||
try {
|
||||
this.getStage().content.removeChild(this.canvas.element);
|
||||
}
|
||||
catch(e) {
|
||||
} catch(e) {
|
||||
Kinetic.Global.warn('unable to remove layer scene canvas element from the document');
|
||||
}
|
||||
},
|
||||
|
4
dist/kinetic-core.min.js
vendored
4
dist/kinetic-core.min.js
vendored
File diff suppressed because one or more lines are too long
28
src/Layer.js
28
src/Layer.js
@ -139,23 +139,14 @@ Kinetic.Layer.prototype = {
|
||||
clear: function() {
|
||||
this.getCanvas().clear();
|
||||
},
|
||||
/**
|
||||
* show layer
|
||||
* @name show
|
||||
* @methodOf Kinetic.Layer.prototype
|
||||
*/
|
||||
show: function() {
|
||||
Kinetic.Node.prototype.show.call(this);
|
||||
this.canvas.element.style.display = 'block';
|
||||
},
|
||||
/**
|
||||
* hide layer. Hidden layers are no longer detectable
|
||||
* @name hide
|
||||
* @methodOf Kinetic.Layer.prototype
|
||||
*/
|
||||
hide: function() {
|
||||
Kinetic.Node.prototype.hide.call(this);
|
||||
this.canvas.element.style.display = 'none';
|
||||
setVisible: function(visible) {
|
||||
Kinetic.Node.prototype.setVisible.call(this, visible);
|
||||
if(visible) {
|
||||
this.canvas.element.style.display = 'block';
|
||||
}
|
||||
else {
|
||||
this.canvas.element.style.display = 'none';
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Creates a composite data URL. If MIME type is not
|
||||
@ -198,8 +189,7 @@ Kinetic.Layer.prototype = {
|
||||
*/
|
||||
try {
|
||||
this.getStage().content.removeChild(this.canvas.element);
|
||||
}
|
||||
catch(e) {
|
||||
} catch(e) {
|
||||
Kinetic.Global.warn('unable to remove layer scene canvas element from the document');
|
||||
}
|
||||
},
|
||||
|
@ -1075,9 +1075,11 @@ Test.prototype.tests = {
|
||||
|
||||
layer2.hide();
|
||||
test(!layer2.isVisible(), 'layer2 should be invisible');
|
||||
test(layer2.canvas.element.style.display === 'none', 'layer canvas element display should be none');
|
||||
|
||||
layer2.show();
|
||||
test(layer2.isVisible(), 'layer2 should be visible');
|
||||
test(layer2.canvas.element.style.display === 'block', 'layer canvas element display should be block');
|
||||
},
|
||||
'LAYER - beforeDraw and afterDraw': function(containerId) {
|
||||
var stage = new Kinetic.Stage({
|
||||
|
Loading…
Reference in New Issue
Block a user